unit U_ClothContractListHZ; 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, cxCalendar, cxButtonEdit, cxSplitter, RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, cxTextEdit, cxPC, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu; type TfrmClothContractListHZ = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBAdd: TToolButton; TBEdit: TToolButton; TBDel: TToolButton; TBPrint: TToolButton; TBClose: TToolButton; Panel1: TPanel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; Label1: TLabel; Label2: TLabel; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; Label3: TLabel; ConNo: TEdit; Label5: TLabel; C_CodeName: TEdit; TBExport: TToolButton; Order_Main: TClientDataSet; Label4: TLabel; C_Spec: TEdit; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; CDS_PRT: TClientDataSet; ToolButton1: TToolButton; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1OrderNo: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1DeliveryDate: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1FactoryNo1Name: TcxGridDBColumn; v1PRTSpec: TcxGridDBColumn; v1Qty1: TcxGridDBColumn; v1PRTOrderQty: TcxGridDBColumn; v1OrderUnit: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1PRTQty: TcxGridDBColumn; v1Column4: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; v1Column3: TcxGridDBColumn; FactoryNoName: TEdit; Label6: TLabel; v1Column6: TcxGridDBColumn; v1Column7: TcxGridDBColumn; cxTabControl1: TcxTabControl; Tchk: TToolButton; Tnochk: TToolButton; v1Column8: TcxGridDBColumn; Panel4: TPanel; Label14: TLabel; Panel10: TPanel; Image2: TImage; Button1: TButton; RadioGroup1: TRadioGroup; v1Column9: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column11: TcxGridDBColumn; v1Column12: TcxGridDBColumn; ToolButton2: TToolButton; ToolButton3: TToolButton; ToolButton4: TToolButton; Panel2: TPanel; Button2: TButton; Button3: TButton; Wmoney: TEdit; Label7: TLabel; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; cxStyle2: TcxStyle; ToolButton5: TToolButton; Tv1Column1: TcxGridDBColumn; Label8: TLabel; C_ColorNo: TEdit; Tv1Column2: TcxGridDBColumn; RMDBMain1: TRMDBDataSet; ADOQuery1: TADOQuery; 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 ConNoChange(Sender: TObject); procedure FormShow(Sender: TObject); procedure cxPageControl1Change(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure TchkClick(Sender: TObject); procedure TnochkClick(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Image2Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure v1Column10CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); procedure v1Column12CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); procedure ToolButton5Click(Sender: TObject); private FInt, PFInt: Integer; procedure InitGrid(); procedure InitForm(); function DelData(): Boolean; function YFData(): Boolean; function HYYFData(): Boolean; function WKYFData(): Boolean; { Private declarations } public { Public declarations } end; var frmClothContractListHZ: TfrmClothContractListHZ; implementation uses U_DataLink, U_ClothContractInPutSX, U_Fun, U_ProductOrderList, U_ZDYHelp, U_ClothContractInPutSXMX, U_ClothContractInPutHZ, U_ClothContractInPutPB, U_SysLogHelp; {$R *.dfm} procedure TfrmClothContractListHZ.FormDestroy(Sender: TObject); begin frmClothContractListHZ := nil; end; procedure TfrmClothContractListHZ.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmClothContractListHZ.TBCloseClick(Sender: TObject); begin writeCxGrid(self.Caption, Tv1, '指示单管理'); Close; end; procedure TfrmClothContractListHZ.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add('select A.*,B.*,CDeposit=case when isnull(Deposit,'''')<>'''' then cast(Deposit AS decimal(18,2)) else 0.0 end'); sql.Add(',CWMoney=isnull(WMoney,0)'); sql.Add(',OrderNO=(select Top 1 OrderNo from JYOrder_main X where X.MainID=B.fromMainID)'); sql.Add('from Contract_sub A'); sql.Add('inner join Contract_Main B on B.mainID=A.mainID'); sql.Add('where FillTime>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)) + ''''); sql.Add('and FillTime<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.DateTime + 1)) + ''''); sql.Add('and FillTime<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.DateTime + 1)) + ''''); sql.Add('and HTType=''采购合同'' '); if cxTabControl1.TabIndex < 3 then sql.Add('and isnull(status,''0'')=''' + inttostr(cxTabControl1.TabIndex) + ''' '); // ShowMessage(sql.Text); Open; end; SCreateCDS20(ADOQueryMain, Order_Main); SInitCDSData20(ADOQueryMain, Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmClothContractListHZ.InitForm(); begin ReadCxGrid(self.Caption, Tv1, '指示单管理'); BegDate.DateTime := SGetServerDate10(ADOQueryTemp) - 90; EndDate.DateTime := SGetServerDate10(ADOQueryTemp); tchk.Visible := false; Tnochk.Visible := false; TBadd.Visible := false; TBEdit.Visible := false; TBDel.Visible := false; ToolButton2.Visible := False; ToolButton3.Visible := False; ToolButton4.Visible := False; if Trim(DParameters1) = '审核' then begin case cxTabControl1.TabIndex of 0: begin tchk.Visible := true; TBadd.Visible := true; TBEdit.Visible := true; TBDel.Visible := true; end; 1: begin Tnochk.Visible := true; ToolButton4.Visible := True; ToolButton2.Visible := True; end; 2: begin ToolButton3.Visible := True; end; end; end; if Trim(DParameters1) = '录入' then begin v1Column1.Visible := True; v1Column1.Hidden := False; v1PRTQty.Visible := True; v1PRTQty.Hidden := False; TBPrint.Visible := True; tchk.Visible := false; tnochk.Visible := false; case cxTabControl1.TabIndex of 0: begin TBadd.Visible := true; TBEdit.Visible := true; TBDel.Visible := true; end; 1: begin ToolButton4.Visible := True; end; end; end; InitGrid(); end; procedure TfrmClothContractListHZ.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 TfrmClothContractListHZ.TBEditClick(Sender: TObject); begin try frmClothContractInPutPB := TfrmClothContractInPutPB.Create(Application); with frmClothContractInPutPB do begin PState := 1; FMainId := Trim(Self.Order_Main.fieldbyname('MainId').AsString); FConNo := Trim(Self.Order_Main.fieldbyname('ConNo').AsString); if ShowModal = 1 then begin InitGrid(); end; end; finally frmClothContractInPutPB.Free; end; end; procedure TfrmClothContractListHZ.TBDelClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete Contract_Sub where mainID=''' + Trim(Order_Main.fieldbyname('mainID').AsString) + ''''); sql.Add('delete Contract_Main 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('ConNo').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); ExecSQL; end; InitGrid(); end; function TfrmClothContractListHZ.DelData(): Boolean; begin try Result := false; ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete ContractSX_Sub where SubId=''' + Trim(Order_Main.fieldbyname('SubId').AsString) + ''''); ExecSQL; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from ContractSX_Sub where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + ''''); Open; end; if ADOQueryTemp.IsEmpty then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete ContractSX_Main where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + ''''); ExecSQL; end; end; if Trim(Order_Main.fieldbyname('SubId').AsString) = '' then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete ContractSX_Main where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + ''''); ExecSQL; end; end; ADOQueryCmd.Connection.CommitTrans; Result := True; except ADOQueryCmd.Connection.RollbackTrans; Result := False; Application.MessageBox('数据删除异常!', '提示', 0); end; end; procedure TfrmClothContractListHZ.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; TcxGridToExcel('坯布合同订单列表', cxGrid1); end; procedure TfrmClothContractListHZ.TBPrintClick(Sender: TObject); begin Panel4.Visible := True; end; procedure TfrmClothContractListHZ.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmClothContractListHZ.TBAddClick(Sender: TObject); begin try frmClothContractInPutPB := TfrmClothContractInPutPB.Create(Application); with frmClothContractInPutPB do begin PState := 0; FMainId := ''; if ShowModal = 1 then begin InitGrid(); end; end; finally frmClothContractInPutPB.Free; end; end; procedure TfrmClothContractListHZ.ConNoChange(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 TfrmClothContractListHZ.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmClothContractListHZ.cxPageControl1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmClothContractListHZ.ToolButton1Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; try frmClothContractInPutPB := TfrmClothContractInPutPB.Create(Application); with frmClothContractInPutPB do begin PState := 1; PCopyInt := 1; FMainId := Trim(Self.Order_Main.fieldbyname('MainId').AsString); FConNo := Trim(Self.Order_Main.fieldbyname('ConNo').AsString); if ShowModal = 1 then begin InitGrid(); end; end; finally frmClothContractInPutPB.Free; end; end; procedure TfrmClothContractListHZ.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin TBedit.Click; end; procedure TfrmClothContractListHZ.TchkClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update Contract_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; if StrToFloatDef(Order_Main.fieldbyname('CDeposit').AsString, 0) <> 0 then begin if not YFData() then begin ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('生成付款失败!', '提示信息', 0); end; end; if Order_Main.fieldbyname('HYPrice').AsFloat <> 0 then begin if not HYYFData() then begin ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('生成应收款失败!', '提示信息', 0); end; end; application.MessageBox('审核成功!', '提示信息'); TBRafresh.Click; except application.MessageBox('审核失败!', '提示信息', 0); end; end; function TfrmClothContractListHZ.YFData(): Boolean; var CRID, OrdMainId, YFID, FComTaiTou, FCRID, FFactoryName: string; begin Result := False; if GetLSNo(ADOQueryCmd, YFID, 'YF', 'YF_Money_CR', 3, 1) = False then begin Application.MessageBox('取定金最大号失败!', '提示', 0); Exit; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update YF_Money_CRID set CRID=CRID+1'); sql.Add('select * from YF_Money_CRID '); Open; end; CRID := ADOQueryCmd.fieldbyname('CRID').AsString; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from YF_Money_KC where 1<>1'); Open; end; with ADOQueryCmd do begin Append; FieldByName('CRID').Value := StrToInt(CRID); FieldByName('FactoryNo').Value := Trim(Order_Main.fieldbyname('FactoryNo').AsString); FieldByName('FactoryName').Value := Trim(Order_Main.fieldbyname('FactoryNoName').AsString); FieldByName('ZdyStr1').Value := '应付付'; Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR where YFID=''' + Trim(YFID) + ''''); Open; end; with ADOQueryCmd do begin Append; FieldByName('YFID').Value := Trim(YFID); FieldByName('YFTypeId').Value := Trim(Order_Main.fieldbyname('Mainid').AsString); FieldByName('CRID').Value := StrToInt(CRID); FieldByName('Filler').Value := Trim(DName); FieldByName('CRType').Value := '付款登记'; FieldByName('CRFlag').Value := '应付付'; FieldByName('QtyFlag').Value := -1; FieldByName('FactoryName').Value := Trim(Order_Main.fieldbyname('factoryNoName').AsString); FieldByName('CRTime').Value := SGetServerDateTime(ADOQuerytemp); FieldByName('DFBankNo').Value := Trim(Order_Main.fieldbyname('bankNo').AsString); FieldByName('payment').Value := Trim(Order_Main.fieldbyname('ConTK4').AsString); FieldByName('bankNo').Value := Trim(Order_Main.fieldbyname('CompanyName').AsString); FieldByName('fkfactoryName').Value := Trim(Order_Main.fieldbyname('FactoryNoName').AsString); FieldByName('DFTaiTou').Value := Trim(Order_Main.fieldbyname('FactoryNoName').AsString); FieldByName('DFBankName').Value := Trim(Order_Main.fieldbyname('BankName').AsString); FieldByName('Qty').Value := 0; FieldByName('PS').Value := 0; FieldByName('YFType').Value := '自动生成'; FieldByName('Price').Value := 0; if Order_Main.fieldbyname('CDeposit').asstring <> '' then begin FieldByName('money').Value := Order_Main.fieldbyname('CDeposit').AsFloat; FieldByName('BBmoney').Value := Order_Main.fieldbyname('CDeposit').AsFloat; end else begin FieldByName('money').Value := 0; FieldByName('BBmoney').Value := 0; end; FieldByName('HuiLv').Value := 1; FieldByName('BZType').Value := 'RMB'; FieldByName('ComTaiTou').Value := ''; FieldByName('QtyUnit').Value := ''; FieldByName('orderNo').Value := Trim(Order_Main.fieldbyname('ConNo').AsString); FieldByName('P_CodeName').Value := Trim(Order_Main.fieldbyname('C_CodeName').AsString); FieldByName('YFName').Value := '坯布采购定金'; FieldByName('MainId').Value := Trim(Order_Main.fieldbyname('Mainid').AsString); FieldByName('status').Value := '0'; Post; end; Result := True; end; function TfrmClothContractListHZ.HYYFData(): Boolean; var CRID, OrdMainId, YFID, FComTaiTou, FCRID, FFactoryName: string; begin Result := False; if GetLSNo(ADOQueryCmd, YFID, 'YS', 'YF_Money_CR', 3, 1) = False then begin Application.MessageBox('取佣金最大号失败!', '提示', 0); Exit; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update YF_Money_CRID set CRID=CRID+1'); sql.Add('select * from YF_Money_CRID '); Open; end; CRID := ADOQueryCmd.fieldbyname('CRID').AsString; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from YF_Money_KC where 1<>1'); Open; end; with ADOQueryCmd do begin Append; FieldByName('CRID').Value := StrToInt(CRID); FieldByName('FactoryNo').Value := Trim(Order_Main.fieldbyname('FactoryNo').AsString); FieldByName('FactoryName').Value := Trim(Order_Main.fieldbyname('FactoryNoName').AsString); FieldByName('ZdyStr1').Value := '应收收'; Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR where YFID=''' + Trim(YFID) + ''''); Open; end; with ADOQueryCmd do begin Append; FieldByName('YFID').Value := Trim(YFID); FieldByName('YFTypeId').Value := Trim(Order_Main.fieldbyname('Mainid').AsString); FieldByName('CRID').Value := StrToInt(CRID); FieldByName('Filler').Value := Trim(DName); FieldByName('CRType').Value := '应收款登记'; FieldByName('CRFlag').Value := '应收收'; FieldByName('QtyFlag').Value := 1; FieldByName('FactoryName').Value := Trim(Order_Main.fieldbyname('factoryNoName').AsString); FieldByName('CRTime').Value := SGetServerDateTime(ADOQuerytemp); FieldByName('DFBankNo').Value := Trim(Order_Main.fieldbyname('bankNo').AsString); FieldByName('payment').Value := Trim(Order_Main.fieldbyname('ConTK4').AsString); FieldByName('Qty').Value := Order_Main.fieldbyname('Qty').asstring; FieldByName('PS').Value := Order_Main.fieldbyname('RollNum').asstring; FieldByName('YFType').Value := '自动生成'; if Order_Main.fieldbyname('HYPrice').asstring <> '' then begin FieldByName('Price').Value := Order_Main.fieldbyname('HYPrice').AsFloat; FieldByName('money').Value := Order_Main.fieldbyname('Qty').AsFloat * Order_Main.fieldbyname('HYPrice').AsFloat; FieldByName('BBmoney').Value := Order_Main.fieldbyname('Qty').AsFloat * Order_Main.fieldbyname('HYPrice').AsFloat; end else begin FieldByName('Price').Value := 0; FieldByName('money').Value := 0; FieldByName('BBmoney').Value := 0; end; FieldByName('HuiLv').Value := 1; FieldByName('BZType').Value := Order_Main.fieldbyname('HYPriceunit').AsString; FieldByName('ComTaiTou').Value := ''; FieldByName('QtyUnit').Value := Order_Main.fieldbyname('QtyUnit').AsString; FieldByName('orderNo').Value := Trim(Order_Main.fieldbyname('ConNo').AsString); FieldByName('P_CodeName').Value := Trim(Order_Main.fieldbyname('C_CodeName').AsString); FieldByName('YFName').Value := '坯布佣金'; FieldByName('MainId').Value := Trim(Order_Main.fieldbyname('Mainid').AsString); FieldByName('status').Value := '0'; Post; end; Result := True; end; function TfrmClothContractListHZ.WKYFData(): Boolean; var CRID, OrdMainId, YFID, FComTaiTou, FCRID, FFactoryName: string; begin Result := False; if GetLSNo(ADOQueryCmd, YFID, 'YF', 'YF_Money_CR', 3, 1) = False then begin Application.MessageBox('取尾款最大号失败!', '提示', 0); Exit; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update YF_Money_CRID set CRID=CRID+1'); sql.Add('select * from YF_Money_CRID '); Open; end; CRID := ADOQueryCmd.fieldbyname('CRID').AsString; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from YF_Money_KC where 1<>1'); Open; end; with ADOQueryCmd do begin Append; FieldByName('CRID').Value := StrToInt(CRID); FieldByName('FactoryNo').Value := Trim(Order_Main.fieldbyname('FactoryNo').AsString); FieldByName('FactoryName').Value := Trim(Order_Main.fieldbyname('FactoryNoName').AsString); FieldByName('ZdyStr1').Value := '应付付'; Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR where YFID=''' + Trim(YFID) + ''''); Open; end; with ADOQueryCmd do begin Append; FieldByName('YFID').Value := Trim(YFID); FieldByName('YFTypeId').Value := Trim(Order_Main.fieldbyname('Mainid').AsString); FieldByName('CRID').Value := StrToInt(CRID); FieldByName('Filler').Value := Trim(DName); FieldByName('CRType').Value := '付款登记'; FieldByName('CRFlag').Value := '应付付'; FieldByName('QtyFlag').Value := -1; FieldByName('FactoryName').Value := Trim(Order_Main.fieldbyname('factoryNoName').AsString); FieldByName('CRTime').Value := SGetServerDateTime(ADOQuerytemp); FieldByName('DFBankNo').Value := Trim(Order_Main.fieldbyname('bankNo').AsString); FieldByName('payment').Value := Trim(Order_Main.fieldbyname('ConTK4').AsString); FieldByName('bankNo').Value := Trim(Order_Main.fieldbyname('CompanyName').AsString); FieldByName('fkfactoryName').Value := Trim(Order_Main.fieldbyname('FactoryNoName').AsString); FieldByName('DFTaiTou').Value := Trim(Order_Main.fieldbyname('FactoryNoName').AsString); FieldByName('DFBankName').Value := Trim(Order_Main.fieldbyname('BankName').AsString); FieldByName('Qty').Value := 0; FieldByName('PS').Value := 0; FieldByName('YFType').Value := '自动生成'; FieldByName('Price').Value := 0; if Order_Main.fieldbyname('Wmoney').asstring <> '' then begin FieldByName('money').Value := Order_Main.fieldbyname('Wmoney').AsFloat; FieldByName('BBmoney').Value := Order_Main.fieldbyname('Wmoney').AsFloat; end else begin FieldByName('money').Value := 0; FieldByName('BBmoney').Value := 0; end; FieldByName('HuiLv').Value := 1; FieldByName('BZType').Value := 'RMB'; FieldByName('ComTaiTou').Value := ''; FieldByName('QtyUnit').Value := ''; FieldByName('orderNo').Value := Trim(Order_Main.fieldbyname('ConNo').AsString); FieldByName('P_CodeName').Value := Trim(Order_Main.fieldbyname('C_CodeName').AsString); FieldByName('YFName').Value := '坯布采购尾款'; FieldByName('MainId').Value := Trim(Order_Main.fieldbyname('Mainid').AsString); FieldByName('status').Value := '0'; Post; end; Result := True; end; procedure TfrmClothContractListHZ.TnochkClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; with ADOQueryCmd do begin close; sql.Clear; sql.add('select * from YF_Money_CR where status=''1'' and mainid=' + quotedstr(trim(Order_Main.fieldbyname('MainID').AsString))); open; end; if ADOQueryCmd.IsEmpty = False then begin application.MessageBox('财务数据已审核不能删除!', '提示信息'); exit; end; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update Contract_Main SET status=''0'' '); sql.Add('where MainID=' + quotedstr(trim(Order_Main.fieldbyname('MainID').AsString))); sql.add('delete YF_Money_CR 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 TfrmClothContractListHZ.cxTabControl1Change(Sender: TObject); begin tchk.Visible := false; Tnochk.Visible := false; TBadd.Visible := false; TBEdit.Visible := false; TBDel.Visible := false; ToolButton2.Visible := False; ToolButton3.Visible := False; ToolButton4.Visible := False; if Trim(DParameters1) = '审核' then begin case cxTabControl1.TabIndex of 0: begin tchk.Visible := true; TBadd.Visible := true; TBEdit.Visible := true; TBDel.Visible := true; end; 1: begin Tnochk.Visible := true; ToolButton4.Visible := True; ToolButton2.Visible := True; end; 2: begin ToolButton3.Visible := True; end; end; end; if Trim(DParameters1) = '录入' then begin v1Column1.Visible := True; v1Column1.Hidden := False; v1PRTQty.Visible := True; v1PRTQty.Hidden := False; TBPrint.Visible := True; tchk.Visible := false; tnochk.Visible := false; case cxTabControl1.TabIndex of 0: begin TBadd.Visible := true; TBEdit.Visible := true; TBDel.Visible := true; end; 1: begin ToolButton4.Visible := True; end; end; end; TBRafresh.Click; end; procedure TfrmClothContractListHZ.Button1Click(Sender: TObject); var fPrintFile, FConNoM: string; LBName: string; begin if Order_Main.IsEmpty then Exit; LBName := RadioGroup1.Items.Strings[RadioGroup1.ItemIndex]; fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(LBName) + '.rmf'; with ADOQueryTemp do begin Filtered := False; Close; sql.Clear; sql.Add('select A.*,B.* '); sql.Add('from Contract_sub A'); sql.Add('inner join Contract_Main B on B.mainID=A.mainID'); sql.Add('where B.MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + ''''); Open; end; SCreateCDS20(ADOQueryTemp, CDS_PRT); SInitCDSData20(ADOQueryTemp, CDS_PRT); with ADOQuery1 do begin Filtered := False; Close; sql.Clear; sql.Add('select B.* '); sql.Add(',ZQty=(select sum(Qty) from Contract_sub X where X.mainid=B.mainid)'); sql.Add(',ZMoney=(select sum(Money) from Contract_sub X where X.mainid=B.mainid)'); sql.Add(' from Contract_Main B '); sql.Add('where B.MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + ''''); Open; end; if FileExists(fPrintFile) then begin RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找' + trim(fPrintFile)), '提示', 0); end; end; procedure TfrmClothContractListHZ.Image2Click(Sender: TObject); begin Panel4.Visible := False; end; procedure TfrmClothContractListHZ.ToolButton2Click(Sender: TObject); begin if Order_Main.IsEmpty then exit; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update Contract_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; if Order_Main.fieldbyname('WMoney').AsFloat <> 0 then begin if not WKYFData() then begin ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('生成付款失败!', '提示信息', 0); end; end; application.MessageBox('审核成功!', '提示信息'); TBRafresh.Click; except application.MessageBox('审核失败!', '提示信息', 0); end; end; procedure TfrmClothContractListHZ.Button3Click(Sender: TObject); begin Wmoney.Text := ''; Panel2.Visible := False; end; procedure TfrmClothContractListHZ.ToolButton4Click(Sender: TObject); begin Wmoney.Text := ''; Panel2.Visible := True; end; procedure TfrmClothContractListHZ.Button2Click(Sender: TObject); begin if Order_Main.IsEmpty then exit; if wmoney.Text = '' then exit; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update Contract_Main SET wmoney=' + wmoney.Text + ' '); 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(')'); // showmessage(sql.text); execsql; end; Panel2.Visible := False; Wmoney.Text := ''; TBRafresh.Click; except end; end; procedure TfrmClothContractListHZ.ToolButton3Click(Sender: TObject); begin if Order_Main.IsEmpty then exit; with ADOQueryCmd do begin close; sql.Clear; sql.add('select * from YF_Money_CR where status=''1'' and mainid=' + quotedstr(trim(Order_Main.fieldbyname('MainID').AsString))); sql.add('and YFName=''坯布采购尾款'' '); open; end; if ADOQueryCmd.IsEmpty = False then begin application.MessageBox('财务数据已审核不能删除!', '提示信息'); exit; end; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update Contract_Main SET status=''1'' '); sql.Add('where MainID=' + quotedstr(trim(Order_Main.fieldbyname('MainID').AsString))); sql.add('delete YF_Money_CR where mainid=' + quotedstr(trim(Order_Main.fieldbyname('MainID').AsString))); sql.add('and YFName=''坯布采购尾款'' '); 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 TfrmClothContractListHZ.v1Column10CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); var Id: Integer; begin Id := TV1.GetColumnByFieldName('CDeposit').Index; //;-TV1.GroupedItemCount; if cxTabControl1.TabIndex <> 0 then Exit; if Id < 0 then Exit; if AViewInfo.GridRecord.Values[Id] > 0 then begin ACanvas.Brush.Color := clLime; end; end; procedure TfrmClothContractListHZ.v1Column12CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); var Id: Integer; begin Id := TV1.GetColumnByFieldName('CWMoney').Index; //;-TV1.GroupedItemCount; if cxTabControl1.TabIndex <> 1 then Exit; if Id < 0 then Exit; if AViewInfo.GridRecord.Values[Id] > 0 then begin ACanvas.Brush.Color := clLime; end; end; procedure TfrmClothContractListHZ.ToolButton5Click(Sender: TObject); begin frmSysLogHelp := TfrmSysLogHelp.create(self); with frmSysLogHelp do begin fModel := self.caption; // facction:='生产指示单删除'; showmodal; free; end; end; end.