unit U_CPCKInPut; 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, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator; type TfrmCPCKInPut = class(TForm) cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1Column2: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v2Column6: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; ToolBar1: TToolBar; TBAdd: TToolButton; TBDel: TToolButton; TBSave: TToolButton; TBClose: TToolButton; v1Column4: TcxGridDBColumn; DataSource3: TDataSource; CDS_Sub: TClientDataSet; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; cxGridPopupMenu2: TcxGridPopupMenu; v1Column12: TcxGridDBColumn; v1Column14: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column11: TcxGridDBColumn; v1Column13: TcxGridDBColumn; v1Column16: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column15: TcxGridDBColumn; v1Column17: TcxGridDBColumn; v1Column18: TcxGridDBColumn; v1Column19: TcxGridDBColumn; v1Column20: TcxGridDBColumn; v1Column21: TcxGridDBColumn; v1Column22: TcxGridDBColumn; v1Column23: TcxGridDBColumn; ADOQueryTMP: TADOQuery; ToolButton1: TToolButton; Tv1Column1: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBAddClick(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBDelClick(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 v1Column11PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1Column16PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1Column13PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1Column18PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure v1Column26PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure ToolButton1Click(Sender: TObject); procedure v2Column6PropertiesEditValueChanged(Sender: TObject); private { Private declarations } function SaveCKData(): Boolean; function YSData(Order_Main10: TClientDataSet): Boolean; public { Public declarations } FBCId: string; end; var frmCPCKInPut: TfrmCPCKInPut; implementation uses U_DataLink, U_RTFun, U_ClothContractListHZCX, U_ZDYHelp, U_ZdyAttachGYS, U_ProductOrderListSel, U_ProductOrderListSel1, U_ZdyAttachment; {$R *.dfm} function TfrmCPCKInPut.YSData(Order_Main10: TClientDataSet): Boolean; var CRID, YFID, PriceUnit, OrderUnit, FComTaiTou, FromSubID, khName: string; fprice, huilv: double; begin Result := False; fprice := 0; huilv := 0; PriceUnit := 'RMB'; khName := ''; with ADOQueryTemp do begin Close; SQL.Clear; sql.Add('update JYOrder_Sub SET Huilv=isnull((select Huilv from JYOrderCon_Sub X where X.SubId=JYOrder_Sub.SOrddefstr10),1) where Huilv=0'); execsql; end; with Order_Main10 do begin begin with ADOQueryTemp do begin Close; SQL.Clear; sql.Add('select A.*,fPrice=dbo.F_Get_Order_Price(A.MainID,A.subID),B.customerNoName'); sql.Add(' from JYOrder_Sub A '); sql.Add(' inner join JYOrder_main B on B.mainID=A.mainID '); sql.Add(' Where subID=''' + Trim(Order_Main10.fieldbyname('ORDSubIdRK').AsString) + ''''); Open; end; if not ADOQueryTemp.IsEmpty then begin PriceUnit := Trim(ADOQueryTemp.fieldbyname('PriceUnit').AsString); OrderUnit := Trim(ADOQueryTemp.fieldbyname('OrderUnit').AsString); fprice := ADOQueryTemp.fieldbyname('fPrice').AsFloat; huilv := ADOQueryTemp.fieldbyname('huilv').AsFloat; khName := ADOQueryTemp.fieldbyname('customerNoName').AsString; end; if huilv = 0 then huilv := 1; CRID := '0'; with ADOQueryTemp do begin Close; sql.Clear; sql.Add(' select * from YF_Money_CR '); sql.Add(' where mainID=''' + Trim(CDS_Sub.fieldbyname('SPID').AsString) + ''''); sql.Add(' and YFName=''客户退货'' '); Open; end; if ADOQueryTemp.IsEmpty then begin if GetLSNo(ADOQueryCmd, YFID, 'CS', 'YF_Money_CR', 3, 1) = False then begin Application.MessageBox('取成品应收最大号失败!', '提示', 0); Exit; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR where 1<>1'); Open; end; with ADOQueryCmd do begin Append; FieldByName('YFID').Value := Trim(YFID); FieldByName('YFTypeId').Value := Trim(Order_Main10.fieldbyname('SPID').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(khName); FieldByName('CRTime').Value := Trim(FormatDateTime('yyyy-MM-dd', CDS_Sub.fieldbyname('CRTime').AsDateTime)); FieldByName('YFType').Value := '自动生成'; FieldByName('ps').Value := -1 * Order_Main10.fieldbyname('PiQty').AsFloat; FieldByName('Qty').Value := -1 * Order_Main10.fieldbyname('Qty').AsFloat; FieldByName('Price').Value := fprice; FieldByName('HuiLv').Value := huilv; FieldByName('BZType').Value := Trim(PriceUnit); // FieldByName('Money').Value:=-1*format('%.2f',[Order_Main10.fieldbyname('Qty').AsFloat*fprice]); // FieldByName('BBMoney').Value:=-1*format('%.2f',[Order_Main10.fieldbyname('Qty').AsFloat*fprice*huilv]); FieldByName('QtyUnit').Value := Trim(Order_Main10.fieldbyname('QtyUnit').AsString); FieldByName('ComTaiTou').Value := Trim(khName); FieldByName('YFName').Value := '客户退货'; FieldByName('MainId').Value := Trim(Order_Main10.fieldbyname('SPID').AsString); FieldByName('subID').Value := ''; FieldByName('OrderNO').Value := Trim(Order_Main10.fieldbyname('OrderNO').AsString); FieldByName('P_CodeName').Value := Trim(Order_Main10.fieldbyname('SPName').AsString); FieldByName('P_Spec').Value := Trim(Order_Main10.fieldbyname('SPSpec').AsString); FieldByName('P_color').Value := Trim(Order_Main10.fieldbyname('SPColor').AsString); FieldByName('status').Value := '0'; Post; end; end else begin YFID := Trim(ADOQueryTemp.fieldbyname('YFID').AsString); end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update YF_Money_CR Set Money=Price*Qty,BBMoney=Price*Qty*HuiLv'); sql.Add(' where YFID=''' + Trim(YFID) + ''''); ExecSQL; end; //Next; end; end; Result := True; end; procedure TfrmCPCKInPut.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmCPCKInPut.TBAddClick(Sender: TObject); begin try frmProductOrderListSel1 := TfrmProductOrderListSel1.Create(Application); with frmProductOrderListSel1 do begin if ShowModal = 1 then begin Order_Main.DisableControls; order_main.First; while not Order_Main.Eof do begin if Order_Main.FieldByName('ssel').AsBoolean then begin with CDS_Sub do begin Append; FieldByName('CRTime').Value := Trim(FormatDateTime('yyyy-MM-dd', Now)); FieldByName('PBPrice').Value := '0'; FieldByName('otherprice').Value := '0'; FieldByName('yunprice').Value := '0'; FieldByName('ORDMainIdRK').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('MainId').AsString); FieldByName('ORDSubIdRK').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('SubId').AsString); FieldByName('OrderNo').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('OrderNo').AsString); FieldByName('SOrddefstr1').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('SOrddefstr1').AsString); FieldByName('PRTColor').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('PRTColor').AsString); FieldByName('PRTkuanNo').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('PRTkuanNo').AsString); FieldByName('PRTHX').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('PRTHX').AsString); FieldByName('SPName').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('MPRTCodeName').AsString); FieldByName('SPSpec').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('MPRTSpec').AsString); FieldByName('SPCF').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('MPRTCF').AsString); FieldByName('SPMF').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('MPRTMF').AsString); FieldByName('MPRTCode').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('MPRTCode').AsString); FieldByName('SPKZ').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('MPRTKZ').AsString); // FieldByName('FactoryName').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('ToFactoryName').AsString); Post; end; end; Order_Main.Next; end; Order_Main.EnableControls; end; Free; end; finally frmProductOrderListSel1.Free; end; // if CDS_Sub.IsEmpty=False then // begin // CopyAddRowCDS(CDS_Sub); // with CDS_Sub do // begin // Edit; // FieldByName('SPID').Value:=null; // FieldByName('PBPrice').Value:='0'; // FieldByName('otherprice').Value:='0'; // FieldByName('yunprice').Value:='0'; // post; // end; // end else // begin // with CDS_Sub do // begin // Append; // FieldByName('CRTime').Value:=Trim(FormatDateTime('yyyy-MM-dd',Now)); // FieldByName('PBPrice').Value:='0'; // FieldByName('otherprice').Value:='0'; // FieldByName('yunprice').Value:='0'; // Post; // end; // end; end; function TfrmCPCKInPut.SaveCKData(): Boolean; var FCRID, Maxno, FFSPID, OTMaxno, YFID, FFFSPID: string; fkeyNo, fid: string; FBP, FDP: Integer; begin try ADOQueryCmd.Connection.BeginTrans; CDS_Sub.DisableControls; with CDS_Sub do begin First; while not eof do begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from CK_SXPB_CR where SPID=''' + Trim(CDS_Sub.fieldbyname('SPID').AsString) + ''''); open; end; FFSPID := Trim(ADOQueryTemp.fieldbyname('SPID').AsString); if Trim(FFSPID) = '' then begin if GetLSNo(ADOQueryCmd, Maxno, 'CPR', 'CK_SXPB_CR', 3, 1) = False then begin Result := False; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取成品入库编号失败!', '提示', 0); Exit; end; end else begin Maxno := Trim(FFSPID); end; if Trim(FFSPID) = '' then begin // with ADOQueryCmd do // begin // Close; // sql.Clear; // sql.Add('select * from CK_SXPB_CR where QCOrderNo='''+Trim(CDS_Sub.fieldbyname('orderno').AsString)+''''); // SQL.Add('and PRTColor='''+Trim(CDS_Sub.fieldbyname('PRTColor').AsString)+''''); // sql.Add('and PRTHX='''+Trim(CDS_Sub.fieldbyname('PRTHX').AsString)+''''); // Open; // end; // if ADOQueryCmd.IsEmpty=False then // begin // if Application.MessageBox('已经登记过该订单颜色花型的数据,是否继续?','提示',32+4)<>IDYES then Exit; // end; // // with ADOQueryTemp do // begin // Close; // sql.Clear; // SQL.Add('select distinct A.QCOrderNo,TPZS=(select sum(piqty) from CK_SXPB_CR X where X.QCOrderNo=A.QCOrderNo) '); // sql.Add('from CK_SXPB_CR A where QCOrderNo='''+Trim(CDS_Sub.fieldbyname('orderno').AsString)+''' '); // SQL.Add('and CKName=''坯布'' and CRType=''加工出库'' '); // Open; // end; // if ADOQueryTemp.FieldByName('TPZS').AsStringIDYES then Exit; // end; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select * from CK_SXPB_CR where SPID=''' + Trim(Maxno) + ''''); Open; end; with ADOQueryCmd do begin if Trim(FFSPID) = '' then begin Append; end else begin Edit; end; FieldByName('SPID').Value := Trim(Maxno); FieldByName('FZSPID').Value := Trim(Maxno); FieldByName('CKName').Value := '成品'; FieldByName('FactoryNo').Value := Trim(CDS_Sub.fieldbyname('FactoryNo').AsString); FieldByName('FromFactoryNo').Value := Trim(CDS_Sub.fieldbyname('FromFactoryNo').AsString); FieldByName('ToFactoryNo').Value := Trim(CDS_Sub.fieldbyname('ToFactoryNo').AsString); FieldByName('ORDMainIdRK').Value := Trim(CDS_Sub.fieldbyname('ORDMainIdRK').AsString); FieldByName('ORDSubIdRK').Value := Trim(CDS_Sub.fieldbyname('ORDSubIdRK').AsString); FieldByName('MPRTCode').Value := Trim(CDS_Sub.fieldbyname('MPRTCode').AsString); FieldByName('CRFlag').Value := '入库'; FieldByName('CRQtyFlag').Value := 1; FieldByName('yuntype').Value := Trim(CDS_Sub.fieldbyname('yuntype').AsString); FieldByName('quality').Value := Trim(CDS_Sub.fieldbyname('quality').AsString); // if (trim(CDS_Sub.fieldbyname('CRType').AsString)='期初入库') then // begin FieldByName('SOrddefstr1').Value := Trim(CDS_Sub.fieldbyname('SOrddefstr1').AsString); FieldByName('PRTColor').Value := Trim(CDS_Sub.fieldbyname('PRTColor').AsString); FieldByName('PRTHX').Value := Trim(CDS_Sub.fieldbyname('PRTHX').AsString); FieldByName('prtkuanNo').Value := Trim(CDS_Sub.fieldbyname('prtkuanNo').AsString); //end; if Trim(CDS_Sub.fieldbyname('PBPrice').AsString) <> '' then begin fieldbyname('PBPrice').Value := Trim(CDS_Sub.fieldbyname('PBPrice').AsString); end else begin FieldByName('PBPrice').Value := '0'; end; if Trim(CDS_Sub.fieldbyname('yunprice').AsString) <> '' then begin FieldByName('yunprice').Value := Trim(CDS_Sub.fieldbyname('yunprice').AsString); end else begin FieldByName('yunprice').Value := '0'; end; if Trim(CDS_Sub.fieldbyname('otherprice').AsString) <> '' then begin FieldByName('otherprice').Value := Trim(CDS_Sub.fieldbyname('otherprice').AsString); end else begin FieldByName('otherprice').Value := '0'; end; RTSetSaveDataCDS(ADOQueryCmd, Tv1, CDS_Sub, 'CK_SXPB_CR', 2); if Trim(FFSPID) = '' then FieldByName('Filler').Value := Trim(DName) else begin FieldByName('Editer').Value := Trim(DName); FieldByName('EditTime').Value := SGetServerDate(ADOQueryTemp); end; if Trim(CDS_Sub.fieldbyname('OrderNo').AsString) <> '' then begin FieldByName('QCOrderNo').Value := Trim(CDS_Sub.fieldbyname('OrderNo').AsString); end; Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update CK_SXPB_CR Set MXKCQty=(select sum(isnull(Qty,0)*CRQtyFlag) from CK_SXPB_CR A where A.FZSPID=CK_SXPB_CR.SPID)'); sql.Add(',MXKCPiQty=(select sum(isnull(PiQty,0)*CRQtyFlag) from CK_SXPB_CR A where A.FZSPID=CK_SXPB_CR.SPID)'); sql.Add(' where SPID=''' + Trim(Maxno) + ''''); ExecSQL; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from CK_SXPB_CR where SPID=''' + Trim(Maxno) + ''''); Open; end; if ADOQueryTemp.FieldByName('MXKCQty').Value < 0 then begin CDS_Sub.DisableControls; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('入库数小于出库数不能保存!', '提示', 0); Exit; end; // if CDS_Sub.FieldByName('otherprice').Value <> '0' then // begin // with ADOQueryTemp do // begin // Close; // sql.Clear; // sql.Add('select * from YF_Money_CR where mainid=''' + Trim(FBCId) + ''' and YFName=''待检布其他费'' '); // open; // end; // FFFSPID := Trim(ADOQueryTemp.fieldbyname('YFID').AsString); // if Trim(FFFSPID) = '' then // begin // if GetLSNo(ADOQueryCmd, OTMaxno, 'OT', 'YF_Money_CR', 3, 1) = False then // begin // Result := False; // ADOQueryCmd.Connection.RollbackTrans; // Application.MessageBox('取待检布其他费编号失败!', '提示', 0); // Exit; // end; // end // else // begin // OTMaxno := Trim(FFFSPID); // end; // with ADOQueryCmd do // begin // Close; // sql.Clear; // sql.Add('select * from YF_Money_CR where YFID=''' + Trim(OTMaxno) + ''''); // Open; // end; // with ADOQueryCmd do // begin // if Trim(FFFSPID) = '' then // begin // Append; // end // else // begin // Edit; // end; // FieldByName('YFID').Value := Trim(OTMaxno); // FieldByName('YFTypeId').Value := Trim(Maxno); // FieldByName('Filler').Value := Trim(DName); // FieldByName('CRType').Value := '应付款登记'; // FieldByName('CRFlag').Value := '应付付'; // FieldByName('QtyFlag').Value := 1; // FieldByName('FactoryName').Value := Trim(CDS_Sub.fieldbyname('factoryName').AsString); // FieldByName('CRTime').Value := CDS_Sub.fieldbyname('CRTime').AsDateTime; // FieldByName('HuiLv').Value := 1; // FieldByName('BZType').Value := 'RMB'; // FieldByName('ComTaiTou').Value := ''; // FieldByName('QtyUnit').Value := Trim(CDS_Sub.fieldbyname('QtyUnit').AsString); // FieldByName('orderNo').Value := Trim(CDS_Sub.fieldbyname('OrderNo').AsString); // FieldByName('P_CodeName').Value := Trim(CDS_Sub.fieldbyname('SPName').AsString); // FieldByName('YFName').Value := '待检布其他费'; // FieldByName('Money').Value := Trim(CDS_Sub.fieldbyname('otherPrice').AsString); // fieldbyname('quality').Value := Trim(CDS_Sub.fieldbyname('quality').AsString); // fieldbyname('P_Code').Value := Trim(CDS_Sub.fieldbyname('MPRTCode').AsString); // FieldByName('MainId').Value := Trim(Maxno); // FieldByName('status').Value := '0'; // if Trim(FFFSPID) = '' then // begin // FieldByName('Filler').Value := Trim(DName); // FieldByName('filltime').Value := SGetServerDate(ADOQueryTemp); // end // else // begin // FieldByName('Editer').Value := Trim(DName); // FieldByName('EditTime').Value := SGetServerDate(ADOQueryTemp); // end; // Post; // end; // end // else // begin // with ADOQueryCmd do // begin // Close; // sql.Clear; // sql.Add('select * from YF_Money_CR where YFTypeID=''' + Trim(Maxno) + ''' and YFName=''待检布其他费'' '); // Open; // end; // if ADOQueryCmd.IsEmpty = False then // begin // with ADOQueryCmd do // begin // Close; // sql.Clear; // sql.Add('delete from YF_Money_CR where YFTypeID=''' + trim(Maxno) + ''' and YFName=''待检布其他费'' '); // ExecSQL; // end; // end; // end; // // if CDS_Sub.FieldByName('yunprice').Value <> '0' then // begin // if CDS_Sub.FieldByName('yuntype').Value = '' then // begin // Application.MessageBox('运费付款方式不能为空!', '提示'); // Exit; // end; // if Trim(fkeyNo) = '' then // begin // if GetLSNo(ADOQueryTmp, fkeyNo, 'YL', 'YF_Money_LL', 3, 1) = False then // begin // ADOQueryCmd.Connection.RollbackTrans; // Application.MessageBox('取流水号失败!', '提示'); // Exit; // end; // end; //// with ADOQueryCmd do //// begin //// Close; //// sql.Clear; //// SQL.Add('delete from YF_Money_LL where fromMainID='''+Trim(fkeyNo)+''' '); //// execsql; //// end; // with ADOQueryCmd do // begin // Close; // sql.Clear; // SQL.Add('select * from YF_Money_LL where fromMainID=''' + Trim(FFSPID) + ''' '); // Open; // if isempty then // begin // append; // fieldbyname('filler').Value := trim(Dname); // fieldbyname('filltime').Value := SGetServerDate10(ADOQueryTemp); // fieldbyname('crtime').Value := SGetServerDate10(ADOQueryTemp); // end // else // begin // edit; // fieldbyname('chker').Value := trim(Dname); // fieldbyname('chkTime').Value := SGetServerDate10(ADOQueryTemp); // end; // FieldByName('LLNO').Value := Trim(fkeyNo); // FieldByName('FactoryName').Value := Trim(CDS_Sub.fieldbyname('yuntype').AsString); // fieldbyname('OutMoney').Value := Trim(CDS_Sub.fieldbyname('yunPrice').AsString); // fieldbyname('frommainid').value := trim(Maxno); // FieldByName('orderno').Value := Trim(CDS_Sub.fieldbyname('OrderNo').AsString); // FieldByName('CRType').Value := '待检布运费'; // FieldByName('HuiLv').Value := '1'; // fieldbyname('status').Value := '0'; // Post; // end; // end // else // begin // with ADOQueryCmd do // begin // Close; // sql.Clear; // sql.Add('select * from YF_Money_LL where fromMainID=''' + Trim(Maxno) + ''' and CRType=''待检布运费'' '); // Open; // end; // if ADOQueryCmd.IsEmpty = False then // begin // with ADOQueryCmd do // begin // Close; // sql.Clear; // sql.Add('delete from YF_Money_LL where fromMainID=''' + Trim(Maxno) + ''' and CRType=''待检布运费'' '); // ExecSQL; // end; // end; // end; Edit; FieldByName('SPID').Value := Trim(Maxno); Post; FFSPID := ''; FFFSPID := ''; fkeyNo := ''; { if Trim(CDS_Sub.fieldbyname('CRType').AsString)='客户退货' then begin if not YSData(CDS_Sub) then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('保存异常!','提示',0); exit; end; end; } Next; end; end; CDS_Sub.EnableControls; ADOQueryCmd.Connection.CommitTrans; Result := True; except Result := False; CDS_Sub.EnableControls; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('保存异常!', '提示', 0); end; end; procedure TfrmCPCKInPut.TBCloseClick(Sender: TObject); begin WriteCxGrid('待检布入库登记', Tv1, '待检布仓库'); Close; end; procedure TfrmCPCKInPut.FormShow(Sender: TObject); var fsj: string; begin ReadCxGrid('待检布入库登记', Tv1, '待检布仓库'); with ADOQueryTemp do begin Close; sql.Clear; sql.Add(' select A.* '); sql.Add(',OrderNO=(select OrderNO from JYOrder_Main JM where JM.MainId=A.ORDMainIdRK)'); sql.Add(' ,SOrddefstr1=(select SOrddefstr1 from JYOrder_Sub JM where JM.SubId=A.OrdSubIdRK )'); sql.Add(' ,PRTColor=(select PRTColor from JYOrder_Sub JM where JM.SubId=A.OrdSubIdRK )'); sql.Add(' ,PRTHX=(select PRTHX from JYOrder_Sub JM where JM.SubId=A.OrdSubIdRK )'); sql.Add(' ,PRTkuanNo=(select PRTkuanNo from JYOrder_Sub JM where JM.SubId=A.OrdSubIdRK )'); sql.Add(' from CK_SXPB_CR A'); sql.Add(' where SPID=''' + Trim(FBCId) + ''''); Open; end; SCreateCDS20(ADOQueryTemp, CDS_Sub); SInitCDSData20(ADOQueryTemp, CDS_Sub); if CDS_Sub.IsEmpty then Exit; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from CK_SXPB_CR where FZSPID=''' + Trim(CDS_Sub.fieldbyname('SPID').AsString) + ''''); sql.Add(' and CRQtyFlag=-1'); Open; end; if ADOQueryTemp.IsEmpty = False then begin v1Column4.Options.Focusing := False; // v1Column15.Options.Focusing:=False; v1Column13.Options.Focusing := False; v1Column14.Options.Focusing := False; v2Column1.Options.Focusing := False; v1Column8.Options.Focusing := False; v1Column7.Options.Focusing := False; v1Column1.Options.Focusing := False; v1Column10.Options.Focusing := False; v1Column11.Options.Focusing := False; Exit; end else begin v1Column4.Options.Focusing := True; //v1Column15.Options.Focusing:=True; v1Column13.Options.Focusing := True; v1Column14.Options.Focusing := True; v2Column1.Options.Focusing := True; v1Column8.Options.Focusing := True; v1Column7.Options.Focusing := True; v1Column1.Options.Focusing := True; v1Column10.Options.Focusing := True; v1Column11.Options.Focusing := True; end; end; procedure TfrmCPCKInPut.TBDelClick(Sender: TObject); begin if CDS_Sub.IsEmpty then Exit; if Trim(CDS_Sub.fieldbyname('SPID').AsString) <> '' then begin if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from CK_SXPB_CR where FZSPID=''' + Trim(CDS_Sub.fieldbyname('SPID').AsString) + ''''); sql.Add(' and CRQtyFlag=-1'); Open; end; if ADOQueryTemp.IsEmpty = False then begin Application.MessageBox('已有出库记录,不能删除!', '提示', 0); Exit; end; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' delete CK_SXPB_CR where SPID=''' + Trim(CDS_Sub.fieldbyname('SPID').AsString) + ''''); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; CDS_Sub.Delete; except ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('删除异常!', '提示', 0); end; end else begin CDS_Sub.Delete; end; end; procedure TfrmCPCKInPut.TBSaveClick(Sender: TObject); begin if CDS_Sub.IsEmpty then Exit; if CDS_Sub.Locate('CRTime', null, []) = True then begin Application.MessageBox('入库时间不能为空!', '提示', 0); Exit; end; if CDS_Sub.Locate('CRType', null, []) = True then begin Application.MessageBox('入库类型不能为空!', '提示', 0); Exit; end; if CDS_Sub.Locate('SPName', null, []) = True then begin Application.MessageBox('品名不能为空!', '提示', 0); Exit; end; // if CDS_Sub.Locate('BPType', null, []) = True then // begin // Application.MessageBox('布匹类型不能为空!', '提示', 0); // Exit; // end; if (trim(CDS_Sub.fieldbyname('CRType').AsString) <> '期初入库') and (trim(CDS_Sub.fieldbyname('CRType').AsString) <> '打样完成') then begin if CDS_Sub.Locate('OrderNo', null, []) = True then begin Application.MessageBox('订单号不能为空!', '提示', 0); Exit; end; end; // if CDS_Sub.Locate('ToFactoryName',null,[])=True then // begin // Application.MessageBox('存放工厂不能为空!','提示',0); // Exit; // end; // if CDS_Sub.FieldByName('ToFactoryName').value = null then // begin // Application.MessageBox('存放工厂不能为空!', '提示', 0); // Exit; // end; // if trim(CDS_Sub.fieldbyname('CRType').AsString) <> '客户退货' then // begin // if CDS_Sub.FieldByName('FactoryName').Value = '' then // begin // Application.MessageBox('加工厂不能为空!', '提示', 0); // Exit; // end; // end; // if trim(CDS_Sub.fieldbyname('CRType').AsString)<>'客户退货' then // begin // if CDS_Sub.Locate('FactoryName',null,[])=True then // begin // Application.MessageBox('加工厂不能为空!','提示',0); // Exit; // end; // end; if CDS_Sub.Locate('PiQty', null, []) = True then begin Application.MessageBox('匹数不能为空!', '提示', 0); Exit; end; if CDS_Sub.Locate('Qty', null, []) = True then begin Application.MessageBox('数量不能为空!', '提示', 0); Exit; end; if CDS_Sub.Locate('QtyUnit', null, []) = True then begin Application.MessageBox('数量单位不能为空!', '提示', 0); Exit; end; // if CDS_Sub.Locate('quality', null, []) = True then // begin // Application.MessageBox('品质情况不能为空!', '提示', 0); // Exit; // end; CDS_Sub.First; while not CDS_Sub.Eof do begin // if CDS_Sub.FieldByName('yunprice').value <> '0' then // begin // if CDS_Sub.FieldByName('yuntype').value = null then // begin // Application.MessageBox('运费付款方式不能为空!', '提示'); // Exit; // end; // end; // // with ADOQueryCmd do // begin // Close; // sql.Clear; // sql.Add('select * from CK_SXPB_CR where QCOrderNo=''' + Trim(CDS_Sub.fieldbyname('orderno').AsString) + ''''); // SQL.Add('and PRTColor=''' + Trim(CDS_Sub.fieldbyname('PRTColor').AsString) + ''''); // sql.Add('and PRTHX=''' + Trim(CDS_Sub.fieldbyname('PRTHX').AsString) + ''''); // Open; // end; // if ADOQueryCmd.IsEmpty = False then // begin // if Application.MessageBox('已经登记过该订单颜色花型的数据,是否继续?', '提示', 32 + 4) <> IDYES then // Exit; // end; // // with ADOQueryTemp do // begin // Close; // sql.Clear; // SQL.Add('select distinct A.QCOrderNo,TPZS=(select sum(qty) from CK_SXPB_CR X where X.QCOrderNo=A.QCOrderNo and X.CKName=''坯布'' and X.CRType=''加工出库'') '); // sql.Add('from CK_SXPB_CR A where QCOrderNo=''' + Trim(CDS_Sub.fieldbyname('orderno').AsString) + ''' '); // SQL.Add('and CKName=''坯布'' and CRType=''加工出库'' '); // Open; // end; // if ADOQueryTemp.FieldByName('TPZS').AsFloat < StrToFloat(CDS_Sub.FieldByName('QTY').Value) then // begin // if Application.MessageBox('回仓数量已大于投坯数量,是否继续?', '提示', 32 + 4) <> IDYES then // Exit; // end; CDS_Sub.Next; end; // if CDS_Sub.Locate('CRType;FromFactoryName', VarArrayOf(['生产退回', Null]), [loPartialKey]) = True then // begin // Application.MessageBox('生产退回的数据,来自工厂不能为空!', '提示', 0); // Exit; // end; if SaveCKData() then begin Application.MessageBox('保存成功!', '提示', 0); //ModalResult:=1; Exit; end; end; procedure TfrmCPCKInPut.v1Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'SXKuWei'; flagname := '库位'; if ShowModal = 1 then begin with Self.CDS_Sub do begin Edit; FieldByName('KuWei').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmCPCKInPut.v1Column14PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin if self.CDS_Sub.fieldbyname('crtype').Value = '客户退货' then begin try frmZdyAttachment := TfrmZdyAttachment.Create(Application); with frmZdyAttachment do begin if ShowModal = 1 then begin with Self.CDS_Sub do begin edit; FieldByName('FactoryNo').Value := Trim(frmZdyAttachment.CDS_HZ.fieldbyname('ZdyCode').AsString); FieldByName('FactoryName').Value := Trim(frmZdyAttachment.CDS_HZ.fieldbyname('ZdyName').AsString); end; end; end; finally frmZdyAttachment.Free; end; end else begin try frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application); with frmZdyAttachGYS do begin FGYSType := '1'; 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); 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; end; procedure TfrmCPCKInPut.v2Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'WJGName'; 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; procedure TfrmCPCKInPut.v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'KuWei'; flagname := '库位'; if ShowModal = 1 then begin with Self.CDS_Sub do begin Edit; FieldByName('KuWei').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmCPCKInPut.v1Column11PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application); with frmZdyAttachGYS do begin FGYSType := '1'; if ShowModal = 1 then begin with Self.CDS_Sub do begin edit; FieldByName('ToFactoryNo').Value := Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('ZdyCode').AsString); FieldByName('ToFactoryName').Value := Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('ZdyName').AsString); //Post; end; end; end; finally frmZdyAttachGYS.Free; end; end; procedure TfrmCPCKInPut.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 TfrmCPCKInPut.v1Column13PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmProductOrderListSel1 := TfrmProductOrderListSel1.Create(Application); with frmProductOrderListSel1 do begin if ShowModal = 1 then begin with Self.CDS_Sub do begin Edit; FieldByName('ORDMainIdRK').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('MainId').AsString); FieldByName('ORDSubIdRK').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('SubId').AsString); FieldByName('OrderNo').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('OrderNo').AsString); FieldByName('SOrddefstr1').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('SOrddefstr1').AsString); FieldByName('PRTColor').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('PRTColor').AsString); FieldByName('PRTkuanNo').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('PRTkuanNo').AsString); FieldByName('PRTHX').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('PRTHX').AsString); FieldByName('SPName').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('MPRTCodeName').AsString); FieldByName('SPSpec').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('MPRTSpec').AsString); FieldByName('SPCF').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('MPRTCF').AsString); FieldByName('SPMF').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('MPRTMF').AsString); FieldByName('MPRTCode').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('MPRTCode').AsString); FieldByName('SPKZ').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('MPRTKZ').AsString); // FieldByName('FactoryName').Value := Trim(frmProductOrderListSel1.Order_Main.fieldbyname('ToFactoryName').AsString); end; end; end; finally frmProductOrderListSel1.Free; end; end; procedure TfrmCPCKInPut.v1Column18PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'KuWei'; flagname := '库位'; if ShowModal = 1 then begin with Self.CDS_Sub do begin Edit; FieldByName('KuWei').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmCPCKInPut.Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if (trim(CDS_Sub.fieldbyname('CRType').AsString) = '期初入库') then begin v1Column5.Options.Editing := True; v1Column15.Options.Editing := True; v1Column17.Options.Editing := True; v1Column20.Options.Editing := True; end else begin v1Column5.Options.Editing := False; v1Column15.Options.Editing := False; v1Column17.Options.Editing := False; v1Column20.Options.Editing := False; end; end; procedure TfrmCPCKInPut.v1Column26PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(self); with frmZDYHelp do begin flag := 'XJLLFLAG'; flagname := '账户类型定义'; if showmodal = 1 then begin with Self.CDS_Sub do begin Edit; FieldByName('yuntype').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; // initGrid(); finally frmZDYHelp.Free; end; end; procedure TfrmCPCKInPut.ToolButton1Click(Sender: TObject); begin if CDS_Sub.IsEmpty then Exit; OneKeyPost(Tv1, CDS_Sub); end; procedure TfrmCPCKInPut.v2Column6PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; FQty, FPiQty, FDJZGQty, FZGQty, JZQty: Double; FUnit: string; begin with CDS_Sub do begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); end; with cds_sub do begin Edit; FieldByName(FFieldName).Value := StrToFloatdef(Trim(mvalue), 0); Post; FQty := StrToFloatdef(FieldByName('Qty').AsString, 0); FPiQty := StrToFloatdef(FieldByName('PiQty').AsString, 0); FDJZGQty := StrToFloatdef(FieldByName('DJZGQty').AsString, 0); FZGQty := StrToFloatdef(FieldByName('ZGQty').AsString, 0); if FZGQty = 0 then FZGQty := FDJZGQty * FPiQty; FUnit := FieldByName('QtyUnit').AsString; end; if FUnit = 'Kg' then begin JZQty := FQty - FZGQty; with CDS_Sub do begin Edit; FieldByName('ZGQty').Value := FZGQty; FieldByName('JZQty').Value := JZQty; Post; end; end; tv1.Controller.EditingController.ShowEdit(); end; end.