unit U_KHDYList; // interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, Menus, cxButtonEdit, cxDropDownEdit, cxPC, cxTextEdit; type TfrmKHDYList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBAdd: TToolButton; TBEdit: TToolButton; TBDel: TToolButton; TBClose: TToolButton; Tv1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; cxGrid1: TcxGrid; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; TBExport: TToolButton; Order_Main: TClientDataSet; ToolButton1: TToolButton; Panel1: TPanel; Label9: TLabel; DYNO: TEdit; v1Column2: TcxGridDBColumn; v1Column6: TcxGridDBColumn; Label2: TLabel; FactoryName: TEdit; v1Column1: TcxGridDBColumn; Label34: TLabel; v1Column7: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column11: TcxGridDBColumn; CPName: TEdit; v1Column4: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column12: TcxGridDBColumn; v1Column13: TcxGridDBColumn; Label3: TLabel; Label4: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; ToolButton4: TToolButton; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport2: TRMXLSExport; CDS_PRT: TClientDataSet; v1Column8: TcxGridDBColumn; ToolButton5: TToolButton; v1Column3: TcxGridDBColumn; Label1: TLabel; KHName: TEdit; Label5: TLabel; StyleNo: TEdit; v1Column14: TcxGridDBColumn; v1Column15: TcxGridDBColumn; Label6: TLabel; KHNameJC: TEdit; Label7: TLabel; YWY: TEdit; Order_Sub: TClientDataSet; DataSource2: TDataSource; v1Column16: TcxGridDBColumn; v1Column17: TcxGridDBColumn; v1Column18: TcxGridDBColumn; cxGrid2: TcxGrid; TV2: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; v1Column20: TcxGridDBColumn; v1SOrddefstr1: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; ToolButton2: TToolButton; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure TBEditClick(Sender: TObject); procedure TBDelClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure TBAddClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure CustomerNoNameChange(Sender: TObject); procedure N2Click(Sender: TObject); procedure N1Click(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure ZJStatusChange(Sender: TObject); procedure DYNOKeyPress(Sender: TObject; var Key: Char); procedure ToolButton4Click(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure v1Column16PropertiesEditValueChanged(Sender: TObject); procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure ToolButton2Click(Sender: TObject); private canshu1:string; DQdate:TDateTime; procedure InitGrid(); procedure InitForm(); function DelData():Boolean; { Private declarations } public FFInt,FCloth:Integer; { Public declarations } end; var frmKHDYList: TfrmKHDYList; implementation uses U_DataLink,U_RTFun, U_KHDYInPut, U_FjList_RZ; {$R *.dfm} procedure TfrmKHDYList.FormDestroy(Sender: TObject); begin frmKHDYList:=nil; end; procedure TfrmKHDYList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmKHDYList.FormCreate(Sender: TObject); begin cxgrid1.Align:=alClient; canshu1:=Trim(DParameters1); end; procedure TfrmKHDYList.TBCloseClick(Sender: TObject); begin WriteCxGrid('打样记录',Tv1,'打样管理'); Close; end; procedure TfrmKHDYList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('select A.* '); sql.Add(',Case when isnull((select count(*) from TP_File where WBID=A.DYID),0)>0 then Cast(1 as bit) else Cast(0 as bit) end as FJFlag'); sql.Add(' from KH_DaYang A '); sql.Add(' where 1=1 '); sql.Add(' and DYDate>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+''''); sql.Add(' and DYDate<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date+1))+''''); if Trim(canshu1)<>'高权限' then begin sql.Add(' and FillerCode='''+Trim(DCode)+''''); end; Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmKHDYList.InitForm(); begin BegDate.Date:=SGetServerDateMBeg(ADOQueryTemp); EndDate.Date:=SGetServerDate(ADOQueryTemp); ReadCxGrid('打样记录',Tv1,'打样管理'); InitGrid(); end; procedure TfrmKHDYList.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active=False then Exit; SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); end; procedure TfrmKHDYList.TBEditClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; if Trim(Order_Main.fieldbyname('Filler').AsString)<>Trim(DName) then begin Application.MessageBox('不能修改他人数据!','提示',0); Exit; end; try frmKHDYInPut:=TfrmKHDYInPut.Create(Application); with frmKHDYInPut do begin PState:=1; FMainId:=Trim(Self.Order_Main.fieldbyname('DYId').AsString); if ShowModal=1 then begin initgrid(); end; end; finally frmKHDYInPut.Free; end; end; procedure TfrmKHDYList.TBDelClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; if Trim(Order_Main.fieldbyname('Filler').AsString)<>Trim(DName) then begin Application.MessageBox('不能删除他人数据!','提示',0); Exit; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from TP_File where WBID='''+Trim(Order_Main.fieldbyname('DYID').AsString)+''''); Open; end; if ADOQueryTemp.IsEmpty=False then begin Application.MessageBox('已上传附件,不能删除数据!','提示',0); Exit; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from KH_DaYang_MX where DYID='''+Trim(Order_Main.fieldbyname('DYID').AsString)+''''); Open; end; if ADOQueryTemp.IsEmpty=False then begin Application.MessageBox('已有明细数据,不能删除!','提示',0); Exit; end; if Application.MessageBox('确定要删除数据吗?','提示',32+4)<>IDYES then Exit; if DelData() then begin //Order_Main.Delete; end; end; function TfrmKHDYList.DelData():Boolean; begin try Result:=false; ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Delete KH_DaYang where DYId='''+Trim(Order_Main.fieldbyname('DYId').AsString)+''''); ExecSQL; end; Order_Main.Delete; ADOQueryCmd.Connection.CommitTrans; Result:=True; except ADOQueryCmd.Connection.RollbackTrans; Result:=False; Application.MessageBox('数据删除异常!','提示',0); end; end; procedure TfrmKHDYList.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; TcxGridToExcel('色卡/SO信息列表',cxGrid1); end; procedure TfrmKHDYList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmKHDYList.TBAddClick(Sender: TObject); var maxno:string; begin try frmKHDYInPut:=TfrmKHDYInPut.Create(Application); with frmKHDYInPut do begin PState:=0; FMainId:=''; if ShowModal=1 then begin initgrid(); end; end; finally frmKHDYInPut.Free; end; end; procedure TfrmKHDYList.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmKHDYList.CheckBox1Click(Sender: TObject); begin InitGrid(); end; procedure TfrmKHDYList.CheckBox2Click(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmKHDYList.ToolButton1Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; try frmKHDYInPut:=TfrmKHDYInPut.Create(Application); with frmKHDYInPut do begin PState:=1; FMainId:=Trim(Self.Order_Main.fieldbyname('DYId').AsString); TBSave.Visible:=False; if ShowModal=1 then begin end; end; finally frmKHDYInPut.Free; end; end; procedure TfrmKHDYList.CustomerNoNameChange(Sender: TObject); begin if ADOQueryMain.Active=False then Exit; SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); end; procedure TfrmKHDYList.N2Click(Sender: TObject); begin SelOKNo(Order_Main,True); end; procedure TfrmKHDYList.N1Click(Sender: TObject); begin SelOKNo(Order_Main,False); end; procedure TfrmKHDYList.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmKHDYList.ZJStatusChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmKHDYList.DYNOKeyPress(Sender: TObject; var Key: Char); begin if Key=#13 then begin if Trim(DYNO.Text)='' then Exit; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('select A.* '); sql.Add(',Case when isnull((select count(*) from TP_File where WBID=A.DYID),0)>0 then Cast(1 as bit) else Cast(0 as bit) end as FJFlag'); sql.Add(' from KH_DaYang A '); sql.Add(' where DYNO like '''+'%'+Trim(DYNO.Text)+'%'+''''); if Trim(canshu1)<>'高权限' then begin sql.Add(' and FillerCode='''+Trim(DCode)+''''); end; Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally ADOQueryMain.EnableControls; end; end; end; procedure TfrmKHDYList.ToolButton4Click(Sender: TObject); var fPrintFile:string; begin if Order_Main.IsEmpty then Exit; fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\打样单.rmf'; RMXLSExport2:= TRMXLSExport.Create(RMXLSExport2); with ADOQueryTemp do begin Close; sql.Clear; sql.Add(' select A.*,B.* '); sql.Add(' ,DYPersonTel=(select Note from KH_Zdy KZ where KZ.ZdyName=A.DYPerson and KZ.Type=''DYPerson'' )'); sql.Add(' ,GDPersonTel=(select Note from KH_Zdy KZ where KZ.ZdyName=A.GDPerson and KZ.Type=''PFGenDanPerson'' )'); sql.Add(' from KH_DaYang A '); sql.Add(' left join KH_DaYang_MX B on A.DYID=B.DYID '); sql.Add(' where A.DYId='''+Trim(Order_Main.fieldbyname('DYId').AsString)+''''); Open; end; SCreateCDS20(ADOQueryTemp,CDS_PRT); SInitCDSData20(ADOQueryTemp,CDS_PRT); if FileExists(fPrintFile) then begin //RMVariables['OrderUnit']:=Order_Main.fieldbyname('OrderUnit').Value; RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+'Report\打样单.rmf'),'提示',0); end; end; procedure TfrmKHDYList.ToolButton5Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; try frmFjList_RZ:=TfrmFjList_RZ.Create(Application); with frmFjList_RZ do begin // PState:=1; if Trim(DParameters1)<>'高权限' then cxButton1.Visible:=false; fkeyNO:=Trim(Self.Order_Main.fieldbyname('DYId').AsString); fType:='打样'; if ShowModal=1 then begin end; end; finally frmFjList_RZ.Free; end; end; procedure TfrmKHDYList.v1Column16PropertiesEditValueChanged( Sender: TObject); var mvalue:string; begin mvalue:=TcxTextEdit(Sender).EditingText; with Order_Main do begin Edit; if Trim(mvalue)<>'' then FieldByName('HYDate').Value:=mvalue else FieldByName('HYDate').Value:=Null; Post; end; with ADOQueryCmd do begin Close; sql.Clear; if Trim(mvalue)<>'' then sql.Add('Update KH_DaYang Set HYDate='''+Trim(Order_Main.fieldbyname('HYDate').AsString)+'''') else sql.Add('Update KH_DaYang Set HYDate=Null'); sql.Add(' where DYID='''+Trim(Order_Main.fieldbyname('DYID').AsString)+''''); ExecSQL; end; end; procedure TfrmKHDYList.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin with ADOQueryCmd do begin close; sql.Clear; sql.add('select * from KH_DaYang_MX '); sql.add('where DYId='''+trim(Order_Main.fieldbyname('DYID').AsString)+''''); open; end; SCreateCDS20(ADOQueryCmd,Order_Sub); SInitCDSData20(ADOQueryCmd,Order_Sub); end; procedure TfrmKHDYList.ToolButton2Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; try frmKHDYInPut:=TfrmKHDYInPut.Create(Application); with frmKHDYInPut do begin PState:=1; CopyInt:=99; FMainId:=Trim(Self.Order_Main.fieldbyname('DYId').AsString); if ShowModal=1 then begin initgrid(); end; end; finally frmKHDYInPut.Free; end; end; end.