D7myGuhang/染整计划(DyeingFinishingPlan.dll)/U_DJBCKOutListSEL.pas

421 lines
11 KiB
ObjectPascal
Raw Normal View History

2025-08-13 10:59:27 +08:00
unit U_DJBCKOutListSEL;
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, cxCalendar, cxButtonEdit, cxTextEdit,
RM_BarCode, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator;
type
TfrmDJBCKOutListSEL = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: 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;
RMDBMain: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
RMDBHZ: TRMDBDataSet;
CDS_HZ: TClientDataSet;
CDS_PRT: TClientDataSet;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column6: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column16: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column19: TcxGridDBColumn;
v1Column17: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label8: TLabel;
Label12: TLabel;
Label6: TLabel;
Label7: TLabel;
SPName: TEdit;
FactoryName: TEdit;
SPID: TEdit;
CONNO: TEdit;
CRType: TComboBox;
KHPO: TEdit;
QCorderNo: TEdit;
Label10: TLabel;
CKorderNo: TEdit;
Label11: TLabel;
FromFactoryName: TEdit;
Label13: TLabel;
ToFactoryName: TEdit;
Label9: TLabel;
Label14: TLabel;
RCGangNo: TEdit;
GangNo: TEdit;
v1Column15: TcxGridDBColumn;
v1Column20: TcxGridDBColumn;
ADOQueryPrint: TADOQuery;
v1Column21: TcxGridDBColumn;
Label15: TLabel;
SPColor: TEdit;
Label16: TLabel;
spcolorno: TEdit;
Label17: TLabel;
SPHX: TEdit;
RM1: TRMGridReport;
RMBarCodeObject1: TRMBarCodeObject;
v1Column22: TcxGridDBColumn;
v1Column23: TcxGridDBColumn;
v1Column24: TcxGridDBColumn;
Label18: TLabel;
CustomerNoName: TEdit;
N3: TMenuItem;
v1Column18: TcxGridDBColumn;
v1Column25: TcxGridDBColumn;
v1Column26: TcxGridDBColumn;
v1Column27: TcxGridDBColumn;
v1Column28: TcxGridDBColumn;
v1Column29: TcxGridDBColumn;
Label19: TLabel;
Edit1: TEdit;
Tv1Column1: TcxGridDBColumn;
ToolButton1: TToolButton;
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 SPNameChange(Sender: TObject);
procedure SPIDKeyPress(Sender: TObject; var Key: Char);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure N3Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
private
canshu1, canshu2: string;
procedure InitGrid();
{ Private declarations }
public
{ Public declarations }
end;
var
frmDJBCKOutListSEL: TfrmDJBCKOutListSEL;
implementation
uses
U_DataLink, U_RTFun, U_Fun;
{$R *.dfm}
procedure TfrmDJBCKOutListSEL.FormDestroy(Sender: TObject);
begin
frmDJBCKOutListSEL := nil;
end;
procedure TfrmDJBCKOutListSEL.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmDJBCKOutListSEL.FormCreate(Sender: TObject);
begin
//cxGrid1.Align:=alClient;
canshu1 := Trim(DParameters1);
canshu2 := Trim(DParameters2);
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime - 30;
end;
procedure TfrmDJBCKOutListSEL.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' select A.*,KHPO=(SELECT KHPO FROM JYORDER_SUB B WHERE B.SUBID=A.ORDSubIdCK) ');
sql.Add(' from CK_SXPB_CR A');
sql.add(' where A.CRTime>=' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime))) + ' and A.CRTime<' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1))));
SQL.Add(' and CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
SQL.Add(' and isnull(CKName,'''')=''<27><><EFBFBD>첼'' ');
SQL.Add('ORDER BY FILLTIME DESC');
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmDJBCKOutListSEL.TBRafreshClick(Sender: TObject);
begin
BegDate.SetFocus;
InitGrid();
end;
procedure TfrmDJBCKOutListSEL.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmDJBCKOutListSEL.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(self.caption, Tv1, '<27><><EFBFBD>ӹ<EFBFBD><D3B9>ֿ<EFBFBD>');
Close;
end;
procedure TfrmDJBCKOutListSEL.FormShow(Sender: TObject);
begin
ReadCxGrid(self.caption, Tv1, '<27><><EFBFBD>ӹ<EFBFBD><D3B9>ֿ<EFBFBD>');
//InitGrid();
end;
procedure TfrmDJBCKOutListSEL.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel('<27><><EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
end;
procedure TfrmDJBCKOutListSEL.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 TfrmDJBCKOutListSEL.SPNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmDJBCKOutListSEL.SPIDKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
{if Length(Trim(SPID.Text))<4 then Exit;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add(' select A.* ');
sql.Add(' from CK_SXPB_CR A');
sql.add(' where SPID like :SXID');
Parameters.ParamByName('SXID').Value:='%'+Trim(SXID.Text)+'%';
Open;
//ShowMessage(SQL.Text);
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
finally
ADOQueryMain.EnableControls;
end; }
end;
end;
procedure TfrmDJBCKOutListSEL.N1Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
CDS_Main.DisableControls;
with CDS_Main do
begin
First;
while not eof do
begin
if Trim(CDS_Main.fieldbyname('CRType').AsString) = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
begin
Edit;
FieldByName('SSel').Value := True;
Post;
end;
Next;
end;
end;
CDS_Main.EnableControls;
end;
procedure TfrmDJBCKOutListSEL.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmDJBCKOutListSEL.ToolButton3Click(Sender: TObject);
var
fPrintFile: string;
Txt, fImagePath: string;
Moudle: THandle;
Makebar: TMakebar;
Mixtext: TMixtext;
begin
if CDS_Main.IsEmpty then
Exit;
//if Trim(CDS_Main.fieldbyname('CRType').AsString)<>'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then Exit;
if CDS_Main.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
ExportFtErpFile('<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD>ǩ.rmf', ADOQueryTemp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD>ǩ.rmf';
CDS_Main.DisableControls;
with CDS_Main do
begin
First;
while CDS_Main.Locate('SSel', True, []) do
begin
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.Add(' select A.* ,B.SOrddefstr1,B.PRTColor,B.PRTHX,C.OrderNo,C.MPRTCodeName');
sql.Add(',C.CustomerNoName,C.ConNo');
sql.Add(',khCode=(select zdyNameZ from KH_Zdy_Attachment X where X.zdyname=C.CustomerNoName and X.Type=''KHName'') ');
sql.Add(',khConNo=(select top 1 khConNo from JYOrderCon_Main X where X.ConNO=C.conNO) ');
sql.Add(' from CK_SXPB_CR A');
sql.Add(' left join JYOrder_Sub B on A.ORDSubIdCK=B.SubId');
sql.Add(' left join JYOrder_Main C on A.ORDMainIdCK=C.MainId');
sql.Add(' where A.SPId=''' + Trim(CDS_Main.fieldbyname('SPId').AsString) + '''');
Open;
end;
SCreateCDS20(ADOQueryPrint, CDS_PRT);
SInitCDSData20(ADOQueryPrint, CDS_PRT);
try
Moudle := LoadLibrary('MakeQRBarcode.dll');
@Makebar := GetProcAddress(Moudle, 'Make');
@Mixtext := GetProcAddress(Moudle, 'MixText');
Txt := Trim(CDS_PRT.fieldbyname('SPID').AsString);
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
CDS_Main.EnableControls;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
if FileExists(fPrintFile) then
begin
RMVariables['QRBARCODE'] := fImagePath;
RM1.LoadFromFile(fPrintFile);
//RM1.ShowReport;
RM1.PrintReport;
end
else
begin
CDS_Main.EnableControls;
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD>ǩ.rmf'), '<27><>ʾ', 0);
Exit;
end;
Edit;
FieldByName('SSel').Value := False;
Post;
end;
end;
CDS_Main.EnableControls;
end;
procedure TfrmDJBCKOutListSEL.Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
// if CDS_Main.IsEmpty then Exit;
// if Trim(CDS_Main.fieldbyname('CRType').AsString)<>'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
// begin
// Tv1.OptionsSelection.CellSelect:=False;
// end else
// begin
// Tv1.OptionsSelection.CellSelect:=True;
// end;
end;
procedure TfrmDJBCKOutListSEL.N3Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
CDS_Main.DisableControls;
with CDS_Main do
begin
First;
while not eof do
begin
Edit;
FieldByName('SSel').Value := True;
Post;
Next;
end;
end;
CDS_Main.EnableControls;
end;
procedure TfrmDJBCKOutListSEL.ToolButton1Click(Sender: TObject);
var
fPrintFile: string;
var
WSql: string;
begin
if CDS_Main.IsEmpty then
Exit;
ModalResult := 1;
end;
end.