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 + -
显示快捷键?