unit U_MDList; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls, ExtCtrls, ToolWin, cxPC, cxControls, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxCalendar, cxDropDownEdit, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxGridCustomView, cxGrid, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient, cxCheckBox; type TfrmMDList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBExport: TToolButton; TBClose: TToolButton; Panel1: TPanel; Label3: TLabel; Label1: TLabel; Label2: TLabel; Label5: TLabel; ConName: TEdit; BegDate: TDateTimePicker; EndDate: TDateTimePicker; orderNo: TEdit; Label6: TLabel; MDNO: TEdit; DataSource3: TDataSource; ClientDataSet3: TClientDataSet; ADOQueryCmd: TADOQuery; ADOQueryTemp: TADOQuery; ADOQuery1: TADOQuery; cxGridPopupMenu3: TcxGridPopupMenu; DataSource1: TDataSource; ClientDataSet1: TClientDataSet; cxGridPopupMenu1: TcxGridPopupMenu; ADOQuery3: TADOQuery; PSName: TComboBox; Label9: TLabel; Label11: TLabel; FactoryName: TEdit; cxPageControl1: TcxPageControl; cxTabSheet1: TcxTabSheet; cxGrid3: TcxGrid; Tv3: TcxGridDBTableView; v3Column1: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; cxGridDBColumn7: TcxGridDBColumn; cxGridDBColumn11: TcxGridDBColumn; cxGridDBColumn14: TcxGridDBColumn; cxGridDBColumn12: TcxGridDBColumn; v3Column15: TcxGridDBColumn; v3Column16: TcxGridDBColumn; Tv3Column1: TcxGridDBColumn; v3Column4: TcxGridDBColumn; v3Column5: TcxGridDBColumn; v3Column17: TcxGridDBColumn; Tv3Column2: TcxGridDBColumn; Tv3Column3: TcxGridDBColumn; v3Column3: TcxGridDBColumn; v3Column7: TcxGridDBColumn; v3Column8: TcxGridDBColumn; v3Column9: TcxGridDBColumn; v3Column10: TcxGridDBColumn; v3Column11: TcxGridDBColumn; v3Column12: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; cxTabSheet2: TcxTabSheet; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; cxGridDBColumn5: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; cxGridDBColumn8: TcxGridDBColumn; cxGridDBColumn9: TcxGridDBColumn; cxGridDBColumn10: TcxGridDBColumn; cxGridDBColumn13: TcxGridDBColumn; Tv1Column1: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; cxGridDBColumn16: TcxGridDBColumn; cxGridDBColumn17: TcxGridDBColumn; cxGridDBColumn18: TcxGridDBColumn; cxGridDBColumn19: TcxGridDBColumn; cxGridDBColumn20: TcxGridDBColumn; cxGridDBColumn22: TcxGridDBColumn; cxGridDBColumn23: TcxGridDBColumn; cxGridDBColumn24: TcxGridDBColumn; cxGridDBColumn25: TcxGridDBColumn; cxGridDBColumn26: TcxGridDBColumn; v1Column1: TcxGridDBColumn; cxGridLevel2: TcxGridLevel; cxTabSheet3: TcxTabSheet; cxTabSheet4: TcxTabSheet; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; cxGridDBColumn27: TcxGridDBColumn; v1Column9: TcxGridDBColumn; cxGridDBColumn28: TcxGridDBColumn; cxGridDBColumn29: TcxGridDBColumn; v2Column3: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v1Column15: TcxGridDBColumn; v1Column11: TcxGridDBColumn; cxGridDBColumn30: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v2Column5: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column10: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; cxGrid5: TcxGrid; Tv5: TcxGridDBTableView; cxGridDBColumn31: TcxGridDBColumn; cxGridDBColumn32: TcxGridDBColumn; cxGridDBColumn33: TcxGridDBColumn; cxGridDBColumn34: TcxGridDBColumn; cxGridDBColumn35: TcxGridDBColumn; cxGridDBColumn36: TcxGridDBColumn; cxGridDBColumn37: TcxGridDBColumn; cxGridDBColumn38: TcxGridDBColumn; v1Column14: TcxGridDBColumn; cxGridDBColumn39: TcxGridDBColumn; cxGridDBColumn40: TcxGridDBColumn; cxGridDBColumn41: TcxGridDBColumn; cxGridDBColumn42: TcxGridDBColumn; cxGridDBColumn43: TcxGridDBColumn; cxGridDBColumn44: TcxGridDBColumn; cxGridDBColumn45: TcxGridDBColumn; v1Column12: TcxGridDBColumn; v1Column13: TcxGridDBColumn; v1Column16: TcxGridDBColumn; cxGridLevel3: TcxGridLevel; cxGridPopupMenu2: TcxGridPopupMenu; cxGridPopupMenu4: TcxGridPopupMenu; v3Column2: TcxGridDBColumn; v1Column2: TcxGridDBColumn; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBRafreshClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure cxPageControl1Change(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure orderNoKeyPress(Sender: TObject; var Key: Char); procedure MDNOKeyPress(Sender: TObject; var Key: Char); procedure TBExportClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure Tv3CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure Tv2CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure Tv5CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); private { Private declarations } canshu1,canshu2:string; public { Public declarations } end; var frmMDList: TfrmMDList; implementation uses U_DataLink,U_RTFun; {$R *.dfm} procedure TfrmMDList.FormDestroy(Sender: TObject); begin frmMDList:=nil; end; procedure TfrmMDList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmMDList.TBRafreshClick(Sender: TObject); var fsj:string; begin try ADOQuery3.DisableControls; with ADOQuery3 do begin Close; Filtered:=False; sql.Clear; if cxPageControl1.ActivePageIndex<2 then begin sql.Add('exec P_View_MD :begdate,:enddate,:orderno,:MDType,:WSql'); Parameters.ParamByName('begdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date)); Parameters.ParamByName('enddate').Value:=Trim(FormatDateTime('yyyy-MM-dd',enddate.Date+1)); Parameters.ParamByName('orderno').Value:=''; Parameters.ParamByName('MDType').Value:=''; if cxPageControl1.ActivePageIndex=0 then begin fsj:=' and isnull(JMM.CKName,'''')='''' '; end else begin fsj:=' and isnull(JMM.CKName,'''')<>'''' '; end; Parameters.ParamByName('WSql').Value:=fsj; end else if cxPageControl1.ActivePageIndex=2 then begin sql.Add(' select A.*,MDNO=A.SPID,ConName=A.SPName,PSName=''纱线'' '); sql.Add(',orderNo=(select ConNo from Contract_Main CM where CM.MainId=A.CGMainId)'); 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=''入库'' '); end else if cxPageControl1.ActivePageIndex=3 then begin sql.Add(' select A.*,MDNO=A.SPID,ConName=A.SPName,PSName=''纱线'',orderno='''' '); sql.Add(' from CK_SXPB_CR A'); sql.add('where A.CRTime>=:begdate and A.CRTime<:enddate and isnull(CKName,'''')=''坯布'' '); SQL.Add(' and CRFlag=''入库'' '); Parameters.ParamByName('begdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date)); Parameters.ParamByName('enddate').Value:=Trim(FormatDateTime('yyyy-MM-dd',enddate.Date+1)); end; Open; end; SCreateCDS20(ADOQuery3,ClientDataSet3); SInitCDSData20(ADOQuery3,ClientDataSet3); finally ADOQuery3.EnableControls; end; TBFind.Click; end; procedure TfrmMDList.FormCreate(Sender: TObject); begin canshu1:=Trim(DParameters1); canshu2:=Trim(DParameters2); EndDate.Date:=SGetServerDate(ADOQueryTemp); BegDate.Date:=EndDate.Date-7; cxPageControl1.ActivePageIndex:=0; end; procedure TfrmMDList.TBCloseClick(Sender: TObject); begin WriteCxGrid('CWTV1',Tv1,'码单管理'); WriteCxGrid('CWTV2',Tv2,'码单管理'); WriteCxGrid('CWTV3',Tv3,'码单管理'); WriteCxGrid('CWTV5',Tv5,'码单管理'); Close; end; procedure TfrmMDList.cxPageControl1Change(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmMDList.TBFindClick(Sender: TObject); begin if ADOQuery3.Active=False then Exit; SDofilter(ADOQuery3,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQuery3,ClientDataSet3); SInitCDSData20(ADOQuery3,ClientDataSet3); end; procedure TfrmMDList.orderNoKeyPress(Sender: TObject; var Key: Char); var fsj:string; begin if Key=#13 then begin if Trim(orderNo.Text)='' then Exit; if cxPageControl1.ActivePageIndex>1 then Exit; if Length(Trim(orderNo.Text))<4 then Exit; try ADOQuery3.DisableControls; with ADOQuery3 do begin Close; Filtered:=False; sql.Clear; sql.Add('exec P_View_MD :begdate,:enddate,:orderno,:MDType,:WSql'); Parameters.ParamByName('begdate').Value:=''; Parameters.ParamByName('enddate').Value:=''; Parameters.ParamByName('orderno').Value:=Trim(orderNo.Text); Parameters.ParamByName('MDType').Value:=Trim(canshu1); if cxPageControl1.ActivePageIndex=0 then begin fsj:=' and isnull(JMM.CKName,'''')='''' '; end else begin fsj:=' and isnull(JMM.CKName,'''')<>'''' '; end; {if Trim(canshu2)<>'高权限' then begin fsj:=fsj+' and JMM.Filler='''+Trim(DName)+''''; end; } Parameters.ParamByName('WSql').Value:=fsj; Open; end; SCreateCDS20(ADOQuery3,ClientDataSet3); SInitCDSData20(ADOQuery3,ClientDataSet3); finally ADOQuery3.EnableControls; end; end; end; procedure TfrmMDList.MDNOKeyPress(Sender: TObject; var Key: Char); var fsj:string; begin if Key=#13 then begin if Trim(MDNO.Text)='' then Exit; if Length(Trim(MDNO.Text))<4 then Exit; try ADOQuery3.DisableControls; with ADOQuery3 do begin Close; Filtered:=False; sql.Clear; if cxPageControl1.ActivePageIndex<2 then begin sql.Add('exec P_View_MD :begdate,:enddate,:orderno,:MDType,:WSql'); Parameters.ParamByName('begdate').Value:=''; Parameters.ParamByName('enddate').Value:=''; Parameters.ParamByName('orderno').Value:=''; Parameters.ParamByName('MDType').Value:=Trim(canshu1); fsj:=' and JMM.MDNO like '''+'%'+Trim(MDNO.Text)+'%'+''''; if cxPageControl1.ActivePageIndex=0 then begin fsj:=fsj+' and isnull(JMM.CKName,'''')='''' '; end else begin fsj:=fsj+' and isnull(JMM.CKName,'''')<>'''' '; end; Parameters.ParamByName('WSql').Value:=fsj; end else if cxPageControl1.ActivePageIndex=2 then begin sql.Add(' select A.*,MDNO=A.SPID,ConName=A.SPName,PSName=''纱线'' '); sql.Add(',orderNo=(select ConNo from Contract_Main CM where CM.MainId=A.CGMainId)'); sql.Add(' from CK_SXPB_CR A'); sql.add(' where A.SPID like '''+'%'+Trim(MDNO.Text)+'%'+''''); sql.Add(' and isnull(CKName,'''')=''纱线'''); SQL.Add(' and CRFlag=''入库'' '); end else if cxPageControl1.ActivePageIndex=3 then begin sql.Add(' select A.*,MDNO=A.SPID,ConName=A.SPName,PSName=''纱线'',orderno='''' '); sql.Add(' from CK_SXPB_CR A'); sql.add(' where A.SPID like '''+'%'+Trim(MDNO.Text)+'%'+''''); SQL.Add(' and CRFlag=''入库'' '); end; Open; end; SCreateCDS20(ADOQuery3,ClientDataSet3); SInitCDSData20(ADOQuery3,ClientDataSet3); finally ADOQuery3.EnableControls; end; end; end; procedure TfrmMDList.TBExportClick(Sender: TObject); begin if ClientDataSet3.IsEmpty then Exit; if cxPageControl1.ActivePageIndex=0 then TcxGridToExcel('正常码单',cxGrid3) else if cxPageControl1.ActivePageIndex=1 then TcxGridToExcel('待处理仓库码单',cxGrid1) else if cxPageControl1.ActivePageIndex=2 then TcxGridToExcel('无单纱线码单',cxGrid2) else if cxPageControl1.ActivePageIndex=5 then TcxGridToExcel('无单坯布码单',cxGrid1); end; procedure TfrmMDList.FormShow(Sender: TObject); begin READCxGrid('CWTV1',Tv1,'码单管理'); READCxGrid('CWTV2',Tv2,'码单管理'); READCxGrid('CWTV3',Tv3,'码单管理'); READCxGrid('CWTV5',Tv5,'码单管理'); end; procedure TfrmMDList.Tv3CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); var fsj:string; begin if ClientDataSet3.IsEmpty then Exit; fsj:='select distinct(PSName) Name, Cast('''' as varchar(20)) code from JYOrder_Process where Mainid='''+Trim(ClientDataSet3.fieldbyname('ORDMainId').AsString)+''''; SInitComBoxBySql(ADOQueryTemp,PSName,False,fsj); end; procedure TfrmMDList.Tv2CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin PSName.Clear; end; procedure TfrmMDList.Tv5CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin PSName.Clear; end; procedure TfrmMDList.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); var fsj:string; begin if ClientDataSet3.IsEmpty then Exit; fsj:='select distinct(PSName) Name, Cast('''' as varchar(20)) code from JYOrder_Process where Mainid='''+Trim(ClientDataSet3.fieldbyname('ORDMainId').AsString)+''''; SInitComBoxBySql(ADOQueryTemp,PSName,False,fsj); end; end.