2025-01-20 13:04:03 +08:00
|
|
|
|
unit U_PBCGRKList_RCDJ;
|
|
|
|
|
|
|
|
|
|
|
|
interface
|
|
|
|
|
|
|
|
|
|
|
|
uses
|
|
|
|
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
|
|
|
|
Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData,
|
|
|
|
|
|
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB,
|
2025-05-09 16:21:19 +08:00
|
|
|
|
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls,
|
|
|
|
|
|
cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
|
|
|
|
|
|
cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, RM_Dataset, RM_System,
|
|
|
|
|
|
RM_Common, RM_Class, RM_GridReport, RM_e_Xls, Menus, cxButtonEdit,
|
|
|
|
|
|
cxDropDownEdit, cxPC, Buttons, cxTextEdit, cxLookAndFeels,
|
2025-07-19 16:54:23 +08:00
|
|
|
|
cxLookAndFeelPainters, cxNavigator, dxSkinsCore,
|
|
|
|
|
|
dxSkinDarkRoom,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dxSkinOffice2013White,
|
|
|
|
|
|
dxSkinSharpPlus, dxSkinSpringTime,
|
|
|
|
|
|
dxSkinsDefaultPainters,
|
|
|
|
|
|
|
2025-05-09 16:21:19 +08:00
|
|
|
|
dxSkinscxPCPainter;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
|
|
|
|
|
|
type
|
|
|
|
|
|
TfrmPBCGRKList_RCDJ = class(TForm)
|
|
|
|
|
|
ToolBar1: TToolBar;
|
|
|
|
|
|
TBRafresh: TToolButton;
|
|
|
|
|
|
TBFind: TToolButton;
|
|
|
|
|
|
TBAdd: TToolButton;
|
|
|
|
|
|
TBClose: TToolButton;
|
|
|
|
|
|
Tv1: TcxGridDBTableView;
|
|
|
|
|
|
cxGrid1Level1: TcxGridLevel;
|
|
|
|
|
|
cxGrid1: TcxGrid;
|
|
|
|
|
|
cxGridPopupMenu1: TcxGridPopupMenu;
|
|
|
|
|
|
ADOQueryCmd: TADOQuery;
|
|
|
|
|
|
ADOQueryMain: TADOQuery;
|
|
|
|
|
|
ADOQueryTemp: TADOQuery;
|
|
|
|
|
|
DataSource1: TDataSource;
|
|
|
|
|
|
TBExport: TToolButton;
|
|
|
|
|
|
Order_Main: TClientDataSet;
|
|
|
|
|
|
ToolButton1: TToolButton;
|
|
|
|
|
|
Panel1: TPanel;
|
|
|
|
|
|
v1Column1: TcxGridDBColumn;
|
|
|
|
|
|
Label34: TLabel;
|
|
|
|
|
|
v1Column7: TcxGridDBColumn;
|
|
|
|
|
|
v1Column9: TcxGridDBColumn;
|
|
|
|
|
|
KHNameHZ: TEdit;
|
|
|
|
|
|
BegDate: TDateTimePicker;
|
|
|
|
|
|
EndDate: TDateTimePicker;
|
|
|
|
|
|
RM1: TRMGridReport;
|
|
|
|
|
|
RMDBMain: TRMDBDataSet;
|
|
|
|
|
|
RMXLSExport2: TRMXLSExport;
|
|
|
|
|
|
CDS_PRT: TClientDataSet;
|
|
|
|
|
|
v1Column17: TcxGridDBColumn;
|
|
|
|
|
|
v1Column5: TcxGridDBColumn;
|
|
|
|
|
|
Label2: TLabel;
|
|
|
|
|
|
MYName: TEdit;
|
|
|
|
|
|
v1Column3: TcxGridDBColumn;
|
|
|
|
|
|
v1Column2: TcxGridDBColumn;
|
|
|
|
|
|
Label1: TLabel;
|
|
|
|
|
|
Note: TEdit;
|
|
|
|
|
|
labMYType: TLabel;
|
|
|
|
|
|
Panel2: TPanel;
|
|
|
|
|
|
SpeedButton1: TSpeedButton;
|
|
|
|
|
|
PopupMenu1: TPopupMenu;
|
|
|
|
|
|
N1: TMenuItem;
|
|
|
|
|
|
N2: TMenuItem;
|
|
|
|
|
|
CheckBox1: TCheckBox;
|
|
|
|
|
|
v1MYMDPrice: TcxGridDBColumn;
|
|
|
|
|
|
v1MYMDMoney: TcxGridDBColumn;
|
|
|
|
|
|
v1JCDanWeiJC: TcxGridDBColumn;
|
|
|
|
|
|
Label3: TLabel;
|
|
|
|
|
|
JCDanWeiJC: TEdit;
|
|
|
|
|
|
v1filler: TcxGridDBColumn;
|
|
|
|
|
|
Label4: TLabel;
|
|
|
|
|
|
filler: TEdit;
|
|
|
|
|
|
ToolButton2: TToolButton;
|
|
|
|
|
|
ClientDataSet1: TClientDataSet;
|
|
|
|
|
|
SpeedButton2: TSpeedButton;
|
|
|
|
|
|
SpeedButton3: TSpeedButton;
|
|
|
|
|
|
SpeedButton4: TSpeedButton;
|
|
|
|
|
|
SpeedButton5: TSpeedButton;
|
|
|
|
|
|
SpeedButton6: TSpeedButton;
|
|
|
|
|
|
SpeedButton7: TSpeedButton;
|
|
|
|
|
|
SpeedButton8: TSpeedButton;
|
|
|
|
|
|
SpeedButton9: TSpeedButton;
|
|
|
|
|
|
SpeedButton10: TSpeedButton;
|
|
|
|
|
|
SpeedButton11: TSpeedButton;
|
|
|
|
|
|
SpeedButton12: TSpeedButton;
|
|
|
|
|
|
SpeedButton13: TSpeedButton;
|
|
|
|
|
|
SpeedButton14: TSpeedButton;
|
|
|
|
|
|
SpeedButton15: TSpeedButton;
|
|
|
|
|
|
Image2: TImage;
|
|
|
|
|
|
v1Column4: TcxGridDBColumn;
|
|
|
|
|
|
v1Column6: TcxGridDBColumn;
|
|
|
|
|
|
v1Column8: TcxGridDBColumn;
|
|
|
|
|
|
v1Column10: TcxGridDBColumn;
|
|
|
|
|
|
Label5: TLabel;
|
|
|
|
|
|
MYTypeFlag: TComboBox;
|
|
|
|
|
|
v1Column11: TcxGridDBColumn;
|
|
|
|
|
|
v1Column12: TcxGridDBColumn;
|
|
|
|
|
|
Label6: TLabel;
|
|
|
|
|
|
MLOrderNo: TEdit;
|
|
|
|
|
|
Label7: TLabel;
|
|
|
|
|
|
KHNameHZZ: TEdit;
|
|
|
|
|
|
v1Column13: TcxGridDBColumn;
|
|
|
|
|
|
Tv1Column1: TcxGridDBColumn;
|
|
|
|
|
|
Label8: TLabel;
|
|
|
|
|
|
PBBatchNo: TEdit;
|
|
|
|
|
|
Tv1Column2: TcxGridDBColumn;
|
|
|
|
|
|
Tv1Column3: TcxGridDBColumn;
|
|
|
|
|
|
Tv1Column4: TcxGridDBColumn;
|
|
|
|
|
|
Tv1Column5: TcxGridDBColumn;
|
|
|
|
|
|
Label9: TLabel;
|
|
|
|
|
|
MYColor: TEdit;
|
|
|
|
|
|
Tv1Column6: TcxGridDBColumn;
|
2025-05-09 16:21:19 +08:00
|
|
|
|
Tv1Column7: TcxGridDBColumn;
|
|
|
|
|
|
Tv1Column8: TcxGridDBColumn;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
procedure FormDestroy(Sender: TObject);
|
|
|
|
|
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|
|
|
|
|
procedure FormCreate(Sender: TObject);
|
|
|
|
|
|
procedure TBCloseClick(Sender: TObject);
|
|
|
|
|
|
procedure TBFindClick(Sender: TObject);
|
|
|
|
|
|
procedure TBExportClick(Sender: TObject);
|
|
|
|
|
|
procedure TBRafreshClick(Sender: TObject);
|
|
|
|
|
|
procedure TBAddClick(Sender: TObject);
|
|
|
|
|
|
procedure FormShow(Sender: TObject);
|
|
|
|
|
|
procedure CheckBox1Click(Sender: TObject);
|
|
|
|
|
|
procedure CheckBox2Click(Sender: TObject);
|
|
|
|
|
|
procedure ToolButton1Click(Sender: TObject);
|
|
|
|
|
|
procedure CustomerNoNameChange(Sender: TObject);
|
|
|
|
|
|
procedure N2Click(Sender: TObject);
|
|
|
|
|
|
procedure N1Click(Sender: TObject);
|
|
|
|
|
|
procedure cxTabControl1Change(Sender: TObject);
|
|
|
|
|
|
procedure ZJStatusChange(Sender: TObject);
|
|
|
|
|
|
procedure Tv1DblClick(Sender: TObject);
|
|
|
|
|
|
procedure Image2Click(Sender: TObject);
|
|
|
|
|
|
procedure SpeedButton1Click(Sender: TObject);
|
|
|
|
|
|
procedure ToolButton2Click(Sender: TObject);
|
2025-05-09 16:21:19 +08:00
|
|
|
|
procedure v1Column1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
|
|
|
|
|
|
procedure v1Column17CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
|
|
|
|
|
|
procedure v1Column3CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
|
2025-01-20 13:04:03 +08:00
|
|
|
|
private
|
2025-05-09 16:21:19 +08:00
|
|
|
|
FGXName: string;
|
|
|
|
|
|
DQdate: TDateTime;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
procedure InitGrid();
|
|
|
|
|
|
procedure InitForm();
|
2025-05-09 16:21:19 +08:00
|
|
|
|
function DelData(): Boolean;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
procedure initGX();
|
|
|
|
|
|
{ Private declarations }
|
|
|
|
|
|
public
|
2025-05-09 16:21:19 +08:00
|
|
|
|
FFInt, FCloth: Integer;
|
|
|
|
|
|
canshu1: string;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
|
|
|
|
|
|
{ Public declarations }
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
//var
|
|
|
|
|
|
//frmPBCGRKList_RCDJ: TfrmPBCGRKList_RCDJ;
|
|
|
|
|
|
|
|
|
|
|
|
implementation
|
2025-05-09 16:21:19 +08:00
|
|
|
|
|
2025-01-20 13:04:03 +08:00
|
|
|
|
uses
|
2025-05-09 16:21:19 +08:00
|
|
|
|
U_DataLink, U_RTFun, U_ZDYHelp, U_LLRKInPutMH_RCCG;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
|
|
|
|
|
|
{$R *.dfm}
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.FormDestroy(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
//frmPBCGRKList_RCDJ:=nil;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2025-05-09 16:21:19 +08:00
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.FormClose(Sender: TObject; var Action: TCloseAction);
|
2025-01-20 13:04:03 +08:00
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
Action := caFree;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.FormCreate(Sender: TObject);
|
|
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
cxgrid1.Align := alClient;
|
|
|
|
|
|
canshu1 := Trim(DParameters1);
|
2025-01-20 13:04:03 +08:00
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.TBCloseClick(Sender: TObject);
|
|
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
WriteCxGrid('<27>ӹ<EFBFBD><D3B9>뵥', Tv1, 'ó<><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
2025-01-20 13:04:03 +08:00
|
|
|
|
Close;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.InitGrid();
|
|
|
|
|
|
begin
|
|
|
|
|
|
try
|
|
|
|
|
|
ADOQueryMain.DisableControls;
|
|
|
|
|
|
with ADOQueryMain do
|
|
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
Filtered := False;
|
|
|
|
|
|
Close;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
sql.Clear;
|
|
|
|
|
|
sql.Add('select AA.* ');
|
|
|
|
|
|
sql.Add(',KHNameHZ=dbo.getpinyin(isnull(AA.KHNameJC,''''))+AA.GYSNo+isnull(AA.KHNameJC,'''')');
|
|
|
|
|
|
sql.Add('from(');
|
|
|
|
|
|
sql.Add(' select A.* ');
|
|
|
|
|
|
sql.Add(',KHNameJC=(select Top 1 B.KHNameJC from KH_Main B ');
|
|
|
|
|
|
sql.Add(' where isnull(B.KHFlag,'''')=''GYS'' and isnull(B.Valid,'''')=''Y'' and B.KHNO=A.GYSNo)');
|
|
|
|
|
|
sql.Add(',KHNameJCDH=(select Top 1 B.KHNameJC from KH_Main B ');
|
|
|
|
|
|
sql.Add(' where isnull(B.KHFlag,'''')=''GYS'' and isnull(B.Valid,'''')=''Y'' and B.KHNO=A.ToGYSNo)');
|
|
|
|
|
|
sql.Add(',KHNameHZZ=dbo.getpinyin(isnull(KM.KHNameJC,''''))+B.KHNO+isnull(KM.KHNameJC,'''')');
|
|
|
|
|
|
sql.Add(',KHNameJCZ=KM.KHNameJC,B.MLOrderNo,KHNOKH=B.KHNO');
|
|
|
|
|
|
// sql.Add(',PS1=(select count(MXID) from CK_MYSC_CR_MX D where D.MYID=A.MYID )');
|
2025-05-09 16:21:19 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sql.Add(',FHQty=(select X.FHQty from FHSQ_Sub X where X.FSId=A.scdsubid)');
|
|
|
|
|
|
// sql.Add(',FHPS=(select X.FHPS from FHSQ_Sub X where X.FSId=A.scdsubid)');
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-01-20 13:04:03 +08:00
|
|
|
|
sql.Add(' from CK_MYSC_CR A ');
|
|
|
|
|
|
sql.Add(' left join ML_OrderMainNew B on A.MainId=B.NewMLID');
|
|
|
|
|
|
sql.Add(' left join KH_Main KM on KM.KHNO=B.KHNO ');
|
|
|
|
|
|
sql.Add(' where 1=1 ');
|
2025-05-09 16:21:19 +08:00
|
|
|
|
if CheckBox1.Checked = False then
|
2025-01-20 13:04:03 +08:00
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
sql.Add(' and A.CRTime>=''' + Trim(FormatDateTime('yyyy-MM', now) + '-01') + '''');
|
|
|
|
|
|
sql.Add(' and A.CRTime<''' + Trim(FormatDateTime('yyyy-MM-dd', now + 1)) + '''');
|
|
|
|
|
|
BegDate.Visible := false;
|
|
|
|
|
|
EndDate.Visible := false;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
end
|
|
|
|
|
|
else
|
|
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
sql.Add(' and A.CRTime>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)) + '''');
|
|
|
|
|
|
sql.Add(' and A.CRTime<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.Date + 1)) + '''');
|
|
|
|
|
|
BegDate.Visible := true;
|
|
|
|
|
|
EndDate.Visible := true;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
end;
|
|
|
|
|
|
sql.Add(' and isnull(CRType,'''')=''<27>ӹ<EFBFBD><D3B9>뵥'' ');
|
2025-05-09 16:21:19 +08:00
|
|
|
|
if canshu1 <> '<27><>Ȩ<EFBFBD><C8A8>' then
|
2025-01-20 13:04:03 +08:00
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
sql.add(' and A.filler=''' + trim(DName) + '''');
|
2025-01-20 13:04:03 +08:00
|
|
|
|
end;
|
|
|
|
|
|
sql.Add(')AA');
|
|
|
|
|
|
Open;
|
|
|
|
|
|
end;
|
2025-05-09 16:21:19 +08:00
|
|
|
|
SCreateCDS20(ADOQueryMain, Order_Main);
|
|
|
|
|
|
SInitCDSData20(ADOQueryMain, Order_Main);
|
2025-01-20 13:04:03 +08:00
|
|
|
|
finally
|
|
|
|
|
|
ADOQueryMain.EnableControls;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.InitForm();
|
|
|
|
|
|
var
|
2025-05-09 16:21:19 +08:00
|
|
|
|
fsj: string;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
BegDate.Date := StrToDate(formatdatetime('yyyy-MM', SGetServerDate(ADOQueryTemp)) + '-01');
|
|
|
|
|
|
EndDate.Date := SGetServerDate(ADOQueryTemp);
|
|
|
|
|
|
ReadCxGrid('<27>ӹ<EFBFBD><D3B9>뵥', Tv1, 'ó<><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
|
|
|
|
|
fsj := 'select Name=ZDYName,Code=Null from KH_Zdy where Type=''JGGongXu'' ';
|
|
|
|
|
|
SInitComBoxBySql(ADOQueryTemp, MYTypeFlag, False, fsj);
|
2025-01-20 13:04:03 +08:00
|
|
|
|
InitGrid();
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.TBFindClick(Sender: TObject);
|
|
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
if ADOQueryMain.Active = False then
|
|
|
|
|
|
Exit;
|
|
|
|
|
|
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
|
|
|
|
|
|
SCreateCDS20(ADOQueryMain, Order_Main);
|
|
|
|
|
|
SInitCDSData20(ADOQueryMain, Order_Main);
|
2025-01-20 13:04:03 +08:00
|
|
|
|
end;
|
|
|
|
|
|
|
2025-05-09 16:21:19 +08:00
|
|
|
|
function TfrmPBCGRKList_RCDJ.DelData(): Boolean;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
begin
|
|
|
|
|
|
try
|
2025-05-09 16:21:19 +08:00
|
|
|
|
Result := false;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
ADOQueryCmd.Connection.BeginTrans;
|
|
|
|
|
|
Order_Main.DisableControls;
|
|
|
|
|
|
with Order_Main do
|
|
|
|
|
|
begin
|
|
|
|
|
|
//First;
|
|
|
|
|
|
// while Order_Main.Locate('SSel',True,[]) do
|
|
|
|
|
|
begin
|
|
|
|
|
|
with ADOQueryCmd do
|
|
|
|
|
|
begin
|
|
|
|
|
|
Close;
|
|
|
|
|
|
sql.Clear;
|
2025-05-09 16:21:19 +08:00
|
|
|
|
sql.Add(' delete YS_Money_CR where YFTypeId=''' + Trim(Order_Main.fieldbyname('MYID').AsString) + '''');
|
2025-01-20 13:04:03 +08:00
|
|
|
|
sql.Add(' insert into CK_MYSC_CR_Log ');
|
2025-05-09 16:21:19 +08:00
|
|
|
|
sql.Add(' select * from CK_MYSC_CR where MYID=''' + Trim(Order_Main.fieldbyname('MYID').AsString) + '''');
|
|
|
|
|
|
sql.Add(' UPdate CK_MYSC_CR_Log Set DelTime=getdate(),DelerCode=''' + Trim(DCode) + ''',Deler=''' + Trim(DName) + '''');
|
|
|
|
|
|
sql.Add(' where MYID=''' + Trim(Order_Main.fieldbyname('MYID').AsString) + '''');
|
|
|
|
|
|
sql.Add(' Delete CK_MYSC_CR where MYId=''' + Trim(Order_Main.fieldbyname('MYId').AsString) + '''');
|
|
|
|
|
|
sql.Add(' delete from TP_File where WBID=''' + trim(Order_Main.fieldbyname('MYId').AsString) + ''' ');
|
2025-01-20 13:04:03 +08:00
|
|
|
|
sql.Add(' and TFType=''<27>ӹ<EFBFBD><D3B9>뵥''');
|
|
|
|
|
|
ExecSQL;
|
|
|
|
|
|
end;
|
|
|
|
|
|
Order_Main.Delete;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
Order_Main.EnableControls;
|
|
|
|
|
|
ADOQueryCmd.Connection.CommitTrans;
|
2025-05-09 16:21:19 +08:00
|
|
|
|
Result := True;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
except
|
|
|
|
|
|
ADOQueryCmd.Connection.RollbackTrans;
|
2025-05-09 16:21:19 +08:00
|
|
|
|
Result := False;
|
|
|
|
|
|
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>쳣<EFBFBD><ECB3A3>', '<27><>ʾ', 0);
|
2025-01-20 13:04:03 +08:00
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.TBExportClick(Sender: TObject);
|
|
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
if ADOQueryMain.IsEmpty then
|
|
|
|
|
|
Exit;
|
|
|
|
|
|
TcxGridToExcel(Self.Caption, cxGrid1);
|
2025-01-20 13:04:03 +08:00
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.TBRafreshClick(Sender: TObject);
|
|
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
InitGrid();
|
2025-01-20 13:04:03 +08:00
|
|
|
|
TBFind.Click;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.TBAddClick(Sender: TObject);
|
|
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
Panel2.Visible := True;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
initGX();
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.initGX();
|
|
|
|
|
|
var
|
2025-05-09 16:21:19 +08:00
|
|
|
|
BB: array[0..100] of string;
|
|
|
|
|
|
i, j: Integer;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
begin
|
|
|
|
|
|
|
2025-05-09 16:21:19 +08:00
|
|
|
|
with ADOQueryTemp do
|
2025-01-20 13:04:03 +08:00
|
|
|
|
begin
|
|
|
|
|
|
Close;
|
|
|
|
|
|
sql.Clear;
|
|
|
|
|
|
sql.Add('select ZDYName from KH_Zdy where Type=''JGGongXu'' '); //order by ZDYName
|
|
|
|
|
|
Open;
|
|
|
|
|
|
end;
|
|
|
|
|
|
if ADOQueryTemp.IsEmpty then
|
|
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
Application.MessageBox('û<>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>', '<27><>ʾ', 0);
|
2025-01-20 13:04:03 +08:00
|
|
|
|
Exit;
|
|
|
|
|
|
end;
|
|
|
|
|
|
with ADOQueryTemp do
|
|
|
|
|
|
begin
|
|
|
|
|
|
First;
|
2025-05-09 16:21:19 +08:00
|
|
|
|
i := 0;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
while not Eof do
|
|
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
BB[i] := Trim(fieldbyname('ZDYName').AsString);
|
|
|
|
|
|
i := i + 1;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
Next;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
2025-05-09 16:21:19 +08:00
|
|
|
|
i := i - 1;
|
|
|
|
|
|
if i > 14 then
|
2025-01-20 13:04:03 +08:00
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
i := 14;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
end;
|
2025-05-09 16:21:19 +08:00
|
|
|
|
for j := 0 to i do
|
2025-01-20 13:04:03 +08:00
|
|
|
|
begin
|
|
|
|
|
|
with Panel2 do
|
|
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
TSpeedButton(Controls[j]).Visible := True;
|
|
|
|
|
|
TSpeedButton(Controls[j]).Caption := BB[j];
|
2025-01-20 13:04:03 +08:00
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.FormShow(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
InitForm();
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.CheckBox1Click(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
InitGrid();
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.CheckBox2Click(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
TBRafresh.Click;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.ToolButton1Click(Sender: TObject);
|
|
|
|
|
|
var
|
2025-05-09 16:21:19 +08:00
|
|
|
|
FFMYType: string;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
FFMYType := Trim(Order_Main.fieldbyname('MYType').AsString);
|
2025-01-20 13:04:03 +08:00
|
|
|
|
try
|
2025-05-09 16:21:19 +08:00
|
|
|
|
frmLLRKInPutMH_RCCG := TfrmLLRKInPutMH_RCCG.Create(Application);
|
2025-01-20 13:04:03 +08:00
|
|
|
|
with frmLLRKInPutMH_RCCG do
|
|
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
PState := 1;
|
|
|
|
|
|
FMainId := Trim(Self.Order_Main.fieldbyname('MYId').AsString);
|
|
|
|
|
|
FMYType := Trim(Self.Order_Main.fieldbyname('MYType').AsString);
|
|
|
|
|
|
FMYTypeFlag := Trim(Self.Order_Main.fieldbyname('MYTypeFlag').AsString);
|
|
|
|
|
|
labMYType.Caption := Trim(Self.Order_Main.fieldbyname('MYTypeFlag').AsString);
|
|
|
|
|
|
if ShowModal = 1 then
|
2025-01-20 13:04:03 +08:00
|
|
|
|
begin
|
|
|
|
|
|
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
finally
|
|
|
|
|
|
frmLLRKInPutMH_RCCG.Free;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.CustomerNoNameChange(Sender: TObject);
|
|
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
if ADOQueryMain.Active = False then
|
|
|
|
|
|
Exit;
|
|
|
|
|
|
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
|
|
|
|
|
|
SCreateCDS20(ADOQueryMain, Order_Main);
|
|
|
|
|
|
SInitCDSData20(ADOQueryMain, Order_Main);
|
2025-01-20 13:04:03 +08:00
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.N2Click(Sender: TObject);
|
|
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
if Order_Main.IsEmpty then
|
|
|
|
|
|
Exit;
|
|
|
|
|
|
if Trim(canshu1) <> '<27><>Ȩ<EFBFBD><C8A8>' then
|
2025-01-20 13:04:03 +08:00
|
|
|
|
begin
|
|
|
|
|
|
// if Order_Main.FieldByName('filltime').AsDateTime+1<Now then
|
|
|
|
|
|
// begin
|
|
|
|
|
|
// application.MessageBox('<27><><EFBFBD><EFBFBD>һ<EFBFBD>첻<EFBFBD><ECB2BB>ɾ<EFBFBD><C9BE>','<27><>ʾ');
|
|
|
|
|
|
// Exit;
|
|
|
|
|
|
// end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
with ADOQueryTemp do
|
|
|
|
|
|
begin
|
|
|
|
|
|
Close;
|
|
|
|
|
|
sql.Clear;
|
2025-05-09 16:21:19 +08:00
|
|
|
|
sql.Add('select * from YS_Money_CR where YFTypeId=''' + Trim(Self.Order_Main.fieldbyname('MYId').AsString) + '''');
|
2025-01-20 13:04:03 +08:00
|
|
|
|
sql.Add(' and ChkStatusP=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>''');
|
|
|
|
|
|
Open;
|
|
|
|
|
|
end;
|
2025-05-09 16:21:19 +08:00
|
|
|
|
if ADOQueryTemp.IsEmpty = false then
|
2025-01-20 13:04:03 +08:00
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
Application.MessageBox('Ӧ<><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2>ܲ<EFBFBD><DCB2><EFBFBD>', '<27><>ʾ');
|
2025-01-20 13:04:03 +08:00
|
|
|
|
exit;
|
|
|
|
|
|
end;
|
|
|
|
|
|
with ADOQueryTemp do
|
|
|
|
|
|
begin
|
|
|
|
|
|
Close;
|
|
|
|
|
|
sql.Clear;
|
2025-05-09 16:21:19 +08:00
|
|
|
|
sql.Add('select * from YS_Money_CR where YFTypeId=''' + trim(Order_Main.fieldbyname('MYID').AsString) + '''');
|
2025-01-20 13:04:03 +08:00
|
|
|
|
sql.Add(' and (isnull(ChkerP,'''')<>'''' ');
|
|
|
|
|
|
sql.Add(' or isnull(ChkerQ,'''')<>'''') ');
|
|
|
|
|
|
Open;
|
|
|
|
|
|
end;
|
2025-05-09 16:21:19 +08:00
|
|
|
|
if ADOQueryTemp.IsEmpty = false then
|
2025-01-20 13:04:03 +08:00
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
Application.MessageBox('Ӧ<><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>', '<27><>ʾ');
|
2025-01-20 13:04:03 +08:00
|
|
|
|
exit;
|
|
|
|
|
|
end;
|
2025-05-09 16:21:19 +08:00
|
|
|
|
if Application.MessageBox('ȷ<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
|
|
|
|
|
|
Exit;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
if DelData() then
|
|
|
|
|
|
begin
|
|
|
|
|
|
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.N1Click(Sender: TObject);
|
|
|
|
|
|
var
|
2025-05-09 16:21:19 +08:00
|
|
|
|
FFMYType: string;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
if Order_Main.IsEmpty then
|
|
|
|
|
|
Exit;
|
|
|
|
|
|
if Trim(canshu1) <> '<27><>Ȩ<EFBFBD><C8A8>' then
|
2025-01-20 13:04:03 +08:00
|
|
|
|
begin
|
|
|
|
|
|
// if Order_Main.FieldByName('filltime').AsDateTime+1<Now then
|
|
|
|
|
|
// begin
|
|
|
|
|
|
// application.MessageBox('<27><><EFBFBD><EFBFBD>һ<EFBFBD>첻<EFBFBD><ECB2BB><EFBFBD><EFBFBD>','<27><>ʾ');
|
|
|
|
|
|
// Exit;
|
|
|
|
|
|
// end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
with ADOQueryTemp do
|
|
|
|
|
|
begin
|
|
|
|
|
|
Close;
|
|
|
|
|
|
sql.Clear;
|
2025-05-09 16:21:19 +08:00
|
|
|
|
sql.Add('select * from YS_Money_CR where YFTypeId=''' + Trim(Self.Order_Main.fieldbyname('MYId').AsString) + '''');
|
2025-01-20 13:04:03 +08:00
|
|
|
|
sql.Add(' and ChkStatusP=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>''');
|
|
|
|
|
|
Open;
|
|
|
|
|
|
end;
|
2025-05-09 16:21:19 +08:00
|
|
|
|
if ADOQueryTemp.IsEmpty = false then
|
2025-01-20 13:04:03 +08:00
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
Application.MessageBox('Ӧ<><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2>ܲ<EFBFBD><DCB2><EFBFBD>', '<27><>ʾ');
|
2025-01-20 13:04:03 +08:00
|
|
|
|
exit;
|
|
|
|
|
|
end;
|
2025-05-09 16:21:19 +08:00
|
|
|
|
FFMYType := Trim(Order_Main.fieldbyname('MYType').AsString); //<2F><><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>ChkerP=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>''
|
2025-01-20 13:04:03 +08:00
|
|
|
|
try
|
2025-05-09 16:21:19 +08:00
|
|
|
|
frmLLRKInPutMH_RCCG := TfrmLLRKInPutMH_RCCG.Create(Application);
|
2025-01-20 13:04:03 +08:00
|
|
|
|
with frmLLRKInPutMH_RCCG do
|
|
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
PState := 1;
|
|
|
|
|
|
FMainId := Trim(Self.Order_Main.fieldbyname('MYId').AsString);
|
|
|
|
|
|
FMYType := Trim(Self.Order_Main.fieldbyname('MYType').AsString);
|
|
|
|
|
|
FMYTypeFlag := Trim(Self.Order_Main.fieldbyname('MYTypeFlag').AsString);
|
|
|
|
|
|
labMYType.Caption := Trim(Self.Order_Main.fieldbyname('MYTypeFlag').AsString) + '<27>ӹ<EFBFBD><D3B9>뵥';
|
|
|
|
|
|
if ShowModal = 1 then
|
2025-01-20 13:04:03 +08:00
|
|
|
|
begin
|
|
|
|
|
|
InitGrid();
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
finally
|
|
|
|
|
|
frmLLRKInPutMH_RCCG.Free;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.cxTabControl1Change(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
InitGrid();
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.ZJStatusChange(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
TBFind.Click;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.Tv1DblClick(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
ToolButton1.Click;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.Image2Click(Sender: TObject);
|
|
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
Panel2.Visible := False;
|
|
|
|
|
|
|
2025-01-20 13:04:03 +08:00
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.SpeedButton1Click(Sender: TObject);
|
|
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
Panel2.Visible := False;
|
|
|
|
|
|
FGXName := TSpeedButton(Sender).Caption;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
try
|
2025-05-09 16:21:19 +08:00
|
|
|
|
frmLLRKInPutMH_RCCG := TfrmLLRKInPutMH_RCCG.Create(Application);
|
2025-01-20 13:04:03 +08:00
|
|
|
|
with frmLLRKInPutMH_RCCG do
|
|
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
PState := 0;
|
|
|
|
|
|
FMainId := '';
|
|
|
|
|
|
FMYType := FGXName;
|
|
|
|
|
|
FMYTypeFlag := FGXName;
|
|
|
|
|
|
labMYType.Caption := Trim(FGXName) + '<27>ӹ<EFBFBD><D3B9>뵥';
|
|
|
|
|
|
if ShowModal = 1 then
|
2025-01-20 13:04:03 +08:00
|
|
|
|
begin
|
|
|
|
|
|
InitGrid();
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
finally
|
|
|
|
|
|
frmLLRKInPutMH_RCCG.Free;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.ToolButton2Click(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
try
|
2025-05-09 16:21:19 +08:00
|
|
|
|
frmZDYHelp := TfrmZDYHelp.Create(Application);
|
2025-01-20 13:04:03 +08:00
|
|
|
|
with frmZDYHelp do
|
|
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
flag := 'JGGongXu';
|
|
|
|
|
|
flagname := '<27><><EFBFBD><EFBFBD>';
|
2025-01-20 13:04:03 +08:00
|
|
|
|
//fnote:=True;
|
|
|
|
|
|
//V1Note.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>';
|
2025-05-09 16:21:19 +08:00
|
|
|
|
if ShowModal = 1 then
|
2025-01-20 13:04:03 +08:00
|
|
|
|
begin
|
|
|
|
|
|
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
finally
|
|
|
|
|
|
frmZDYHelp.Free;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2025-05-09 16:21:19 +08:00
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.v1Column1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
|
2025-01-20 13:04:03 +08:00
|
|
|
|
var
|
2025-05-09 16:21:19 +08:00
|
|
|
|
Id, Id10: Integer;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
begin
|
|
|
|
|
|
// Id:=TV1.GetColumnByFieldName('PS1').Index;
|
2025-05-09 16:21:19 +08:00
|
|
|
|
Id := TV1.GetColumnByFieldName('PS').Index;
|
|
|
|
|
|
Id10 := TV1.GetColumnByFieldName('MXHZPS').Index;
|
|
|
|
|
|
if (AViewInfo.GridRecord.Values[Id]) <> (AViewInfo.GridRecord.Values[Id10]) then
|
2025-01-20 13:04:03 +08:00
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
ACanvas.Brush.Color := clRed;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2025-05-09 16:21:19 +08:00
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.v1Column17CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
|
2025-01-20 13:04:03 +08:00
|
|
|
|
var
|
2025-05-09 16:21:19 +08:00
|
|
|
|
Id, Id10: Integer;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
Id := TV1.GetColumnByFieldName('KgQty').Index;
|
|
|
|
|
|
Id10 := TV1.GetColumnByFieldName('MXHZKgQty').Index;
|
|
|
|
|
|
if (AViewInfo.GridRecord.Values[Id]) <> (AViewInfo.GridRecord.Values[Id10]) then
|
2025-01-20 13:04:03 +08:00
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
ACanvas.Brush.Color := clRed;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2025-05-09 16:21:19 +08:00
|
|
|
|
procedure TfrmPBCGRKList_RCDJ.v1Column3CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
|
2025-01-20 13:04:03 +08:00
|
|
|
|
var
|
2025-05-09 16:21:19 +08:00
|
|
|
|
Id, Id10: Integer;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
Id := TV1.GetColumnByFieldName('Qty').Index;
|
|
|
|
|
|
Id10 := TV1.GetColumnByFieldName('MXHZQty').Index;
|
|
|
|
|
|
if (AViewInfo.GridRecord.Values[Id]) <> (AViewInfo.GridRecord.Values[Id10]) then
|
2025-01-20 13:04:03 +08:00
|
|
|
|
begin
|
2025-05-09 16:21:19 +08:00
|
|
|
|
ACanvas.Brush.Color := clRed;
|
2025-01-20 13:04:03 +08:00
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
end.
|
2025-05-09 16:21:19 +08:00
|
|
|
|
|