D7wmguihua/基础资料维护(BaseInfo.dll)/U_ZdyAttInput.pas

336 lines
9.6 KiB
ObjectPascal
Raw Normal View History

2025-01-18 16:22:10 +08:00
unit U_ZdyAttInput;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
2025-04-30 16:15:24 +08:00
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls,
cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
2025-01-18 16:22:10 +08:00
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
2025-04-30 16:15:24 +08:00
IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, cxCalendar, cxButtonEdit,
cxTextEdit, cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinBlack,
dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom,
dxSkinDarkSide, dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy,
dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian,
dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray,
dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic,
dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringTime, dxSkinStardust,
dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinsDefaultPainters,
dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue,
dxSkinscxPCPainter, cxNavigator;
2025-01-18 16:22:10 +08:00
type
TfrmZdyAttInput = class(TForm)
ToolBar1: TToolBar;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
ToolButton3: TToolButton;
v2Column6: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v2Column4: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2Column7: TcxGridDBColumn;
v2Column8: TcxGridDBColumn;
v2Column9: TcxGridDBColumn;
v2Column10: TcxGridDBColumn;
v2Column11: TcxGridDBColumn;
v2Column12: TcxGridDBColumn;
v2DefFlt1: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
v2Column13: TcxGridDBColumn;
ADOQueryKH: TADOQuery;
DSKH: TDataSource;
v2Column14: TcxGridDBColumn;
v2Column15: 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 ToolButton3Click(Sender: TObject);
2025-04-30 16:15:24 +08:00
procedure v2Column14PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
2025-01-18 16:22:10 +08:00
private
{ Private declarations }
procedure InitGrid();
2025-04-30 16:15:24 +08:00
function SaveData(): Boolean;
2025-01-18 16:22:10 +08:00
public
2025-04-30 16:15:24 +08:00
fkhType: string;
2025-01-18 16:22:10 +08:00
{ Public declarations }
2025-04-30 16:15:24 +08:00
RKFlag, FCYID: string;
canshu1, canshu2,FParameters4: string;
2025-01-18 16:22:10 +08:00
end;
var
frmZdyAttInput: TfrmZdyAttInput;
implementation
2025-04-30 16:15:24 +08:00
2025-01-18 16:22:10 +08:00
uses
2025-04-30 16:15:24 +08:00
U_DataLink, U_Fun, U_ZDYHelp, U_WeiXinHelp;
2025-01-18 16:22:10 +08:00
{$R *.dfm}
procedure TfrmZdyAttInput.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
2025-04-30 16:15:24 +08:00
Filtered := False;
2025-01-18 16:22:10 +08:00
Close;
SQL.Clear;
2025-04-30 16:15:24 +08:00
sql.Add(' select * from KH_Zdy_Attachment where ATID=''' + Trim(FCYID) + '''');
2025-01-18 16:22:10 +08:00
Open;
end;
2025-04-30 16:15:24 +08:00
SCreateCDS20(ADOQueryMain, CDS_HZ);
SInitCDSData20(ADOQueryMain, CDS_HZ);
2025-01-18 16:22:10 +08:00
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmZdyAttInput.FormDestroy(Sender: TObject);
begin
//frmZdyAttInput:=nil;
end;
procedure TfrmZdyAttInput.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//Action:=caFree;
end;
procedure TfrmZdyAttInput.TBCloseClick(Sender: TObject);
begin
2025-04-30 16:15:24 +08:00
WriteCxGrid('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>1', Tv2, '<27>ͻ<EFBFBD><CDBB>Զ<EFBFBD><D4B6><EFBFBD>');
2025-01-18 16:22:10 +08:00
Close;
end;
2025-04-30 16:15:24 +08:00
2025-01-18 16:22:10 +08:00
procedure TfrmZdyAttInput.FormShow(Sender: TObject);
begin
2025-04-30 16:15:24 +08:00
ReadCxGrid('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>1', Tv2, '<27>ͻ<EFBFBD><CDBB>Զ<EFBFBD><D4B6><EFBFBD>');
2025-01-18 16:22:10 +08:00
InitGrid();
2025-04-30 16:15:24 +08:00
if Trim(FCYID) = '' then
2025-01-18 16:22:10 +08:00
begin
CDS_HZ.Append;
2025-04-30 16:15:24 +08:00
if trim(FParameters4) = '<27><>Ȩ<EFBFBD><C8A8>' then
begin
CDS_HZ.FieldByName('DEFstr5').Value := Trim(DName);
end;
2025-01-18 16:22:10 +08:00
CDS_HZ.Post;
end;
end;
procedure TfrmZdyAttInput.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
2025-04-30 16:15:24 +08:00
function TfrmZdyAttInput.SaveData(): Boolean;
2025-01-18 16:22:10 +08:00
var
2025-04-30 16:15:24 +08:00
maxId, CRID: string;
fzdyCode: string;
2025-01-18 16:22:10 +08:00
begin
try
ADOQueryCmd.Connection.BeginTrans;
2025-04-30 16:15:24 +08:00
if Trim(FCYID) = '' then
2025-01-18 16:22:10 +08:00
begin
2025-04-30 16:15:24 +08:00
if GetLSNo(ADOQueryCmd, maxId, 'AT', 'KH_Zdy_Attachment', 4, 1) = False then
2025-01-18 16:22:10 +08:00
begin
2025-04-30 16:15:24 +08:00
Result := False;
2025-01-18 16:22:10 +08:00
ADOQueryCmd.Connection.RollbackTrans;
2025-04-30 16:15:24 +08:00
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
2025-01-18 16:22:10 +08:00
Exit;
end;
2025-04-30 16:15:24 +08:00
if trim(fkhType) = '<27><EFBFBD>ͻ<EFBFBD>' then
2025-01-18 16:22:10 +08:00
begin
2025-04-30 16:15:24 +08:00
if GetLSNo(ADOQueryCmd, fzdyCode, 'KH', 'KH_Zdy_Attachment', 4, 0) = False then
2025-01-18 16:22:10 +08:00
begin
2025-04-30 16:15:24 +08:00
Result := False;
2025-01-18 16:22:10 +08:00
ADOQueryCmd.Connection.RollbackTrans;
2025-04-30 16:15:24 +08:00
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
2025-01-18 16:22:10 +08:00
Exit;
end;
end
2025-04-30 16:15:24 +08:00
else if trim(fkhType) = '<27><><EFBFBD>ݿͻ<DDBF>' then
2025-01-18 16:22:10 +08:00
begin
2025-04-30 16:15:24 +08:00
if GetLSNo(ADOQueryCmd, fzdyCode, 'HZ', 'KH_Zdy_Attachment', 4, 0) = False then
2025-01-18 16:22:10 +08:00
begin
2025-04-30 16:15:24 +08:00
Result := False;
2025-01-18 16:22:10 +08:00
ADOQueryCmd.Connection.RollbackTrans;
2025-04-30 16:15:24 +08:00
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
2025-01-18 16:22:10 +08:00
Exit;
end;
end
else
begin
2025-04-30 16:15:24 +08:00
if GetLSNo(ADOQueryCmd, fzdyCode, 'KF', 'KH_Zdy_Attachment', 4, 0) = False then
2025-01-18 16:22:10 +08:00
begin
2025-04-30 16:15:24 +08:00
Result := False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
Exit;
2025-01-18 16:22:10 +08:00
end;
end
end
else
begin
2025-04-30 16:15:24 +08:00
maxId := Trim(FCYID);
2025-01-18 16:22:10 +08:00
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
2025-04-30 16:15:24 +08:00
sql.Add('select * from KH_Zdy_Attachment where ATID=''' + Trim(FCYID) + '''');
2025-01-18 16:22:10 +08:00
Open;
end;
with ADOQueryCmd do
begin
2025-04-30 16:15:24 +08:00
if Trim(FCYID) = '' then
2025-01-18 16:22:10 +08:00
begin
Append;
2025-04-30 16:15:24 +08:00
FieldByName('Filler').Value := Trim(DName);
FieldByName('zdyCode').Value := Trim(fzdyCode);
end
else
2025-01-18 16:22:10 +08:00
begin
Edit;
2025-04-30 16:15:24 +08:00
FieldByName('Editer').Value := Trim(DName);
FieldByName('Edittime').Value := SGetServerDateTime(ADOQueryTemp);
2025-01-18 16:22:10 +08:00
end;
2025-04-30 16:15:24 +08:00
FieldByName('ATID').Value := Trim(maxId);
FieldByName('ZdyName').Value := Trim(CDS_HZ.fieldbyname('ZdyName').AsString);
RTSetSaveDataCDS(ADOQueryCmd, Tv2, CDS_HZ, '', 0);
FieldByName('Type').Value := 'KHName';
FieldByName('khType').Value := trim(fkhType);
FieldByName('DefFlt1').Value := CDS_HZ.fieldbyname('DefFlt1').AsFloat;
FieldByName('Filler').Value := Trim(DName);
2025-01-18 16:22:10 +08:00
Post;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
2025-04-30 16:15:24 +08:00
sql.Add('select * from KH_Zdy where ZdyNo=''' + Trim(FCYID) + '''');
2025-01-18 16:22:10 +08:00
Open;
end;
with ADOQueryCmd do
begin
2025-04-30 16:15:24 +08:00
if Trim(FCYID) = '' then
2025-01-18 16:22:10 +08:00
begin
Append;
2025-04-30 16:15:24 +08:00
end
else
2025-01-18 16:22:10 +08:00
begin
Edit;
end;
2025-04-30 16:15:24 +08:00
FieldByName('ZdyNo').Value := Trim(maxId);
FieldByName('ZdyName').Value := Trim(CDS_HZ.fieldbyname('ZdyName').AsString);
FieldByName('Type').Value := 'KHName';
FieldByName('MainType').Value := Trim(CDS_HZ.fieldbyname('DEFstr5').AsString);
2025-01-18 16:22:10 +08:00
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
2025-04-30 16:15:24 +08:00
sql.Add('select * from KH_Zdy_Attachment where ZdyName=''' + Trim(CDS_HZ.fieldbyname('ZdyName').AsString) + '''');
2025-01-18 16:22:10 +08:00
sql.Add(' and Type=''KHName'' ');
2025-04-30 16:15:24 +08:00
sql.Add(' and isnull(khType,'''')=' + quotedstr(trim(fkhType)));
2025-01-18 16:22:10 +08:00
Open;
end;
2025-04-30 16:15:24 +08:00
if ADOQueryCmd.RecordCount > 1 then
2025-01-18 16:22:10 +08:00
begin
ADOQueryCmd.Connection.RollbackTrans;
2025-04-30 16:15:24 +08:00
Application.MessageBox('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>!', '<27><>ʾ', 0);
2025-01-18 16:22:10 +08:00
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
2025-04-30 16:15:24 +08:00
sql.Add('select * from KH_Zdy_Attachment where ZdyCode=''' + Trim(CDS_HZ.fieldbyname('ZdyCode').AsString) + '''');
2025-01-18 16:22:10 +08:00
sql.Add(' and Type=''KHName'' ');
Open;
end;
2025-04-30 16:15:24 +08:00
if ADOQueryCmd.RecordCount > 1 then
2025-01-18 16:22:10 +08:00
begin
ADOQueryCmd.Connection.RollbackTrans;
2025-04-30 16:15:24 +08:00
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>!', '<27><>ʾ', 0);
2025-01-18 16:22:10 +08:00
Exit;
end;
with CDS_HZ do
begin
Edit;
2025-04-30 16:15:24 +08:00
FieldByName('ATID').Value := Trim(maxId);
2025-01-18 16:22:10 +08:00
Post;
end;
ADOQueryCmd.Connection.CommitTrans;
2025-04-30 16:15:24 +08:00
Result := True;
2025-01-18 16:22:10 +08:00
except
2025-04-30 16:15:24 +08:00
Result := True;
2025-01-18 16:22:10 +08:00
ADOQueryCmd.Connection.RollbackTrans;
2025-04-30 16:15:24 +08:00
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!', '<27><>ʾ', 0);
2025-01-18 16:22:10 +08:00
end;
end;
procedure TfrmZdyAttInput.ToolButton3Click(Sender: TObject);
begin
cxGrid2.SetFocus;
2025-04-30 16:15:24 +08:00
if Trim(CDS_HZ.FieldByName('ZdyName').AsString) = '' then
2025-01-18 16:22:10 +08:00
begin
2025-04-30 16:15:24 +08:00
Application.MessageBox('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
2025-01-18 16:22:10 +08:00
Exit;
end;
2025-04-30 16:15:24 +08:00
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
2025-01-18 16:22:10 +08:00
if SaveData() then
begin
2025-04-30 16:15:24 +08:00
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!', '<27><>ʾ', 0);
ModalResult := 1;
2025-01-18 16:22:10 +08:00
end;
end;
2025-04-30 16:15:24 +08:00
procedure TfrmZdyAttInput.v2Column14PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
2025-01-18 16:22:10 +08:00
begin
2025-04-30 16:15:24 +08:00
frmWeiXinHelp := TfrmWeiXinHelp.create(self);
2025-01-18 16:22:10 +08:00
with frmWeiXinHelp do
begin
2025-04-30 16:15:24 +08:00
if showmodal = 1 then
2025-01-18 16:22:10 +08:00
begin
CDS_HZ.Edit;
2025-04-30 16:15:24 +08:00
CDS_HZ.fieldbyName('weixinID').Value := trim(CDS_Help.fieldbyName('OPENID').asstring);
CDS_HZ.fieldbyName('weixinName').Value := trim(CDS_Help.fieldbyName('NICKNAME').asstring);
2025-01-18 16:22:10 +08:00
CDS_HZ.Post;
end;
free;
end;
tv2.Controller.EditingController.ShowEdit();
end;
end.
2025-04-30 16:15:24 +08:00