D7zzHanglin/坯布汇总仓库(ClothWarehouse.dll)/U_PBRklist.pas
DESKTOP-E401PHE\Administrator 4c4c37570c 0
2025-08-06 16:42:07 +08:00

400 lines
10 KiB
ObjectPascal
Raw 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_PBRklist;
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, cxContainer,
cxTextEdit, cxCurrencyEdit, cxCheckBox, RM_System, RM_Dataset, RM_Common,
RM_Class, RM_GridReport, cxPC, Menus;
type
TfrmPBRklist = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBAdd: TToolButton;
TBEdit: TToolButton;
TBDel: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
Label1: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1P_CodeName: TcxGridDBColumn;
v1Qty: TcxGridDBColumn;
v1QtyUnit: TcxGridDBColumn;
v1Note: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
v1CRType: TcxGridDBColumn;
v1CRTime: TcxGridDBColumn;
v1Filler: TcxGridDBColumn;
v1FillTime: TcxGridDBColumn;
Label2: TLabel;
Label3: TLabel;
CodeName: TEdit;
CRType: TComboBox;
Label5: TLabel;
ADOQueryCmd: TADOQuery;
ADOQueryTmp: TADOQuery;
DataSource1: TDataSource;
CDS_Main: TClientDataSet;
cxGridPopupMenu1: TcxGridPopupMenu;
ckName: TComboBox;
Label6: TLabel;
v1P_Code: TcxGridDBColumn;
v1INoutNo: TcxGridDBColumn;
Label7: TLabel;
CRNo: TEdit;
v1Price: TcxGridDBColumn;
v1money: TcxGridDBColumn;
gangNo: TEdit;
Label10: TLabel;
RMDB_Main: TRMDBDataSet;
v1Column4: TcxGridDBColumn;
ADOQueryPrint: TADOQuery;
RM1: TRMGridReport;
Code: TEdit;
Label15: TLabel;
v1Column10: TcxGridDBColumn;
Label17: TLabel;
fromFactoryName: TEdit;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
v1Column2: TcxGridDBColumn;
ADOQueryMain: TADOQuery;
v1Column1: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
ToolButton1: TToolButton;
v1Column8: TcxGridDBColumn;
Label4: TLabel;
kuwei: TEdit;
v1Column9: TcxGridDBColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure 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 TBExportClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
private
procedure InitGrid();
procedure SetStatus();
{ Private declarations }
public
fCKName, canshu1: string;
fCRType, FZZType: string;
{ Public declarations }
end;
//var
// frmPBRklist: TfrmPBRklist;
implementation
uses
U_DataLink, U_Fun10, U_ZDYHelp, U_PBRk, U_FjList_RZ;
{$R *.dfm}
procedure TfrmPBRklist.SetStatus();
begin
// TBEdit.Visible:=False;
// ToolButton1.Visible:=False;
// TBDel.Visible:=False;
// TBPrint2.Visible:=False;
// TBPrint1.Visible:=False;
// ToolButton2.Visible:=False;
// ToolButton3.Visible:=False;
// if Trim(DParameters2)='<27><>Ȩ<EFBFBD><C8A8>' then
// begin
// case cxTabControl1.TabIndex of
// 0:begin
// TBEdit.Visible:=true;
// ToolButton1.Visible:=true;
// TBDel.Visible:=true;
// ToolButton2.Visible:=true;
// TBPrint1.Visible:=true;
// end;
// 1:begin
// TBPrint2.Visible:=true;
// TBPrint1.Visible:=true;
// ToolButton3.Visible:=true;
// end;
// 2:begin
//
// end;
// end
// end
// else
// begin
// case cxTabControl1.TabIndex of
// 0:begin
// TBEdit.Visible:=true;
// ToolButton1.Visible:=true;
// TBDel.Visible:=true;
// TBPrint1.Visible:=true;
// end;
// 1:begin
// TBPrint2.Visible:=true;
// TBPrint1.Visible:=true;
// end;
// 2:begin
//
// end;
// end
// end;
end;
procedure TfrmPBRklist.InitGrid();
begin
try
with ADOQueryMain do
begin
close;
sql.Clear;
sql.Add('select A.* ');
sql.Add(',Case when isnull((select count(*) from TP_File where WBID=A.CRNO and TFType=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܸ<EFBFBD><DCB8><EFBFBD>'' ),0)>0 ');
sql.Add('then Cast(1 as bit) else Cast(0 as bit) end as FJFlag');
sql.Add(' from CK_PB_CR A ');
sql.Add('where A.CRTime>=''' + formatdateTime('yyyy-MM-dd', begdate.Date) + ''' ');
sql.Add('and A.CRTime<''' + formatdateTime('yyyy-MM-dd', enddate.Date + 1) + ''' ');
sql.Add('and A.CRFlag=''<27><><EFBFBD><EFBFBD>'' and A.Valid=''Y'' and CKName=''<27><><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>'' ');
if trim(FZZType) <> <><C8AB>' then
sql.Add(' and ZZType=' + quotedstr(trim(FZZType)));
if canshu1 = <><C2BC>' then
begin
Sql.Add(' and Filler=' + quotedstr(Trim(DName)));
end;
sql.Add('order by A.CRNO,A.Code ');
open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
TBFind.Click;
finally
end;
end;
procedure TfrmPBRklist.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := cafree;
end;
procedure TfrmPBRklist.FormDestroy(Sender: TObject);
begin
// frmPBRklist:=nil;
end;
procedure TfrmPBRklist.TBAddClick(Sender: TObject);
begin
frmPBRk := TfrmPBRk.create(self);
with frmPBRk do
begin
fkeyNo := '';
fType := 0;
fCRType := self.fCRType;
FZZType := self.FZZType;
if showmodal = 1 then
begin
TBRafresh.Click;
self.CDS_Main.Locate('crNo', trim(fkeyNo), []);
end;
free;
end;
end;
procedure TfrmPBRklist.CodeNameChange(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
end;
procedure TfrmPBRklist.FormShow(Sender: TObject);
var
fsj: string;
begin
readCxGrid(self.Caption, Tv1, '<27><><EFBFBD>ϲֿ<CFB2>1');
fsj := 'select distinct(CRType) name from CK_PB_CR where CRFlag=''<27><><EFBFBD><EFBFBD>'' ';
SInitComBoxBySql(ADOQueryCmd, CRType, False, fsj);
SetStatus();
// InitGrid();
end;
procedure TfrmPBRklist.FormCreate(Sender: TObject);
begin
EndDate.Date := SGetServerDate10(ADOQueryTmp);
BegDate.Date := EndDate.Date - 7;
cxGrid1.Align := alclient;
end;
procedure TfrmPBRklist.TBCloseClick(Sender: TObject);
begin
writeCxGrid(self.Caption, Tv1, '<27><><EFBFBD>ϲֿ<CFB2>1');
close;
end;
procedure TfrmPBRklist.TBEditClick(Sender: TObject);
begin
if cds_main.IsEmpty then
exit;
with ADOQueryTmp do
begin
Close;
sql.Clear;
sql.Add('select * from YF_Money_CR_Sub where YFPZNO=''' + Trim(CDS_Main.fieldbyname('CRID').AsString) + '''');
Open;
end;
if ADOQueryTmp.IsEmpty = False then
begin
Application.MessageBox('<27>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD>ɲ<EFBFBD><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2>ܲ<EFBFBD><DCB2><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
frmPBRk := TfrmPBRk.create(self);
with frmPBRk do
begin
fkeyNo := self.cds_main.fieldbyname('CRID').AsString;
fType := 1;
fckName := self.fckName;
fCRType := self.fCRType;
if showmodal = 1 then
begin
TBRafresh.Click;
self.CDS_Main.Locate('CRID', trim(fkeyNo), []);
end;
free;
end;
end;
procedure TfrmPBRklist.TBDelClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
with ADOQueryTmp do
begin
Close;
sql.Clear;
sql.Add('select * from YF_Money_CR_Sub where YFPZNO=''' + Trim(CDS_Main.fieldbyname('CRID').AsString) + '''');
Open;
end;
if ADOQueryTmp.IsEmpty = False then
begin
Application.MessageBox('<27>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD>ɲ<EFBFBD><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2>ܲ<EFBFBD><DCB2><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if Trim(CDS_Main.fieldbyname('Filler').AsString) <> Trim(DName) then
begin
Application.MessageBox('<27><><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
if Trim(CDS_Main.FieldByName('CRID').AsString) <> '' then
begin
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update CK_PB_CR set Valid=''N'' where CRID=' + quotedstr(Trim(CDS_Main.FieldByName('CRID').AsString)));
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('exec P_Up_PBKc ' + quotedstr(Trim(CDS_Main.FieldByName('CRID').AsString)));
Open;
end;
if Trim(ADOQueryCmd.FieldByName('Msg').AsString) = '<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>' then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_Main.Delete;
end;
except
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmPBRklist.TBRafreshClick(Sender: TObject);
begin
initGrid();
end;
procedure TfrmPBRklist.TBExportClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid1);
end;
procedure TfrmPBRklist.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
end;
procedure TfrmPBRklist.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmPBRklist.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmPBRklist.ToolButton1Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
try
frmFjList_RZ := TfrmFjList_RZ.Create(Application);
with frmFjList_RZ do
begin
fkeyNO := Trim(Self.CDS_Main.fieldbyname('CRNO').AsString);
fType := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܸ<EFBFBD><DCB8><EFBFBD>';
if ShowModal = 1 then
begin
end;
end;
finally
frmFjList_RZ.Free;
end;
end;
end.