D7zzHanglin/坯布仓库(GreyClothWarehouse.dll)/U_PBOuGLtList.pas

592 lines
17 KiB
ObjectPascal
Raw Normal View History

2025-08-06 16:42:07 +08:00
unit U_PBOuGLtList;
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, RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System,
RM_GridReport, cxCheckBox, Menus, MovePanel, BtnEdit, cxLookAndFeels,
cxLookAndFeelPainters, cxNavigator;
type
TfrmPBOuGLtList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
Label1: TLabel;
Label2: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
CDS_Main: TClientDataSet;
Label7: TLabel;
CDS_Print: TClientDataSet;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
Label10: TLabel;
CkOrdNo: TEdit;
RMDBHZ: TRMDBDataSet;
CDS_HZ: TClientDataSet;
TBCKCX: TToolButton;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
MovePanel2: TMovePanel;
CDS_CX: TClientDataSet;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1Sel: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
v1Column8: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
C_CodeName: TEdit;
C_Color: TEdit;
ConNo: TEdit;
MJID: TEdit;
Label8: TLabel;
CRType: TComboBox;
CDS_DH: TClientDataSet;
ADOQueryDH: TADOQuery;
ADOQueryPrint: TADOQuery;
Label11: TLabel;
ZZCarNo: TEdit;
CPType: TEdit;
v1Column4: TcxGridDBColumn;
Label12: TLabel;
C_Code: TEdit;
v1Column14: TcxGridDBColumn;
Label14: TLabel;
KHName1: TEdit;
CDS_Juan: TClientDataSet;
CDS_JuanPRT: TClientDataSet;
RMDBMX: TRMDBDataSet;
v1Column7: TcxGridDBColumn;
Label15: TLabel;
CheJian: TComboBox;
v1Column10: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
ToolButton1: TToolButton;
edtCarNo: TEdit;
Label9: TLabel;
CarNo: TEdit;
v1Column13: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
ToolButton2: TToolButton;
Edit1: TEdit;
v1Column16: 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 MPRTCodeNameChange(Sender: TObject);
procedure orderNoChange(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure TBCKCXClick(Sender: TObject);
procedure C_CodeNameChange(Sender: TObject);
procedure ConNoKeyPress(Sender: TObject; var Key: Char);
procedure CheJianChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
private
procedure InitGrid();
{ Private declarations }
public
{ Public declarations }
end;
var
frmPBOuGLtList: TfrmPBOuGLtList;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp;
{$R *.dfm}
procedure TfrmPBOuGLtList.FormDestroy(Sender: TObject);
begin
frmPBOuGLtList := nil;
end;
procedure TfrmPBOuGLtList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmPBOuGLtList.FormCreate(Sender: TObject);
begin
//cxGrid1.Align:=alClient;
BegDate.DateTime := SGetServerDateTime(ADOQueryTemp);
EndDate.DateTime := SGetServerDateTime(ADOQueryTemp)
end;
procedure TfrmPBOuGLtList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
SQL.Add('select A.*, D.carno,D.ZZCarNo,B.KHNAME AS KHNAME1,B.ConNo,B.khconno,C.C_CodeName,C.C_Code,C.C_Color,C.gongyi,D.APXH,D.CheJian,C.BatchNoHZ,D.APBatchNo,D.CKBATCHNO,E.KHCONNO ');
//sql.add(',KHName1=(select Y.CustomerNoName from FHSQ_Main X inner join JYOrderCon_Main_PB Y on X.ConMainId=Y.MainId where X.FSId=A.CKORDNO ) ');
sql.add(',E.CustomerNoName 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(' inner join FHSQ_Main E on A.CKOrdNo=E.FSId');
sql.add('where A.CRTime>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)) + ''' ');
sql.Add(' and A.CRTime<''' + Trim(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)) + '''');
SQL.Add(' and CRFlag in (''<27><><EFBFBD><EFBFBD>'') ');
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmPBOuGLtList.TBRafreshClick(Sender: TObject);
begin
BegDate.SetFocus;
InitGrid();
end;
procedure TfrmPBOuGLtList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmPBOuGLtList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(Self.Caption + '1', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmPBOuGLtList.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>');
ReadCxGrid(Self.Caption + '1', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>');
end;
procedure TfrmPBOuGLtList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
SelExportData(Tv1, ADOQueryMain, '');
end;
procedure TfrmPBOuGLtList.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 TfrmPBOuGLtList.MPRTCodeNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmPBOuGLtList.orderNoChange(Sender: TObject);
begin
if Length(ConNo.Text) < 4 then
Exit;
TBFind.Click;
end;
procedure TfrmPBOuGLtList.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmPBOuGLtList.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmPBOuGLtList.TBCKCXClick(Sender: TObject);
var
FFMainId, FPrice, FHZ, FCKOrderNo: 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 not Eof do
begin
if CDS_Main.FieldByName('SSel').AsBoolean = True then
begin
if FCKOrderNo = '' then
begin
FCKOrderNo := Trim(CDS_Main.fieldbyname('CKOrdNo').AsString);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from YF_Money_CR_Sub where yfpzno=''' + Trim(CDS_Main.fieldbyname('CKOrdNo').AsString) + '''');
Open;
end;
if ADOQueryTemp.IsEmpty = False then
begin
CDS_Main.EnableControls;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>տ<D5BF><EEA3AC><EFBFBD>ܳ<EFBFBD><DCB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
end;
end;
Next;
end;
end;
CDS_Main.EnableControls;
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
MovePanel2.Visible := True;
MovePanel2.Refresh;
try
ADOQueryCmd.Connection.BeginTrans;
CDS_Main.DisableControls;
with CDS_Main do
begin
First;
while CDS_Main.Locate('SSel', True, []) = True do
begin
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('exec P_Do_PBCK @CRFlag='<><CEB4><EFBFBD><EFBFBD>'', @CKOrdNo='''', @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>' + trim(CDS_Main.FieldByName('CKOrdNo').AsString) + ' <20><><EFBFBD>룺' + trim(CDS_Main.FieldByName('MJID').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('exec P_Do_FHSQ ''' + Trim(CDS_Main.fieldbyname('CKOrdNo').AsString) + '''');
ExecSQL;
end;
CDS_Main.Delete;
end;
end;
end;
CDS_Main.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
MovePanel2.Visible := False;
Exit;
except
MovePanel2.Visible := False;
CDS_Main.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3>', '<27><>ʾ', 0);
end;
end;
procedure TfrmPBOuGLtList.C_CodeNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmPBOuGLtList.ConNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
if Length(Trim(ConNo.Text)) < 4 then
Exit;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
SQL.Add('select A.*,B.ConNo,C.C_CodeName,C.C_Code,C.C_Color,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 B.ConNo like :ConNo');
SQL.Add(' and CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
Parameters.ParamByName('ConNo').Value := '%' + Trim(ConNo.Text) + '%';
Open;
//ShowMessage(SQL.Text);
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
end;
procedure TfrmPBOuGLtList.CheJianChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmPBOuGLtList.ToolButton1Click(Sender: TObject);
var
FFMainId, FPrice, FHZ, FCKOrderNo: string;
begin
if CDS_Main.IsEmpty then
Exit;
if Trim(edtCarNo.Text) = '' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8>', '<27><>ʾ', 0);
Exit;
end;
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 not Eof do
begin
if CDS_Main.FieldByName('SSel').AsBoolean = True then
begin
if FCKOrderNo = '' then
begin
FCKOrderNo := Trim(CDS_Main.fieldbyname('CKOrdNo').AsString);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from YF_Money_CR_Sub where yfpzno=''' + Trim(CDS_Main.fieldbyname('CKOrdNo').AsString) + '''');
Open;
end;
if ADOQueryTemp.IsEmpty = False then
begin
CDS_Main.EnableControls;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>տ<D5BF><EEA3AC><EFBFBD>ܳ<EFBFBD><DCB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
end;
end;
Next;
end;
end;
CDS_Main.EnableControls;
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD>޸ij<DEB8><C4B3><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
MovePanel2.Visible := True;
MovePanel2.Refresh;
try
ADOQueryCmd.Connection.BeginTrans;
CDS_Main.DisableControls;
with CDS_Main do
begin
First;
while CDS_Main.Locate('SSel', True, []) = True do
begin
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update WFB_MJJY_PB set ZZCarNo=' + quotedstr(Trim(edtCarNo.Text)) + ' 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>̨<EFBFBD>޸<EFBFBD>')));
sql.Add(',' + quotedstr(trim('<27><><EFBFBD><EFBFBD>ţ<EFBFBD>' + trim(CDS_Main.FieldByName('CKOrdNo').AsString) + ' <20><><EFBFBD>룺' + trim(CDS_Main.FieldByName('MJID').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
ExecSQL;
end;
with CDS_Main do
begin
Edit;
FieldByName('SSel').Value := False;
FieldByName('ZZCarNo').Value := Trim(edtCarNo.Text);
Post;
end;
end;
end;
end;
CDS_Main.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
MovePanel2.Visible := False;
Exit;
except
MovePanel2.Visible := False;
CDS_Main.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27>޸<EFBFBD><DEB8><EFBFBD><ECB3A3>', '<27><>ʾ', 0);
end;
end;
procedure TfrmPBOuGLtList.ToolButton2Click(Sender: TObject);
var
FFMainId, FPrice, FHZ, FCKOrderNo: string;
begin
if CDS_Main.IsEmpty then
Exit;
if Trim(edit1.Text) = '' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
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 not Eof do
begin
if CDS_Main.FieldByName('SSel').AsBoolean = True then
begin
if FCKOrderNo = '' then
begin
FCKOrderNo := Trim(CDS_Main.fieldbyname('CKOrdNo').AsString);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from YF_Money_CR_Sub where yfpzno=''' + Trim(CDS_Main.fieldbyname('CKOrdNo').AsString) + '''');
Open;
end;
if ADOQueryTemp.IsEmpty = False then
begin
CDS_Main.EnableControls;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>տ<D5BF><EEA3AC><EFBFBD><EFBFBD><EFBFBD>޸ij<DEB8><C4B3><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
end;
end;
Next;
end;
end;
CDS_Main.EnableControls;
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD>޸ij<DEB8><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
MovePanel2.Visible := True;
MovePanel2.Refresh;
try
ADOQueryCmd.Connection.BeginTrans;
CDS_Main.DisableControls;
with CDS_Main do
begin
First;
while CDS_Main.Locate('SSel', True, []) = True do
begin
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update WFB_MJJY_PB set CKBATCHNO=' + quotedstr(Trim(Edit1.Text)) + ' 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><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>')));
// sql.Add(',' + quotedstr(trim('<27><><EFBFBD><EFBFBD>ţ<EFBFBD>' + trim(CDS_Main.FieldByName('CKOrdNo').AsString) + ' <20><><EFBFBD>룺' + trim(CDS_Main.FieldByName('MJID').AsString))));
// sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
// sql.Add(')');
ExecSQL;
end;
with CDS_Main do
begin
Edit;
FieldByName('SSel').Value := False;
FieldByName('CKBATCHNO').Value := Trim(Edit1.Text);
Post;
end;
end;
end;
end;
CDS_Main.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
MovePanel2.Visible := False;
Exit;
except
MovePanel2.Visible := False;
CDS_Main.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27>޸<EFBFBD><DEB8><EFBFBD><ECB3A3>', '<27><>ʾ', 0);
end;
end;
end.