D7zzHanglin/坯布仓库(GreyClothWarehouse.dll)/U_CKProductBCPKCList.pas
DESKTOP-E401PHE\Administrator 4c4c37570c 0
2025-08-06 16:42:07 +08:00

514 lines
15 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_CKProductBCPKCList;
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, Menus, cxCheckBox, Clipbrd, RM_System, RM_Common,
RM_Class, RM_GridReport, cxLookAndFeels, cxLookAndFeelPainters,
cxNavigator;
type
TfrmCKProductBCPKCListPB = 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;
C_CodeName: TEdit;
C_Code: TEdit;
CDS_Main: TClientDataSet;
Tv1: TcxGridDBTableView;
cxGrid2Level1: TcxGridLevel;
cxGrid2: TcxGrid;
v2Column1: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
Label5: TLabel;
ConNo: TEdit;
Label6: TLabel;
MJID: TEdit;
v1Column6: TcxGridDBColumn;
Label7: TLabel;
v1Column3: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
Panel4: TPanel;
Label11: TLabel;
Panel10: TPanel;
Image2: TImage;
RichEdit1: TRichEdit;
MovePanel2: TMovePanel;
v1Column2: TcxGridDBColumn;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
v1Column8: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
Label8: TLabel;
MJStr3: TComboBox;
v1Column7: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
Label1: TLabel;
KuWei: TEdit;
v1Column13: TcxGridDBColumn;
Label12: TLabel;
CheJian: TComboBox;
v1Column15: TcxGridDBColumn;
Label9: TLabel;
CarNo: TEdit;
Label10: TLabel;
APBatchNo: TEdit;
CPType: TComboBox;
v1Column16: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
B1: TToolButton;
cxgrdbclmnv1Column14: TcxGridDBColumn;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
Order_Main: TClientDataSet;
CDS_Print: TClientDataSet;
ADOQueryPrint: TADOQuery;
RM2: TRMGridReport;
ToolButton3: TToolButton;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
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_CodeNameChange(Sender: TObject);
procedure Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure Image2Click(Sender: TObject);
procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure CheJianChange(Sender: TObject);
procedure B1Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
private
FLeft, FTop: Integer;
procedure InitGrid();
procedure PrintData(FFFMJID: string);
{ Private declarations }
public
{ Public declarations }
FMainid, FSubId, FConNo, FColor, FCodeName: string;
canshu1: string;
end;
var
frmCKProductBCPKCListPB: TfrmCKProductBCPKCListPB;
implementation
uses
U_DataLink, U_Fun, U_SysLogHelp;
{$R *.dfm}
procedure TfrmCKProductBCPKCListPB.PrintData(FFFMJID: string);
var
fPrintFile: string;
i: Integer;
FDate: string;
Txt, fImagePath: string;
Moudle: THandle;
Makebar: TMakebar;
Mixtext: TMixtext;
begin
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C>ش<EFBFBD><D8B4><EFBFBD>Ʊ<EFBFBD><C6B1>ǩ.rmf';
if FileExists(fPrintFile) then
begin
try
Moudle := LoadLibrary('MakeQRBarcode.dll');
@Makebar := GetProcAddress(Moudle, 'Make');
@Mixtext := GetProcAddress(Moudle, 'MixText');
Txt := Trim(FFFMJID);
fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp';
if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then
CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil);
if FileExists(fImagePath) then
DeleteFile(fImagePath);
Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3);
except
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
with ADOQueryPrint do
begin
Close;
SQL.Clear;
SQL.Add('exec P_Print_PBLab :MJID');
Parameters.ParamByName('MJID').Value := Trim(FFFMJID);
Open;
end;
SCreateCDS20(ADOQueryPrint, CDS_Print);
SInitCDSData20(ADOQueryPrint, CDS_Print);
RM2.LoadFromFile(fPrintFile);
RMVariables['QRBARCODE'] := fImagePath;
RM2.ShowReport;
// RM2.PrintReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + ExtractFilePath(Application.ExeName) + 'Report\<5C>ش<EFBFBD><D8B4><EFBFBD>Ʊ<EFBFBD><C6B1>ǩ.rmf'), '<27><>ʾ', 0);
Exit;
end;
end;
procedure TfrmCKProductBCPKCListPB.FormDestroy(Sender: TObject);
begin
frmCKProductBCPKCListPB := nil;
end;
procedure TfrmCKProductBCPKCListPB.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmCKProductBCPKCListPB.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
SQL.Add('exec P_View_PBCPKCMX :WSQl');
Parameters.ParamByName('WSQl').Value := '';
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmCKProductBCPKCListPB.TBRafreshClick(Sender: TObject);
begin
// BegDate.SetFocus;
ToolBar1.SetFocus;
MovePanel2.Visible := True;
MovePanel2.Refresh;
InitGrid();
MovePanel2.Visible := False;
end;
procedure TfrmCKProductBCPKCListPB.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmCKProductBCPKCListPB.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>PB', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmCKProductBCPKCListPB.FormShow(Sender: TObject);
var
fsj: string;
begin
if canshu1 <> '<27><><EFBFBD><EFBFBD>' then
B1.Visible := False;
fsj := 'select distinct Code=Null,Name=MCCJ from Machine order by MCCJ ';
SInitComBoxBySql(ADOQueryTemp, CheJian, False, fsj);
ReadCxGrid('<27>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>PB', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>');
InitGrid();
end;
procedure TfrmCKProductBCPKCListPB.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
end;
procedure TfrmCKProductBCPKCListPB.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 TfrmCKProductBCPKCListPB.C_CodeNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCKProductBCPKCListPB.Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
TWinControl(Panel4).Perform(WM_SYSCOMMAND, $F012, 0);
end;
procedure TfrmCKProductBCPKCListPB.Image2Click(Sender: TObject);
begin
Panel4.Visible := False;
end;
procedure TfrmCKProductBCPKCListPB.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
FLeft := X;
FTop := Y;
end;
procedure TfrmCKProductBCPKCListPB.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
{if Trim(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName)<>'CDQK' then Exit;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select CDQK=dbo.F_Get_Order_SubStr(:MJID,''MJCDHZSL'')');
Parameters.ParamByName('MJID').Value:=Trim(CDS_Main.fieldbyname('MJID').AsString);
Open;
end;
with CDS_Main do
begin
Edit;
FieldByName('CDQK').Value:=Trim(ADOQueryTemp.fieldbyname('CDQK').AsString);
Post;
end; }
Panel4.Left := FLeft;
Panel4.Top := FTop + 110;
Panel4.Visible := True;
Panel4.Refresh;
Panel10.Caption := Trim(TV1.Controller.FocusedColumn.Caption);
RichEdit1.Text := CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString;
end;
procedure TfrmCKProductBCPKCListPB.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmCKProductBCPKCListPB.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmCKProductBCPKCListPB.CheJianChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCKProductBCPKCListPB.B1Click(Sender: TObject);
var
str: string;
begin
if CDS_Main.IsEmpty then
Exit;
if CDS_Main.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
str := '';
if InputQuery('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><><EFBFBD><EFBFBD>', str) then
begin
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_Main do
begin
while Locate('SSel', True, []) do
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_PBCP_CR where CRFlag=''<27><><EFBFBD><EFBFBD>'' and MJID=' + Trim(CDS_Main.fieldbyname('MJID').AsString));
Open;
end;
if ADOQueryTemp.RecordCount > 0 then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27>ѳ<EFBFBD><D1B3><EFBFBD>ܳ<EFBFBD><DCB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_PBCP_CR where CRFlag='<><D4A4><EFBFBD><EFBFBD>'' and MJID=' + Trim(CDS_Main.fieldbyname('MJID').AsString));
Open;
end;
if ADOQueryTemp.RecordCount > 0 then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD>ܳ<EFBFBD><DCB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
// sql.Add('update CK_PBCP_CR set APBatchNo='+quotedstr(Trim(str))+' where MJID=' + quotedstr(Trim(CDS_Main.fieldbyname('MJID').AsString)));
sql.Add('update WFB_MJJY_PB set APBatchNo=' + quotedstr(Trim(str)) + ' where MJID=' + quotedstr(Trim(CDS_Main.fieldbyname('MJID').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>')));
sql.Add(',' + quotedstr(trim(<><D4AD><EFBFBD>ţ<EFBFBD>' + trim(CDS_Main.FieldByName('APBatchNo').AsString) + ' <20><><EFBFBD>룺' + trim(CDS_Main.FieldByName('MJID').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
ExecSQL;
end;
CDS_Main.Edit;
CDS_Main.FieldByName('SSel').Value := False;
CDS_Main.FieldByName('APBatchNo').Value := str;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27>޸<EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
end;
end;
end;
procedure TfrmCKProductBCPKCListPB.ToolButton1Click(Sender: TObject);
begin
frmSysLogHelp := TfrmSysLogHelp.create(self);
with frmSysLogHelp do
begin
fModel := self.caption;
// facction:='<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>ɾ<EFBFBD><C9BE>';
showmodal;
free;
end;
end;
procedure TfrmCKProductBCPKCListPB.ToolButton2Click(Sender: TObject);
var
fPrintFile: string;
begin
if CDS_Main.IsEmpty then
Exit;
if CDS_Main.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
CDS_Main.DisableControls;
with CDS_Main do
begin
First;
while CDS_Main.Locate('SSel', True, []) do
begin
PrintData(Trim(CDS_Main.FieldByName('MJID').AsString));
Edit;
FieldByName('SSel').Value := false;
end;
end;
CDS_Main.EnableControls;
end;
procedure TfrmCKProductBCPKCListPB.ToolButton3Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
if CDS_Main.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫִ<D2AA>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
conno.SetFocus;
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_Main do
begin
while Locate('SSel', True, []) do
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_PBCP_CR where CRFlag=''<27><><EFBFBD><EFBFBD>'' and MJID=' + quotedstr(Trim(CDS_Main.fieldbyname('MJID').AsString)));
Open;
end;
if ADOQueryTemp.RecordCount > 0 then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27>ѳ<EFBFBD><D1B3><EFBFBD>ܳ<EFBFBD><DCB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_PBCP_CR where CRFlag='<><D4A4><EFBFBD><EFBFBD>'' and MJID=' + quotedstr(Trim(CDS_Main.fieldbyname('MJID').AsString)));
Open;
end;
if ADOQueryTemp.RecordCount > 0 then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD>ܳ<EFBFBD><DCB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('exec P_Do_PBRK @CRFlag='<><CEB4><EFBFBD><EFBFBD>'',@KuWei='''',@MJID=' + quotedstr(Trim(CDS_Main.fieldbyname('MJID').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><E2B3B7>')));
sql.Add(',' + quotedstr(trim('<27><><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>' + trim(CDS_Main.FieldByName('ConNo').AsString) + ' <20><><EFBFBD>룺' + trim(CDS_Main.FieldByName('MJID').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
ExecSQL;
end;
CDS_Main.Delete;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
end;
end;
end.