unit U_TCSQXZ; 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, cxTextEdit, cxPC, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu; type TfrmTCSQXZ = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBClose: TToolButton; Panel1: TPanel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; Label1: TLabel; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; Label3: TLabel; TCNO: TEdit; TBExport: TToolButton; Order_Main: TClientDataSet; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; Label4: TLabel; CustomerNoName: TEdit; PopupMenu1: TPopupMenu; N2: TMenuItem; Label8: TLabel; MPRTCodeName: TEdit; Label9: TLabel; ConNo: TEdit; Label10: TLabel; MPRTSpec: TEdit; Label11: TLabel; MPRTCode: TEdit; Label12: TLabel; MPRTKZ: TEdit; Label13: TLabel; MPRTMF: TEdit; ADOQueryPrint: TADOQuery; CDS_Print: TClientDataSet; Label2: TLabel; RMDBsub: TRMDBDataSet; CDS_sub: TClientDataSet; Label5: TLabel; OrdPerson1: TEdit; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1OrderNo: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1ConNo: TcxGridDBColumn; v1CustomerNoName: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column14: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column9: TcxGridDBColumn; Tv1Column1: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; Tv1Column6: TcxGridDBColumn; Tv1Column7: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1OrdDate: TcxGridDBColumn; v1ISFJ: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column12: TcxGridDBColumn; v1Column17: TcxGridDBColumn; v1Column18: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; 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 TBPrintClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure TBAddClick(Sender: TObject); procedure TCNOChange(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBTPClick(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); procedure TLookClick(Sender: TObject); procedure Tv2DblClick(Sender: TObject); procedure TChkClick(Sender: TObject); procedure TNOChkClick(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure btnQRClick(Sender: TObject); procedure btnQRCXClick(Sender: TObject); private DQdate: TDateTime; procedure InitGrid(); procedure InitForm(); function DelData(): Boolean; procedure SetStatus(); { Private declarations } public canshu1: string; { Public declarations } end; var frmTCSQXZ: TfrmTCSQXZ; implementation uses U_DataLink, U_Fun, U_OrderInPut_TC; {$R *.dfm} procedure TfrmTCSQXZ.SetStatus(); begin end; procedure TfrmTCSQXZ.FormDestroy(Sender: TObject); begin frmTCSQXZ := nil; end; procedure TfrmTCSQXZ.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmTCSQXZ.FormCreate(Sender: TObject); begin cxgrid1.Align := alClient; canshu1 := trim(DParameters1); //BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7; //EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); DQdate := SGetServerDate(ADOQueryTemp); SetStatus(); end; procedure TfrmTCSQXZ.TBCloseClick(Sender: TObject); begin Close; WriteCxGrid(self.Caption + tv1.Name, Tv1, '生产指示单管理'); end; procedure TfrmTCSQXZ.InitGrid(); var fwsql: string; begin fwsql := ''; fwsql := fwsql + ' and isnull(A.status,''0'')=''3'''; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.add('exec P_View_Order_TC :begdate,:enddate,:WSql'); Parameters.ParamByName('begdate').Value := FormatDateTime('yyyy-MM-dd', BegDate.DateTime); Parameters.ParamByName('enddate').Value := FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1); Parameters.ParamByName('WSql').Value := fwsql; ExecSQL; Open; end; SCreateCDS20(ADOQueryMain, Order_Main); SInitCDSData20(ADOQueryMain, Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmTCSQXZ.InitForm(); begin ReadCxGrid(self.Caption + tv1.Name, Tv1, '生产指示单管理'); BegDate.DateTime := SGetServerDate10(ADOQueryTemp) - 7; EndDate.DateTime := SGetServerDate10(ADOQueryTemp); SetStatus(); InitGrid(); end; procedure TfrmTCSQXZ.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 TfrmTCSQXZ.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 frmOrderInPut_TC := TfrmOrderInPut_TC.Create(Application); with frmOrderInPut_TC do begin PState := 1; FMainId := Trim(Self.Order_Main.fieldbyname('MainId').AsString); FOrderNo := Trim(Self.Order_Main.fieldbyname('OrderNo').AsString); if ShowModal = 1 then begin end; end; finally frmOrderInPut_TC.Free; end; end; procedure TfrmTCSQXZ.TBDelClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; if DelData() then begin Order_Main.Delete; end; end; function TfrmTCSQXZ.DelData(): Boolean; begin try Result := false; ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete Order_TC where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + ''''); sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('退货单删除'))); sql.Add(',' + quotedstr(trim('退货单号:' + trim(Order_Main.FieldByName('OrderNO').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; Result := True; except ADOQueryCmd.Connection.RollbackTrans; Result := False; Application.MessageBox('数据删除异常!', '提示', 0); end; end; procedure TfrmTCSQXZ.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; ModalResult := 1; end; procedure TfrmTCSQXZ.TBPrintClick(Sender: TObject); var fPrintFile: string; Porderno: string; i, j: Integer; begin if Order_Main.IsEmpty then Exit; fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\退货单.rmf'; with ADOQueryPrint do begin Close; sql.Clear; sql.Add(' select A.* '); sql.Add(' from Order_TC A '); sql.Add(' where A.MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + ''''); Open; end; SCreateCDS20(ADOQueryPrint, CDS_Print); SInitCDSData20(ADOQueryPrint, CDS_Print); if FileExists(fPrintFile) then begin RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\退货单.rmf'), '提示', 0); end; // Button1.Click; end; procedure TfrmTCSQXZ.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmTCSQXZ.TBAddClick(Sender: TObject); begin try frmOrderInPut_TC := TfrmOrderInPut_TC.Create(Application); with frmOrderInPut_TC do begin PState := 0; FMainId := ''; if ShowModal = 1 then begin InitGrid(); end; end; finally frmOrderInPut_TC.Free; end; end; procedure TfrmTCSQXZ.TCNOChange(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 TfrmTCSQXZ.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmTCSQXZ.TBTPClick(Sender: TObject); var FQty, FQty1, FMxQty, FPQty, FMxQtyS, FPQtyS: string; begin end; procedure TfrmTCSQXZ.CheckBox1Click(Sender: TObject); begin InitGrid(); end; procedure TfrmTCSQXZ.CheckBox2Click(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmTCSQXZ.Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); var id, id10: Integer; begin end; procedure TfrmTCSQXZ.TLookClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; try frmOrderInPut_TC := TfrmOrderInPut_TC.Create(Application); with frmOrderInPut_TC do begin PState := 1; FMainId := Trim(Self.Order_Main.fieldbyname('MainId').AsString); TBSave.Visible := False; Panel1.Enabled := False; if ShowModal = 1 then begin end; end; finally frmOrderInPut_TC.Free; end; end; procedure TfrmTCSQXZ.Tv2DblClick(Sender: TObject); var fNO: string; begin end; procedure TfrmTCSQXZ.TChkClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; ADOQueryCmd.Connection.BeginTrans; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update Order_TC SET status=''1'',chker=''' + trim(DName) + ''',Chktime=getdate() '); sql.Add('where mainID=' + quotedstr(trim(Order_Main.fieldbyname('mainID').AsString))); sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('退货单审核'))); sql.Add(',' + quotedstr(trim('退货单号:' + trim(Order_Main.FieldByName('conNo').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); execsql; end; ADOQueryCmd.Connection.CommitTrans; application.MessageBox('审核成功!', '提示信息'); TBRafresh.Click; except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('审核失败!', '提示信息', 0); end; end; procedure TfrmTCSQXZ.TNOChkClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; ADOQueryCmd.Connection.BeginTrans; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update Order_TC SET status=''0'',chker=null,Chktime=null '); sql.Add('where mainID=' + quotedstr(trim(Order_Main.fieldbyname('mainID').AsString))); sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('退货单撤销审核'))); sql.Add(',' + quotedstr(trim('退货单号:' + trim(Order_Main.FieldByName('conNo').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); execsql; end; ADOQueryCmd.Connection.CommitTrans; application.MessageBox('撤销审核成功!', '提示信息'); TBRafresh.Click; except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('撤销审核失败!', '提示信息', 0); end; end; procedure TfrmTCSQXZ.cxTabControl1Change(Sender: TObject); begin SetStatus(); TBRafresh.Click; end; procedure TfrmTCSQXZ.btnQRClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; ADOQueryCmd.Connection.BeginTrans; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update Order_TC SET status=''2'' '); sql.Add('where mainID=' + quotedstr(trim(Order_Main.fieldbyname('mainID').AsString))); sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('退货单确认'))); sql.Add(',' + quotedstr(trim('退货单号:' + trim(Order_Main.FieldByName('conNo').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); execsql; end; ADOQueryCmd.Connection.CommitTrans; application.MessageBox('确认成功!', '提示信息'); TBRafresh.Click; except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('确认失败!', '提示信息', 0); end; end; procedure TfrmTCSQXZ.btnQRCXClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; ADOQueryCmd.Connection.BeginTrans; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update Order_TC SET status=''1'' '); sql.Add('where mainID=' + quotedstr(trim(Order_Main.fieldbyname('mainID').AsString))); sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('退货单撤销审核'))); sql.Add(',' + quotedstr(trim('退货单号:' + trim(Order_Main.FieldByName('conNo').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); execsql; end; ADOQueryCmd.Connection.CommitTrans; application.MessageBox('撤销确认成功!', '提示信息'); TBRafresh.Click; except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('撤销确认失败!', '提示信息', 0); end; end; end.