D7gmYushang/成品仓库(FinishedClothWarehouse.dll)/U_CKProductBCPKCHZMXList.pas
DESKTOP-E401PHE\Administrator 1d94a89439 0
2025-09-24 13:13:14 +08:00

447 lines
13 KiB
ObjectPascal
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_CKProductBCPKCHZMXList;
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, cxSplitter, cxTextEdit, dxSkinsCore, dxSkinsDefaultPainters,
dxSkinscxPCPainter;
type
TfrmCKProductBCPKCHZMXList = 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;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
Tv1Column6: TcxGridDBColumn;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
cxGrid1: TcxGrid;
tv2: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
cxGridDBColumn5: TcxGridDBColumn;
cxGridDBColumn6: TcxGridDBColumn;
cxGridDBColumn7: TcxGridDBColumn;
cxGridDBColumn8: TcxGridDBColumn;
cxGridDBColumn9: TcxGridDBColumn;
cxGridDBColumn10: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
tv2Column1: TcxGridDBColumn;
cds_color: TClientDataSet;
DataSource2: TDataSource;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
cxGrid3: TcxGrid;
TV3: TcxGridDBTableView;
cxGridDBColumn11: TcxGridDBColumn;
cxGridDBColumn12: TcxGridDBColumn;
cxGridDBColumn13: TcxGridDBColumn;
cxGridDBColumn14: TcxGridDBColumn;
cxGridDBColumn15: TcxGridDBColumn;
cxGridDBColumn16: TcxGridDBColumn;
cxGridDBColumn17: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
CDS_MX: TClientDataSet;
DataSource3: TDataSource;
cxStyleRepository2: TcxStyleRepository;
cxStyle2: TcxStyle;
TV3Column1: TcxGridDBColumn;
Tv1Column7: TcxGridDBColumn;
Label4: TLabel;
CTYPE: TComboBox;
cxSplitter1: TcxSplitter;
Label5: TLabel;
JLNOTE: TEdit;
Tv1Column8: TcxGridDBColumn;
ToolButton1: TToolButton;
Panel5: TPanel;
Label28: TLabel;
Button5: TButton;
Button6: TButton;
BZ: TEdit;
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 c_CodeKeyPress(Sender: TObject; var Key: Char);
procedure ToolButton1Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Tv1Column8PropertiesEditValueChanged(Sender: TObject);
private
procedure InitGrid();
procedure Initsub();
procedure Initsubb();
{ Private declarations }
public
{ Public declarations }
end;
var
frmCKProductBCPKCHZMXList: TfrmCKProductBCPKCHZMXList;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp;
{$R *.dfm}
procedure TfrmCKProductBCPKCHZMXList.FormDestroy(Sender: TObject);
begin
frmCKProductBCPKCHZMXList := nil;
end;
procedure TfrmCKProductBCPKCHZMXList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmCKProductBCPKCHZMXList.FormCreate(Sender: TObject);
begin
//cxGrid1.Align:=alClient;
BegDate.DateTime := SGetServerDateTime(ADOQueryTemp);
EndDate.DateTime := SGetServerDateTime(ADOQueryTemp)
end;
procedure TfrmCKProductBCPKCHZMXList.InitGrid();
var
fwhere, Pwhere: string;
begin
JLNOTE.SetFocus();
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_CPKC');
if Pwhere <> '' then
begin
sql.Add('@mssql=' + QuotedStr(Pwhere));
end;
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmCKProductBCPKCHZMXList.InitSUB();
begin
try
ADOQueryCmd.DisableControls;
with ADOQueryCmd do
begin
Filtered := False;
Close;
sql.Clear;
SQL.Add('EXEC P_VIEW_CPKC2 @CODE=' + QuotedStr(Trim(CDS_Main.fieldbyname('C_CODE').AsString)));
Open;
end;
SCreateCDS20(ADOQueryCmd, cds_color);
SInitCDSData20(ADOQueryCmd, cds_color);
finally
ADOQueryCmd.EnableControls;
end;
end;
procedure TfrmCKProductBCPKCHZMXList.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(a.mjid)ZPps,jynote=isnull(jynote,'''')');
SQL.Add(' from CK_BanCP_KC A inner join wfb_mjjy b on a.mjid=b.mjid 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('and MJStr2=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>''');
// SQL.Add('and EXISTS(select * from WFB_MJJY E WHERE E.MJID=A.MJID AND MJStr2=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'')');
SQL.Add('group by C_CODE,C_COLOR,C_GANGNO,C_DJ,isnull(jynote,'''')');
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryTemp, cds_mx);
SInitCDSData20(ADOQueryTemp, cds_mx);
finally
ADOQueryTemp.EnableControls;
end;
end;
procedure TfrmCKProductBCPKCHZMXList.TBRafreshClick(Sender: TObject);
begin
//BegDate.SetFocus;
MovePanel2.Visible := True;
MovePanel2.Refresh;
InitGrid();
MovePanel2.Visible := False;
end;
procedure TfrmCKProductBCPKCHZMXList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmCKProductBCPKCHZMXList.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 TfrmCKProductBCPKCHZMXList.FormShow(Sender: TObject);
var
fsj: string;
begin
fsj := 'select distinct cpname as name from CP_Type ';
SInitComBoxBySql(ADOQueryCmd, ctype, False, fsj);
ReadCxGrid(trim(self.Caption), Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
ReadCxGrid(trim(self.Caption), Tv2, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
ReadCxGrid(trim(self.Caption), Tv3, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
InitGrid();
end;
procedure TfrmCKProductBCPKCHZMXList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
end;
procedure TfrmCKProductBCPKCHZMXList.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 TfrmCKProductBCPKCHZMXList.c_CodeChange(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCKProductBCPKCHZMXList.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 TfrmCKProductBCPKCHZMXList.PRTColorChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCKProductBCPKCHZMXList.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
if CDS_Main.IsEmpty = True then
Exit;
Initsub();
end;
procedure TfrmCKProductBCPKCHZMXList.tv2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
if CDS_COLOR.IsEmpty = True then
Exit;
initsubb();
end;
procedure TfrmCKProductBCPKCHZMXList.c_CodeKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
InitGrid();
end;
end;
procedure TfrmCKProductBCPKCHZMXList.ToolButton1Click(Sender: TObject);
begin
BZ.Text := CDS_Main.fieldbyname('jlnote').AsString;
Panel5.Visible := True;
end;
procedure TfrmCKProductBCPKCHZMXList.Button5Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
try
CDS_Main.DisableControls;
ADOQueryCmd.Connection.BeginTrans;
with CDS_Main do
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update WFB_MJJY Set JLNOTE=''' + trim(BZ.Text) + ''' ');
SQL.Add('WHERE MJID IN(SELECT A.MJID FROM CK_BanCP_KC A INNER JOIN CK_BANCP_CR B ON A.MJID=B.MJID AND B.CRFLAG=''<27><><EFBFBD><EFBFBD>'' WHERE ');
SQL.Add('ISNULL(C_CODE,'''')=' + QuotedStr(CDS_Main.fieldbyname('c_Code').AsString));
SQL.Add(')');
// ShowMessage(sql.Text);
ExecSQL;
end;
end;
with CDS_Main do
begin
Edit;
FieldbyName('jlnote').AsString := Trim(BZ.Text);
Post;
end;
tv1.Controller.EditingController.ShowEdit();
ADOQueryCmd.Connection.CommitTrans;
CDS_Main.EnableControls;
application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
Panel5.Visible := false;
exit;
except
ADOQueryCmd.Connection.RollbackTrans;
CDS_Main.EnableControls;
application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmCKProductBCPKCHZMXList.Button6Click(Sender: TObject);
begin
Panel5.Visible := False;
end;
procedure TfrmCKProductBCPKCHZMXList.Tv1Column8PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_Main do
begin
Edit;
FieldByName(FFieldName).Value := Trim(mvalue);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update WFB_MJJY ');
sql.Add(' Set ' + FFieldName + '=''' + Trim(mvalue) + '''');
SQL.Add('WHERE MJID IN(SELECT A.MJID FROM CK_BanCP_KC A INNER JOIN CK_BANCP_CR B ON A.MJID=B.MJID AND B.CRFLAG=''<27><><EFBFBD><EFBFBD>'' WHERE ');
SQL.Add('ISNULL(C_CODE,'''')=' + QuotedStr(CDS_Main.fieldbyname('c_Code').AsString));
SQL.Add(')');
// ShowMessage(SQL.text);
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
tv1.Controller.EditingController.ShowEdit();
except
tv1.Controller.EditingController.ShowEdit();
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
end
end;
end.