unit U_CLKH_Sub; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxCalendar, cxDropDownEdit, ComCtrls, ToolWin, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient, cxButtonEdit, cxTextEdit, ExtCtrls, StdCtrls, BtnEdit, cxCurrencyEdit; type TfrmCLKH_Sub = class(TForm) ToolBar1: TToolBar; TBSave: TToolButton; TBClose: TToolButton; DataSource3: TDataSource; CDS_Sub: TClientDataSet; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; cxGridPopupMenu2: TcxGridPopupMenu; ToolButton1: TToolButton; ToolButton2: TToolButton; ADOQuery1: TADOQuery; ADOQuery2: TADOQuery; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1SJName: TcxGridDBColumn; v1CheHao: TcxGridDBColumn; v1CCQty: TcxGridDBColumn; v1MGLQty: TcxGridDBColumn; v1JYQty: TcxGridDBColumn; v1SJYHQty: TcxGridDBColumn; v1KHYHQty: TcxGridDBColumn; v1JFMoney: TcxGridDBColumn; v1BTMoney: TcxGridDBColumn; v1SFMoney: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; Panel1: TPanel; Label1: TLabel; Month: TDateTimePicker; v1XXPrice: TcxGridDBColumn; v1YHMonth: TcxGridDBColumn; Label2: TLabel; CLName: TComboBox; v1KHXS: TcxGridDBColumn; v1ZDKHXS: TcxGridDBColumn; v1KHNote: TcxGridDBColumn; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBSaveClick(Sender: TObject); procedure v1Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1Column14PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v2Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1Column16PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1Column13PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v2Column6PropertiesEditValueChanged(Sender: TObject); procedure v1PricePropertiesEditValueChanged(Sender: TObject); procedure QtyChange(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure v2CPFLQtyPropertiesEditValueChanged(Sender: TObject); procedure v1CLSpecPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1SJNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1CPNoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1CheHaoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1YPricePropertiesEditValueChanged(Sender: TObject); procedure v1XXPricePropertiesEditValueChanged(Sender: TObject); procedure CLNameChange(Sender: TObject); private { Private declarations } function SaveCKData():Boolean; public { Public declarations } FBCId,canshu3:String; end; var frmCLKH_Sub: TfrmCLKH_Sub; implementation uses U_DataLink,U_RTFun,U_ClothContractListHZCX,U_ZDYHelp, U_ZdyAttachGYS,U_ProductOrderListSel, U_ZdyAttachCP,U_CLManage; {$R *.dfm} procedure TfrmCLKH_Sub.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; function TfrmCLKH_Sub.SaveCKData():Boolean; var FCRID,Maxno,FFSPID:string; begin try ADOQueryCmd.Connection.BeginTrans; with CDS_Sub do begin first; while not eof do begin if Trim(fieldbyname('YHID').AsString)='' then begin if GetLSNo(ADOQueryCmd,Maxno,'YH','CL_YHKH',3,1)=False then begin Result:=False; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取原料入库编号失败!','提示',0); Exit; end; end else begin Maxno:=Trim(fieldbyname('YHID').AsString); end; with ADOQueryCmd do begin close; sql.Clear; sql.Add('select * from CL_YHKH '); sql.Add('where YHID='''+trim(MaxNo)+''''); open; end; with ADOQueryCmd do begin if IsEmpty then begin Append; end else begin Edit; end; FieldByName('YHID').Value:=Trim(MaxNo); RTSetSaveDataCDS(ADOQueryCmd,Tv1,CDS_Sub,'CL_YHKH',2); FieldByName('CLName').Value:=Trim(CDS_Sub.fieldbyname('CLName').AsString); FieldByName('CLSpec').Value:=Trim(CDS_Sub.fieldbyname('CLSpec').AsString); FieldByName('MGLQty').Value:=CDS_Sub.fieldbyname('MGLQty').AsFloat; FieldByName('SJYHQty').Value:=CDS_Sub.fieldbyname('SJYHQty').AsFloat; FieldByName('JYQty').Value:=CDS_Sub.fieldbyname('JYQty').AsFloat; FieldByName('KHYHQty').Value:=CDS_Sub.fieldbyname('KHYHQty').AsFloat; FieldByName('XXPrice').Value:=CDS_Sub.fieldbyname('XXPrice').AsFloat; FieldByName('JFMoney').Value:=CDS_Sub.fieldbyname('JFMoney').AsFloat; FieldByName('BTMoney').Value:=CDS_Sub.fieldbyname('BTMoney').AsFloat; FieldByName('SFMoney').Value:=CDS_Sub.fieldbyname('SFMoney').AsFloat; FieldByName('ZDKHXS').Value:=CDS_Sub.fieldbyname('ZDKHXS').AsFloat; FieldByName('KHXS').Value:=CDS_Sub.fieldbyname('KHXS').AsFloat; Post; end; Next; end; end; ADOQueryCmd.Connection.CommitTrans; Result:=True; except; Result:=False; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('保存异常!','提示',0); end; end; procedure TfrmCLKH_Sub.TBCloseClick(Sender: TObject); begin WriteCxGrid('油量充值FM',Tv1,'成品仓库'); Close; end; procedure TfrmCLKH_Sub.FormShow(Sender: TObject); var fsj:String; begin ReadCxGrid('油量充值FM',Tv1,'成品仓库'); with ADOQueryTemp do begin Close; sql.Clear; sql.Add(' select A.* '); sql.Add(' from CL_YHKH A'); sql.Add(' where YHID='''+Trim(FBCId)+''''); Open; end; SCreateCDS20(ADOQueryTemp,CDS_Sub); SInitCDSData20(ADOQueryTemp,CDS_Sub); Month.Date:=SGetServerDate(ADOQuery1); end; procedure TfrmCLKH_Sub.TBSaveClick(Sender: TObject); begin if CDS_Sub.IsEmpty then Exit; ToolBar1.SetFocus; if CDS_Sub.Locate('SJName','',[])=true then begin application.MessageBox('司机不能为空','提示'); exit; end; if SaveCKData() then begin Application.MessageBox('保存成功!','提示',0); ModalResult:=1; end; end; procedure TfrmCLKH_Sub.v1Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='QtyUnit'; flagname:='数量单位'; if ShowModal=1 then begin with Self.CDS_Sub do begin Edit; FieldByName('QtyUnit').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmCLKH_Sub.v1Column14PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZdyAttachGYS:=TfrmZdyAttachGYS.Create(Application); with frmZdyAttachGYS do begin if ShowModal=1 then begin with Self.CDS_Sub do begin edit; FieldByName('FactoryNo').Value:=Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('ZdyCode').AsString) ; FieldByName('FactoryName').Value:=Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('ZdyName').AsString); //Post; end; end; end; finally frmZdyAttachGYS.Free; end; end; procedure TfrmCLKH_Sub.v2Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin if Trim(canshu3)='' then begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='PBName'; flagname:='坯布名称'; if ShowModal=1 then begin with Self.CDS_Sub do begin Edit; FieldByName('SPName').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end else begin try frmZdyAttachCP:=TfrmZdyAttachCP.Create(Application); with frmZdyAttachCP do begin if ShowModal=1 then begin with Self.CDS_Sub do begin Edit; FieldByName('SPName').Value:=Trim(frmZdyAttachCP.CDS_HZ.fieldbyname('ZdyName').AsString); FieldByName('SPSpec').Value:=Trim(frmZdyAttachCP.CDS_HZ.fieldbyname('DEFstr1').AsString); FieldByName('SPCF').Value:=Trim(frmZdyAttachCP.CDS_HZ.fieldbyname('DEFstr2').AsString); FieldByName('SPMF').Value:=Trim(frmZdyAttachCP.CDS_HZ.fieldbyname('DEFstr7').AsString); FieldByName('SPKZ').Value:=Trim(frmZdyAttachCP.CDS_HZ.fieldbyname('DEFstr8').AsString); FieldByName('SPKZ').Value:=Trim(frmZdyAttachCP.CDS_HZ.fieldbyname('DEFstr8').AsString); FieldByName('SPCode').Value:=Trim(frmZdyAttachCP.CDS_HZ.fieldbyname('ZdyCode').AsString); FieldByName('CPID').Value:=Trim(frmZdyAttachCP.CDS_HZ.fieldbyname('ATID').AsString); end; end; end; finally frmZdyAttachCP.Free; end; end; end; procedure TfrmCLKH_Sub.v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='PLName'; flagname:='原料名称'; if ShowModal=1 then begin with Self.CDS_Sub do begin Edit; FieldByName('YLName').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmCLKH_Sub.v1Column16PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZdyAttachGYS:=TfrmZdyAttachGYS.Create(Application); with frmZdyAttachGYS do begin if ShowModal=1 then begin with Self.CDS_Sub do begin edit; FieldByName('FromFactoryNo').Value:=Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('ZdyCode').AsString) ; FieldByName('FromFactoryName').Value:=Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('ZdyName').AsString); //Post; end; end; end; finally frmZdyAttachGYS.Free; end; end; procedure TfrmCLKH_Sub.v1Column13PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmProductOrderListSel:=TfrmProductOrderListSel.Create(Application); with frmProductOrderListSel do begin if ShowModal=1 then begin with Self.CDS_Sub do begin Edit; FieldByName('ORDMainIdRK').Value:=Trim(frmProductOrderListSel.Order_Main.fieldbyname('MainId').AsString); FieldByName('ORDSubIdRK').Value:=Trim(frmProductOrderListSel.Order_Main.fieldbyname('SubId').AsString); FieldByName('OrderNo').Value:=Trim(frmProductOrderListSel.Order_Main.fieldbyname('OrderNo').AsString); end; end; end; finally frmProductOrderListSel.Free; end; end; procedure TfrmCLKH_Sub.v2Column6PropertiesEditValueChanged( Sender: TObject); var mavlue:string; begin mavlue:=TcxTextEdit(Sender).EditingText; if mavlue='' then begin mavlue:='0'; end; with CDS_Sub do begin edit; fieldbyname('Qty').Value:=trim(Mavlue); end; with CDS_Sub do begin edit; fieldbyname('Money').Value:=fieldbyname('Qty').AsFloat*fieldbyname('Price').AsFloat; end; end; procedure TfrmCLKH_Sub.v1PricePropertiesEditValueChanged( Sender: TObject); var mavlue:string; begin mavlue:=TcxTextEdit(Sender).EditingText; if mavlue='' then begin mavlue:='0'; end; with CDS_Sub do begin edit; fieldbyname('Price').Value:=trim(Mavlue); end; with CDS_Sub do begin edit; fieldbyname('CPMoney').Value:=fieldbyname('Qty').AsFloat*fieldbyname('Price').AsFloat; end; end; procedure TfrmCLKH_Sub.QtyChange(Sender: TObject); var i:double; begin end; procedure TfrmCLKH_Sub.ToolButton1Click(Sender: TObject); begin CLName.Enabled:=false; Month.Enabled:=false; with ADOQuery1 do begin close; sql.Clear; sql.Add('select AA.*,SJYHQty=(case when MGLQty<>0 then cast(JYQty/MGLQty as decimal(18,3)) end) '); sql.Add(',KHXS=(select Top 1 B.KHXS from CL_YHKH B where B.CLName=AA.CLName and B.SJName=AA.SJName and B.CheHao=AA.CheHao and B.CLSpec=AA.CLSpec'); sql.Add(' order by convert(varchar(7),B.YHMonth,120) desc)'); sql.Add(',ZDKHXS=(select Top 1 B.ZDKHXS from CL_YHKH B where B.CLName=AA.CLName and B.SJName=AA.SJName and B.CheHao=AA.CheHao and B.CLSpec=AA.CLSpec'); sql.Add(' order by convert(varchar(7),B.YHMonth,120) desc)'); sql.Add(',JLPrice=(select Top 1 B.JLPrice from CL_YHKH B where B.CLName=AA.CLName and B.SJName=AA.SJName and B.CheHao=AA.CheHao and B.CLSpec=AA.CLSpec'); sql.Add(' order by convert(varchar(7),B.YHMonth,120) desc)'); sql.Add(',CFPrice=(select Top 1 B.CFPrice from CL_YHKH B where B.CLName=AA.CLName and B.SJName=AA.SJName and B.CheHao=AA.CheHao and B.CLSpec=AA.CLSpec'); sql.Add(' order by convert(varchar(7),B.YHMonth,120) desc)'); sql.Add(' from (select convert(varchar(7),CRTime,120) YHMonth,A.CLName,SJName,CheHao,CLSpec '); sql.Add(',CCQty=(select Sum(B.CLQty) from CK_CP_CR B where B.CheHao=A.CheHao and B.CLSpec=A.CLSpec and B.SJName=A.SJName and convert(varchar(7),A.CRTime,120)=convert(varchar(7),B.CRTime,120))'); SQL.Add(',MGLQty=(case when A.CLName=''搅拌车'' then Max(A.MQQty)-Min(A.MQQty) else (select Sum(case when B.CPFLQty<50 then 50 else B.CPFLQty end) from CK_CP_CR B where B.CheHao=A.CheHao '); sql.Add(' and B.CLSpec=A.CLSpec and B.SJName=A.SJName and convert(varchar(7),A.CRTime,120)=convert(varchar(7),B.CRTime,120)) end),JYQty=Sum(CZMoney)'); sql.Add(' from CL_YKYL_Main A '); sql.Add('where convert(varchar(7),A.CRTime,120)='''+Trim(FormatDateTime('yyyy-MM',Month.Date))+''''); sql.Add(' and A.CLName='''+trim(CLName.Text)+''''); sql.add(' group by convert(varchar(7),CRTime,120),A.CLName,SJName,CheHao,CLSpec) AA'); Open; end; with ADOQuery1 do begin First; while not eof do begin with CDS_Sub do begin append; FieldByName('YHMonth').Value:=Trim(ADOQuery1.fieldbyname('YHMonth').AsString); FieldByName('SJName').Value:=Trim(ADOQuery1.fieldbyname('SJName').AsString); FieldByName('CLName').Value:=Trim(CLName.Text); FieldByName('CLSpec').Value:=Trim(ADOQuery1.fieldbyname('CLSpec').AsString); FieldByName('CheHao').Value:=Trim(ADOQuery1.fieldbyname('CheHao').AsString); FieldByName('CCQty').Value:=ADOQuery1.fieldbyname('CCQty').AsFloat; FieldByName('MGLQty').Value:=ADOQuery1.fieldbyname('MGLQty').AsFloat; FieldByName('BZKHXS').Value:=ADOQuery1.fieldbyname('MGLQty').AsFloat; FieldByName('JYQty').Value:=ADOQuery1.fieldbyname('JYQty').AsFloat; FieldByName('SJYHQty').Value:=ADOQuery1.fieldbyname('SJYHQty').AsFloat; if ADOQuery1.FieldByName('CLSpec').AsString='9方' then begin if ADOQuery1.FieldByName('KHXS').AsFloat=0 then FieldByName('KHXS').Value:=0.435 else FieldByName('KHXS').Value:=ADOQuery1.fieldbyname('KHXS').AsFloat; FieldByName('KHYHQty').Value:=(fieldbyname('KHXS').AsFloat-ADOQuery1.fieldbyname('SJYHQty').AsFloat)*ADOQuery1.fieldbyname('MGLQty').AsFloat; if fieldbyname('SJYHQty').AsFloat>fieldbyname('KHXS').AsFloat then begin FieldByName('XXPrice').Value:=6; end else FieldByName('XXPrice').Value:=3; end; if ADOQuery1.FieldByName('CLSpec').AsString='12方' then begin if (ADOQuery1.FieldByName('CheHao').AsString='25#') or (ADOQuery1.FieldByName('CheHao').AsString='27#') then begin if ADOQuery1.FieldByName('KHXS').AsFloat=0 then FieldByName('KHXS').Value:=0.48 else FieldByName('KHXS').Value:=ADOQuery1.fieldbyname('KHXS').AsFloat; FieldByName('KHYHQty').Value:=(fieldbyname('KHXS').AsFloat-ADOQuery1.fieldbyname('SJYHQty').AsFloat)*ADOQuery1.fieldbyname('MGLQty').AsFloat; if fieldbyname('SJYHQty').AsFloat>fieldbyname('KHXS').AsFloat then begin FieldByName('XXPrice').Value:=6; end else FieldByName('XXPrice').Value:=3; end; {if (ADOQuery1.FieldByName('CheHao').AsString='23#') or (ADOQuery1.FieldByName('CheHao').AsString='26#') or (ADOQuery1.FieldByName('CheHao').AsString='28#') then begin if ADOQuery1.FieldByName('KHXS').AsFloat=0 then FieldByName('KHXS').Value:=0.46 else FieldByName('KHXS').Value:=ADOQuery1.fieldbyname('KHXS').AsFloat; FieldByName('KHYHQty').Value:=(fieldbyname('KHXS').AsFloat-ADOQuery1.fieldbyname('SJYHQty').AsFloat)*ADOQuery1.fieldbyname('MGLQty').AsFloat; if fieldbyname('SJYHQty').AsFloat>fieldbyname('KHXS').AsFloat then begin FieldByName('XXPrice').Value:=6; end else FieldByName('XXPrice').Value:=3; end;} if (ADOQuery1.FieldByName('CheHao').AsString='2#') or (ADOQuery1.FieldByName('CheHao').AsString='8#') or (ADOQuery1.FieldByName('CheHao').AsString='9#') then begin if ADOQuery1.FieldByName('KHXS').AsFloat=0 then FieldByName('KHXS').Value:=0.5 else FieldByName('KHXS').Value:=ADOQuery1.fieldbyname('KHXS').AsFloat; FieldByName('KHYHQty').Value:=(fieldbyname('KHXS').AsFloat-ADOQuery1.fieldbyname('SJYHQty').AsFloat)*ADOQuery1.fieldbyname('MGLQty').AsFloat; if fieldbyname('SJYHQty').AsFloat>fieldbyname('KHXS').AsFloat then begin FieldByName('XXPrice').Value:=6; end else FieldByName('XXPrice').Value:=3; end; end; if ADOQuery1.FieldByName('CLSpec').AsString='13方' then begin if ADOQuery1.FieldByName('KHXS').AsFloat=0 then FieldByName('KHXS').Value:=0.48 else FieldByName('KHXS').Value:=ADOQuery1.fieldbyname('KHXS').AsFloat; FieldByName('KHYHQty').Value:=(fieldbyname('KHXS').AsFloat-ADOQuery1.fieldbyname('SJYHQty').AsFloat)*ADOQuery1.fieldbyname('MGLQty').AsFloat; if fieldbyname('SJYHQty').AsFloat>fieldbyname('KHXS').AsFloat then begin FieldByName('XXPrice').Value:=6; end else FieldByName('XXPrice').Value:=3; end; if (ADOQuery1.FieldByName('CLSpec').AsString='15方') or (ADOQuery1.FieldByName('CLSpec').AsString='16方') or (ADOQuery1.FieldByName('CLSpec').AsString='17方') then begin if ADOQuery1.FieldByName('KHXS').AsFloat=0 then FieldByName('KHXS').Value:=0.55 else FieldByName('KHXS').Value:=ADOQuery1.fieldbyname('KHXS').AsFloat; FieldByName('KHYHQty').Value:=(fieldbyname('KHXS').AsFloat-ADOQuery1.fieldbyname('SJYHQty').AsFloat)*ADOQuery1.fieldbyname('MGLQty').AsFloat; if fieldbyname('SJYHQty').AsFloat>fieldbyname('KHXS').AsFloat then begin FieldByName('XXPrice').Value:=6; end else FieldByName('XXPrice').Value:=3; end; //以下为泵车 if ADOQuery1.FieldByName('CLSpec').Value='车载泵' then begin if ADOQuery1.fieldbyname('ZDKHXS').AsFloat=0 then FieldByName('ZDKHXS').AsFloat:=0.35 else FieldByName('ZDKHXS').AsFloat:=ADOQuery1.fieldbyname('ZDKHXS').AsFloat; if ADOQuery1.FieldByName('KHXS').AsFloat=0 then FieldByName('KHXS').Value:=0.6 else begin FieldByName('KHXS').Value:=ADOQuery1.fieldbyname('KHXS').AsFloat; end; if fieldbyname('SJYHQty').AsFloatfieldbyname('KHXS').AsFloat then begin FieldByName('XXPrice').Value:=6; end else FieldByName('XXPrice').Value:=3; end; if ADOQuery1.FieldByName('CLSpec').Value='拖泵' then begin if ADOQuery1.fieldbyname('ZDKHXS').AsFloat=0 then FieldByName('ZDKHXS').AsFloat:=0.35 else FieldByName('ZDKHXS').AsFloat:=ADOQuery1.fieldbyname('ZDKHXS').AsFloat; if ADOQuery1.FieldByName('KHXS').AsFloat=0 then FieldByName('KHXS').Value:=0.5 else FieldByName('KHXS').Value:=ADOQuery1.fieldbyname('KHXS').AsFloat; if fieldbyname('SJYHQty').AsFloatfieldbyname('KHXS').AsFloat then begin FieldByName('XXPrice').Value:=6; end else FieldByName('XXPrice').Value:=3; end; if (ADOQuery1.FieldByName('CLSpec').Value='50M泵') or (ADOQuery1.FieldByName('CLSpec').Value='46M泵') then begin if ADOQuery1.fieldbyname('ZDKHXS').AsFloat=0 then FieldByName('ZDKHXS').AsFloat:=0.46 else FieldByName('ZDKHXS').AsFloat:=ADOQuery1.fieldbyname('ZDKHXS').AsFloat; if ADOQuery1.FieldByName('KHXS').AsFloat=0 then FieldByName('KHXS').Value:=0.6 else FieldByName('KHXS').Value:=ADOQuery1.fieldbyname('KHXS').AsFloat; if fieldbyname('SJYHQty').AsFloatfieldbyname('KHXS').AsFloat then begin FieldByName('XXPrice').Value:=6; end else FieldByName('XXPrice').Value:=3; end; if (ADOQuery1.FieldByName('CLSpec').Value='45M泵') or (ADOQuery1.FieldByName('CLSpec').Value='38M泵') then begin if ADOQuery1.fieldbyname('ZDKHXS').AsFloat=0 then FieldByName('ZDKHXS').AsFloat:=0.46 else FieldByName('ZDKHXS').AsFloat:=ADOQuery1.fieldbyname('ZDKHXS').AsFloat; if ADOQuery1.FieldByName('KHXS').AsFloat=0 then FieldByName('KHXS').Value:=0.7 else FieldByName('KHXS').Value:=ADOQuery1.fieldbyname('KHXS').AsFloat; if fieldbyname('SJYHQty').AsFloatfieldbyname('KHXS').AsFloat then begin FieldByName('XXPrice').Value:=6; end else FieldByName('XXPrice').Value:=3; end; FieldByName('JFMoney').AsFloat:=FieldByName('KHYHQty').AsFloat*FieldByName('XXPrice').AsFloat; FieldByName('SFMoney').AsFloat:=FieldByName('KHYHQty').AsFloat*FieldByName('XXPrice').AsFloat; post; end; Next; end; end; end; procedure TfrmCLKH_Sub.ToolButton2Click(Sender: TObject); begin if CDS_Sub.IsEmpty then exit; CDS_Sub.Delete; end; procedure TfrmCLKH_Sub.v2CPFLQtyPropertiesEditValueChanged( Sender: TObject); var mvalue:string; begin mvalue:=Trim(TcxTextEdit(Sender).EditingText); if mvalue='' then mvalue:='0'; with CDS_Sub do begin Edit; FieldByName('CPFLQty').Value:=mvalue; FieldByName('CPMoney').Value:=fieldbyname('Price').AsFloat*strtofloat(mvalue); end; end; procedure TfrmCLKH_Sub.v1CLSpecPropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin try frmCLManage:=TfrmCLManage.Create(Application); with frmCLManage do begin TSsel.Visible:=true; TBAdd.Visible:=false; TBEdit.Visible:=false; if ShowModal=1 then begin with Self.CDS_Sub do begin Edit; FieldByName('CLSpec').Value:=Trim(CDS_Main.fieldbyname('CLXNo').AsString); FieldByName('JPSpec').Value:=Trim(CDS_Main.fieldbyname('JPSpec').AsString); FieldByName('CPNo').Value:=Trim(CDS_Main.fieldbyname('CPNo').AsString); FieldByName('CheHao').Value:=Trim(CDS_Main.fieldbyname('CheHao').AsString); end; end; end; finally frmCLManage.Free; end; end; procedure TfrmCLKH_Sub.v1SJNamePropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='SJName'; flagname:='司机'; if ShowModal=1 then begin with Self.CDS_Sub do begin Edit; FieldByName('SJName').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmCLKH_Sub.v1CPNoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='CPNo'; flagname:='车牌号码'; if ShowModal=1 then begin with Self.CDS_Sub do begin Edit; FieldByName('CPNo').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmCLKH_Sub.v1CheHaoPropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='CheHao'; flagname:='车号'; if ShowModal=1 then begin with Self.CDS_Sub do begin Edit; FieldByName('CheHao').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmCLKH_Sub.v1YPricePropertiesEditValueChanged( Sender: TObject); var mvalue:string; begin mvalue:=Trim(TcxTextEdit(Sender).EditingText); if mvalue='' then mvalue:='0'; with CDS_Sub do begin Edit; FieldByName('YPrice').Value:=mvalue; FieldByName('YMoney').Value:=fieldbyname('CZMoney').AsFloat*strtofloat(mvalue); end; end; procedure TfrmCLKH_Sub.v1XXPricePropertiesEditValueChanged( Sender: TObject); var mavlue,FFileName:string; begin mavlue:=TcxTextEdit(Sender).EditingText; if mavlue='' then mavlue:='0'; FFileName:=Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName; with CDS_Sub do begin edit; FieldByName(FFileName).Value:=mavlue; end; with CDS_Sub do begin edit; FieldByName('SJYHQty').Value:=fieldbyname('JYQty').AsFloat/fieldbyname('MGLQty').AsFloat; end; with CDS_Sub do begin edit; if fieldbyname('SJYHQty').AsFloat