ad_enter_addassetcard.pas
来自「一个MRPII系统源代码版本」· PAS 代码 · 共 248 行
PAS
248 行
unit Ad_Enter_AddAssetCard;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Outer, ExtPrintReport, Db, ActnList, AdODB, Grids, DBGridEh,
StdCtrls, ExtCtrls, ComCtrls, ToolWin, Menus, DBCtrls, jpeg;
Type
TFrm_Ad_Enter_AddAssetCard = Class(TFrm_Base_Outer)
AdoQry_MainAssetCode: TStringField;
AdoQry_MainAssetName: TStringField;
AdoQry_MainAssetSujectCode: TStringField;
AdoQry_MainDepreciationSubjectCode: TStringField;
AdoQry_MainAssetTypeCode: TStringField;
AdoQry_MainDepositaryCode: TStringField;
AdoQry_MainInAccountDate: TDateTimeField;
AdoQry_MainStartUseDate: TDateTimeField;
AdoQry_MainAdChangeTypeCode: TStringField;
AdoQry_MainUseStatusCode: TStringField;
AdoQry_MainCurrencyCode: TStringField;
AdoQry_MainExchangeRate: TFloatField;
AdoQry_MainFirstAmount: TFloatField;
AdoQry_MainFirstFAmount: TFloatField;
AdoQry_MainDepreciationWay: TIntegerField;
AdoQry_MainIntendingPeriod: TIntegerField;
AdoQry_MainDraffRate: TFloatField;
AdoQry_MainDraffValue: TFloatField;
AdoQry_MainPeriodRate: TFloatField;
AdoQry_MainPeriodValue: TFloatField;
AdoQry_MainUsedPeriod: TIntegerField;
AdoQry_MainDepreciationValue: TFloatField;
AdoQry_MainNetValue: TFloatField;
AdoQry_MainIntending: TFloatField;
AdoQry_MainFinishTask: TFloatField;
AdoQry_MainTaskUom: TStringField;
AdoQry_MainPCDepreciation: TFloatField;
AdoQry_MainCreateDate: TDateTimeField;
AdoQry_MainCreateEmployeeCode: TStringField;
AdoQry_MainEditDate: TDateTimeField;
AdoQry_MainEdItEmployeeCode: TStringField;
AdoQry_MainAssetTypeName: TStringField;
AdoQry_MainDepositaryName: TStringField;
AdoQry_MainUseStatusName: TStringField;
AdoQry_MainAdChangeTypeName: TStringField;
AdoQry_MainEmployeeName1: TStringField;
AdoQry_MainEmployeeName: TStringField;
AdoQry_MainCURRENCYName: TStringField;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
DBText1: TDBText;
DBText2: TDBText;
DBText3: TDBText;
DBText4: TDBText;
AdoQry_MainKmName1: TStringField;
AdoQry_MainKmName: TStringField;
AdoQry_MainUomCode: TStringField;
AdoQry_MainstArtstopusedate: TDateTimeField;
AdoQry_MainUomName: TStringField;
private
function isQuery: Boolean;
procedure DelDeptInfo;
procedure SaveHistoryAseetCArd(ChgType:String);
{ Private declarations }
public
procedure InitForm(AdOConnection:TAdOConnection;ReadOnly:Boolean);Override;
function SetDeleteSql:String;Override;
{ Public declarations }
end;
var
Frm_Ad_Enter_AddAssetCard: TFrm_Ad_Enter_AddAssetCard;
implementation
uses Ad_Enter_AssetCard_D,Sys_Global;
{$R *.DFM}
procedure TFrm_Ad_Enter_AddAssetCard. InitForm(AdOConnection:TAdOConnection;ReadOnly:Boolean);
begin
Application.ProcessMessages;
ExtendCaption:=False;
inherited;
If isQuery Then
begin
DispInfo('固定资产模块还没起动,不能操作此功能',3);
Self.Close;
Abort;
end;
SelectFromSQL:='select top 0'+
'Ad_AssetCard.AssetCode , '+
'Ad_AssetCard.AssetName , '+
'Ad_AssetCard.UomCode, '+
'Uom.UomName , '+
'Ad_AssetCard.AssetSujectCode , '+
'Ad_AssetCard.DepreciationSubjectCode , '+
'Ad_AssetCard.AssetTypeCode , '+
'Ad_AssetCard.DepositaryCode , '+
'Ad_AssetCard.InAccountDate , '+
'Ad_AssetCard.StartUseDate , '+
'Ad_AssetCard.stArtstopusedate,'+
'Ad_AssetCard.AdChangeTypeCode , '+
'Ad_AssetCard.UseStatusCode ,'+
'Ad_AssetCard.CurrencyCode ,'+
'Ad_AssetCard.ExchangeRate ,'+
'Ad_AssetCard.FirstAmount ,'+
'Ad_AssetCard.FirstFAmount ,'+
'Ad_AssetCard.DepreciationWay ,'+
'Ad_AssetCard.IntendingPeriod ,'+
'Ad_AssetCard.DraffRate ,'+
'Ad_AssetCard.DraffValue ,'+
'Ad_AssetCard.PeriodRate ,'+
'Ad_AssetCard.PeriodValue ,'+
'Ad_AssetCard.UsedPeriod ,'+
'Ad_AssetCard.DepreciationValue ,'+
'Ad_AssetCard.NetValue ,'+
'Ad_AssetCard.Intending ,'+
'Ad_AssetCard.FinishTask ,'+
'Ad_AssetCard.TaskUom ,'+
'Ad_AssetCard.PCDepreciation ,'+
'Ad_AssetCard.CreateDate ,'+
'Ad_AssetCard.CreateEmployeeCode ,'+
'Ad_AssetCard.EditDate ,'+
'Ad_AssetCard.EdItEmployeeCode ,'+
'Ad_AssetType.AssetTypeName,Ad_Depositary.DepositaryName,'+
'Ad_UseStatus.UseStatusName,Ad_ChangeType.AdChangeTypeName,'+
'Employee1.EmployeeName EmployeeName1,Employee.EmployeeName,Currency.CURRENCYName, '+
'Gl_AccountSubject1.KmName KmName1,Gl_AccountSubject.KmName '+
'from Ad_AssetCard '+
'left join Ad_AssetType on Ad_AssetCard.AssetTypeCode=Ad_AssetType.AssetTypeCode '+
'left join Ad_Depositary on Ad_AssetCard.DepositaryCode=Ad_Depositary.DepositaryCode '+
'left join Ad_UseStatus on Ad_AssetCard.UseStatusCode=Ad_UseStatus.UseStatusCode '+
'left join Ad_ChangeType on Ad_AssetCard.AdChangeTypeCode=Ad_ChangeType.AdChangeTypeCode '+
'Left Join Gl_AccountSubject Gl_AccountSubject1 On Ad_AssetCard.AssetSujectCode=Gl_AccountSubject1.KmCode '+
'Left Join Gl_AccountSubject On Ad_AssetCard.AssetSujectCode=Gl_AccountSubject.KmCode '+
'Left Join Employee Employee1 On Ad_AssetCard.CreateEmployeeCode=Employee1.EmployeeCode '+
'Left Join Employee On Ad_AssetCard.EdItEmployeeCode=Employee.EmployeeCode '+
'Left Join Currency On Ad_AssetCard.CurrencyCode=Currency.CURRENCYCode ' +
' left join Uom on Ad_AssetCard.UomCode=Uom.UomCode ';
OrderByFields:='AssetCode';
AmountFields:='FirstAmount,FirstFAmount';
FreeFields:='ExchangeRate,IntendingPeriod,DraffRate,DraffValue,PeriodRate,PeriodValue,'
+',UsedPeriod,DepreciationValue,NetValue,Intending,FinishTask,TaskUom,PCDepreciation,';
GetData;
Frm_Sys_Detail:=TFrm_Ad_Enter_AssetCard_D.Create(Application);
Frm_Sys_Detail.SetUserParam(Param1,Param2,Param3,Param4,Param5,Param6);
Frm_Sys_Detail.SetSysParam(UserCode,ModuleCode,MenuId,LoginDate);
Frm_Sys_Detail.InitForm(DBConnect,'Add',AdoQry_Main);
Frm_Sys_Detail.ShowModal;
Self.Close;
end;
function TFrm_Ad_Enter_AddAssetCard.SetDeleteSql:String;
begin
SaveHistoryAseetCArd('删除');
DelDeptInfo;
Result:='Delete From Ad_AssetCard'
+' Where AssetCode='''+AdoQry_Main.fieldbyname('AssetCode').AsString+'''';
end;
procedure TFrm_Ad_Enter_AddAssetCard.SaveHistoryAseetCArd(ChgType:String);
begin
with AdoQry_Tmp do
begin
Close;
Sql.clear;
SQL.Text:='Insert into Ad_AssetCardHistory(AssetCode,AssetName,UomCode,AssetSujectCode,DepreciationSubjectCode,'+
'AssetTypeCode,DepositaryCode,InAccountDate,StartUseDate,stArtstopusedate,'+
'AdChangeTypeCode,UseStatusCode,CurrencyCode,ExchangeRate,'+
'FirstAmount,FirstFAmount,DepreciationWay,IntendingPeriod,'+
'DraffRate,DraffValue,PeriodRate,PeriodValue,UsedPeriod,'+
'DepreciationValue,NetValue,Intending,FinishTask,'+
'TaskUom,PCDepreciation,CreateDate,CreateEmployeeCode,'+
'EditDate,EdItEmployeeCode,ChgEmployeeCode,ChgTime,ChgType)'
+' Values('
+' '''+AdoQry_Main.fieldbyname('AssetCode').AsString+''''
+','''+AdoQry_Main.fieldbyname('AssetName').AsString+''''
+','''+AdoQry_Main.fieldbyname('UomCode').asstring+''''
+','''+AdoQry_Main.fieldbyname('AssetSujectCode').AsString+''''
+','''+AdoQry_Main.fieldbyname('DepreciationSubjectCode').AsString+''''
+','''+AdoQry_Main.fieldbyname('AssetTypeCode').AsString+''''
+','''+AdoQry_Main.fieldbyname('DepositaryCode').AsString+''''
+','''+AdoQry_Main.fieldbyname('InAccountDate').AsString+''''
+','''+AdoQry_Main.fieldbyname('StartUseDate').AsString+''''
+','''+AdoQry_Main.fieldbyname('StArtstopUseDate').AsString+''''
+','''+AdoQry_Main.fieldbyname('AdChangeTypeCode').AsString+''''
+','''+AdoQry_Main.fieldbyname('UseStatusCode').AsString+''''
+','''+AdoQry_Main.fieldbyname('CurrencyCode').AsString+''''
+','''+AdoQry_Main.fieldbyname('ExchangeRate').AsString+''''
+','''+AdoQry_Main.fieldbyname('FirstAmount').AsString+''''
+','''+AdoQry_Main.fieldbyname('FirstFAmount').AsString+''''
+','''+AdoQry_Main.fieldbyname('DepreciationWay').AsString+''''
+','''+AdoQry_Main.fieldbyname('IntendingPeriod').AsString+''''
+','''+AdoQry_Main.fieldbyname('DraffRate').AsString+''''
+','''+AdoQry_Main.fieldbyname('DraffValue').AsString+''''
+','''+AdoQry_Main.fieldbyname('PeriodRate').AsString+''''
+','''+AdoQry_Main.fieldbyname('PeriodValue').AsString+''''
+','''+AdoQry_Main.fieldbyname('UsedPeriod').AsString+''''
+','''+AdoQry_Main.fieldbyname('DepreciationValue').AsString+''''
+','''+AdoQry_Main.fieldbyname('NetValue').AsString+''''
+','''+AdoQry_Main.fieldbyname('Intending').AsString+''''
+','''+AdoQry_Main.fieldbyname('FinishTask').AsString+''''
+','''+AdoQry_Main.fieldbyname('TaskUom').AsString+''''
+','''+AdoQry_Main.fieldbyname('PCDepreciation').AsString+''''
+','''+AdoQry_Main.fieldbyname('CreateDate').AsString+''''
+','''+AdoQry_Main.fieldbyname('CreateEmployeeCode').AsString+''''
+','''+AdoQry_Main.fieldbyname('EditDate').AsString+''''
+','''+AdoQry_Main.fieldbyname('EdItEmployeeCode').AsString+''''
+','''+UserCode+''''
+',getdate()'
+','''+ChgType+''''
+')';
ExecSQL;
end;
end;
procedure TFrm_Ad_Enter_AddAssetCard.DelDeptInfo;
begin
with AdoQry_Tmp do
begin
Close;
Sql.clear;
SQL.Text:='delete from Ad_UseDept where AssetCode='''+AdoQry_Main.fieldbyname('AssetCode').AsString+''' ';
ExecSQL;
Close;
Sql.clear;
SQL.Text:='delete from Ad_Pertainfixing where AssetCode='''+AdoQry_Main.fieldbyname('AssetCode').AsString+''' ';
ExecSQL;
end;
end;
function TFrm_Ad_Enter_AddAssetCard.isQuery: Boolean;
begin
with AdoQry_Tmp do
begin
Close;
Sql.clear;
SQL.Add('select ParamValueN from Ad_Param Where ParamCode=''StartUseAd''');
Open;
If Not Eof Then Result:=fieldbyname('ParamValueN').AsInteger=0 Else Result:=True;
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?