unit U_MDChkFLZhengYiCLList; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, cxButtonEdit, cxDropDownEdit, cxSplitter, cxCheckBox, cxCalendar, Menus, cxGridCustomPopupMenu, cxGridPopupMenu, DBClient, ADODB, cxPC, cxTextEdit; type TfrmMDChkFLZhengYiCLList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBExport: TToolButton; ToolButton2: TToolButton; TBClose: TToolButton; Panel1: TPanel; Label2: TLabel; Label5: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; orderNo: TEdit; Panel2: TPanel; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1Column7: TcxGridDBColumn; v1GenDan: TcxGridDBColumn; v1SOrddefstr1: TcxGridDBColumn; V1OrderNo: TcxGridDBColumn; cxGridDBColumn28: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1PRTOrderQty: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1FactoryName: TcxGridDBColumn; v1ToFactoryName: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; v72Column1: TcxGridDBColumn; v72Column2: TcxGridDBColumn; v72Column3: TcxGridDBColumn; v72Column4: TcxGridDBColumn; v72Column5: TcxGridDBColumn; v72Column6: TcxGridDBColumn; v72Column7: TcxGridDBColumn; v72Column8: TcxGridDBColumn; v72Column9: TcxGridDBColumn; Label7: TLabel; FactoryName: TEdit; DataSource1: TDataSource; ClientDataSet1: TClientDataSet; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryMain: TADOQuery; ADOQueryCmd: TADOQuery; ADOQueryTemp: TADOQuery; ADOQuery1: TADOQuery; v1Column1: TcxGridDBColumn; v1PSName: TcxGridDBColumn; cxTabControl2: TcxTabControl; ToolButton4: TToolButton; ToolButton7: TToolButton; ComboBox4: TComboBox; v1Column2: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column11: TcxGridDBColumn; v1Column12: TcxGridDBColumn; v1Column13: TcxGridDBColumn; v1Column14: TcxGridDBColumn; v1Column15: TcxGridDBColumn; Panel5: TPanel; cxGrid3: TcxGrid; Tv3: TcxGridDBTableView; v3Column20: TcxGridDBColumn; v3Column1: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; v3Column12: TcxGridDBColumn; cxGridDBColumn11: TcxGridDBColumn; cxGridDBColumn14: TcxGridDBColumn; v3Column17: TcxGridDBColumn; v3Column18: TcxGridDBColumn; v3Column16: TcxGridDBColumn; v3Column2: TcxGridDBColumn; cxGridDBColumn12: TcxGridDBColumn; v3Column19: TcxGridDBColumn; cxGridDBColumn7: TcxGridDBColumn; Tv3Column1: TcxGridDBColumn; v3Column24: TcxGridDBColumn; v3Column3: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; v3Column13: TcxGridDBColumn; v3Column21: TcxGridDBColumn; v3Column22: TcxGridDBColumn; v3Column23: TcxGridDBColumn; v3Column4: TcxGridDBColumn; v3Column5: TcxGridDBColumn; Tv3Column2: TcxGridDBColumn; Tv3Column3: TcxGridDBColumn; v3Column6: TcxGridDBColumn; v3Column7: TcxGridDBColumn; v3Column8: TcxGridDBColumn; v3Column9: TcxGridDBColumn; v3Column10: TcxGridDBColumn; v3Column11: TcxGridDBColumn; v3Column15: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; cxSplitter2: TcxSplitter; DataSource3: TDataSource; ClientDataSet3: TClientDataSet; cxGridPopupMenu3: TcxGridPopupMenu; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure ToolButton7Click(Sender: TObject); procedure cxTabControl2Change(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure orderNoChange(Sender: TObject); procedure FactoryNameChange(Sender: TObject); procedure v1Column9PropertiesEditValueChanged(Sender: TObject); procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); private { Private declarations } FMHId:String; procedure InitGrid(); public { Public declarations } end; var frmMDChkFLZhengYiCLList: TfrmMDChkFLZhengYiCLList; implementation uses U_DataLink,U_RTFun, U_GYSList,U_ZDYHelp, U_ModuleNote; {$R *.dfm} procedure TfrmMDChkFLZhengYiCLList.FormDestroy(Sender: TObject); begin frmMDChkFLZhengYiCLList:=nil; end; procedure TfrmMDChkFLZhengYiCLList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmMDChkFLZhengYiCLList.TBCloseClick(Sender: TObject); begin WriteCxGrid('Tv1',Tv1,'争议码单处理'); WriteCxGrid('Tv3',Tv3,'争议码单处理'); close; end; procedure TfrmMDChkFLZhengYiCLList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('select * from JYOrder_Main_MD_HZ where 1=1 '); if cxTabControl2.TabIndex<>0 then begin if ComboBox4.ItemIndex=0 then begin sql.Add(' and MHDate>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+''''); sql.Add(' and MHDate<'''+Trim(FormatDateTime('yyyy-MM-dd',Enddate.DateTime+1))+''''); end else if ComboBox4.ItemIndex=1 then begin sql.Add(' and FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+''''); sql.Add(' and FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',Enddate.DateTime+1))+''''); end else if ComboBox4.ItemIndex=2 then begin sql.Add(' and YFDate>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+''''); sql.Add(' and YFDate<'''+Trim(FormatDateTime('yyyy-MM-dd',Enddate.DateTime+1))+''''); end; end; sql.Add(' and isnull(ChkStatus,'''')<>'''' '); if cxTabControl2.TabIndex=0 then begin sql.Add(' and isnull(ChkStatus,'''') in(''待处理'',''审核不通过'') '); end else if cxTabControl2.TabIndex=1 then begin sql.Add(' and isnull(ChkStatus,'''') in(''已处理'',''审核通过'')'); end; Open; end; SCreateCDS20(ADOQueryMain,ClientDataSet1); SInitCDSData20(ADOQueryMain,ClientDataSet1); finally ADOQueryMain.EnableControls; end; end; procedure TfrmMDChkFLZhengYiCLList.FormShow(Sender: TObject); begin cxTabControl2.TabIndex:=0; EndDate.DateTime:=SGetServerDate(ADOQueryTemp); BegDate.Date:=EndDate.Date-30; ReadCxGrid('Tv1',Tv1,'争议码单处理'); ReadCxGrid('Tv3',Tv3,'争议码单处理'); InitGrid(); end; procedure TfrmMDChkFLZhengYiCLList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmMDChkFLZhengYiCLList.TBExportClick(Sender: TObject); begin if ClientDataSet1.IsEmpty then Exit; TcxGridToExcel('争议码单处理',cxGrid1); end; procedure TfrmMDChkFLZhengYiCLList.ToolButton2Click(Sender: TObject); begin try frmModuleNote:=TfrmModuleNote.Create(Application); with frmModuleNote do begin flag:='争议码单处理'; if ShowModal=1 then begin end; end; finally frmModuleNote.Free; end; end; procedure TfrmMDChkFLZhengYiCLList.ToolButton4Click(Sender: TObject); begin if ClientDataSet1.IsEmpty then Exit; if cxTabControl2.TabIndex<>0 then Exit; BegDate.SetFocus; if ClientDataSet1.Locate('SSel',True,[])=False then begin Application.MessageBox('没有选择数据!','提示',0); Exit; end; if ClientDataSet1.Locate('SSel;CLQty',VarArrayOf([True,Null]),[loPartialKey])=True then begin Application.MessageBox('反馈数量不能为空!','提示',0); Exit; end; if ClientDataSet1.Locate('SSel;CLPrice',VarArrayOf([True,Null]),[loPartialKey])=True then begin Application.MessageBox('反馈单价不能为空!','提示',0); Exit; end; if ClientDataSet1.Locate('SSel;CLMoney',VarArrayOf([True,Null]),[loPartialKey])=True then begin Application.MessageBox('反馈金额不能为空!','提示',0); Exit; end; if Application.MessageBox('确定要执行此操作吗?','提示',32+4)<>IDYES then Exit; try ADOQueryCmd.Connection.BeginTrans; ClientDataSet1.DisableControls; with ClientDataSet1 do begin First; while ClientDataSet1.Locate('SSel',True,[]) do begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update JYOrder_Main_MD_HZ Set CLTime=Getdate(),'); SQL.Add('CLPerson='''+Trim(DName)+''',ChkStatus=''已处理'' ' ); if Trim(ClientDataSet1.fieldbyname('CLQty').AsString)<>'' then begin SQL.Add(',CLQty='+Trim(ClientDataSet1.fieldbyname('CLQty').AsString)); end; if Trim(ClientDataSet1.fieldbyname('CLPrice').AsString)<>'' then begin SQL.Add(',CLPrice='+Trim(ClientDataSet1.fieldbyname('CLPrice').AsString)); end; if Trim(ClientDataSet1.fieldbyname('CLMoney').AsString)<>'' then begin SQL.Add(',CLMoney='+Trim(ClientDataSet1.fieldbyname('CLMoney').AsString)); end; sql.Add(' where MHID='''+Trim(ClientDataSet1.fieldbyname('MHID').AsString)+''''); ExecSQL; end; {Edit; FieldByName('CLPerson').Value:=Trim(DName); FieldByName('CLTime').Value:=Now; Post; } ClientDataSet1.Delete; end; end; ADOQueryCmd.Connection.CommitTrans; ClientDataSet1.EnableControls; except ClientDataSet1.EnableControls; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('操作异常!','提示',0); end; end; procedure TfrmMDChkFLZhengYiCLList.ToolButton7Click(Sender: TObject); begin if ClientDataSet1.IsEmpty then Exit; if cxTabControl2.TabIndex<>1 then Exit; BegDate.SetFocus; if ClientDataSet1.Locate('SSel',True,[])=False then begin Application.MessageBox('没有选择数据!','提示',0); Exit; end; if ClientDataSet1.Locate('SSel;ChkStatus',VarArrayOf([True,'审核通过']),[loPartialKey]) then begin Application.MessageBox('数据已审核通过不能执行操作!','提示',0); Exit; end; if Application.MessageBox('确定要执行此操作吗?','提示',32+4)<>IDYES then Exit; try ADOQueryCmd.Connection.BeginTrans; ClientDataSet1.DisableControls; with ClientDataSet1 do begin First; while ClientDataSet1.Locate('SSel',True,[]) do begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update JYOrder_Main_MD_HZ Set CLTime=Null,'); SQL.Add('CLPerson=Null,ChkStatus=''待处理'',CLQty=Null,CLPrice=Null,CLMoney=Null ' ); sql.Add(' where MHID='''+Trim(ClientDataSet1.fieldbyname('MHID').AsString)+''''); ExecSQL; end; ClientDataSet1.Delete; end; end; ADOQueryCmd.Connection.CommitTrans; ClientDataSet1.EnableControls; except ClientDataSet1.EnableControls; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('操作异常!','提示',0); end; end; procedure TfrmMDChkFLZhengYiCLList.cxTabControl2Change(Sender: TObject); var fsj:string; begin InitGrid(); if ClientDataSet1.IsEmpty=True then begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('exec P_View_MDTJ_JS :begdate,:enddate,:orderno,:MDType,:WSql'); Parameters.ParamByName('orderno').Value:='www324567'; fsj:=' and isnull(MHID,'''')=''1234567ytrty'' '; Parameters.ParamByName('WSql').Value:=fsj; Open; end; SCreateCDS20(ADOQueryTemp,ClientDataSet3); SInitCDSData20(ADOQueryTemp,ClientDataSet3); end; end; procedure TfrmMDChkFLZhengYiCLList.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active=False then Exit; SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,ClientDataSet1); SInitCDSData20(ADOQueryMain,ClientDataSet1); end; procedure TfrmMDChkFLZhengYiCLList.orderNoChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmMDChkFLZhengYiCLList.FactoryNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmMDChkFLZhengYiCLList.v1Column9PropertiesEditValueChanged( Sender: TObject); var mvalue,FName,Qty,Price:string; begin mvalue:=TcxTextEdit(Sender).EditingText; if Trim(mvalue)='' then begin mvalue:='0'; end; FName:=Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); with ClientDataSet1 do begin Edit; FieldByName(FName).Value:=mvalue; Post; end; Qty:=Trim(ClientDataSet1.fieldbyname('CLQty').AsString); if Trim(Qty)='' then begin Qty:='0'; end; Price:=Trim(ClientDataSet1.fieldbyname('CLPrice').AsString); if Trim(Price)='' then begin Price:='0'; end; with ClientDataSet1 do begin Edit; FieldByName('CLMoney').Value:=StrToFloat(Qty)*StrToFloat(Price); Post; end; end; procedure TfrmMDChkFLZhengYiCLList.Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var fsj:String; begin if ClientDataSet1.IsEmpty then Exit; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('exec P_View_MDTJ_JS :begdate,:enddate,:orderno,:MDType,:WSql'); Parameters.ParamByName('orderno').Value:=Trim(ClientDataSet1.fieldbyname('OrderNo').AsString); fsj:=' and isnull(MHID,'''')='''+Trim(ClientDataSet1.fieldbyname('MHID').AsString)+''''; Parameters.ParamByName('WSql').Value:=fsj; Open; end; SCreateCDS20(ADOQueryTemp,ClientDataSet3); SInitCDSData20(ADOQueryTemp,ClientDataSet3); end; end.