unit U_BPShengChanListCX; 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, cxCheckBox, cxCalendar, cxSplitter, RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, Menus; type TfrmBPShengChanListCX = class(TForm) ToolBar1: TToolBar; TBClose: TToolButton; Panel1: TPanel; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; Label3: TLabel; ConNo: TEdit; Order_Main: TClientDataSet; ToolButton3: TToolButton; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1OrderNo: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column18: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v1Column17: TcxGridDBColumn; v1PRTMF: TcxGridDBColumn; v1PRTKZ: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; TFind: TToolButton; ToolButton2: TToolButton; Label1: TLabel; Label2: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; v1SXSH: TcxGridDBColumn; v1SXCKQty: TcxGridDBColumn; v1PBRKZQty: TcxGridDBColumn; Label4: TLabel; C_CodeName: TEdit; v1SXRKQty: TcxGridDBColumn; v1SXSYQty: TcxGridDBColumn; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure Tv1DblClick(Sender: TObject); procedure ConNoChange(Sender: TObject); procedure TFindClick(Sender: TObject); procedure ConNoKeyPress(Sender: TObject; var Key: Char); procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); private procedure InitForm(); procedure Initgrid(); { Private declarations } public FFInt,FCloth:Integer; { Public declarations } end; var frmBPShengChanListCX: TfrmBPShengChanListCX; implementation uses U_DataLink,U_RTFun; {$R *.dfm} procedure TfrmBPShengChanListcx.Initgrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; sql.Clear; sql.Add('select AA.*,PBRKZQty=isnull(PBRKQty,0)+isnull(PBRKQty1,0),SXSYQty=isnull(SXCKQty,0)-isnull(SXRKQty,0)'); sql.add(',SXSH=(case when isnull(SXCKQty,0)-isnull(SXRKQty,0)=0 then 0 else (isnull(SXCKQty,0)-isnull(SXRKQty,0)-(isnull(PBRKQty,0)+isnull(PBRKQty1,0)))/(isnull(SXCKQty,0)-isnull(SXRKQty,0))*100 end)'); sql.add(' from (select A.ConNo,A.ComTaiTou,B.C_CodeName,B.ChouZhenYT,B.ConDefStr2,B.ConDefStr10,B.MFQty,B.KZQty,B.C_Qty '); sql.Add(',SXRKQty=(select SUM(C.Qty) from CK_SXPB_CR C where C.SCSubIdRK=B.SubId and isnull(C.CKName,'''')=''纱线'' and C.CRFlag=''入库'' and C.CRType=''织造加工退回'') '); sql.Add(',SXCKQty=(select SUM(C.Qty) from CK_SXPB_CR C where C.SCSubIdCK=B.SubId and isnull(C.CKName,'''')=''纱线'' and C.CRFlag=''出库'' and C.CRType=''织造加工出库'') '); sql.Add(',PBRKQty=(select SUM(C.Qty) from CK_SXPB_CR C where C.SCSubIdRK=B.SubId and isnull(C.CKName,'''')=''坯布'' and C.CRFlag=''入库'' and C.CRType=''加工完成'') '); sql.Add(',PBRKQty1=(select SUM(C.MJMaoZ) from WFB_MJJY_PB C where C.SubId=B.SubId and C.MainId=A.MainId) '); sql.Add('from Cloth_Main A '); sql.Add('Left join Cloth_Sub B on B.MainId=A.MainId '); sql.add('where A.ConType=''生产'' and A.QDTime>='''+trim(formatdatetime('yyyy-MM-dd',begdate.datetime))+''' '); sql.add('and A.QDTime<'''+trim(formatdatetime('yyyy-MM-dd',Enddate.datetime+1))+''') AA '); Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmBPShengChanListCX.FormDestroy(Sender: TObject); begin frmBPShengChanListCX:=nil; end; procedure TfrmBPShengChanListCX.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmBPShengChanListCX.FormCreate(Sender: TObject); begin cxgrid1.Align:=alClient; end; procedure TfrmBPShengChanListCX.TBCloseClick(Sender: TObject); begin Close; WriteCxGrid('白坯生产单选择坯1',Tv1,'白坯生产单管理'); end; procedure TfrmBPShengChanListCX.InitForm(); begin ReadCxGrid('白坯生产单选择坯1',Tv1,'白坯生产单管理'); EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); BegDate.DateTime:=EndDate.DateTime-15; initgrid(); end; procedure TfrmBPShengChanListCX.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmBPShengChanListCX.ToolButton3Click(Sender: TObject); begin BegDate.SetFocus; Initgrid(); end; procedure TfrmBPShengChanListCX.Tv1DblClick(Sender: TObject); begin ToolButton3.Click; end; procedure TfrmBPShengChanListCX.ConNoChange(Sender: TObject); begin TFind.Click; end; procedure TfrmBPShengChanListCX.TFindClick(Sender: TObject); begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); end; procedure TfrmBPShengChanListCX.ConNoKeyPress(Sender: TObject; var Key: Char); begin if Key=#13 then begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; sql.Clear; sql.Add('select AA.*,PBRKZQty=isnull(PBRKQty,0)+isnull(PBRKQty1,0) from (select A.ConNo,A.ComTaiTou,B.C_CodeName,B.ChouZhenYT,B.ConDefStr2,B.ConDefStr10,B.MFQty,B.KZQty,B.C_Qty '); sql.Add(',SXRKQty=(select SUM(C.Qty) from CK_SXPB_CR C where C.SCSubIdRK=B.SubId and isnull(C.CKName,'''')=''纱线'' and C.CRFlag=''入库'') '); sql.Add(',SXCKQty=(select SUM(C.Qty) from CK_SXPB_CR C where C.SCSubIdCK=B.SubId and isnull(C.CKName,'''')=''纱线'' and C.CRFlag=''出库'' and C.CRType in (''织造加工出库'',''染沙加工出库'',''网络加工出库'')) '); sql.Add(',PBRKQty=(select SUM(C.Qty) from CK_SXPB_CR C where C.SCSubIdRK=B.SubId and isnull(C.CKName,'''')=''坯布'' and C.CRFlag=''入库'' and C.CRType=''加工完成'') '); sql.Add(',PBRKQty1=(select SUM(C.Qty) from CK_SXPB_CR C inner join JYOrder_Main JM on JM.MainId=C.ORDMainIdRK where JM.OrderNo=A.OrderNo and isnull(C.CKName,'''')=''坯布'' and C.CRFlag=''入库'' and C.CRType=''自生产入库'') '); sql.Add('from Cloth_Main A '); sql.Add('Left join Cloth_Sub B on B.MainId=A.MainId '); sql.add('where A.ConType=''生产'' and A.ConNo='''+'%'+trim(ConNo.Text)+'%'+''') AA'); Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally ADOQueryMain.EnableControls; end; end; end; procedure TfrmBPShengChanListCX.Tv1StylesGetContentStyle( Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); var i:integer; begin i:=Tv1.GetColumnByFieldName('SXSH').Index; if ARecord.Values[i]>3 then begin AStyle:=DataLink_FMMD.Red; end; end; end.