unit U_ClothSCHZMXListSel; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter, RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, cxTextEdit, cxCheckBox, cxPC, cxContainer, cxMaskEdit; type TfrmClothSCHZMXListSel = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBClose: TToolButton; Panel1: TPanel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; Label1: TLabel; Label2: TLabel; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; Label3: TLabel; ConNo: TEdit; Label5: TLabel; C_CodeName: TEdit; Order_Main: TClientDataSet; Label10: TLabel; C_Code: TEdit; Panel2: TPanel; cxGrid3: TcxGrid; TvPBMX: TcxGridDBTableView; cxGridDBColumn3: TcxGridDBColumn; cxGridDBColumn43: TcxGridDBColumn; cxGridDBColumn44: TcxGridDBColumn; cxGridDBColumn45: TcxGridDBColumn; cxGridDBColumn46: TcxGridDBColumn; cxGridDBColumn47: TcxGridDBColumn; cxGridDBColumn51: TcxGridDBColumn; cxGridLevel5: TcxGridLevel; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1OrderNo: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column21: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column19: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; ToolButton1: TToolButton; CDS_YuanLiao: TClientDataSet; DataSource2: TDataSource; CDS_PBMX: TClientDataSet; DataSourcePBMX: TDataSource; ADOQuery1: TADOQuery; vPBMXColumn1: TcxGridDBColumn; ToolButton2: TToolButton; vPBMXColumn2: TcxGridDBColumn; vPBMXColumn3: TcxGridDBColumn; v1Column1: TcxGridDBColumn; cxGridPopupMenu2: TcxGridPopupMenu; cxGridPopupMenu3: TcxGridPopupMenu; vPBMXColumn4: TcxGridDBColumn; vPBMXColumn5: TcxGridDBColumn; ScrollBox1: TScrollBox; Label4: TLabel; Label6: TLabel; Label7: TLabel; Label11: TLabel; Label9: TLabel; Label14: TLabel; Label15: TLabel; Label18: TLabel; Label19: TLabel; Label21: TLabel; Label22: TLabel; Label8: TLabel; Label12: TLabel; Label13: TLabel; Label16: TLabel; Label17: TLabel; Label20: TLabel; Label23: TLabel; Label24: TLabel; Label26: TLabel; Label27: TLabel; Label28: TLabel; Label25: TLabel; Label29: TLabel; Label30: TLabel; Label31: TLabel; Label32: TLabel; Label33: TLabel; Label34: TLabel; Label39: TLabel; Label35: TLabel; Label36: TLabel; Label50: TLabel; ConNo1: TEdit; QDTime: TDateTimePicker; C_CodeName1: TcxButtonEdit; KZQty: TEdit; CarType: TcxButtonEdit; MFQty: TEdit; CompanyName: TcxButtonEdit; ZhuanQty: TEdit; DayQty: TEdit; DeliveryDate: TDateTimePicker; C_Color: TEdit; PiKgQty: TEdit; PiQty: TEdit; C_Qty: TEdit; C_Code1: TEdit; PiZhong: TEdit; ZhenCun: TcxButtonEdit; ZongZhenQty: TEdit; ChouZhen: TcxButtonEdit; PiKgQtyFD: TEdit; C_Spec: TEdit; GZGSType: TComboBox; ShaChang: TEdit; C_Note: TRichEdit; C_HX: TEdit; SJCarNO: TEdit; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; v2Column3: TcxGridDBColumn; v2YCLName: TcxGridDBColumn; v2Column10: TcxGridDBColumn; v2YCLSpec: TcxGridDBColumn; v2PinPai: TcxGridDBColumn; v2GYSName: TcxGridDBColumn; v2Column5: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; v2Column2: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v2Column4: TcxGridDBColumn; v2Column11: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; v2Column9: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v2Column7: TcxGridDBColumn; v2Column8: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; v2Column12: TcxGridDBColumn; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ConNoChange(Sender: TObject); procedure FormShow(Sender: TObject); procedure conPress(Sender: TObject; var Key: Char); procedure FormDestroy(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Tv2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ToolButton2Click(Sender: TObject); procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); private FInt,PFInt:Integer; canshu1:string; procedure InitGrid(); procedure InitForm(); procedure InitRZData(); { Private declarations } public RZConNO:String; { Public declarations } end; var frmClothSCHZMXListSel: TfrmClothSCHZMXListSel; implementation uses U_DataLink,U_ClothSCInPut,U_RTFun,U_ZDYHelp; {$R *.dfm} procedure TfrmClothSCHZMXListSel.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmClothSCHZMXListSel.TBCloseClick(Sender: TObject); begin Close; WriteCxGrid('坯布生产计划单Selkk',Tv1,'坯布生产管理'); WriteCxGrid('坯布生产计划单Sel1kk',Tv2,'坯布生产管理'); WriteCxGrid('坯布生产计划单Sel2kk',TvPBMX,'坯布生产管理'); end; procedure TfrmClothSCHZMXListSel.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('select * '); sql.Add(',Case when isnull((select count(*) from CaiGou_SQ where ConNo=A.ConNo ),0)>0 '); sql.Add('then Cast(1 as bit) else Cast(0 as bit) end as JHDFlag'); sql.Add('from Cloth_Main A inner join CLoth_Sub B on A.Mainid=B.MainId where '); //A.YLOK=1 sql.Add(' EndFlag=0 '); if Trim(RZConNO)<>'' then begin sql.Add(' and isnull(A.ConNo,'''')='''+Trim(RZConNO)+''''); end else begin sql.Add(' and A.QDTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+''''); sql.Add(' and A.QDTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''); end; Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally ADOQueryMain.EnableControls; end; if Trim(RZConNO)<>'' then begin InitRZData(); end; end; procedure TfrmClothSCHZMXListSel.InitForm(); begin ReadCxGrid('坯布生产计划单Selkk',Tv1,'坯布生产管理'); ReadCxGrid('坯布生产计划单Sel1kk',Tv2,'坯布生产管理'); ReadCxGrid('坯布生产计划单Sel2kk',TvPBMX,'坯布生产管理'); BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7; EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); InitGrid(); if Trim(RZConNO)<>'' then begin ToolButton2.Visible:=False; end; end; procedure TfrmClothSCHZMXListSel.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active=False then Exit; SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); end; procedure TfrmClothSCHZMXListSel.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmClothSCHZMXListSel.ConNoChange(Sender: TObject); begin if ADOQueryMain.Active=False then Exit; SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); end; procedure TfrmClothSCHZMXListSel.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmClothSCHZMXListSel.conPress(Sender: TObject; var Key: Char); begin if Key=#13 then begin if Length(Trim(ConNo.Text))<4 then Exit; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('select * from Cloth_Main A inner join CLoth_Sub B on A.Mainid=B.MainId'); sql.Add(' where A.ConNo like '''+'%'+Trim(ConNo.Text)+'%'+''''); sql.Add(' and A.YLOK=1 and EndFlag=0'); Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally ADOQueryMain.EnableControls; end; end; end; procedure TfrmClothSCHZMXListSel.FormDestroy(Sender: TObject); begin frmClothSCHZMXListSel:=nil; end; procedure TfrmClothSCHZMXListSel.ToolButton1Click(Sender: TObject); begin try frmClothSCInPut:=TfrmClothSCInPut.Create(Application); with frmClothSCInPut do begin PState:=1; FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); FSubId:=Trim(Self.Order_Main.fieldbyname('SubId').AsString); FConNo:=Trim(Self.Order_Main.fieldbyname('ConNo').AsString); if ShowModal=1 then begin end; end; finally frmClothSCInPut.Free; end; end; procedure TfrmClothSCHZMXListSel.Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin InitRZData(); end; procedure TfrmClothSCHZMXListSel.InitRZData(); begin with ADOQuery1 do begin Close; SQL.Clear; sql.Add(' exec Cloth_QryList :MainId,:WSql'); if Order_Main.IsEmpty=False then begin ADOQuery1.Parameters.ParamByName('MainId').Value:=Trim(Order_Main.fieldbyname('MainId').AsString); ADOQuery1.Parameters.ParamByName('WSql').Value:=' '; end else begin ADOQuery1.Parameters.ParamByName('MainId').Value:=''; ADOQuery1.Parameters.ParamByName('WSql').Value:=' and 1<>1 '; end; Open; end; SCSHData(ADOQuery1,ScrollBox1,0); SCSHData(ADOQuery1,ScrollBox1,2); ConNo1.Text:=Trim(ADOQuery1.fieldbyname('ConNo').AsString); C_CodeName1.Text:=Trim(ADOQuery1.fieldbyname('C_CodeName').AsString); C_Code1.Text:=Trim(ADOQuery1.fieldbyname('C_Code').AsString); with ADOQuery1 do begin Close; sql.Clear; sql.Add('select A.* '); sql.Add(',YLQty=Cast(C_Qty*PBQty*0.01*(1+isnull(ZPSH,0)*0.01) as decimal(18,1))'); sql.Add(',SQQty=(select sum(SQQty) from CaiGou_SQ SQ where SQ.ConNo=C.ConNo and SQ.SPName=A.YCLName '); sql.Add(' and SQ.Valid=''Y'' and isnull(SQ.ConNo,'''')<>'''')'); sql.Add(',DHQty=(select sum(Qty) from CK_SXPB_CR SQ where SQ.PBNO=C.ConNo and SQ.SPName=A.YCLName '); sql.Add(' and isnull(SQ.PBNO,'''')<>'''' and ZFFlag=0 and CKName=''纱线'' and CRFlag=''入库'')'); sql.Add(',CKQty=(select sum(Qty) from CK_SXPB_CR SQ where SQ.PBNO=C.ConNo and SQ.SPName=A.YCLName '); sql.Add(' and isnull(SQ.PBNO,'''')<>'''' and ZFFlag=0 and CKName=''纱线'' and CRFlag=''出库'')'); sql.Add(' from Cloth_YCL_PB A '); sql.Add(' inner join Cloth_Sub B on A.SubId=B.SubId'); sql.Add(' inner join Cloth_Main C on B.MainId=C.MainId'); sql.Add(' where A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); Open; end; SCreateCDS20(ADOQuery1,CDS_YuanLiao); SInitCDSData20(ADOQuery1,CDS_YuanLiao); end; procedure TfrmClothSCHZMXListSel.Tv2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin // with ADOQueryTemp do // begin // Close; // sql.Clear; // sql.Add('select MX.* '); // sql.Add(',YLQty10=Cast(C_Qty*A.PBQty*0.01*(1+isnull(ZPSH,0)*0.01)*MX.PBQty*0.01*(1+isnull(WLSH,0)*0.01) as decimal(18,1))'); // sql.Add(' from Cloth_YCL_PB A'); // sql.Add(' inner join Cloth_Sub B on A.SubId=B.SubId'); // sql.Add(' inner join Cloth_YCL_PB_MX MX on A.PBID=MX.PBID'); // SQL.Add(' where MX.PBID='''+Trim(CDS_YuanLiao.fieldbyname('PBID').AsString)+''''); // Open; // end; // SCreateCDS20(ADOQueryTemp,CDS_PBMX); // SInitCDSData20(ADOQueryTemp,CDS_PBMX); end; procedure TfrmClothSCHZMXListSel.ToolButton2Click(Sender: TObject); begin if (CDS_YuanLiao.Locate('SSel',True,[])=False) and (CDS_PBMX.Locate('SSel',True,[])=False) then begin Application.MessageBox('没有选择数据!','提示',0); Exit; end; ModalResult:=1; end; procedure TfrmClothSCHZMXListSel.Tv1CustomDrawCell( Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); begin IF AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('JHDFlag').Index]=True then ACanvas.Brush.Color:=clSkyBlue; end; end.