unit U_TCKcListSEL; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ToolWin, StdCtrls, ExtCtrls, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxButtonEdit, cxDropDownEdit, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, DBClient, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxCheckBox, RM_Common, RM_Class, RM_GridReport, RM_System, RM_Dataset, MMSystem, Menus, BtnEdit, Clipbrd, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore, dxSkinsDefaultPainters, dxSkinscxPCPainter, dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide, dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue; type TfrmTCKcListSEL = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBExport: TToolButton; TBClose: TToolButton; Panel1: TPanel; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1P_CodeName: TcxGridDBColumn; v1P_SPEC: TcxGridDBColumn; v1Qty: TcxGridDBColumn; v1QtyUnit: TcxGridDBColumn; v1Note: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; v1CRType: TcxGridDBColumn; v1CRTime: TcxGridDBColumn; Label3: TLabel; P_CodeName: TEdit; ADOQueryCmd: TADOQuery; ADOQueryTmp: TADOQuery; DataSource1: TDataSource; CDS_Main: TClientDataSet; cxGridPopupMenu1: TcxGridPopupMenu; TOk: TToolButton; v1Ssel: TcxGridDBColumn; v1MJID: TcxGridDBColumn; v1Column1: TcxGridDBColumn; Label7: TLabel; P_Color: TEdit; Label8: TLabel; Label9: TLabel; kuwei: TEdit; v1Column5: TcxGridDBColumn; v1Column6: TcxGridDBColumn; orderNo: TEdit; Label10: TLabel; ADOQueryPrint: TADOQuery; RMDB_Main: TRMDBDataSet; RM1: TRMGridReport; v1Column8: TcxGridDBColumn; ADOQueryMain: TADOQuery; Label13: TLabel; v1Column9: TcxGridDBColumn; P_Code: TEdit; Label18: TLabel; v1Column16: TcxGridDBColumn; Label31: TLabel; FactoryName: TEdit; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; v1Column3: TcxGridDBColumn; v1Column4: TcxGridDBColumn; ToolButton2: TToolButton; v1Column2: TcxGridDBColumn; Panel2: TPanel; Label1: TLabel; Button1: TButton; edtKuWei: TBtnEditA; ToolButton1: TToolButton; v1Column7: TcxGridDBColumn; v1Column10: TcxGridDBColumn; Label2: TLabel; ganghao: TEdit; v1Column11: TcxGridDBColumn; v1Column12: TcxGridDBColumn; v1Column13: TcxGridDBColumn; pp: TcxGridDBColumn; N3: TMenuItem; lbl1: TLabel; INoutNo: TEdit; Tv1Column1: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormDestroy(Sender: TObject); procedure P_CodeNameChange(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TOkClick(Sender: TObject); procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure edtKuWeiBtnClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure N3Click(Sender: TObject); private procedure InitGrid(); procedure SetStatus(); { Private declarations } public fType: integer; fCKName: string; { Public declarations } end; var frmTCKcListSEL: TfrmTCKcListSEL; implementation uses U_DataLink, U_Fun10, U_ZDYHelp; {$R *.dfm} procedure TfrmTCKcListSEL.SetStatus(); begin if fType = 10 then begin TOk.Visible := true; v1Ssel.Visible := true; ToolButton1.Visible := True; end; end; procedure TfrmTCKcListSEL.InitGrid(); begin try with adoqueryMain do begin close; sql.Clear; sql.Add(' select A.* '); sql.Add(' ,PrtKuanNO=(select PrtKuanNO from JYOrder_Sub X where X.SubId=A.SubId) '); sql.Add(' , pp=(select MIN(CRQtyFlag) from CK_ML_cr B where B.MJID=A.MJID AND B.CKName=''待检布''and B.Valid=''Y'' and CRFlag=''入库'')'); sql.Add(' , area=(select area from CK_ML_cr B where B.MJID=A.MJID AND B.CKName=''待检布''and B.Valid=''Y'' and CRFlag=''入库'')'); // sql.Add(',DD=(SELECT SUM(Qty*CRQtyFlag) FROM CK_ML_cr B WHERE B.MJID=A.MJID AND B.CKName=''待检布'' ) '); SQL.Add(' from CK_ML_KC A '); sql.Add(' where A.Qty<>0 and CKName=''待检布'' '); sql.ADD(' and exists(select * from CK_ML_CR X where X.Valid=''Y'' and X.MJID=A.MJID )'); sql.Add(' order by A.CRTime desc,A.CRNO desc'); // ShowMessage(sql.Text); open; end; SCreateCDS20(adoqueryMain, CDS_Main); SInitCDSData20(adoqueryMain, CDS_Main); finally end; end; procedure TfrmTCKcListSEL.FormClose(Sender: TObject; var Action: TCloseAction); begin writeCxGrid(self.Caption + tv1.Name, Tv1, '面料仓库'); if fType = 10 then Action := cahide else Action := cafree; end; procedure TfrmTCKcListSEL.FormDestroy(Sender: TObject); begin frmTCKcListSEL := nil; end; procedure TfrmTCKcListSEL.P_CodeNameChange(Sender: TObject); begin if adoqueryMain.Active = False then Exit; SDofilter(adoqueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(adoqueryMain, CDS_Main); SInitCDSData20(adoqueryMain, CDS_Main); end; procedure TfrmTCKcListSEL.FormShow(Sender: TObject); begin readCxGrid(self.Caption + tv1.Name, Tv1, '面料仓库'); SetStatus(); InitGrid(); end; procedure TfrmTCKcListSEL.TBCloseClick(Sender: TObject); begin close; end; procedure TfrmTCKcListSEL.TBRafreshClick(Sender: TObject); begin initGrid(); end; procedure TfrmTCKcListSEL.TBExportClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; TcxGridToExcel(self.Caption, cxgrid1); end; procedure TfrmTCKcListSEL.TOkClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; ModalResult := 1; end; procedure TfrmTCKcListSEL.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); begin if AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('ISRCCK').index] = '染厂发货' then // ACanvas.Brush.Color := $B9DAFF; ACanvas.Brush.Color := $00FFFF; // if AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('IsXGKC').index] = '是' then // ACanvas.Brush.Color := $F0CAA6; if (AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('pp').index] = '-1') and (StrToFloat(AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('qty').index]) > 0) then ACanvas.Brush.Color := $F0CAA6; end; procedure TfrmTCKcListSEL.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, true); end; procedure TfrmTCKcListSEL.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, false); end; procedure TfrmTCKcListSEL.edtKuWeiBtnClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'kuwei'; flagname := '库位'; if ShowModal = 1 then begin edtKuWei.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmTCKcListSEL.ToolButton2Click(Sender: TObject); begin if adoqueryMain.Active = False then Exit; SDofilter(adoqueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(adoqueryMain, CDS_Main); SInitCDSData20(adoqueryMain, CDS_Main); end; procedure TfrmTCKcListSEL.ToolButton1Click(Sender: TObject); begin if Panel2.Visible = False then Panel2.Visible := True else Panel2.Visible := False; end; procedure TfrmTCKcListSEL.Button1Click(Sender: TObject); begin if trim(edtKuWei.Text) = '' then exit; try ADOQueryCmd.Connection.BeginTrans; while CDS_Main.Locate('SSel', true, []) do begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('update CK_ML_KC set kuwei=' + quotedstr(trim(edtKuWei.Text))); sql.Add(' where mjid=' + quotedstr(trim(CDS_Main.FieldByName('mjid').AsString))); execsql; end; with CDS_Main do begin Edit; FieldByName('SSel').Value := false; FieldByName('KuWei').Value := trim(edtKuWei.Text); end; end; ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; end end; procedure TfrmTCKcListSEL.N3Click(Sender: TObject); begin Clipboard.SetTextBuf(PChar(Trim(CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString))); end; end.