unit U_TradeClothProcessCastingInput; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxCalendar, cxDropDownEdit, ComCtrls, ToolWin, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient, cxButtonEdit, cxTextEdit, cxSpinEdit, StdCtrls, ExtCtrls, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxDateRanges, dxBarBuiltInMenu, U_BaseInput, System.ImageList, Vcl.ImgList, cxPC, dxScrollbarAnnotations, cxCheckBox, cxImageList, dxSkinsCore, dxSkinsDefaultPainters, Vcl.Menus; type TfrmTradeClothProcessCastingInput = class(TfrmBaseInput) ToolBar1: TToolBar; TBSave: TToolButton; TBClose: TToolButton; DS_1: TDataSource; CDS_1: TClientDataSet; ADOQueryCmd: TADOQuery; ADO_1: TADOQuery; ADOQueryTemp: TADOQuery; GPM_1: TcxGridPopupMenu; ToolButton1: TToolButton; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; Tv1Column13: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column14: TcxGridDBColumn; Tv1Column11: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v1Column8: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; v1Column13: TcxGridDBColumn; v1Column11: TcxGridDBColumn; Tv1Column6: TcxGridDBColumn; v1Column15: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column5: TcxGridDBColumn; Tv1Column19: TcxGridDBColumn; v1Column19: TcxGridDBColumn; v1Column12: TcxGridDBColumn; v1Column20: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; Tv1Column1: TcxGridDBColumn; Tv1Column21: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; Tv1Column10: TcxGridDBColumn; Tv1Column8: TcxGridDBColumn; Tv1Column9: TcxGridDBColumn; Tv1Column14: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; Tv1Column7: TcxGridDBColumn; Tv1Column12: TcxGridDBColumn; Tv1Column15: TcxGridDBColumn; Tv1Column16: TcxGridDBColumn; Tv1Column17: TcxGridDBColumn; Tv1Column18: TcxGridDBColumn; Tv1Column20: TcxGridDBColumn; pm1: TPopupMenu; N5: TMenuItem; N6: TMenuItem; N3: TMenuItem; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBSaveClick(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure N5Click(Sender: TObject); procedure N6Click(Sender: TObject); procedure N3Click(Sender: TObject); private { Private declarations } function SaveData(): Boolean; procedure InitGrid1(); public { Public declarations } FMasterOrderNo, FSubid, FTPFId: string; end; var frmTradeClothProcessCastingInput: TfrmTradeClothProcessCastingInput; implementation uses U_DataLink, U_RTFun, U_ZDYHelp, U_TradeFinishClothStkSel, U_CompanySel, U_TradePlanSel; {$R *.dfm} procedure TfrmTradeClothProcessCastingInput.InitGrid1(); begin with ADO_1 do begin Close; sql.Clear; sql.Add(' select A.*,outtime=getdate() '); sql.Add(',OutPiece=StkPiece,OutQty=StkQty '); sql.Add(',KYPiece=StkPiece,KYQty=StkQty '); sql.Add(' from BS_Cloth_IO A '); SQL.Add(' where A.IOFlag=''入库'' and (isnull(StkQty,0)>0 or isnull(StkPiece,0)>0) '); sql.Add(' and isnull(stkName,'''')=''贸易布匹'' '); // sql.Add(' and fromMasterOrdNo= ' + QuotedStr(TRIM(FMasterOrderNo))); and IOType=''调拨入库'' Open; end; SCreateCDS(ADO_1, CDS_1); SInitCDSData(ADO_1, CDS_1); end; procedure TfrmTradeClothProcessCastingInput.N3Click(Sender: TObject); begin CopyTVFocusValue(TV1); end; procedure TfrmTradeClothProcessCastingInput.N5Click(Sender: TObject); begin SelOKNo(CDS_1, True); end; procedure TfrmTradeClothProcessCastingInput.N6Click(Sender: TObject); begin SelOKNo(CDS_1, False); end; procedure TfrmTradeClothProcessCastingInput.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; function TfrmTradeClothProcessCastingInput.SaveData(): Boolean; var MBCIOID: string; begin try ADOQueryCmd.Connection.BeginTrans; CDS_1.DisableControls; with CDS_1 do begin First; while not eof do begin if CDS_1.FieldByName('ssel').AsBoolean then begin if (CDS_1.fieldbyname('OutQty').AsFloat > 0) then begin with ADOQueryCmd do begin Close; Sql.Clear; Sql.Add('exec P_BS_Cloth_IOALL '); Sql.Add(' @Operation=' + quotedstr(Trim('投坯出库'))); Sql.Add(' ,@StkID=' + quotedstr(Trim(CDS_1.fieldbyname('StkID').AsString))); Sql.Add(' ,@MasterOrdNo=' + quotedstr(Trim(FMasterOrderNo))); Sql.Add(' ,@TPFId=' + quotedstr(Trim(FTPFId))); Sql.Add(' ,@SubId=' + quotedstr(Trim(FSubId))); Sql.Add(' ,@IOTime=' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', CDS_1.fieldbyname('outtime').AsDateTime)))); Sql.Add(' ,@Piece=' + Trim(CDS_1.fieldbyname('OutPiece').AsString)); Sql.Add(' ,@Qty=' + Trim(CDS_1.fieldbyname('OutQty').AsString)); Sql.Add(' ,@Dcode=' + quotedstr(Trim(Dcode))); Sql.Add(' ,@DName=' + quotedstr(Trim(DName))); // ShowMessage(sql.Text); Open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); end; end; Next; end; end; CDS_1.EnableControls; ADOQueryCmd.Connection.CommitTrans; Result := True; except Result := False; ADOQueryCmd.Connection.RollbackTrans; application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0); end; end; procedure TfrmTradeClothProcessCastingInput.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmTradeClothProcessCastingInput.FormShow(Sender: TObject); var fsj: string; begin inherited; ReadCxGrid(trim(Self.Caption) + 'TV1', Tv1, '贸易汇总仓库'); InitGrid1(); end; procedure TfrmTradeClothProcessCastingInput.TBSaveClick(Sender: TObject); begin if CDS_1.IsEmpty then Exit; ToolBar1.SetFocus; if CDS_1.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; if SaveData() then begin ModalResult := 1; end; end; procedure TfrmTradeClothProcessCastingInput.ToolButton1Click(Sender: TObject); begin WriteCxGrid(trim(Self.Caption) + 'TV1', Tv1, '贸易汇总仓库'); end; end.