unit U_JGPBCKKCList; 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; type TfrmJGPBCKKCList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; CDS_Main: TClientDataSet; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; RMDBHZ: TRMDBDataSet; CDS_HZ: TClientDataSet; CDS_PRT: TClientDataSet; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v2YLName: TcxGridDBColumn; v1QtyUnit: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; Label3: TLabel; YLName: TEdit; ToolButton2: TToolButton; Label2: TLabel; v1SQJCQty: TcxGridDBColumn; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; v1tuobie: TcxGridDBColumn; v1dunWei: TcxGridDBColumn; v1BQRKQty: TcxGridDBColumn; v1BQCKQty: TcxGridDBColumn; v1BQKCQty: TcxGridDBColumn; v1BYRKQty: TcxGridDBColumn; v1BYCKQty: TcxGridDBColumn; cxStyle2: TcxStyle; Label1: TLabel; BegDate: TDateTimePicker; Label4: TLabel; tuobie: TEdit; v1KCNote: TcxGridDBColumn; ADOQuery1: TADOQuery; TPrint: TToolButton; CDS_Print: TClientDataSet; v1FactoryName: TcxGridDBColumn; v1JZRKQty: TcxGridDBColumn; TWC: TToolButton; v1WCStatus: TcxGridDBColumn; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBRafreshClick(Sender: TObject); procedure ConNoMChange(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure MPRTCodeNameChange(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure SXBatchNOChange(Sender: TObject); procedure FactoryNameChange(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure ToolButton2Click(Sender: TObject); procedure v1KCNotePropertiesEditValueChanged(Sender: TObject); procedure TPrintClick(Sender: TObject); procedure TWCClick(Sender: TObject); private procedure InitGrid(); { Private declarations } public { Public declarations } end; var frmJGPBCKKCList: TfrmJGPBCKKCList; implementation uses U_DataLink,U_RTFun,U_SXCKInPut; {$R *.dfm} procedure TfrmJGPBCKKCList.FormDestroy(Sender: TObject); begin frmJGPBCKKCList:=nil; end; procedure TfrmJGPBCKKCList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmJGPBCKKCList.InitGrid(); begin ToolBar1.SetFocus; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('exec P_YL_KC @begdate='''+trim(FormatDateTime('yyyy-MM-dd',BegDate.Date-1))+''''); sql.Add(',@enddate='''+trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+''''); Open; end; SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); finally; ADOQueryMain.EnableControls; end; end; procedure TfrmJGPBCKKCList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmJGPBCKKCList.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); end; end; procedure TfrmJGPBCKKCList.TBCloseClick(Sender: TObject); begin WriteCxGrid('原料库存列表4321',Tv1,'原料仓库'); Close; end; procedure TfrmJGPBCKKCList.FormShow(Sender: TObject); begin ReadCxGrid('原料库存列表4321',Tv1,'原料仓库'); BegDate.Date:=SGetServerDate(ADOQueryTemp); //InitGrid(); end; procedure TfrmJGPBCKKCList.TBFindClick(Sender: TObject); begin ToolBar1.SetFocus; if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); end; end; procedure TfrmJGPBCKKCList.MPRTCodeNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmJGPBCKKCList.N1Click(Sender: TObject); begin SelOKNo(CDS_Main,True); end; procedure TfrmJGPBCKKCList.N2Click(Sender: TObject); begin SelOKNo(CDS_Main,False); end; procedure TfrmJGPBCKKCList.SXBatchNOChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmJGPBCKKCList.FactoryNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmJGPBCKKCList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin ModalResult:=1; end; procedure TfrmJGPBCKKCList.ToolButton2Click(Sender: TObject); begin ToolBar1.SetFocus; if CDS_Main.IsEmpty then exit; TcxGridToExcel('原料库存列表',cxGrid2); end; procedure TfrmJGPBCKKCList.v1KCNotePropertiesEditValueChanged( Sender: TObject); var maxno,mavlue:string; begin mavlue:=TcxTextEdit(Sender).EditingText; with CDS_Main do begin Edit; FieldByName('KCNote').Value:=Trim(mavlue); end; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin with ADOQueryTemp do begin Close; SQL.Clear; SQL.Add('select * from KH_ZDY where Type='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+trim(CDS_Main.fieldbyname('YLName').AsString)+trim(CDS_Main.fieldbyname('tuobie').AsString)+''''); open; end; if ADOQueryTemp.IsEmpty then begin if GetLSNo(ADOQuery1,maxno,'YL','KH_ZDY',3,1)=False then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取最大编号失败!','提示',0); Exit; end; end else begin maxno:=Trim(ADOQueryTemp.fieldbyname('ZDYNo').AsString); end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select * from KH_ZDY where ZDYNo='''+trim(maxno)+''''); Open; end; if ADOQueryCmd.IsEmpty then ADOQueryCmd.Append else ADOQueryCmd.Edit; ADOQueryCmd.FieldByName('ZDYNo').Value:=Trim(maxno); ADOQueryCmd.FieldByName('ZDYName').Value:=Trim(mavlue); ADOQueryCmd.FieldByName('Type').Value:=Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+trim(CDS_Main.fieldbyname('YLName').AsString)+trim(CDS_Main.fieldbyname('tuobie').AsString); ADOQueryCmd.FieldByName('valid').Value:='Y'; ADOQueryCmd.Post; //ShowMessage(Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+trim(CDS_Main.fieldbyname('YLName').AsString)+trim(CDS_Main.fieldbyname('tuobie').AsString)); end; ADOQueryCmd.Connection.CommitTrans; except; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!','提示',0); end; end; procedure TfrmJGPBCKKCList.TPrintClick(Sender: TObject); var fPrintFile:string; Porderno,LBName:string; i,j:Integer; begin if CDS_Main.IsEmpty then Exit; fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\原料库存查询.rmf' ; with ADOQueryTemp do begin Filtered:=False; Close; sql.Clear; sql.Add('exec P_YL_KCBaoBiao @begdate='''+trim(FormatDateTime('yyyy-MM-dd',BegDate.Date-1))+''''); sql.Add(',@enddate='''+trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+''''); Open; end; SCreateCDS20(ADOQueryTemp,CDS_Print); SInitCDSData20(ADOQueryTemp,CDS_Print); if CDS_Print.FieldByName('WCStatus').AsString='' then begin Application.MessageBox('该日期未登记完成','提示'); exit; end; if FileExists(fPrintFile) then begin RM1.LoadFromFile(fPrintFile); RMVariables['Date']:=BegDate.Date; RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+'Report\原料库存查询.rmf'),'提示',0); end; end; procedure TfrmJGPBCKKCList.TWCClick(Sender: TObject); begin if CDS_Main.IsEmpty then exit; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('update CK_SXPB_CR set WCStatus=''已完成'' where CRFlag=''入库'' and CKName=''原料'' '); sql.Add('and filltime>='''+trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+''' '); sql.Add('and filltime<'''+trim(FormatDateTime('yyyy-MM-dd',BegDate.Date+1))+''''); ExecSQL; end; Application.MessageBox('操作成功','提示'); TBRafresh.Click; end; end.