unit U_ContractListNX; 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, RM_E_llPDF, cxDropDownEdit, RM_e_Graphic, RM_e_Jpeg, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu; type TfrmContractListNX = class(TForm) 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; v1DeliveryDate: TcxGridDBColumn; v1OrdPerson1: TcxGridDBColumn; v1ConNo: TcxGridDBColumn; v1PRTColor: TcxGridDBColumn; v1MPRTCF: TcxGridDBColumn; Order_Main: TClientDataSet; RMDBDataSet1: TRMDBDataSet; v1CustomerNoName: TcxGridDBColumn; v1PRTOrderQty: TcxGridDBColumn; PopupMenu1: TPopupMenu; N2: TMenuItem; v1PRTPrice: TcxGridDBColumn; ToolButton1: TToolButton; v1Column1: TcxGridDBColumn; ToolButton2: TToolButton; ADOQueryPrint: TADOQuery; CDS_Print: TClientDataSet; ToolButton3: TToolButton; v1Column4: TcxGridDBColumn; PopupMenu2: TPopupMenu; N11: TMenuItem; N21: TMenuItem; N31: TMenuItem; Panel1: TPanel; Label1: TLabel; Label4: TLabel; Label5: TLabel; Label8: TLabel; Label9: TLabel; Label12: TLabel; Label13: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; CustomerNoName: TEdit; ConPerson1: TEdit; MPRTCodeName: TEdit; ConNo: TEdit; MPRTKZ: TEdit; MPRTMF: TEdit; v1Column2: TcxGridDBColumn; ComboBox1: TComboBox; ToolButton4: TToolButton; cxTabControl1: TcxTabControl; tchk: TToolButton; Tnochk: TToolButton; cxSplitter1: TcxSplitter; ADOQuerySub: TADOQuery; DataSource2: TDataSource; v1Column8: TcxGridDBColumn; KHConNO: TEdit; Label3: TLabel; Tqx: TToolButton; Tnoqx: TToolButton; ToolButton5: TToolButton; v1Column10: TcxGridDBColumn; v1Column11: TcxGridDBColumn; v1Column12: TcxGridDBColumn; ClientDataSet2: TClientDataSet; cxGridPopupMenu2: TcxGridPopupMenu; v1Column14: TcxGridDBColumn; Label6: TLabel; KeFu: TEdit; CDS_Note: TClientDataSet; RMDBDataSet2: TRMDBDataSet; v1Column15: TcxGridDBColumn; Label2: TLabel; CPCode: TEdit; RM1: TRMGridReport; // RMllPDFExport1: TRMllPDFExport; RMXLSExport1: TRMXLSExport; Panel2: TPanel; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; v1XHNo: TcxGridDBColumn; cxGridDBColumn1: TcxGridDBColumn; v2Column2: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; v1Column5: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column3: TcxGridDBColumn; cxGridDBColumn5: TcxGridDBColumn; v1OrderUnit: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; v1PriceUnit: TcxGridDBColumn; v1Column9: TcxGridDBColumn; cxGridDBColumn7: TcxGridDBColumn; cxGridDBColumn8: TcxGridDBColumn; cxGridDBColumn9: TcxGridDBColumn; v1Column13: TcxGridDBColumn; v2Column1: TcxGridDBColumn; cxGridDBColumn10: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; cxGrid3: TcxGrid; TV3: TcxGridDBTableView; V3SKDate: TcxGridDBColumn; V3SKMoney: TcxGridDBColumn; V3RLDate: TcxGridDBColumn; V3RLMoney: TcxGridDBColumn; V3FeeName: TcxGridDBColumn; V3BZType: TcxGridDBColumn; V3YFNote: TcxGridDBColumn; cxGridLevel2: TcxGridLevel; Panel3: TPanel; Label10: TLabel; ADD: TButton; DEL: TButton; SAVE: TButton; DataSource3: TDataSource; Order_RL: TClientDataSet; v1RLZMoney: TcxGridDBColumn; v1SJFHMoney: TcxGridDBColumn; cxGrid4: TcxGrid; TV4: TcxGridDBTableView; V4Chktime: TcxGridDBColumn; V4Chker: TcxGridDBColumn; cxGridLevel3: TcxGridLevel; CDS_Chker: TClientDataSet; ToolButton6: TToolButton; CDS_Chk: TClientDataSet; DataSource4: TDataSource; v2HBType: TcxGridDBColumn; 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 FormShow(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure TBTPClick(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); procedure v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure CustomerNoNameChange(Sender: TObject); procedure ConNoKeyPress(Sender: TObject; var Key: Char); procedure ToolButton4Click(Sender: TObject); procedure tchkClick(Sender: TObject); procedure TnochkClick(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); procedure TqxClick(Sender: TObject); procedure TnoqxClick(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); procedure ADDClick(Sender: TObject); procedure DELClick(Sender: TObject); procedure SAVEClick(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure TV4CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); private DQdate:TDateTime; fuserName,canshu1:string; procedure InitGrid(); procedure InitForm(); function DelData():Boolean; procedure InitGridFH(); procedure SetStatus(); procedure InitSub(); { Private declarations } public FFInt,FCloth:Integer; { Public declarations } end; var frmContractListNX: TfrmContractListNX; implementation uses U_DataLink,U_ConInPutNX,U_Fun,U_ZDYHelp, U_FjList_RZ,U_SKCR_CX, U_ZDYHelpSel; {$R *.dfm} procedure TfrmContractListNX.InitSub(); begin ADOQuerySub.Close; IF Order_Main.IsEmpty then exit; with ADOQuerySub do begin close; sql.Clear; sql.Add('select * from JYOrderCon_sub '); sql.Add('where mainID ='+quotedstr((Order_Main.fieldbyname('mainID').AsString))); open; end; SCreateCDS20(ADOQuerySub,ClientDataSet2); SInitCDSData20(ADOQuerySub,ClientDataSet2); with ADOQuerySub do begin close; sql.Clear; sql.Add('select * from JYOrderYSK '); sql.Add('where mainID ='+quotedstr((Order_Main.fieldbyname('mainID').AsString))); open; end; SCreateCDS20(ADOQuerySub,Order_RL); SInitCDSData20(ADOQuerySub,Order_RL); with ADOQuerySub do begin close; sql.Clear; sql.Add('select * from OrdCon_Chk '); sql.Add('where mainID ='+quotedstr((Order_Main.fieldbyname('mainID').AsString))); open; end; SCreateCDS20(ADOQuerySub,CDS_Chk); SInitCDSData20(ADOQuerySub,CDS_Chk); end; procedure TfrmContractListNX.SetStatus(); begin tchk.Visible:=false; tnochk.Visible:=false; tbedit.Visible:=false; tbdel.Visible:=false; Tqx.Visible:=false; TNoqx.Visible:=false; if Trim(DParameters1)<>'高权限' then begin case cxTabControl1.TabIndex of 0:begin IF trim(DCode)<>'A2' then begin tbedit.Visible:=true; tbdel.Visible:=true; end; Tqx.Visible:=true; end; 1:begin Tqx.Visible:=true; end; 2:begin TNoqx.Visible:=true; end; 3:begin end; end; end else begin case cxTabControl1.TabIndex of 0:begin tchk.Visible:=true; tbedit.Visible:=true; tbdel.Visible:=true; Tqx.Visible:=true; end; 1:begin tnochk.Visible:=true; Tqx.Visible:=true; end; 2:begin TNOqx.Visible:=true; end; 3:begin end; end; end; end; procedure TfrmContractListNX.FormDestroy(Sender: TObject); begin frmContractListNX:=nil; end; procedure TfrmContractListNX.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmContractListNX.FormCreate(Sender: TObject); begin canshu1:=Trim(DParameters1); //cxgrid1.Align:=alClient; DQdate:=SGetServerDate(ADOQueryTemp); end; procedure TfrmContractListNX.TBCloseClick(Sender: TObject); begin Close; WriteCxGrid('内销合同1',Tv1,'生产指示单管理'); end; procedure TfrmContractListNX.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('select A.*,A.ConNo ConNoM '); sql.add(',SJFHMoney=(select Sum(AA.FHMoney) from (select C.Subid,FHMoney=Sum(B.Money) '); SQL.ADD('from YF_Money_CR B inner join JYOrderCon_Sub C on C.Subid=B.ConID where C.Mainid=A.Mainid and isnull(B.FeeType,'''')<>''虚拟费用'' and B.Status>0 '); sql.add('group by C.Subid) AA) '); sql.Add(',CPCode=dbo.F_Get_Order_SubStr(A.MainId,''ConOrdCPCode'')'); SQL.Add(',PRTOrderQty=(select Sum(PRTOrderQty) from JYOrderCon_Sub B where B.MainId=A.MainId)'); SQL.Add(',OrderUnit=(select top 1 OrderUnit from JYOrderCon_Sub B where B.MainId=A.MainId)'); SQL.Add(',PriceUnit=(select top 1 PriceUnit from JYOrderCon_Sub B where B.MainId=A.MainId)'); SQL.Add(',PRTPrice=(select top 1 PRTPrice from JYOrderCon_Sub B where B.MainId=A.MainId)'); sql.add(',RLZMoney=(select Sum(RLMoney) from JYOrderYSK S where S.Mainid=A.Mainid)'); sql.Add(',Case when isnull((select count(*) from TP_File where WBID=A.MainID and TFType=''合同''),0)>0 then Cast(1 as bit) else Cast(0 as bit) end as FJFlag'); sql.Add(' from JYOrderCon_Main A '); SQL.Add('where A.OrdDate>='''+FormatDateTime('yyyy-MM-dd',BegDate.DateTime)+''''); SQL.Add(' and A.OrdDate<'''+FormatDateTime('yyyy-MM-dd',enddate.DateTime+1)+''''); sql.Add(' and A.MPRTType=''内销'' '); if Trim(canshu1)<>'高权限' then begin sql.Add('and (A.KeFu='''+Trim(DName)+''''); sql.Add(' or A.ConPerson1='''+Trim(DName)+''' '); sql.add(' or exists (select B.Chker from OrdCon_Chk B where B.Mainid=A.Mainid and B.Chker='''+trim(DName)+'''))'); end; IF cxTabControl1.TabIndex<3 then begin sql.Add(' and isnull(A.status,''0'')='''+inttostr(cxTabControl1.TabIndex)+''''); end; Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmContractListNX.InitGridFH(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('exec Order_QryList :MainId,:WSql'); Parameters.ParamByName('WSql').Value:=' and FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' +' and FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmContractListNX.InitForm(); begin ReadCxGrid('内销合同1',Tv1,'生产指示单管理'); if FCloth=1 then begin v1Column4.Visible:=True; v1PRTPrice.Visible:=False; v1PRTPrice.Hidden:=True; end else begin v1Column4.Visible:=False; v1PRTPrice.Visible:=True; v1PRTPrice.Hidden:=False; end; BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-61; EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); InitGrid(); with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select Top 10* from JYOrderCon_Main where MPRTType=''内销'' Order by FillTime desc'); Open; end; ComboBox1.Clear; with ADOQueryTemp do begin First; while not Eof do begin ComboBox1.Items.Add(Trim(ADOQueryTemp.fieldbyname('ConNO').AsString)); Next; end; end; end; procedure TfrmContractListNX.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 TfrmContractListNX.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 frmConInPutNX:=TfrmConInPutNX.Create(Application); with frmConInPutNX do begin PState:=1; FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); if ShowModal=1 then begin end; end; finally frmConInPutNX.Free; end; end; procedure TfrmContractListNX.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; if Application.MessageBox('确定要删除数据吗?','提示',32+4)<>IDYES then Exit; if DelData() then begin Order_Main.Delete; end; end; function TfrmContractListNX.DelData():Boolean; begin try Result:=false; ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete JYOrderCon_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); ExecSQL; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete JYOrderCon_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); sql.Add('delete OrdCon_Chk where Mainid='''+trim(Order_Main.fieldbyname('Mainid').asstring)+''''); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; Result:=True; except ADOQueryCmd.Connection.RollbackTrans; Result:=False; Application.MessageBox('数据删除异常!','提示',0); end; end; procedure TfrmContractListNX.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; SelExportData(Tv1,ADOQueryMain,'生产指示单列表'); end; procedure TfrmContractListNX.TBPrintClick(Sender: TObject); var fPrintFile,FeeStr,fZMFile:string; EngMoney:string; Fint,i,j:Integer; FIFXS:string; begin if Order_Main.IsEmpty then Exit; fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\内销合同.rmf' ; with ADOQueryPrint do begin Close; sql.Clear; sql.Add('select A.*,B.*,ConMoney10=Cast(B.PRTOrderQty*B.PRTPrice as decimal(18,2)) '); sql.Add(',ConQty=(select Sum(C.PRTOrderQty) from JYOrderCon_Sub C where C.Mainid=A.Mainid)'); SQL.Add(',Case when isnull(PriceUnit,'''')=''RMB'' then ''¥'' '); SQL.Add(' when isnull(PriceUnit,'''')=''USD'' then ''$'' else ''¥'' end as PriceUnit10 '); sql.Add(',Case when isnull(ZhenZhiSJFee,0)<>0 then ''针织上机费:''+Cast(ZhenZhiSJFee as varchar(20))+'''''); sql.Add(' +Char(10)+Char(13) else '''' end as ZhenZhiSJFee10 '); sql.Add(',Case when isnull(YinHuaSJFee,0)<>0 then ''印花上机费:''+Cast(YinHuaSJFee as varchar(20))+'''''); sql.Add(' +Char(10)+Char(13) else '''' end as YinHuaSJFee10'); sql.Add(',Case when isnull(BaoGangFee,0)<>0 then ''包缸费:''+Cast(BaoGangFee as varchar(20))+'''''); sql.Add(' +Char(10)+Char(13) else '''' end as BaoGangFee10 '); sql.Add(',Case when isnull(ZhiWangZhiBanFee,0)<>0 then ''制网制版费:''+Cast(ZhiWangZhiBanFee as varchar(20))+''*''+cast(TaoQty as varchar(20))+'''''); SQL.Add(' +Char(10)+Char(13) else '''' end as ZhiWangZhiBanFee10 '); sql.Add(' from JYOrderCon_Main A inner join JYOrderCon_Sub B on A.MainId=B.MainId '); sql.Add(' where A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); sql.add(' Order By B.XHNo'); Open; end; SCreateCDS20(ADOQueryPrint,CDS_Print); SInitCDSData20(ADOQueryPrint,CDS_Print); with ADOQueryPrint do begin Close; sql.Clear; sql.Add('select MNote=RTrim(B.MNote),XHInt=Cast(XHNo as int),XHStr=Cast(Null as varchar(20)),B.MNID '); sql.Add(',A.SYRAddress,A.TelNo,A.FaxNo,A.BankName,A.BankNo,A.CTMAddress,A.CTMTelNo,A.CTMFaxNo'); sql.Add(' from JYOrderCon_Main A left join JYOrderCon_Main_Note B on A.MainId=B.MainId '); sql.Add(' where A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); Open; end; SCreateCDS20(ADOQueryPrint,CDS_Note); SInitCDSData20(ADOQueryPrint,CDS_Note); if (CDS_Note.RecordCount=1) and (Trim(CDS_Note.fieldbyname('MNID').AsString)='') then begin begin with CDS_Note do begin Edit; FieldByName('XHInt').Value:=Null; FieldByName('XHStr').Value:=Null; FieldByName('MNote').Value:='解决合同纠纷方式:双方友好协商,协商不成由绍兴柯桥当地法院管辖;如因不可抗力造成合同不能履行,违约责任另行协商;'; Post; end; CopyAddRowCDS(CDS_Note); with CDS_Note do begin Edit; FieldByName('XHInt').Value:=Null; FieldByName('XHStr').Value:=Null; FieldByName('MNote').Value:='本合同一式两份,双方各执一份,合同传真件、邮件形式同为有效,双方签订之日起成立。'; Post; end; end; end else begin CopyAddRowCDS(CDS_Note); with CDS_Note do begin Edit; FieldByName('XHInt').Value:=Null; FieldByName('XHStr').Value:=Null; FieldByName('MNote').Value:='解决合同纠纷方式:双方友好协商,协商不成由绍兴柯桥当地法院管辖;如因不可抗力造成合同不能履行,违约责任另行协商;'; Post; end; CopyAddRowCDS(CDS_Note); with CDS_Note do begin Edit; FieldByName('XHInt').Value:=Null; FieldByName('XHStr').Value:=Null; FieldByName('MNote').Value:='本合同一式两份,双方各执一份,合同传真件、邮件形式同为有效,双方签订之日起成立。'; Post; end; end; Fint:=CDS_Note.RecordCount; i:=8; if Fint=2 then begin with CDS_Note do begin First; while not Eof do begin i:=i+1; Edit; if i=9 then begin FieldByName('XHStr').Value:='九、'; end else begin FieldByName('XHStr').Value:='十、'; end; Post; Next; end; end; end else begin with CDS_Note do begin First; while not Eof do begin i:=i+1; Edit; if i=9 then begin FieldByName('XHStr').Value:='九、'; end else if i=10 then begin FieldByName('XHStr').Value:='十、'; end else if i=11 then begin FieldByName('XHStr').Value:='十一、'; end else if i=12 then begin FieldByName('XHStr').Value:='十二、'; end else if i=13 then begin FieldByName('XHStr').Value:='十三、'; end else if i=14 then begin FieldByName('XHStr').Value:='十四、'; end else if i=15 then begin FieldByName('XHStr').Value:='十五、'; end else if i=16 then begin FieldByName('XHStr').Value:='十六、'; end else if i=17 then begin FieldByName('XHStr').Value:='十七、'; end; Post; Next; end; end; end; if FileExists(fPrintFile) then begin if RM1.CanExport=true then begin fZMFile:='C:\Users\Administrator\Desktop'; if not DirectoryExists(fZMFile) then begin fZMFile:='C:\Documents and Settings\Administrator\桌面\'+trim(Order_Main.fieldbyname('ConNO').AsString)+'.xls'; end else begin fZMFile:='C:\Users\Administrator\Desktop\'+trim(Order_Main.fieldbyname('ConNO').AsString)+'.XLS'; end; RM1.ExportTo(RMXLSExport1,fZMFile); end; RM1.CanExport:=true; RM1.FileName:=trim(CDS_Print.fieldbyname('ConNO').AsString); RMVariables['EngMoney']:=EngMoney; RMVariables['DlyNote']:=FeeStr; //RMVariables['printtime']:=Now; //RMVariables['printer']:=Trim(gUserName); RM1.LoadFromFile(fPrintFile); RM1.ShowReport; RM1.CanExport:=False; end else begin Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+'Report\内销合同.rmf'),'提示',0); end; end; procedure TfrmContractListNX.TBRafreshClick(Sender: TObject); begin InitGrid(); {with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select Top 10* from JYOrderCon_Main where MPRTType=''内销'' Order by FillTime desc'); Open; end; ComboBox1.Clear; with ADOQueryTemp do begin First; while not Eof do begin ComboBox1.Items.Add(Trim(ADOQueryTemp.fieldbyname('ConNO').AsString)); Next; end; end;} TBFind.Click; end; procedure TfrmContractListNX.TBAddClick(Sender: TObject); var maxno:string; begin try frmConInPutNX:=TfrmConInPutNX.Create(Application); with frmConInPutNX do begin PState:=0; FMainId:=''; if ShowModal=1 then begin end; end; finally frmConInPutNX.Free; end; end; procedure TfrmContractListNX.FormShow(Sender: TObject); begin if Trim(canshu1)<>'高权限' then begin Panel3.Visible:=false; end else Panel3.Visible:=true; fuserName:=DCode; if (trim(DCode)='A1') or (trim(DCode)='A2') then begin fuserName:='A'; end; InitForm(); SetStatus(); RM1.CanExport:=true; end; procedure TfrmContractListNX.Tv1CellDblClick( Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin if ToolButton1.Visible=False then Exit; ToolButton1.Click; end; procedure TfrmContractListNX.TBTPClick(Sender: TObject); var FQty,FQty1,FMxQty,FPQty,FMxQtyS,FPQtyS:String; begin end; procedure TfrmContractListNX.CheckBox1Click(Sender: TObject); begin InitGrid(); end; procedure TfrmContractListNX.CheckBox2Click(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmContractListNX.Tv1StylesGetContentStyle( Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); var id,id10:Integer; begin {try if Tv1.GroupedItemCount=0 then begin Id:=Tv1.GetColumnByFieldName('DeliveryDate').Index-tv1.GroupedItemCount; Id10:=Tv1.GetColumnByFieldName('SubStatus').Index-tv1.GroupedItemCount; if Trim(VarToStr(ARecord.Values[id]))='' then Exit; if Id<0 then Exit; if ARecord.Values[id10]='完成' then exit; if (ARecord.Values[id]-DQdate)>=4 then Exit; if ((ARecord.Values[id]-DQdate)>=0) and ((ARecord.Values[id]-DQdate)<4) then AStyle:=DataLink_.QHuangSe else if ARecord.Values[id]-DQdate<0 then begin AStyle:=DataLink_OrderManage.FenHongS; end; end else begin end; except end; } end; procedure TfrmContractListNX.v1DeliveryDateCustomDrawCell( Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); begin { Id:=TV1.GetColumnByFieldName('DeliveryDate').Index;//;-TV1.GroupedItemCount; Id10:=TV1.GetColumnByFieldName('SubStatus').Index; if Id<0 then Exit; if AViewInfo.GridRecord.Values[Id10]='完成' then Exit; if AViewInfo.GridRecord.Values[Id]-SGetServerDate(ADOQueryTemp)>=4 then Exit; if ((AViewInfo.GridRecord.Values[id]-SGetServerDate10(ADOQueryTemp))>=0) and ((AViewInfo.GridRecord.Values[id]-SGetServerDate(ADOQueryTemp))<4) then ACanvas.Brush.Color:=clYellow else if (AViewInfo.GridRecord.Values[id])-(SGetServerDate10(ADOQueryTemp)<0) then begin ACanvas.Brush.Color:=clRed; end; begin ACanvas.Brush.Color:=clRed; end else if AViewInfo.GridRecord.Values[Id]='Purple' then begin ACanvas.Brush.Color:=clPurple; end else if AViewInfo.GridRecord.Values[Id]='Olive' then begin ACanvas.Brush.Color:=clOlive; end else if AViewInfo.GridRecord.Values[Id]='Teal' then begin ACanvas.Brush.Color:=clTeal; end else if AViewInfo.GridRecord.Values[Id]='Background' then begin ACanvas.Brush.Color:=clBackground; end; } end; procedure TfrmContractListNX.N1Click(Sender: TObject); var fPrintFile:string; Porderno:string; begin if Order_Main.IsEmpty then Exit; fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\生产指示单10.rmf' ; SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); if FileExists(fPrintFile) then begin //RMVariables['begindate']:=begindate.DateTime; //RMVariables['enddate']:=enddate.DateTime; //RMVariables['printtime']:=Now; //RMVariables['printer']:=Trim(gUserName); RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+'Report\生产指示单10.rmf'),'提示',0); end; SDofilter(ADOQueryMain,''); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); Order_Main.Locate('ordernoM',Porderno,[]); end; procedure TfrmContractListNX.N2Click(Sender: TObject); var fPrintFile:string; Porderno:string; begin if Order_Main.IsEmpty then Exit; fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\生产指示单.rmf' ; SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); if FileExists(fPrintFile) then begin //RMVariables['begindate']:=begindate.DateTime; //RMVariables['enddate']:=enddate.DateTime; //RMVariables['printtime']:=Now; //RMVariables['printer']:=Trim(gUserName); RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+'Report\生产指示单.rmf'),'提示',0); end; SDofilter(ADOQueryMain,''); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); Order_Main.Locate('ordernoM',Porderno,[]); end; procedure TfrmContractListNX.ToolButton1Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; try frmConInPutNX:=TfrmConInPutNX.Create(Application); with frmConInPutNX do begin PState:=1; FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); ToolBar2.Visible:=False; TBSave.Visible:=False; ScrollBox1.Enabled:=False; Tv1.OptionsSelection.CellSelect:=False; if ShowModal=1 then begin end; end; finally frmConInPutNX.Free; end; end; procedure TfrmContractListNX.ToolButton2Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; try frmConInPutNX:=TfrmConInPutNX.Create(Application); with frmConInPutNX do begin PState:=1; CopyInt:=99; FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); if ShowModal=1 then begin end; end; finally frmConInPutNX.Free; end; end; procedure TfrmContractListNX.ToolButton3Click(Sender: TObject); begin ModalResult:=1; end; procedure TfrmContractListNX.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 TfrmContractListNX.ConNoKeyPress(Sender: TObject; var Key: Char); begin if Key=#13 then begin if Length(Tedit(Sender).Text)<1 then Exit; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; SQL.Clear; sql.Add('select A.*,A.ConNo ConNoM '); sql.add(',SJFHMoney=(select Sum(AA.FHMoney) from (select C.Subid,FHMoney=Sum(B.Money) '); SQL.ADD('from YF_Money_CR B inner join JYOrderCon_Sub C on C.Subid=B.ConID where C.Mainid=A.Mainid and isnull(B.FeeType,'''')<>''虚拟费用'' '); sql.add('group by C.Subid) AA) '); sql.add(',RLZMoney=(select Sum(RLMoney) from JYOrderYSK S where S.Mainid=A.Mainid)'); sql.Add(',CPCode=dbo.F_Get_Order_SubStr(A.MainId,''ConOrdCPCode'')'); SQL.Add(',PRTOrderQty=(select Sum(PRTOrderQty) from JYOrderCon_Sub B where B.MainId=A.MainId)'); SQL.Add(',OrderUnit=(select top 1 OrderUnit from JYOrderCon_Sub B where B.MainId=A.MainId)'); SQL.Add(',PriceUnit=(select top 1 PriceUnit from JYOrderCon_Sub B where B.MainId=A.MainId)'); SQL.Add(',PRTPrice=(select top 1 PRTPrice from JYOrderCon_Sub B where B.MainId=A.MainId)'); sql.Add(',Case when isnull((select count(*) from TP_File where WBID=A.MainID and TFType=''合同'' ),0)>0 then Cast(1 as bit) else Cast(0 as bit) end as FJFlag'); sql.Add(' from JYOrderCon_Main A '); SQL.Add('where MPRTType=''内销'' '); if Trim(canshu1)<>'高权限' then begin sql.Add('and (A.KeFu='''+Trim(DName)+''''); sql.Add(' or A.ConPerson1='''+Trim(DName)+''' '); sql.add(' or exists (select B.Chker from OrdCon_Chk B where B.Mainid=A.Mainid and B.Chker='''+trim(DName)+'''))'); end; sql.Add(' and '+Tedit(Sender).Name+' like '+quotedstr(trim('%'+trim(Tedit(Sender).Text)+'%'))); Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally ADOQueryMain.EnableControls; end; end; end; procedure TfrmContractListNX.ToolButton4Click(Sender: TObject); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='MPRTNameType'; flagname:='产品类别定义'; V1HelpType.Visible:=True; V1HelpType.Caption:='缩写名'; fnote:=True; V1Name.Caption:='中文'; V1Note.Caption:='英文'; if ShowModal=1 then begin end; end; finally frmZDYHelp.Free; end; end; procedure TfrmContractListNX.tchkClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update JYOrdercon_Main 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; application.MessageBox('审核成功!','提示信息'); TBRafresh.Click; except application.MessageBox('审核失败!','提示信息',0); end; end; procedure TfrmContractListNX.TnochkClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update JYOrdercon_Main SET status=''0'' '); 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; application.MessageBox('撤销审核成功!','提示信息'); TBRafresh.Click; except application.MessageBox('撤销审核失败!','提示信息',0); end; end; procedure TfrmContractListNX.cxTabControl1Change(Sender: TObject); begin SetStatus(); TBRafresh.Click; end; procedure TfrmContractListNX.Tv1FocusedRecordChanged( Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); begin InitSub(); end; procedure TfrmContractListNX.TqxClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; if Application.MessageBox('确定要取消合同吗?','提示',32+4)<>IDYES then Exit; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update JYOrdercon_Main 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; application.MessageBox('合同取消成功!','提示信息'); TBRafresh.Click; except application.MessageBox('合同取消失败!','提示信息',0); end; end; procedure TfrmContractListNX.TnoqxClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update JYOrdercon_Main SET status=''0'' '); 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; application.MessageBox('撤销合同取消成功!','提示信息'); TBRafresh.Click; except application.MessageBox('撤销合同取消失败!','提示信息',0); end; end; procedure TfrmContractListNX.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('MainId').AsString); fType:='合同'; if ShowModal=1 then begin end; end; finally frmFjList_RZ.Free; end; end; procedure TfrmContractListNX.Tv1CustomDrawCell( Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); begin IF AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('status').Index]='2' then ACanvas.Brush.Color:=clLime; end; procedure TfrmContractListNX.ADDClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; frmSKCR_CX:=TfrmSKCR_CX.create(self); with frmSKCR_CX do begin if showmodal=1 then begin with CDS_HZ do begin first; while not eof do begin if fieldbyname('Ssel').AsBoolean=true then begin with Order_RL do begin append; fieldbyname('SKdate').AsDateTime:=CDS_HZ.fieldbyname('CRTime').AsDateTime; fieldbyname('SKMoney').Value:=CDS_HZ.fieldbyname('Money').AsFloat; fieldbyname('RLDate').Value:=SGetServerDate(ADOQueryTemp); fieldbyname('RLMoney').Value:=CDS_HZ.fieldbyname('WRLMoney').AsFloat; fieldbyname('FeeName').Value:=CDS_HZ.fieldbyname('YFName').AsString; fieldbyname('BZType').Value:=CDS_HZ.fieldbyname('BZType').AsString; fieldbyname('YFID').Value:=CDS_HZ.fieldbyname('YFID').AsString; post; end; end; next; end; end; end; free; end; end; procedure TfrmContractListNX.DELClick(Sender: TObject); begin if Order_RL.IsEmpty then exit; if application.MessageBox('确定要删除吗','提示',1)=2 then exit; if Order_RL.FieldByName('YSID').AsString<>'' then begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('delete from JYOrderYSK where YSID='''+Trim(Order_RL.fieldbyname('YSID').AsString)+''''); execsql; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add('update YF_Money_CR set YRLMoney=(select Sum(RLMoney) from JYOrderYSK where YFID=YF_Money_CR.YFID), '); sql.add('WRLMoney=isnull(Money,0)-isnull((select Sum(RLMoney) from JYOrderYSK where YFID=YF_Money_CR.YFID),0) '); sql.add('where YFID='''+Trim(Order_RL.fieldbyname('YFID').AsString)+''''); execsql; end; end; Order_RL.Delete; end; procedure TfrmContractListNX.SAVEClick(Sender: TObject); var maxno:string; FRLMoney:double; begin if Order_RL.IsEmpty then exit; with Order_RL do begin first; while not eof do begin if trim(Order_RL.fieldbyname('YSID').AsString)<>'' then maxno:=trim(Order_RL.fieldbyname('YSID').AsString) else begin with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select Sum(RLMoney) SumRLMoney from JYOrderYSK where YFID='''+Trim(Order_RL.fieldbyname('YFID').AsString)+''''); Open; end; FRLMoney:=ADOQueryCmd.fieldbyname('SumRLMoney').AsCurrency+Order_RL.fieldbyname('RLMoney').AsCurrency; if FRLMoney>Order_RL.FieldByName('SKMoney').AsCurrency+0.1 then begin application.MessageBox('认领总金额超过收款金额','提示'); exit; end; if GetLSNo(ADOQueryCmd,maxno,'YS','JYOrderYSK',3,1)=False then begin Application.MessageBox('取最大号失败!','提示',0); Exit; end; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add('select * from JYOrderYSK '); sql.add('where YSID='''+trim(maxno)+''''); open; end; with ADOQueryCmd do begin if IsEmpty then begin append; end else edit; fieldbyname('SKdate').Value:=Order_RL.fieldbyname('SKdate').AsDateTime; fieldbyname('SKMoney').Value:=Order_RL.fieldbyname('SKMoney').AsFloat; fieldbyname('RLDate').Value:=Order_RL.fieldbyname('RLDate').AsDateTime; fieldbyname('RLMoney').Value:=Order_RL.fieldbyname('RLMoney').AsFloat; fieldbyname('FeeName').Value:=trim(Order_RL.fieldbyname('FeeName').AsString); fieldbyname('BZType').Value:=trim(Order_RL.fieldbyname('BZType').AsString); fieldbyname('YFNote').Value:=trim(Order_RL.fieldbyname('YFNote').AsString); fieldbyname('YFID').Value:=trim(Order_RL.fieldbyname('YFID').AsString); fieldbyname('Mainid').Value:=trim(Order_Main.fieldbyname('Mainid').AsString); fieldbyname('YSID').Value:=trim(maxno); post; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add('update YF_Money_CR set YRLMoney=(select Sum(RLMoney) from JYOrderYSK where YFID=YF_Money_CR.YFID) '); sql.add('where YFID='''+Trim(Order_RL.fieldbyname('YFID').AsString)+''''); execsql; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add('update YF_Money_CR set WRLMoney=isnull(Money,0)-isnull(YRLMoney,0) '); sql.add('where YFID='''+Trim(Order_RL.fieldbyname('YFID').AsString)+''''); execsql; end; with Order_RL do begin edit; fieldbyname('YSID').AsString:=trim(maxno); end; next; end; end; application.MessageBox('保存成功','提示'); end; procedure TfrmContractListNX.ToolButton6Click(Sender: TObject); var maxno:string; FCount:Integer; 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 Chker=Cast('''' as varchar(20))'); Open; end; SCreateCDS20(ADOQueryTemp,CDS_Chker); SInitCDSData20(ADOQueryTemp,CDS_Chker); while CDS_Chker.IsEmpty=False do begin CDS_Chker.Delete; end; try frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); with frmZDYHelpSel do begin flag:='ZDKJR'; flagname:='指定可见人'; MainType:=Trim(DName); if ShowModal=1 then begin with ClientDataSet1 do begin First; while not Eof do begin if FieldByName('SSEl').AsBoolean=True then begin CDS_Chker.Append; CDS_Chker.FieldByName('Chker').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); CDS_Chker.Post; end; Next; end; end; if CDS_Chker.IsEmpty then FCount:=9 end; end; finally; frmZDYHelpSel.Free; end; if FCount=9 then begin if CDS_Chker.IsEmpty then begin Application.MessageBox('没有选择审核人!','提示',0); Exit; end; end; CDS_Chker.DisableControls; with CDS_Chker do begin First; while not eof do begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from SY_User where UserName='''+Trim(CDS_Chker.fieldbyname('Chker').AsString)+''''); Open; end; if ADOQueryTemp.IsEmpty then begin CDS_Chker.EnableControls; Application.MessageBox('审核人定义错误!','提示',0); Exit; end; Next; end; end; CDS_Chker.EnableControls; if CDS_Chker.IsEmpty then Exit; if Application.MessageBox('确定要执行此操作吗?','提示',32+4)<>IDYES then Exit; //if CDS_Chk.IsEmpty then begin try ADOQueryCmd.Connection.BeginTrans; with CDS_Chker do begin First; while not Eof do begin if CDS_Chk.Locate('Chker',Trim(CDS_Chker.fieldbyname('Chker').AsString),[])=False then begin if GetLSNo(ADOQueryCmd,maxno,'CK','OrdCon_Chk',4,1)=False then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取最大号失败!','提示',0); Exit; end; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select * from OrdCon_Chk where Mainid='''+trim(Order_Main.fieldbyname('MainID').AsString)+''''); sql.add(' and Chker='''+trim(CDS_Chker.fieldbyname('Chker').AsString)+''''); Open; end; with ADOQueryCmd do begin if isempty then begin Append; FieldByName('CKID').Value:=Trim(maxno); end else edit; FieldByName('MainID').Value:=Trim(Order_Main.fieldbyname('MainID').AsString); FieldByName('Chker').Value:=Trim(CDS_Chker.fieldbyname('Chker').AsString); fieldbyname('ChkStatus').Value:=''; fieldbyname('ChkTime').Value:=now; Post; end; if CDS_Chk.Locate('Chker',Trim(CDS_Chker.fieldbyname('Chker').AsString),[])=False then begin with CDS_Chk do begin Append; FieldByName('Chker').Value:=Trim(CDS_Chker.fieldbyname('Chker').AsString); Post; end; end; Next; end; end; ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('调用审核人失败!','提示',0); end; end; end; procedure TfrmContractListNX.TV4CellDblClick( Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin if application.MessageBox('确定要删除吗','提示',1)=2 then exit; with ADOQueryCmd do begin close; sql.Clear; sql.Add('delete from OrdCon_Chk where Mainid='''+trim(Order_Main.fieldbyname('Mainid').asstring)+''''); execsql; end; CDS_Chk.Delete; end; end.