D7gmYushang/成品仓库(FinishedClothWarehouse.dll)/U_CPKCTMXLIST.pas

441 lines
13 KiB
ObjectPascal
Raw Normal View History

2025-09-24 13:13:14 +08:00
unit U_CPKCTMXLIST;
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, MovePanel, cxButtonEdit, cxLookAndFeels, cxLookAndFeelPainters,
cxNavigator, dxBarBuiltInMenu, cxPC, cxCheckBox, cxSplitter, dxSkinsCore,
dxSkinsDefaultPainters, dxSkinscxPCPainter;
type
TfrmCPKCTMXLIST = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
Label3: TLabel;
c_Code: TEdit;
Label1: TLabel;
Label2: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
CDS_Main: TClientDataSet;
Tv1: TcxGridDBTableView;
cxGrid2Level1: TcxGridLevel;
cxGrid2: TcxGrid;
v2Column1: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
Label6: TLabel;
MJID: TEdit;
v1Column6: TcxGridDBColumn;
MovePanel2: TMovePanel;
cds_color: TClientDataSet;
DataSource2: TDataSource;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
CDS_MX: TClientDataSet;
DataSource3: TDataSource;
cxStyleRepository2: TcxStyleRepository;
cxStyle2: TcxStyle;
Tv1Column7: TcxGridDBColumn;
Tv1Column8: TcxGridDBColumn;
Tv1Column9: TcxGridDBColumn;
Tv1Column10: TcxGridDBColumn;
Panel2: TPanel;
cxGrid1: TcxGrid;
TV2: TcxGridDBTableView;
cxGridDBColumn2: TcxGridDBColumn;
cxGridDBColumn5: TcxGridDBColumn;
cxGridDBColumn7: TcxGridDBColumn;
cxGridDBColumn8: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
TV2Column1: TcxGridDBColumn;
TV2Column2: TcxGridDBColumn;
TV2Column3: TcxGridDBColumn;
TV2Column4: TcxGridDBColumn;
TV2Column5: TcxGridDBColumn;
TV2Column6: TcxGridDBColumn;
TV2Column7: TcxGridDBColumn;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Label5: TLabel;
C_COLOR: TEdit;
Label7: TLabel;
C_GANGNO: TEdit;
Label8: TLabel;
C_KUWEI: TEdit;
cxTabControl1: TcxTabControl;
Tv1Column3: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
Tv1Column6: TcxGridDBColumn;
Tv1Column11: TcxGridDBColumn;
Tv1Column12: TcxGridDBColumn;
TV2Column8: TcxGridDBColumn;
CheckBox1: TCheckBox;
Label4: TLabel;
Tv1Column13: TcxGridDBColumn;
Tv1Column14: TcxGridDBColumn;
Tv1Column15: TcxGridDBColumn;
cxStyleRepository3: TcxStyleRepository;
cxStyle3: TcxStyle;
crtype: TComboBox;
cxSplitter1: TcxSplitter;
procedure FormDestroy(Sender: TObject);
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 c_CodeChange(Sender: TObject);
procedure v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure PRTColorChange(Sender: TObject);
procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
procedure tv2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
procedure cxTabControl1Change(Sender: TObject);
procedure C_COLORKeyPress(Sender: TObject; var Key: Char);
procedure C_GANGNOKeyPress(Sender: TObject; var Key: Char);
procedure C_KUWEIKeyPress(Sender: TObject; var Key: Char);
procedure c_CodeKeyPress(Sender: TObject; var Key: Char);
procedure CheckBox1Click(Sender: TObject);
procedure crtypeChange(Sender: TObject);
private
procedure InitGrid();
procedure Initsub();
procedure Initsubb();
{ Private declarations }
public
{ Public declarations }
end;
var
frmCPKCTMXLIST: TfrmCPKCTMXLIST;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp;
{$R *.dfm}
procedure TfrmCPKCTMXLIST.FormDestroy(Sender: TObject);
begin
frmCPKCTMXLIST := nil;
end;
procedure TfrmCPKCTMXLIST.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmCPKCTMXLIST.FormCreate(Sender: TObject);
var
fsj: string;
begin
//cxGrid1.Align:=alClient;
BegDate.DateTime := SGetServerDateTime(ADOQueryTemp);
EndDate.DateTime := SGetServerDateTime(ADOQueryTemp);
fsj := 'select distinct name=crtype from CK_BanCP_CR where crflag=''<27><><EFBFBD><EFBFBD>'' order by crtype ';
SInitComBoxBySql(ADOQueryCmd, crtype, False, fsj);
CRType.ItemIndex := CRType.Items.IndexOf('<27><><EFBFBD>۳<EFBFBD><DBB3><EFBFBD>');
end;
procedure TfrmCPKCTMXLIST.InitGrid();
var
fwhere, Pwhere: string;
begin
Pwhere := SGetFilters(Panel1, 1, 2);
if SGetFilters(Panel1, 1, 2) <> '' then
Pwhere := ' and ' + SGetFilters(Panel1, 1, 2);
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
SQL.Add('EXEC P_View_cpkcMX ');
if cxTabControl1.TabIndex = 0 then
begin
SQL.Add('@DJ=''<27><>Ʒ''');
end
else if cxTabControl1.TabIndex = 1 then
begin
SQL.Add('@DJ=''<27><>Ʒ''');
end
else
begin
SQL.Add('@DJ=''''');
end;
if CRTYPE.Text <> '' then
begin
SQL.Add(',@CKTYPE=' + QuotedStr(Trim(CRTYPE.Text)));
end
else
begin
SQL.Add(',@CKTYPE=''''');
end;
if CheckBox1.Checked = True then
begin
end
else
begin
Pwhere := Pwhere + ' and ps>0';
end;
if Pwhere <> '' then
begin
SQL.Add(',@mssql=' + QuotedStr(Pwhere));
end;
// ShowMessage(sql.Text);
// SQL.Add('select sum(KCKGQTY)KGQTY,SUM(KCQTY) QTY,COUNT(MJID)pS,C_CODE,C_COLOR,C_GANGNO,C_KUWEI,C_SALESCLASS,C_YWY, ');
// SQL.Add('(CASE WHEN C_DJ=''<27><>Ʒ'' or c_dj=''<27>β<EFBFBD>'' then ''<27><>Ʒ'' else ''<27><>Ʒ'' end)dj');
// sql.Add('FROM CK_BanCP_KC WHERE KCVALID=''Y'' ');
// SQL.ADD('group by C_SALESCLASS,C_YWY,C_CODE,C_COLOR,C_GANGNO,C_KUWEI ,(CASE WHEN C_DJ=''<27><>Ʒ'' or c_dj=''<27>β<EFBFBD>'' then ''<27><>Ʒ'' else ''<27><>Ʒ'' end)');
// if cxTabControl1.TabIndex = 0 then
// begin
// SQL.Add('and C_DJ<>''<27><>Ʒ'' and c_dj<>''<27>β<EFBFBD>''');
// end
// else if cxTabControl1.TabIndex = 1 then
// begin
// SQL.Add('and C_DJ in (''<27><>Ʒ'',''<27>β<EFBFBD>'')');
// end;
// showmessage(sql.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmCPKCTMXLIST.InitSUB();
begin
try
ADOQueryCmd.DisableControls;
with ADOQueryCmd do
begin
Filtered := False;
Close;
sql.Clear;
SQL.Add('SELECT B.FILLER,A.KCKGQTY,A.KCQTY,A.C_DJ,A.MJID,B.JTTYPE,B.FILLTIME,A.C_KUWEI,B.MJXH,b.jynote,b.jbs,YCK=CAST((CASE WHEN MJSTR2=''<27>ѳ<EFBFBD><D1B3><EFBFBD>'' then 1 else 0 end )as bit) FROM CK_BanCP_KC A ');
SQL.Add('INNER JOIN WFB_MJJY B ON A.MJID=B.MJID');
SQL.Add(' WHERE 1=1 '); //KCVALID=''Y''
SQL.Add('AND ISNULL(C_CODE,'''')=' + QuotedStr(Trim(CDS_Main.fieldbyname('C_CODE').AsString)));
SQL.Add('AND ISNULL(C_COLOR,'''')=' + QuotedStr(Trim(CDS_Main.fieldbyname('C_COLOR').AsString)));
SQL.Add('AND ISNULL(C_GANGNO,'''')=' + QuotedStr(Trim(CDS_Main.fieldbyname('C_GANGNO').AsString)));
SQL.Add('AND ISNULL(C_SALESCLASS,'''')=' + QuotedStr(Trim(CDS_Main.fieldbyname('C_SALESCLASS').AsString)));
SQL.Add('AND ISNULL(C_YWY,'''')=' + QuotedStr(Trim(CDS_Main.fieldbyname('C_YWY').AsString)));
SQL.Add('AND ISNULL(C_KUWEI,'''')=' + QuotedStr(Trim(CDS_Main.fieldbyname('C_KUWEI').AsString)));
SQL.Add('AND (CASE WHEN C_DJ=''<27><>Ʒ'' or c_dj=''<27>β<EFBFBD>'' then ''<27><>Ʒ'' else ''<27><>Ʒ'' end)=' + QuotedStr(Trim(CDS_Main.fieldbyname('DJ').AsString)));
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryCmd, cds_color);
SInitCDSData20(ADOQueryCmd, cds_color);
finally
ADOQueryCmd.EnableControls;
end;
end;
procedure TfrmCPKCTMXLIST.InitSUBb();
begin
try
ADOQueryTemp.DisableControls;
with ADOQueryTemp do
begin
Filtered := False;
Close;
sql.Clear;
SQL.Add('select ISNULL(C_CODE,'''')C_CODE,ISNULL(C_COLOR,'''')C_COLOR,ISNULL(C_GANGNO,'''')C_GANGNO,C_DJ');
sql.Add(',sum(ISNULL(KCKGQty,0))ZPKCKGQty,sum(ISNULL(KCQty,0))ZPKCQty,count(mjid)ZPps');
SQL.Add(' from CK_BanCP_KC A where kcvalid=''Y''');
SQL.Add(' and a.Cycle=(select max(e.Cycle) from CK_BanCP_CR e where e.mjid=a.mjid)');
SQL.Add('AND C_CODE=' + QuotedStr(Trim(cds_color.fieldbyname('C_CODE').AsString)));
SQL.Add('AND C_COLOR=' + QuotedStr(Trim(cds_color.fieldbyname('C_COLOR').AsString)));
SQL.Add('group by C_CODE,C_COLOR,C_GANGNO,C_DJ');
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryTemp, cds_mx);
SInitCDSData20(ADOQueryTemp, cds_mx);
finally
ADOQueryTemp.EnableControls;
end;
end;
procedure TfrmCPKCTMXLIST.TBRafreshClick(Sender: TObject);
begin
//BegDate.SetFocus;
MovePanel2.Visible := True;
MovePanel2.Refresh;
InitGrid();
MovePanel2.Visible := False;
end;
procedure TfrmCPKCTMXLIST.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmCPKCTMXLIST.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(trim(self.Caption), Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
// WriteCxGrid(trim(self.Caption), Tv2, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
// WriteCxGrid(trim(self.Caption), Tv3, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmCPKCTMXLIST.FormShow(Sender: TObject);
begin
ReadCxGrid(trim(self.Caption), Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
// ReadCxGrid(trim(self.Caption), Tv2, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
// ReadCxGrid(trim(self.Caption), Tv3, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
end;
procedure TfrmCPKCTMXLIST.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
end;
procedure TfrmCPKCTMXLIST.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
end;
end;
procedure TfrmCPKCTMXLIST.c_CodeChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCPKCTMXLIST.v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'SOrdDefStr10';
flagname := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵص<C5B5>';
if ShowModal = 1 then
begin
with CDS_Main do
begin
Edit;
FieldByName('SOrdDefStr10').Value := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update JYOrder_Sub Set SOrdDefStr10=''' + Trim(ClientDataSet1.fieldbyname('ZdyName').AsString) + '''');
sql.Add(' where SubId=''' + Trim(Self.CDS_Main.fieldbyname('SubId').AsString) + '''');
ExecSQL;
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmCPKCTMXLIST.PRTColorChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCPKCTMXLIST.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
if CDS_Main.IsEmpty = True then
Exit;
Initsub();
end;
procedure TfrmCPKCTMXLIST.tv2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
// if CDS_COLOR.IsEmpty = True then
// Exit;
// initsubb();
end;
procedure TfrmCPKCTMXLIST.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCPKCTMXLIST.C_COLORKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
InitGrid();
end;
end;
procedure TfrmCPKCTMXLIST.C_GANGNOKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
InitGrid();
end;
end;
procedure TfrmCPKCTMXLIST.C_KUWEIKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
InitGrid();
end;
end;
procedure TfrmCPKCTMXLIST.c_CodeKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
InitGrid();
end;
end;
procedure TfrmCPKCTMXLIST.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCPKCTMXLIST.crtypeChange(Sender: TObject);
begin
initgrid();
end;
end.