D7wmoukai/坯布码单待检(PBMDDJ.dll)/U_TZBCKList.pas

576 lines
16 KiB
ObjectPascal
Raw Normal View History

2025-07-19 17:24:07 +08:00
unit U_TZBCKList;
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;
type
TfrmTZBCKList = 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;
ADOQueryPrint: TADOQuery;
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;
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 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 Tv1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure PRTColorChange(Sender: TObject);
procedure SOrddefstr1Change(Sender: TObject);
procedure PRTHXChange(Sender: TObject);
procedure QCorderNoKeyPress(Sender: TObject; var Key: Char);
procedure ToolButton1Click(Sender: TObject);
private
canshu1,canshu2:string;
procedure InitGrid();
procedure GetGangLb();
{ Private declarations }
public
{ Public declarations }
end;
var
frmTZBCKList: TfrmTZBCKList;
implementation
uses
U_DataLink,U_RTFun,U_DJBCKOutPut, U_TZBCKPut;
{$R *.dfm}
procedure TfrmTZBCKList.GetGangLb();
begin
LBGANG.Items.Clear;
ADOQueryTemp.DisableControls;
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('select * from KH_Zdy where Type=''LBGANGFLAG'' ');
open;
If not isEmpty then
begin
while not eof do
begin
LBGANG.Items.Add(trim(fieldbyname('zdyName').AsString));
next;
end;
LBGANG.ItemIndex:=0;
end;
end;
ADOQueryTemp.EnableControls;
end;
procedure TfrmTZBCKList.FormDestroy(Sender: TObject);
begin
frmTZBCKList:=nil;
end;
procedure TfrmTZBCKList.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmTZBCKList.FormCreate(Sender: TObject);
begin
//cxGrid1.Align:=alClient;
canshu1:=Trim(DParameters1);
canshu2:=Trim(DParameters2);
EndDate.DateTime:=SGetServerDate10(ADOQueryTemp);
BegDate.DateTime:=EndDate.DateTime-1;
end;
procedure TfrmTZBCKList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
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.ORDSubIdRK=B.SubId');
sql.add(' where A.CRTime>=:begdate and A.CRTime<:enddate');
SQL.Add(' and CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
SQL.Add(' and isnull(CKName,'''')='<>Ӳ<EFBFBD>'' ');
Parameters.ParamByName('begdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime));
Parameters.ParamByName('enddate').Value:=Trim(FormatDateTime('yyyy-MM-dd',enddate.DateTime+1));
Open;
//ShowMessage(SQL.Text);
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmTZBCKList.TBRafreshClick(Sender: TObject);
begin
BegDate.SetFocus;
InitGrid();
end;
procedure TfrmTZBCKList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
end;
end;
procedure TfrmTZBCKList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><><EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>PMD',Tv1,'<27><><EFBFBD>ӹ<EFBFBD><D3B9>ֿ<EFBFBD>');
Close;
end;
procedure TfrmTZBCKList.FormShow(Sender: TObject);
begin
if Trim(canshu2)='<27>鿴' then
begin
TBAdd.Visible:=False;
TBDel.Visible:=False;
TBEdit.Visible:=False;
end else
begin
TBAdd.Visible:=True;
TBDel.Visible:=True;
TBEdit.Visible:=True;
end;
GetGangLb();
ReadCxGrid('<27><><EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>PMD',Tv1,'<27><><EFBFBD>ӹ<EFBFBD><D3B9>ֿ<EFBFBD>');
//InitGrid();
end;
procedure TfrmTZBCKList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then exit;
TcxGridToExcel('<27><><EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>',cxGrid2);
end;
procedure TfrmTZBCKList.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 TfrmTZBCKList.SPNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmTZBCKList.SPIDChange(Sender: TObject);
begin
if Length(Trim(SPID.Text))<4 then
begin
if Trim(SPID.Text)<>'' then Exit;
end;
TBFind.Click;
end;
procedure TfrmTZBCKList.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 TfrmTZBCKList.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 TfrmTZBCKList.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main,False);
end;
procedure TfrmTZBCKList.TBDelClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
if Trim(CDS_Main.fieldbyname('SPID').AsString)<>'' then
begin
if Trim(CDS_Main.fieldbyname('CRType').AsString)='ƽ<>Ƴ<EFBFBD><C6B3><EFBFBD>' then
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_SXPB_CR where FZSPID=');
sql.Add('(select SPID from CK_SXPB_CR where PYID='''+Trim(CDS_Main.fieldbyname('SPID').AsString)+'''');
sql.Add(' and isnull(CRType,'''')=''ƽ<><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'')');
sql.Add(' and CRQtyFlag=-1');
Open;
end;
if ADOQueryTemp.IsEmpty=False then
begin
Application.MessageBox('<27><><EFBFBD>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>!','<27><>ʾ',0);
Exit;
end;
end;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' delete CK_SXPB_CR where SPID='''+Trim(CDS_Main.fieldbyname('SPID').AsString)+'''');
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)');
sql.Add(' where SPID='''+Trim(CDS_Main.fieldbyname('FZSPID').AsString)+'''');
if Trim(CDS_Main.fieldbyname('CRType').AsString)='ƽ<>Ƴ<EFBFBD><C6B3><EFBFBD>' then
begin
sql.Add(' delete CK_SXPB_CR where isnull(PYID,'''')='''+Trim(CDS_Main.fieldbyname('PYID').AsString)+'''');
end;
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C9BE><EFBFBD>쳣!','<27><>ʾ',0);
end;
end;
CDS_Main.Delete;
end;
procedure TfrmTZBCKList.TBAddClick(Sender: TObject);
begin
try
frmTZBCKPut:=TfrmTZBCKPut.Create(Application);
with frmTZBCKPut do
begin
FBCId:='';
if ShowModal=1 then
begin
Self.InitGrid();
end;
end;
finally
frmTZBCKPut.Free;
end;
end;
procedure TfrmTZBCKList.TBEditClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
try
frmTZBCKPut:=TfrmTZBCKPut.Create(Application);
with frmTZBCKPut do
begin
FBCId:=Trim(CDS_Main.fieldbyname('SPID').AsString);
TBDel.Visible:=False;
TBAdd.Visible:=False;
if ShowModal=1 then
begin
Self.InitGrid();
end;
end;
finally
frmTZBCKPut.Free;
end;
end;
procedure TfrmTZBCKList.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 TfrmTZBCKList.PRTColorChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmTZBCKList.SOrddefstr1Change(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmTZBCKList.PRTHXChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmTZBCKList.QCorderNoKeyPress(Sender: TObject; var Key: Char);
begin
IF trim(QCorderNo.Text)='' then exit;
IF Key=#13 then
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
Filtered:=False;
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.QCorderNo like '+quotedstr('%'+trim(QCorderNo.text)+'%'));
SQL.Add(' and CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
SQL.Add(' and isnull(CKName,'''')='<>Ӳ<EFBFBD>'' ');
Open;
//ShowMessage(SQL.Text);
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
end;
procedure TfrmTZBCKList.ToolButton1Click(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;
IF Trim(LBGANG.Text)='' then
begin
Application.MessageBox('ѡ<><D1A1>Ҫ<EFBFBD><D2AA>ӡ<EFBFBD>ĸױ<C4B8>ǩ<EFBFBD><C7A9>','<27><>ʾ',0);
Exit;
end;
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\'+Trim(LBGANG.Text)+'.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.* ,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');
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>'+fPrintFile),'<27><>ʾ',0);
Exit;
end;
Edit;
FieldByName('SSel').Value:=False;
Post;
end;
end;
CDS_Main.EnableControls;
end;
end.