unit U_KkAndDjList; 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, BtnEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu, U_BaseList; type TfrmKkAndDjList = class(TFrmBaseList) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBExport: TToolButton; TBClose: TToolButton; 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; ADOQueryPrint: TADOQuery; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1Column2: TcxGridDBColumn; v1Column26: TcxGridDBColumn; v1Column13: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v1Column22: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column19: TcxGridDBColumn; v1Column14: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column15: TcxGridDBColumn; v1Column17: TcxGridDBColumn; v1Column18: TcxGridDBColumn; v1Column20: TcxGridDBColumn; v1Column23: TcxGridDBColumn; v1Column27: TcxGridDBColumn; v1Column28: TcxGridDBColumn; v1Column29: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; Panel1: TPanel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label7: TLabel; Label11: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; SPName: TEdit; FactoryName: TEdit; ckorderno: TEdit; CheckBox1: TCheckBox; Label9: TLabel; CheckBox2: TCheckBox; RCGangNo: TEdit; Tv1Column4: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; Label1: TLabel; Label5: TLabel; Label6: TLabel; Label8: TLabel; SPID: TEdit; SPColorNo: TEdit; ConNoAT: TEdit; BUYCONNOMX: TEdit; Tv1Column11: TcxGridDBColumn; Label12: TLabel; Label13: TLabel; Label14: TLabel; Tv1Column12: TcxGridDBColumn; Tv1Column14: TcxGridDBColumn; ToolButton1: TToolButton; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ConNoMChange(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure SPIDKeyPress(Sender: TObject; var Key: Char); procedure SPSpecChange(Sender: TObject); procedure FactoryNameChange(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); procedure ORDERNOMKeyPress(Sender: TObject; var Key: Char); procedure CheckBox1Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); private procedure SetStatus(); procedure InitGrid(); { Private declarations } public canshu1: string; { Public declarations } end; var frmKkAndDjList: TfrmKkAndDjList; implementation uses U_DataLink, U_RTFun, U_ZDYHelp, U_JYOrderCDList; {$R *.dfm} procedure TfrmKkAndDjList.SetStatus(); begin end; procedure TfrmKkAndDjList.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmKkAndDjList.FormCreate(Sender: TObject); begin inherited; EndDate.DateTime := SGetServerDate(ADOQueryTemp); BegDate.DateTime := EndDate.DateTime; end; procedure TfrmKkAndDjList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; sql.Clear; sql.Add('select A.* ,B.BUYCONNOMX,C.ConNo ConNoAT,B.SCSKHHX'); sql.Add(',SHQty=(case when QtyUnit=''Kg'' then Qty-ZPZJ else Qty-ZPSL end )'); sql.Add(',JTType=(SUBSTRING(CAST((select distinct '','' +X.JTTYPE from JY_Cloth X where X.APID=A.SPID for xml path('''') ) AS VARCHAR(100)) , 2, 100)) '); sql.Add(' from CK_SXPB_CR A left join SalesContract_Sub B ON A.ckconsubid=B.subid left join SalesContract_Main C ON B.MainId=C.MainId '); sql.Add(' where isnull(CKName,'''')=''待检布'' and CRFlag=''出库'' and CRType=''检验出库'' '); if (CheckBox1.Checked = False) and (CheckBox2.Checked = False) then begin sql.Add(' and A.CRTime>=' + quotedstr(trim(FormatDateTime('yyyy-MM-dd', Begdate.DateTime)))); sql.Add(' and A.CRTime<' + quotedstr(trim(FormatDateTime('yyyy-MM-dd', EndDate.DateTime + 1)))); end; if CheckBox1.Checked then begin sql.Add(' and isnull(DJJS,0)=0 '); sql.Add(' and A.CRTime>=' + quotedstr(trim(FormatDateTime('yyyy-MM-dd', Begdate.DateTime)))); sql.Add(' and A.CRTime<' + quotedstr(trim(FormatDateTime('yyyy-MM-dd', EndDate.DateTime + 1)))); end; if CheckBox2.Checked then begin sql.Add(' and A.DJDate>=' + quotedstr(trim(FormatDateTime('yyyy-MM-dd', Begdate.DateTime)))); sql.Add(' and A.DJDate<' + quotedstr(trim(FormatDateTime('yyyy-MM-dd', EndDate.DateTime + 1)))); end; // ShowMessage(sql.Text); Open; end; SCreateCDS(ADOQueryMain, CDS_Main); SInitCDSData(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmKkAndDjList.TBRafreshClick(Sender: TObject); begin BegDate.SetFocus; InitGrid(); end; procedure TfrmKkAndDjList.ToolButton1Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; try ADOQueryCmd.Connection.BeginTrans; CDS_Main.DisableControls; with CDS_Main do begin First; while not eof do begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' exec P_JY_UP_LCK ''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''''); execsql; end; CDS_Main.Next; end; end; ADOQueryCmd.Connection.CommitTrans; CDS_Main.EnableControls; except ADOQueryCmd.Connection.RollbackTrans; CDS_Main.EnableControls; Application.MessageBox('更新异常!', '提示', 0); end; InitGrid(); end; procedure TfrmKkAndDjList.ToolButton2Click(Sender: TObject); begin begin if Application.MessageBox('确定要撤销整缸完成吗?', '提示', 32 + 4) <> IDYES then Exit; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('update CK_SXPB_CR set DJWCFlag=0,DJWCTime=null,DJWCer=null'); sql.Add(' where SPID=' + quotedstr(trim(CDS_Main.FieldByName('SPID').AsString))); sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('撤销打卷完成'))); sql.Add(',' + quotedstr(trim(CDS_Main.FieldByName('SPID').AsString))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); execsql; end; end; InitGrid(); end; procedure TfrmKkAndDjList.ToolButton3Click(Sender: TObject); begin if Application.MessageBox('确定要撤销整缸完成吗?', '提示', 32 + 4) <> IDYES then Exit; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('update CK_SXPB_CR set CLFlag=0,CLTime=null,CLer=null'); sql.Add(' where SPID=' + quotedstr(trim(CDS_Main.FieldByName('SPID').AsString))); sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('撤销处理'))); sql.Add(',' + quotedstr(trim(CDS_Main.FieldByName('SPID').AsString))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); execsql; end; InitGrid(); end; procedure TfrmKkAndDjList.CheckBox1Click(Sender: TObject); begin CheckBox2.OnClick := nil; if CheckBox2.Checked then CheckBox2.Checked := False; InitGrid(); CheckBox2.OnClick := CheckBox2Click; end; procedure TfrmKkAndDjList.CheckBox2Click(Sender: TObject); begin CheckBox1.OnClick := nil; if CheckBox1.Checked then CheckBox1.Checked := False; InitGrid(); CheckBox1.OnClick := CheckBox1Click; end; procedure TfrmKkAndDjList.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmKkAndDjList.TBCloseClick(Sender: TObject); begin WriteCxGrid(trim(self.Caption), Tv1, '开卡管理'); Close; end; procedure TfrmKkAndDjList.FormShow(Sender: TObject); begin inherited; SetStatus(); ReadCxGrid(trim(self.Caption), Tv1, '开卡管理'); InitGrid(); end; procedure TfrmKkAndDjList.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; TcxGridToExcel('待检布入库列表', cxGrid2); end; procedure TfrmKkAndDjList.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_Main); SInitCDSData(ADOQueryMain, CDS_Main); end; end; procedure TfrmKkAndDjList.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmKkAndDjList.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmKkAndDjList.SPIDKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin {if Length(Trim(SPID.Text))<4 then Exit; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add(' select A.* '); sql.Add(',ConNo=(select ConNo from Contract_Main CM where CM.MainId=A.CGMainId)'); //sql.Add(' ,ConNo=(select ConNo from Contract_Main CM where CM.MainId=A.CGMainId )'); sql.Add(' from CK_SXPB_CR A'); sql.add(' where SPID like :SXID'); Parameters.ParamByName('SXID').Value:='%'+Trim(SXID.Text)+'%'; Open; //ShowMessage(SQL.Text); end; SCreateCDS(ADOQueryMain,CDS_Main); SInitCDSData(ADOQueryMain,CDS_Main); finally ADOQueryMain.EnableControls; end; } end; end; procedure TfrmKkAndDjList.SPSpecChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmKkAndDjList.FactoryNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmKkAndDjList.FormDestroy(Sender: TObject); begin inherited; frmKkAndDjList := nil; end; procedure TfrmKkAndDjList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin // try // frmJYOrderCDList := TfrmJYOrderCDList.Create(Application); // with frmJYOrderCDList do // begin // Color := trim(self.CDS_Main.FieldByName('SPColor').AsString); // GangID := trim(self.CDS_Main.FieldByName('SPID').AsString); // if ShowModal = 1 then // begin // InitGrid(); // end; // end; // finally // frmJYOrderCDList.Free; // end; end; procedure TfrmKkAndDjList.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); var Fsunhao: double; FDJWCFlag, FCLFlag: string; begin // FDJWCFlag := AViewInfo.GridRecord.Values[TcxGridDBTableView(Sender).GetColumnByFieldName('DJWCFlag').Index]; // if AViewInfo.GridRecord.Values[TcxGridDBTableView(Sender).GetColumnByFieldName('CLFlag').Index] = null then // FCLFlag := 'False' // else // FCLFlag := AViewInfo.GridRecord.Values[TcxGridDBTableView(Sender).GetColumnByFieldName('CLFlag').Index]; // if FDJWCFlag = 'True' then // begin if AViewInfo.GridRecord.Values[TcxGridDBTableView(Sender).GetColumnByFieldName('sunhao').Index] = null then Exit; Fsunhao := AViewInfo.GridRecord.Values[TcxGridDBTableView(Sender).GetColumnByFieldName('sunhao').Index]; if AViewInfo.GridRecord.Values[TcxGridDBTableView(Sender).GetColumnByFieldName('ZPPS').Index] = null then Exit; if FCLFlag = 'True' then begin ACanvas.Brush.Color := $FF00FF; end else begin if AViewInfo.GridRecord.Values[TcxGridDBTableView(Sender).GetColumnByFieldName('ZPPS').Index] = null then Exit; if (AViewInfo.GridRecord.Values[TcxGridDBTableView(Sender).GetColumnByFieldName('ZPPS').Index]) > 0 then begin //损耗±2% 绿色、 损耗±2% ~ ±5% 黄色、 损耗大于±5% 红色 if Fsunhao < 0 then Fsunhao := -Fsunhao; if Fsunhao <= 2 then ACanvas.Brush.Color := $00FF00; if (Fsunhao > 2) and (Fsunhao <= 5) then ACanvas.Brush.Color := $00FFFF; if Fsunhao > 5 then ACanvas.Brush.Color := $4763FF; end; // end; end; end; procedure TfrmKkAndDjList.Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin with ADOQueryCmd do begin // mmoCLNote.text := trim(CDS_Main.FieldByName('CLNote').AsString); end; end; procedure TfrmKkAndDjList.ORDERNOMKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; sql.Clear; sql.Add('select A.*,B.ORDERNO AS ORDERNOM '); sql.Add(',lidan=(select lidan from JYOrder_Main X where X.orderNo=A.QCorderNo) '); sql.Add(',YWY=(select YWY from JYOrder_Main X where X.orderNo=A.QCorderNo) '); sql.Add(',DJType=(select DJType from JYOrder_Main X where X.orderNo=A.QCorderNo) '); sql.Add(' from CK_SXPB_CR A inner join JYOrder_Main B ON A.ORDMainIdRK=B.MainId '); sql.Add(' where isnull(CKName,'''')=''待检布'' and CRFlag=''入库'' '); sql.Add(' and B.ckorderno like ' + quotedstr('%' + trim(ckorderno.Text) + '%')); Open; end; SCreateCDS(ADOQueryMain, CDS_Main); SInitCDSData(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; end; end; end.