unit U_DJBRKList; 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, cxButtonEdit, cxTextEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide, dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinsDefaultPainters, dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue, dxSkinscxPCPainter; type TfrmDJBRKList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBExport: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; Label1: TLabel; Label2: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; CDS_Main: TClientDataSet; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; RMDBHZ: TRMDBDataSet; CDS_HZ: TClientDataSet; CDS_PRT: TClientDataSet; TBDel: TToolButton; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; TBAdd: TToolButton; TBEdit: TToolButton; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label8: TLabel; SPName: TEdit; FactoryName: TEdit; SPID: TEdit; SPSpec: TEdit; Label6: TLabel; SPCF: TEdit; OrderNo: TEdit; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1Column6: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column13: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column15: TcxGridDBColumn; v1Column17: TcxGridDBColumn; v1Column14: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column11: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column16: TcxGridDBColumn; v1Column12: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; Label9: TLabel; ToFactoryName: TEdit; Label12: TLabel; CRType: TComboBox; v1Column18: TcxGridDBColumn; Label10: TLabel; KuWei: TEdit; v1Column19: TcxGridDBColumn; Label11: TLabel; RCGangNo: TEdit; Label13: TLabel; PRTColor: TEdit; Label14: TLabel; SOrddefstr1: TEdit; Label15: TLabel; PRTHX: TEdit; v1Column20: TcxGridDBColumn; v1Column21: TcxGridDBColumn; v1Column22: TcxGridDBColumn; v1Column23: TcxGridDBColumn; v1Column24: TcxGridDBColumn; Label16: TLabel; SOrddefstr4: TEdit; CheckBox1: TCheckBox; Tv1Column1: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; CheckBox2: TCheckBox; Tv1Column5: TcxGridDBColumn; Tv1Column6: TcxGridDBColumn; Tv1Column7: TcxGridDBColumn; Tv1Column8: TcxGridDBColumn; ToolButton1: TToolButton; Tv1Column9: TcxGridDBColumn; ToolButton2: TToolButton; ToolButton3: TToolButton; Tv1Column10: TcxGridDBColumn; Tv1Column11: TcxGridDBColumn; Tv1Column12: TcxGridDBColumn; Tv1Column13: TcxGridDBColumn; Tv1Column14: TcxGridDBColumn; Tv1Column15: TcxGridDBColumn; 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 N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure TBDelClick(Sender: TObject); procedure TBAddClick(Sender: TObject); procedure TBEditClick(Sender: TObject); procedure SPIDKeyPress(Sender: TObject; var Key: Char); procedure SPIDChange(Sender: TObject); procedure SPSpecChange(Sender: TObject); procedure FactoryNameChange(Sender: TObject); procedure OrderNoKeyPress(Sender: TObject; var Key: Char); procedure CheckBox1Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); private canshu1, canshu2: string; procedure InitGrid(); { Private declarations } public { Public declarations } end; var frmDJBRKList: TfrmDJBRKList; implementation uses U_DataLink, U_RTFun, U_DJBCKInPut, U_ZdyAttachGYS, U_SysLogHelp, U_ProductOrderHzListSel; {$R *.dfm} procedure TfrmDJBRKList.FormDestroy(Sender: TObject); begin frmDJBRKList := nil; end; procedure TfrmDJBRKList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmDJBRKList.FormCreate(Sender: TObject); begin //cxGrid1.Align:=alClient; canshu1 := Trim(DParameters1); canshu2 := Trim(DParameters2); EndDate.DateTime := SGetServerDate10(ADOQueryTemp); BegDate.DateTime := EndDate.DateTime - 7; end; procedure TfrmDJBRKList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add(' select A.* '); sql.Add(',OrderNO=(select OrderNO from JYOrder_Main JM where JM.MainId=A.ORDMainIdRK)'); sql.Add(' ,SOrddefstr1=(select SOrddefstr1 from JYOrder_Sub JM where JM.SubId=A.OrdSubIdRK )'); sql.Add(' ,PRTColor=(select PRTColor from JYOrder_Sub JM where JM.SubId=A.OrdSubIdRK )'); sql.Add(' ,SOrddefstr4=(select SOrddefstr4 from JYOrder_Sub JM where JM.SubId=A.OrdSubIdRK )'); sql.Add(' ,PRTHX=(select PRTHX from JYOrder_Sub JM where JM.SubId=A.OrdSubIdRK )'); sql.Add(' ,PRTkuanNo=(select PRTkuanNo from JYOrder_Sub JM where JM.SubId=A.OrdSubIdRK )'); sql.Add(' ,JHPiQty=(select PiQty from CK_GenDan_CR X where X.spid=A.fromspid)'); sql.Add(' ,JHQty=(select Qty from CK_GenDan_CR X where X.spid=A.fromspid)'); sql.Add(' ,PRTOrderQty=(select PRTOrderQty from JYOrder_Sub JM where JM.SubId=A.OrdSubIdRK )'); sql.Add(' from CK_SXPB_CR A'); 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 isnull(CKName,'''')=''待检布'''); SQL.Add(' and CRFlag=''入库'' '); Open; //ShowMessage(SQL.Text); end; SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmDJBRKList.TBRafreshClick(Sender: TObject); begin BegDate.SetFocus; InitGrid(); end; procedure TfrmDJBRKList.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmDJBRKList.TBCloseClick(Sender: TObject); begin WriteCxGrid('待检布入库列表', Tv1, '待检布仓库1'); Close; end; procedure TfrmDJBRKList.FormShow(Sender: TObject); begin if Trim(canshu2) = '查看' then begin TBAdd.Visible := False; TBDel.Visible := False; TBEdit.Visible := False; end else begin TBAdd.Visible := True; TBDel.Visible := True; TBEdit.Visible := True; end; ReadCxGrid('待检布入库列表', Tv1, '待检布仓库1'); //InitGrid(); end; procedure TfrmDJBRKList.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; TcxGridToExcel('待检布入库列表', cxGrid2); end; procedure TfrmDJBRKList.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); end; end; procedure TfrmDJBRKList.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmDJBRKList.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmDJBRKList.TBDelClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if Trim(CDS_Main.fieldbyname('SPID').AsString) <> '' then begin if Trim(CDS_Main.fieldbyname('CRType').AsString) = '平移入库' then begin Application.MessageBox('平移入库的数据为自动生成,不能删除!', '提示', 0); Exit; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from CK_SXPB_CR where FZSPID=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''''); sql.Add(' and CRQtyFlag=-1'); Open; end; if ADOQueryTemp.IsEmpty = False then begin Application.MessageBox('已有出库记录,不能删除!', '提示', 0); Exit; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR where YFTypeId=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''''); // sql.Add(' and status=''1'''); 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 CK_SXPB_CR where SPID=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''''); if Trim(CDS_Main.fieldbyname('CRType').AsString) = '客户退货' then begin sql.Add('delete from YF_Money_CR '); sql.Add(' where mainID=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''''); end; {sql.Add('Update CK_SXPB_KC Set KCKGQty=(select sum(isnull(KGQty,0)*CRQtyFlag) from CK_SXPB_CR A where A.CRID=CK_SXPB_KC.CRID)'); sql.Add(',KCPiQty=(select sum(isnull(PiQty,0)*CRQtyFlag) from CK_SXPB_CR A where A.CRID=CK_SXPB_KC.CRID)'); sql.Add(' where CRID='+Trim(CDS_Main.fieldbyname('CRID').AsString));} ExecSQL; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' delete yf_money_cr where mainid=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''''); sql.add('and CRFlag=''应付付'' and yfType=''自动生成'''); ExecSQL; end; { with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select KCKGQty=isnull(KCKGQty,0) from CK_SXPB_KC where CRID='+Trim(CDS_Main.fieldbyname('CRID').AsString)); Open; end; if ADOQueryTemp.IsEmpty=False then begin if ADOQueryTemp.FieldByName('KCKGQty').Value<0 then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('入库公斤数小于出库公斤数不能删除!','提示',0); Exit; end; end; } ADOQueryCmd.Connection.CommitTrans; CDS_Main.Delete; except ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('删除异常!', '提示', 0); end; end else begin CDS_Main.Delete; end; end; procedure TfrmDJBRKList.TBAddClick(Sender: TObject); begin try frmDJBCKInPut := TfrmDJBCKInPut.Create(Application); with frmDJBCKInPut do begin FBCId := ''; if ShowModal = 1 then begin Self.InitGrid(); end; end; finally frmDJBCKInPut.Free; end; end; procedure TfrmDJBRKList.TBEditClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if Trim(CDS_Main.fieldbyname('CRType').AsString) = '平移入库' then begin Application.MessageBox('平移入库的数据为自动生成,不能修改!', '提示', 0); Exit; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR where YFTypeId=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''''); // sql.Add(' and status=''1'''); Open; end; if ADOQueryTemp.IsEmpty = False then begin Application.MessageBox('应付款已生成,不能修改!', '提示', 0); Exit; end; try frmDJBCKInPut := TfrmDJBCKInPut.Create(Application); with frmDJBCKInPut do begin FBCId := Trim(CDS_Main.fieldbyname('SPID').AsString); TBDel.Visible := False; TBAdd.Visible := False; if ShowModal = 1 then begin Self.InitGrid(); end; end; finally frmDJBCKInPut.Free; end; end; procedure TfrmDJBRKList.SPIDKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin if Length(Trim(SPID.Text)) < 4 then Exit; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add(' select A.* '); sql.Add(',OrderNO=(select OrderNO from JYOrder_Main JM where JM.MainId=A.ORDMainIdRK)'); sql.Add(' ,SOrddefstr1=(select SOrddefstr1 from JYOrder_Sub JM where JM.SubId=A.OrdSubIdRK )'); sql.Add(' ,PRTColor=(select PRTColor from JYOrder_Sub JM where JM.SubId=A.OrdSubIdRK )'); sql.Add(' ,PRTHX=(select PRTHX from JYOrder_Sub JM where JM.SubId=A.OrdSubIdRK )'); sql.Add(' ,PRTkuanNo=(select PRTkuanNo from JYOrder_Sub JM where JM.SubId=A.OrdSubIdRK )'); sql.Add(' from CK_SXPB_CR A'); sql.add(' where 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 isnull(CKName,'''')=''待检布'''); SQL.Add(' and CRFlag=''入库'' '); SQL.add(' and SPID=''' + spid.Text + ''''); Open; end; SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; end; end; procedure TfrmDJBRKList.SPIDChange(Sender: TObject); begin if Length(Trim(SPID.Text)) < 4 then begin if Trim(SPID.Text) <> '' then Exit; end; TBFind.Click; end; procedure TfrmDJBRKList.SPSpecChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmDJBRKList.FactoryNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmDJBRKList.OrderNoKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin if Length(Trim(OrderNo.Text)) < 2 then Exit; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add(' select A.* '); sql.Add(',OrderNO=(select OrderNO from JYOrder_Main JM where JM.MainId=A.ORDMainIdRK)'); sql.Add(' ,SOrddefstr1=(select SOrddefstr1 from JYOrder_Sub JM where JM.SubId=A.OrdSubIdRK )'); sql.Add(' ,PRTColor=(select PRTColor from JYOrder_Sub JM where JM.SubId=A.OrdSubIdRK )'); sql.Add(' ,PRTHX=(select PRTHX from JYOrder_Sub JM where JM.SubId=A.OrdSubIdRK )'); sql.Add(' ,PRTkuanNo=(select PRTkuanNo from JYOrder_Sub JM where JM.SubId=A.OrdSubIdRK )'); sql.Add(' from CK_SXPB_CR A where 1=1'); // sql.add(' and 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 isnull(CKName,'''')=''待检布'''); SQL.Add(' and CRFlag=''入库'' '); if CheckBox2.Checked = False then begin SQL.add(' and (select OrderNO from JYOrder_Main JM where JM.MainId=A.ORDMainIdRK) like ''%' + OrderNo.Text + '%'' '); end else SQL.add(' and (select OrderNO from JYOrder_Main JM where JM.MainId=A.ORDMainIdRK)=''' + OrderNo.Text + ''''); Open; end; SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; end; end; procedure TfrmDJBRKList.CheckBox1Click(Sender: TObject); begin if CheckBox1.Checked then orderNo.Tag := 1 else orderNo.Tag := 2; end; procedure TfrmDJBRKList.ToolButton1Click(Sender: TObject); var FCode, FName: string; begin if CDS_Main.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; if Application.MessageBox('确定要修改数据吗?', '提示', 32 + 4) <> IDYES then Exit; try frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application); with frmZdyAttachGYS do begin if ShowModal = 1 then begin FCode := Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('ZdyCode').AsString); FName := Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('ZdyName').AsString); end; end; finally frmZdyAttachGYS.Free; end; if FName = '' then Exit; try ADOQueryCmd.Connection.BeginTrans; with CDS_Main do begin First; while not Eof do begin if CDS_Main.FieldByName('ssel').AsBoolean = True then begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR where YFTypeId=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''''); Open; end; if ADOQueryTemp.IsEmpty = False then begin ADOQueryCmd.Connection.CommitTrans; Application.MessageBox('应付款已生成,不能删除!', '提示', 0); Exit; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('update CK_SXPB_CR set FactoryNo=''' + Trim(FCode) + ''' '); SQL.Add(',FactoryName=''' + Trim(FName) + ''''); SQL.Add(',FromFactoryNo=''' + Trim(FCode) + ''' '); SQL.Add(',FromFactoryName=''' + Trim(FName) + ''''); sql.Add(' where spid=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''' '); sql.Add('update CK_SXPB_CR set FactoryNo=''' + Trim(FCode) + ''' '); SQL.Add(',FactoryName=''' + Trim(FName) + ''''); SQL.Add(',FromFactoryNo=''' + Trim(FCode) + ''' '); SQL.Add(',FromFactoryName=''' + Trim(FName) + ''''); sql.Add(' where FZspid=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''' '); sql.add(' and CRFlag=''出库'''); sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('待检布入库修改加工厂'))); sql.Add(',' + quotedstr(trim('入库单号:' + trim(CDS_Main.FieldByName('SPID').AsString) + '订单号:' + trim(CDS_Main.FieldByName('orderNO').AsString) + ' 原加工厂:' + trim(CDS_Main.FieldByName('FactoryName').AsString) + ' 修改后加工厂:' + FName))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); ExecSQL; end; CDS_Main.edit; CDS_Main.FieldByName('FactoryName').Value := Trim(FName); CDS_Main.FieldByName('FromFactoryName').Value := Trim(FName); CDS_Main.Post; end; Next; end; end; ADOQueryCmd.Connection.CommitTrans; Application.MessageBox('修改成功!', '提示', 0); except ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('修改异常!', '提示', 0); end; end; procedure TfrmDJBRKList.ToolButton2Click(Sender: TObject); begin frmSysLogHelp := TfrmSysLogHelp.create(self); with frmSysLogHelp do begin fModel := self.caption; // facction:='生产指示单删除'; showmodal; free; end; end; procedure TfrmDJBRKList.ToolButton3Click(Sender: TObject); var FConNo, FCGMainid, FCGSubid: string; begin if CDS_Main.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; if Application.MessageBox('确定要修改数据吗?', '提示', 32 + 4) <> IDYES then Exit; try frmProductOrderHzListSel := TfrmProductOrderHzListSel.Create(Application); with frmProductOrderHzListSel do begin if ShowModal = 1 then begin FConNo := Trim(frmProductOrderHzListSel.Order_Main.fieldbyname('ConNo').AsString); FCGMainid := Trim(frmProductOrderHzListSel.Order_Main.fieldbyname('Mainid').AsString); FCGSubid := Trim(frmProductOrderHzListSel.Order_Main.fieldbyname('Subid').AsString); end; end; finally frmProductOrderHzListSel.Free; end; if FConNo = '' then Exit; try ADOQueryCmd.Connection.BeginTrans; with CDS_Main do begin First; while not Eof do begin if CDS_Main.FieldByName('ssel').AsBoolean = True then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('update CK_SXPB_CR set '); SQL.Add('CGConNo=''' + Trim(FConNo) + ''''); SQL.Add(',CGMainid=''' + Trim(FCGMainid) + ''' '); SQL.Add(',CGSubid=''' + Trim(FCGSubid) + ''''); sql.Add(' where spid=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''' '); sql.Add('update CK_SXPB_CR set '); SQL.Add('CGConNo=''' + Trim(FConNo) + ''''); SQL.Add(',CGMainid=''' + Trim(FCGMainid) + ''' '); SQL.Add(',CGSubid=''' + Trim(FCGSubid) + ''''); sql.Add(' where FZspid=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''' '); sql.add(' and CRFlag=''出库'''); sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('待检布入库修改采购单号'))); sql.Add(',' + quotedstr(trim('入库单号:' + trim(CDS_Main.FieldByName('SPID').AsString) + '订单号:' + trim(CDS_Main.FieldByName('orderNO').AsString) + ' 原采购单:' + trim(CDS_Main.FieldByName('CGConNo').AsString) + ' 修改后采购单:' + FConNo))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); ExecSQL; end; CDS_Main.edit; CDS_Main.FieldByName('CGConNo').Value := Trim(FConNo); CDS_Main.FieldByName('CGMainid').Value := Trim(FCGMainid); CDS_Main.FieldByName('CGSubid').Value := Trim(FCGSubid); CDS_Main.Post; end; Next; end; end; ADOQueryCmd.Connection.CommitTrans; Application.MessageBox('修改成功!', '提示', 0); except ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('修改异常!', '提示', 0); end; end; end.