unit U_ProductOrderAnPai; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, Menus, cxPC, BtnEdit, cxTextEdit, cxButtonEdit, cxDropDownEdit, MovePanel,StrUtils; type TfrmProductOrderAnPai = class(TForm) ToolBar1: TToolBar; TBPrint: TToolButton; TBClose: TToolButton; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; TBExport: TToolButton; Order_Main: TClientDataSet; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; PopupMenu1: TPopupMenu; N2: TMenuItem; ToolButton1: TToolButton; DataSource2: TDataSource; CDS_Sub: TClientDataSet; Panel2: TPanel; cxGrid2: TcxGrid; TV2: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; V2Column1: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; ToolBar2: TToolBar; ToolButton2: TToolButton; ToolButton3: TToolButton; ToolButton5: TToolButton; ToolButton6: TToolButton; ADOQueryPrint: TADOQuery; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; cxGridDBColumn2: TcxGridDBColumn; v1ConNo: TcxGridDBColumn; v1JGFactoryName: TcxGridDBColumn; v1OrdDate: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; cxGridDBColumn5: TcxGridDBColumn; v1MPRTCodeName: TcxGridDBColumn; v1MPRTSpec: TcxGridDBColumn; v1MPRTMF: TcxGridDBColumn; v1MPRTKZ: TcxGridDBColumn; cxGridDBColumn7: TcxGridDBColumn; v1PRTOrderQty: TcxGridDBColumn; cxGridLevel2: TcxGridLevel; V2Column2: TcxGridDBColumn; V2Column3: TcxGridDBColumn; V2Column4: TcxGridDBColumn; Panel1: TPanel; Label3: TLabel; OrderNoM: TEdit; cxGrid4: TcxGrid; Tv4: TcxGridDBTableView; v4Column1: TcxGridDBColumn; v4Column2: TcxGridDBColumn; cxGrid4Level1: TcxGridLevel; CDS_OrderNo: TClientDataSet; DS_OrderNo: TDataSource; V2Column5: TcxGridDBColumn; V2Column7: TcxGridDBColumn; V2Column8: TcxGridDBColumn; ToolButton4: TToolButton; ADOQueryHC: TADOQuery; Panel3: TPanel; DateTimePicker1: TDateTimePicker; BtnEditA1: TBtnEditA; ComboBox1: TComboBox; BtnEditA2: TBtnEditA; Label1: TLabel; Label2: TLabel; Label4: TLabel; Label5: TLabel; V2Column10: TcxGridDBColumn; ToolButton7: TToolButton; ToolButton8: TToolButton; V2Column11: TcxGridDBColumn; BtnEditA4: TBtnEditA; Label7: TLabel; v1Column1: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column4: TcxGridDBColumn; cxGridPopupMenu2: TcxGridPopupMenu; v1Column5: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column7: TcxGridDBColumn; ToolButton9: TToolButton; v1Column8: TcxGridDBColumn; v1Column9: TcxGridDBColumn; ToolButton10: TToolButton; V2Column12: TcxGridDBColumn; MovePanel2: TMovePanel; V2Column14: TcxGridDBColumn; V2Column15: TcxGridDBColumn; v1Column11: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column10: TcxGridDBColumn; V2Column6: TcxGridDBColumn; V2Column9: TcxGridDBColumn; V2Column13: TcxGridDBColumn; ADOQuery1: TADOQuery; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TBPrintClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBTPClick(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); procedure v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure AOrdDefNote12DblClick(Sender: TObject); procedure AOrdDefNote7BtnDnClick(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure OrderNoMChange(Sender: TObject); procedure Tv4DblClick(Sender: TObject); procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); procedure V2Column1PropertiesEditValueChanged(Sender: TObject); procedure cxGridDBColumn1PropertiesEditValueChanged(Sender: TObject); procedure V2Column4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure V2Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure V2Column6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure V2Column8PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure ToolButton4Click(Sender: TObject); procedure BtnEditA1BtnClick(Sender: TObject); procedure BtnEditA2BtnClick(Sender: TObject); procedure ToolButton8Click(Sender: TObject); procedure ToolButton7Click(Sender: TObject); procedure BtnEditA4BtnClick(Sender: TObject); procedure V2Column11PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure ToolButton9Click(Sender: TObject); procedure ToolButton10Click(Sender: TObject); procedure V2Column13PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure V2Column9PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); private DQdate:TDateTime; procedure InitGrid(); procedure InitForm(); function DelData():Boolean; procedure InitGridFH(); function SaveData():Boolean; procedure UpdateHC(FFirstNo:String); function YFData():Boolean; function DELYFData():Boolean; { Private declarations } public FFInt:Integer; { Public declarations } end; var frmProductOrderAnPai: TfrmProductOrderAnPai; newh:hwnd; implementation uses U_DataLink,U_OrderInPut,U_Fun, U_ZDYHelp,U_iniParam, U_ZDYHelpSel,U_BefChkHX; {$R *.dfm} procedure TfrmProductOrderAnPai.FormDestroy(Sender: TObject); begin frmProductOrderAnPai:=nil; end; procedure TfrmProductOrderAnPai.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmProductOrderAnPai.FormCreate(Sender: TObject); begin //BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7; //EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); DQdate:=SGetServerDate(ADOQueryTemp); end; procedure TfrmProductOrderAnPai.TBCloseClick(Sender: TObject); begin Close; WriteCxGrid('指示单信息',Tv1,'回仓管理'); WriteCxGrid('回仓信息JZC1',Tv2,'回仓管理'); end; procedure TfrmProductOrderAnPai.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; sql.Clear; sql.Add('select * from JYOrder_Sub_AnPai where LLId='''+Trim(Order_Main.fieldbyname('LLId').AsString)+''''); Open; end; SCreateCDS20(ADOQueryMain,CDS_Sub); SInitCDSData20(ADOQueryMain,CDS_Sub); finally ADOQueryMain.EnableControls; end; end; procedure TfrmProductOrderAnPai.InitGridFH(); begin end; procedure TfrmProductOrderAnPai.InitForm(); var i:Integer; begin DateTimePicker1.DateTime:=SGetServerDateTime(ADOQueryTemp); ReadCxGrid('指示单信息',Tv1,'回仓管理'); ReadCxGrid('回仓信息JZC1',Tv2,'回仓管理'); end; function TfrmProductOrderAnPai.DelData():Boolean; begin try Result:=false; ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete JYOrder_Sub where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); ExecSQL; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from JYOrder_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); Open; if IsEmpty then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete JYOrder_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); ExecSQL; end; end; end; if Trim(Order_Main.fieldbyname('SubId').AsString)='' then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete JYOrder_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); ExecSQL; end; end; ADOQueryCmd.Connection.CommitTrans; Result:=True; except ADOQueryCmd.Connection.RollbackTrans; Result:=False; Application.MessageBox('数据删除异常!','提示',0); end; end; procedure TfrmProductOrderAnPai.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; SelExportData(Tv1,ADOQueryMain,'采购单列表'); end; procedure TfrmProductOrderAnPai.TBPrintClick(Sender: TObject); var fPrintFile:string; Porderno:string; begin if Order_Main.IsEmpty then Exit; fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\采购单.rmf' ; SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); if FileExists(fPrintFile) then begin //RMVariables['begindate']:=begindate.DateTime; //RMVariables['enddate']:=enddate.DateTime; //RMVariables['printtime']:=Now; //RMVariables['printer']:=Trim(gUserName); RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+'Report\生产指示单10.rmf'),'提示',0); end; SDofilter(ADOQueryMain,''); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); Order_Main.Locate('ordernoM',Porderno,[]); //SelPrintData(TV4,ADOQueryMain,'合同查询报表'); end; procedure TfrmProductOrderAnPai.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmProductOrderAnPai.TBTPClick(Sender: TObject); var FQty,FQty1,FMxQty,FPQty,FMxQtyS,FPQtyS:String; begin end; procedure TfrmProductOrderAnPai.CheckBox1Click(Sender: TObject); begin InitGrid(); end; procedure TfrmProductOrderAnPai.Tv1StylesGetContentStyle( Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); var id,id10:Integer; begin {try if Tv1.GroupedItemCount=0 then begin Id:=Tv1.GetColumnByFieldName('DeliveryDate').Index-tv1.GroupedItemCount; Id10:=Tv1.GetColumnByFieldName('SubStatus').Index-tv1.GroupedItemCount; if Trim(VarToStr(ARecord.Values[id]))='' then Exit; if Id<0 then Exit; if ARecord.Values[id10]='完成' then exit; if (ARecord.Values[id]-DQdate)>=4 then Exit; if ((ARecord.Values[id]-DQdate)>=0) and ((ARecord.Values[id]-DQdate)<4) then AStyle:=DataLink_.QHuangSe else if ARecord.Values[id]-DQdate<0 then begin AStyle:=DataLink_OrderManage.FenHongS; end; end else begin end; except end; } end; procedure TfrmProductOrderAnPai.v1DeliveryDateCustomDrawCell( Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); begin { Id:=TV1.GetColumnByFieldName('DeliveryDate').Index;//;-TV1.GroupedItemCount; Id10:=TV1.GetColumnByFieldName('SubStatus').Index; if Id<0 then Exit; if AViewInfo.GridRecord.Values[Id10]='完成' then Exit; if AViewInfo.GridRecord.Values[Id]-SGetServerDate(ADOQueryTemp)>=4 then Exit; if ((AViewInfo.GridRecord.Values[id]-SGetServerDate10(ADOQueryTemp))>=0) and ((AViewInfo.GridRecord.Values[id]-SGetServerDate(ADOQueryTemp))<4) then ACanvas.Brush.Color:=clYellow else if (AViewInfo.GridRecord.Values[id])-(SGetServerDate10(ADOQueryTemp)<0) then begin ACanvas.Brush.Color:=clRed; end; begin ACanvas.Brush.Color:=clRed; end else if AViewInfo.GridRecord.Values[Id]='Purple' then begin ACanvas.Brush.Color:=clPurple; end else if AViewInfo.GridRecord.Values[Id]='Olive' then begin ACanvas.Brush.Color:=clOlive; end else if AViewInfo.GridRecord.Values[Id]='Teal' then begin ACanvas.Brush.Color:=clTeal; end else if AViewInfo.GridRecord.Values[Id]='Background' then begin ACanvas.Brush.Color:=clBackground; end; } end; procedure TfrmProductOrderAnPai.N1Click(Sender: TObject); var fPrintFile:string; Porderno:string; begin if Order_Main.IsEmpty then Exit; fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\生产指示单10.rmf' ; SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); if FileExists(fPrintFile) then begin //RMVariables['begindate']:=begindate.DateTime; //RMVariables['enddate']:=enddate.DateTime; //RMVariables['printtime']:=Now; //RMVariables['printer']:=Trim(gUserName); RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+'Report\生产指示单10.rmf'),'提示',0); end; SDofilter(ADOQueryMain,''); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); Order_Main.Locate('ordernoM',Porderno,[]); end; procedure TfrmProductOrderAnPai.N2Click(Sender: TObject); var fPrintFile:string; Porderno:string; begin if Order_Main.IsEmpty then Exit; fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\生产指示单.rmf' ; SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); if FileExists(fPrintFile) then begin //RMVariables['begindate']:=begindate.DateTime; //RMVariables['enddate']:=enddate.DateTime; //RMVariables['printtime']:=Now; //RMVariables['printer']:=Trim(gUserName); RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+'Report\生产指示单.rmf'),'提示',0); end; SDofilter(ADOQueryMain,''); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); Order_Main.Locate('ordernoM',Porderno,[]); end; procedure TfrmProductOrderAnPai.ToolButton1Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; try frmOrderInPut:=TfrmOrderInPut.Create(Application); with frmOrderInPut do begin PState:=1; FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); ToolBar2.Visible:=False; TBSave.Visible:=False; Tv1.OptionsSelection.CellSelect:=False; if ShowModal=1 then begin end; end; finally frmOrderInPut.Free; end; end; procedure TfrmProductOrderAnPai.ToolButton2Click(Sender: TObject); var FLBName:String; begin {if CDS_Sub.IsEmpty=False then begin FLBName:=Trim(CDS_Sub.fieldbyname('LBName').AsString); end; } if CDS_Sub.IsEmpty then begin with CDS_Sub do begin Append; FieldByName('SubId').Value:=Trim(Order_Main.fieldbyname('SubId').AsString); FieldByName('ADefDate1').Value:=DateTimePicker1.Date; FieldByName('AOrddefstr4').Value:=Trim(BtnEditA1.Text); FieldByName('AOrddefstr5').Value:=Trim(BtnEditA1.TxtCode); FieldByName('AOrddefstr2').Value:=Trim(Order_Main.fieldbyname('TPUnit').AsString); FieldByName('AOrddefstr3').Value:=Trim(BtnEditA2.Text); FieldByName('AOrddefstr6').Value:=Trim(BtnEditA4.Text); Post; end; end else begin ToolBar1.SetFocus; //CopyAddRowCDS(CDS_Sub); CopyAddRow(TV2,CDS_Sub); with CDS_Sub do begin Edit; FieldByName('APID').Value:=null; FieldByName('GangNo').Value:=null; FieldByName('AOrddefstr1').Value:=null; FieldByName('AOrdQty2').Value:=null; FieldByName('AOrdQty1').Value:=null; FieldByName('GangNo').Value:=null; //Post; end; end; end; procedure TfrmProductOrderAnPai.ToolButton3Click(Sender: TObject); begin if CDS_Sub.IsEmpty then Exit; if Trim(CDS_Sub.fieldbyname('APID').AsString)<>'' then begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select Top 1* from WFB_MJJY where APID='''+Trim(CDS_Sub.fieldbyname('APID').AsString)+''''); Open; end; if ADOQueryTemp.IsEmpty=False then begin Application.MessageBox('已产生检验数据不能删除!','提示',0); Exit; end; if Application.MessageBox('确定要删除数据吗?','提示',32+4)<>IDYES then Exit; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete JYOrder_Sub_AnPai where APID='''+Trim(CDS_Sub.fieldbyname('APID').AsString)+''''); ExecSQL; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate Contract_Cloth_LL Set HCPS=(select isnull(sum(AOrdQty2),0) from JYOrder_Sub_AnPai A where A.LLID=Contract_Cloth_LL.LLID )'); sql.Add(',HCMQty=(select isnull(sum(HCMQty),0) from JYOrder_Sub_AnPai A where A.LLID=Contract_Cloth_LL.LLID )'); sql.Add(' where LLID='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); ExecSQL; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update Contract_Cloth_LL Set HCQty=HCMQty*1.00/TPMQty*TPQty '); sql.Add(' where LLID='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); ExecSQL; end; if DELYFData()=False then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('更新应付款失败!','提示',0); end; ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; end; end; with CDS_Sub do begin Delete; end; if CDS_Sub.IsEmpty then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate JYOrder_Sub Set SOrdFlag20=0 where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); ExecSQL; end; end; {with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('UPdate Contract_Cloth_LL Set HCPS=0,HCQty=0,HCMQty=0 where OrdSubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); ExecSQL; end; with ADOQueryHC do begin Close; sql.Clear; sql.Add('select distinct(AOrddefstr5) AOrddefstr5 from JYOrder_Sub_AnPai where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); Open; end; if ADOQueryHC.IsEmpty then UpdateHC(Trim(ADOQueryHC.fieldbyname('AOrddefstr5').AsString)) else begin with ADOQueryHC do begin First; while not Eof do begin UpdateHC(Trim(ADOQueryHC.fieldbyname('AOrddefstr5').AsString)); Next; end; end; end; } end; function TfrmProductOrderAnPai.SaveData():Boolean; var maxno,CRID,OrdMainId,YFID,YFIDMaxNo:String; begin try ADOQueryCmd.Connection.BeginTrans; ///保存子表 with CDS_Sub do begin First; while not Eof do begin if Trim(CDS_Sub.fieldbyname('APId').AsString)='' then begin if GetLSNo(ADOQueryCmd,maxno,'','JYOrder_Sub_AnPai',3,1)=False then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取子流水号失败!','提示',0); Exit; end; end else begin maxno:=Trim(CDS_Sub.fieldbyname('APId').AsString); end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from JYOrder_Sub_AnPai where APId='''+Trim(CDS_Sub.fieldbyname('APId').AsString)+''''); Open; end; with ADOQueryCmd do begin if Trim(CDS_Sub.fieldbyname('APId').AsString)='' then Append else Edit; FieldByName('MainId').Value:=Trim(Order_Main.fieldbyname('MainId').AsString); FieldByName('SubId').Value:=Trim(Order_Main.fieldbyname('SubId').AsString); FieldByName('ApId').Value:=Trim(maxno); FieldByName('ADefDate1').Value:=CDS_Sub.fieldbyname('ADefDate1').Value; FieldByName('AOrddefstr4').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); FieldByName('AOrddefstr5').Value:=Trim(Order_Main.fieldbyname('FirstNo').AsString); FieldByName('GangNo').Value:=CDS_Sub.fieldbyname('GangNo').Value; FieldByName('AOrddefstr1').Value:=CDS_Sub.fieldbyname('AOrddefstr1').Value; FieldByName('AOrddefstr2').Value:=CDS_Sub.fieldbyname('AOrddefstr2').Value; FieldByName('LBName').Value:=CDS_Sub.fieldbyname('LBName').Value; if Trim(CDS_Sub.fieldbyname('ZSXS').AsString)<>'' then FieldByName('ZSXS').Value:=CDS_Sub.fieldbyname('ZSXS').Value else FieldByName('ZSXS').Value:=1; {if Trim(CDS_Sub.fieldbyname('JGPrice').AsString)<>'' then FieldByName('JGPrice').Value:=CDS_Sub.fieldbyname('JGPrice').Value else FieldByName('JGPrice').Value:=0; } FieldByName('AOrdQty2').Value:=CDS_Sub.fieldbyname('AOrdQty2').Value; FieldByName('AOrdQty1').Value:=CDS_Sub.fieldbyname('AOrdQty1').Value; FieldByName('AOrddefstr3').Value:=CDS_Sub.fieldbyname('AOrddefstr3').Value; FieldByName('AOrdDefNote1').Value:=CDS_Sub.fieldbyname('AOrdDefNote1').Value; FieldByName('LLID').Value:=Order_Main.fieldbyname('LLID').Value; FieldByName('AOrddefstr6').Value:=CDS_Sub.fieldbyname('AOrddefstr6').Value; FieldByName('AOrdDefNote1').Value:=CDS_Sub.fieldbyname('AOrdDefNote1').Value; FieldByName('APType').Value:=CDS_Sub.fieldbyname('APType').Value; if Trim(CDS_Sub.fieldbyname('JYMF').AsString)<>'' then FieldByName('JYMF').Value:=CDS_Sub.fieldbyname('JYMF').Value; if Trim(CDS_Sub.fieldbyname('JYKZ').AsString)<>'' then FieldByName('JYKZ').Value:=CDS_Sub.fieldbyname('JYKZ').Value; if CDS_Sub.fieldbyname('AOrdFlag1').AsBoolean=True then FieldByName('AOrdFlag1').Value:=1 else FieldByName('AOrdFlag1').Value:=0; if Trim(CDS_Sub.fieldbyname('APId').AsString)='' then FieldByName('Filler').Value:=Trim(DName) else begin FieldByName('Editer').Value:=Trim(DName); FieldByName('EditTime').Value:=SGetServerDateTime(ADOQueryTemp); end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select Top 1* from Contract_Cloth_LL where LLId='''+Trim(Order_Main.fieldbyname('LLId').AsString)+''''); Open; end; if Trim(ADOQueryTemp.fieldbyname('TPUnit').AsString)=Trim(CDS_Sub.fieldbyname('AOrddefstr2').AsString) then begin FieldByName('HCYZQty').Value:=CDS_Sub.fieldbyname('AOrdQty1').Value; end else begin if Trim(CDS_Sub.fieldbyname('AOrddefstr2').AsString)='M' then begin FieldByName('HCYZQty').Value:=(CDS_Sub.fieldbyname('AOrdQty1').Value*1.00/ADOQueryTemp.fieldbyname('TPMQty').Value) *ADOQueryTemp.fieldbyname('TPQty').Value ; end; end; Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate JYOrder_Sub Set SOrdFlag20=1 where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); ExecSQL; end; CDS_Sub.Edit; CDS_Sub.FieldByName('APId').Value:=Trim(maxno); CDS_Sub.FieldByName('SubId').Value:=Trim(Order_Main.fieldbyname('SubId').AsString); { with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' UPdate WFB_MJJY Set MJTypeOther='''+Trim(CDS_Sub.fieldbyname('AOrddefstr3').AsString)+''''); SQL.Add(' where APId='''+Trim(maxno)+''''); sql.Add(' UPdate CK_BanCP_KC Set KCQtyUnit='''+Trim(CDS_Sub.fieldbyname('AOrddefstr3').AsString)+''''); SQL.Add(' where MJId in (select MJID from WFB_MJJY where APID='''+Trim(maxno)+''')'); sql.Add(' UPdate CK_BanCP_CR Set QtyUnit='''+Trim(CDS_Sub.fieldbyname('AOrddefstr3').AsString)+''''); SQL.Add(' where MJId in (select MJID from WFB_MJJY where APID='''+Trim(maxno)+''')'); ExecSQL; end; } //OrdMainId:=Trim(Order_Main.fieldbyname('MainId').AsString); with ADOQuery1 do begin Close; SQL.Clear; sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(Order_Main.fieldbyname('FirstName').AsString)+''''); Open; end; if ADOQuery1.IsEmpty=False then begin CRID:=ADOQuery1.fieldbyname('CRID').AsString; end else begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update YF_Money_CRID set CRID=CRID+1'); sql.Add('select * from YF_Money_CRID '); Open; end; CRID:=ADOQueryCmd.fieldbyname('CRID').AsString; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from YF_Money_KC where 1<>1'); Open; end; with ADOQueryCmd do begin Append; FieldByName('CRID').Value:=StrToInt(CRID); FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); FieldByName('ZdyStr1').Value:='应付付'; Post; end; end; if CDS_Sub.FieldByName('AOrdFlag1').AsBoolean<>True then begin with ADOQuery1 do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR where FactoryName='''+Trim(Order_Main.fieldbyname('FirstName').AsString)+''''); sql.Add(' and YFTypeId='''+Trim(CDS_Sub.fieldbyname('APId').AsString)+''''); if Trim(Order_Main.fieldbyname('DHIDHelp').AsString)='' then sql.Add(' and YFName=''染费'' ') else sql.Add(' and YFName=''加工费'' '); Open; end; YFID:=Trim(ADOQuery1.fieldbyname('YFID').AsString); // if Trim(YFID)='' then if Trim(YFID)='' then begin if GetLSNo(ADOQueryCmd,YFIDMaxNo,'RJ','YF_Money_CR',3,1)=False then begin Application.MessageBox('取染费应付最大号失败!','提示',0); Exit; end; end else begin YFIDMaxNo:=YFID; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR where YFID='''+Trim(YFID)+''''); Open; end; with ADOQueryCmd do begin if Trim(YFID)='' then begin Append; FieldByName('Filler').Value:=Trim(DName); end else begin Edit; FieldByName('Editer').Value:=Trim(DName); FieldByName('EditTime').Value:=SGetServerDateTime(ADOQueryTemp); end; FieldByName('YFID').Value:=Trim(YFIDMaxNo); FieldByName('YFTypeId').Value:=Trim(CDS_Sub.fieldbyname('APId').AsString); FieldByName('CRID').Value:=StrToInt(CRID); FieldByName('CRType').Value:='应付款登记'; FieldByName('CRFlag').Value:='应付付'; FieldByName('QtyFlag').Value:=1; FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); FieldByName('CRTime').Value:=CDS_Sub.fieldbyname('ADefDate1').Value; if Trim(CDS_Sub.fieldbyname('AOrdQty1').AsString)<>'' then FieldByName('Qty').Value:=CDS_Sub.fieldbyname('AOrdQty1').Value else FieldByName('Qty').Value:=0; FieldByName('YFType').Value:='自动生成'; FieldByName('HuiLv').Value:=1; FieldByName('BZType').Value:='人民币'; FieldByName('ComTaiTou').Value:=Trim(Order_Main.fieldbyname('OrdDefStr2').AsString); FieldByName('QtyUnit').Value:=Trim(Order_Main.fieldbyname('TPUnit').AsString); if Trim(Order_Main.fieldbyname('DHIDHelp').AsString)='' then FieldByName('YFName').Value:='染费' else FieldByName('YFName').Value:='加工费'; FieldByName('MainId').Value:=Trim(Order_Main.fieldbyname('MainId').AsString); Post; end; 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(YFIDMaxNo)+''''); 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; {if YFData()=False then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('更新财务应付款失败!','提示',0); Exit; end;} Next; end; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate Contract_Cloth_LL Set HCPS=(select isnull(sum(AOrdQty2),0) from JYOrder_Sub_AnPai A where A.LLID=Contract_Cloth_LL.LLID )'); sql.Add(',HCMQty=(select isnull(sum(HCMQty),0) from JYOrder_Sub_AnPai A where A.LLID=Contract_Cloth_LL.LLID )'); sql.Add(' where LLID='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); ExecSQL; end; with ADOQueryCmd do begin Close; sql.Clear; if (Trim(CDS_Sub.fieldbyname('AOrddefstr2').AsString)=Trim(Order_Main.fieldbyname('TPUnit').AsString)) then sql.Add('Update Contract_Cloth_LL Set HCQty=(select isnull(Sum(AOrdQty1),0) from JYOrder_Sub_AnPai A where A.LLID=Contract_Cloth_LL.LLID) ') else sql.Add('Update Contract_Cloth_LL Set HCQty=HCMQty*1.00/TPMQty*TPQty '); sql.Add(' where LLID='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; Result:=True; except Result:=False; MovePanel2.Visible:=False; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('操作异常!','提示',0); end; end; procedure TfrmProductOrderAnPai.AOrdDefNote12DblClick(Sender: TObject); var fsj:string; FWZ:Integer; begin fsj:=Trim(TEdit(Sender).Hint); FWZ:=Pos('/',fsj); try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:=Copy(fsj,1,FWZ-1); flagname:=Copy(fsj,FWZ+1,Length(fsj)-fwz); if ShowModal=1 then begin TEdit(Sender).Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmProductOrderAnPai.AOrdDefNote7BtnDnClick(Sender: TObject); begin TBtnEditC(Sender).Text:=''; TBtnEditC(Sender).TxtCode:=''; end; procedure TfrmProductOrderAnPai.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmProductOrderAnPai.ToolButton5Click(Sender: TObject); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='WFBCD'; flagname:='疵点'; fnote:=True; V1Note.Caption:='英文名称'; if ShowModal=1 then begin end; end; finally frmZDYHelp.Free; end; end; procedure TfrmProductOrderAnPai.ToolButton6Click(Sender: TObject); var fPrintFile,JYNote:string; begin if CDS_Sub.IsEmpty then Exit; if CDS_Sub.Locate('SSel',True,[])=False then begin Application.MessageBox('未选择要打印的数据!','提示',0); Exit; end; CDS_Sub.DisableControls; with CDS_Sub do begin First; while not Eof do begin if CDS_Sub.FieldByName('SSel').AsBoolean=True then begin if Trim(CDS_Sub.fieldbyname('APID').AsString) ='' then begin CDS_Sub.EnableControls; Application.MessageBox('数据未保存不能打印!','提示',0); Exit; end; end; Next; end; end; CDS_Sub.EnableControls; fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\检验指示单标签.rmf' ; if FileExists(fPrintFile) then begin //RMVariables['begindate']:=begindate.DateTime; //RMVariables['enddate']:=enddate.DateTime; //RMVariables['printtime']:=Now; //RMVariables['printer']:=Trim(gUserName); //RM1.LoadFromFile(fPrintFile); //RM1.ShowReport; //RM1.PrintReport; end else begin Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+'Report\检验指示单标签.rmf'),'提示',0); Exit; end; CDS_Sub.DisableControls; with CDS_Sub do begin First; while not Eof do begin if CDS_Sub.FieldByName('SSel').AsBoolean=True then begin with ADOQueryPrint do begin Close; sql.Clear; sql.Add('select A.*,OrderNoM=B.OrderNo ,B.MPRTCodeName,C.PRTColor,B.MPRTBZNote,B.MPRTKaiJian, '); sql.Add('B.MPRTYaoFeng,B.MPRTTangJin,B.MPRTJiBenNote,B.MPRTTeBieNote,C.SOrddefstr1'); sql.Add(' from JYOrder_Sub_AnPai A inner join JYOrder_Main B on A.MainId=B.MainId'); sql.Add('inner join JYOrder_Sub C on A.SubId=C.SubId where A.APID='''+Trim(CDS_Sub.fieldbyname('APID').AsString)+''''); Open; end; JYNote:='包装要求:'+Trim(ADOQueryPrint.fieldbyname('MPRTBZNote').AsString)+#13 +'封条和挂钩:'+Trim(ADOQueryPrint.fieldbyname('MPRTYaoFeng').AsString)+#13 +'烫金:'+Trim(ADOQueryPrint.fieldbyname('MPRTTangJin').AsString)+#13 +'基本要求:'+Trim(ADOQueryPrint.fieldbyname('MPRTJiBenNote').AsString)+#13 +'特别提示:'+Trim(ADOQueryPrint.fieldbyname('MPRTTeBieNote').AsString); RMVariables['JYNote']:=Trim(JYNote); RM1.LoadFromFile(fPrintFile); RM1.PrintReport; end; Next; end; end; CDS_Sub.EnableControls; end; procedure TfrmProductOrderAnPai.OrderNoMChange(Sender: TObject); var mvalue:String; begin mvalue:=Trim(OrderNoM.Text); if Length(Trim(mvalue))<3 then begin cxGrid4.Visible:=False; Exit; end; mvalue:='%'+Trim(mvalue)+'%'; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select OrderNo,MPRTCodeName,A.MainId from JYOrder_Main A'); sql.Add(' where A.orderno like :orderno '); sql.Add(' and A.MainId in(select MainId from JYOrder_Sub B where B.Mainid=A.MainId and B.subId in(select OrdSubId from Contract_Cloth_LL))'); Parameters.ParamByName('orderno').Value:=mvalue; Open; end; SCreateCDS20(ADOQueryTemp,CDS_OrderNo); SInitCDSData20(ADOQueryTemp,CDS_OrderNo); if CDS_OrderNo.IsEmpty then cxGrid4.Visible:=False else cxGrid4.Visible:=True; end; procedure TfrmProductOrderAnPai.Tv4DblClick(Sender: TObject); begin cxGrid4.Visible:=False; with ADOQueryTemp do begin Close; sql.Clear; SQL.Add(' select isnull(PBFactory10,PBFactory20) PBFactory,AA.* from('); sql.Add('select A.*,B.PRTColor,B.SubId,B.PRTOrderQty,B.OrderUnit,B.SLbName,C.FirstName,C.FirstNo,B.SOrddefstr1,B.SOrddefstr4, '); sql.Add('C.TPPS,C.TPQty,C.LLID,C.HCPS,C.HCQty,C.HXUnit,C.DHIDHelp,C.DHID,C.TPUnit,'); sql.Add('HXPS=(select Sum(HXPS) from Contract_Cloth_BefChkHX HX where HX.LLID=C.LLID),'); sql.Add('HXQty=(select Sum(HXQty) from Contract_Cloth_BefChkHX HX where HX.LLID=C.LLID),'); sql.Add('PBFactory10=(select Top 1 AA.factoryNoName from Contract_Main AA inner join Contract_Cloth_DH BB on AA.MainId=BB.MainId'); sql.Add(' where BB.DHID=C.DHID)'); sql.Add(',PBFactory20=(select Top 1 FirstName from ContractSX_Cloth_DH SD where SD.DHID=C.SXDHID)'); sql.Add('from JYOrder_Main A inner join JYOrder_Sub B on A.MainId=B.MainId '); sql.Add(' inner join Contract_Cloth_LL C on C.OrdSubId=B.SubId'); sql.Add('where A.MainId='''+Trim(CDS_OrderNo.fieldbyname('MainId').AsString)+''''); // sql.Add(' and C.JXJGFlag=0'); // sql.Add(' and exists(select * from Contract_Cloth_LLMX LM where LM.OrdSubId=B.SubId and LM.OrdSubId=C.OrdSubId )'); sql.Add(' and exists( select * from Contract_Cloth_LLMX LLM where LLM.DHID=isnull(C.DHIdHelp,C.DHID)) )AA'); //ShowMessage(SQL.Text); Open; end; SCreateCDS20(ADOQueryTemp,Order_Main); SInitCDSData20(ADOQueryTemp,Order_Main); end; procedure TfrmProductOrderAnPai.Tv1FocusedRecordChanged( Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); begin InitGrid(); BtnEditA1.TxtCode:=Trim(Order_Main.fieldbyname('FirstNo').AsString); BtnEditA1.Text:=Trim(Order_Main.fieldbyname('FirstName').AsString); BtnEditA4.Text:=Trim(Order_Main.fieldbyname('PBFactory').AsString); end; procedure TfrmProductOrderAnPai.V2Column1PropertiesEditValueChanged( Sender: TObject); //var //mvalue,FFieldName,mvalue10,mvalue20:String; //FHCPS,FHCQty,FHCMQty:Double; begin {if Trim(CDS_Sub.fieldbyname('AOrddefstr4').AsString)='' then begin Application.MessageBox('染厂不能为空!','提示',0); Exit; end; with Self.ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from Contract_Cloth_LL A '); sql.Add(' where A.FirstNo='''+Trim(CDS_Sub.fieldbyname('AOrddefstr5').AsString)+''''); sql.Add(' and A.OrdSubId='''+Trim(CDS_Sub.fieldbyname('SubId').AsString)+''''); Open; end; if Self.ADOQueryTemp.IsEmpty then begin Application.MessageBox('此染厂没有相对应的数据!','提示',0); Exit; end; mvalue:=TcxTextEdit(Sender).EditingText; FFieldName:=Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); if FFieldName='AOrdQty1' then begin if Trim(CDS_Sub.fieldbyname('AOrddefstr2').AsString)='' then begin Application.MessageBox('数量单位不能为空!','提示',0); Exit; end; end; if Trim(mvalue)='' then begin if FFieldName='ZSXS' then mvalue:='1' else if FFieldName='AOrddefstr2' then mvalue:='' else mvalue:='0'; end; with CDS_Sub do begin Edit; FieldByName(FFieldName).Value:=Trim(mvalue); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate JYOrder_Sub_AnPai '); if Trim(FFieldName)='AOrddefstr2' then begin sql.Add(' Set '+FFieldName+'='''+Trim(mvalue)+''''); end else begin sql.Add(' Set '+FFieldName+'='+Trim(mvalue)); end; SQL.Add(',Editer='''+Trim(DName)+''''); SQL.Add(',Edittime=getdate() '); SQL.Add(' where APId='''+Trim(CDS_Sub.fieldbyname('APId').AsString)+''''); ExecSQL; end; if Trim(FFieldName)='AOrdQty2' then begin with ADOQueryTemp do begin Close; SQL.Clear; sql.Add('select isnull(Sum(AOrdQty2),0) HCPS,isnull(Sum(AOrdQty1),0) HCQty from JYOrder_Sub_AnPai '); sql.Add(' where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); sql.Add(' and AOrddefstr5='''+Trim(CDS_Sub.fieldbyname('AOrddefstr5').AsString)+''''); Open; end; FHCPS:=ADOQueryTemp.FieldByName('HCPS').Value; if FHCPS>0 then begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from Contract_Cloth_LL where OrdSubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); sql.Add(' and FirstNo='''+Trim(CDS_Sub.fieldbyname('AOrddefstr5').AsString)+''''); SQL.Add(' order by LLIdx'); Open; end; with ADOQueryTemp do begin First; while (not eof) and (FHCPS>0) do begin if FHCPS>=FieldByName('TPPS').Value then begin with ADOQueryCmd do begin Close; sql.Clear; SQL.Add('Update Contract_Cloth_LL Set HCPS=TPPS '); sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); ExecSQL; end; FHCPS:=FHCPS-FieldByName('TPPS').Value; end else begin with ADOQueryCmd do begin Close; sql.Clear; SQL.Add('Update Contract_Cloth_LL Set HCPS='+FloatToStr(FHCPS)); sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); ExecSQL; end; FHCPS:=0; end; Next; end; end; end; end; if Trim(FFieldName)='AOrdQty1' then begin with ADOQueryTemp do begin Close; SQL.Clear; sql.Add('select isnull(Sum(AOrdQty2),0) HCPS,isnull(Sum(AOrdQty1),0) HCQty from JYOrder_Sub_AnPai '); sql.Add(' where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); sql.Add(' and AOrddefstr5='''+Trim(CDS_Sub.fieldbyname('AOrddefstr5').AsString)+''''); Open; end; FHCQty:=ADOQueryTemp.FieldByName('HCQty').Value; if FHCQty>0 then begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from Contract_Cloth_LL where OrdSubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); sql.Add(' and FirstNo='''+Trim(CDS_Sub.fieldbyname('AOrddefstr5').AsString)+''''); SQL.Add(' order by LLIdx'); Open; end; with ADOQueryTemp do begin First; while (not eof) and (FHCQty>0) do begin if FHCQty>=FieldByName('BCPQty').Value then begin with ADOQueryCmd do begin Close; sql.Clear; SQL.Add('Update Contract_Cloth_LL Set HCQty=BCPQty '); sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); ExecSQL; end; FHCQty:=FHCQty-FieldByName('BCPQty').Value; end else begin with ADOQueryCmd do begin Close; sql.Clear; SQL.Add('Update Contract_Cloth_LL Set HCQty='+FloatToStr(FHCQty)); sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); ExecSQL; end; FHCQty:=0; end; Next; end; end; end; end;} end; procedure TfrmProductOrderAnPai.UpdateHC(FFirstNo:String); var FHCPS,FHCYZQty,FHCMQty:Double; begin with ADOQueryTemp do begin Close; SQL.Clear; sql.Add('select isnull(Sum(AOrdQty2),0) HCPS from JYOrder_Sub_AnPai '); sql.Add(' where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); sql.Add(' and AOrddefstr5='''+Trim(FFirstNo)+''''); Open; end; FHCPS:=ADOQueryTemp.FieldByName('HCPS').Value; if FHCPS=0 then begin end; if FHCPS>0 then begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from Contract_Cloth_LL where OrdSubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); sql.Add(' and FirstNo='''+Trim(FFirstNo)+''''); SQL.Add(' order by LLIdx'); Open; end; with ADOQueryTemp do begin First; while (not eof) and (FHCPS>0) do begin if FHCPS>=FieldByName('TPPS').Value then begin with ADOQueryCmd do begin Close; sql.Clear; SQL.Add('Update Contract_Cloth_LL Set HCPS=TPPS '); sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); ExecSQL; end; FHCPS:=FHCPS-FieldByName('TPPS').Value; end else begin with ADOQueryCmd do begin Close; sql.Clear; SQL.Add('Update Contract_Cloth_LL Set HCPS='+FloatToStr(FHCPS)); sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); ExecSQL; end; FHCPS:=0; end; Next; end; end; end; with ADOQueryTemp do begin Close; SQL.Clear; sql.Add('select isnull(Sum(HCYZQty),0) HCYZQty,isnull(Sum(HCMQty),0) HCMQty from JYOrder_Sub_AnPai '); sql.Add(' where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); sql.Add(' and AOrddefstr5='''+Trim(FFirstNo)+''''); Open; end; FHCYZQty:=ADOQueryTemp.FieldByName('HCYZQty').Value; FHCMQty:=ADOQueryTemp.FieldByName('HCMQty').Value; if FHCYZQty>=0 then begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from Contract_Cloth_LL where OrdSubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); sql.Add(' and FirstNo='''+Trim(FFirstNo)+''''); SQL.Add(' order by LLIdx'); Open; end; with ADOQueryTemp do begin First; while (not eof) and (FHCYZQty>0) do begin if FHCYZQty>=FieldByName('BCPQty').Value then begin with ADOQueryCmd do begin Close; sql.Clear; SQL.Add('Update Contract_Cloth_LL Set HCQty=BCPQty '); sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); ExecSQL; end; FHCYZQty:=FHCYZQty-FieldByName('BCPQty').Value; end else begin with ADOQueryCmd do begin Close; sql.Clear; SQL.Add('Update Contract_Cloth_LL Set HCQty='+FloatToStr(FHCYZQty)); sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); ExecSQL; end; FHCYZQty:=0; end; Next; end; end; with ADOQueryTemp do begin First; while (not eof) and (FHCMQty>0) do begin if FHCMQty>=FieldByName('BCPMQty').Value then begin with ADOQueryCmd do begin Close; sql.Clear; SQL.Add('Update Contract_Cloth_LL Set HCMQty=BCPMQty '); sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); ExecSQL; end; FHCMQty:=FHCMQty-FieldByName('BCPMQty').Value; end else begin with ADOQueryCmd do begin Close; sql.Clear; SQL.Add('Update Contract_Cloth_LL Set HCMQty='+FloatToStr(FHCMQty)); sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); ExecSQL; end; FHCMQty:=0; end; Next; end; end; end; end; procedure TfrmProductOrderAnPai.cxGridDBColumn1PropertiesEditValueChanged( Sender: TObject); //var //mvalue,FFieldName:String; begin {mvalue:=TcxTextEdit(Sender).EditingText; FFieldName:=Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); with CDS_Sub do begin Edit; FieldByName(FFieldName).Value:=Trim(mvalue); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate JYOrder_Sub_AnPai '); if Trim(mvalue)<>'' then begin sql.Add(' Set '+FFieldName+'='''+Trim(mvalue)+''''); end else begin sql.Add(' Set '+FFieldName+'=NULL'); end; SQL.Add(',Editer='''+Trim(DName)+''''); SQL.Add(',Edittime=getdate() '); SQL.Add(' where APId='''+Trim(CDS_Sub.fieldbyname('APId').AsString)+''''); ExecSQL; end; } end; procedure TfrmProductOrderAnPai.V2Column4PropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='OrderUnit'; flagname:='数量单位'; if ShowModal=1 then begin Self.CDS_Sub.Edit; Self.CDS_Sub.FieldByName('AOrddefstr2').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate JYOrder_Sub_AnPai '); sql.Add(' Set AOrddefstr2='''+Trim(ClientDataSet1.fieldbyname('ZDYName').AsString)+''''); SQL.Add(',Editer='''+Trim(DName)+''''); SQL.Add(',Edittime=getdate() '); SQL.Add(' where APId='''+Trim(CDS_Sub.fieldbyname('APId').AsString)+''''); sql.Add(' UPdate WFB_MJJY Set MJStr1='''+Trim(ClientDataSet1.fieldbyname('ZDYName').AsString)+''''); SQL.Add(' where APId='''+Trim(CDS_Sub.fieldbyname('APId').AsString)+''''); ExecSQL; end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmProductOrderAnPai.V2Column5PropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='OrderUnit'; flagname:='数量单位'; if ShowModal=1 then begin Self.CDS_Sub.Edit; Self.CDS_Sub.FieldByName('AOrddefstr3').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmProductOrderAnPai.V2Column6PropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); var mvalue:string; begin mvalue:=Trim(CDS_Sub.FieldByName('AOrdDefNote1').AsString); try frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); with frmZDYHelpSel do begin flag:='JYYQ'; flagname:='检验要求'; if ShowModal=1 then begin Self.CDS_Sub.Edit; Self.CDS_Sub.FieldByName('AOrdDefNote1').Value:=mvalue+frmZDYHelpSel.ReturnStr; {with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate JYOrder_Sub_AnPai '); sql.Add(' Set AOrdDefNote1='''+Trim(mvalue+frmZDYHelpSel.ReturnStr)+''''); SQL.Add(',Editer='''+Trim(DName)+''''); SQL.Add(',Edittime=getdate() '); SQL.Add(' where APId='''+Trim(CDS_Sub.fieldbyname('APId').AsString)+''''); ExecSQL; end; } end; end; finally frmZDYHelpSel.Free; end; end; procedure TfrmProductOrderAnPai.V2Column8PropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin //flag:='RKPlace'; flag:='FactoryNo1Name'; flagname:='染厂'; MainType:='染厂'; if ShowModal=1 then begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from Contract_Cloth_LL A '); sql.Add(' where A.FirstNo='''+Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYNo').AsString)+''''); sql.Add(' and A.OrdSubId='''+Trim(CDS_Sub.fieldbyname('SubId').AsString)+''''); Open; end; if ADOQueryTemp.IsEmpty then begin Application.MessageBox('此染厂没有相对应的数据!','提示',0); end else begin with CDS_Sub do begin Edit; FieldByName('AOrddefstr4').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString); FieldByName('AOrddefstr5').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYNo').AsString); end; {with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate JYOrder_Sub_AnPai '); sql.Add(' Set AOrddefstr5='''+Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString)+''''); sql.Add(' ,AOrddefstr4='''+Trim(ClientDataSet1.fieldbyname('ZDYName').AsString)+''''); SQL.Add(',Editer='''+Trim(DName)+''''); SQL.Add(',Edittime=getdate() '); SQL.Add(' where APId='''+Trim(CDS_Sub.fieldbyname('APId').AsString)+''''); ExecSQL; end;} end; end; end; finally //frmZDYHelp.Free; end; end; procedure TfrmProductOrderAnPai.ToolButton4Click(Sender: TObject); var FDW:String; begin if CDS_Sub.Locate('ADefDate1',null,[])=True then begin Application.MessageBox('回仓时间不能为空!','提示',0); Exit; end; if CDS_Sub.Locate('AOrddefstr4',null,[])=True then begin Application.MessageBox('染厂不能为空!','提示',0); Exit; end; if CDS_Sub.Locate('AOrddefstr4','',[])=True then begin Application.MessageBox('染厂不能为空!','提示',0); Exit; end; if CDS_Sub.Locate('GangNo',null,[])=True then begin Application.MessageBox('本厂缸号不能为空!','提示',0); Exit; end; if CDS_Sub.Locate('AOrddefstr2',null,[])=True then begin Application.MessageBox('数量单位不能为空!','提示',0); Exit; end; if CDS_Sub.Locate('AOrddefstr2','',[])=True then begin Application.MessageBox('数量单位不能为空!','提示',0); Exit; end; {if CDS_Sub.Locate('AOrddefstr2','Kg',[])=True then begin if Trim(CDS_Sub.FieldByName('ZSXS').AsString)='' then begin Application.MessageBox('折算系数不能为空!','提示',0); Exit; end; end;} if CDS_Sub.Locate('AOrdQty2',null,[])=True then begin Application.MessageBox('匹数量不能为空!','提示',0); Exit; end; if CDS_Sub.Locate('AOrdQty1',null,[])=True then begin Application.MessageBox('数量不能为空!','提示',0); Exit; end; {if CDS_Sub.Locate('LBName','',[])=True then begin Application.MessageBox('标签名称不能为空!','提示',0); Exit; end; if CDS_Sub.Locate('LBName','',[])=True then begin Application.MessageBox('标签名称不能为空!','提示',0); Exit; end;} { if CDS_Sub.Locate('AOrdQty1','',[])=True then begin Application.MessageBox('数量不能为空!','提示',0); Exit; end;} FDW:=Trim(CDS_Sub.fieldbyname('AOrddefstr2').AsString); if CDS_Sub.Locate('AOrddefstr2',FDW,[])=False then begin Application.MessageBox('数量单位不一致!','提示',0); Exit; end; {if CDS_Sub.Locate('AOrddefstr3',null,[]) then begin Application.MessageBox('检验数量单位不能为空!','提示',0); Exit; end; if CDS_Sub.Locate('AOrddefstr3','',[]) then begin Application.MessageBox('检验数量单位不能为空!','提示',0); Exit; end; FDW:=Trim(CDS_Sub.fieldbyname('AOrddefstr3').AsString); if CDS_Sub.Locate('AOrddefstr3',FDW,[])=False then begin Application.MessageBox('检验数量单位不一致!','提示',0); Exit; end; } with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select Top 1* from Contract_Cloth_LL where OrdSubId='''+Trim(Order_Main.fieldbyname('Subid').AsString)+''''); Open; end; if Trim(ADOQueryTemp.fieldbyname('TPUnit').AsString)='M' then begin if CDS_Sub.Locate('AOrddefstr2','Kg',[]) then begin Application.MessageBox('领料数量单位为M,回仓数量单位不能为Kg!','提示',0); Exit; end; end; OrderNoM.SetFocus; MovePanel2.Visible:=True; MovePanel2.Refresh; if SaveData() then begin MovePanel2.Visible:=False; Application.MessageBox('保存成功!','提示',0); Exit; end; MovePanel2.Visible:=False; end; procedure TfrmProductOrderAnPai.BtnEditA1BtnClick(Sender: TObject); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='FactoryNo1Name'; flagname:='染厂'; MainType:='染厂'; if ShowModal=1 then begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from Contract_Cloth_LL A '); sql.Add(' where A.FirstNo='''+Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYNo').AsString)+''''); sql.Add(' and A.OrdSubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); Open; end; if ADOQueryTemp.IsEmpty then begin Application.MessageBox('此染厂没有相对应的数据!','提示',0); end else begin BtnEditA1.Text:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString); BtnEditA1.TxtCode:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYNo').AsString); end; end; end; finally //frmZDYHelp.Free; end; end; function TfrmProductOrderAnPai.YFData():Boolean; var CRID,OrdMainId,YFID,Price,LLID:String; begin Result:=False; {with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete YF_Money_CR where YFTypeID='''+Trim(CDS_Sub.fieldbyname('APID').AsString)+''''); ExecSQL; end;} OrdMainId:=Trim(Order_Main.fieldbyname('MainId').AsString); with ADOQueryTemp do begin Close; SQL.Clear; sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(Order_Main.fieldbyname('FirstName').AsString)+''''); Open; end; if ADOQueryTemp.IsEmpty=False then begin CRID:=ADOQueryTemp.fieldbyname('CRID').AsString; end else begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update YF_Money_CRID set CRID=CRID+1'); sql.Add('select * from YF_Money_CRID '); Open; end; CRID:=ADOQueryCmd.fieldbyname('CRID').AsString; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from YF_Money_KC where 1<>1'); Open; end; with ADOQueryCmd do begin Append; FieldByName('CRID').Value:=StrToInt(CRID); FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); FieldByName('ZdyStr1').Value:='应付付'; Post; end; end; if CDS_Sub.FieldByName('AOrdFlag1').AsBoolean=False then begin with ADOQuery1 do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR where FactoryName='''+Trim(Order_Main.fieldbyname('FirstName').AsString)+''''); sql.Add(' and YFTypeId='''+Trim(CDS_Sub.fieldbyname('APId').AsString)+''''); if Trim(Order_Main.fieldbyname('DHIDHelp').AsString)='' then sql.Add(' and YFName=''染费'' ') else sql.Add(' and YFName=''加工费'' '); Open; end; if ADOQuery1.RecordCount<1 then begin if GetLSNo(ADOQueryCmd,YFID,'RJ','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(CDS_Sub.fieldbyname('APId').AsString); FieldByName('CRID').Value:=StrToInt(CRID); FieldByName('Filler').Value:=Trim(DName); FieldByName('CRType').Value:='应付款登记'; FieldByName('CRFlag').Value:='应付付'; FieldByName('QtyFlag').Value:=1; FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); FieldByName('CRTime').Value:=CDS_Sub.fieldbyname('ADefDate1').Value; FieldByName('Qty').Value:=CDS_Sub.fieldbyname('AOrdQty1').Value; FieldByName('YFType').Value:='自动生成'; {if Trim(CDS_Sub.fieldbyname('JGPrice').AsString)<>'' then FieldByName('Price').Value:=CDS_Sub.fieldbyname('JGPrice').Value else FieldByName('Price').Value:=0;} FieldByName('HuiLv').Value:=1; FieldByName('BZType').Value:='人民币'; FieldByName('ComTaiTou').Value:=Trim(Order_Main.fieldbyname('OrdDefStr2').AsString); FieldByName('QtyUnit').Value:=Trim(Order_Main.fieldbyname('TPUnit').AsString); if Trim(Order_Main.fieldbyname('DHIDHelp').AsString)='' then FieldByName('YFName').Value:='染费' else FieldByName('YFName').Value:='加工费'; FieldByName('MainId').Value:=Trim(OrdMainId); Post; end; end else begin YFID:=Trim(ADOQuery1.fieldbyname('YFID').AsString); with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR Set '); sql.Add('Qty='+CDS_Sub.fieldbyname('AOrdQty1').AsString); SQL.Add(',CRTime='''+Trim(CDS_Sub.fieldbyname('ADefDate1').AsString)+''''); sql.Add(' where YFID='''+Trim(YFID)+''''); ExecSQL; end; end; 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; Result:=True; end; function TfrmProductOrderAnPai.DELYFData():Boolean; var CRID,OrdMainId,YFID,Price,LLID:String; begin Result:=False; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete YF_Money_CR where YFTypeID='''+Trim(CDS_Sub.fieldbyname('APID').AsString)+''''); ExecSQL; end; OrdMainId:=Trim(Order_Main.fieldbyname('MainId').AsString); with ADOQueryTemp do begin Close; SQL.Clear; sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(Order_Main.fieldbyname('FirstName').AsString)+''''); Open; end; if ADOQueryTemp.IsEmpty=False then begin CRID:=ADOQueryTemp.fieldbyname('CRID').AsString; end else begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update YF_Money_CRID set CRID=CRID+1'); sql.Add('select * from YF_Money_CRID '); Open; end; CRID:=ADOQueryCmd.fieldbyname('CRID').AsString; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from YF_Money_KC where 1<>1'); Open; end; with ADOQueryCmd do begin Append; FieldByName('CRID').Value:=StrToInt(CRID); FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); FieldByName('ZdyStr1').Value:='应付付'; Post; end; end; begin with ADOQueryTemp do begin Close; sql.Clear; SQL.Add('select Case when HXQty>0 then HCQty-HXQty else HCQty end as HCQty'); SQL.Add(',Case when HXPS>0 then HCPS-HXPS else HCPS end as HCPS'); SQL.Add(' from Contract_Cloth_LL where LLID='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); Open; end; 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; Result:=True; end; procedure TfrmProductOrderAnPai.BtnEditA2BtnClick(Sender: TObject); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='OrderUnit'; flagname:='数量单位'; if ShowModal=1 then begin BtnEditA2.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmProductOrderAnPai.ToolButton8Click(Sender: TObject); begin CDS_Sub.DisableControls; with CDS_Sub do begin First; while not Eof do begin Edit; FieldByName('SSel').Value:=True; Post; Next; end; end; CDS_Sub.EnableControls; end; procedure TfrmProductOrderAnPai.ToolButton7Click(Sender: TObject); begin CDS_Sub.DisableControls; with CDS_Sub do begin First; while not Eof do begin Edit; FieldByName('SSel').Value:=False; Post; Next; end; end; CDS_Sub.EnableControls; end; procedure TfrmProductOrderAnPai.BtnEditA4BtnClick(Sender: TObject); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='FactoryNo1Name'; flagname:='坯布厂'; MainType:='坯布厂'; if ShowModal=1 then begin BtnEditA4.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmProductOrderAnPai.V2Column11PropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='FactoryNo1Name'; flagname:='坯布厂'; MainType:='坯布厂'; if ShowModal=1 then begin begin with CDS_Sub do begin Edit; FieldByName('AOrddefstr6').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; end; end; finally //frmZDYHelp.Free; end; end; procedure TfrmProductOrderAnPai.ToolButton9Click(Sender: TObject); begin try frmBefChkHX:=TfrmBefChkHX.Create(Application); with frmBefChkHX do begin orderno.Caption:=Trim(Self.Order_Main.fieldbyname('OrderNo').AsString); PRTColor.Caption:=Trim(Self.Order_Main.fieldbyname('PRTColor').AsString); FirstName.Caption:=Trim(Self.Order_Main.fieldbyname('FirstName').AsString); PBFactory.Caption:=Trim(Self.Order_Main.fieldbyname('PBFactory').AsString); FLLID:=Trim(Self.Order_Main.fieldbyname('LLID').AsString); HXUnit:=Trim(Self.Order_Main.fieldbyname('TPUnit').AsString); with ADOQuery1 do begin Close; sql.Clear; sql.Add('select * from Contract_Cloth_BefChkHX where LLID='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); Open; end; SCreateCDS20(ADOQuery1,ClientDataSet1); SInitCDSData20(ADOQuery1,ClientDataSet1); if ShowModal=1 then begin end; end; finally frmBefChkHX.Free; end; end; procedure TfrmProductOrderAnPai.ToolButton10Click(Sender: TObject); begin if Order_Main.IsEmpty=False then begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select A.*,B.*,C.FirstName,C.FirstNo,C.TPPS,C.TPQty,C.LLID,C.HXPS,C.HXQty,C.HXUnit,C.HCPS,C.HCQty,C.TPUnit,B.SOrddefstr1,B.SOrddefstr4 '); sql.Add(',HXPS=(select Sum(HXPS) from Contract_Cloth_BefChkHX HX where HX.LLID=C.LLID),'); sql.Add('HXQty=(select Sum(HXQty) from Contract_Cloth_BefChkHX HX where HX.LLID=C.LLID),'); sql.Add('PBFactory=(select Top 1 AA.factoryNoName from Contract_Main AA inner join Contract_Cloth_DH BB on AA.MainId=BB.MainId'); sql.Add(' where BB.DHID=C.DHID)'); //sql.Add(',HCQty=(select sum(AOrdQty1) from JYOrder_Sub_AnPai AA where AA.SubId=B.SubId)'); //sql.Add(',HCPS=(select sum(AOrdQty2) from JYOrder_Sub_AnPai AA where AA.SubId=B.SubId)'); //sql.Add(',HCUnit=(select Top 1 AOrddefstr2 from JYOrder_Sub_AnPai AA where AA.SubId=B.SubId)'); sql.Add('from JYOrder_Main A inner join JYOrder_Sub B on A.MainId=B.MainId '); sql.Add(' inner join Contract_Cloth_LL C on C.OrdSubId=B.SubId'); sql.Add('where A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); sql.Add(' and C.JXJGFlag=0'); Open; end; SCreateCDS20(ADOQueryTemp,Order_Main); SInitCDSData20(ADOQueryTemp,Order_Main); end; end; procedure TfrmProductOrderAnPai.V2Column13PropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); type TMyFunc = function(App:Tapplication; FormH:hwnd; FormID:integer; Language: integer; WinStyle:integer; GCode: Pchar; GName: Pchar; DataBase:Pchar;Title:PChar; Parameters1:PChar;Parameters2:PChar;Parameters3:PChar;Parameters4:PChar; Parameters5:PChar;Parameters6:PChar;Parameters7:PChar;Parameters8:PChar; Parameters9:PChar;Parameters10:PChar;DataBaseStr:PChar):hwnd;stdcall; var Tf: TMyFunc; Tp: TFarProc; Th:Thandle; LabInt,labname:String; begin //if PPInt=2 then Exit; Ddatabase:=StringOfChar(' ', 32); Th := LoadLibrary('LabelSet.dll'); if Th > 0 then begin try Tp := GetProcAddress(Th, 'GetDllForm'); if Tp <> nil then begin Tf := TMyFunc(Tp); newh:=Tf(Application,0,2,0,0, PChar(DCode), PChar(DName), PChar(Ddatabase), PChar('标签模版设置'), PChar(''), PChar(''), '','','','','','','','',PChar(DConString) ); if Trim(PChar(Ddatabase))<>'' then begin Ddatabase:=Trim(PChar(Ddatabase)); LabInt:=Trim( LeftBStr(Ddatabase,Pos('|',Ddatabase)-1) ) ; labname:=Trim(RightBStr(Ddatabase,Length(Ddatabase)-Pos('|',Ddatabase) ) ); with CDS_Sub do begin Edit; FieldByName('LbName').Value:=labname; //Post; end; end; end else begin ShowMessage('打印执行错误'); end; finally // FreeLibrary(); end; end else begin ShowMessage('找不到'+Trim('LabelSet.dll')); end; end; procedure TfrmProductOrderAnPai.V2Column9PropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='APType'; flagname:='回仓类型'; if ShowModal=1 then begin Self.CDS_Sub.Edit; Self.CDS_Sub.FieldByName('APType').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; end; end.