D7YPbaoying/样品仓库/U_Bpckchklist.pas
DESKTOP-E401PHE\Administrator e505f1d7a5 ~
2025-04-30 16:02:03 +08:00

481 lines
12 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_Bpckchklist;
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_Common, RM_Class, RM_e_Xls, RM_GridReport, RM_System,
RM_Dataset, cxPC;
type
TfrmBpckchklist = 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;
Label3: TLabel;
Label4: TLabel;
P_CodeName: TEdit;
P_Code: 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;
ADOPrint: TADOQuery;
RMDB_MD: TRMDBDataSet;
RMGridReport1: TRMGridReport;
RMXLSExport1: TRMXLSExport;
v1P_Code: TcxGridDBColumn;
v1inoutNO: TcxGridDBColumn;
TBsmADD: TToolButton;
ywy: TEdit;
Label7: TLabel;
v1custName: TcxGridDBColumn;
TbPrint1: TToolButton;
v1Column1: TcxGridDBColumn;
kuwei: TEdit;
Label8: TLabel;
v1Column3: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1defnote5: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
cxTabControl1: TcxTabControl;
v1Column6: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
P_Color: TEdit;
Label9: TLabel;
Tchk: TToolButton;
Tnochk: TToolButton;
custName: TEdit;
Label2: TLabel;
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 TBsmADDClick(Sender: TObject);
procedure TbPrint1Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure TchkClick(Sender: TObject);
procedure TnochkClick(Sender: TObject);
private
procedure InitGrid();
procedure SetComboBox();
procedure SetStatus();
{ Private declarations }
public
fCKName:string;
canshu1:string;
{ Public declarations }
end;
var
frmBpckchklist: TfrmBpckchklist;
implementation
uses
U_DataLink,U_Fun10,U_ZDYHelp, U_BpCk, U_BpSmCk;
{$R *.dfm}
procedure TfrmBpckchklist.SetStatus();
begin
TBedit.Visible:=false;
Tbdel.Visible:=false;
TBAdd.Visible:=true;
Tchk.Visible:=false;
Tnochk.Visible:=false;
case cxTabControl1.TabIndex of
0:begin
TBedit.Visible:=true;
Tbdel.Visible:=true;
Tchk.Visible:=true;
end;
1:begin
Tnochk.Visible:=true;
end;
end;
end;
procedure TfrmBpckchklist.SetComboBox();
begin
ckName.Items.Clear;
with adoQueryTmp do
begin
close;
sql.Clear;
sql.Add('select * from KH_ZDY where Type=''YPCK'' ');
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=''YPCKTYPE''');
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;
end;
procedure TfrmBpckchklist.InitGrid();
begin
try
with adoqueryTmp do
begin
close;
sql.Clear;
sql.Add('select A.*,B.CYMF,B.CYKZ,B.defnote5 from YP_InOut A');
sql.Add('left join CP_YDang B on B.CYNO=A.P_Code');
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>'' ');
sql.Add('and valid=''Y'' ');
if trim(FckName)<>'' then
sql.Add('and ckName='+quotedstr(trim(FckName)) );
if trim(canshu1)=<><D2B5>Ա' then
sql.Add('and A.Filler='+quotedstr(trim(DName)) );
if cxTabControl1.TabIndex<2 then
sql.Add('and A.status='''+inttostr(cxTabControl1.TabIndex)+''' ');
open;
end;
SCreateCDS20(adoqueryTmp,CDS_Main);
SInitCDSData20(adoqueryTmp,CDS_Main);
finally
end;
end;
procedure TfrmBpckchklist.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
writeCxGrid(self.Caption,Tv1,'<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
Action:=cafree;
end;
procedure TfrmBpckchklist.FormDestroy(Sender: TObject);
begin
frmBpckchklist:=nil;
end;
procedure TfrmBpckchklist.TBAddClick(Sender: TObject);
begin
frmbpck:=Tfrmbpck.create(self);
with frmbpck do
begin
fkeyNo:='';
fType:=0;
fckName:=self.fckName;
IF trim(self.canshu1)=<><D2B5>Ա'then
begin
ywy.text:=trim(Dname);
ywy.Enabled:=false;
end;
if showmodal=1 then
begin
TBRafresh.Click;
self.CDS_Main.Locate('crNo',trim(fkeyNo),[]) ;
end;
free;
end;
end;
procedure TfrmBpckchklist.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);
end;
procedure TfrmBpckchklist.FormShow(Sender: TObject);
begin
readCxGrid(self.Caption,Tv1,'<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
SetComboBox();
SetStatus();
InitGrid();
end;
procedure TfrmBpckchklist.FormCreate(Sender: TObject);
begin
BegDate.Date:=DServerDate-7;
EndDate.Date:=DServerDate;
cxGrid1.Align:=alclient;
end;
procedure TfrmBpckchklist.TBCloseClick(Sender: TObject);
begin
close;
end;
procedure TfrmBpckchklist.TBEditClick(Sender: TObject);
begin
if cds_main.IsEmpty then exit;
{ with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from BP_InOut A');
SQL.Add('where A.kcid='''+Trim(CDS_Main.fieldbyname('kcid').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; }
frmbpck:=Tfrmbpck.create(self);
with frmbpck 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 TfrmBpckchklist.TBDelClick(Sender: TObject);
var
YFID,CRID:string;
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('update YP_InOut SET valid=''N'' ');
sql.Add(',editer='+quotedstr(trim(DName)));
sql.Add(',edittime=getdate()');
SQL.Add('where CRNO='''+Trim(CDS_Main.fieldbyname('CRNO').AsString)+''' ');
sql.Add('delete from YF_money_CR ');
SQL.Add('where mainID='''+Trim(CDS_Main.fieldbyname('CRNO').AsString)+''' ');
SQL.Add('and subID='''+Trim(CDS_Main.fieldbyname('CRID').AsString)+''' ');
execsql;
end;
TBRafresh.Click;
except
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
end;
end;
procedure TfrmBpckchklist.TBRafreshClick(Sender: TObject);
begin
initGrid();
end;
procedure TfrmBpckchklist.TBPrintClick(Sender: TObject);
var
filepath:string;
begin
if CDS_Main.IsEmpty then exit;
with AdoPrint do
begin
close;
sql.Clear;
sql.Add('exec P_Print_cpCkMd ');
sql.Add('@inoutNo='+quotedstr(trim(CDS_Main.fieldbyname('inoutNO').AsString)));
sql.Add(',@flag='+quotedstr(trim('')));
open;
end;
try
filepath:=ExtractFilePath(Application.ExeName) + 'report\<5C><><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 TfrmBpckchklist.TBExportClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
TcxGridToExcel(self.Caption,cxgrid1);
end;
procedure TfrmBpckchklist.TBsmADDClick(Sender: TObject);
begin
frmbpsmck:=Tfrmbpsmck.create(self);
with frmbpsmck do
begin
fkeyNo:='';
fType:=0;
fckName:=self.fckName;
if showmodal=1 then
begin
TBRafresh.Click;
// self.CDS_Main.Locate('crNo',trim(fkeyNo),[]) ;
end;
TBRafresh.Click;
free;
end;
end;
procedure TfrmBpckchklist.TbPrint1Click(Sender: TObject);
var
filepath:string;
begin
if CDS_Main.IsEmpty then exit;
with AdoPrint do
begin
close;
sql.Clear;
sql.Add('select inoutNo,custName,TocustName,P_Code,P_CodeName,P_Spec,sum(RollNum) as RollNum,sum(Qty) as Qty from CP_INout A ');
sql.Add('where A.inoutNo='+quotedstr(trim(CDS_Main.fieldbyname('inoutNO').AsString)));
sql.Add('group by inoutNo,custName,TocustName,P_Code,P_CodeName,P_Spec ');
sql.Add('order by inoutNo,custName,TocustName,P_Code ');
open;
end;
try
filepath:=ExtractFilePath(Application.ExeName) + 'report\<5C><><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 TfrmBpckchklist.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
initGrid();
end;
procedure TfrmBpckchklist.TchkClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then exit;
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update YP_InOut SET status=''1'' ');
sql.Add('where CRNO='+quotedstr(trim(CDS_Main.fieldbyname('CRNO').AsString)));
execsql;
end;
application.MessageBox('<27><><EFBFBD>˳ɹ<CBB3><C9B9><EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ');
TBRafresh.Click;
except
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
end;
end;
procedure TfrmBpckchklist.TnochkClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then exit;
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update YP_InOut SET status=''0'' ');
sql.Add('where CRNO='+quotedstr(trim(CDS_Main.fieldbyname('CRNO').AsString)));
execsql;
end;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳ɹ<CBB3><C9B9><EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ');
TBRafresh.Click;
except
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
end;
end;
end.