D7XHshengfang/盛纺贸易管理/U_KHDYInPut.pas
DESKTOP-E401PHE\Administrator 0cb161cfb3 ~
2025-04-30 23:58:03 +08:00

440 lines
10 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_KHDYInPut;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxClasses, cxControls,
cxGridCustomView, cxGrid, cxMemo, cxRichEdit, ComCtrls, cxContainer,
cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB,
ExtCtrls, BtnEdit, cxCalendar,StrUtils, cxDropDownEdit,jpeg,
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP, cxPC,
cxGridCustomPopupMenu, cxGridPopupMenu, FTComboBox;
type
TfrmKHDYInPut = class(TForm)
ToolBar1: TToolBar;
TBClose: TToolButton;
ScrollBox1: TScrollBox;
ADOTemp: TADOQuery;
ADOCmd: TADOQuery;
ADOQuery1: TADOQuery;
TBSave: TToolButton;
Panel3: TPanel;
Label1: TLabel;
Label10: TLabel;
Label34: TLabel;
Label4: TLabel;
Note: TRichEdit;
DYDate: TDateTimePicker;
FactoryName: TBtnEditA;
CPName: TEdit;
Label5: TLabel;
StyleNo: TEdit;
Label6: TLabel;
KHName: TBtnEditA;
Label8: TLabel;
DuiSeGuangYuan: TBtnEditA;
Label9: TLabel;
ChiCunNote: TBtnEditA;
Label11: TLabel;
ColorHZ: TEdit;
Label12: TLabel;
HXHZ: TEdit;
Label13: TLabel;
DYPerson: TBtnEditA;
Label2: TLabel;
KHNameJC: TEdit;
Label3: TLabel;
YWY: TEdit;
ToolBar2: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column14: TcxGridDBColumn;
v1Column20: TcxGridDBColumn;
v1SOrddefstr1: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
v1Column1: TcxGridDBColumn;
DataSource1: TDataSource;
Order_Sub: TClientDataSet;
Label7: TLabel;
GDPerson: TBtnEditA;
DYNo: TEdit;
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure FactoryNameBtnClick(Sender: TObject);
procedure KHNameBtnClick(Sender: TObject);
procedure DuiSeGuangYuanBtnClick(Sender: TObject);
procedure ChiCunNoteBtnClick(Sender: TObject);
procedure DYPersonBtnClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure GDPersonBtnClick(Sender: TObject);
private
procedure InitData();
function SaveData():Boolean;
{ Private declarations }
public
canshu1:String;
PState,CopyInt:Integer;
FMainId:String;
{ Public declarations }
end;
var
frmKHDYInPut: TfrmKHDYInPut;
implementation
uses
U_DataLink,U_ZDYHelp,U_RTFun,U_ZDYHelpSel,U_GYSList, U_ZdyAttachment;
{$R *.dfm}
procedure TfrmKHDYInPut.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmKHDYInPut.InitData();
begin
with ADOQuery1 do
begin
Close;
sql.Clear;
sql.Add('select * from KH_DaYang where DYId='''+Trim(FMainId)+'''');
Open;
end;
SCSHDataNew(ADOQuery1,Panel3,0);
DYNo.Text:=trim(ADOQuery1.fieldbyname('DYNo').AsString);
with ADOQuery1 do
begin
Close;
sql.Clear;
sql.Add('select * from KH_DaYang_MX where DYId='''+Trim(FMainId)+'''');
Open;
end;
SCreateCDS20(ADOQuery1,Order_Sub);
SInitCDSData20(ADOQuery1,Order_Sub);
if PState=0 then
begin
DYDate.Date:=SGetServerDate(ADOTemp);
end;
if CopyInt=99 then
begin
FMainId:='';
with Order_Sub do
begin
first;
while not eof do
begin
edit;
fieldbyname('DYID').AsString:='';
Fieldbyname('DMId').AsString:='';
next;
end;
end;
end;
end;
procedure TfrmKHDYInPut.FormShow(Sender: TObject);
begin
InitData();
end;
function TfrmKHDYInPut.SaveData():Boolean;
var
maxno,maxsubno:String;
begin
Result:=False;
try
ADOCmd.Connection.BeginTrans;
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if Trim(FMainId)='' then
begin
if GetLSNo(ADOCmd,maxno,'SK','KH_DaYang',3,1)=False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
Exit;
end;
end else
begin
maxno:=Trim(FMainId);
end;
with ADOCmd do
begin
Close;
sql.Clear;
SQL.Add('select * from KH_DaYang where DYId='''+Trim(FMainId)+'''');
Open;
end;
with ADOCmd do
begin
if Trim(FMainId)='' then
begin
Append;
if CopyInt=99 then
begin
FieldByName('DYNo').Value:=trim(DYNo.Text);
end
else
FieldByName('DYNo').Value:='SK'+Trim(KHNameJC.Text)+Copy(Trim(maxno),3,9);
end
else begin
Edit;
FieldByName('DYNo').Value:=trim(DYNo.Text);
end;
FieldByName('DYId').Value:=Trim(maxno);
if Trim(FMainId)='' then
begin
FieldByName('Filler').Value:=Trim(DName);
FieldByName('FillerCode').Value:=Trim(DCode);
end else
begin
FieldByName('Editer').Value:=Trim(DName);
FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp);
end;
RTSetsavedata(ADOCmd,'KH_DaYang',Panel3,0);
FieldByName('Valid').Value:='Y';
Post;
end;
///<2F><><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD>
with Order_Sub do
begin
First;
while not Eof do
begin
if Trim(Order_Sub.fieldbyname('DMId').AsString)='' then
begin
if GetLSNo(ADOCmd,maxsubno,'DM','KH_DaYang_MX',3,1)=False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
end else
begin
maxsubno:=Trim(Order_Sub.fieldbyname('DMId').AsString);
end;
with ADOCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from KH_DaYang_MX where DMId='''+Trim(maxsubno)+'''');
Open;
end;
with ADOCmd do
begin
if Trim(Order_Sub.fieldbyname('DMId').AsString)='' then
Append
else
Edit;
FieldByName('DYId').Value:=Trim(maxno);
FieldByName('DMId').Value:=Trim(maxsubno);
RTSetSaveDataCDS(ADOCmd,Tv1,Order_Sub,'KH_DaYang_MX',0);
Post;
end;
Order_Sub.Edit;
Order_Sub.FieldByName('DMId').Value:=Trim(maxsubno);
//Order_Sub.Post;
Next;
end;
end;
ADOCmd.Connection.CommitTrans;
FMainId:=Trim(maxno);
Result:=True;
except
Result:=False;
ADOCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
end;
end;
procedure TfrmKHDYInPut.TBSaveClick(Sender: TObject);
begin
ToolBar1.SetFocus;
if Trim(FactoryName.Text)='' then
begin
Application.MessageBox('<27>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
if Trim(CPName.Text)='' then
begin
Application.MessageBox('Ʒ<><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if Trim(KHName.Text)='' then
begin
Application.MessageBox('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if Trim(DYPerson.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if Trim(GDPerson.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if SaveData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>','<27><>ʾ',0);
Modalresult:=1;
end;
end;
procedure TfrmKHDYInPut.FactoryNameBtnClick(Sender: TObject);
begin
try
frmGYSList:=TfrmGYSList.Create(Application);
with frmGYSList do
begin
if ShowModal=1 then
begin
Self.FactoryName.Text:=Trim(frmGYSList.CDS_HZ.fieldbyname('ZdyName').AsString);
Self.FactoryName.TxtCode:=Trim(frmGYSList.CDS_HZ.fieldbyname('ZdyCode').AsString);
end;
end;
finally
frmGYSList.Free;
end;
end;
procedure TfrmKHDYInPut.KHNameBtnClick(Sender: TObject);
begin
try
frmZdyAttachment:=TfrmZdyAttachment.Create(Application);
with frmZdyAttachment do
begin
fkhType:='';
if ShowModal=1 then
begin
KHName.Text:=Trim(CDS_HZ.fieldbyname('ZDYName').AsString);
KHName.TxtCode:=Trim(CDS_HZ.fieldbyname('ZDYCode').AsString);
KHNameJC.Text:=Trim(CDS_HZ.fieldbyname('zdyNameZ').AsString);
YWY.Text:=Trim(CDS_HZ.fieldbyname('DEFstr5').AsString);
end;
end;
finally
frmZdyAttachment.Free;
end;
end;
procedure TfrmKHDYInPut.DuiSeGuangYuanBtnClick(Sender: TObject);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='DuiSeGuangYuan';
flagname:='<27><>ɫ<EFBFBD><C9AB>Դ';
if ShowModal=1 then
begin
DuiSeGuangYuan.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmKHDYInPut.ChiCunNoteBtnClick(Sender: TObject);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='ChiCunNote';
flagname:='<27>ߴ<EFBFBD>Ҫ<EFBFBD><D2AA>';
if ShowModal=1 then
begin
ChiCunNote.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmKHDYInPut.DYPersonBtnClick(Sender: TObject);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='DYPerson';
flagname:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
fnote:=True;
V1Note.Caption:='<27>绰';
if ShowModal=1 then
begin
DYPerson.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmKHDYInPut.ToolButton1Click(Sender: TObject);
begin
with Order_Sub do
begin
Append;
Post;
end;
with Order_Sub do
begin
Edit;
FieldByName('XHInt').Value:=Order_Sub.RecordCount;
Post;
end;
end;
procedure TfrmKHDYInPut.ToolButton2Click(Sender: TObject);
begin
if Order_Sub.IsEmpty then Exit;
if Trim(Order_Sub.fieldbyname('DMId').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 KH_DaYang_MX where DMId='''+Trim(Order_Sub.fieldbyname('DMId').AsString)+'''');
ExecSQL;
end;
end;
Order_Sub.Delete;
end;
procedure TfrmKHDYInPut.GDPersonBtnClick(Sender: TObject);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='PFGenDanPerson';
flagname:='<27><><EFBFBD><EFBFBD>Ա';
fnote:=True;
V1Note.Caption:='<27>绰';
if ShowModal=1 then
begin
GDPerson.Text:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
end.