unit U_FHSQList; 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, cxPC, cxButtonEdit, cxDropDownEdit, cxTextEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, dxSkinsCore, dxSkinsDefaultPainters, U_BaseList, dxDateRanges, RM_BarCode, dxSkinWXI, dxScrollbarAnnotations; type TfrmFHSQList = class(TfrmBaseList) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBAdd: TToolButton; TBEdit: TToolButton; TBDel: TToolButton; TBPrint: TToolButton; TBClose: TToolButton; Tv1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; cxGrid1: TcxGrid; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; TBExport: TToolButton; v1OrdDate: TcxGridDBColumn; Order_Main: TClientDataSet; RMDBDataSet1: TRMDBDataSet; RMXLSExport1: TRMXLSExport; ToolButton1: TToolButton; ADOQueryPrint: TADOQuery; CDS_Print: TClientDataSet; v1Column4: TcxGridDBColumn; Panel1: TPanel; Label1: TLabel; Label4: TLabel; Label8: TLabel; Label9: TLabel; Label12: TLabel; Label13: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; hzkhname: TEdit; MPRTCodeName: TEdit; HZSCConNo: TEdit; MPRTKZ: TEdit; MPRTMF: TEdit; cxTabControl1: TcxTabControl; cxSplitter1: TcxSplitter; ADOQuerySub: TADOQuery; DataSource2: TDataSource; v1Column8: TcxGridDBColumn; Label2: TLabel; ClientDataSet2: TClientDataSet; cxGridPopupMenu2: TcxGridPopupMenu; CDS_Note: TClientDataSet; RM1: TRMGridReport; v1Column13: TcxGridDBColumn; v1Column17: TcxGridDBColumn; v1Column18: TcxGridDBColumn; v1Column19: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column26: TcxGridDBColumn; ToolButton2: TToolButton; Panel5: TPanel; Label28: TLabel; Button5: TButton; Button6: TButton; DateTimePicker1: TDateTimePicker; Label11: TLabel; lblFSID: TLabel; v1Column27: TcxGridDBColumn; v1Column2: TcxGridDBColumn; btn1: TToolButton; cv1Column12: TcxGridDBColumn; cv1Column14: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column9: TcxGridDBColumn; Tv1Column1: TcxGridDBColumn; Label3: TLabel; SQKHKuanHaoHZ: TEdit; ToolButton3: TToolButton; Tv1Column2: TcxGridDBColumn; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label10: TLabel; HZGuiNo: TEdit; TiDanNo: TEdit; FPNO: TEdit; RMBarCodeObject1: TRMBarCodeObject; ToolButton4: TToolButton; Tv1Column3: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; cv2Column10: TcxGridDBColumn; v2Column4: TcxGridDBColumn; v2Column5: TcxGridDBColumn; v2Column7: TcxGridDBColumn; cv2Column4: TcxGridDBColumn; cv2Column12: TcxGridDBColumn; v2Column2: TcxGridDBColumn; cv2Column6: TcxGridDBColumn; Tv2Column6: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v2Column3: TcxGridDBColumn; Tv2Column3: TcxGridDBColumn; Tv2Column2: TcxGridDBColumn; v2Column8: TcxGridDBColumn; v2Column9: TcxGridDBColumn; Tv2Column1: TcxGridDBColumn; Tv2Column4: TcxGridDBColumn; Tv2Column5: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; Tv2Column7: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; Tv2Column8: TcxGridDBColumn; //RMllPDFExport1: TRMllPDFExport; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); 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 FormShow(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure hzkhnameChange(Sender: TObject); procedure tchkClick(Sender: TObject); procedure TnochkClick(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure btn1Click(Sender: TObject); procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); procedure ToolButton3Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); private procedure InitGrid(); procedure InitSubGrid(); procedure InitForm(); procedure SetStatus(); function DelData(): Boolean; { Private declarations } public FFInt: Integer; canshu1, canshu2: string; { Public declarations } end; //var //frmContractListNX: TfrmContractListNX; implementation uses U_DataLink, U_FHSQInPut, U_RTFun, U_ZDYHelp, U_SysLogHelp; {$R *.dfm} procedure TfrmFHSQList.SetStatus(); begin // btn1.Enabled := false; // ToolButton4.Enabled := False; if canshu1 = '审核' then begin case cxTabControl1.TabIndex of 0: begin // btn1.Enabled := true; end; 1: begin // ToolButton4.Enabled := true; end; end; end else if canshu1 = '高权限' then begin case cxTabControl1.TabIndex of 0: begin // btn1.Enabled := true; end; 1: begin // ToolButton4.Enabled := true; end; end; end else begin end; end; procedure TfrmFHSQList.FormDestroy(Sender: TObject); begin inherited; //frmFHSQList:=nil; end; procedure TfrmFHSQList.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmFHSQList.TBCloseClick(Sender: TObject); begin WriteCxGrid('发货主表ZY', Tv1, '发货管理'); WriteCxGrid('发货子表ZY', Tv2, '发货管理'); Close; end; procedure TfrmFHSQList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; Sql.Add(' select A.*,isnull(status,''未完成'')status2 '); Sql.Add(',SQKHKuanHaoHZ =CAST((select distinct(SQKHKuanHao) + '' '' from FHSQ_Sub X where A.FSID=X.FSID for xml path('''') ) AS VARCHAR(500))'); Sql.Add(',hzkhname =CAST((select distinct(zkhname) + '' '' from FHSQ_Sub X where A.FSID=X.FSID for xml path('''') ) AS VARCHAR(500))'); Sql.Add(' ,HZGuiNo=CAST((select distinct(GuiNo) + '' '' from FHSQ_Sub X where A.FSID=X.FSID for xml path('''') ) AS VARCHAR(500))'); Sql.Add(' ,HZSCConNo=CAST((select distinct(SCConNo) + '' '' from FHSQ_Sub X where A.FSID=X.FSID for xml path('''') ) AS VARCHAR(500))'); Sql.Add(' ,HZSQMoney= (select sum(SQMoney) from FHSQ_Sub X where A.FSID=X.FSID ) '); sql.Add(' from FHSQ_Main A'); sql.Add(' where SQType=''订单'' '); sql.Add('AND ISNULL(FHDANWEI,''内'')=' + quotedstr(canshu2)); if cxTabControl1.TabIndex <> 0 then begin sql.Add(' and SQDate>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)) + ''''); sql.Add(' and SQDate<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.Date + 1)) + ''''); end; if cxTabControl1.TabIndex = 0 then begin SQL.Add(' AND ISNULL(status,''未完成'')=''未完成'' '); end else if cxTabControl1.TabIndex = 1 then begin SQL.Add(' and ISNULL(status,''未完成'')<>''未完成'' '); end; if Trim(canshu1) <> '高权限' then begin sql.Add(' and isnull(A.Filler,'''')=''' + Trim(DName) + ''''); end; sql.Add(' order by filltime desc '); // ShowMessage(sql.Text); Open; end; SCreateCDS(ADOQueryMain, Order_Main); SInitCDSData(ADOQueryMain, Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmFHSQList.InitForm(); begin ReadCxGrid('发货主表ZY', Tv1, '发货管理'); ReadCxGrid('发货子表ZY', Tv2, '发货管理'); EndDate.DateTime := SGetServerDate(ADOQueryTemp); BegDate.DateTime := EndDate.DateTime - 60; InitGrid(); end; procedure TfrmFHSQList.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, Order_Main); SInitCDSData(ADOQueryMain, Order_Main); end; procedure TfrmFHSQList.TBEditClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; // if cxTabControl1.TabIndex <> 0 then // Exit; if Trim(canshu1) <> '高权限' then begin with ADOQueryTemp do begin Close; sql.Clear; SQL.Add('select FILLER from FHSQ_MAIN A '); SQL.Add('where FSID=''' + Trim(Order_Main.fieldbyname('FSID').AsString) + ''' '); SQL.Add('and filler in ( select username from SY_User where UserName=' + quotedstr(Trim(dname))); SQL.Add(')'); // showmessage(sql.text); Open; end; // if ADOQueryTemp.ISEMPTY = True then // begin // Application.MessageBox('不能操作他人的数据!', '提示', 0); // Exit; // end; if Trim(Order_Main.fieldbyname('Filler').AsString) <> Trim(DName) then begin Application.MessageBox('不能操作他人的数据!', '提示', 0); Exit; end; end; with ADOQueryTemp do begin close; sql.Clear; sql.Add('select * from FHSQ_Main'); sql.Add('where FSID=' + quotedstr(trim(Order_Main.fieldbyname('FSID').AsString))); Open; end; if Trim(ADOQueryTemp.fieldbyname('YSID').AsString) <> '' then begin Application.MessageBox('已生成应收账款不能修改数据!', '提示', 0); Exit; end; try frmFHSQInPut := TfrmFHSQInPut.Create(Application); with frmFHSQInPut do begin PState := 1; canshu2 := self.canshu2; FMainId := Trim(Self.Order_Main.fieldbyname('FSID').AsString); if ShowModal = 1 then begin InitGrid(); end; end; with ADOQueryTemp do begin Close; SQL.Clear; 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('FSID').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); ExecSQL; end; finally frmFHSQInPut.Free; end; end; procedure TfrmFHSQList.TBDelClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; if cxTabControl1.TabIndex <> 0 then Exit; if canshu1 <> '高权限' then begin if Trim(Order_Main.fieldbyname('Filler').AsString) <> Trim(DName) then begin Application.MessageBox('不能操作他人的数据!', '提示', 0); Exit; end; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add(' select * from CK_Cloth_CR where CRFlag=''出库'''); sql.add(' and CKNo=''' + Trim(Order_Main.fieldbyname('FSId').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 FHSQ_Main'); sql.Add('where FSID=' + quotedstr(trim(Order_Main.fieldbyname('FSID').AsString))); Open; end; if Trim(ADOQueryTemp.fieldbyname('YSID').AsString) <> '' then begin Application.MessageBox('已生成应收账款不能删除!', '提示', 0); Exit; end; if ADOQueryTemp.FieldByName('FHPSHZ').AsInteger > 0 then begin Application.MessageBox('已发货不能删除数据!', '提示', 0); exit; end; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; if DelData() then begin Order_Main.Delete; InitSubGrid(); end; end; function TfrmFHSQList.DelData(): Boolean; begin try Result := false; ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete FHSQ_Main where FSId=''' + Trim(Order_Main.fieldbyname('FSId').AsString) + ''''); sql.Add('delete FHSQ_Sub where FSId=''' + Trim(Order_Main.fieldbyname('FSId').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('FSID').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 TfrmFHSQList.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; // SelExportData(Tv1, ADOQueryMain, '发货申请列表'); end; procedure TfrmFHSQList.TBPrintClick(Sender: TObject); var fPrintFile: string; Txt, fImagePath: string; Moudle: THandle; Makebar: TMakebar; Mixtext: TMixtext; begin if Order_Main.IsEmpty then Exit; // if cxTabControl1.TabIndex <> 1 then // Exit; ExportFtErpFile('坯布发货申请单.rmf', ADOQueryTemp); fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\坯布发货申请单.rmf'; with ADOQueryPrint do begin Close; sql.Clear; Sql.Add(' select A.*,B.* '); sql.Add(' from FHSQ_Main A left join FHSQ_Sub B on A.FSId=B.FSId '); sql.Add(' where A.FSID=' + quotedstr(Trim(Order_Main.fieldbyname('FSID').AsString))); Open; end; if FileExists(fPrintFile) then begin // try // Moudle := LoadLibrary('MakeQRBarcode.dll'); // @Makebar := GetProcAddress(Moudle, 'Make'); // @Mixtext := GetProcAddress(Moudle, 'MixText'); // Txt := Trim(Order_Main.fieldbyname('FSID').AsString); // fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp'; // if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then // CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil); // if FileExists(fImagePath) then // DeleteFile(fImagePath); // Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3); // except // application.MessageBox('条形码生成失败!', '提示信息', MB_ICONERROR); // exit; // end; RMVariables['QRBARCODE'] := fImagePath; RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找' + fPrintFile), '提示', 0); end; end; procedure TfrmFHSQList.TBRafreshClick(Sender: TObject); begin InitGrid(); TBFind.Click; InitSubGrid(); end; procedure TfrmFHSQList.TBAddClick(Sender: TObject); var maxno: string; begin try frmFHSQInPut := TfrmFHSQInPut.Create(Application); with frmFHSQInPut do begin PState := 0; FMainId := ''; canshu2 := self.canshu2; if ShowModal = 1 then begin InitGrid(); end; end; finally frmFHSQInPut.Free; end; end; procedure TfrmFHSQList.FormShow(Sender: TObject); begin inherited; canshu1 := self.fParameters1; canshu2 := self.fParameters2; InitForm(); SetStatus(); end; procedure TfrmFHSQList.CheckBox1Click(Sender: TObject); begin InitGrid(); end; procedure TfrmFHSQList.CheckBox2Click(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmFHSQList.ToolButton1Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; try frmFHSQInPut := TfrmFHSQInPut.Create(Application); with frmFHSQInPut do begin PState := 1; FMainId := Trim(Self.Order_Main.fieldbyname('FSID').AsString); ToolBar2.Visible := False; TBSave.Visible := False; ScrollBox1.Enabled := False; Tv1.OptionsSelection.CellSelect := False; if ShowModal = 1 then begin end; end; finally frmFHSQInPut.Free; end; end; procedure TfrmFHSQList.hzkhnameChange(Sender: TObject); begin if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, Order_Main); SInitCDSData(ADOQueryMain, Order_Main); end; procedure TfrmFHSQList.tchkClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; if cxTabControl1.TabIndex <> 0 then exit; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update FHSQ_Main SET Chker=''' + Trim(DName) + ''',ChkTime=getdate(),ChkStatus=''审核通过'' '); sql.Add('where FSID=' + quotedstr(trim(Order_Main.fieldbyname('FSID').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('FSID').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); execsql; end; Order_Main.Delete; InitSubGrid(); application.MessageBox('审核成功!', '提示信息'); except application.MessageBox('审核失败!', '提示信息', 0); end; end; procedure TfrmFHSQList.InitSubGrid(); begin with ADOQueryTemp do begin Close; sql.Clear; if Order_Main.IsEmpty = False then sql.Add('select A.*,B.ORDERNO from FHSQ_Sub A LEFT JOIN JYOrder_Main B ON A.MainId=B.MainId where A.FSId=''' + Trim(Order_Main.fieldbyname('FSId').AsString) + '''') else sql.Add('select A.*,B.ORDERNO from FHSQ_Sub A LEFT JOIN JYOrder_Main B ON A.MainId=B.MainId where 1=2'); // ShowMessage(SQL.Text); Open; end; SCreateCDS(ADOQueryTemp, ClientDataSet2); SInitCDSData(ADOQueryTemp, ClientDataSet2); end; procedure TfrmFHSQList.TnochkClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; if cxTabControl1.TabIndex <> 1 then exit; with ADOQueryTemp do begin close; sql.Clear; sql.Add('select * from FHSQ_Main'); sql.Add('where FSID=' + quotedstr(trim(Order_Main.fieldbyname('FSID').AsString))); Open; end; if Trim(ADOQueryTemp.fieldbyname('YSID').AsString) <> '' then begin Application.MessageBox('已生成应收账款不能撤销!', '提示', 0); Exit; end; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update FHSQ_Main SET Chker=Null,ChkTime=Null,ChkStatus=Null '); sql.Add('where FSID=' + quotedstr(trim(Order_Main.fieldbyname('FSID').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('FSID').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); execsql; end; Order_Main.Delete; InitSubGrid(); application.MessageBox('撤销成功!', '提示信息'); except application.MessageBox('撤销失败!', '提示信息', 0); end; end; procedure TfrmFHSQList.cxTabControl1Change(Sender: TObject); begin TBRafresh.Click; SetStatus(); end; procedure TfrmFHSQList.ToolButton2Click(Sender: TObject); begin if Trim(canshu1) <> '高权限' then begin if Trim(Order_Main.fieldbyname('Filler').AsString) <> Trim(DName) then begin Application.MessageBox('不能操作他人的数据!', '提示', 0); Exit; end; end; with ADOQueryTemp do begin close; sql.Clear; sql.Add('select * from FHSQ_Main'); sql.Add('where FSID=' + quotedstr(trim(Order_Main.fieldbyname('FSID').AsString))); Open; end; if Trim(ADOQueryTemp.fieldbyname('YSID').AsString) <> '' then begin Application.MessageBox('已生成应收账款不能修改数据!', '提示', 0); Exit; end; lblFSID.Caption := Order_Main.fieldbyname('FSID').AsString; DateTimePicker1.DateTime := SGetServerDate(ADOQueryTemp); Panel5.Left := (self.Width - Panel5.Width) div 2; Panel5.Visible := true; end; procedure TfrmFHSQList.ToolButton3Click(Sender: TObject); begin frmSysLogHelp := TfrmSysLogHelp.create(self); with frmSysLogHelp do begin fModel := self.caption; showmodal; free; end; end; procedure TfrmFHSQList.ToolButton4Click(Sender: TObject); begin inherited; if Order_Main.IsEmpty then exit; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update FHSQ_Main SET status=''未完成'' '); sql.Add('where FSID=' + quotedstr(trim(Order_Main.fieldbyname('FSID').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('FSID').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); // ShowMessage(SQL.Text); execsql; end; Order_Main.Delete; InitSubGrid(); application.MessageBox('操作成功!', '提示信息'); except application.MessageBox('操作失败!', '提示信息', 0); end; end; procedure TfrmFHSQList.Button6Click(Sender: TObject); begin Panel5.Visible := false; end; procedure TfrmFHSQList.Button5Click(Sender: TObject); begin try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update FHSQ_Main SET fhDate=' + QuotedStr(Trim(FormatDateTime('yyyy-MM-dd', DateTimePicker1.Date)))); sql.Add('where FSID=' + quotedstr(trim(lblFSID.Caption))); execsql; end; InitGrid(); Order_Main.Locate('FSID', lblFSID.Caption, []); Panel5.Visible := false; application.MessageBox('修改成功!', '提示信息'); except application.MessageBox('修改失败!', '提示信息', 0); end; end; procedure TfrmFHSQList.btn1Click(Sender: TObject); begin if Order_Main.IsEmpty then exit; try // with ADOQueryCmd do // begin // Close; // sql.Clear; // sql.Add(' exec P_CW_CPCK'); // sql.Add(' @DataID=' + QuotedStr(Trim(Order_Main.fieldbyname('FSID').AsString))); // open; // end; // if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then // begin // Application.MessageBox(PChar(ADOQueryCmd.fieldbyname('ShowMsg').AsString), '提示', 0); // exit; // end; with ADOQueryCmd do begin close; sql.Clear; sql.Add('update FHSQ_Main SET status=''已完成'' '); sql.Add('where FSID=' + quotedstr(trim(Order_Main.fieldbyname('FSID').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('FSID').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); // ShowMessage(SQL.Text); execsql; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add(' exec P_CW_FHSQ @DataID=' + quotedstr(trim(Order_Main.fieldbyname('FSID').AsString))); Open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then begin Order_Main.EnableControls; Application.MessageBox(PChar(ADOQueryCmd.fieldbyname('ShowMsg').AsString), '提示', 0); exit; end; Order_Main.Delete; InitSubGrid(); application.MessageBox('操作成功!', '提示信息'); except application.MessageBox('操作失败!', '提示信息', 0); end; end; procedure TfrmFHSQList.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); begin with ADOQueryTemp do begin Close; sql.Clear; if Order_Main.IsEmpty = False then begin sql.Add('select A.*, B.ORDERNO from FHSQ_Sub A LEFT JOIN JYOrder_Main B ON A.MainId=B.MainId '); // sql.Add(' inner join CLoth_Sub B on A.SubId=B.SubId'); // sql.Add(' inner join CLoth_Main C on B.MainId=C.MainId'); sql.Add(' where A.FSId=''' + Trim(Order_Main.fieldbyname('FSId').AsString) + ''''); end else begin sql.Add('select A.*, B.ORDERNO from FHSQ_Sub A LEFT JOIN JYOrder_Main B ON A.MainId=B.MainId '); sql.Add(' where 1=2'); end; Open; end; SCreateCDS(ADOQueryTemp, ClientDataSet2); SInitCDSData(ADOQueryTemp, ClientDataSet2); end; end.