D7myYunxiang/发货申请(DeliveryApplication.dll)/U_GYSListPBSel.pas

304 lines
8.3 KiB
ObjectPascal
Raw Permalink Normal View History

2025-01-20 13:04:03 +08:00
unit U_GYSListPBSel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls,
cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, cxCalendar, cxButtonEdit,
cxTextEdit, cxPC, cxDropDownEdit, Menus, BtnEdit;
type
TfrmGYSListPB = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ToolButton2: TToolButton;
ADOQueryMain: TADOQuery;
zjm: TEdit;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
Label5: TLabel;
KHNameJC: TEdit;
DS_HZ3: TDataSource;
CDS_HZ3: TClientDataSet;
cxGridPopupMenu4: TcxGridPopupMenu;
Label2: TLabel;
Label4: TLabel;
SHStatus: TComboBox;
Label1: TLabel;
KHJYFanWei: TEdit;
Label3: TLabel;
cxGrid1: TcxGrid;
TV1: TcxGridDBTableView;
V1Column4: TcxGridDBColumn;
V1Column1: TcxGridDBColumn;
cxGYSName: TcxGridDBColumn;
cxGridDBGYSNameZC: TcxGridDBColumn;
B1GYSFZRen: TcxGridDBColumn;
cxGridDBGYSTel: TcxGridDBColumn;
V1SHStatus: TcxGridDBColumn;
V1FZR: TcxGridDBColumn;
V1GYSCodeFW: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
PopupMenu1: TPopupMenu;
MainEdit: TMenuItem;
MainView: TMenuItem;
TBFJUp1: TPopupMenu;
BankEdit: TMenuItem;
BankDel: TMenuItem;
BankView: TMenuItem;
cxGrid3: TcxGrid;
TV3: TcxGridDBTableView;
V3Column2: TcxGridDBColumn;
V3BankName: TcxGridDBColumn;
V3BankNo: TcxGridDBColumn;
V3Column3: TcxGridDBColumn;
cxGridLevel3: TcxGridLevel;
V1KHType: TcxGridDBColumn;
LabKHType: TLabel;
KHType: TBtnEditC;
TBAddBank: TMenuItem;
FZR: TComboBox;
V3Column1: TcxGridDBColumn;
V1Column2: TcxGridDBColumn;
Label6: TLabel;
KHQuYu: TEdit;
TBFJUp: TMenuItem;
TBFJView: TMenuItem;
V1Column3: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure zjmChange(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure TV1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure BankDelClick(Sender: TObject);
procedure TV3DblClick(Sender: TObject);
procedure KHTypeBtnDnClick(Sender: TObject);
procedure V1SHStatusCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
private
{ Private declarations }
ColorInt: Integer;
procedure InitGrid();
procedure setstatus();
procedure InitGridBankMain();
procedure InitGridBankMainID(FID: string);
public
canshu1, canshu2, FGYSType, XZKHTYpe: string;
end;
//var
//frmGYSListPB: TfrmGYSListPB;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp;
{$R *.dfm}
procedure TfrmGYSListPB.setstatus();
begin
end;
procedure TfrmGYSListPB.InitGrid();
begin
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add(' select *,zjm=dbo.getpinyin(KHName) ');
sql.add(',SHStatus=(case when isnull(status,''0'')=''0'' then '<><CEB4><EFBFBD><EFBFBD>'' else ''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' end)');
sql.Add(',SDQty=(select Count(*) from TP_File TF where TF.WBID=A.KHMainId and TF.TFType=''<27><>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' )');
sql.Add(' from KH_Main A ');
sql.add(' where isnull(KHFlag,'''')=''' + Trim(canshu2) + ''' and isnull(Valid,'''')=''Y'' ');
if Trim(canshu1) = <><C2BC>' then
begin
sql.Add(' and exists(select * from KH_Owner B where B.KHMainId=A.KHMainId and B.UserName=''' + Trim(DName) + ''')');
end;
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_HZ);
SInitCDSData20(ADOQueryMain, CDS_HZ);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from KH_Sub_Bank where KHMainid=''' + Trim(CDS_HZ.fieldbyname('KHMainid').asstring) + ''' and isnull(Valid,'''')=''Y''');
Open;
end;
SCreateCDS20(ADOQueryTemp, CDS_HZ3);
SInitCDSData20(ADOQueryTemp, CDS_HZ3);
end;
procedure TfrmGYSListPB.FormDestroy(Sender: TObject);
begin
//frmGYSListPB:=nil;
end;
procedure TfrmGYSListPB.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmGYSListPB.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('PBGYS11YX', Tv1, '<27><>Ӧ<EFBFBD>̹<EFBFBD><CCB9><EFBFBD>');
WriteCxGrid('PBGYS31YX', Tv3, '<27><>Ӧ<EFBFBD>̹<EFBFBD><CCB9><EFBFBD>');
Close;
end;
procedure TfrmGYSListPB.FormShow(Sender: TObject);
var
fsj: string;
begin
fsj := 'select Name=UserName from KH_Owner A inner join KH_Main B on A.KHMainId=B.KHMainId and B.KHFlag=''GYS''' + ' and A.Valid=''Y'' and B.Valid=''Y'' and A.USERID<>''ADMIN'' Group by A.UserName ';
SInitComBoxBySql(ADOQueryTemp, FZR, False, fsj);
ReadCxGrid('PBGYS11YX', Tv1, '<27><>Ӧ<EFBFBD>̹<EFBFBD><CCB9><EFBFBD>');
ReadCxGrid('PBGYS31YX', Tv3, '<27><>Ӧ<EFBFBD>̹<EFBFBD><CCB9><EFBFBD>');
setstatus();
InitGrid();
end;
procedure TfrmGYSListPB.TBRafreshClick(Sender: TObject);
begin
ToolBar1.SetFocus;
InitGrid();
end;
procedure TfrmGYSListPB.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_HZ);
SInitCDSData20(ADOQueryMain, CDS_HZ);
end;
end;
procedure TfrmGYSListPB.zjmChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmGYSListPB.cxTabControl1Change(Sender: TObject);
begin
setstatus();
InitGrid();
end;
procedure TfrmGYSListPB.TV1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
InitGridBankMain();
end;
procedure TfrmGYSListPB.InitGridBankMain();
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from KH_Sub_Bank where KHMainid=''' + Trim(CDS_HZ.fieldbyname('KHMainid').asstring) + '''');
if CDS_HZ.IsEmpty then
begin
sql.Add(' and 1=2');
end
else
begin
sql.Add(' and valid=''Y'' ');
end;
sql.Add(' order by XH');
Open;
end;
SCreateCDS20(ADOQueryTemp, CDS_HZ3);
SInitCDSData20(ADOQueryTemp, CDS_HZ3);
end;
procedure TfrmGYSListPB.InitGridBankMainID(FID: string);
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from KH_Sub_Bank where KHMainid=''' + Trim(FID) + '''');
if CDS_HZ.IsEmpty then
begin
sql.Add(' and 1=2');
end
else
begin
sql.Add(' and valid=''Y'' ');
end;
sql.Add(' order by XH');
Open;
end;
SCreateCDS20(ADOQueryTemp, CDS_HZ3);
SInitCDSData20(ADOQueryTemp, CDS_HZ3);
end;
procedure TfrmGYSListPB.BankDelClick(Sender: TObject);
begin
if CDS_HZ3.IsEmpty then
exit;
if Trim(canshu1) <> '<27><>Ȩ<EFBFBD><C8A8>' then
begin
if Trim(CDS_HZ3.fieldbyname('FillerCode').AsString) <> Trim(DCode) then
begin
Application.MessageBox('<27><><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<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;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update KH_Sub_Bank Set Valid=''N'',DelTime=getdate(),Deler=''' + Trim(DName) + ''',DelerCode=''' + Trim(DCode) + '''');
sql.add('where BKID=''' + Trim(CDS_HZ3.fieldbyname('BKID').AsString) + '''');
ExecSQL;
end;
CDS_HZ3.Delete;
end;
procedure TfrmGYSListPB.TV3DblClick(Sender: TObject);
begin
BankView.Click;
end;
procedure TfrmGYSListPB.KHTypeBtnDnClick(Sender: TObject);
begin
KHType.Text := '';
KHType.TxtCode := '';
ToolButton2.Click;
end;
procedure TfrmGYSListPB.V1SHStatusCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
id: Integer;
begin
id := TV1.GetColumnByFieldName('SHStatus').Index;
if AViewInfo.GridRecord.Values[id] = <><CEB4><EFBFBD><EFBFBD>' then
begin
ACanvas.Font.Color := clRed;
end;
end;
end.