D7DJlanshan/基础资料维护(BaseInfo.dll)/U_CPKWEdit.pas
DESKTOP-E401PHE\Administrator bff149d192 `
2025-04-30 19:46:19 +08:00

427 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_CPKWEdit;
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, cxDropDownEdit, strutils, cxLookAndFeels, cxLookAndFeelPainters,
cxNavigator, 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;
type
TfrmCPKWEdit = class(TForm)
ToolBar1: TToolBar;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
ToolButton3: TToolButton;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
v2Column6: TcxGridDBColumn;
v2Column8: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
v2DEFStr6: TcxGridDBColumn;
v2DEFStr7: TcxGridDBColumn;
Tv2Column1: TcxGridDBColumn;
Tv2Column2: TcxGridDBColumn;
Tv2Column3: TcxGridDBColumn;
Tv2Column4: TcxGridDBColumn;
ADOCmd: TADOQuery;
Tv2Column5: TcxGridDBColumn;
Tv2Column6: TcxGridDBColumn;
Tv2Column7: 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);
procedure v2Column8PropertiesEditValueChanged(Sender: TObject);
procedure v2DEFStr6PropertiesEditValueChanged(Sender: TObject);
procedure Tv2Column4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure v2Column6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure Tv2Column7PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
private
{ Private declarations }
procedure InitGrid();
function SaveData(): Boolean;
public
{ Public declarations }
fFlileFlag: string;
RKFlag, FCYID, XZdyCode, Xqty: string;
end;
var
frmCPKWEdit: TfrmCPKWEdit;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp, getpic;
{$R *.dfm}
procedure TfrmCPKWEdit.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add(' select * from KH_Zdy_Attachment where ATID=''' + Trim(FCYID) + '''');
// ShowMessage(sql.text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_HZ);
SInitCDSData20(ADOQueryMain, CDS_HZ);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmCPKWEdit.FormDestroy(Sender: TObject);
begin
frmCPKWEdit := nil;
end;
procedure TfrmCPKWEdit.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmCPKWEdit.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(self.Caption, Tv2, '<27>ͻ<EFBFBD><CDBB>Զ<EFBFBD><D4B6><EFBFBD>');
Close;
end;
procedure TfrmCPKWEdit.FormShow(Sender: TObject);
begin
ReadCxGrid(self.Caption, Tv2, '<27>ͻ<EFBFBD><CDBB>Զ<EFBFBD><D4B6><EFBFBD>');
InitGrid();
if Trim(FCYID) = '' then
begin
CDS_HZ.Append;
CDS_HZ.Post;
end;
fFlileFlag := UserDataFlag + 'HX';
end;
procedure TfrmCPKWEdit.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
function TfrmCPKWEdit.SaveData(): Boolean;
var
maxId, CRID, fzdyCode: string;
begin
try
ADOQueryCmd.Connection.BeginTrans;
if Trim(FCYID) = '' then
begin
if GetLSNo(ADOQueryCmd, maxId, 'KW', 'KH_Zdy_Attachment', 4, 1) = False then
begin
Result := False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
end
else
begin
maxId := Trim(FCYID);
end;
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('select * from KH_Zdy_Attachment X where ATID=''' + Trim(FCYID) + ''' and defstr3=''<27>̶<EFBFBD><CCB6><EFBFBD>'' ');
open;
end;
if not ADOQueryTemp.IsEmpty then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('UPDATE CK_BanCP_KC set kckw='''' ');
sql.Add('where kckw=' + quotedstr(trim(ADOQueryTemp.fieldbyname('zdyCode').AsString)));
sql.Add('UPDATE CK_BanCP_CR set kckw='''' ');
sql.Add('where kckw=' + quotedstr(trim(ADOQueryTemp.fieldbyname('zdyCode').AsString)));
execsql;
end;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from KH_Zdy_Attachment where ATID=''' + Trim(FCYID) + '''');
Open;
end;
with ADOQueryCmd do
begin
if Trim(FCYID) = '' then
begin
Append;
FieldByName('Filler').Value := Trim(DName);
FieldByName('zdyCode').Value := Trim(fzdyCode);
end
else
begin
Edit;
FieldByName('Editer').Value := Trim(DName);
FieldByName('Edittime').Value := SGetServerDateTime(ADOQueryTemp);
FieldByName('ZT').Value := '<27>޸<EFBFBD>';
if Trim(DParameters1) <> '<27><>Ȩ<EFBFBD><C8A8>' then
begin
FieldByName('QRCZ').Value := <><CEB4><EFBFBD><EFBFBD>'; //δ<><CEB4><EFBFBD><EFBFBD>
end
else
begin
FieldByName('QRCZ').Value := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'; //<2F><><EFBFBD><EFBFBD>
end;
end;
FieldByName('ATID').Value := Trim(maxId);
FieldByName('ZdyName').Value := Trim(CDS_HZ.fieldbyname('ZdyCode').AsString);
RTSetSaveDataCDS(ADOQueryCmd, Tv2, CDS_HZ, '', 0);
FieldByName('Type').Value := 'CPKW';
FieldByName('mrate').Value := CDS_HZ.fieldbyname('mrate').AsFloat;
FieldByName('Filler').Value := Trim(DName);
FieldByName('CKLX').Value := '<27>ڿ<EFBFBD>';
Post;
end;
with CDS_HZ do
begin
Edit;
FieldByName('ATID').Value := Trim(maxId);
Post;
end;
if FCYID <> '' then
begin
with ADOCmd do
begin
Close;
sql.Clear;
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result,Mainid) values( ');
sql.Add(' ' + quotedstr(trim(DName)));
sql.Add(',getdate() ');
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(trim('<27><>λ<EFBFBD>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>')));
sql.Add(',' + quotedstr(trim('<27>޸<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:' + trim(FCYID) + ', ' + ',<2C><>λ<EFBFBD><CEBB>' + Trim(XZdyCode) + ',<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' + Trim(Xqty))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(',' + quotedstr(trim(FCYID)));
sql.Add(')');
execsql;
end;
end;
// with ADOQueryTemp do
// begin
// Close;
// sql.Clear;
// sql.Add('select * from KH_Zdy_Attachment where ZdyCode=''' + Trim(CDS_HZ.fieldbyname('ZdyCode').AsString) + '''');
// sql.Add(' and Type=''CPKW'' ');
// Open;
// end;
// if ADOQueryTemp.RecordCount > 1 then
// begin
// ADOQueryCmd.Connection.RollbackTrans;
// Application.MessageBox('<27><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>!', '<27><>ʾ', 0);
// Exit;
// end;
{ with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('select * from KH_Zdy_Attachment X where ATID='''+Trim(FCYID)+''' and defstr3=''<27>̶<EFBFBD><CCB6><EFBFBD>'' ');
open;
end;
if not ADOQueryTemp.IsEmpty then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('UPDATE CK_BanCP_KC set kckw='+quotedstr(trim(ADOQueryTemp.fieldbyname('zdyCode').AsString)));
sql.Add('where C_CodeName='+quotedstr(trim(ADOQueryTemp.fieldbyname('defstr1').AsString)));
sql.Add('and C_color='+quotedstr(trim(ADOQueryTemp.fieldbyname('defstr2').AsString)));
sql.Add('UPDATE CK_BanCP_CR set kckw='+quotedstr(trim(ADOQueryTemp.fieldbyname('zdyCode').AsString)));
sql.Add('where C_CodeName='+quotedstr(trim(ADOQueryTemp.fieldbyname('defstr1').AsString)));
sql.Add('and C_color='+quotedstr(trim(ADOQueryTemp.fieldbyname('defstr2').AsString)));
execsql;
end;
end;}
ADOQueryCmd.Connection.CommitTrans;
Result := True;
except
Result := True;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!', '<27><>ʾ', 0);
end;
end;
procedure TfrmCPKWEdit.ToolButton3Click(Sender: TObject);
begin
cxGrid2.SetFocus;
if Trim(CDS_HZ.FieldByName('ZdyCode').AsString) = '' then
begin
Application.MessageBox('<27><>λ<EFBFBD><CEBB><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
if SaveData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!', '<27><>ʾ', 0);
ModalResult := 1;
end;
end;
procedure TfrmCPKWEdit.v2Column8PropertiesEditValueChanged(Sender: TObject);
var
mvalue: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
if trim(mvalue) = '' then
exit;
if rightBstr(trim(mvalue), 1) <> '#' then
begin
mvalue := trim(mvalue) + '#';
end;
with CDS_HZ do
begin
Edit;
FieldByName('DEFstr1').Value := Trim(mvalue);
Post;
end;
self.tv2.Controller.EditingController.ShowEdit();
end;
procedure TfrmCPKWEdit.v2DEFStr6PropertiesEditValueChanged(Sender: TObject);
var
mvalue: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
if trim(mvalue) = '' then
exit;
if rightBstr(trim(mvalue), 1) <> '#' then
begin
mvalue := trim(mvalue) + '#';
end;
with CDS_HZ do
begin
Edit;
FieldByName('DEFstr2').Value := Trim(mvalue);
Post;
end;
self.tv2.Controller.EditingController.ShowEdit();
end;
procedure TfrmCPKWEdit.Tv2Column4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'BPLX';
flagname := '<27><>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>';
if ShowModal = 1 then
begin
Self.CDS_HZ.Edit;
Self.CDS_HZ.FieldByName('BPLX').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmCPKWEdit.v2Column6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'KW';
flagname := '<27><>λ';
if ShowModal = 1 then
begin
Self.CDS_HZ.Edit;
Self.CDS_HZ.FieldByName('ZdyCode').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmCPKWEdit.Tv2Column7PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
FormGetPic := TFormGetPic.create(self);
with FormGetPic do
begin
fFlileFlag := self.fFlileFlag;
fkeyNo := CDS_HZ.fieldbyname('HXFile').asstring;
pat1 := 'FileName';
pic1 := 'FilesOther';
FTFType := 'HX';
if showmodal = 1 then
begin
CDS_HZ.edit;
CDS_HZ.fieldbyname('HXFile').Value := trim(fkeyNo);
end;
free;
end;
end;
end.