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

325 lines
9.2 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_CKProductBCPInList;
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, cxContainer, cxTextEdit, cxMaskEdit,
cxCalendar, Clipbrd, cxLookAndFeels, cxLookAndFeelPainters, dxCore,
cxDateUtils, cxNavigator;
type
TfrmCKProductBCPInListPB = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
Label3: TLabel;
Label4: TLabel;
C_CodeName: TEdit;
C_Color: TEdit;
Label1: TLabel;
Label2: TLabel;
CDS_Main: TClientDataSet;
Label5: TLabel;
ConNo: TEdit;
Label6: TLabel;
MJID: TEdit;
Label7: TLabel;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column1: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
TBRKCX: TToolButton;
v1Sel: TcxGridDBColumn;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
ADOQueryPrint: TADOQuery;
v1Column4: TcxGridDBColumn;
Label8: TLabel;
C_Code: TEdit;
v1Column7: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
Label12: TLabel;
CheJian: TComboBox;
CPType: TComboBox;
cxGridPopupMenu1: TcxGridPopupMenu;
v1Column10: TcxGridDBColumn;
BegDate: TcxDateEdit;
EndDate: TcxDateEdit;
v1Column11: TcxGridDBColumn;
cxgrdbclmnv1Column12: TcxGridDBColumn;
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_CodeNameChange(Sender: TObject);
procedure ConNoChange(Sender: TObject);
procedure ConNoKeyPress(Sender: TObject; var Key: Char);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure TBRKCXClick(Sender: TObject);
procedure CheJianChange(Sender: TObject);
procedure Tv1DblClick(Sender: TObject);
private
procedure InitGrid();
{ Private declarations }
public
{ Public declarations }
end;
//var
//frmCKProductBCPInListPB: TfrmCKProductBCPInListPB;
implementation
uses
U_DataLink, U_Fun;
{$R *.dfm}
procedure TfrmCKProductBCPInListPB.FormDestroy(Sender: TObject);
begin
//frmCKProductBCPInListPB:=nil;
end;
procedure TfrmCKProductBCPInListPB.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmCKProductBCPInListPB.FormCreate(Sender: TObject);
begin
//cxGrid1.Align:=alClient;
EndDate.Text := FormatDateTime('yyyy-MM-dd', SGetServerDate10(ADOQueryTemp)) + ' 08:00:00';
BegDate.Text := FormatDateTime('yyyy-MM-dd', SGetServerDate10(ADOQueryTemp) - 1) + ' 08:00:00';
end;
procedure TfrmCKProductBCPInListPB.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
SQL.Add('select D.CheJian,D.CarNo,A.*,B.ConNo,C.C_CodeName,C.C_Code,C.C_Color,C.gongyi,D.APXH ');
sql.add('from CK_PBCP_CR A ');
Sql.add(' inner join Cloth_Main B on A.MainId=B.MainId');
Sql.add(' inner join Cloth_Sub C on A.MainId=C.MainId');
Sql.add(' inner join WFB_MJJY_PB D on A.MJId=D.MJId');
sql.add('where A.CRTime>=''' + Trim(BegDate.Text) + ''' ');
sql.Add(' and A.CRTime<''' + Trim(enddate.Text) + '''');
SQL.Add(' and CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
Open;
// ShowMessage(SQL.Text);
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmCKProductBCPInListPB.TBRafreshClick(Sender: TObject);
begin
BegDate.SetFocus;
InitGrid();
end;
procedure TfrmCKProductBCPInListPB.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmCKProductBCPInListPB.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(Self.Caption, Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmCKProductBCPInListPB.FormShow(Sender: TObject);
var
fsj: string;
begin
fsj := 'select distinct Code=Null,Name=MCCJ from Machine order by MCCJ ';
SInitComBoxBySql(ADOQueryTemp, CheJian, False, fsj);
ReadCxGrid(Self.Caption, Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>');
if Trim(Self.Caption) = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ' then
begin
TBRKCX.Visible := False;
v1Sel.Visible := False;
end
else if Trim(Self.Caption) = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
begin
TBRKCX.Visible := True;
v1Sel.Visible := True;
end;
//InitGrid();
end;
procedure TfrmCKProductBCPInListPB.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
end;
procedure TfrmCKProductBCPInListPB.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 TfrmCKProductBCPInListPB.C_CodeNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCKProductBCPInListPB.ConNoChange(Sender: TObject);
begin
if Length(Trim(ConNo.Text)) < 4 then
Exit;
TBFind.Click;
end;
procedure TfrmCKProductBCPInListPB.ConNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
TBRafresh.Click;
TBFind.Click;
end;
end;
procedure TfrmCKProductBCPInListPB.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmCKProductBCPInListPB.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmCKProductBCPInListPB.TBRKCXClick(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;
BegDate.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><C6B7><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;
procedure TfrmCKProductBCPInListPB.CheJianChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCKProductBCPInListPB.Tv1DblClick(Sender: TObject);
begin
Clipboard.SetTextBuf(PChar(Trim(CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
end;
end.