D7FZaideng/坯布仓库/U_BpRklist.pas
DESKTOP-E401PHE\Administrator 82c6347dad ~
2025-04-30 16:21:22 +08:00

909 lines
24 KiB
ObjectPascal
Raw Permalink 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_BpRklist;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, StdCtrls, ExtCtrls, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData,
cxButtonEdit, cxDropDownEdit, cxGridLevel, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView,
cxGrid, DBClient, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset,
RM_Common, RM_Class, RM_e_Xls, RM_System, RM_GridReport, cxPC, cxLookAndFeels,
cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, cxCheckBox, cxTextEdit,
Menus;
type
TfrmBpRklist = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBAdd: TToolButton;
TBEdit: TToolButton;
TBDel: TToolButton;
TBExport: TToolButton;
TBPrint: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
Label1: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1P_CodeName: TcxGridDBColumn;
v1P_SPEC: TcxGridDBColumn;
v1P_MF: TcxGridDBColumn;
v1P_KZ: TcxGridDBColumn;
v1RollNum: TcxGridDBColumn;
v1Qty: TcxGridDBColumn;
v1QtyUnit: TcxGridDBColumn;
v1Note: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
v1CRType: TcxGridDBColumn;
v1CRTime: TcxGridDBColumn;
v1Filler: TcxGridDBColumn;
v1FillTime: TcxGridDBColumn;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
P_CodeName: TEdit;
P_Color: TEdit;
CRType: TComboBox;
Label5: TLabel;
ADOQueryCmd: TADOQuery;
ADOQueryTmp: TADOQuery;
DataSource1: TDataSource;
CDS_Main: TClientDataSet;
cxGridPopupMenu1: TcxGridPopupMenu;
v1CPType: TcxGridDBColumn;
ckName: TComboBox;
Label6: TLabel;
v1P_Color: TcxGridDBColumn;
RMGridReport1: TRMGridReport;
RMXLSExport2: TRMXLSExport;
ADOPrint: TADOQuery;
RMDB_MD: TRMDBDataSet;
ADOPrint1: TADOQuery;
RMDB_Sub: TRMDBDataSet;
Label7: TLabel;
cust: TEdit;
v1cust: TcxGridDBColumn;
v1packNO: TcxGridDBColumn;
packNo: TEdit;
Label8: TLabel;
Label9: TLabel;
defstr2: TComboBox;
v1defstr2: TcxGridDBColumn;
v1gangNo: TcxGridDBColumn;
v1defNote1: TcxGridDBColumn;
ToolButton1: TToolButton;
v1Column1: TcxGridDBColumn;
Label10: TLabel;
v1Column2: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
factoryName: TEdit;
Label11: TLabel;
cxTabControl1: TcxTabControl;
tbcdel: TToolButton;
v1Column4: TcxGridDBColumn;
orderNo: TEdit;
Label12: TLabel;
ToolButton2: TToolButton;
cxGrid2: TcxGrid;
TvMX: TcxGridDBTableView;
TvMXColumn1: TcxGridDBColumn;
vMXColumn3: TcxGridDBColumn;
cxGridDBColumn8: TcxGridDBColumn;
vMXColumn2: TcxGridDBColumn;
vMXColumn4: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
ADOQuerySub: TADOQuery;
DataSource2: TDataSource;
CDS_Sub: TClientDataSet;
ToolButton3: TToolButton;
ADOQueryPrint: TADOQuery;
RMDB_Main: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
RM1: TRMGridReport;
Tv1Column1: TcxGridDBColumn;
ToolButton4: TToolButton;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure P_CodeNameChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TBPrintClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure tbcdelClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
procedure ToolButton3Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
private
TblCprk: string;
procedure InitGrid();
procedure SetComboBox();
procedure CreateTable();
procedure DropTable();
procedure DoRkNum();
procedure Setstatus();
procedure PrtData(FJYID: string);
procedure PrtRKData(FJYID: string);
{ Private declarations }
public
fCKName, fManage: string;
{ Public declarations }
end;
var
frmBpRklist: TfrmBpRklist;
implementation
uses
U_DataLink, U_Fun10, U_ZDYHelp, U_BpRk, U_CPCKMXLR, U_Fun;
{$R *.dfm}
procedure TfrmBpRklist.SetStatus();
begin
TBedit.Visible := false;
Tbdel.Visible := false;
tbcdel.Visible := false;
case cxTabControl1.TabIndex of
0:
begin
TBedit.Visible := true;
Tbdel.Visible := true;
end;
1:
begin
tbcdel.Visible := true;
end;
end;
end;
procedure TfrmBpRklist.DoRkNum();
var
RKNo: Tstringlist;
begin
RKNo := Tstringlist.Create;
RKNo.Clear;
try
with CDS_Main do
begin
DisableControls;
First;
while not eof do
begin
if RKNo.IndexOf(trim(fieldbyname('CRNO').AsString)) < 0 then
begin
RKNo.Add(trim(fieldbyname('CRNO').AsString));
end;
next;
end;
EnableControls;
First;
end;
Label10.Caption := '<27><><EFBFBD><EFBFBD><E2B5A5><EFBFBD><EFBFBD>' + inttostr(RKNo.Count);
finally
RKNo.Free;
end;
end;
procedure TfrmBpRklist.DropTable();
var
strSQL: string;
begin
// TblCprk := '[##CP_INOut123' + trim(DCode) + IntToStr(Handle)+formatdatetime('hhnnsszzz',time) + ']';
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
strSQL := 'IF OBJECT_ID(''tempdb..' + TblCprk + ''') IS NOT NULL DROP TABLE ' + TblCprk;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add(strSQL);
ExecSQL;
end;
end;
procedure TfrmBpRklist.CreateTable();
var
strSQL: string;
begin
TblCprk := '[##BP_INoutPPack' + trim(DCode) + IntToStr(Handle) + formatdatetime('hhnnsszzz', time) + ']';
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
strSQL := 'IF OBJECT_ID(''tempdb..' + TblCprk + ''') IS NOT NULL DROP TABLE ' + TblCprk + #13 + 'CREATE TABLE ' + TblCprk + ' (' + 'MainID VARCHAR(20),' + 'subID VARCHAR(20),' + 'BCID Varchar(20))'#13;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add(strSQL);
ExecSQL;
end;
end;
procedure TfrmBpRklist.SetComboBox();
begin
ckName.Items.Clear;
with adoQueryTmp do
begin
close;
sql.Clear;
sql.Add('select * from KH_ZDY where Type=''BPCK'' ');
if trim(fCKName) <> '' then
sql.Add('and zdyName=' + quotedstr(trim(fCKName)));
open;
while not eof do
begin
ckName.Items.Add(trim(fieldbyname('zdyName').AsString));
next;
end;
end;
if ckName.Items.Count > 0 then
ckName.ItemIndex := 0;
CRType.Items.Clear;
CRType.Items.Add('');
with adoQueryTmp do
begin
close;
sql.Clear;
sql.Add('select * from KH_ZDY where Type=''BPRKTYPE''');
if trim(fCKName) <> '' then
sql.Add('and note=' + quotedstr(trim(fCKName)));
open;
while not eof do
begin
CRType.Items.Add(trim(fieldbyname('zdyName').AsString));
next;
end;
end;
if CRType.Items.Count > 0 then
CRType.ItemIndex := 0;
if fCKName = '<27><EFBFBD>ֿ<EFBFBD>' then
ToolButton1.Visible := true;
end;
procedure TfrmBpRklist.InitGrid();
begin
try
with adoqueryTmp do
begin
close;
sql.Clear;
sql.Add('select A.*,');
sql.Add('orderNo=(select Top 1 orderNo from JYOrder_Main X where X.MainID=A.MainID )');
sql.Add('from BP_InOut A ');
sql.Add('where CRTime>=''' + formatdateTime('yyyy-MM-dd', begdate.Date) + ''' ');
sql.Add('and CRTime<''' + formatdateTime('yyyy-MM-dd', enddate.Date + 1) + ''' ');
sql.Add('and CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
if trim(FckName) <> '' then
sql.Add('and ckName=' + quotedstr(trim(fckName)));
if cxTabControl1.TabIndex = 0 then
sql.Add('and valid=''Y'' ');
if cxTabControl1.TabIndex = 1 then
sql.Add('and valid=''N'' ');
// ShowMessage(sql.text);
open;
end;
SCreateCDS20(adoqueryTmp, CDS_Main);
SInitCDSData20(adoqueryTmp, CDS_Main);
DoRkNum();
finally
end;
end;
procedure TfrmBpRklist.FormClose(Sender: TObject; var Action: TCloseAction);
begin
writeCxGrid(self.Caption, Tv1, '<27><>ƥ<EFBFBD>ֿ<EFBFBD>');
Action := cafree;
end;
procedure TfrmBpRklist.FormDestroy(Sender: TObject);
begin
frmBpRklist := nil;
end;
procedure TfrmBpRklist.TBAddClick(Sender: TObject);
begin
frmbpRk := TfrmbpRk.create(self);
with frmbpRk do
begin
fkeyNo := '';
fType := 0;
fckName := self.fckName;
if showmodal = 1 then
begin
TBRafresh.Click;
self.CDS_Main.Locate('crNo', trim(fkeyNo), []);
end;
free;
end;
end;
procedure TfrmBpRklist.P_CodeNameChange(Sender: TObject);
begin
if ADOQueryTmp.Active = False then
Exit;
SDofilter(ADOQueryTmp, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryTmp, CDS_Main);
SInitCDSData20(ADOQueryTmp, CDS_Main);
DoRkNum();
end;
procedure TfrmBpRklist.FormShow(Sender: TObject);
begin
readCxGrid(self.Caption, Tv1, '<27><>ƥ<EFBFBD>ֿ<EFBFBD>');
SetComboBox();
SetStatus();
InitGrid();
if fckName = '<27><EFBFBD>ֿ<EFBFBD>' then
begin
if fmanage = '<27><>Ȩ<EFBFBD><C8A8>' then
TBDel.Visible := true
else
TBDel.Visible := false;
end;
end;
procedure TfrmBpRklist.FormCreate(Sender: TObject);
begin
BegDate.Date := DServerDate;
EndDate.Date := DServerDate;
cxGrid1.Align := alclient;
end;
procedure TfrmBpRklist.TBCloseClick(Sender: TObject);
begin
close;
end;
procedure TfrmBpRklist.TBEditClick(Sender: TObject);
begin
if cds_main.IsEmpty then
exit;
if pos('<27><><EFBFBD><EFBFBD>', Trim(CDS_Main.fieldbyname('CRType').AsString)) > 0 then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2B2BB><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>!', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from BP_InOut A');
SQL.Add('where exists(select CRNO from BP_InOut X where X.KCID=A.KCID and X.CRFlag=''<27><><EFBFBD><EFBFBD>'' and X.CRNO=''' + trim(cds_main.fieldbyname('CRNO').AsString) + ''') ');
sQL.Add('and A.CRFlag=''<27><><EFBFBD><EFBFBD>''');
Open;
end;
if not ADOQueryCmd.IsEmpty then
begin
Application.MessageBox('<27>Ѳ<EFBFBD><D1B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ģ<DEB8>', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' select * from YF_Money_CR ');
SQL.Add(' where mainID=''' + Trim(CDS_Main.fieldbyname('CRNO').AsString) + ''' ');
sql.Add(' and status>=''1'' ');
Open;
if not IsEmpty then
begin
Application.MessageBox(<><D3A6><EFBFBD><EFBFBD>û<EFBFBD>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>!', '<27><>ʾ', 0);
exit;
end;
end;
frmbpRk := TfrmbpRk.create(self);
with frmbpRk do
begin
fkeyNo := self.cds_main.fieldbyname('CRNO').AsString;
fType := 1;
fckName := self.fckName;
if showmodal = 1 then
begin
TBRafresh.Click;
self.CDS_Main.Locate('crNo', trim(fkeyNo), []);
end;
free;
end;
end;
procedure TfrmBpRklist.TBDelClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
{ if Trim(CDS_Main.fieldbyname('Filler').AsString)<>Trim(DName) then
begin
Application.MessageBox('<27><><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end; }
if pos('<27><><EFBFBD><EFBFBD>', Trim(CDS_Main.fieldbyname('CRType').AsString)) > 0 then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2B2BB><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>!', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from BP_InOut A');
SQL.Add('where exists(select CRNO from BP_InOut X where X.KCID=A.KCID and X.CRFlag=''<27><><EFBFBD><EFBFBD>'' and X.CRNO=''' + trim(cds_main.fieldbyname('CRNO').AsString) + ''') ');
sQL.Add('and A.CRFlag=''<27><><EFBFBD><EFBFBD>''');
Open;
end;
if not ADOQueryCmd.IsEmpty then
begin
Application.MessageBox('<27>Ѳ<EFBFBD><D1B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
if not ADOQueryCmd.IsEmpty then
begin
Application.MessageBox('<27>Ѳ<EFBFBD><D1B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' select * from YF_Money_CR ');
SQL.Add(' where mainID=''' + Trim(CDS_Main.fieldbyname('CRNO').AsString) + ''' ');
sql.Add(' and status>=''1'' ');
Open;
if not IsEmpty then
begin
Application.MessageBox(<><D3A6><EFBFBD><EFBFBD>û<EFBFBD>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
exit;
end;
end;
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete from YF_Money_CR ');
SQL.Add('where maiNID=''' + Trim(CDS_Main.fieldbyname('CRNO').AsString) + ''' ');
sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)');
sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)');
// sql.Add(' where YFDefFlag1=1 ');
sql.Add('delete from BP_kc ');
SQL.Add('where CRNO=''' + Trim(CDS_Main.fieldbyname('CRNO').AsString) + ''' ');
sql.Add('update BP_InOut SET valid=''N'' ');
SQL.Add('where CRNO=''' + Trim(CDS_Main.fieldbyname('CRNO').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>ⵥɾ<E2B5A5><C9BE>')));
sql.Add(',' + quotedstr(trim('<27><><EFBFBD><EFBFBD>ţ<EFBFBD>' + trim(CDS_Main.FieldByName('CRNO').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
execsql;
end;
TBRafresh.Click;
except
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmBpRklist.TBRafreshClick(Sender: TObject);
begin
initGrid();
end;
procedure TfrmBpRklist.TBPrintClick(Sender: TObject);
var
filepath: string;
begin
if CDS_Main.IsEmpty then
exit;
CreateTable();
with CDS_Main do
begin
DisableControls;
first;
while not eof do
begin
with adoqueryCmd do
begin
Close;
SQL.Clear;
SQL.Add(' insert into ' + TblCprk + '(MainID,subID) values( ');
SQL.Add(' ' + quotedstr(trim(CDS_Main.fieldbyname('CRNO').AsString)));
SQL.Add(',' + quotedstr(trim(CDS_Main.fieldbyname('CRID').AsString)));
sql.add(')');
execsql;
end;
next;
end;
First;
EnableControls;
end;
with AdoPrint do
begin
close;
sql.Clear;
sql.Add('exec P_Get_BPRkpackList ');
sql.Add('@mainID=' + quotedstr(trim('')));
sql.Add(',@TblCprk=' + quotedstr(trim(TblCprk)));
sql.Add(',@flag=' + quotedstr(trim('1')));
open;
end;
with AdoPrint1 do
begin
close;
sql.Clear;
sql.Add('exec P_Get_BPRkpackList ');
sql.Add('@mainID=' + quotedstr(trim('')));
sql.Add(',@TblCprk=' + quotedstr(trim(TblCprk)));
sql.Add(',@flag=' + quotedstr(trim('10')));
open;
end;
try
filepath := ExtractFilePath(Application.ExeName) + 'report\<5C><><EFBFBD><EFBFBD><E2B5A5><EFBFBD><EFBFBD>.rmf';
if not FileExists(Pchar(filepath)) then
begin
application.MessageBox(pchar('<27>ļ<EFBFBD>[' + filepath + ']<5D><><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>'), '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_IConError);
exit;
end;
RMVariables['begdate'] := FormatDateTime('yyyy-MM-dd', BegDate.DateTime) + ' - ' + FormatDateTime('yyyy-MM-dd', enddate.DateTime);
RMVariables['dtxz'] := FormatDateTime('yyyy-mm-dd', date());
RMVariables['zdr'] := trim(DName);
RMVariables['Filler'] := trim(CDS_Main.fieldbyname('Filler').AsString);
RMGridReport1.LoadFromFile(filepath);
RMGridReport1.ShowReport;
finally
end;
DropTable();
end;
procedure TfrmBpRklist.TBExportClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid1);
end;
procedure TfrmBpRklist.ToolButton1Click(Sender: TObject);
var
filepath: string;
begin
if CDS_Main.IsEmpty then
exit;
with AdoPrint do
begin
close;
sql.Clear;
sql.Add('exec P_Do_PrintMd ');
sql.Add('@mainID=' + quotedstr(trim(CDS_Main.fieldbyname('CRNO').AsString)));
sql.Add(',@flag=' + quotedstr(trim('<27><EFBFBD><E3B6AB><EFBFBD><EFBFBD>')));
open;
end;
try
filepath := ExtractFilePath(Application.ExeName) + 'report\<5C>˻<EFBFBD><CBBB><EFBFBD><EBB5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.rmf';
if not FileExists(Pchar(filepath)) then
begin
application.MessageBox(pchar('<27>ļ<EFBFBD>[' + filepath + ']<5D><><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>'), '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_IConError);
exit;
end;
RMVariables['dtxz'] := FormatDateTime('yyyy-mm-dd', date());
RMVariables['zdr'] := trim(DName);
RMVariables['Filler'] := trim(CDS_Main.fieldbyname('Filler').AsString);
RMGridReport1.LoadFromFile(filepath);
RMGridReport1.ShowReport;
finally
end;
end;
procedure TfrmBpRklist.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
InitGrid();
end;
procedure TfrmBpRklist.tbcdelClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete from BP_InOut where CRNO=''' + Trim(CDS_Main.fieldbyname('CRNO').AsString) + ''' ');
sql.Add('delete from CK_SXPB_CRMX where CRNO=''' + Trim(CDS_Main.fieldbyname('CRNO').AsString) + ''' ');
execsql;
end;
TBRafresh.Click;
except
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmBpRklist.ToolButton2Click(Sender: TObject);
begin
if cds_main.IsEmpty = true then
begin
exit;
end;
// if CDS_Main.fieldbyname('ssel').value <> true then
// begin
// Application.MessageBox('û<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>ݲ<EFBFBD>׼ȷ!', '<27><>ʾ', 0);
// Exit;
// end;
frmCPCKMXLR := TfrmCPCKMXLR.create(self);
with frmCPCKMXLR do
begin
fkeyNo := self.cds_main.fieldbyname('CRNO').AsString;
fkeyNoS := self.cds_main.fieldbyname('CRNOS').AsString;
fkeyID := self.cds_main.fieldbyname('CRID').AsString;
FMXGangHao := self.cds_main.fieldbyname('Gangno').AsString;
Edit3.Text := self.cds_main.fieldbyname('qtyunit').AsString;
// Edit2.Text := self.cds_main.fieldbyname('FZSPID').AsString;
FCRTYPE := '<27><><EFBFBD><EFBFBD>';
fType := 0;
if showmodal = 1 then
begin
// self.InitGrid();
// self.CDS_Main.Locate('spid', fkeyNo, [])
end;
free;
end;
end;
procedure TfrmBpRklist.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
try
with ADOQuerySub do
begin
close;
sql.Clear;
sql.Add('select * from CK_SXPB_CRMX A ');
sql.Add(' right JOIN BP_InOut B on B.CRID=A.CRID and B.crno=A.crno');
sql.Add(' where A.CRNO=' + quotedstr(trim(CDS_Main.fieldbyname('CRNO').AsString)));
sql.Add(' and A.CRID=' + quotedstr(trim(CDS_Main.fieldbyname('CRID').AsString)));
SQL.Add(' and crzt=''<27><><EFBFBD><EFBFBD>''');
// SQL.Add('AND NOT EXISTS(SELECT MXID FROM CK_SXPB_CRMX C WHERE C.FZMXID=A.MXID)');
sql.Add(' order by MXID');
// ShowMessage(SQL.text);
open;
end;
SCreateCDS20(ADOQuerySub, CDS_Sub);
SInitCDSData20(ADOQuerySub, CDS_Sub);
finally
end;
end;
procedure TfrmBpRklist.ToolButton3Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
if CDS_Sub.IsEmpty then
Exit;
if CDS_Sub.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
CDS_Sub.DisableControls;
with CDS_Sub do
begin
First;
while not Eof do
begin
if CDS_Sub.FieldByName('SSel').AsBoolean = True then
begin
PrtData(CDS_Sub.FieldByName('MXID').AsString);
end;
Next;
end;
end;
CDS_Sub.EnableControls;
end;
procedure TfrmBpRklist.PrtData(FJYID: string);
var
fPrintFile: string;
Txt, fImagePath, Txt2, fImagePath2: string;
Moudle: THandle;
Makebar: TMakebar;
Mixtext: TMixtext;
begin
with ADOQueryPrint do
begin
Close;
SQL.Clear;
sql.Add(' EXEC P_Print_JYLab ');
SQL.Add(' @mjID=''' + Trim(FJYID) + '''');
Open;
end;
if ADOQueryPrint.IsEmpty then
begin
application.MessageBox('<27><>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>δ<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
try
Moudle := LoadLibrary('MakeQRBarcode.dll');
@Makebar := GetProcAddress(Moudle, 'Make');
@Mixtext := GetProcAddress(Moudle, 'MixText');
Txt := Trim(ADOQueryPrint.fieldbyname('MXID').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
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
CDS_Sub.EnableControls;
exit;
end;
ExportFtErpFile('<27><>ƥ<EFBFBD><C6A5>ǩ.rmf', ADOQueryTmp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><>ƥ<EFBFBD><C6A5>ǩ.rmf';
if FileExists(fPrintFile) then
begin
RMVariables['QRBARCODE'] := fImagePath;
RM1.LoadFromFile(fPrintFile);
RM1.PrintReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
exit;
end;
end;
procedure TfrmBpRklist.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Sub, True);
end;
procedure TfrmBpRklist.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Sub, False);
end;
procedure TfrmBpRklist.ToolButton4Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
// if CDS_Sub.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
PrtRKData(CDS_Main.FieldByName('CRNOS').AsString);
end;
Next;
end;
end;
CDS_Main.EnableControls;
end;
procedure TfrmBpRklist.PrtRKData(FJYID: string);
var
fPrintFile: string;
Txt, fImagePath, Txt2, fImagePath2: string;
Moudle: THandle;
Makebar: TMakebar;
Mixtext: TMixtext;
begin
with ADOQueryPrint do
begin
Close;
SQL.Clear;
sql.Add(' EXEC P_Print_BPrkLab ');
SQL.Add(' @CRNO=''' + Trim(FJYID) + '''');
Open;
end;
if ADOQueryPrint.IsEmpty then
begin
application.MessageBox('<27><>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>δ<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
try
Moudle := LoadLibrary('MakeQRBarcode.dll');
@Makebar := GetProcAddress(Moudle, 'Make');
@Mixtext := GetProcAddress(Moudle, 'MixText');
// Txt := Trim(ADOQueryPrint.fieldbyname('CRNO').AsString);
Txt := Trim(ADOQueryPrint.fieldbyname('CRNOS').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
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
CDS_Sub.EnableControls;
exit;
end;
ExportFtErpFile('<27><>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ.rmf', ADOQueryTmp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ.rmf';
if FileExists(fPrintFile) then
begin
RMVariables['QRBARCODE'] := fImagePath;
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
// RM1.PrintReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
exit;
end;
end;
end.