unit U_JGSXCKInPut_YLCK; 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; type TfrmJGSXCKInPut_YLCK = class(TForm) ToolBar1: TToolBar; TBSave: TToolButton; TBClose: TToolButton; DataSource3: TDataSource; CDS_Sub: TClientDataSet; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; cxGridPopupMenu2: TcxGridPopupMenu; TADD: TToolButton; Tdel: TToolButton; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1Column2: TcxGridDBColumn; v1CRType: TcxGridDBColumn; v2Qty1: TcxGridDBColumn; v2Qty2: TcxGridDBColumn; v2Qty3: TcxGridDBColumn; v1dunwei: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; v1BNo: TcxGridDBColumn; v1BTNo: TcxGridDBColumn; v2Qty4: TcxGridDBColumn; v2Qty5: TcxGridDBColumn; v2Qty6: TcxGridDBColumn; v2Qty7: TcxGridDBColumn; v2Qty8: TcxGridDBColumn; v2Qty9: TcxGridDBColumn; v2Qty10: TcxGridDBColumn; v1WJJQty3: TcxGridDBColumn; v1ZXJQty: TcxGridDBColumn; v1WJJQty1: TcxGridDBColumn; v1WJJQty2: TcxGridDBColumn; v1SXQty: TcxGridDBColumn; v1SZQty: TcxGridDBColumn; v1XSQty: TcxGridDBColumn; v1HSQty2: TcxGridDBColumn; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; v1NTQty: TcxGridDBColumn; v1WLQty: TcxGridDBColumn; v1CKNote: TcxGridDBColumn; v1FLQty: TcxGridDBColumn; v1TeXing: TcxGridDBColumn; v1XHNo: 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 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 v1CheduiPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1CRTypePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure TdelClick(Sender: TObject); procedure TADDClick(Sender: TObject); procedure v1QtyUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1BTNoPropertiesEditValueChanged(Sender: TObject); procedure v1WJJQty1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1WJJQty2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1WJJQty3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1GCNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1BNoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1TeXingPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); private { Private declarations } function SaveCKData():Boolean; public { Public declarations } FBCId,canshu3:String; end; var frmJGSXCKInPut_YLCK: TfrmJGSXCKInPut_YLCK; implementation uses U_DataLink,U_RTFun,U_ClothContractListHZCX,U_ZDYHelp, U_ZdyAttachGYS,U_ProductOrderListSel,U_JGSXKNewList_TBCX; {$R *.dfm} procedure TfrmJGSXCKInPut_YLCK.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; function TfrmJGSXCKInPut_YLCK.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('CKID').AsString)='' then begin if GetLSNo(ADOQueryCmd,Maxno,'CK','CK_SXPB_CK',3,1)=False then begin Result:=False; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取原料出库编号失败!','提示',0); Exit; end; end else begin Maxno:=Trim(fieldbyname('CKID').AsString); end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select * from CK_SXPB_CK where CKID='''+Trim(Maxno)+''''); Open; end; with ADOQueryCmd do begin if isempty then begin Append; FieldByName('Filler').Value:=Trim(DName); end else begin Edit; end; FieldByName('CKID').Value:=Trim(Maxno); FieldByName('CKName').Value:='原料'; RTSetSaveDataCDS(ADOQueryCmd,Tv1,CDS_Sub,'CK_SXPB_CK',2); FieldByName('OrderNo').Value:=Trim(CDS_Sub.fieldbyname('OrderNo').AsString); FieldByName('ConNO').Value:=Trim(CDS_Sub.fieldbyname('ConNO').AsString); FieldByName('Qty1').Value:=CDS_Sub.fieldbyname('Qty1').AsFloat; FieldByName('Qty2').Value:=CDS_Sub.fieldbyname('Qty2').AsFloat; FieldByName('Qty3').Value:=CDS_Sub.fieldbyname('Qty3').AsFloat; FieldByName('Qty4').Value:=CDS_Sub.fieldbyname('Qty4').AsFloat; FieldByName('Qty5').Value:=CDS_Sub.fieldbyname('Qty5').AsFloat; FieldByName('Qty6').Value:=CDS_Sub.fieldbyname('Qty6').AsFloat; FieldByName('Qty7').Value:=CDS_Sub.fieldbyname('Qty7').AsFloat; FieldByName('Qty8').Value:=CDS_Sub.fieldbyname('Qty8').AsFloat; FieldByName('Qty9').Value:=CDS_Sub.fieldbyname('Qty9').AsFloat; FieldByName('Qty10').Value:=CDS_Sub.fieldbyname('Qty10').AsFloat; FieldByName('ZXJQty').Value:=CDS_Sub.fieldbyname('ZXJQty').AsFloat; FieldByName('WJJQty1').Value:=CDS_Sub.fieldbyname('WJJQty1').AsFloat; FieldByName('WJJQty2').Value:=CDS_Sub.fieldbyname('WJJQty2').AsFloat; FieldByName('WJJQty3').Value:=CDS_Sub.fieldbyname('WJJQty3').AsFloat; FieldByName('SXQty').Value:=CDS_Sub.fieldbyname('SXQty').AsFloat; FieldByName('SZQty').Value:=CDS_Sub.fieldbyname('SZQty').AsFloat; FieldByName('XSQty').Value:=CDS_Sub.fieldbyname('XSQty').AsFloat; FieldByName('HSQty2').Value:=CDS_Sub.fieldbyname('HSQty2').AsFloat; FieldByName('WJJGY1').Value:=Trim(CDS_Sub.fieldbyname('WJJGY1').AsString); FieldByName('WJJGY2').Value:=Trim(CDS_Sub.fieldbyname('WJJGY2').AsString); FieldByName('WJJGY3').Value:=Trim(CDS_Sub.fieldbyname('WJJGY3').AsString); FieldByName('CRFlag').Value:='出库'; FieldByName('CRQtyFlag').Value:=-1; Post; end; with CDS_Sub do begin Edit; FieldByName('CKID').Value:=Trim(Maxno); end; Next; end; end; ADOQueryCmd.Connection.CommitTrans; Result:=True; except; Result:=False; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('保存异常!','提示',0); end; end; procedure TfrmJGSXCKInPut_YLCK.TBCloseClick(Sender: TObject); begin WriteCxGrid('原料出库登记11',Tv1,'原料仓库'); Close; end; procedure TfrmJGSXCKInPut_YLCK.FormShow(Sender: TObject); var fsj:String; begin ReadCxGrid('原料出库登记11',Tv1,'原料仓库'); with ADOQueryTemp do begin Close; sql.Clear; sql.Add(' select A.* '); sql.Add(' from CK_SXPB_CK A'); sql.Add(' where CKID='''+Trim(FBCId)+''''); Open; end; SCreateCDS20(ADOQueryTemp,CDS_Sub); SInitCDSData20(ADOQueryTemp,CDS_Sub); end; procedure TfrmJGSXCKInPut_YLCK.TBSaveClick(Sender: TObject); begin ToolBar1.SetFocus; if CDS_Sub.Locate('CRType',NULL,[])=true then begin application.MessageBox('出库类型不能为空','提示'); exit; end; with CDS_Sub do begin First; while not Eof do begin if FieldByName('WJJQty1').AsFloat<>0 then begin if FieldByName('WJJGY1').AsString='' then begin application.MessageBox('请选择外加剂1供应商','提示'); end; end; if FieldByName('WJJQty2').AsFloat<>0 then begin if FieldByName('WJJGY2').AsString='' then begin application.MessageBox('请选择外加剂2供应商','提示'); end; end; if FieldByName('WJJQty3').AsFloat<>0 then begin if FieldByName('WJJGY3').AsString='' then begin application.MessageBox('请选择外加剂3供应商','提示'); end; end; Next; end; end; if SaveCKData() then begin Application.MessageBox('保存成功!','提示',0); //ModalResult:=1; end; end; procedure TfrmJGSXCKInPut_YLCK.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 TfrmJGSXCKInPut_YLCK.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 TfrmJGSXCKInPut_YLCK.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 TfrmJGSXCKInPut_YLCK.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 TfrmJGSXCKInPut_YLCK.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 TfrmJGSXCKInPut_YLCK.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('Money').Value:=fieldbyname('Qty').AsFloat*fieldbyname('Price').AsFloat; end; end; procedure TfrmJGSXCKInPut_YLCK.QtyChange(Sender: TObject); var i:double; begin end; procedure TfrmJGSXCKInPut_YLCK.v1CheduiPropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='CheDui'; flagname:='车队'; if ShowModal=1 then begin with Self.CDS_Sub do begin Edit; FieldByName('CheDui').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally; frmZDYHelp.Free; end; end; procedure TfrmJGSXCKInPut_YLCK.v1CRTypePropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='CRType'; flagname:='出库类型'; if ShowModal=1 then begin with Self.CDS_Sub do begin Edit; FieldByName('CRType').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmJGSXCKInPut_YLCK.TdelClick(Sender: TObject); begin if CDS_Sub.IsEmpty then Exit; CDS_Sub.Delete; end; procedure TfrmJGSXCKInPut_YLCK.TADDClick(Sender: TObject); var i:Integer; begin if CDS_Sub.IsEmpty then begin with CDS_Sub do begin Append; FieldByName('XHNo').Value:=1; FieldByName('CRTime').Value:=SGetServerDate(ADOQueryTemp); FieldByName('CRType').Value:='加工出库'; post; end; end else begin i:=CDS_Sub.RecordCount; CopyAddRow(Tv1,CDS_Sub); with CDS_Sub do begin edit; FieldByName('XHNo').Value:=i+1; end; end; end; procedure TfrmJGSXCKInPut_YLCK.v1QtyUnitPropertiesButtonClick( 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 TfrmJGSXCKInPut_YLCK.v1BTNoPropertiesEditValueChanged( Sender: TObject); var mavlue:string; begin mavlue:=TcxTextEdit(sender).EditingText; v2Qty1.Visible:=false; v2Qty2.Visible:=false; v2Qty3.Visible:=false; v2Qty4.Visible:=false; v2Qty5.Visible:=false; v2Qty6.Visible:=false; v2Qty7.Visible:=false; v2Qty8.Visible:=false; v2Qty9.Visible:=false; v2Qty10.Visible:=false; if mavlue='A' then begin v2Qty1.Visible:=True; v2Qty2.Visible:=True; v2Qty3.Visible:=True; v2Qty7.Visible:=True; v2Qty9.Visible:=True; end; if mavlue='B' then begin v2Qty4.Visible:=True; v2Qty5.Visible:=True; v2Qty6.Visible:=True; v2Qty8.Visible:=True; v2Qty10.Visible:=True; end; end; procedure TfrmJGSXCKInPut_YLCK.v1WJJQty1PropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin frmJGSXNewList_TBCX:=TfrmJGSXNewList_TBCX.create(self); with frmJGSXNewList_TBCX do begin if ShowModal=1 then begin with CDS_Sub do begin edit; FieldByName('WJJGY1').Value:=CDS_Main.fieldbyname('FactoryName').AsString; end; end; free; end; end; procedure TfrmJGSXCKInPut_YLCK.v1WJJQty2PropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin frmJGSXNewList_TBCX:=TfrmJGSXNewList_TBCX.create(self); with frmJGSXNewList_TBCX do begin if ShowModal=1 then begin with CDS_Sub do begin edit; FieldByName('WJJGY2').Value:=CDS_Main.fieldbyname('FactoryName').AsString; end; end; free; end; end; procedure TfrmJGSXCKInPut_YLCK.v1WJJQty3PropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin frmJGSXNewList_TBCX:=TfrmJGSXNewList_TBCX.create(self); with frmJGSXNewList_TBCX do begin if ShowModal=1 then begin with CDS_Sub do begin edit; FieldByName('WJJGY3').Value:=CDS_Main.fieldbyname('FactoryName').AsString; end; end; free; end; end; procedure TfrmJGSXCKInPut_YLCK.v1GCNamePropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin frmProductOrderListSel:=TfrmProductOrderListSel.Create(self); with frmProductOrderListSel do begin if ShowModal=1 then begin with CDS_Sub do begin Edit; FieldByName('OrderNo').Value:=Trim(Order_Main.fieldbyname('OrderNo').AsString); FieldByName('ConNO').Value:=Trim(Order_Main.fieldbyname('ConNO').AsString); FieldByName('GCName').Value:=Trim(Order_Main.fieldbyname('GCName').AsString); FieldByName('BNo').Value:=Trim(Order_Main.fieldbyname('BNo').AsString); FieldByName('TeXing').Value:=Trim(Order_Main.fieldbyname('TeXing').AsString); end; end; Free; end; end; procedure TfrmJGSXCKInPut_YLCK.v1BNoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='BNo'; flagname:='标号'; if ShowModal=1 then begin with Self.CDS_Sub do begin Edit; FieldByName('BNo').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmJGSXCKInPut_YLCK.v1TeXingPropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='TeXing'; flagname:='特性'; if ShowModal=1 then begin with Self.CDS_Sub do begin Edit; FieldByName('TeXing').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; end.