D7myYunxiang/云翔OA(WTOA.dll)/U_YGYPInPut_NDGZHZ.pas
DESKTOP-E401PHE\Administrator 1011cb7292 1
2025-01-20 13:04:03 +08:00

379 lines
9.6 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_YGYPInPut_NDGZHZ;
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, Menus, ExtDlgs;
type
TfrmYGYPInPut_NDGZHZ = class(TForm)
ToolBar1: TToolBar;
TBClose: TToolButton;
ADOTemp: TADOQuery;
ADOCmd: TADOQuery;
TBSave: TToolButton;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
DataSource1: TDataSource;
Order_Sub: TClientDataSet;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1BGName: TcxGridDBColumn;
v1BGQty: TcxGridDBColumn;
v1BGUnit: TcxGridDBColumn;
v1BGNote: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
Panel1: TPanel;
ToolBar2: TToolBar;
TAdd: TToolButton;
TDel: TToolButton;
Label4: TLabel;
SQName: TEdit;
Label7: TLabel;
GangWei: TEdit;
Dept: TEdit;
Label6: TLabel;
Label5: TLabel;
SQDate: TDateTimePicker;
SQType: TComboBox;
Label1: TLabel;
Label2: TLabel;
SQNote: TEdit;
Label3: TLabel;
ZDept: TEdit;
ADOQuery2: TADOQuery;
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure v1BGUnitPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1BGNamePropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure TaddClick(Sender: TObject);
procedure TDelClick(Sender: TObject);
private
TPInt:Integer;
procedure InitData();
function SaveData():Boolean;
{ Private declarations }
public
PState,CopyInt:Integer;
FBGMainID,FYGID:String;
{ Public declarations }
end;
var
frmYGYPInPut_NDGZHZ: TfrmYGYPInPut_NDGZHZ;
implementation
uses
U_DataLink,U_ZDYHelp,U_RTFun,U_ZDYHelpSel,U_YGYPZZChkList_BGYPLYSQ;
{$R *.dfm}
procedure TfrmYGYPInPut_NDGZHZ.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmYGYPInPut_NDGZHZ.InitData();
Var FDEPT:String;
Fint: Integer;
begin
with ADOQuery2 do
begin
Close;
sql.Clear;
sql.Add('select A.*,B.* from OA_YG_DangAn A ');
sql.Add('inner join SY_Dept B on A.DPID=B.DPID');
SQL.Add('where isnull(A.YGEName,YGName)='''+trim(DName)+'''');
Open;
end;
FDEPT:=ADOQuery2.fieldbyname('DPParent').AsString;
for Fint:=2 to ADOQuery2.fieldbyname('DPlevel').AsInteger-1 do
begin
with ADOCmd do
begin
close;
sql.Clear;
sql.Add('select * from SY_Dept where DPID='''+trim(FDEPT)+'''');
open;
end;
FDEPT:=Trim(ADOCmd.fieldbyname('DPParent').AsString);
end;
if ADOCmd.IsEmpty=False then
ZDept.Text:=trim(ADOCmd.fieldbyname('DPName').asstring);
with ADOCmd do
begin
Close;
sql.Clear;
sql.Add('select A.* from OA_YG_DangAN A ');
sql.add('where isnull(A.YGEName,A.YGName)='''+trim(DName)+''' ');
Open;
end;
SCSHDataNew(ADOCmd,Panel1,2);
SQName.Text:=trim(DName);
FYGID:=trim(ADOCmd.fieldbyname('YGID').asstring);
SQDate.DateTime:=SGetServerDate(ADOTemp);
with ADOCmd do
begin
Close;
sql.Clear;
sql.Add('select A.* from OA_YG_DangAN_BGYP A ');
sql.add('where A.BGMainID='''+trim(FBGMainID)+''' ');
Open;
end;
SCSHDataNew(ADOCmd,Panel1,1);
with ADOCmd do
begin
Close;
sql.Clear;
sql.Add('select A.* from OA_YG_DangAN_BGYP_Sub A ');
sql.add('where A.BGMainID='''+trim(FBGMainID)+'''');
Open;
end;
SCreateCDS20(ADOCmd,Order_Sub);
SInitCDSData20(ADOCmd,Order_Sub);
end;
procedure TfrmYGYPInPut_NDGZHZ.FormShow(Sender: TObject);
begin
InitData();
end;
function TfrmYGYPInPut_NDGZHZ.SaveData():Boolean;
var
maxno:String;
begin
Result:=False;
try
ADOCmd.Connection.BeginTrans;
if trim(FBGMainID)='' then
begin
if GetLSNo(ADOCmd,FBGMainid,'BY','OA_YG_DangAN_BGYP',4,1)=False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
Exit;
end;
end;
with ADOCmd do
begin
close;
sql.Clear;
sql.Add('select * from OA_YG_DangAN_BGYP ');
sql.add('where BGMainid='''+trim(FBGMainid)+'''');
open;
if ADOCmd.IsEmpty then append
else edit;
fieldbyname('BGMainid').value:=trim(FBGMainid);
RTSetsavedata(ADOCmd,'OA_YG_DangAN_BGYP',Panel1,1);
fieldbyname('YGID').AsString:=trim(FYGID);
post;
end;
with Order_Sub do
begin
first;
while not eof do
begin
if fieldbyname('BGSubid').AsString='' then
begin
if GetLSNo(ADOCmd,maxno,'BG','OA_YG_DangAN_BGYP_Sub',4,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(Order_Sub.fieldbyname('BGSubid').AsString);
end;
with ADOCmd do
begin
Close;
sql.Clear;
SQL.Add('select * from OA_YG_DangAN_BGYP_Sub where BGSubid='''+Trim(maxno)+'''');
Open;
if isempty then
begin
append;
fieldbyname('SQStatus').Value:=<>ύ';
end
else
edit;
fieldbyname('BGSubid').Value:=trim(Maxno);
fieldbyname('BGMainid').value:=trim(FBGMainid);
fieldbyname('BGLYSubid').Value:=trim(Order_Sub.fieldbyname('BGLYSubid').asstring);
RTSetSaveDataCDS(ADOCmd,Tv1,Order_Sub,'OA_YG_DangAN_BGYP_Sub',0);
post;
end;
next;
end;
end;
ADOCmd.Connection.CommitTrans;
Result:=True;
except
Result:=False;
ADOCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
end;
end;
procedure TfrmYGYPInPut_NDGZHZ.TBSaveClick(Sender: TObject);
var
FSFNO:String;
begin
ToolBar1.SetFocus;
if order_Sub.isempty then
begin
Application.MessageBox('<27><>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>','<27><>ʾ',0);
Exit;
end;
if Dept.Text='' then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><E1BDBB><EFBFBD><EFBFBD>','<27><>ʾ');
exit;
end;
if GangWei.Text='' then
begin
application.MessageBox('<27><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>','<27><>ʾ');
exit;
end;
if SaveData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>','<27><>ʾ',0);
Modalresult:=1;
end;
end;
procedure TfrmYGYPInPut_NDGZHZ.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmYGYPInPut_NDGZHZ.FormDestroy(Sender: TObject);
begin
frmYGYPInPut_NDGZHZ:=nil;
end;
procedure TfrmYGYPInPut_NDGZHZ.v1BGUnitPropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
frmZDYHelp:=TfrmZDYHelp.Create(self);
with frmZDYHelp do
begin
flag:='BGUnit';
flagname:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ';
if showModal=1 then
begin
with Order_Sub do
begin
edit;
fieldbyname('BGUnit').Value:=trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
free;
end;
end;
procedure TfrmYGYPInPut_NDGZHZ.v1BGNamePropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
frmZDYHelp:=TfrmZDYHelp.Create(self);
with frmZDYHelp do
begin
flag:='BGName';
flagname:='<27><EFBFBD><ECB9AB>Ʒ';
//FNote:=True;
//v1Note.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ';
if showModal=1 then
begin
with Order_Sub do
begin
edit;
fieldbyname('BGName').Value:=trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
//fieldbyname('BGUnit').Value:=trim(ClientDataSet1.fieldbyname('Note').AsString);
end;
end;
free;
end;
end;
procedure TfrmYGYPInPut_NDGZHZ.TaddClick(Sender: TObject);
begin
if trim(SQType.Text)='' then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>Ϊ<EFBFBD><CEAA>','<27><>ʾ');
exit;
end;
with Order_Sub do
begin
append;
post;
end;
{else
begin
frmYGYPZZChkList_BGYPLYSQ:=TfrmYGYPZZChkList_BGYPLYSQ.Create(self);
with frmYGYPZZChkList_BGYPLYSQ do
begin
FSQType:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if showmodal=1 then
begin
with Order_Main do
begin
first;
while not eof do
begin
if fieldbyname('Ssel').AsBoolean=true then
begin
with Order_Sub do
begin
edit;
fieldbyname('BGName').Value:=order_Main.fieldbyname('BGName').AsString;
fieldbyname('BGQty').Value:=Order_Main.fieldbyname('BGQty').asfloat;
fieldbyname('BGUnit').value:=Order_Main.fieldbyname('BGUnit').AsString;
fieldbyname('BGNote').value:=Order_Main.fieldbyname('BGNote').asstring;
fieldbyname('BGLYSubid').value:=Order_Main.fieldbyname('BGSubid').asstring;
post;
end;
end;
next;
end;
end;
end;
free;
end;
end;}
end;
procedure TfrmYGYPInPut_NDGZHZ.TDelClick(Sender: TObject);
begin
if Order_Sub.IsEmpty then exit;
with ADOCmd do
begin
close;
sql.Clear;
sql.Add('delete from OA_YG_DangAN_BGYP_Sub ');
sql.add('where BGSubid='''+trim(Order_Sub.fieldbyname('BGSubid').AsString)+'''');
execsql;
end;
Order_Sub.Delete;
end;
end.