D10gmBitao/进度统计查询(Statistics.dll)/U_KkAndDjList.pas

503 lines
15 KiB
ObjectPascal
Raw Permalink Normal View History

2025-04-11 10:54:54 +08:00
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,'''')=''<27><><EFBFBD>첼'' and CRFlag=''<27><><EFBFBD><EFBFBD>'' and CRType=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
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('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!', '<27><>ʾ', 0);
end;
InitGrid();
end;
procedure TfrmKkAndDjList.ToolButton2Click(Sender: TObject);
begin
begin
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 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('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>')));
sql.Add(',' + quotedstr(trim(CDS_Main.FieldByName('SPID').AsString)));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
execsql;
end;
end;
InitGrid();
end;
procedure TfrmKkAndDjList.ToolButton3Click(Sender: TObject);
begin
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 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('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>')));
sql.Add(',' + quotedstr(trim(CDS_Main.FieldByName('SPID').AsString)));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
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, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmKkAndDjList.FormShow(Sender: TObject);
begin
inherited;
SetStatus();
ReadCxGrid(trim(self.Caption), Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
InitGrid();
end;
procedure TfrmKkAndDjList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><ECB2BC><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', 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
//<2F><><EFBFBD>ġ<EFBFBD>2% <20><>ɫ<EFBFBD><C9AB> <20><><EFBFBD>ġ<EFBFBD>2% ~ <20><>5% <20><>ɫ<EFBFBD><C9AB> <20><><EFBFBD>Ĵ<EFBFBD><C4B4>ڡ<EFBFBD>5% <20><>ɫ
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,'''')=''<27><><EFBFBD>첼'' and CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
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.