D7wmbeiqi/坯布码单待检(PBMDDJ.dll)/U_DJBCKOutList.pas

665 lines
19 KiB
ObjectPascal
Raw Normal View History

2025-04-30 16:20:38 +08:00
unit U_DJBCKOutList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
2025-09-25 13:21:52 +08:00
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, dxSkinsCore, dxSkinBlack,
dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom,
dxSkinDarkSide, dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy,
dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian,
dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray,
dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic,
dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringTime, dxSkinStardust,
dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinsDefaultPainters,
dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue,
dxSkinscxPCPainter, cxNavigator;
2025-04-30 16:20:38 +08:00
type
TfrmDJBCKOutList = 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;
RMDBMain: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
RMDBHZ: TRMDBDataSet;
CDS_HZ: TClientDataSet;
CDS_PRT: TClientDataSet;
TBDel: TToolButton;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
TBAdd: TToolButton;
TBEdit: TToolButton;
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;
v1Column18: 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;
SPSpec: TEdit;
CRType: TComboBox;
SPCF: 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;
ToolButton3: TToolButton;
ADOQueryPrint: TADOQuery;
v1Column21: TcxGridDBColumn;
Label15: TLabel;
PRTColor: TEdit;
Label16: TLabel;
SOrddefstr1: TEdit;
Label17: TLabel;
PRTHX: TEdit;
RM1: TRMGridReport;
RMBarCodeObject1: TRMBarCodeObject;
v1Column22: TcxGridDBColumn;
v1Column23: TcxGridDBColumn;
v1Column24: TcxGridDBColumn;
v1Column25: TcxGridDBColumn;
LBGANG: TComboBox;
v1Column26: TcxGridDBColumn;
prtkuanNo: TEdit;
Label18: TLabel;
v1Column27: TcxGridDBColumn;
v1Column28: TcxGridDBColumn;
v1Column29: TcxGridDBColumn;
note: TEdit;
Label19: TLabel;
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 SPIDChange(Sender: TObject);
procedure SPIDKeyPress(Sender: TObject; var Key: Char);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
2025-09-25 13:21:52 +08:00
procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
2025-04-30 16:20:38 +08:00
procedure PRTColorChange(Sender: TObject);
procedure SOrddefstr1Change(Sender: TObject);
procedure PRTHXChange(Sender: TObject);
procedure QCorderNoKeyPress(Sender: TObject; var Key: Char);
procedure CKorderNoKeyPress(Sender: TObject; var Key: Char);
private
2025-09-25 13:21:52 +08:00
canshu1, canshu2: string;
2025-04-30 16:20:38 +08:00
procedure InitGrid();
procedure GetGangLb();
{ Private declarations }
public
{ Public declarations }
end;
var
frmDJBCKOutList: TfrmDJBCKOutList;
implementation
2025-09-25 13:21:52 +08:00
2025-04-30 16:20:38 +08:00
uses
2025-09-25 13:21:52 +08:00
U_DataLink, U_RTFun, U_DJBCKOutPut;
2025-04-30 16:20:38 +08:00
{$R *.dfm}
procedure TfrmDJBCKOutList.GetGangLb();
begin
LBGANG.Items.Clear;
ADOQueryTemp.DisableControls;
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('select * from KH_Zdy where Type=''LBGANGFLAG'' ');
open;
2025-09-25 13:21:52 +08:00
if not isEmpty then
2025-04-30 16:20:38 +08:00
begin
while not eof do
begin
LBGANG.Items.Add(trim(fieldbyname('zdyName').AsString));
next;
end;
2025-09-25 13:21:52 +08:00
LBGANG.ItemIndex := 0;
2025-04-30 16:20:38 +08:00
end;
end;
ADOQueryTemp.EnableControls;
end;
procedure TfrmDJBCKOutList.FormDestroy(Sender: TObject);
begin
2025-09-25 13:21:52 +08:00
frmDJBCKOutList := nil;
2025-04-30 16:20:38 +08:00
end;
2025-09-25 13:21:52 +08:00
procedure TfrmDJBCKOutList.FormClose(Sender: TObject; var Action: TCloseAction);
2025-04-30 16:20:38 +08:00
begin
2025-09-25 13:21:52 +08:00
Action := caFree;
2025-04-30 16:20:38 +08:00
end;
procedure TfrmDJBCKOutList.FormCreate(Sender: TObject);
begin
//cxGrid1.Align:=alClient;
2025-09-25 13:21:52 +08:00
canshu1 := Trim(DParameters1);
canshu2 := Trim(DParameters2);
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime - 1;
2025-04-30 16:20:38 +08:00
end;
procedure TfrmDJBCKOutList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
2025-09-25 13:21:52 +08:00
Filtered := False;
2025-04-30 16:20:38 +08:00
Close;
sql.Clear;
sql.Add(' select A.* ,B.SOrddefstr1,B.PRTColor,B.PRTHX,B.PrtkuanNo');
sql.Add(' from CK_SXPB_CR A');
sql.Add(' left join JYOrder_Sub B on A.ORDSubIdCK=B.SubId');
sql.add(' where A.CRTime>=:begdate and A.CRTime<:enddate');
SQL.Add(' and CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
SQL.Add(' and isnull(CKName,'''')=''<27><><EFBFBD>첼'' ');
2025-09-25 13:21:52 +08:00
Parameters.ParamByName('begdate').Value := Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime));
Parameters.ParamByName('enddate').Value := Trim(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1));
2025-04-30 16:20:38 +08:00
Open;
//ShowMessage(SQL.Text);
end;
2025-09-25 13:21:52 +08:00
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
2025-04-30 16:20:38 +08:00
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmDJBCKOutList.TBRafreshClick(Sender: TObject);
begin
BegDate.SetFocus;
InitGrid();
end;
procedure TfrmDJBCKOutList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
2025-09-25 13:21:52 +08:00
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
2025-04-30 16:20:38 +08:00
end;
end;
procedure TfrmDJBCKOutList.TBCloseClick(Sender: TObject);
begin
2025-09-25 13:21:52 +08:00
WriteCxGrid('<27><><EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>PMD', Tv1, '<27><><EFBFBD>ӹ<EFBFBD><D3B9>ֿ<EFBFBD>');
2025-04-30 16:20:38 +08:00
Close;
end;
procedure TfrmDJBCKOutList.FormShow(Sender: TObject);
begin
2025-09-25 13:21:52 +08:00
if Trim(canshu2) = '<27>鿴' then
2025-04-30 16:20:38 +08:00
begin
2025-09-25 13:21:52 +08:00
TBAdd.Visible := False;
TBDel.Visible := False;
TBEdit.Visible := False;
end
else
2025-04-30 16:20:38 +08:00
begin
2025-09-25 13:21:52 +08:00
TBAdd.Visible := True;
TBDel.Visible := True;
TBEdit.Visible := True;
2025-04-30 16:20:38 +08:00
end;
GetGangLb();
2025-09-25 13:21:52 +08:00
ReadCxGrid('<27><><EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>PMD', Tv1, '<27><><EFBFBD>ӹ<EFBFBD><D3B9>ֿ<EFBFBD>');
2025-04-30 16:20:38 +08:00
//InitGrid();
end;
procedure TfrmDJBCKOutList.TBExportClick(Sender: TObject);
begin
2025-09-25 13:21:52 +08:00
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel('<27><><EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
2025-04-30 16:20:38 +08:00
end;
procedure TfrmDJBCKOutList.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
2025-09-25 13:21:52 +08:00
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
2025-04-30 16:20:38 +08:00
end;
end;
procedure TfrmDJBCKOutList.SPNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmDJBCKOutList.SPIDChange(Sender: TObject);
begin
2025-09-25 13:21:52 +08:00
if Length(Trim(SPID.Text)) < 4 then
2025-04-30 16:20:38 +08:00
begin
2025-09-25 13:21:52 +08:00
if Trim(SPID.Text) <> '' then
Exit;
2025-04-30 16:20:38 +08:00
end;
TBFind.Click;
end;
2025-09-25 13:21:52 +08:00
procedure TfrmDJBCKOutList.SPIDKeyPress(Sender: TObject; var Key: Char);
2025-04-30 16:20:38 +08:00
begin
2025-09-25 13:21:52 +08:00
if Key = #13 then
2025-04-30 16:20:38 +08:00
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 TfrmDJBCKOutList.N1Click(Sender: TObject);
begin
2025-09-25 13:21:52 +08:00
if CDS_Main.IsEmpty then
Exit;
2025-04-30 16:20:38 +08:00
CDS_Main.DisableControls;
with CDS_Main do
begin
First;
while not eof do
begin
2025-09-25 13:21:52 +08:00
if Trim(CDS_Main.fieldbyname('CRType').AsString) = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
2025-04-30 16:20:38 +08:00
begin
Edit;
2025-09-25 13:21:52 +08:00
FieldByName('SSel').Value := True;
2025-04-30 16:20:38 +08:00
Post;
end;
Next;
end;
end;
CDS_Main.EnableControls;
end;
procedure TfrmDJBCKOutList.N2Click(Sender: TObject);
begin
2025-09-25 13:21:52 +08:00
SelOKNo(CDS_Main, False);
2025-04-30 16:20:38 +08:00
end;
procedure TfrmDJBCKOutList.TBDelClick(Sender: TObject);
begin
2025-09-25 13:21:52 +08:00
if CDS_Main.IsEmpty then
Exit;
if Trim(CDS_Main.fieldbyname('SPID').AsString) <> '' then
2025-04-30 16:20:38 +08:00
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
2025-09-25 13:21:52 +08:00
sql.Add('select Top 1 * from WFB_MJJY where isnull(APID,'''')=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + '''');
2025-04-30 16:20:38 +08:00
Open;
end;
2025-09-25 13:21:52 +08:00
if ADOQueryTemp.IsEmpty = False then
2025-04-30 16:20:38 +08:00
begin
2025-09-25 13:21:52 +08:00
Application.MessageBox('<27>Ѽ<EFBFBD><D1BC><EFBFBD><E9B2BB>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
2025-04-30 16:20:38 +08:00
Exit;
end;
2025-09-25 13:21:52 +08:00
if Trim(CDS_Main.fieldbyname('CRType').AsString) = 'ƽ<>Ƴ<EFBFBD><C6B3><EFBFBD>' then
2025-04-30 16:20:38 +08:00
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_SXPB_CR where FZSPID=');
2025-09-25 13:21:52 +08:00
sql.Add('(select SPID from CK_SXPB_CR where PYID=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + '''');
2025-04-30 16:20:38 +08:00
sql.Add(' and isnull(CRType,'''')=''ƽ<><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'')');
sql.Add(' and CRQtyFlag=-1');
Open;
end;
2025-09-25 13:21:52 +08:00
if ADOQueryTemp.IsEmpty = False then
2025-04-30 16:20:38 +08:00
begin
2025-09-25 13:21:52 +08:00
Application.MessageBox('<27><><EFBFBD>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>!', '<27><>ʾ', 0);
2025-04-30 16:20:38 +08:00
Exit;
end;
end;
2025-09-25 13:21:52 +08:00
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
2025-04-30 16:20:38 +08:00
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
2025-09-25 13:21:52 +08:00
sql.Clear;
sql.Add(' delete CK_SXPB_CR where SPID=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + '''');
2025-04-30 16:20:38 +08:00
sql.Add(' Update CK_SXPB_CR Set MXKCQty=(select sum(isnull(Qty,0)*CRQtyFlag) from CK_SXPB_CR A where A.FZSPID=CK_SXPB_CR.SPID)');
sql.Add(',MXKCPiQty=(select sum(isnull(PiQty,0)*CRQtyFlag) from CK_SXPB_CR A where A.FZSPID=CK_SXPB_CR.SPID)');
2025-09-25 13:21:52 +08:00
sql.Add(' where SPID=''' + Trim(CDS_Main.fieldbyname('FZSPID').AsString) + '''');
if Trim(CDS_Main.fieldbyname('CRType').AsString) = 'ƽ<>Ƴ<EFBFBD><C6B3><EFBFBD>' then
2025-04-30 16:20:38 +08:00
begin
2025-09-25 13:21:52 +08:00
sql.Add(' delete CK_SXPB_CR where isnull(PYID,'''')=''' + Trim(CDS_Main.fieldbyname('PYID').AsString) + '''');
2025-04-30 16:20:38 +08:00
end;
2025-09-25 13:21:52 +08:00
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><ECB2BC><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>')));
sql.Add(',' + quotedstr(trim('<27><><EFBFBD><EFBFBD>ţ<EFBFBD>' + trim(CDS_Main.FieldByName('SPID').AsString) + ',<2C>ӹ<EFBFBD><D3B9><EFBFBD>' + trim(CDS_Main.FieldByName('factoryName').AsString) + ',<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' + trim(CDS_Main.FieldByName('QCorderNo').AsString) + ',ƥ<><C6A5>' + trim(CDS_Main.FieldByName('piqty').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
2025-04-30 16:20:38 +08:00
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
2025-09-25 13:21:52 +08:00
Application.MessageBox(<><C9BE><EFBFBD>쳣!', '<27><>ʾ', 0);
2025-04-30 16:20:38 +08:00
end;
end;
CDS_Main.Delete;
end;
procedure TfrmDJBCKOutList.TBAddClick(Sender: TObject);
begin
try
2025-09-25 13:21:52 +08:00
frmDJBCKOutPut := TfrmDJBCKOutPut.Create(Application);
2025-04-30 16:20:38 +08:00
with frmDJBCKOutPut do
begin
2025-09-25 13:21:52 +08:00
FBCId := '';
if ShowModal = 1 then
2025-04-30 16:20:38 +08:00
begin
Self.InitGrid();
end;
end;
finally
frmDJBCKOutPut.Free;
end;
end;
procedure TfrmDJBCKOutList.TBEditClick(Sender: TObject);
begin
2025-09-25 13:21:52 +08:00
if CDS_Main.IsEmpty then
Exit;
2025-04-30 16:20:38 +08:00
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_SXPB_CR where FZSPID=');
2025-09-25 13:21:52 +08:00
sql.Add('(select SPID from CK_SXPB_CR where PYID=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + '''');
2025-04-30 16:20:38 +08:00
sql.Add(' and isnull(CRType,'''')=''ƽ<><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'')');
sql.Add(' and CRQtyFlag=-1');
Open;
end;
2025-09-25 13:21:52 +08:00
if ADOQueryTemp.IsEmpty = False then
2025-04-30 16:20:38 +08:00
begin
2025-09-25 13:21:52 +08:00
Application.MessageBox('<27><><EFBFBD>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>!', '<27><>ʾ', 0);
2025-04-30 16:20:38 +08:00
Exit;
end;
try
2025-09-25 13:21:52 +08:00
frmDJBCKOutPut := TfrmDJBCKOutPut.Create(Application);
2025-04-30 16:20:38 +08:00
with frmDJBCKOutPut do
begin
2025-09-25 13:21:52 +08:00
FBCId := Trim(CDS_Main.fieldbyname('SPID').AsString);
TBDel.Visible := False;
TBAdd.Visible := False;
if ShowModal = 1 then
2025-04-30 16:20:38 +08:00
begin
Self.InitGrid();
end;
end;
finally
frmDJBCKOutPut.Free;
end;
end;
procedure TfrmDJBCKOutList.ToolButton3Click(Sender: TObject);
var
2025-09-25 13:21:52 +08:00
fPrintFile: string;
Txt, fImagePath: string;
Moudle: THandle;
Makebar: TMakebar;
Mixtext: TMixtext;
2025-04-30 16:20:38 +08:00
begin
2025-09-25 13:21:52 +08:00
if CDS_Main.IsEmpty then
Exit;
2025-04-30 16:20:38 +08:00
//if Trim(CDS_Main.fieldbyname('CRType').AsString)<>'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then Exit;
2025-09-25 13:21:52 +08:00
if CDS_Main.Locate('SSel', True, []) = False then
2025-04-30 16:20:38 +08:00
begin
2025-09-25 13:21:52 +08:00
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
2025-04-30 16:20:38 +08:00
Exit;
end;
2025-09-25 13:21:52 +08:00
if Trim(LBGANG.Text) = '' then
2025-04-30 16:20:38 +08:00
begin
2025-09-25 13:21:52 +08:00
Application.MessageBox('ѡ<><D1A1>Ҫ<EFBFBD><D2AA>ӡ<EFBFBD>ĸױ<C4B8>ǩ<EFBFBD><C7A9>', '<27><>ʾ', 0);
2025-04-30 16:20:38 +08:00
Exit;
end;
2025-09-25 13:21:52 +08:00
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(LBGANG.Text) + '.rmf';
2025-04-30 16:20:38 +08:00
CDS_Main.DisableControls;
with CDS_Main do
begin
First;
2025-09-25 13:21:52 +08:00
while CDS_Main.Locate('SSel', True, []) do
2025-04-30 16:20:38 +08:00
begin
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.Add(' select A.* ,OrderNoM=B.OrderNo,B.OrderNo,B.conNO,B.CustomerNoName,B.OrdPerson1,B.MPRTCodeName,B.MPrtkuanNO,C.prtkuanNo,C.PRTColor,C.PRTHX,B.MPRTBZNote,B.MPRTKaiJian, ');
sql.Add('khConNo=(select top 1 khConNo from JYOrderCon_Main X where X.ConNO=B.conNO), ');
sql.Add('B.MPRTYaoFeng,B.MPRTTangJin,B.MPRTJiBenNote,B.MPRTTeBieNote,C.SOrddefstr1,C.SOrddefstr4');
sql.Add(' from CK_SXPB_CR A');
sql.Add(' left join JYOrder_Main B on A.ORDmainIdCK=B.mainID');
sql.Add(' left join JYOrder_Sub C on A.ORDSubIdCK=C.subID');
2025-09-25 13:21:52 +08:00
sql.Add(' where A.SPId=''' + Trim(CDS_Main.fieldbyname('SPId').AsString) + '''');
2025-04-30 16:20:38 +08:00
Open;
end;
2025-09-25 13:21:52 +08:00
SCreateCDS20(ADOQueryPrint, CDS_PRT);
SInitCDSData20(ADOQueryPrint, CDS_PRT);
2025-04-30 16:20:38 +08:00
try
2025-09-25 13:21:52 +08:00
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);
2025-04-30 16:20:38 +08:00
except
CDS_Main.EnableControls;
2025-09-25 13:21:52 +08:00
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
2025-04-30 16:20:38 +08:00
exit;
end;
if FileExists(fPrintFile) then
begin
2025-09-25 13:21:52 +08:00
RMVariables['QRBARCODE'] := fImagePath;
2025-04-30 16:20:38 +08:00
RM1.LoadFromFile(fPrintFile);
//RM1.ShowReport;
RM1.PrintReport;
2025-09-25 13:21:52 +08:00
end
else
2025-04-30 16:20:38 +08:00
begin
CDS_Main.EnableControls;
2025-09-25 13:21:52 +08:00
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
2025-04-30 16:20:38 +08:00
Exit;
end;
Edit;
2025-09-25 13:21:52 +08:00
FieldByName('SSel').Value := False;
2025-04-30 16:20:38 +08:00
Post;
end;
end;
CDS_Main.EnableControls;
end;
2025-09-25 13:21:52 +08:00
procedure TfrmDJBCKOutList.Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
2025-04-30 16:20:38 +08:00
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 TfrmDJBCKOutList.PRTColorChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmDJBCKOutList.SOrddefstr1Change(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmDJBCKOutList.PRTHXChange(Sender: TObject);
begin
TBFind.Click;
end;
2025-09-25 13:21:52 +08:00
procedure TfrmDJBCKOutList.QCorderNoKeyPress(Sender: TObject; var Key: Char);
2025-04-30 16:20:38 +08:00
begin
2025-09-25 13:21:52 +08:00
if trim(QCorderNo.Text) = '' then
exit;
if Key = #13 then
2025-04-30 16:20:38 +08:00
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
2025-09-25 13:21:52 +08:00
Filtered := False;
2025-04-30 16:20:38 +08:00
sql.Clear;
sql.Add(' select A.* ,B.SOrddefstr1,B.PRTColor,B.PRTHX,B.PrtkuanNo');
sql.Add(' from CK_SXPB_CR A');
sql.Add(' left join JYOrder_Sub B on A.ORDSubIdCK=B.SubId');
2025-09-25 13:21:52 +08:00
sql.add(' where A.QCorderNo like ' + quotedstr('%' + trim(QCorderNo.text) + '%'));
2025-04-30 16:20:38 +08:00
SQL.Add(' and CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
SQL.Add(' and isnull(CKName,'''')=''<27><><EFBFBD>첼'' ');
Open;
//ShowMessage(SQL.Text);
2025-09-25 13:21:52 +08:00
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
2025-04-30 16:20:38 +08:00
finally
ADOQueryMain.EnableControls;
end;
end;
end;
2025-09-25 13:21:52 +08:00
procedure TfrmDJBCKOutList.CKorderNoKeyPress(Sender: TObject; var Key: Char);
2025-04-30 16:20:38 +08:00
begin
2025-09-25 13:21:52 +08:00
if trim(CKorderNo.Text) = '' then
exit;
if Key = #13 then
2025-04-30 16:20:38 +08:00
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
2025-09-25 13:21:52 +08:00
Filtered := False;
2025-04-30 16:20:38 +08:00
sql.Clear;
sql.Add(' select A.* ,B.SOrddefstr1,B.PRTColor,B.PRTHX,B.PrtkuanNo');
sql.Add(' from CK_SXPB_CR A');
sql.Add(' left join JYOrder_Sub B on A.ORDSubIdCK=B.SubId');
2025-09-25 13:21:52 +08:00
sql.add(' where A.CKorderNo like ' + quotedstr('%' + trim(CKorderNo.text) + '%'));
2025-04-30 16:20:38 +08:00
SQL.Add(' and CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
SQL.Add(' and isnull(CKName,'''')=''<27><><EFBFBD>첼'' ');
Open;
//ShowMessage(SQL.Text);
2025-09-25 13:21:52 +08:00
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
2025-04-30 16:20:38 +08:00
finally
ADOQueryMain.EnableControls;
end;
end;
end;
end.
2025-09-25 13:21:52 +08:00