D7gmYongjin/成品仓库(FinishedClothWarehouse.dll)/U_CKProductBCPKCHZList.pas

639 lines
17 KiB
ObjectPascal
Raw Permalink Normal View History

2026-03-04 09:51:44 +08:00
unit U_CKProductBCPKCHZList;
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, cxPC, RM_Common, RM_Class, RM_e_Xls,
RM_Dataset, RM_System, RM_GridReport, cxCheckBox, cxTextEdit,
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu;
type
TfrmCKProductBCPKCHZList = 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;
Label4: TLabel;
MPRTCodeName: TEdit;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
CDS_Main: TClientDataSet;
Tv1: TcxGridDBTableView;
cxGrid2Level1: TcxGridLevel;
cxGrid2: TcxGrid;
v2Column1: TcxGridDBColumn;
cxgrdPRTColor: TcxGridDBColumn;
VC_KGQty: TcxGridDBColumn;
VC_Qty: TcxGridDBColumn;
v1orderNo: TcxGridDBColumn;
Label6: TLabel;
MJID: TEdit;
VC_JQty: TcxGridDBColumn;
v1MPRTMF: TcxGridDBColumn;
v1MPRTKZ: TcxGridDBColumn;
Label8: TLabel;
MPRTKZ: TEdit;
Label9: TLabel;
MPRTMF: TEdit;
Label7: TLabel;
CPType: TComboBox;
v1Column3: TcxGridDBColumn;
VC_NetKGQty: TcxGridDBColumn;
Label10: TLabel;
ConNo: TEdit;
v1ConNo: TcxGridDBColumn;
v1lidan: TcxGridDBColumn;
v1ywy: TcxGridDBColumn;
Label11: TLabel;
Label12: TLabel;
lidan: TEdit;
ywy: TEdit;
VC_ganghao: TcxGridDBColumn;
Label14: TLabel;
ganghao: TEdit;
Panel2: TPanel;
Panel3: TPanel;
cxTabControl1: TcxTabControl;
Panel6: TPanel;
Label16: TLabel;
LBCPAP: TLabel;
BTLP: TButton;
BTNP: TButton;
TCBNOR: TComboBox;
PRTColor: TEdit;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDBPRT: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
VC_PJKuLin: TcxGridDBColumn;
VC_TJDate: TcxGridDBColumn;
ToolButton2: TToolButton;
VC_ISHj: TcxGridDBColumn;
chkwhj: TCheckBox;
chkyhj: TCheckBox;
CheckBox1: TCheckBox;
VC_JYF: TcxGridDBColumn;
MovePanel2: TPanel;
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 MPRTCodeNameChange(Sender: TObject);
procedure v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure PRTColorChange(Sender: TObject);
procedure Tv1DblClick(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
procedure ToolButton2Click(Sender: TObject);
procedure v1Column6PropertiesEditValueChanged(Sender: TObject);
procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure chkwhjClick(Sender: TObject);
procedure chkyhjClick(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
private
procedure InitGrid();
procedure SetStatus();
{ Private declarations }
public
canshu1: string;
{ Public declarations }
end;
//var
// frmCKProductBCPKCHZList: TfrmCKProductBCPKCHZList;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp,U_RTFun;
{$R *.dfm}
procedure TfrmCKProductBCPKCHZList.SetStatus();
var
i: Integer;
begin
case cxTabControl1.TabIndex of
0:
begin
ClearOrHideControls(Panel1, '0', True, True);
ClearOrHideControls(Panel1, '1', True, False);
ClearOrHideControls(Panel1, '2', True, False);
for i := 0 to tv1.ColumnCount - 1 do
begin
tv1.Columns[i].Visible := false;
end;
IsVisibleTV(Panel1, TV1, '0', True);
end;
1:
begin
ClearOrHideControls(Panel1, '0', False, True);
ClearOrHideControls(Panel1, '1', True, True);
ClearOrHideControls(Panel1, '2', True, False);
for i := 0 to tv1.ColumnCount - 1 do
begin
tv1.Columns[i].Visible := True;
end;
ClearOrHideControls(Panel1, '0', False, True);
ClearOrHideControls(Panel1, '1', False, True);
ClearOrHideControls(Panel1, '2', True, True);
end;
2:
begin
ClearOrHideControls(Panel1, '0', False, True);
ClearOrHideControls(Panel1, '1', False, True);
ClearOrHideControls(Panel1, '2', False, True);
for i := 0 to tv1.ColumnCount - 1 do
begin
tv1.Columns[i].Visible := True;
end;
end;
3:
begin
ClearOrHideControls(Panel1, '0', True, True);
ClearOrHideControls(Panel1, '1', True, False);
ClearOrHideControls(Panel1, '2', True, False);
for i := 0 to tv1.ColumnCount - 1 do
begin
tv1.Columns[i].Visible := false;
end;
IsVisibleTV(Panel1, TV1, '0', True);
v1ConNo.Visible:=False;
v1orderNo.Visible:=False;
v1MPRTMF.Visible:=False;
v1MPRTKZ.Visible:=False;
v1lidan.Visible:=False;
v1ywy.Visible:=False;
end;
end;
VC_JQty.Visible := True;
VC_KGQty.Visible := True;
VC_NetKGQty.Visible := True;
VC_Qty.Visible := True;
VC_ISHj.Visible := True;
if cxTabControl1.TabIndex<>3 then
begin
VC_JYF.Visible:=True;
VC_TJDate.Visible := True;
VC_PJKuLin.Visible := True;
end;
end;
procedure TfrmCKProductBCPKCHZList.FormDestroy(Sender: TObject);
begin
// frmCKProductBCPKCHZList := nil;
end;
procedure TfrmCKProductBCPKCHZList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmCKProductBCPKCHZList.FormCreate(Sender: TObject);
begin
//cxGrid1.Align:=alClient;
BegDate.DateTime := SGetServerDateTime(ADOQueryTemp);
EndDate.DateTime := SGetServerDateTime(ADOQueryTemp)
end;
procedure TfrmCKProductBCPKCHZList.InitGrid();
var
Pwhere, fwhere: string;
begin
{with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add(' select top 1 * from CK_BanCP_KCKL where DATEDIFF(mi,TJDate,getdate ())>60 ');
Open;
end;
if not ADOQueryTemp.IsEmpty then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' exec P_Update_FinshHZKL ');
ExecSQL;
end;
end; }
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
case cxTabControl1.TabIndex of
0: /////////////////////////<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>//////////////////////////////
begin
Pwhere := SGetFilters(Panel1, 1, 2);
if trim(Pwhere) <> '' then
fwhere := fwhere + ' and ' + trim(Pwhere);
if trim(Pwhere) <> '' then
begin
if chkyhj.Checked then
begin
fwhere := fwhere + ' and ISHj=1 ';
end;
if chkwhj.Checked then
begin
fwhere := fwhere + ' and ISHj=0 ';
end;
end;
sql.Add('exec P_View_FinshHZKC @HZType=''<27><><EFBFBD><EFBFBD>'' ');
sql.Add(', @criteria=' + quotedstr(Trim(fwhere)));
end;
1: /////////////////////////<2F><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>//////////////////////////////
begin
Pwhere := SGetFilters(Panel1, 1, 2);
if trim(Pwhere) <> '' then
fwhere := fwhere + ' and ' + trim(Pwhere);
if trim(Pwhere) <> '' then
begin
if chkyhj.Checked then
begin
fwhere := fwhere + ' and ISHj=1 ';
end;
if chkwhj.Checked then
begin
fwhere := fwhere + ' and ISHj=0 ';
end;
end;
sql.Add('exec P_View_FinshHZKC @HZType=''<27><>ɫ'' ');
sql.Add(', @criteria=' + quotedstr(Trim(fwhere)));
end;
2: /////////////////////////<2F>׺Ż<D7BA><C5BB><EFBFBD>//////////////////////////////
begin
Pwhere := SGetFilters(Panel1, 1, 2);
if trim(Pwhere) <> '' then
fwhere := fwhere + ' and ' + trim(Pwhere);
if trim(Pwhere) <> '' then
begin
if chkyhj.Checked then
begin
fwhere := fwhere + ' and ISHj=1 ';
end;
if chkwhj.Checked then
begin
fwhere := fwhere + ' and ISHj=0 ';
end;
end;
sql.Add('exec P_View_FinshHZKC @HZType=''<27>׺<EFBFBD>'' ');
sql.Add(', @criteria =' + quotedstr(Trim(fwhere)));
end;
3: /////////////////////////<2F><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>//////////////////////////////
begin
Pwhere := SGetFilters(Panel1, 1, 2);
if trim(Pwhere) <> '' then
fwhere := fwhere + ' and ' + trim(Pwhere);
if trim(Pwhere) <> '' then
begin
if chkyhj.Checked then
begin
fwhere := fwhere + ' and ISHj=1 ';
end;
if chkwhj.Checked then
begin
fwhere := fwhere + ' and ISHj=0 ';
end;
end;
sql.Add('exec P_View_FinshHZKC @HZType=''<27><>Ʒ'' ');
sql.Add(', @criteria=' + quotedstr(Trim(fwhere)));
end;
end;
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmCKProductBCPKCHZList.TBRafreshClick(Sender: TObject);
begin
SetStatus();
//BegDate.SetFocus;
MovePanel2.Visible := True;
MovePanel2.Refresh;
InitGrid();
MovePanel2.Visible := False;
end;
procedure TfrmCKProductBCPKCHZList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmCKProductBCPKCHZList.TBCloseClick(Sender: TObject);
begin
if Trim(DName)='ADMIN' then
begin
WriteCxGridAll(trim(self.Caption), Tv1,ADOQueryCmd,ADOQueryTemp);
end;
Close;
end;
procedure TfrmCKProductBCPKCHZList.FormShow(Sender: TObject);
begin
ReadCxGridAll(trim(self.Caption), Tv1);
end;
procedure TfrmCKProductBCPKCHZList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
end;
procedure TfrmCKProductBCPKCHZList.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 TfrmCKProductBCPKCHZList.MPRTCodeNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCKProductBCPKCHZList.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 TfrmCKProductBCPKCHZList.PRTColorChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCKProductBCPKCHZList.Tv1DblClick(Sender: TObject);
var
Tabint: integer;
begin
Tabint := cxTabControl1.TabIndex;
case Tabint of
0:
begin
AssignmentControls(Panel1, CDS_Main, '0');
cxTabControl1.TabIndex := 1;
end;
1:
begin
AssignmentControls(Panel1, CDS_Main, '1');
cxTabControl1.TabIndex := 2;
end;
end;
end;
procedure TfrmCKProductBCPKCHZList.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
InitGrid();
end;
procedure TfrmCKProductBCPKCHZList.ToolButton1Click(Sender: TObject);
var
fPrintFile: string;
begin
if CDS_Main.IsEmpty then
EXIT;
case cxTabControl1.TabIndex of
0:
begin
ExportFtErpFile('<27><>Ʒ<EFBFBD><C6B7><EFBFBD>ܶ<EFBFBD><DCB6><EFBFBD><EFBFBD>뵥.rmf', ADOQueryTemp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><>Ʒ<EFBFBD><C6B7><EFBFBD>ܶ<EFBFBD><DCB6><EFBFBD><EFBFBD>뵥.rmf';
end;
1:
begin
ExportFtErpFile('<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD>뵥.rmf', ADOQueryTemp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD>뵥.rmf';
end;
2:
begin
ExportFtErpFile('<27><>Ʒ<EFBFBD><C6B7><EFBFBD>ܸ׺<DCB8><D7BA>뵥.rmf', ADOQueryTemp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><>Ʒ<EFBFBD><C6B7><EFBFBD>ܸ׺<DCB8><D7BA>뵥.rmf';
end;
end;
if FileExists(fPrintFile) then
begin
// RM1.DefaultCopies := 2;
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
end;
end;
procedure TfrmCKProductBCPKCHZList.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
FKuLin: double;
begin
// <20><><EFBFBD><EFBFBD> <20><>15<31><35> <20><>15<31><35>30<33><30> <20><>30<33><30>45<34><35> <20><>45<34><35>60<36><30> <20><>60<36><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
if AViewInfo.GridRecord.Values[TcxGridDBTableView(Sender).GetColumnByFieldName('PJKuLin').Index] = null then
Exit;
FKuLin := AViewInfo.GridRecord.Values[TcxGridDBTableView(Sender).GetColumnByFieldName('PJKuLin').Index];
if ((FKuLin < 30) and (FKuLin >= 15)) then
begin
ACanvas.Brush.Color := $00FF00;
end;
if ((FKuLin < 45) and (FKuLin >= 30)) then
begin
ACanvas.Brush.Color := $ED9564;
end;
if ((FKuLin < 60) and (FKuLin >= 45)) then
begin
ACanvas.Brush.Color := $00FFFF;
end;
if FKuLin >= 60 then
begin
ACanvas.Brush.Color := $4763FF;
end;
end;
procedure TfrmCKProductBCPKCHZList.ToolButton2Click(Sender: TObject);
begin
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' exec P_Update_FinshHZKL ');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
end;
end;
procedure TfrmCKProductBCPKCHZList.v1Column6PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxCheckBox(Sender).EditValue;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with ADOQueryCmd do
begin
Close;
sql.Clear;
if mvalue = 'False' then
sql.Add('update JYOrder_Main set ISHj=0 where MAINID=' + quotedstr(Trim(CDS_Main.fieldbyname('MAINID').AsString)))
else
sql.Add('update JYOrder_Main set ISHj=1 where MAINID=' + quotedstr(Trim(CDS_Main.fieldbyname('MAINID').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><DEB8>ϼ<EFBFBD><CFBC><EFBFBD>')));
sql.Add(',' + quotedstr(Trim(CDS_Main.fieldbyname('MAINID').AsString)));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
execsql;
end;
end;
procedure TfrmCKProductBCPKCHZList.Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if Trim(canshu1) <> '<27><><EFBFBD><EFBFBD>' then
begin
VC_ISHj.Editing := False;
end
else
begin
VC_ISHj.Editing := true;
end;
end;
procedure TfrmCKProductBCPKCHZList.chkwhjClick(Sender: TObject);
begin
if chkwhj.Checked then
begin
chkyhj.Checked := False;
end;
InitGrid();
end;
procedure TfrmCKProductBCPKCHZList.chkyhjClick(Sender: TObject);
begin
if chkyhj.Checked then
begin
chkwhj.Checked := False;
end;
InitGrid();
end;
procedure TfrmCKProductBCPKCHZList.CheckBox1Click(Sender: TObject);
var
i:Integer;
begin
with Panel1 do
begin
for i:=0 to ControlCount-1 do
begin
if CheckBox1.Checked=True then
Controls[i].Tag:=1
else
Controls[i].Tag:=2;
end;
end;
TBFind.Click;
end;
end.