unit U_CKProductBCPInList; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView, cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient, cxDropDownEdit, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, Menus, cxCalendar, MovePanel; type TfrmCKProductBCPInList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBExport: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryMain: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; Label3: TLabel; Label4: TLabel; MPRTCodeName: TEdit; Label1: TLabel; Label2: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; CDS_Main: TClientDataSet; Label5: TLabel; orderNo: TEdit; Label6: TLabel; MJID: TEdit; Label8: TLabel; MPRTKZ: TEdit; Label9: TLabel; MPRTMF: TEdit; Label7: TLabel; CPType: TComboBox; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1Column1: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v2Column3: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1CRTime: TcxGridDBColumn; v2Column5: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column10: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; Label10: TLabel; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; RMDBHZ: TRMDBDataSet; CDS_HZ: TClientDataSet; CDS_PRT: TClientDataSet; TBRKCX: TToolButton; v1Column4: TcxGridDBColumn; v1Column11: TcxGridDBColumn; PRTColor: TComboBox; v1Column12: TcxGridDBColumn; v1RKOrdID: TcxGridDBColumn; v1Column14: TcxGridDBColumn; AOrdDefStr1: TComboBox; v1Column16: TcxGridDBColumn; TBBao: TToolButton; RM2: TRMGridReport; RMDBMain10: TRMDBDataSet; ClientDataSet1: TClientDataSet; RM3: TRMGridReport; RMDBMX: TRMDBDataSet; CDS_BaoNo: TClientDataSet; CDS_Juan: TClientDataSet; CDS_JuanPRT: TClientDataSet; CDS_CX: TClientDataSet; CDS_BaoPRT: TClientDataSet; CDS_WXPTPrint: TClientDataSet; CDS_WXPT: TClientDataSet; RMDBWXPTPrint: TRMDBDataSet; MJXHM: TEdit; Label11: TLabel; Label12: TLabel; RKOrdID: TEdit; Panel4: TPanel; Label13: TLabel; Panel10: TPanel; Image2: TImage; RichEdit1: TRichEdit; v1Column17: TcxGridDBColumn; v1PRTColorEng: TcxGridDBColumn; v1Column19: TcxGridDBColumn; v1Column20: TcxGridDBColumn; Label14: TLabel; KHConNo: TEdit; Label15: TLabel; APID: TEdit; Label16: TLabel; v1Column21: TcxGridDBColumn; v1Column22: TcxGridDBColumn; v1styleno: TcxGridDBColumn; Label17: TLabel; styleno: TEdit; Label18: TLabel; CRNote: TEdit; Label19: TLabel; ISbao: TComboBox; RMDBPRT: TRMDBDataSet; PRTHX: TEdit; Label20: TLabel; Label21: TLabel; PRTColorEng: TEdit; ConNO: TEdit; v1Column23: TcxGridDBColumn; v1CRNote: TcxGridDBColumn; v1filltime: TcxGridDBColumn; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; ToolButton1: TToolButton; MovePanel2: TMovePanel; CheckBox1: TCheckBox; ToolButton2: TToolButton; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ConNoMChange(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure MPRTCodeNameChange(Sender: TObject); procedure orderNoChange(Sender: TObject); procedure orderNoKeyPress(Sender: TObject; var Key: Char); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure TBRKCXClick(Sender: TObject); procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure PRTColorChange(Sender: TObject); procedure AOrdDefStr1Change(Sender: TObject); procedure TBBaoClick(Sender: TObject); procedure Image2Click(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure ISbaoChange(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure ConNOKeyPress(Sender: TObject; var Key: Char); procedure ToolButton2Click(Sender: TObject); private procedure InitGrid(); procedure GetBaleData(); procedure GetBaoData(); procedure GetJuanData(); procedure GetLotData(); procedure Print_WXPT(); function YSData(Order_Main10:TClientDataSet):Boolean; function YFData(Order_Main10:TClientDataSet):Boolean; { Private declarations } public FLeft,FTop:Integer; { Public declarations } end; var frmCKProductBCPInList: TfrmCKProductBCPInList; implementation uses U_DataLink,U_Fun,U_JYOrderCDOne_LR; {$R *.dfm} function TfrmCKProductBCPInList.YFData(Order_Main10:TClientDataSet):Boolean; var CRID,OrdMainId,YFID,FComTaiTou,FCRID,FFactoryName,OrderUnit,PriceUnit:String; begin Result:=False; with ADOQueryTemp do begin Close; SQL.Clear; sql.Add('select Top 1 * from JYOrder_Sub Where Subid='''+Trim(Order_Main10.fieldbyname('Subid').AsString)+''''); Open; end; PriceUnit:=Trim(ADOQueryTemp.fieldbyname('PriceUnit').AsString); OrderUnit:=Trim(ADOQueryTemp.fieldbyname('OrderUnit').AsString); with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select ComTaiTou from JYOrder_Main where Mainid='''+Trim(Order_Main10.fieldbyname('MainId').AsString)+''''); Open; end; FComTaiTou:=Trim(ADOQueryTemp.fieldbyname('ComTaiTou').AsString); with ADOQueryTemp do begin Close; SQL.Clear; sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(Order_Main10.fieldbyname('KHName').AsString)+''''); Open; end; if ADOQueryTemp.IsEmpty=False then begin CRID:=ADOQueryTemp.fieldbyname('CRID').AsString; end else begin with ADOQueryMain 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:=ADOQueryMain.fieldbyname('CRID').AsString; with ADOQueryMain do begin Close; SQL.Clear; sql.Add('select * from YF_Money_KC where 1=2'); Open; end; with ADOQueryMain do begin Append; FieldByName('CRID').Value:=StrToInt(CRID); FieldByName('FactoryName').Value:=Trim(Order_Main10.fieldbyname('KHName').AsString); FieldByName('ZdyStr1').Value:='应付付'; Post; end; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR where FactoryName='''+Trim(Order_Main10.fieldbyname('KHName').AsString)+''''); sql.Add(' and YFTypeId='''+Trim(Order_Main10.fieldbyname('Subid').AsString)+''''); sql.add(' and CRFlag=''应付付'''); Open; end; if ADOQueryTemp.IsEmpty then begin if GetLSNo(ADOQueryMain,YFID,'CP','YF_Money_CR',3,1)=False then begin Application.MessageBox('取成品应付最大号失败!','提示',0); Exit; end; with ADOQueryMain do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR where 1=2'); Open; end; with ADOQueryMain do begin Append; FieldByName('YFID').Value:=Trim(YFID); FieldByName('YFTypeId').Value:=Trim(Order_Main10.fieldbyname('Subid').AsString); FieldByName('CRID').Value:=StrToInt(CRID); FieldByName('Filler').Value:=Trim(DName); FieldByName('status').Value:='0'; FieldByName('CRType').Value:='应付款登记'; FieldByName('CRFlag').Value:='应付付'; FieldByName('QtyFlag').Value:=1; FieldByName('FactoryName').Value:=Trim(Order_Main10.fieldbyname('KHName').AsString); //fieldbyname('CRTime').Value:=Trim(FormatDateTime('yyyy-MM-dd',CRTime.Date)); FieldByName('YFType').Value:='自动生成'; //fieldbyname('OrderNO').Value:=Trim(Order_Main10.fieldbyname('OrderNo').AsString); //fieldbyname('PBNote').Value:=trim(CRNote.Text); //FieldByName('Price').Value:=Order_Main10.fieldbyname('PRTPrice').Value; //FieldByName('HuiLv').Value:=1; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select Top 1 HuiLv from YF_Money_CR '); sql.Add(' where Mainid='''+Trim(Order_Main10.fieldbyname('Mainid').AsString)+''''); sql.Add(' and CRType=''付款登记'' '); SQL.Add(' and YFDefFlag1=0'); Open; end; if ADOQueryTemp.IsEmpty=False then begin ADOQueryMain.FieldByName('HuiLv').Value:=ADOQueryTemp.fieldbyname('HuiLv').Value; end; FieldByName('BZType').Value:='¥'; fieldbyname('QtyUnit').Value:=Trim(Order_Main10.fieldbyname('QtyUnit').AsString); FieldByName('ComTaiTou').Value:=Trim(FComTaiTou); FieldByName('YFName').Value:='成品回修金额'; FieldByName('MainId').Value:=Trim(Order_Main10.fieldbyname('Mainid').AsString); Post; end; end else begin YFID:=Trim(ADOQueryTemp.fieldbyname('YFID').AsString); end; with ADOQueryMain do begin Close; sql.Clear; sql.Add('update YF_Money_CR Set Qty=(select isnull(Sum(A.KgQty),0) from CK_BanCP_CR A '); sql.Add(' inner join JYOrder_Sub B on A.SubId=B.SubId where'); SQL.Add(' A.Subid=YF_Money_CR.YFTypeId and A.CRType=''回修入库'' and CPType=''正品'' '); sql.add(' and A.CRTime=YF_Money_CR.CRTime'); SQL.Add(' )'); sql.Add(',PS=(select isnull(count(*),0) from CK_BanCP_CR A '); sql.Add(' inner join JYOrder_Sub B on A.SubId=B.SubId where'); SQL.Add(' A.Subid=YF_Money_CR.YFTypeId and A.CRType=''回修入库'' and CPType=''正品'''); sql.add(' and A.CRTime=YF_Money_CR.CRTime'); sql.add(') '); sql.Add(',JZQty=(select isnull(Sum(A.MJQty4),0) from CK_BanCP_CR A '); sql.Add(' where A.Subid=YF_Money_CR.YFTypeId and A.CRType=''回修入库'' and CPType=''正品'' '); sql.add(' and A.CRTime=YF_Money_CR.CRTime'); SQL.Add(' )'); sql.Add(',MaoQty=(select isnull(Sum(A.KgQty),0) from CK_BanCP_CR A '); sql.Add(' inner join JYOrder_Sub B on A.SubId=B.SubId where'); SQL.Add(' A.Subid=YF_Money_CR.YFTypeId and A.CRType=''回修入库'' and CPType=''正品'' '); sql.add(' and A.CRTime=YF_Money_CR.CRTime'); SQL.Add(' )'); sql.Add(' where YFTypeId='''+Trim(Order_Main10.fieldbyname('Subid').AsString)+''''); sql.add(' and CRType=''应付款登记'''); ExecSQL; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR where YFId='''+Trim(YFID)+''''); Open; end; if ADOQueryTemp.FieldByName('Qty').Value=0 then begin with ADOQueryMain do begin Close; sql.Clear; sql.Add('delete from YF_Money_CR where YFID='''+Trim(YFID)+''''); ExecSQL; end; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR where CRId='+CRID); Open; end; if ADOQueryTemp.IsEmpty then begin with ADOQueryMain do begin Close; sql.Clear; sql.Add('delete from YF_Money_KC where CRId='+CRID); ExecSQL; end; end; Result:=True; end; procedure TfrmCKProductBCPInList.FormDestroy(Sender: TObject); begin frmCKProductBCPInList:=nil; end; procedure TfrmCKProductBCPInList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmCKProductBCPInList.FormCreate(Sender: TObject); begin //cxGrid1.Align:=alClient; BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-1; EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); end; procedure TfrmCKProductBCPInList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; SQL.Add('select B.OrderNo,B.MPRTCodeName,C.PRTColor,B.MPRTSpec,C.prtkuanNo,C.PRTColorNO SOrddefstr1,C.PRTColorEng,B.MPRTMF,B.MPRTKZ,A.MJXH,C.PRTHX'); sql.Add(',G.customerNoName KHName,G.conNO,G.KHConNO,F.styleno,F.OrderUnit,A.*'); sql.add(' from CK_BanCP_CR A '); Sql.add(' left join JYOrder_Main B on A.MainId=B.MainId'); Sql.add(' left join JYOrder_Sub C on A.SubId=C.SubId'); sql.add(' left join JYOrderCon_Sub F on A.ConID=F.Subid '); sql.add(' left join JYOrderCon_Main G on G.Mainid=F.Mainid'); sql.add(' where A.CRTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+''''); sql.Add(' and A.CRTime<'''+Trim(FormatDateTime('yyyy-MM-dd',enddate.DateTime+1))+''''); SQL.Add(' and A.CRFlag=''入库'' '); Open; end; SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); finally; ADOQueryMain.EnableControls; end; end; procedure TfrmCKProductBCPInList.TBRafreshClick(Sender: TObject); begin ToolBar1.SetFocus; InitGrid(); end; procedure TfrmCKProductBCPInList.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); end; end; procedure TfrmCKProductBCPInList.TBCloseClick(Sender: TObject); begin WriteCxGrid('半成品仓库入库',Tv1,'半成品仓库'); Close; end; procedure TfrmCKProductBCPInList.FormShow(Sender: TObject); begin ReadCxGrid('半成品仓库入库',Tv1,'半成品仓库'); if Trim(DParameters2)='管理' then begin TBRKCX.Visible:=True; ToolButton1.Visible:=true; v1Column4.Visible:=true; ToolButton2.Visible:=true; end else begin TBRKCX.Visible:=false; ToolButton1.Visible:=false; v1Column4.Visible:=false; ToolButton2.Visible:=false; end; //InitGrid(); end; procedure TfrmCKProductBCPInList.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; TcxGridToExcel('入库列表',cxGrid2); end; procedure TfrmCKProductBCPInList.TBFindClick(Sender: TObject); var fsj,fwhere:String; begin if ADOQueryMain.Active=False then Exit; fwhere:=SGetFilters(Panel1,1,2); fsj:=''; if trim(ISbao.Text)='已打包' then begin fsj:=fsj+' baoNo>''0'' '; end else if trim(ISbao.Text)='未打包' then begin fsj:=fsj+' baoNo='''' '; end; IF trim(fsj)<>'' then begin IF fwhere='' then fwhere:=fsj else fwhere:=fwhere+' and '+fsj; end; SDofilter(ADOQueryMain,fwhere); SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); end; procedure TfrmCKProductBCPinList.Print_WXPT(); var j,z:Integer; FGangNo,FHZ:String; begin with ADOQueryCmd do begin Close; sql.Clear; sql.add('exec P_Print_CKMD1 '); sql.add('@mainID='+quotedstr(Trim(CDS_Main.FieldByName('RKOrdID').AsString))); sql.add(',@DName='+quotedstr(Trim(DCode))); Open; end; SCreateCDS20(ADOQueryCmd,CDS_WXPT); SInitCDSData20(ADOQueryCmd,CDS_WXPT); with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select MainId=Cast('''' as varchar(20)),SubId=Cast('''' as varchar(20)),PONO=Cast('''' as varchar(20)),InvNo=Cast('''' as varchar(20)),'); sql.Add(' PRTColor=Cast('''' as varchar(20)),GangNo=Cast('''' as varchar(20)),BaoNo=Cast('''' as varchar(20)),MZQty=Cast(0 as decimal(18,2)),'); sql.Add(' RollNo0=Cast('''' as varchar(20)),RollNo1=Cast('''' as varchar(20)),RollNo2=Cast('''' as varchar(20)),ITEM=Cast('''' as varchar(20)),'); sql.Add(' LenQty0=Cast(0 as decimal(18,2)),LenQty1=Cast(0 as decimal(18,2)),LenQty2=Cast(0 as decimal(18,2)),'); sql.Add(' KGQty0=Cast(0 as decimal(18,2)),KGQty1=Cast(0 as decimal(18,2)),KGQty2=Cast(0 as decimal(18,2)),'); sql.Add(' MKGQty0=Cast(0 as decimal(18,2)),MKGQty1=Cast(0 as decimal(18,2)),MKGQty2=Cast(0 as decimal(18,2)),'); sql.Add(' ZS0=Cast(0 as decimal(18,2)),Zs1=Cast(0 as decimal(18,2)),Zs2=Cast(0 as decimal(18,2)),'); sql.add(' CRTime=cast(null as datetime),JQty=Cast(0 as decimal(18,2)),XH=Cast(0 as int),SumlenQty=Cast(0 as decimal(18,2)),SumRoll=Cast(0 as decimal(18,2)),'); sql.Add(' SumRollGanNo=Cast(0 as decimal(18,2)),SumRollColor=Cast(0 as decimal(18,2)),SumZJ=Cast(0 as decimal(18,2)),'); sql.add(' QtyUnit=cast('''' as varchar(20))'); Open; end; SCreateCDS20(ADOQueryCmd,CDS_WXPTPrint); SInitCDSData20(ADOQueryCmd,CDS_WXPTPrint); if CDS_WXPTPrint.IsEmpty=False then begin CDS_WXPTPrint.Delete; end; j:=0;z:=0;FGangNo:=''; CDS_WXPT.DisableControls; CDS_WXPTPrint.DisableControls; with CDS_WXPT do begin First; while not Eof do begin with CDS_WXPTPrint do begin if CDS_WXPTPrint.IsEmpty then begin CDS_WXPTPrint.Append; CDS_WXPTPrint.FieldByName('MZQty').Value:=CDS_WXPT.fieldbyname('KGQty').Value; CDS_WXPTPrint.FieldByName('INVNO').Value:=CDS_WXPT.fieldbyname('orderno').Value; CDS_WXPTPrint.FieldByName('GangNo').Value:=CDS_WXPT.fieldbyname('GangNo').Value; CDS_WXPTPrint.FieldByName('BaoNo').Value:=CDS_WXPT.fieldbyname('BaoNo').Value; CDS_WXPTPrint.FieldByName('PONO').Value:=CDS_WXPT.fieldbyname('PONO').Value; CDS_WXPTPrint.FieldByName('QtyUnit').Value:=trim(CDS_WXPT.fieldbyname('QtyUnit').Asstring); CDS_WXPTPrint.FieldByName('CRTime').Value:=CDS_WXPT.fieldbyname('CRTime').asdatetime; CDS_WXPTPrint.FieldByName('PRTColor').Value:=CDS_WXPT.fieldbyname('PRTColor').Value; CDS_WXPTPrint.FieldByName('XH').Value:=0; CDS_WXPTPrint.FieldByName('LenQty0').Value:=CDS_WXPT.fieldbyname('qty').AsFloat; CDS_WXPTPrint.FieldByName('Zs0').Value:=CDS_WXPT.fieldbyname('MjQty2').AsFloat; CDS_WXPTPrint.FieldByName('RollNo0').Value:=CDS_WXPT.fieldbyname('RollNo').Value; CDS_WXPTPrint.FieldByName('MKGQty0').Value:=CDS_WXPT.fieldbyname('KGQty').AsFloat; CDS_WXPTPrint.FieldByName('KGQty0').Value:=CDS_WXPT.fieldbyname('MJqty4').AsFloat; CDS_WXPTPrint.FieldByName('Sumlenqty').Value:=CDS_WXPT.fieldbyname('Sumlenqty').AsFloat; CDS_WXPTPrint.FieldByName('sumroll').Value:=CDS_WXPT.fieldbyname('sumroll').AsFloat; CDS_WXPTPrint.FieldByName('SumRollGanNo').Value:=CDS_WXPT.fieldbyname('SumRollGanNo').AsFloat; CDS_WXPTPrint.FieldByName('SumRollColor').Value:=CDS_WXPT.fieldbyname('SumRollColor').AsFloat; CDS_WXPTPrint.FieldByName('SumZJ').Value:=CDS_WXPT.fieldbyname('SumZJ').AsFloat; CDS_WXPTPrint.FieldByName('SubId').Value:=CDS_WXPT.fieldbyname('SubId').Value; CDS_WXPTPrint.FieldByName('MainId').Value:=CDS_WXPT.fieldbyname('MainId').Value; CDS_WXPTPrint.Post; FHZ:=Trim(CDS_WXPT.fieldbyname('PRTColor').AsString)+Trim(CDS_WXPT.fieldbyname('Baono').AsString)+Trim(CDS_WXPT.fieldbyname('GangNo').AsString); Z:=0; j:=0; end else begin if (Trim(CDS_WXPT.fieldbyname('PRTColor').AsString)+Trim(CDS_WXPT.fieldbyname('Baono').AsString)+Trim(CDS_WXPT.fieldbyname('GangNo').AsString))<>FHZ then begin CDS_WXPTPrint.Append; CDS_WXPTPrint.FieldByName('MZQty').Value:=trim(CDS_WXPT.fieldbyname('KGQty').Asstring); CDS_WXPTPrint.FieldByName('INVNO').Value:=trim(CDS_WXPT.fieldbyname('orderno').Asstring); CDS_WXPTPrint.FieldByName('GangNo').Value:=trim(CDS_WXPT.fieldbyname('GangNo').Asstring); CDS_WXPTPrint.FieldByName('BaoNo').Value:=Trim(CDS_WXPT.fieldbyname('BaoNo').Asstring); CDS_WXPTPrint.FieldByName('PONO').Value:=trim(CDS_WXPT.fieldbyname('PONO').Asstring); CDS_WXPTPrint.FieldByName('QtyUnit').Value:=Trim(CDS_WXPT.fieldbyname('QtyUnit').Asstring); CDS_WXPTPrint.FieldByName('CRTime').Value:=CDS_WXPT.fieldbyname('CRTime').asdatetime; CDS_WXPTPrint.FieldByName('PRTColor').Value:=trim(CDS_WXPT.fieldbyname('PRTColor').Asstring); CDS_WXPTPrint.FieldByName('XH').Value:=J+1; CDS_WXPTPrint.FieldByName('LenQty0').Value:=CDS_WXPT.fieldbyname('qty').AsFloat; CDS_WXPTPrint.FieldByName('Zs0').Value:=CDS_WXPT.fieldbyname('MjQty2').AsFloat; CDS_WXPTPrint.FieldByName('RollNo0').Value:=trim(CDS_WXPT.fieldbyname('RollNo').Asstring); CDS_WXPTPrint.FieldByName('MKGQty0').Value:=CDS_WXPT.fieldbyname('KGQty').AsFloat; CDS_WXPTPrint.FieldByName('KGQty0').Value:=CDS_WXPT.fieldbyname('MJqty4').AsFloat; CDS_WXPTPrint.FieldByName('Sumlenqty').Value:=CDS_WXPT.fieldbyname('Sumlenqty').AsFloat; CDS_WXPTPrint.FieldByName('sumroll').Value:=CDS_WXPT.fieldbyname('sumroll').AsFloat; CDS_WXPTPrint.FieldByName('SumRollGanNo').Value:=CDS_WXPT.fieldbyname('SumRollGanNo').AsFloat; CDS_WXPTPrint.FieldByName('SumRollColor').Value:=CDS_WXPT.fieldbyname('SumRollColor').AsFloat; CDS_WXPTPrint.FieldByName('SumZJ').Value:=CDS_WXPT.fieldbyname('SumZJ').AsFloat; CDS_WXPTPrint.FieldByName('SubId').Value:=CDS_WXPT.fieldbyname('SubId').Asstring; CDS_WXPTPrint.FieldByName('MainId').Value:=CDS_WXPT.fieldbyname('MainId').Asstring; CDS_WXPTPrint.Post; Z:=0; j:=j+1; FHZ:=Trim(CDS_WXPT.fieldbyname('PRTColor').AsString)+Trim(CDS_WXPT.fieldbyname('Baono').AsString)+Trim(CDS_WXPT.fieldbyname('GangNo').AsString); end else begin if Z<3 then begin CDS_WXPTPrint.Locate('XH',j,[]); with CDS_WXPTPrint do begin Edit; FieldByName('MZQty').Value:=CDS_WXPT.fieldbyname('KGQty').Value; FieldByName('INVNO').Value:=CDS_WXPT.fieldbyname('orderno').Value; FieldByName('GangNo').Value:=CDS_WXPT.fieldbyname('GangNo').Value; CDS_WXPTPrint.FieldByName('PONO').Value:=CDS_WXPT.fieldbyname('PONO').Value; CDS_WXPTPrint.FieldByName('QtyUnit').Value:=trim(CDS_WXPT.fieldbyname('QtyUnit').Asstring); CDS_WXPTPrint.FieldByName('CRTime').Value:=CDS_WXPT.fieldbyname('CRTime').asdatetime; FieldByName('BaoNO').Value:=CDS_WXPT.fieldbyname('BaoNO').Value; CDS_WXPTPrint.FieldByName('PRTColor').Value:=CDS_WXPT.fieldbyname('PRTColor').Value; FieldByName('LenQty'+Trim(IntToStr(Z))).Value:=CDS_WXPT.fieldbyname('qty').AsFloat; FieldByName('Zs'+Trim(IntToStr(Z))).Value:=CDS_WXPT.fieldbyname('MJQty2').AsFloat; CDS_WXPTPrint.FieldByName('RollNo'+Trim(IntToStr(Z))).Value:=CDS_WXPT.fieldbyname('RollNo').Value; CDS_WXPTPrint.FieldByName('MKGQty'+Trim(IntToStr(Z))).Value:=CDS_WXPT.fieldbyname('KGQty').AsFloat; CDS_WXPTPrint.FieldByName('KGQty'+Trim(IntToStr(Z))).Value:=CDS_WXPT.fieldbyname('MJqty4').AsFloat; CDS_WXPTPrint.FieldByName('Sumlenqty').Value:=CDS_WXPT.fieldbyname('Sumlenqty').AsFloat; CDS_WXPTPrint.FieldByName('sumroll').Value:=CDS_WXPT.fieldbyname('sumroll').AsFloat; CDS_WXPTPrint.FieldByName('SumRollGanNo').Value:=CDS_WXPT.fieldbyname('SumRollGanNo').AsFloat; CDS_WXPTPrint.FieldByName('SumRollColor').Value:=CDS_WXPT.fieldbyname('SumRollColor').AsFloat; CDS_WXPTPrint.FieldByName('SumZJ').Value:=CDS_WXPT.fieldbyname('SumZJ').AsFloat; FieldByName('SubId').Value:=CDS_WXPT.fieldbyname('SubId').Value; FieldByName('MainId').Value:=CDS_WXPT.fieldbyname('MainId').Value; Post; end; end else begin CDS_WXPTPrint.Append; CDS_WXPTPrint.FieldByName('MZQty').Value:=CDS_WXPT.fieldbyname('KGQty').Value; CDS_WXPTPrint.FieldByName('INVNO').Value:=CDS_WXPT.fieldbyname('orderno').Value; CDS_WXPTPrint.FieldByName('GangNo').Value:=CDS_WXPT.fieldbyname('GangNo').Value; CDS_WXPTPrint.FieldByName('BaoNO').Value:=CDS_WXPT.fieldbyname('BaoNO').Value; CDS_WXPTPrint.FieldByName('PONO').Value:=CDS_WXPT.fieldbyname('PONO').Value; CDS_WXPTPrint.FieldByName('QtyUnit').Value:=trim(CDS_WXPT.fieldbyname('QtyUnit').Asstring); CDS_WXPTPrint.FieldByName('CRTime').Value:=CDS_WXPT.fieldbyname('CRTime').asdatetime; CDS_WXPTPrint.FieldByName('PRTColor').Value:=CDS_WXPT.fieldbyname('PRTColor').Value; CDS_WXPTPrint.FieldByName('XH').Value:=J+1; CDS_WXPTPrint.FieldByName('LenQty0').Value:=CDS_WXPT.fieldbyname('qty').AsFloat; CDS_WXPTPrint.FieldByName('ZS0').Value:=CDS_WXPT.fieldbyname('MJQty2').AsFloat; CDS_WXPTPrint.FieldByName('RollNo0').Value:=CDS_WXPT.fieldbyname('RollNo').Value; CDS_WXPTPrint.FieldByName('MKGQty0').Value:=CDS_WXPT.fieldbyname('kgQty').AsFloat; CDS_WXPTPrint.FieldByName('KGQty0').Value:=CDS_WXPT.fieldbyname('MJqty4').AsFloat; CDS_WXPTPrint.FieldByName('Sumlenqty').Value:=CDS_WXPT.fieldbyname('Sumlenqty').AsFloat; CDS_WXPTPrint.FieldByName('sumroll').Value:=CDS_WXPT.fieldbyname('sumroll').AsFloat; CDS_WXPTPrint.FieldByName('SumRollGanNo').Value:=CDS_WXPT.fieldbyname('SumRollGanNo').AsFloat; CDS_WXPTPrint.FieldByName('SumRollColor').Value:=CDS_WXPT.fieldbyname('SumRollColor').AsFloat; CDS_WXPTPrint.FieldByName('SumZJ').Value:=CDS_WXPT.fieldbyname('SumZJ').AsFloat; CDS_WXPTPrint.FieldByName('SubId').Value:=CDS_WXPT.fieldbyname('SubId').Value; CDS_WXPTPrint.FieldByName('MainId').Value:=CDS_WXPT.fieldbyname('MainId').Value; CDS_WXPTPrint.Post; Z:=0; j:=j+1; end; end; end end; Z:=Z+1; Next; end; end; CDS_WXPT.EnableControls; CDS_WXPTPrint.EnableControls; end; procedure TfrmCKProductBCPInList.MPRTCodeNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmCKProductBCPInList.GetLotData(); var i,j,z,h,q:Integer; FGangNo,FHZ:String; begin if CDS_Main.IsEmpty then Exit; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select GangNo=AP.AOrdDefStr1,A.BaoNo,MJ.MJXH,MJ.MJMaoZ,MJ.MJLen,A.SubId,A.MainId,MJ.MJQty4,'); sql.Add('DD.OrderNo,JS.PRTColor,PRTEColor=JS.SOrddefstr4,PRTColorNo=JS.SOrddefstr1,JS.PRTHX'); sql.Add(' from CK_BanCP_CR A'); sql.Add(' inner join WFB_MJJY MJ on A.MJID=MJ.MJID'); sql.Add(' inner join JYOrder_Main DD on A.MainId=DD.MainId'); sql.Add(' inner join JYOrder_Sub JS on A.SubId=JS.SubId'); sql.Add(' inner join JYOrder_Sub_AnPai AP on A.APID=AP.APID'); sql.Add(' where A.MainId='''+Trim(CDS_Main.fieldbyname('MainId').AsString)+''''); //sql.Add(' and A.SubId='''+Trim(CDS_Main.fieldbyname('SubId').AsString)+''''); {if Trim(CDS_Main.FieldByName('CKOrdNo').AsString)<>'' then begin sql.Add(' and A.CKOrdNo='''+Trim(CDS_Main.FieldByName('CKOrdNo').AsString)+''''); end; } if Trim(CPType.Text)<>'' then begin sql.Add(' and A.CPType='''+Trim(CPType.Text)+''''); end; sql.Add(' and A.CRType=''检验入库'' '); sql.Add(' order by A.SubId,Cast(AP.AOrdDefStr1 as int),MJ.MJXH'); Open; end; SCreateCDS20(ADOQueryTemp,CDS_Juan); SInitCDSData20(ADOQueryTemp,CDS_Juan); with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select MainId=Cast('''' as varchar(20)),SubId=Cast('''' as varchar(20)),'); sql.Add(' PRTEColor=Cast('''' as varchar(20)),PRTHX=Cast('''' as varchar(20)),PRTColorNo=Cast('''' as varchar(20)),'); sql.Add(' GangNo=Cast('''' as varchar(20)),BaoNo=Cast('''' as varchar(20)),XH=Cast(0 as int),'); sql.Add(' LenQty0=Cast(1.00 as decimal(18,2)),LenQty1=Cast(1.00 as decimal(18,2)),'); sql.Add(' LenQty2=Cast(1.00 as decimal(18,2)),LenQty3=Cast(1.00 as decimal(18,2)),'); sql.Add(' LenQty4=Cast(1.00 as decimal(18,2)),LenQty5=Cast(1.00 as decimal(18,2)),'); sql.Add(' LenQty6=Cast(1.00 as decimal(18,2)),LenQty7=Cast(1.00 as decimal(18,2)),'); sql.Add(' LenQty8=Cast(1.00 as decimal(18,2)),LenQty9=Cast(1.00 as decimal(18,2)),'); sql.Add(' MZ0=Cast(1.00 as decimal(18,2)),MZ1=Cast(1.00 as decimal(18,2)),'); sql.Add(' MZ2=Cast(1.00 as decimal(18,2)),MZ3=Cast(1.00 as decimal(18,2)),'); sql.Add(' MZ4=Cast(1.00 as decimal(18,2)),MZ5=Cast(1.00 as decimal(18,2)),'); sql.Add(' MZ6=Cast(1.00 as decimal(18,2)),MZ7=Cast(1.00 as decimal(18,2)),'); sql.Add(' MZ8=Cast(1.00 as decimal(18,2)),MZ9=Cast(1.00 as decimal(18,2)),'); sql.Add(' JZ0=Cast(1.00 as decimal(18,2)),JZ1=Cast(1.00 as decimal(18,2)),'); sql.Add(' JZ2=Cast(1.00 as decimal(18,2)),JZ3=Cast(1.00 as decimal(18,2)),'); sql.Add(' JZ4=Cast(1.00 as decimal(18,2)),JZ5=Cast(1.00 as decimal(18,2)),'); sql.Add(' JZ6=Cast(1.00 as decimal(18,2)),JZ7=Cast(1.00 as decimal(18,2)),'); sql.Add(' JZ8=Cast(1.00 as decimal(18,2)),JZ9=Cast(1.00 as decimal(18,2)),'); sql.Add(' MJPS0=Cast(1 as int),MJPS1=Cast(1 as int),'); sql.Add(' MJPS2=Cast(1 as int),MJPS3=Cast(1 as int),'); sql.Add(' MJPS4=Cast(1 as int),MJPS5=Cast(1 as int),'); sql.Add(' MJPS6=Cast(1 as int),MJPS7=Cast(1 as int),'); sql.Add(' MJPS8=Cast(1 as int),MJPS9=Cast(1 as int),'); sql.Add(' XH=Cast(0 as int)'); Open; end; SCreateCDS20(ADOQueryTemp,CDS_JuanPRT); SInitCDSData20(ADOQueryTemp,CDS_JuanPRT); if CDS_JuanPRT.IsEmpty=False then begin CDS_JuanPRT.Delete; end; i:=0;j:=0;z:=0;FGangNo:='';h:=0; CDS_Juan.DisableControls; with CDS_Juan do begin First; while not Eof do begin //FHZ:=Trim(CDS_Juan.fieldbyname('SubId').AsString)+Trim(CDS_Juan.fieldbyname('BaoNO').AsString) //+Trim(CDS_Juan.fieldbyname('GangNo').AsString); with CDS_JuanPRT do begin if CDS_JuanPRT.IsEmpty then begin CDS_JuanPRT.Append; CDS_JuanPRT.FieldByName('GangNo').Value:=CDS_Juan.fieldbyname('GangNo').Value; // CDS_JuanPRT.FieldByName('BaoNO').Value:=CDS_Juan.fieldbyname('BaoNO').Value; CDS_JuanPRT.FieldByName('PRTEColor').Value:=CDS_Juan.fieldbyname('PRTEColor').Value; CDS_JuanPRT.FieldByName('PRTColorNo').Value:=CDS_Juan.fieldbyname('PRTColorNo').Value; CDS_JuanPRT.FieldByName('PRTHX').Value:=CDS_Juan.fieldbyname('PRTHX').Value; CDS_JuanPRT.FieldByName('MJPS0').Value:=1; CDS_JuanPRT.FieldByName('XH').Value:=0; CDS_JuanPRT.FieldByName('LenQty0').Value:=CDS_Juan.fieldbyname('MJLen').Value; CDS_JuanPRT.FieldByName('MZ0').Value:=CDS_Juan.fieldbyname('MJMaoZ').Value; CDS_JuanPRT.FieldByName('JZ0').Value:=CDS_Juan.fieldbyname('MJQty4').Value; CDS_JuanPRT.FieldByName('SubId').Value:=CDS_Juan.fieldbyname('SubId').Value; CDS_JuanPRT.FieldByName('MainId').Value:=CDS_Juan.fieldbyname('MainId').Value; CDS_JuanPRT.Post; FHZ:=Trim(CDS_Juan.fieldbyname('SubId').AsString) +Trim(CDS_Juan.fieldbyname('GangNo').AsString); //FGangNo:=Trim(CDS_Juan.fieldbyname('GangNo').AsString); Z:=0;//gang 后缀 j:=0;//行号 for i:=1 to 9 do begin CDS_JuanPRT.Edit; CDS_JuanPRT.FieldByName('MJPS'+Trim(IntToStr(i))).Value:=0; CDS_JuanPRT.Post; end; end else begin if (Trim(CDS_Juan.fieldbyname('SubId').AsString) +Trim(CDS_Juan.fieldbyname('GangNo').AsString))<>FHZ then begin CDS_JuanPRT.Append; CDS_JuanPRT.FieldByName('GangNo').Value:=CDS_Juan.fieldbyname('GangNo').Value; //CDS_JuanPRT.FieldByName('BaoNO').Value:=CDS_Juan.fieldbyname('BaoNO').Value; CDS_JuanPRT.FieldByName('PRTEColor').Value:=CDS_Juan.fieldbyname('PRTEColor').Value; CDS_JuanPRT.FieldByName('PRTColorNo').Value:=CDS_Juan.fieldbyname('PRTColorNo').Value; CDS_JuanPRT.FieldByName('PRTHX').Value:=CDS_Juan.fieldbyname('PRTHX').Value; CDS_JuanPRT.FieldByName('MJPS0').Value:=1; CDS_JuanPRT.FieldByName('XH').Value:=J+1; CDS_JuanPRT.FieldByName('LenQty0').Value:=CDS_Juan.fieldbyname('MJLen').Value; CDS_JuanPRT.FieldByName('MZ0').Value:=CDS_Juan.fieldbyname('MJMaoZ').Value; CDS_JuanPRT.FieldByName('JZ0').Value:=CDS_Juan.fieldbyname('MJQty4').Value; CDS_JuanPRT.FieldByName('SubId').Value:=CDS_Juan.fieldbyname('SubId').Value; CDS_JuanPRT.FieldByName('MainId').Value:=CDS_Juan.fieldbyname('MainId').Value; CDS_JuanPRT.Post; FHZ:=Trim(CDS_Juan.fieldbyname('SubId').AsString) +Trim(CDS_Juan.fieldbyname('GangNo').AsString); Z:=0;//gang 后缀 j:=j+1;//行号 for i:=1 to 9 do begin CDS_JuanPRT.Edit; CDS_JuanPRT.FieldByName('MJPS'+Trim(IntToStr(i))).Value:=0; CDS_JuanPRT.Post; end; end else begin if Z<10 then begin CDS_JuanPRT.Locate('XH',j,[]); with CDS_JuanPRT do begin Edit; FieldByName('GangNo').Value:=CDS_Juan.fieldbyname('GangNo').Value; //FieldByName('BaoNO').Value:=CDS_Juan.fieldbyname('BaoNO').Value; CDS_JuanPRT.FieldByName('PRTEColor').Value:=CDS_Juan.fieldbyname('PRTEColor').Value; CDS_JuanPRT.FieldByName('PRTColorNo').Value:=CDS_Juan.fieldbyname('PRTColorNo').Value; CDS_JuanPRT.FieldByName('PRTHX').Value:=CDS_Juan.fieldbyname('PRTHX').Value; FieldByName('MJPS'+Trim(IntToStr(Z))).Value:=1; FieldByName('LenQty'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('MJLen').Value; CDS_JuanPRT.FieldByName('MZ'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('MJMaoZ').Value; CDS_JuanPRT.FieldByName('JZ'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('MJQty4').Value; FieldByName('SubId').Value:=CDS_Juan.fieldbyname('SubId').Value; FieldByName('MainId').Value:=CDS_Juan.fieldbyname('MainId').Value; Post; end; end else begin CDS_JuanPRT.Append; CDS_JuanPRT.FieldByName('GangNo').Value:=CDS_Juan.fieldbyname('GangNo').Value; CDS_JuanPRT.FieldByName('BaoNO').Value:=CDS_Juan.fieldbyname('BaoNO').Value; CDS_JuanPRT.FieldByName('PRTEColor').Value:=CDS_Juan.fieldbyname('PRTEColor').Value; CDS_JuanPRT.FieldByName('PRTColorNo').Value:=CDS_Juan.fieldbyname('PRTColorNo').Value; CDS_JuanPRT.FieldByName('PRTHX').Value:=CDS_Juan.fieldbyname('PRTHX').Value; CDS_JuanPRT.FieldByName('MJPS0').Value:=1; CDS_JuanPRT.FieldByName('XH').Value:=J+1; CDS_JuanPRT.FieldByName('LenQty0').Value:=CDS_Juan.fieldbyname('MJLen').Value; CDS_JuanPRT.FieldByName('MZ0').Value:=CDS_Juan.fieldbyname('MJMaoZ').Value; CDS_JuanPRT.FieldByName('JZ0').Value:=CDS_Juan.fieldbyname('MJQty4').Value; CDS_JuanPRT.FieldByName('SubId').Value:=CDS_Juan.fieldbyname('SubId').Value; CDS_JuanPRT.FieldByName('MainId').Value:=CDS_Juan.fieldbyname('MainId').Value; CDS_JuanPRT.Post; Z:=0;//gang 后缀 j:=j+1;//行号 for i:=1 to 9 do begin CDS_JuanPRT.Edit; CDS_JuanPRT.FieldByName('MJPS'+Trim(IntToStr(i))).Value:=0; CDS_JuanPRT.Post; end; end; end; end end; Z:=Z+1; Next; end; end; CDS_Juan.EnableControls; end; procedure TfrmCKProductBCPInList.GetJuanData(); var i,j,z,h,q:Integer; FGangNo:String; begin if CDS_Main.IsEmpty then Exit; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select GangNo=AP.AOrdDefStr1,A.BaoNo,MJ.MJXH,MJ.MJMaoZ,MJ.MJLen,A.SubId,A.MainId'); sql.Add(' from CK_BanCP_CR A'); sql.Add(' inner join WFB_MJJY MJ on A.MJID=MJ.MJID'); sql.Add(' inner join JYOrder_Main DD on A.MainId=DD.MainId'); sql.Add(' inner join JYOrder_Sub JS on A.SubId=JS.SubId'); sql.Add(' inner join JYOrder_Sub_AnPai AP on A.APID=AP.APID'); sql.Add(' where A.MainId='''+Trim(CDS_Main.fieldbyname('MainId').AsString)+''''); sql.Add(' and A.SubId='''+Trim(CDS_Main.fieldbyname('SubId').AsString)+''''); {if Trim(CDS_Main.FieldByName('CKOrdNo').AsString)<>'' then begin sql.Add(' and A.CKOrdNo='''+Trim(CDS_Main.FieldByName('CKOrdNo').AsString)+''''); end; } if Trim(CPType.Text)<>'' then begin sql.Add(' and A.CPType='''+Trim(CPType.Text)+''''); end; sql.Add(' and A.CRType=''检验入库'' '); sql.Add(' order by Cast(AP.AOrdDefStr1 as int),Cast(A.BaoNo as int),MJ.MJXH'); Open; end; SCreateCDS20(ADOQueryTemp,CDS_Juan); SInitCDSData20(ADOQueryTemp,CDS_Juan); with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select BaoNo0=Cast('''' as varchar(20)),MJXH0=Cast(0 as int),MJPS0=Cast(1 as int),'); sql.Add('MJPS1=Cast(1 as int),MJPS2=Cast(1 as int),MJPS3=Cast(1 as int),MJPS4=Cast(1 as int),'); sql.Add(' KGQty0=Cast(1.00 as decimal(18,2)),LenQty0=Cast(1.00 as decimal(18,2)),'); sql.Add(' BaoNo1=Cast('''' as varchar(20)),MJXH1=Cast(0 as int),'); sql.Add(' KGQty1=Cast(1.00 as decimal(18,2)),LenQty1=Cast(1.00 as decimal(18,2)),'); sql.Add(' BaoNo2=Cast('''' as varchar(20)),MJXH2=Cast(0 as int),'); sql.Add(' KGQty2=Cast(1.00 as decimal(18,2)),LenQty2=Cast(1.00 as decimal(18,2)),'); sql.Add(' BaoNo3=Cast('''' as varchar(20)),MJXH3=Cast(0 as int),'); sql.Add(' KGQty3=Cast(1.00 as decimal(18,2)),LenQty3=Cast(1.00 as decimal(18,2)),'); sql.Add(' BaoNo4=Cast('''' as varchar(20)),MJXH4=Cast(0 as int),'); sql.Add(' KGQty4=Cast(1.00 as decimal(18,2)),LenQty4=Cast(1.00 as decimal(18,2)),'); sql.Add(' BaoNo5=Cast('''' as varchar(20)),MJXH5=Cast(0 as int),'); sql.Add(' KGQty5=Cast(1.00 as decimal(18,2)),LenQty5=Cast(1.00 as decimal(18,2)),'); sql.Add(' GangNo0=Cast('''' as varchar(20)),XH=Cast('''' as varchar(20)),'); sql.Add(' GangNo1=Cast('''' as varchar(20)),GangNo2=Cast('''' as varchar(20)),'); sql.Add(' GangNo3=Cast('''' as varchar(20)),GangNo4=Cast('''' as varchar(20))'); Open; end; SCreateCDS20(ADOQueryTemp,CDS_JuanPRT); SInitCDSData20(ADOQueryTemp,CDS_JuanPRT); if CDS_JuanPRT.IsEmpty=False then begin CDS_JuanPRT.Delete; end; i:=0;j:=0;z:=0;FGangNo:='';h:=0; CDS_Juan.DisableControls; with CDS_Juan do begin First; while not Eof do begin with CDS_JuanPRT do begin if CDS_JuanPRT.IsEmpty then begin begin CDS_JuanPRT.Append; CDS_JuanPRT.FieldByName('GangNo0').Value:=CDS_Juan.fieldbyname('GangNo').Value; CDS_JuanPRT.FieldByName('BaoNO0').Value:=CDS_Juan.fieldbyname('BaoNO').Value; CDS_JuanPRT.FieldByName('MJXH0').Value:=CDS_Juan.fieldbyname('MJXH').Value; CDS_JuanPRT.FieldByName('MJPS0').Value:=1; CDS_JuanPRT.FieldByName('KGQty0').Value:=CDS_Juan.fieldbyname('MJMaoZ').Value; CDS_JuanPRT.FieldByName('LenQty0').Value:=CDS_Juan.fieldbyname('MJLen').Value; CDS_JuanPRT.FieldByName('XH').Value:='0'; CDS_JuanPRT.Post; FGangNo:=Trim(CDS_Juan.fieldbyname('GangNo').AsString); for h:=1 to 9 do begin CDS_JuanPRT.Append; CDS_JuanPRT.FieldByName('XH').Value:=Trim(IntToStr(h)); CDS_JuanPRT.Post; end; J:=0;//XH 行号 Z:=0;//gang 后缀 //h:=9;// q:=0; //页数 end; end else begin if i>9 then begin Z:=Z+1; if Z>4 then begin Z:=0; q:=q+1; J:=q*10; CDS_JuanPRT.Append; CDS_JuanPRT.FieldByName('GangNo0').Value:=CDS_Juan.fieldbyname('GangNo').Value; CDS_JuanPRT.FieldByName('BaoNO0').Value:=CDS_Juan.fieldbyname('BaoNO').Value; CDS_JuanPRT.FieldByName('MJXH0').Value:=CDS_Juan.fieldbyname('MJXH').Value; CDS_JuanPRT.FieldByName('KGQty0').Value:=CDS_Juan.fieldbyname('MJMaoZ').Value; CDS_JuanPRT.FieldByName('LenQty0').Value:=CDS_Juan.fieldbyname('MJLen').Value; CDS_JuanPRT.FieldByName('MJPS0').Value:=1; CDS_JuanPRT.FieldByName('XH').Value:=Trim(IntToStr(J)); CDS_JuanPRT.Post; for h:=J+1 to J+9 do begin CDS_JuanPRT.Append; CDS_JuanPRT.FieldByName('XH').Value:=Trim(IntToStr(h)); CDS_JuanPRT.Post; end; FGangNo:=Trim(CDS_Juan.fieldbyname('GangNo').AsString); end else begin J:=q*10; CDS_JuanPRT.Locate('XH',Trim(IntToStr(10*q)),[]); CDS_JuanPRT.Edit; CDS_JuanPRT.FieldByName('GangNo'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('GangNo').Value; CDS_JuanPRT.FieldByName('BaoNO'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('BaoNO').Value; CDS_JuanPRT.FieldByName('MJXH'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('MJXH').Value; CDS_JuanPRT.FieldByName('MJPS'+Trim(IntToStr(Z))).Value:=1; CDS_JuanPRT.FieldByName('KGQty'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('MJMaoZ').Value; CDS_JuanPRT.FieldByName('LenQty'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('MJLen').Value; CDS_JuanPRT.Post; FGangNo:=Trim(CDS_Juan.fieldbyname('GangNo').AsString); end; i:=0; end else begin if FGangNo<>Trim(CDS_Juan.fieldbyname('GangNo').AsString) then begin Z:=Z+1; if Z>4 then begin Z:=0; q:=q+1; J:=q*10; CDS_JuanPRT.Append; CDS_JuanPRT.FieldByName('GangNo0').Value:=CDS_Juan.fieldbyname('GangNo').Value; CDS_JuanPRT.FieldByName('BaoNO0').Value:=CDS_Juan.fieldbyname('BaoNO').Value; CDS_JuanPRT.FieldByName('MJXH0').Value:=CDS_Juan.fieldbyname('MJXH').Value; CDS_JuanPRT.FieldByName('KGQty0').Value:=CDS_Juan.fieldbyname('MJMaoZ').Value; CDS_JuanPRT.FieldByName('LenQty0').Value:=CDS_Juan.fieldbyname('MJLen').Value; CDS_JuanPRT.FieldByName('MJPS0').Value:=1; CDS_JuanPRT.FieldByName('XH').Value:=Trim(IntToStr(J)); CDS_JuanPRT.Post; FGangNo:=Trim(CDS_Juan.fieldbyname('GangNo').AsString); for h:=J+1 to J+9 do begin CDS_JuanPRT.Append; CDS_JuanPRT.FieldByName('XH').Value:=Trim(IntToStr(h)); CDS_JuanPRT.Post; end; end else begin J:=q*10; CDS_JuanPRT.Locate('XH',Trim(IntToStr(10*q)),[]); CDS_JuanPRT.Edit; CDS_JuanPRT.FieldByName('GangNo'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('GangNo').Value; CDS_JuanPRT.FieldByName('BaoNO'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('BaoNO').Value; CDS_JuanPRT.FieldByName('MJXH'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('MJXH').Value; CDS_JuanPRT.FieldByName('KGQty'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('MJMaoZ').Value; CDS_JuanPRT.FieldByName('LenQty'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('MJLen').Value; CDS_JuanPRT.FieldByName('MJPS'+Trim(IntToStr(Z))).Value:=1; CDS_JuanPRT.Post; FGangNo:=Trim(CDS_Juan.fieldbyname('GangNo').AsString); end; i:=0; end else begin j:=j+1; CDS_JuanPRT.Locate('XH',Trim(IntToStr(J)),[]); CDS_JuanPRT.Edit; CDS_JuanPRT.FieldByName('GangNo'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('GangNo').Value; CDS_JuanPRT.FieldByName('BaoNO'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('BaoNO').Value; CDS_JuanPRT.FieldByName('MJXH'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('MJXH').Value; CDS_JuanPRT.FieldByName('KGQty'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('MJMaoZ').Value; CDS_JuanPRT.FieldByName('LenQty'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('MJLen').Value; CDS_JuanPRT.FieldByName('MJPS'+Trim(IntToStr(Z))).Value:=1; CDS_JuanPRT.Post; FGangNo:=Trim(CDS_Juan.fieldbyname('GangNo').AsString); end; end; end; end; i:=i+1; Next; end; end; CDS_Juan.EnableControls; end; procedure TfrmCKProductBCPInList.GetBaoData(); var i,j,z,h:Integer; FGangNo:String; begin if CDS_Main.IsEmpty then Exit; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select GangNo=AP.AOrdDefStr1,A.BaoNo,MJ.MJXH,MJ.MJMaoZ,MJ.MJLen'); sql.Add(' from CK_BanCP_CR A'); sql.Add(' inner join WFB_MJJY MJ on A.MJID=MJ.MJID'); sql.Add(' inner join JYOrder_Main DD on A.MainId=DD.MainId'); sql.Add(' inner join JYOrder_Sub_AnPai AP on A.APID=AP.APID'); sql.Add(' where A.MainId='''+Trim(CDS_Main.fieldbyname('MainId').AsString)+''''); sql.Add(' and A.SubId='''+Trim(CDS_Main.fieldbyname('SubId').AsString)+''''); {if Trim(CDS_Main.FieldByName('CKOrdNo').AsString)<>'' then begin sql.Add(' and A.CKOrdNo='''+Trim(CDS_Main.FieldByName('CKOrdNo').AsString)+''''); end; } if Trim(CPType.Text)<>'' then begin sql.Add(' and A.CPType='''+Trim(CPType.Text)+''''); end; sql.Add(' and A.CRType=''检验入库'' '); sql.Add(' order by Cast(AP.AOrdDefStr1 as int),Cast(A.BaoNo as int),MJ.MJXH'); Open; end; SCreateCDS20(ADOQueryTemp,CDS_BaoNo); SInitCDSData20(ADOQueryTemp,CDS_BaoNo); with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select GangNo0=Cast('''' as varchar(20)),GangNo1=Cast('''' as varchar(20)),GangNo2=Cast('''' as varchar(20)),'); sql.Add(' GangNo3=Cast('''' as varchar(20)),GangNo4=Cast('''' as varchar(20)),XH=Cast('''' as varchar(20))'); Open; end; SCreateCDS20(ADOQueryTemp,CDS_BaoPRT); SInitCDSData20(ADOQueryTemp,CDS_BaoPRT); if CDS_BaoPRT.IsEmpty=False then begin CDS_BaoPRT.Delete; end; i:=0;j:=0;z:=0;FGangNo:='';h:=0; CDS_BaoNo.DisableControls; with CDS_BaoNo do begin First; while not Eof do begin with CDS_BaoPRT do begin if CDS_BaoPRT.IsEmpty then begin if J=0 then begin CDS_BaoPRT.Append; CDS_BaoPRT.FieldByName('GangNo0').Value:=CDS_BaoNo.fieldbyname('GangNo').Value; CDS_BaoPRT.FieldByName('XH').Value:='0'; CDS_BaoPRT.Post; FGangNo:=Trim(CDS_BaoNo.fieldbyname('GangNo').AsString); J:=0;//XH 行号 Z:=0;//gang 后缀 h:=0;//每行的记录数。 end; end else begin if i>9 then begin Z:=Z+1; if Z>4 then begin Z:=0; J:=J+1; CDS_BaoPRT.Append; CDS_BaoPRT.FieldByName('GangNo0').Value:=CDS_BaoNo.fieldbyname('GangNo').Value; CDS_BaoPRT.FieldByName('XH').Value:=Trim(IntToStr(J)); CDS_BaoPRT.Post; FGangNo:=Trim(CDS_BaoNo.fieldbyname('GangNo').AsString); end else begin CDS_BaoPRT.Locate('XH',Trim(IntToStr(J)),[]); CDS_BaoPRT.Edit; CDS_BaoPRT.FieldByName('GangNo'+Trim(IntToStr(Z))).Value:=CDS_BaoNo.fieldbyname('GangNo').Value; CDS_BaoPRT.Post; FGangNo:=Trim(CDS_BaoNo.fieldbyname('GangNo').AsString); end; i:=0; end else begin if FGangNo<>Trim(CDS_BaoNo.fieldbyname('GangNo').AsString) then begin Z:=Z+1; if Z>4 then begin Z:=0; J:=J+1; CDS_BaoPRT.Append; CDS_BaoPRT.FieldByName('GangNo0').Value:=CDS_BaoNo.fieldbyname('GangNo').Value; CDS_BaoPRT.FieldByName('XH').Value:=Trim(IntToStr(J)); CDS_BaoPRT.Post; FGangNo:=Trim(CDS_BaoNo.fieldbyname('GangNo').AsString); end else begin CDS_BaoPRT.Locate('XH',Trim(IntToStr(J)),[]); CDS_BaoPRT.Edit; CDS_BaoPRT.FieldByName('GangNo'+Trim(IntToStr(Z))).Value:=CDS_BaoNo.fieldbyname('GangNo').Value; CDS_BaoPRT.Post; FGangNo:=Trim(CDS_BaoNo.fieldbyname('GangNo').AsString); end; i:=0; end; end; end; end; i:=i+1; Next; end; end; CDS_BaoNo.EnableControls; end; procedure TfrmCKProductBCPInList.GetBaleData(); var i,j,z,h,q:Integer; FGangNo,FHZ:String; begin if CDS_Main.IsEmpty then Exit; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select GangNo=AP.AOrdDefStr1,A.BaoNo,MJ.MJXH,MJ.MJMaoZ,MJ.MJLen,A.SubId,A.MainId,'); sql.Add('DD.OrderNo,JS.PRTColor,PRTEColor=JS.SOrddefstr4,JS.PRTHX'); sql.Add(' from CK_BanCP_CR A'); sql.Add(' inner join WFB_MJJY MJ on A.MJID=MJ.MJID'); sql.Add(' inner join JYOrder_Main DD on A.MainId=DD.MainId'); sql.Add(' inner join JYOrder_Sub JS on A.SubId=JS.SubId'); sql.Add(' inner join JYOrder_Sub_AnPai AP on A.APID=AP.APID'); sql.Add(' where A.MainId='''+Trim(CDS_Main.fieldbyname('MainId').AsString)+''''); //sql.Add(' and A.SubId='''+Trim(CDS_Main.fieldbyname('SubId').AsString)+''''); if Trim(CDS_Main.FieldByName('CKOrdNo').AsString)<>'' then begin sql.Add(' and A.CKOrdNo='''+Trim(CDS_Main.FieldByName('CKOrdNo').AsString)+''''); end; if Trim(CPType.Text)<>'' then begin sql.Add(' and A.CPType='''+Trim(CPType.Text)+''''); end; sql.Add(' and A.CRType=''检验入库'' '); sql.Add(' order by Cast(AP.AOrdDefStr1 as int),Cast(A.BaoNo as int),MJ.MJXH'); Open; end; SCreateCDS20(ADOQueryTemp,CDS_Juan); SInitCDSData20(ADOQueryTemp,CDS_Juan); with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select MainId=Cast('''' as varchar(20)),SubId=Cast('''' as varchar(20)),'); sql.Add(' PRTEColor=Cast('''' as varchar(20)),PRTHX=Cast('''' as varchar(20)),'); sql.Add(' GangNo=Cast('''' as varchar(20)),BaoNo=Cast('''' as varchar(20)),MJPS=Cast(0 as int),XH=Cast(0 as int),'); sql.Add(' LenQty0=Cast(1.00 as decimal(18,2)),LenQty1=Cast(1.00 as decimal(18,2)),'); sql.Add(' LenQty2=Cast(1.00 as decimal(18,2)),LenQty3=Cast(1.00 as decimal(18,2)),'); sql.Add(' LenQty4=Cast(1.00 as decimal(18,2)),LenQty5=Cast(1.00 as decimal(18,2)),'); sql.Add(' LenQty6=Cast(1.00 as decimal(18,2)),LenQty7=Cast(1.00 as decimal(18,2)),'); sql.Add(' LenQty8=Cast(1.00 as decimal(18,2)),LenQty9=Cast(1.00 as decimal(18,2)),'); sql.Add(' LenQty10=Cast(1.00 as decimal(18,2)),LenQty11=Cast(1.00 as decimal(18,2)),'); sql.Add(' MJPS0=Cast(0 as int),MJPS1=Cast(0 as int),'); sql.Add(' MJPS2=Cast(0 as int),MJPS3=Cast(0 as int),'); sql.Add(' MJPS4=Cast(0 as int),MJPS5=Cast(0 as int),'); sql.Add(' MJPS6=Cast(0 as int),MJPS7=Cast(0 as int),'); sql.Add(' MJPS8=Cast(0 as int),MJPS9=Cast(0 as int),'); sql.Add(' MJPS10=Cast(0 as int),MJPS11=Cast(1 as int),XH=Cast(0 as int)'); {sql.Add(' KgQty0=Cast(1.00 as decimal(18,2)),KgQty1=Cast(1.00 as decimal(18,2)),'); sql.Add(' LenQty2=Cast(1.00 as decimal(18,2)),LenQty3=Cast(1.00 as decimal(18,2)),'); sql.Add(' LenQty4=Cast(1.00 as decimal(18,2)),LenQty5=Cast(1.00 as decimal(18,2)),'); sql.Add(' LenQty5=Cast(1.00 as decimal(18,2)),LenQty7=Cast(1.00 as decimal(18,2)),'); sql.Add(' LenQty6=Cast(1.00 as decimal(18,2)),LenQty9=Cast(1.00 as decimal(18,2)),'); sql.Add(' LenQty10=Cast(1.00 as decimal(18,2)),LenQty11=Cast(1.00 as decimal(18,2)),');} Open; end; SCreateCDS20(ADOQueryTemp,CDS_JuanPRT); SInitCDSData20(ADOQueryTemp,CDS_JuanPRT); if CDS_JuanPRT.IsEmpty=False then begin CDS_JuanPRT.Delete; end; i:=0;j:=0;z:=0;FGangNo:='';h:=0; CDS_Juan.DisableControls; with CDS_Juan do begin First; while not Eof do begin //FHZ:=Trim(CDS_Juan.fieldbyname('SubId').AsString)+Trim(CDS_Juan.fieldbyname('BaoNO').AsString) //+Trim(CDS_Juan.fieldbyname('GangNo').AsString); with CDS_JuanPRT do begin if CDS_JuanPRT.IsEmpty then begin CDS_JuanPRT.Append; CDS_JuanPRT.FieldByName('GangNo').Value:=CDS_Juan.fieldbyname('GangNo').Value; CDS_JuanPRT.FieldByName('BaoNO').Value:=CDS_Juan.fieldbyname('BaoNO').Value; CDS_JuanPRT.FieldByName('PRTEColor').Value:=CDS_Juan.fieldbyname('PRTEColor').Value; CDS_JuanPRT.FieldByName('PRTHX').Value:=CDS_Juan.fieldbyname('PRTHX').Value; CDS_JuanPRT.FieldByName('MJPS0').Value:=1; CDS_JuanPRT.FieldByName('XH').Value:=0; CDS_JuanPRT.FieldByName('LenQty0').Value:=CDS_Juan.fieldbyname('MJLen').Value; CDS_JuanPRT.FieldByName('SubId').Value:=CDS_Juan.fieldbyname('SubId').Value; CDS_JuanPRT.FieldByName('MainId').Value:=CDS_Juan.fieldbyname('MainId').Value; CDS_JuanPRT.Post; FHZ:=Trim(CDS_Juan.fieldbyname('SubId').AsString)+Trim(CDS_Juan.fieldbyname('BaoNO').AsString) +Trim(CDS_Juan.fieldbyname('GangNo').AsString); //FGangNo:=Trim(CDS_Juan.fieldbyname('GangNo').AsString); Z:=0;//gang 后缀 j:=0;//行号 end else begin if (Trim(CDS_Juan.fieldbyname('SubId').AsString)+Trim(CDS_Juan.fieldbyname('BaoNO').AsString) +Trim(CDS_Juan.fieldbyname('GangNo').AsString))<>FHZ then begin CDS_JuanPRT.Append; CDS_JuanPRT.FieldByName('GangNo').Value:=CDS_Juan.fieldbyname('GangNo').Value; CDS_JuanPRT.FieldByName('BaoNO').Value:=CDS_Juan.fieldbyname('BaoNO').Value; CDS_JuanPRT.FieldByName('PRTEColor').Value:=CDS_Juan.fieldbyname('PRTEColor').Value; CDS_JuanPRT.FieldByName('PRTHX').Value:=CDS_Juan.fieldbyname('PRTHX').Value; CDS_JuanPRT.FieldByName('MJPS0').Value:=1; CDS_JuanPRT.FieldByName('XH').Value:=J+1; CDS_JuanPRT.FieldByName('LenQty0').Value:=CDS_Juan.fieldbyname('MJLen').Value; CDS_JuanPRT.FieldByName('SubId').Value:=CDS_Juan.fieldbyname('SubId').Value; CDS_JuanPRT.FieldByName('MainId').Value:=CDS_Juan.fieldbyname('MainId').Value; CDS_JuanPRT.Post; FHZ:=Trim(CDS_Juan.fieldbyname('SubId').AsString)+Trim(CDS_Juan.fieldbyname('BaoNO').AsString) +Trim(CDS_Juan.fieldbyname('GangNo').AsString); Z:=0;//gang 后缀 j:=j+1;//行号 end else begin if Z<12 then begin CDS_JuanPRT.Locate('XH',j,[]); with CDS_JuanPRT do begin Edit; FieldByName('GangNo').Value:=CDS_Juan.fieldbyname('GangNo').Value; FieldByName('BaoNO').Value:=CDS_Juan.fieldbyname('BaoNO').Value; CDS_JuanPRT.FieldByName('PRTEColor').Value:=CDS_Juan.fieldbyname('PRTEColor').Value; CDS_JuanPRT.FieldByName('PRTHX').Value:=CDS_Juan.fieldbyname('PRTHX').Value; FieldByName('MJPS'+Trim(IntToStr(Z))).Value:=1; FieldByName('LenQty'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('MJLen').Value; FieldByName('SubId').Value:=CDS_Juan.fieldbyname('SubId').Value; FieldByName('MainId').Value:=CDS_Juan.fieldbyname('MainId').Value; Post; end; end else begin CDS_JuanPRT.Append; CDS_JuanPRT.FieldByName('GangNo').Value:=CDS_Juan.fieldbyname('GangNo').Value; CDS_JuanPRT.FieldByName('BaoNO').Value:=CDS_Juan.fieldbyname('BaoNO').Value; CDS_JuanPRT.FieldByName('PRTEColor').Value:=CDS_Juan.fieldbyname('PRTEColor').Value; CDS_JuanPRT.FieldByName('PRTHX').Value:=CDS_Juan.fieldbyname('PRTHX').Value; CDS_JuanPRT.FieldByName('MJPS0').Value:=1; CDS_JuanPRT.FieldByName('XH').Value:=J+1; CDS_JuanPRT.FieldByName('LenQty0').Value:=CDS_Juan.fieldbyname('MJLen').Value; CDS_JuanPRT.FieldByName('SubId').Value:=CDS_Juan.fieldbyname('SubId').Value; CDS_JuanPRT.FieldByName('MainId').Value:=CDS_Juan.fieldbyname('MainId').Value; CDS_JuanPRT.Post; Z:=0;//gang 后缀 j:=j+1;//行号 end; end; end end; Z:=Z+1; Next; end; end; CDS_Juan.EnableControls; end; procedure TfrmCKProductBCPInList.orderNoChange(Sender: TObject); begin if Length(Trim(orderNo.Text))<4 then Exit; TBFind.Click; end; procedure TfrmCKProductBCPInList.orderNoKeyPress(Sender: TObject; var Key: Char); begin if Key=#13 then begin if Length(Trim(orderNo.Text))<3 then Exit; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; SQL.Add('select B.OrderNo,B.MPRTCodeName,C.PRTColor,B.MPRTSpec,C.prtkuanNo,C.PRTColorNO SOrddefstr1,C.PRTColorEng,B.MPRTMF,B.MPRTKZ,A.MJXH,C.PRTHX'); sql.Add(',G.customerNoName KHName,G.conNO,G.KHConNO,F.styleno,F.OrderUnit,A.*'); sql.add(' from CK_BanCP_CR A '); Sql.add(' left join JYOrder_Main B on A.MainId=B.MainId'); Sql.add(' left join JYOrder_Sub C on A.SubId=C.SubId'); sql.add(' left join JYOrderCon_Sub F on A.ConID=F.Subid '); sql.add(' left join JYOrderCon_Main G on G.Mainid=F.Mainid'); sql.add(' where B.OrderNo like '''+'%'+trim(OrderNo.Text)+'%'+''''); SQL.Add(' and A.CRFlag=''入库'' '); Open; //ShowMessage(SQL.Text); end; SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); finally ADOQueryMain.EnableControls; end; end; end; function TfrmCKProductBCPInList.YSData(Order_Main10:TClientDataSet):Boolean; var CRID,YFID,Price,PriceUnit,OrderUnit:String; begin Result:=False; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select Top 1 * from JYOrder_Sub Where Subid='''+Trim(Order_Main10.fieldbyname('Subid').AsString)+''''); Open; end; PriceUnit:=Trim(ADOQueryCmd.fieldbyname('PriceUnit').AsString); OrderUnit:=Trim(ADOQueryCmd.fieldbyname('OrderUnit').AsString); with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(Order_Main10.fieldbyname('KHName').AsString)+''''); Open; end; if ADOQueryCmd.IsEmpty=False then begin CRID:=ADOQueryCmd.fieldbyname('CRID').AsString; end else begin with ADOQueryMain 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:=ADOQueryMain.fieldbyname('CRID').AsString; with ADOQueryMain do begin Close; SQL.Clear; sql.Add('select * from YF_Money_KC where 1=2'); Open; end; with ADOQueryMain do begin Append; FieldByName('CRID').Value:=StrToInt(CRID); FieldByName('FactoryName').Value:=Trim(Order_Main10.fieldbyname('KHName').AsString); FieldByName('ZdyStr1').Value:='应收收'; Post; end; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR where FactoryName='''+Trim(Order_Main10.fieldbyname('KHName').AsString)+''''); sql.Add(' and YFTypeId='''+Trim(Order_Main10.fieldbyname('ConID').AsString)+''''); sql.add(' and Mainid='''+Trim(Order_Main10.fieldbyname('Mainid').AsString)+''''); sql.add(' and YFName=''成品销售金额'''); sql.add(' and isnull(PBNote,'''')='''+Trim(Order_Main10.fieldbyname('CRNote').AsString)+''''); sql.add(' and CRFlag=''应收收'''); Open; end; if ADOQueryCmd.IsEmpty then begin if GetLSNo(ADOQueryMain,YFID,'CS','YF_Money_CR',3,1)=False then begin Application.MessageBox('取坯布应付最大号失败!','提示',0); Exit; end; with ADOQueryMain do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR where 1=2'); Open; end; with ADOQueryMain do begin Append; FieldByName('YFID').Value:=Trim(YFID); FieldByName('YFTypeId').Value:=Trim(Order_Main10.fieldbyname('ConID').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_Main10.fieldbyname('KHName').AsString); FieldByName('CRTime').Value:=SGetServerDateTime(ADOQueryTemp); FieldByName('YFType').Value:='自动生成'; //FieldByName('Price').Value:=Price; FieldByName('HuiLv').Value:=1; FieldByName('BZType').Value:=Trim(PriceUnit); FieldByName('QtyUnit').Value:=Trim(OrderUnit); FieldByName('YFName').Value:='成品销售金额'; FieldByName('MainId').Value:=Trim(Order_Main10.fieldbyname('Mainid').AsString); Post; end; end else begin YFID:=Trim(ADOQueryCmd.fieldbyname('YFID').AsString); end; with ADOQueryCmd do begin Close; sql.Clear; if (Trim(OrderUnit)<>'KG') and (Trim(OrderUnit)<>'Kg') and (Trim(OrderUnit)<>'kg') then begin sql.Add('update YF_Money_CR Set Qty=(select isnull(Sum(A.Qty),0) from CK_BanCP_CR A '); end else begin sql.Add('update YF_Money_CR Set Qty=(select isnull(Sum(A.MJQty4),0) from CK_BanCP_CR A '); end; sql.add('where A.ConID=YF_Money_CR.YFTypeId and A.CRType=''检验入库'' '); sql.add(' and A.Mainid=YF_Money_CR.Mainid and isnull(A.CRNote,'''')=YF_Money_CR.PBNote)'); sql.Add(',PS=(select isnull(count(*),0) from CK_BanCP_CR A where'); SQL.Add(' A.conid=YF_Money_CR.YFTypeId and A.CRType=''检验入库'' '); sql.add(' and A.Mainid=YF_Money_CR.Mainid and isnull(A.CRNote,'''')=YF_Money_CR.PBNote'); SQL.Add(' )'); sql.Add(',JZQty=(select isnull(Sum(A.MJQty4),0) from CK_BanCP_CR A '); sql.add(' where A.Conid=YF_Money_CR.YFTypeId and A.CRType=''检验入库'' '); sql.add(' and A.Mainid=YF_Money_CR.Mainid and isnull(A.CRNote,'''')=YF_Money_CR.PBNote'); SQL.Add(' )'); sql.Add(',MaoQty=(select isnull(Sum(A.KgQty),0) from CK_BanCP_CR A where'); SQL.Add(' A.Conid=YF_Money_CR.YFTypeId and A.CRType=''检验入库'' '); sql.add(' and A.Mainid=YF_Money_CR.Mainid and isnull(A.CRNote,'''')=YF_Money_CR.PBNote'); SQL.Add(' )'); sql.Add(',MQty=(select isnull(Sum(A.Qty),0) from CK_BanCP_CR A where'); SQL.Add(' A.Conid=YF_Money_CR.YFTypeId and A.CRType=''检验入库'' '); sql.add(' and A.Mainid=YF_Money_CR.Mainid and isnull(A.CRNote,'''')=YF_Money_CR.PBNote'); SQL.Add(' )'); sql.Add(' where YFID='''+Trim(YFID)+''''); ExecSQL; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update YF_Money_CR Set Money=Price*Qty,BBMoney=Price*Qty'); sql.Add(' where YFID='''+Trim(YFID)+''''); ExecSQL; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); sql.Add(' where CRID='+CRID); ExecSQL; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR where YFId='''+Trim(YFID)+''''); Open; end; if ADOQueryCmd.FieldByName('PS').AsFloat=0 then begin with ADOQueryMain do begin Close; sql.Clear; sql.Add('delete from YF_Money_CR where YFID='''+Trim(YFID)+''''); ExecSQL; end; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR where CRId='+CRID); Open; end; if ADOQueryCmd.IsEmpty then begin with ADOQueryMain do begin Close; sql.Clear; sql.Add('delete from YF_Money_KC where CRId='+CRID); ExecSQL; end; end; Result:=True; end; procedure TfrmCKProductBCPInList.N1Click(Sender: TObject); begin SelOKNo(CDS_Main,True); end; procedure TfrmCKProductBCPInList.N2Click(Sender: TObject); begin SelOKNo(CDS_Main,False); end; procedure TfrmCKProductBCPInList.TBRKCXClick(Sender: TObject); var FFF:String; begin if CDS_Main.IsEmpty then Exit; ToolBar1.SetFocus; if CDS_Main.Locate('SSel',True,[])=False then begin Application.MessageBox('没有选择数据!','提示',0); Exit; end; CDS_Main.DisableControls; with CDS_Main do begin first; while not eof do begin if FieldByName('Ssel').AsBoolean=True then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select MJID from CK_BanCP_CR where MJID='''+Trim(CDS_Main.fieldbyname('MJID').AsString)+''' '); sql.Add(' and CRFlag=''出库'''); Open; end; if ADOQueryCmd.IsEmpty=false then begin Application.MessageBox('已出库不能撤销入库!','提示',0); Exit; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select YFID from YF_Money_CR where FactoryName='''+Trim(CDS_Main.fieldbyname('KHName').AsString)+''''); sql.Add(' and YFTypeId='''+Trim(CDS_Main.fieldbyname('ConID').AsString)+''''); sql.add(' and Mainid='''+Trim(CDS_Main.fieldbyname('Mainid').AsString)+''''); sql.add(' and YFName=''成品销售金额'''); sql.add(' and isnull(PBNote,'''')='''+Trim(CDS_Main.fieldbyname('CRNote').AsString)+''''); sql.add(' and CRFlag=''应收收'''); sql.add(' and isnull(Status,''0'')<>''0'''); Open; end; if ADOQueryCmd.IsEmpty=False then begin Application.MessageBox('费用已审核,不能撤销','提示',0); Exit; end; end; next; end; end; CDS_Main.EnableControls; if Application.MessageBox('确定要执行操作吗?','提示',32+4)<>IDYES then Exit; ToolBar1.SetFocus; try ADOQueryCmd.Connection.BeginTrans; CDS_Main.DisableControls; with CDS_Main do begin first; while not eof do begin if FieldByName('Ssel').AsBoolean=true then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update CK_BanCP_CR Set CRTime=NULL'); sql.Add(',CRType='''',CRFlag=''待入库'''); sql.Add(',CRNote='''''); SQL.Add(',BaoNo=NULL '); SQL.Add(',BaoID=NULL '); sql.Add(',RKOrdId='''''); sql.Add(',CRFlagQty=0'); SQL.Add(',RKPlace='''' '); sql.Add('where MJID='''+Trim(CDS_Main.fieldbyname('MJID').AsString)+''''); sql.Add(' and CRFlag=''入库'''); ExecSQL; end; with ADOQueryCmd do begin Close; sql.Clear; if CDS_Main.fieldbyname('CRID').AsFloat<>0 then begin sql.Add('Update WFB_MJJY Set MJStr2=''未入库'',BaoNo=NULL,BaoID=NULL where MJID='''+Trim(CDS_Main.fieldbyname('MJID').AsString)+''''); end; ExecSQL; end; if trim(CDS_Main.fieldbyname('CRType').AsString)='检验入库' then begin if FFF='' then begin FFF:=Trim(CDS_Main.fieldbyname('KHName').AsString)+Trim(CDS_Main.fieldbyname('ConID').AsString) +Trim(CDS_Main.fieldbyname('Mainid').AsString)+Trim(CDS_Main.fieldbyname('CRNote').AsString); if YSData(CDS_Main)=False then begin Application.MessageBox('撤销失败!','提示',0); Exit; end; end else if FFF<>Trim(CDS_Main.fieldbyname('KHName').AsString)+Trim(CDS_Main.fieldbyname('ConID').AsString) +Trim(CDS_Main.fieldbyname('Mainid').AsString)+Trim(CDS_Main.fieldbyname('CRNote').AsString) then begin if YSData(CDS_Main)=False then begin Application.MessageBox('撤销失败!','提示',0); Exit; end; end; end; if trim(CDS_Main.fieldbyname('CRType').AsString)='回修入库' then begin IF not YFData(CDS_Main) then begin application.MessageBox('撤销失败!','提示信息',0); exit; end; end; end; next; end; end; CDS_Main.EnableControls; Application.MessageBox('撤销成功','提示'); InitGrid(); ADOQueryCmd.Connection.CommitTrans; except; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('撤销失败!','提示',0); end; end; procedure TfrmCKProductBCPInList.Tv1CellClick( Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin if CDS_Main.IsEmpty=False then begin InitOrderColor(Trim(CDS_Main.fieldbyname('MainId').AsString),PRTColor,ADOQueryTemp); InitBCGangNo(Trim(CDS_Main.fieldbyname('SubId').AsString),AOrdDefStr1,ADOQueryTemp); end; end; procedure TfrmCKProductBCPInList.PRTColorChange(Sender: TObject); begin TBFind.Click; if CDS_Main.IsEmpty=False then begin //InitOrderColor(Trim(CDS_Main.fieldbyname('MainId').AsString),PRTColor,ADOQueryTemp); InitBCGangNo(Trim(CDS_Main.fieldbyname('SubId').AsString),AOrdDefStr1,ADOQueryTemp); end; end; procedure TfrmCKProductBCPInList.AOrdDefStr1Change(Sender: TObject); begin TBFind.Click; end; procedure TfrmCKProductBCPInList.TBBaoClick(Sender: TObject); var fPrintFile:String; Txt,fImagePath:string; Moudle: THandle; Makebar:TMakebar; Mixtext:TMixtext; begin if CDS_Main.IsEmpty then Exit; fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\包标签.rmf'; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select A.BaoId,A.BaoNo,A.QtyUnit,D.OrderNo,D.LengUnit,F.conNo,D.customerNoName,D.MprtCodeName,D.OrdPerson1,F.conDefstr2,F.ConPerson2,F.conDefstr3,C.PRTColor,C.PRTColorNO SOrddefstr1,E.SOrddefstr4 PRTColorEng,C.PRtHX,'); sql.Add(' F.KHConNO,Count(A.BaoId) JSl,Sum(WM.MJQty4) MJQty4,Sum(WM.MJQty2) MJQty2,Sum(WM.MJMaoZ) MJMaoZ,Sum(WM.MJLen) MJLen'); sql.add(' ,D.MPRTCode,D.MPRTspec,E.styleNo,WM.MJStr4 GangNo'); sql.add(' ,E.PRTMF,E.PRTKZ,E.PRTspec,E.PRTCodeName,E.PRTCode '); sql.Add(' from CK_BanCP_CR A inner join WFB_MJJY WM on A.MJID=WM.MJID'); sql.Add(' inner join CK_SXPB_CR B on WM.APID=B.SPID'); sql.Add(' Left join JYOrder_Sub C on WM.SubID=C.SubID'); sql.Add(' Left join JYOrder_Main D on WM.MainID=D.MainID'); SQL.ADD(' Left join JYOrderCon_Sub E on E.Subid=A.ConID '); sql.add(' Left join JYOrderCon_Main F on F.Mainid=E.Mainid '); sql.Add(' where A.BaoId='''+Trim(CDS_Main.Fieldbyname('Baoid').AsString)+''' and A.CRflag=''入库'' '); sql.Add(' Group by A.BaoId,A.BaoNo,A.QtyUnit,D.OrderNo,D.LengUnit,F.conNo,D.customerNoName,D.MprtCodeName,D.OrdPerson1,F.conDefstr2,F.ConPerson2,F.conDefstr3,C.PRTColor,C.PRTColorNO,E.SOrddefstr4,F.KHConNO,C.PRtHX'); sql.add(',D.MPRTCode,D.MPRTspec,E.styleNo,WM.MJStr4,E.PRTMF,E.PRTKZ,E.PRTspec,E.PRTCodeName,E.PRTCode'); Open; end; if ADOQueryTemp.RecordCount>1 then begin Application.MessageBox('打包错误,请撤销入库!','提示',0); Exit; end; try Moudle:=LoadLibrary('MakeQRBarcode.dll'); @Makebar:=GetProcAddress(Moudle,'Make'); @Mixtext:=GetProcAddress(Moudle,'MixText'); Txt:=Trim(CDS_Main.fieldbyname('BaoId').AsString); fImagePath:=ExtractFilePath(Application.ExeName)+'image\temp.bmp' ; if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName)+'image')) then CreateDirectory(pchar(ExtractFilePath(Application.ExeName)+'image'),nil); if FileExists(fImagePath) then DeleteFile(fImagePath); Makebar(pchar(Txt),Length(Txt),3,3,0,PChar(fImagePath),3); except application.MessageBox('条形码生成失败!','提示信息',MB_ICONERROR); exit; end; SCreateCDS20(ADOQueryTemp,CDS_PRT); SInitCDSData20(ADOQueryTemp,CDS_PRT); if FileExists(fPrintFile) then begin //RMVariables['RKOrdID']:=Trim(CDS_MainSel.fieldbyname('RKOrdID').AsString); //RMVariables['OrderNo']:=Trim(CDS_MainSel.fieldbyname('OrderNo').AsString); //RMVariables['PS']:=Trim(RKOrdPS.Text); //RMVariables['QtyUnit']:=Trim(CDS_MainSel.fieldbyname('QtyUnit').AsString); RMVariables['QRBARCODE']:=fImagePath; RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+'Report\包标签.rmf'),'提示',0); end; end; procedure TfrmCKProductBCPInList.Image2Click(Sender: TObject); begin Panel4.Visible:=False; end; procedure TfrmCKProductBCPInList.Tv1CellDblClick( Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin Panel4.Left:=FLeft; Panel4.Top:=FTop+110; Panel4.Visible:=True; Panel10.Caption:=Trim(TV1.Controller.FocusedColumn.Caption); RichEdit1.Text:=CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString; application.ProcessMessages; end; procedure TfrmCKProductBCPInList.ISbaoChange(Sender: TObject); begin Tbfind.Click; end; procedure TfrmCKProductBCPInList.ToolButton1Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; ToolBar1.SetFocus; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select A.MJID from CK_BanCP_CR A '); sql.Add('inner join CK_BanCP_CR B on B.MJID=A.MJID and B.CRFlag=''入库'' and A.CRFlag=''出库'''); SQL.Add('where B.RKOrdID='''+Trim(CDS_Main.fieldbyname('RKOrdID').AsString)+''' '); Open; end; if ADOQueryCmd.IsEmpty=false then begin Application.MessageBox('已出库不能撤销入库!','提示',0); Exit; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select A.YFID from YF_Money_CR A '); SQL.Add('inner join CK_BanCP_CR B on B.ConID=A.YFTypeID and B.Mainid=A.Mainid and isnull(B.CRNote,'''')=isnull(A.PBNote,'''')'); sql.Add('where A.FactoryName='''+Trim(CDS_Main.fieldbyname('KHName').AsString)+''''); sql.Add(' and A.YFTypeId='''+Trim(CDS_Main.fieldbyname('ConID').AsString)+''''); sql.add(' and A.Mainid='''+Trim(CDS_Main.fieldbyname('Mainid').AsString)+''''); sql.add(' and A.YFName=''成品销售金额'''); sql.add(' and isnull(A.PBNote,'''')='''+Trim(CDS_Main.fieldbyname('CRNote').AsString)+''''); SQL.Add(' and B.RKOrdID='''+Trim(CDS_Main.fieldbyname('RKOrdID').AsString)+''' '); sql.add(' and A.CRFlag=''应收收'''); sql.add(' and isnull(A.Status,''0'')<>''0'''); Open; end; if ADOQueryCmd.IsEmpty=False then begin Application.MessageBox('费用已审核,不能撤销','提示',0); Exit; end; if Application.MessageBox('确定要执行此操作吗?','提示',32+4)<>IDYES then Exit; MovePanel2.Visible:=True; MovePanel2.Refresh; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update WFB_MJJY Set MJStr2=''未入库'',BaoNo=null,BaoID=null '); sql.Add('where exists (select B.MJID from CK_BanCP_CR B where B.MJID=WFB_MJJY.MJID'); sql.add(' and B.RKOrdId='''+Trim(CDS_Main.fieldbyname('RKOrdID').AsString)+''')'); ExecSQL; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update CK_BanCP_CR Set '); sql.add(' CRTime=NULL'); sql.Add(',CRType='''',CRFlag=''待入库'''); sql.Add(',CRNote='''''); SQL.Add(',BaoNo=NULL '); SQL.Add(',BaoID=NULL '); SQL.Add(',RKPlace='''' '); sql.Add(',CRFlagQty=0'); sql.Add(' where RKOrdID='''+trim(CDS_Main.fieldbyname('RKOrdID').AsString)+''''); sql.Add(' and CRFlag=''入库'''); ExecSQL; end; MovePanel2.Visible:=False; with ADOQueryCmd do begin Close; sql.Clear; SQL.Add('select isnull(Count(BCID),0) ZPS,ConID,Mainid,CRType'); sql.Add(',QtyUnit=(select B.OrderUnit from JYOrderCon_Sub B where B.Subid=A.ConID)'); sql.Add(',KHName=(select isnull(B.CustomerNoName,B.CustomerNo) from JYOrderCon_Main B inner join JYOrderCon_Sub C on B.Mainid=C.Mainid where C.Subid=A.ConID)'); sql.Add(' from CK_BanCP_CR A where A.CRFlag=''入库'' and A.RKOrdID='''+Trim(CDS_Main.fieldbyname('RKOrdID').AsString)+''' group by Conid,Mainid,CRType'); Open; end; SCreateCDS20(ADOQueryCmd,ClientDataSet1); SInitCDSData20(ADOQueryCmd,ClientDataSet1); with ClientDataSet1 DO begin First; while not eof do begin if FieldByName('CRType').AsString='回修入库' then begin IF not YFData(ClientDataSet1) then begin application.MessageBox('生成应付款失败!','提示信息',0); exit; end; end; if FieldByName('CRType').AsString='检验入库' then begin if YSData(ClientDataSet1)=False then begin Application.MessageBox('更新应收款失败!','提示',0); Exit; end; end; next; end; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update CK_BanCP_CR Set '); sql.Add('RKOrdId='''' '); sql.Add('where RKOrdID='''+trim(CDS_Main.fieldbyname('RKOrdID').AsString)+''''); ExecSQL; end; application.MessageBox('撤销成功','提示'); InitGrid(); ADOQueryCmd.Connection.CommitTrans; except; MovePanel2.Visible:=False; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('撤销失败!','提示',0); end; end; procedure TfrmCKProductBCPInList.CheckBox1Click(Sender: TObject); begin SelOKNo(CDS_Main,CheckBox1.Checked); end; procedure TfrmCKProductBCPInList.ConNOKeyPress(Sender: TObject; var Key: Char); begin if Key=#13 then begin if Length(Trim(ConNO.Text))<3 then Exit; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; SQL.Add('select B.OrderNo,B.MPRTCodeName,C.PRTColor,B.MPRTSpec,C.prtkuanNo,C.PRTColorNO SOrddefstr1,C.PRTColorEng,B.MPRTMF,B.MPRTKZ,A.MJXH,C.PRTHX'); sql.Add(',G.customerNoName KHName,G.conNO,G.KHConNO,F.styleno,F.OrderUnit,A.*'); sql.add(' from CK_BanCP_CR A '); Sql.add(' left join JYOrder_Main B on A.MainId=B.MainId'); Sql.add(' left join JYOrder_Sub C on A.SubId=C.SubId'); sql.add(' left join JYOrderCon_Sub F on A.ConID=F.Subid '); sql.add(' left join JYOrderCon_Main G on G.Mainid=F.Mainid'); sql.add(' where G.ConNO like '''+'%'+trim(ConNO.Text)+'%'+''''); SQL.Add(' and A.CRFlag=''入库'' '); Open; //ShowMessage(SQL.Text); end; SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); finally; ADOQueryMain.EnableControls; end; end; end; procedure TfrmCKProductBCPInList.ToolButton2Click(Sender: TObject); var FFF:String; begin if CDS_Main.IsEmpty then Exit; if CDS_Main.Locate('SSel',True,[])=False then begin Application.MessageBox('没有选择数据!','提示',0); Exit; end; CDS_Main.DisableControls; with CDS_Main do begin first; while not eof do begin if FieldByName('Ssel').AsBoolean=True then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select YFID from YF_Money_CR where FactoryName='''+Trim(CDS_Main.fieldbyname('KHName').AsString)+''''); sql.Add(' and YFTypeId='''+Trim(CDS_Main.fieldbyname('ConID').AsString)+''''); sql.add(' and Mainid='''+Trim(CDS_Main.fieldbyname('Mainid').AsString)+''''); sql.add(' and YFName=''成品销售金额'''); sql.add(' and isnull(PBNote,'''')='''+Trim(CDS_Main.fieldbyname('CRNote').AsString)+''''); sql.add(' and CRFlag=''应收收'''); sql.add(' and isnull(Status,''0'')<>''0'''); Open; end; if ADOQueryCmd.IsEmpty=False then begin Application.MessageBox('费用已审核,不能撤销','提示',0); Exit; end; end; next; end; end; CDS_Main.EnableControls; if Application.MessageBox('确定要执行操作吗?','提示',32+4)<>IDYES then Exit; ToolBar1.SetFocus; try ADOQueryCmd.Connection.BeginTrans; CDS_Main.DisableControls; with CDS_Main do begin first; while not eof do begin if FieldByName('Ssel').AsBoolean=true then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete from CK_BanCP_CR '); sql.Add('where MJID='''+Trim(CDS_Main.fieldbyname('MJID').AsString)+''''); //sql.Add(' and CRFlag=''入库'''); ExecSQL; end; Delete; end else next; end; end; CDS_Main.EnableControls; Application.MessageBox('作废成功','提示'); InitGrid(); ADOQueryCmd.Connection.CommitTrans; except; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('作废失败!','提示',0); end; end; end.