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, cxContainer, cxImage, cxDBEdit, cxMaskEdit, cxCurrencyEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu, U_BaseList; type TfrmDJBRKList = class(TfrmBaseList) ToolBar1: TToolBar; TBRafresh: TToolButton; TBExport: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DS_1: 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; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1Column6: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column13: TcxGridDBColumn; v1Column15: TcxGridDBColumn; v1Column17: 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; v1Column18: TcxGridDBColumn; v1Column19: TcxGridDBColumn; Label13: TLabel; SPColor: TEdit; Panel2: TPanel; Picture4: TcxDBImage; ADOQueryImage: TADOQuery; DSImage: TDataSource; v1Column21: TcxGridDBColumn; ToolButton1: TToolButton; cxGrid1: TcxGrid; TvMX: TcxGridDBTableView; cxGridDBColumn8: TcxGridDBColumn; cxGridLevel2: TcxGridLevel; CDS_MX: TClientDataSet; DS_MX: TDataSource; GPM_1: TcxGridPopupMenu; v1Column5: TcxGridDBColumn; ToolButton2: TToolButton; Panel4: TPanel; Label15: TLabel; Label24: TLabel; Label25: TLabel; Label16: TLabel; cxCurrencyEdit1: TcxCurrencyEdit; Button1: TButton; Button2: TButton; cxCurrencyEdit2: TcxCurrencyEdit; QTYUNIT: TComboBox; JGC: TcxButtonEdit; jgcno: TcxCurrencyEdit; Button3: TButton; Button4: TButton; Button5: TButton; Tv1Column1: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; Tv1Column6: TcxGridDBColumn; Tv1Column7: TcxGridDBColumn; Tv1Column8: TcxGridDBColumn; Tv1Column9: TcxGridDBColumn; Tv1Column10: TcxGridDBColumn; Tv1Column11: TcxGridDBColumn; Label18: TLabel; OrderNo: TEdit; Tv1Column12: TcxGridDBColumn; Tv1Column13: TcxGridDBColumn; Tv1Column14: TcxGridDBColumn; Tv1Column15: TcxGridDBColumn; Tv1Column16: TcxGridDBColumn; Tv1Column17: TcxGridDBColumn; Label3: TLabel; RCGangNo: TEdit; Label4: TLabel; Button6: TButton; Edit1: TEdit; 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 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 Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure FormResize(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure TvMXCustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean); procedure ToolButton2Click(Sender: TObject); procedure JGCClick(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure JGCPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure Tv1CustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean); procedure CRTypeChange(Sender: TObject); procedure Panel4MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Button6Click(Sender: TObject); private canshu1, canshu2: string; procedure InitGrid(); procedure InitImage(fsubID: string); procedure InitMXGrid(MCRNO: string); { Private declarations } public { Public declarations } end; var frmDJBRKList: TfrmDJBRKList; implementation uses U_DataLink, U_RTFun, U_DJBCKInPut, U_ZdyAttachGYS, U_ProductOrderSel; {$R *.dfm} procedure TfrmDJBRKList.InitMXGrid(MCRNO: string); begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from CK_SXPB_CRMX where CRNO=' + quotedstr(Trim(MCRNO))); sql.Add(' order by MXID'); // showmessage(sql.text); Open; end; SCreateCDS(ADOQueryTemp, CDS_MX); SInitCDSData(ADOQueryTemp, CDS_MX); end; procedure TfrmDJBRKList.InitImage(fsubID: string); begin ADOQueryImage.close; // IF fwbid='' then exit; with ADOQueryImage do begin close; sql.Clear; sql.Add('select * from TP_File A'); sql.Add('inner join JYOrder_Sub B on B.HXFile=A.WBID'); sql.Add('where B.SubID=' + quotedstr(trim(fsubID))); open; end; end; procedure TfrmDJBRKList.FormDestroy(Sender: TObject); begin inherited; frmDJBRKList := nil; end; procedure TfrmDJBRKList.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmDJBRKList.FormCreate(Sender: TObject); begin inherited; //cxGrid1.Align:=alClient; canshu1 := Trim(DParameters1); canshu2 := Trim(DParameters2); EndDate.DateTime := SGetServerDate(ADOQueryTemp); BegDate.DateTime := EndDate.DateTime; end; procedure TfrmDJBRKList.InitGrid(); var fwhere: string; begin fwhere := ''; fwhere := SGetFilters(Panel1, 1, 2); try with ADOQueryTemp do begin Close; sql.Clear; sql.Add(' select A.* '); 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 ISNULL(CDANWEI,''内'')=' + quotedstr(canshu2)); if fwhere <> '' then SQL.Add(' and ' + fwhere); Open; // ShowMessage(SQL.Text); end; SCreateCDS(ADOQueryTemp, CDS_Main); SInitCDSData(ADOQueryTemp, CDS_Main); finally 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.CRTypeChange(Sender: TObject); begin InitGrid(); end; procedure TfrmDJBRKList.TBCloseClick(Sender: TObject); begin WriteCxGrid('待检布入库列表', Tv1, '待检布仓库'); WriteCxGrid('待检布入库列表2', TvMX, '待检布仓库'); Close; end; procedure TfrmDJBRKList.FormShow(Sender: TObject); begin inherited; 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, '待检布仓库'); ReadCxGrid('待检布入库列表2', TvMX, '待检布仓库'); InitGrid(); end; procedure TfrmDJBRKList.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; TcxGridToExcel('待检布入库列表', cxGrid2); 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.Panel4MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin ReleaseCapture; SendMessage(Panel4.Handle, wm_SysCommand, $F012, 0); end; procedure TfrmDJBRKList.TBDelClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if CDS_Main.Locate('ssel', true, []) = false then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; if Application.MessageBox('确定要删除选择的数据吗?', '提示', 32 + 4) <> IDYES then Exit; try ADOQueryCmd.Connection.BeginTrans; while CDS_Main.Locate('SSel', True, []) do begin if Trim(CDS_Main.fieldbyname('SPID').AsString) <> '' then begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('exec P_CW_Judge_All @DataID=' + quotedstr(Trim(CDS_Main.fieldbyname('SPID').AsString))); Open; end; if ADOQueryTemp.FieldByName('intReturn').AsInteger = -1 then begin Application.MessageBox(PChar(ADOQueryTemp.fieldbyname('ShowMsg').AsString), '提示', 0); exit; end; if Trim(CDS_Main.fieldbyname('CRType').AsString) = '平移入库' then begin Application.MessageBox('平移入库的数据为自动生成,不能删除!', '提示', 0); ADOQueryCmd.Connection.RollbackTrans; 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); ADOQueryCmd.Connection.RollbackTrans; Exit; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' delete CK_SXPB_CR where SPID=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''''); sql.Add(' exec P_CW_SXPB ''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''''); ExecSQL; end; end; CDS_Main.Delete; end; ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('删除异常!', '提示', 0); end; end; procedure TfrmDJBRKList.TBAddClick(Sender: TObject); begin try frmDJBCKInPut := TfrmDJBCKInPut.Create(Application); with frmDJBCKInPut do begin FBCId := ''; CANSHU2 := SELF.canshu2; 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('exec P_CW_Judge_All @DataID=' + quotedstr(Trim(CDS_Main.fieldbyname('SPID').AsString))); Open; end; if ADOQueryTemp.FieldByName('intReturn').AsInteger = -1 then begin Application.MessageBox(PChar(ADOQueryTemp.fieldbyname('ShowMsg').AsString), '提示', 0); exit; end; try frmDJBCKInPut := TfrmDJBCKInPut.Create(Application); with frmDJBCKInPut do begin FBCId := Trim(CDS_Main.fieldbyname('SPID').AsString); CANSHU2 := SELF.canshu2; 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 initgrid(); end; end; procedure TfrmDJBRKList.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin // ADOQueryImage.Close; // IF CDS_Main.IsEmpty then exit; // InitImage(CDS_Main.fieldbyname('OrdSubIdRK').AsString); end; procedure TfrmDJBRKList.FormResize(Sender: TObject); begin Panel2.Left := self.Width - Panel2.Width - 30; Panel2.Top := self.Height - Panel2.Height - 80; end; procedure TfrmDJBRKList.ToolButton1Click(Sender: TObject); begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('exec P_CW_Judge_All @DataID=' + quotedstr(Trim(CDS_Main.fieldbyname('SPID').AsString))); Open; end; if ADOQueryTemp.FieldByName('intReturn').AsInteger = -1 then begin Application.MessageBox(PChar(ADOQueryTemp.fieldbyname('ShowMsg').AsString), '提示', 0); exit; end; try frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application); with frmZdyAttachGYS do begin if ShowModal = 1 then begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('exec P_DJB_Up_Factory ' + quotedstr(trim(Self.CDS_Main.FieldByName('SPID').AsString)) + ',' + quotedstr(Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('CoCode').AsString)) + ',' + quotedstr(Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('CoName').AsString))); sql.Add('exec P_CW_SXPB ''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''''); // showmessage(sql.text); execsql; end; with ADOQueryCmd do begin close; sql.Clear; 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(Self.CDS_Main.FieldByName('SPID').AsString) + ' 原加工厂:' + trim(Self.CDS_Main.FieldByName('FactoryName').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); execsql; end; end; end; finally frmZdyAttachGYS.Free; end; InitGrid(); end; procedure TfrmDJBRKList.TvMXCustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean); var FValue: string; FBounds: TRect; begin FBounds := AViewInfo.Bounds; if (AViewInfo is TcxGridIndicatorRowItemViewInfo) then begin ACanvas.FillRect(FBounds); ACanvas.DrawComplexFrame(FBounds, clBtnHighlight, clBtnShadow, [bBottom, bLeft, bRight], 1); FValue := IntToStr(TcxGridIndicatorRowItemViewInfo(AViewInfo).GridRecord.Index + 1); InflateRect(FBounds, -1, -1); //Platform specific. May not work on Linux. ACanvas.Font.Color := clBlack; ACanvas.Brush.Style := bsClear; ACanvas.DrawText(FValue, FBounds, cxAlignCenter or cxAlignTop); ADone := True; end; end; procedure TfrmDJBRKList.ToolButton2Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if CDS_Main.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; Panel4.Visible := True; end; procedure TfrmDJBRKList.JGCClick(Sender: TObject); begin try frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application); with frmZdyAttachGYS do begin if ShowModal = 1 then begin JGC.Text := Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('CoName').AsString); jgcno.Text := Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('Cocode').AsString); end; end; finally frmZdyAttachGYS.Free; end; end; procedure TfrmDJBRKList.Button2Click(Sender: TObject); begin JGC.Text := ''; jgcno.Text := ''; QTYUNIT.Text := ''; cxCurrencyEdit1.Text := ''; cxCurrencyEdit2.Text := ''; Panel4.Visible := false; InitGrid(); end; procedure TfrmDJBRKList.Button1Click(Sender: TObject); begin try ADOQueryCmd.Connection.BeginTrans; CDS_Main.DisableControls; 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('exec P_CW_Judge_All @DataID=' + quotedstr(Trim(CDS_Main.fieldbyname('SPID').AsString))); Open; end; if ADOQueryTemp.FieldByName('intReturn').AsInteger = -1 then begin Application.MessageBox(PChar(ADOQueryTemp.fieldbyname('ShowMsg').AsString), '提示', 0); exit; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add('exec P_DJB_Up_Factory ' + quotedstr(trim(Self.CDS_Main.FieldByName('SPID').AsString)) + ',' + quotedstr(Trim(JGCNO.Text)) + ',' + quotedstr(Trim(JGC.Text))); sql.Add('exec P_CW_SXPB ''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''''); execsql; // showmessage(sql.text); end; with ADOQueryCmd do begin close; sql.Clear; 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(Self.CDS_Main.FieldByName('SPID').AsString) + ' 原加工厂:' + trim(Self.CDS_Main.FieldByName('FactoryName').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); execsql; end; end; Next; end; end; CDS_Main.EnableControls; ADOQueryCmd.Connection.CommitTrans; Application.MessageBox('修改成功!', '提示', 0); except CDS_Main.EnableControls; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('修改异常!', '提示', 0); Exit; end; // InitGrid(); end; procedure TfrmDJBRKList.Button3Click(Sender: TObject); begin try ADOQueryCmd.Connection.BeginTrans; CDS_Main.DisableControls; 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('exec P_CW_Judge_All @DataID=' + quotedstr(Trim(CDS_Main.fieldbyname('SPID').AsString))); Open; end; if ADOQueryTemp.FieldByName('intReturn').AsInteger = -1 then begin Application.MessageBox(PChar(ADOQueryTemp.fieldbyname('ShowMsg').AsString), '提示', 0); exit; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add('exec P_DJB_Up_unit ' + quotedstr(trim(Self.CDS_Main.FieldByName('SPID').AsString)) + ',' + quotedstr(Trim(QTYUNIT.Text))); sql.Add('exec P_CW_SXPB ''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''''); execsql; // showmessage(sql.text); end; with ADOQueryCmd do begin close; sql.Clear; 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(Self.CDS_Main.FieldByName('SPID').AsString) + ' 原单位:' + trim(Self.CDS_Main.FieldByName('qtyunit').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); execsql; end; end; Next; end; end; CDS_Main.EnableControls; ADOQueryCmd.Connection.CommitTrans; Application.MessageBox('修改成功!', '提示', 0); except CDS_Main.EnableControls; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('修改异常!', '提示', 0); Exit; end; // InitGrid(); end; procedure TfrmDJBRKList.Button4Click(Sender: TObject); var FFreal: Double; begin if Trim(cxCurrencyEdit1.Text) <> '' then begin if TryStrToFloat(cxCurrencyEdit1.Text, FFreal) = False then begin Application.MessageBox('匹数非法数字!', '提示', 0); Exit; end; end; try ADOQueryCmd.Connection.BeginTrans; CDS_Main.DisableControls; 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('exec P_CW_Judge_All @DataID=' + quotedstr(Trim(CDS_Main.fieldbyname('SPID').AsString))); Open; end; if ADOQueryTemp.FieldByName('intReturn').AsInteger = -1 then begin Application.MessageBox(PChar(ADOQueryTemp.fieldbyname('ShowMsg').AsString), '提示', 0); exit; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add('exec P_DJB_Up_PS ' + quotedstr(trim(Self.CDS_Main.FieldByName('SPID').AsString)) + ',' + quotedstr(Trim(cxCurrencyEdit1.Text))); sql.Add('exec P_CW_SXPB ''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''''); execsql; end; with ADOQueryCmd do begin close; sql.Clear; 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(Self.CDS_Main.FieldByName('SPID').AsString) + ' 原匹数:' + trim(Self.CDS_Main.FieldByName('piqty').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); execsql; end; end; Next; end; end; CDS_Main.EnableControls; ADOQueryCmd.Connection.CommitTrans; Application.MessageBox('修改成功!', '提示', 0); except CDS_Main.EnableControls; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('修改异常!', '提示', 0); Exit; end; // InitGrid(); end; procedure TfrmDJBRKList.Button5Click(Sender: TObject); var FFREAL: Double; begin if Trim(cxCurrencyEdit2.Text) <> '' then begin if TryStrToFloat(cxCurrencyEdit2.Text, FFREAL) = False then begin Application.MessageBox('匹数非法数字!', '提示', 0); Exit; end; end; try ADOQueryCmd.Connection.BeginTrans; CDS_Main.DisableControls; 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('exec P_CW_Judge_All @DataID=' + quotedstr(Trim(CDS_Main.fieldbyname('SPID').AsString))); Open; end; if ADOQueryTemp.FieldByName('intReturn').AsInteger = -1 then begin Application.MessageBox(PChar(ADOQueryTemp.fieldbyname('ShowMsg').AsString), '提示', 0); exit; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add('exec P_DJB_Up_QTY ' + quotedstr(trim(Self.CDS_Main.FieldByName('SPID').AsString)) + ',' + quotedstr(Trim(cxCurrencyEdit2.Text))); sql.Add('exec P_CW_SXPB ''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''''); execsql; end; with ADOQueryCmd do begin close; sql.Clear; 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(Self.CDS_Main.FieldByName('SPID').AsString) + ' 原匹数:' + trim(Self.CDS_Main.FieldByName('piqty').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); execsql; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update CK_SXPB_CR Set MXKCQty=(select sum(isnull(Qty,0)*CRQtyFlag) from CK_SXPB_CR A where A.FZSPID=CK_SXPB_CR.SPID)'); sql.Add(' where SPID=' + quotedstr(trim(Self.CDS_Main.FieldByName('SPID').AsString))); ExecSQL; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from CK_SXPB_CR where SPID=' + quotedstr(trim(Self.CDS_Main.FieldByName('SPID').AsString))); Open; end; if ADOQueryTemp.FieldByName('MXKCQty').Value < 0 then begin CDS_Main.EnableControls; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('入库数小于出库数不能保存!', '提示', 0); Exit; end; end; Next; end; end; CDS_Main.EnableControls; ADOQueryCmd.Connection.CommitTrans; Application.MessageBox('修改成功!', '提示', 0); except CDS_Main.EnableControls; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('修改异常!', '提示', 0); Exit; end; // InitGrid(); end; procedure TfrmDJBRKList.Button6Click(Sender: TObject); begin try ADOQueryCmd.Connection.BeginTrans; CDS_Main.DisableControls; 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('exec P_CW_Judge_All @DataID=' + quotedstr(Trim(CDS_Main.fieldbyname('SPID').AsString))); Open; end; if ADOQueryTemp.FieldByName('intReturn').AsInteger = -1 then begin Application.MessageBox(PChar(ADOQueryTemp.fieldbyname('ShowMsg').AsString), '提示', 0); exit; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add('exec P_DJB_Up_lotno ' + quotedstr(trim(Self.CDS_Main.FieldByName('SPID').AsString)) + ',' + quotedstr(Trim(EDIT1.Text))); sql.Add('exec P_CW_SXPB ''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''''); execsql; // showmessage(sql.text); end; with ADOQueryCmd do begin close; sql.Clear; 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(Self.CDS_Main.FieldByName('SPID').AsString) + ' 原组号:' + trim(Self.CDS_Main.FieldByName('lotno').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); execsql; end; end; Next; end; end; CDS_Main.EnableControls; ADOQueryCmd.Connection.CommitTrans; Application.MessageBox('修改成功!', '提示', 0); except CDS_Main.EnableControls; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('修改异常!', '提示', 0); Exit; end; end; procedure TfrmDJBRKList.JGCPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application); with frmZdyAttachGYS do begin if ShowModal = 1 then begin JGC.Text := Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('CoName').AsString); jgcno.Text := Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('Cocode').AsString); end; end; finally frmZdyAttachGYS.Free; end; end; procedure TfrmDJBRKList.Tv1CustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean); var FValue: string; FBounds: TRect; begin FBounds := AViewInfo.Bounds; if (AViewInfo is TcxGridIndicatorRowItemViewInfo) then begin ACanvas.FillRect(FBounds); ACanvas.DrawComplexFrame(FBounds, clBtnHighlight, clBtnShadow, [bBottom, bLeft, bRight], 1); FValue := IntToStr(TcxGridIndicatorRowItemViewInfo(AViewInfo).GridRecord.Index + 1); InflateRect(FBounds, -1, -1); //Platform specific. May not work on Linux. ACanvas.Font.Color := clBlack; ACanvas.Brush.Style := bsClear; ACanvas.DrawText(FValue, FBounds, cxAlignCenter or cxAlignTop); ADone := True; end; end; procedure TfrmDJBRKList.Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if CDS_MX.IsEmpty then Exit; InitMXGrid(Trim(CDS_Main.fieldbyname('SPID').AsString)); end; end.