D7FZaideng/基础资料维护(BaseInfo.dll)/U_ZdyAttInputCP10.pas
DESKTOP-E401PHE\Administrator 82c6347dad ~
2025-04-30 16:21:22 +08:00

649 lines
16 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_ZdyAttInputCP10;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, cxPC, cxControls, ComCtrls, ToolWin, StdCtrls, Menus,
cxTextEdit, cxCurrencyEdit, BtnEdit, cxContainer, cxEdit, cxImage, DB, ADODB,
cxDBEdit, cxLookAndFeelPainters, cxButtons, IdBaseComponent, IdComponent,
IdTCPConnection, IdTCPClient, IdFTP, ShellAPI, cxGraphics, cxLookAndFeels,
cxStyles, cxCustomData, cxFilter, cxData, cxDataStorage, cxNavigator, cxDBData,
cxButtonEdit, cxGridLevel, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxClasses, cxGridCustomView, cxGrid, DBClient, 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
TfrmZdyAttInputCP10 = class(TForm)
ToolBar1: TToolBar;
Tsave: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
GroupBox1: TGroupBox;
Label1: TLabel;
zdyCode: TEdit;
Label2: TLabel;
zdyName: TEdit;
Label3: TLabel;
Label6: TLabel;
defstr1: TEdit;
Label13: TLabel;
Label17: TLabel;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
ADOQueryCmd: TADOQuery;
ADOQueryTmp: TADOQuery;
ADOQueryImage: TADOQuery;
ADOQuerymain: TADOQuery;
Picture4: TcxDBImage;
FileName: TcxButton;
IdFTP1: TIdFTP;
DataSource1: TDataSource;
Label12: TLabel;
defstr2: TEdit;
Label39: TLabel;
defnote2: TEdit;
defstr8: TEdit;
Label4: TLabel;
defstr7: TEdit;
Label5: TLabel;
note: TMemo;
Label7: TLabel;
defstr5: TComboBox;
Label8: TLabel;
defflt3: TcxCurrencyEdit;
Label9: TLabel;
defnote3: TBtnEditA;
Label10: TLabel;
defflt4: TcxCurrencyEdit;
Label11: TLabel;
Label14: TLabel;
Label15: TLabel;
sprice: TEdit;
tprice: TEdit;
Label16: TLabel;
CYCM: TBtnEditA;
Label18: TLabel;
cycolor: TBtnEditA;
Panel2: TPanel;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
v2Column2: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
ToolBar2: TToolBar;
ToolButton7: TToolButton;
ToolButton9: TToolButton;
Label19: TLabel;
CDS_Sub: TClientDataSet;
DataSource2: TDataSource;
ADOQuerySub: TADOQuery;
Tv2Column1: TcxGridDBColumn;
Picture6: TcxDBImage;
Label20: TLabel;
ADOQueryImageYS: TADOQuery;
DSImage: TDataSource;
Label21: TLabel;
Label22: TLabel;
Label23: TLabel;
Label24: TLabel;
DZprice: TEdit;
Label25: TLabel;
seprice: TEdit;
fprice: TEdit;
Label26: TLabel;
CPtxm: TEdit;
procedure FormDestroy(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure TsaveClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Picture6DblClick(Sender: TObject);
procedure FileNameClick(Sender: TObject);
procedure MTypeBtnDnClick(Sender: TObject);
procedure defnote3BtnClick(Sender: TObject);
procedure CYCMBtnClick(Sender: TObject);
procedure cycolorBtnClick(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure Tv2Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure Tv2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
procedure ToolButton9Click(Sender: TObject);
private
function savedata(): Boolean;
procedure InitGrid();
procedure InitImage();
procedure InitImageYS(fwbid: string);
{ Private declarations }
public
PState, CopyInt: Integer;
FATID, fFlileFlag: string;
{ Public declarations }
end;
var
frmZdyAttInputCP10: TfrmZdyAttInputCP10;
implementation
uses
U_DataLink, U_Fun10, U_ZDYHelp, getpic, getpicYS, U_ZdyAttachGYS_help,
U_ZdyCMZ_Sel, U_ZdyYS_Sel;
{$R *.dfm}
function TfrmZdyAttInputCP10.savedata(): Boolean;
var
maxno: string;
begin
result := false;
try
if trim(FATID) = '' then
begin
if GetLSNo(ADOQueryCmd, FATID, 'AT', 'KH_Zdy_Attachment', 4, 1) = False then
begin
Result := False;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from KH_Zdy_Attachment where ATID=''' + Trim(FATID) + '''');
Open;
if IsEmpty then
begin
append;
FieldByName('Filler').Value := Trim(DName);
end
else
begin
Edit;
FieldByName('Editer').Value := Trim(DName);
FieldByName('Edittime').Value := SGetServerDateTime(ADOQueryTmp);
end;
SSetsaveSqlNew(ADOQueryCmd, 'KH_Zdy_Attachment', GroupBox1, 2);
FieldByName('defflt3').Value := strtofloatdef(Trim(defflt3.text), 1);
FieldByName('defflt4').Value := strtofloatdef(Trim(defflt4.text), 0);
FieldByName('ATID').Value := Trim(FATID);
FieldByName('Type').Value := 'CP';
post;
end;
result := true;
except
end;
with ADOQueryTmp do
begin
Close;
sql.Clear;
sql.Add('Update KH_Zdy_CPCB set zdyCode=''' + Trim(zdyCode.Text) + ''' where ATID=''' + Trim(FATID) + ''' ');
// ShowMessage(SQL.text);
ExecSQL;
end;
with CDS_Sub do //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
begin
First;
while not Eof do
begin
if Trim(CDS_Sub.fieldbyname('YSId').AsString) = '' then
begin
if GetLSNo(ADOQueryCmd, maxno, 'YS', 'KH_YS', 4, 1) = False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
end
else
begin
maxno := Trim(CDS_Sub.fieldbyname('YSId').AsString);
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from KH_YS where ATID=''' + Trim(FATID) + '''');
sql.Add(' and YSId=''' + Trim(maxno) + '''');
Open;
end;
with ADOQueryCmd do
begin
if Trim(CDS_Sub.fieldbyname('YSId').AsString) = '' then
begin
Append;
end
else
Edit;
FieldByName('ATID').Value := Trim(FATID);
FieldByName('YSId').Value := Trim(maxno);
FieldByName('code').Value := Trim(zdyCode.text);
RTSetSaveDataCDS(ADOQueryCmd, Tv2, CDS_Sub, 'KH_YS', 0);
// fieldbyname('SordQty1').Value := CDS_Sub.fieldbyname('SordQty1').AsFloat;
FieldByName('cyys').Value := CDS_Sub.FieldByName('cyys').AsString;
Post;
end;
CDS_Sub.Edit;
CDS_Sub.FieldByName('YSId').Value := Trim(maxno);
CDS_Sub.FieldByName('ATID').Value := Trim(FATID);
Next;
end;
end;
end;
procedure TfrmZdyAttInputCP10.InitGrid();
begin
with ADOQueryMain do
begin
close;
sql.Clear;
sql.Add('select * from KH_Zdy_Attachment A');
if PState = 1 then
begin
sql.Add('where ATID=' + quotedstr(trim(FATID)));
end;
if PState = 0 then
begin
sql.Add(' where 1<>1');
end;
// showmessage(sql.text);
open;
end;
if not ADOQueryMain.IsEmpty then
begin
// zdyCode.Enabled := false;
SCSHDataNew(ADOQueryMain, GroupBox1, 2);
end;
with ADOQuerySub do
begin
close;
sql.Clear;
sql.Add('select * from KH_YS A');
if PState = 1 then
begin
sql.Add('where ATID=' + quotedstr(trim(FATID)));
end;
if PState = 0 then
begin
sql.Add(' where 1<>1');
end;
// showmessage(sql.text);
open;
end;
// if not ADOQuerySub.IsEmpty then
// if ADOQuerySub.IsEmpty then
// begin
SCreateCDS20(ADOQuerySub, CDS_Sub);
SInitCDSData20(ADOQuerySub, CDS_Sub);
// end;
// if PState = 1 then
// begin
// zdyCode.text := '';
// end;
end;
procedure TfrmZdyAttInputCP10.InitImage();
begin
with ADOQueryImage do
begin
close;
sql.Clear;
sql.Add('select * from TP_File A');
sql.Add('where TFid=' + quotedstr(trim(zdyCode.Text)));
open;
end;
end;
procedure TfrmZdyAttInputCP10.InitImageYS(fwbid: string);
begin
ADOQueryImageYS.close;
if fwbid = '' then
exit;
with ADOQueryImageYS do
begin
close;
sql.Clear;
sql.Add('select * from TP_File A');
sql.Add('where TFid=''' + CDS_Sub.fieldbyname('YSFile').asstring + '''');
open;
end;
end;
procedure TfrmZdyAttInputCP10.FormDestroy(Sender: TObject);
begin
frmZdyAttInputCP10 := nil;
end;
procedure TfrmZdyAttInputCP10.TBCloseClick(Sender: TObject);
begin
close;
end;
procedure TfrmZdyAttInputCP10.FormCreate(Sender: TObject);
begin
Panel1.Align := alclient;
clearControl(GroupBox1, 2);
end;
procedure TfrmZdyAttInputCP10.TsaveClick(Sender: TObject);
begin
zdyName.SetFocus;
if trim(zdyCode.Text) = '' then
begin
application.MessageBox('<27><>Ʒ<EFBFBD><C6B7><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
with adoqueryTmp do
begin
close;
sql.Clear;
sql.Add('select * from KH_Zdy_Attachment X');
sql.Add('where zdyCode=' + quotedstr(trim(zdyCode.Text)));
sql.Add('and ATID<>' + quotedstr(trim(FATID)));
sql.Add('and Type=''CP'' ');
open;
if not IsEmpty then
begin
application.MessageBox('<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
end;
AdoqueryCmd.Connection.BeginTrans;
try
if not savedata() then
begin
AdoqueryCmd.Connection.RollbackTrans;
application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
end
else
begin
AdoqueryCmd.Connection.CommitTrans;
application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
self.ModalResult := 1;
end;
except
AdoqueryCmd.Connection.RollbackTrans;
end;
end;
procedure TfrmZdyAttInputCP10.FormShow(Sender: TObject);
var
fzdyCode: string;
begin
InitGrid();
if CopyInt = 99 then
begin
FATId := '';
zdycode.text := '';
with CDS_Sub do
begin
First;
while not Eof do
begin
Edit;
FieldByName('ATID').Value := '';
FieldByName('YSId').Value := '';
FieldByName('YSFile').Value := '';
Post;
Next;
end;
end;
// with ADOQueryMain do
// begin
// First;
// while not Eof do
// begin
// Edit;
// FieldByName('ATID').Value := '';
// Post;
// Next;
// end;
// end;
end;
InitImage();
end;
procedure TfrmZdyAttInputCP10.Picture6DblClick(Sender: TObject);
var
sFieldName: string;
fileName: string;
begin
{
IF TcxDBImage(Sender).Picture.Height=0 then exit;
sFieldName:='D:\ͼƬ<CDBC>鿴';
if not DirectoryExists(pchar(sFieldName)) then
CreateDirectory(pchar(sFieldName),nil);
fileName:=adoqueryImage.fieldbyname(TcxDBImage(Sender).Hint).asstring;
sFieldName:=sFieldName+'\'+trim(fileName);
try
IdFTP1.Host := PicSvr;
IdFTP1.Username := 'three';
IdFTP1.Password := '641010';
IdFTP1.Connect();
except
;
end;
if IdFTP1.Connected then
begin
try
IdFTP1.Get('TP\'+ Trim(fileName), sFieldName,false, true);
except
Application.MessageBox('<27>ͻ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', MB_ICONWARNING);
IdFTP1.Quit;
Exit;
end;
end
else
begin
Application.MessageBox('<27>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', MB_ICONWARNING);
IdFTP1.Quit;
Exit;
end;
if IdFTP1.Connected then IdFTP1.Quit;
ShellExecute(Handle, 'open',PChar(sFieldName),'', '', SW_SHOWNORMAL); }
end;
procedure TfrmZdyAttInputCP10.FileNameClick(Sender: TObject);
begin
if trim(zdyCode.Text) = '' then
begin
application.MessageBox('<27><>Ʒ<EFBFBD><C6B7><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
try
FormGetPic := TFormGetPic.Create(Application);
with FormGetPic do
begin
fkeyNO := trim(zdyCode.Text);
pat1 := TCXbutton(Sender).Name;
pic1 := TCXbutton(Sender).Hint;
FTFType := '<27><>Ʒ';
// pat1:='PatFile1';
// pic1:='Picture1';
if ShowModal = 1 then
begin
// self.Timage(Tbutton(Sender).Hint).Picture.Assign(FormGetPic.Image2.Picture.Bitmap);
zdycode.Enabled := false;
end;
Release;
end;
Initimage();
except
if FormGetPic <> nil then
FormGetPic.Release;
end;
end;
procedure TfrmZdyAttInputCP10.MTypeBtnDnClick(Sender: TObject);
begin
TBtnEditC(Sender).Text := '';
TBtnEditC(Sender).TxtCode := '';
end;
procedure TfrmZdyAttInputCP10.defnote3BtnClick(Sender: TObject);
begin
frmZdyAttachGYS_help := TfrmZdyAttachGYS_help.create(self);
with frmZdyAttachGYS_help do
begin
if showmodal = 1 then
begin
defnote3.Text := trim(cds_hz.fieldbyname('zdyName').asstring);
end;
free;
end;
end;
procedure TfrmZdyAttInputCP10.CYCMBtnClick(Sender: TObject);
begin
frmZdyCMZ_sel := TfrmZdyCMZ_sel.create(self);
with frmZdyCMZ_sel do
begin
if showmodal = 1 then
begin
CYCM.text := CDS_HZ.fieldbyname('CodeName').AsString;
end;
free;
end;
end;
procedure TfrmZdyAttInputCP10.cycolorBtnClick(Sender: TObject);
begin
frmZdyYS_sel := TfrmZdyYS_sel.create(self);
with frmZdyYS_sel do
begin
if showmodal = 1 then
begin
cycolor.text := CDS_HZ.fieldbyname('CodeName').AsString;
end;
free;
end;
end;
procedure TfrmZdyAttInputCP10.ToolButton7Click(Sender: TObject);
begin
// CopyAddRow(Tv2, CDS_Sub);
// with CDS_Sub do
// begin
// Edit;
// FieldByName('cyys').Value := '';
// FieldByName('YSFile').Value := '';
// Post;
// end;
frmZdyYS_sel := TfrmZdyYS_sel.create(self);
with frmZdyYS_sel do
begin
// if ShowModal = 1 then
// begin
// Self.CDS_Sub.Edit;
// Self.CDS_Sub.FieldByName('cyys').Value := trim(CDS_HZ.fieldbyname('CodeName').AsString);
//// Self.Order_Sub.FieldByName('SOrddefstr4').Value := Trim(ClientDataSet1.fieldbyname('Note').AsString);
// end;
if showmodal = 1 then
begin
CDS_HZ.First;
while not CDS_HZ.Eof do
begin
if CDS_HZ.fieldbyname('ssel').AsBoolean then
begin
// Self.CDS_Sub.Edit;
// Self.CDS_Sub.FieldByName('cyys').Value := trim(CDS_HZ.fieldbyname('CodeName').AsString);
CDS_Sub.Append;
CDS_Sub.FieldByName('cyys').Value := trim(CDS_HZ.fieldbyname('CodeName').AsString);
CDS_Sub.post;
end;
CDS_HZ.Next;
end;
tv2.Controller.EditingController.ShowEdit();
free;
end;
end;
end;
procedure TfrmZdyAttInputCP10.Tv2Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
FormGetPicYS := TFormGetPicYS.create(self);
with FormGetPicYS do
begin
fFlileFlag := self.fFlileFlag;
fkeyNo := CDS_Sub.fieldbyname('YSFile').asstring;
fkeyNo1 := CDS_Sub.fieldbyname('YSid').asstring;
pat1 := 'FileName';
pic1 := 'FilesOther';
FTFType := 'YS';
if showmodal = 1 then
begin
CDS_Sub.edit;
CDS_Sub.fieldbyname('YSFile').Value := trim(fkeyNo);
end;
free;
end;
end;
procedure TfrmZdyAttInputCP10.Tv2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
initImageYS(CDS_Sub.fieldbyname('YSFile').AsString);
end;
procedure TfrmZdyAttInputCP10.ToolButton9Click(Sender: TObject);
begin
if CDS_Sub.IsEmpty then
Exit;
if Trim(CDS_Sub.fieldbyname('YSId').AsString) <> '' then
begin
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
// with ADOCmd do
// begin
// Close;
// sql.Clear;
// sql.Add('delete TP_File where WBID=''' + Trim(CDS_HZ.fieldbyname('SubId').AsString) + ''' and TFType=''EWM'' ');
// ExecSQL;
// end;
with ADOQueryTmp do
begin
Close;
sql.Clear;
sql.Add('delete KH_YS where YSId=''' + Trim(CDS_Sub.fieldbyname('YSId').AsString) + '''');
ExecSQL;
end;
end;
CDS_Sub.Delete;
end;
end.