⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ad_enter_assetcard_d.pas

📁 一个MRPII系统源代码版本
💻 PAS
📖 第 1 页 / 共 4 页
字号:
unit Ad_Enter_AssetCard_D;
Interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Base_Detail, StdCtrls, Db, AdODB, ExtCtrls, ExtEdit, Mask, linkedit;
Type
  TDeptInfo = Class
    public  RecordCount:Integer;
    public  AssetCode:Array[0..100] of String;
    public  DeptCode:Array[0..100] of String;
    public  DeptName:Array[0..100] of String;
    public  kmCode:Array[0..100] of string;
    public  kmName:Array[0..100] of string;
    public  AssignRate:Array[0..100] of String;
    public  RemArk:Array[0..100] of String;

    public  RecordCountKm:Integer;
    public  AssetCodeKm:Array[0..100] of String;
    public  fixingName:Array[0..100] of String;
    public  fixingspec:Array[0..100] of String;
    public  UomCode:Array[0..100] of String;
    public  UomName:Array[0..100] of String;
    public  fixingAmount:Array[0..100] of double;
    public  fixingsum:Array [0..100] of double;
    public  RemArkKm:Array[0..100] of String;
end;
Type
  TFrm_Ad_Enter_AssetCard_D = Class(TFrm_Base_Detail)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Edt_AssetCode: TEdit;
    EDT_AssetName: TEdit;
    lbl_DeptName: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    EDT_DraffRate: TExtEdit;
    Label7: TLabel;
    EDT_AssetTypeName: TExtEdit;
    Label9: TLabel;
    EDT_FirstAmount: TExtEdit;
    Label10: TLabel;
    Label11: TLabel;
    EDT_PeriodRate: TExtEdit;
    Label12: TLabel;
    Label13: TLabel;
    EDT_UsedPeriod: TExtEdit;
    Label14: TLabel;
    Label15: TLabel;
    EDT_ExchangeRate: TExtEdit;
    EDT_FirstFAmount: TExtEdit;
    Label17: TLabel;
    EDT_IntendingPeriod: TExtEdit;
    Label18: TLabel;
    EDT_DraffValue: TExtEdit;
    Label19: TLabel;
    EDT_PeriodValue: TExtEdit;
    Label20: TLabel;
    EDT_DepreciationValue: TExtEdit;
    Label21: TLabel;
    EDT_Intending: TExtEdit;
    Label22: TLabel;
    EDT_TaskUom: TExtEdit;
    Label23: TLabel;
    EDT_NetValue: TExtEdit;
    EDT_AssetTypeCode: TLinkEdit;
    Label24: TLabel;
    EDT_DepositaryCode: TLinkEdit;
    EDT_DepositaryName: TExtEdit;
    MEDT_InAccountDate: TMaskEdit;
    Label25: TLabel;
    MEDT_StartUseDate: TMaskEdit;
    Label26: TLabel;
    EDT_AdChangeTypeCode: TLinkEdit;
    EDT_AdChangeTypeName: TExtEdit;
    Label27: TLabel;
    EDT_UseStatusCode: TLinkEdit;
    EDT_UseStatusName: TExtEdit;
    Label8: TLabel;
    EDT_CurrencyCode: TLinkEdit;
    EDT_CurrencyName: TExtEdit;
    Label16: TLabel;
    EDT_FinishTask: TExtEdit;
    Label28: TLabel;
    EDT_PcDepreciation: TExtEdit;
    CMBX_DepreciationWay: TComboBox;
    Label29: TLabel;
    MEDT_CreateDate: TMaskEdit;
    Label30: TLabel;
    MEDT_EditDate: TMaskEdit;
    Label31: TLabel;
    EDT_CreateEmployeeCode: TLinkEdit;
    EDT_CreateEmployeeName: TExtEdit;
    Label32: TLabel;
    EDT_EdItEmployeeCode: TLinkEdit;
    EDT_EdItEmployeeName: TExtEdit;
    EDT_DepreciationSubjectCode: TLinkEdit;
    EDT_DepreciationSubjectName: TExtEdit;
    EDT_AssetSujectCode: TLinkEdit;
    EDT_AssetSujectName: TExtEdit;
    Button1: TButton;
    Button2: TButton;
    Label33: TLabel;
    Edt_UomCode: TLinkEdit;
    ExtEdit1: TExtEdit;
    Label34: TLabel;
    MEDT_StArtStopUseDate: TMaskEdit;
    Label35: TLabel;
    Edt_StArtDepreciationMonth: TMaskEdit;
    procedure Edt_AssetCodeExit(Sender: TObject);
    procedure EDT_AssetTypeCodeKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure EDT_DepositaryCodeKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure EDT_AdChangeTypeCodeKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure EDT_UseStatusCodeKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure EDT_CurrencyCodeExit(Sender: TObject);
    procedure EDT_CreateEmployeeCodeExit(Sender: TObject);
    procedure EDT_EdItEmployeeCodeExit(Sender: TObject);
    procedure EDT_AssetTypeCodeButtonClick(Sender: TObject);
    procedure EDT_DepositaryCodeButtonClick(Sender: TObject);
    procedure EDT_AdChangeTypeCodeButtonClick(Sender: TObject);
    procedure EDT_UseStatusCodeButtonClick(Sender: TObject);
    procedure EDT_AssetTypeCodeExit(Sender: TObject);
    procedure EDT_DepositaryCodeExit(Sender: TObject);
    procedure EDT_AdChangeTypeCodeExit(Sender: TObject);
    procedure EDT_UseStatusCodeExit(Sender: TObject);
    procedure EDT_AssetSujectCodeExit(Sender: TObject);
    procedure EDT_AssetSujectCodeKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure EDT_AssetSujectCodeButtonClick(Sender: TObject);
    procedure EDT_DepreciationSubjectCodeExit(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure btn_okClick(Sender: TObject);
    procedure Edt_UomCodeChange(Sender: TObject);
    procedure MEDT_StArtStopUseDateExit(Sender: TObject);
    procedure Edt_UomCodeButtonClick(Sender: TObject);
    procedure Edt_UomCodeKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edt_UomCodeExit(Sender: TObject);
    procedure CMBX_DepreciationWayChange(Sender: TObject);
    procedure EDT_FirstAmountExit(Sender: TObject);
    procedure EDT_DepreciationValueExit(Sender: TObject);
    procedure EDT_DraffRateExit(Sender: TObject);
    procedure EDT_AssetSujectCodeChange(Sender: TObject);
    procedure EDT_DepreciationSubjectCodeChange(Sender: TObject);
    procedure EDT_CreateEmployeeCodeChange(Sender: TObject);
    procedure EDT_EdItEmployeeCodeChange(Sender: TObject);
    procedure EDT_FirstFAmountChange(Sender: TObject);
    procedure EDT_UsedPeriodExit(Sender: TObject);
    procedure EDT_IntendingPeriodExit(Sender: TObject);
  private
    HeadText:Array[0..12] of String;
    procedure InitDeptInfo;
    procedure SaveDeptInfo;
    procedure SaveKmInfo;
    procedure SaveHistoryAseetCArd(ChgType:String);
    { Private declarations }
  public
    DeptInfo:TDeptInfo;
    procedure InitControls; Override;
    procedure SaveData; Override;
    { Public declarations }
  end;
var
  Frm_Ad_Enter_AssetCard_D: TFrm_Ad_Enter_AssetCard_D;

implementation

uses Sys_Global, Ad_Enter_AssetCardUseDept,
  Ad_Enter_AssetCardDepreciationSubject;

{$R *.DFM}

procedure TFrm_Ad_Enter_AssetCard_D.Edt_AssetCodeExit(Sender: TObject);
begin
  inherited;
  if ActiveControl.Name='btn_Cancel' then
    exit;
  if (not BlankInStrCheck(Edt_AssetCode.Text,'固定资产编号')) or
   (not BlankCheck(Edt_AssetCode.text,'固定资产编号')) then
  begin
    TWinControl(Sender).SetFocus;
    abort;
  end;

  if (Add)or((not Add) and
    (TEdit(Sender).Text<>AdoQry_Maintain.fieldbyname('AssetCode').AsString)) then
  begin
    with AdoQry_Tmp do
    begin
      Close;
      SQL.clear;
      SQL.Add('Select AssetCode From Ad_AssetCard Where AssetCode='''+TEdit(Sender).Text+'''');
      Open;
      if fieldbyname('AssetCode').AsString<>'' then
      begin
        DispInfo('  固定资产编号已经存在,不允许增加或修改!  ',1);
        TWinControl(Sender).SetFocus;
        Abort;
      end;
    end;
  end;
end;

procedure TFrm_Ad_Enter_AssetCard_D.InitControls;
var
  NowDate:String;
begin
  if Add then
  begin
    SetFocus_Control:=Edt_AssetCode;
    Edt_AssetCode.Enabled:=True;
  end
  else
    SetFocus_Control:=EDT_AssetName;
  inherited;
  with AdoQry_Maintain do
  begin
    Edt_AssetCode.Text:=fieldbyname('AssetCode').AsString;
    EDT_AssetName.Text:=fieldbyname('AssetName').AsString;
    edt_UomCode.Text:=fieldbyname('UomCode').asstring;
    Extedit1.Text:=fieldbyname('UomName').asstring;
    EDT_AssetSujectCode.Text:=fieldbyname('AssetSujectCode').AsString;
    EDT_AssetSujectName.Text:=fieldbyname('KmName1').AsString;
    EDT_DepreciationSubjectCode.Text:=fieldbyname('DepreciationSubjectCode').AsString;
    EDT_DepreciationSubjectName.Text:=fieldbyname('KmName').AsString;
    EDT_AssetTypeCode.Text:=fieldbyname('AssetTypeCode').AsString;
    EDT_AssetTypeName.Text:=fieldbyname('AssetTypeName').AsString;
    EDT_DepositaryCode.Text:=fieldbyname('DepositaryCode').AsString;
    EDT_DepositaryName.Text:=fieldbyname('DepositaryName').AsString;
    MEDT_InAccountDate.Text:=fieldbyname('InAccountDate').AsString;
    MEDT_StartUseDate.Text:=fieldbyname('StartUseDate').AsString;
    MEDT_StArtstopUseDate.Text:=fieldbyname('StArtstopUseDate').AsString;
    EDT_AdChangeTypeCode.Text:=fieldbyname('AdChangeTypeCode').AsString;
    EDT_AdChangeTypeName.Text:=fieldbyname('AdChangeTypeName').AsString;
    EDT_UseStatusCode.Text:=fieldbyname('UseStatusCode').AsString;
    EDT_UseStatusName.Text:=fieldbyname('UseStatusName').AsString;
    EDT_CurrencyCode.Text:=fieldbyname('CurrencyCode').AsString;
    EDT_CurrencyName.Text:=fieldbyname('CurrencyName').AsString;
    EDT_ExchangeRate.Text:=fieldbyname('ExchangeRate').AsString;
    EDT_FirstAmount.Text:=fieldbyname('FirstAmount').AsString;
    EDT_FirstFAmount.Text:=fieldbyname('FirstFAmount').AsString;
    CMBX_DepreciationWay.ItemIndex:=fieldbyname('DepreciationWay').asinteger-1;
    EDT_IntendingPeriod.Text:=fieldbyname('IntendingPeriod').AsString;
    EDT_DraffRate.Text:=fieldbyname('DraffRate').AsString;
    EDT_DraffValue.Text:=fieldbyname('DraffValue').AsString;
    EDT_PeriodRate.Text:=fieldbyname('PeriodRate').AsString;
    EDT_PeriodValue.Text:=fieldbyname('PeriodValue').AsString;
    EDT_UsedPeriod.Text:=fieldbyname('UsedPeriod').AsString;
    EDT_DepreciationValue.Text:=fieldbyname('DepreciationValue').AsString;
    EDT_NetValue.Text:=fieldbyname('NetValue').AsString;
    EDT_Intending.Text:=fieldbyname('Intending').AsString;
    EDT_FinishTask.Text:=fieldbyname('FinishTask').AsString;
    EDT_TaskUom.Text:=fieldbyname('TaskUom').AsString;
    EDT_PcDepreciation.Text:=fieldbyname('PCDepreciation').AsString;
    MEDT_CreateDate.Text:=fieldbyname('CreateDate').AsString;
    MEDT_EditDate.Text:=fieldbyname('EditDate').AsString;
    EDT_CreateEmployeeCode.Text:=fieldbyname('CreateEmployeeCode').AsString;
    EDT_CreateEmployeeName.Text:=fieldbyname('EmployeeName1').AsString;
    EDT_EdItEmployeeCode.Text:=fieldbyname('EdItEmployeeCode').AsString;
    EDT_EdItEmployeeName.Text:=fieldbyname('EmployeeName').AsString;
    Edt_StArtDepreciationMonth.Text:=fieldbyname('StArDepreciationMonth').AsString;
    Edt_AssetCode.MaxLength:=fieldbyname('AssetCode').size;

  end;
  if not Add then
  begin
    Edt_AssetCode.Enabled:=False;
    InitDeptInfo;
    MEDT_EditDate.Text:=FormatDateTime('yyyy.mm.dd',Date);
    EDT_EdItEmployeeCode.Text:=UserCode;
  end Else
  begin
    DeptInfo.RecordCount:=0;
    DeptInfo.RecordCountKm:=0;
    EDT_CurrencyCode.Text:='';
    EDT_CurrencyName.Text:='';
    EDT_ExchangeRate.Text:='0';
    CMBX_DepreciationWay.ItemIndex:=6;
    EDT_FirstAmount.Text:='0';
    EDT_IntendingPeriod.Text:='0';
    EDT_Intending.Text:='0';
    EDT_FirstFAmount.Text:='0';
    EDT_UsedPeriod.Text:='0';
    EDT_FinishTask.Text:='0';
    EDT_DraffRate.Text:='0';
    EDT_PeriodRate.Text:='0';
    EDT_TaskUom.Text:='0';
    EDT_DraffValue.Text:='0';
    EDT_PeriodValue.Text:='0';
    EDT_PcDepreciation.Text:='0';
    EDT_DepreciationValue.Text:='0';
    EDT_NetValue.Text:='0';
    EDT_AssetSujectCode.Text:='1501';
    EDT_DepreciationSubjectCode.Text:='1502';
    NowDate:=FormatDateTime('yyyy.mm.dd',Date);
    MEDT_InAccountDate.Text:=NowDate;
    MEDT_StartUseDate.Text:=NowDate;
    MEDT_CreateDate.Text:=NowDate;
    MEDT_EditDate.Text:=NowDate;
    EDT_CreateEmployeeCode.Text:=UserCode;
    EDT_EdItEmployeeCode.Text:=UserCode;
    Edt_StArtDepreciationMonth.Text:='';
    Edt_StArtDepreciationMonth.Text := Copy(MEDT_StartUseDate.Text,1,7);
  end;
  If Not (Status='ReadOnly') Then
  begin
    MEDT_StartUseDate.Enabled:=True;
    EDT_FirstAmount.Enabled:=True;
    EDT_FirstFAmount.Enabled:=True;
    cmbx_Depreciationway.OnChange(cmbx_Depreciationway);
  end;
end;

procedure TFrm_Ad_Enter_AssetCard_D.SaveData;
var
   ChgType:String;
begin
  inherited;
  with AdoQry_Tmp do
  begin
    Close;
    if(Add)then
    begin
    SQL.Text:='Insert into Ad_AssetCard(AssetCode,AssetName,UomCode,'+
                  'AssetSujectCode,DepreciationSubjectCode,'+
                  'AssetTypeCode,DepositaryCode,InAccountDate,StartUseDate,'+
                  'AdChangeTypeCode,UseStatusCode,CurrencyCode,ExchangeRate,'+
                  'FirstAmount,FirstFAmount,DepreciationWay,IntendingPeriod,'+
                  'DraffRate,DraffValue,PeriodRate,PeriodValue,UsedPeriod,'+
                  'DepreciationValue,NetValue,Intending,FinishTask,'+
                  'TaskUom,PCDepreciation,CreateDate,CreateEmployeeCode,'+
                  'EditDate,EdItEmployeeCode,StArDepreciationMonth)'
      +' Values('
      +' '''+EDT_AssetCode.Text+''''
      +','''+EDT_AssetName.Text+''''
      +','''+EDT_UomCode.Text+''''
      +','''+EDT_AssetSujectCode.Text+''''
      +','''+EDT_DepreciationSubjectCode.Text+''''
      +','''+EDT_AssetTypeCode.Text+''''+','
      +iifstring(Trim(EDT_DepositaryCode.Text)='','null',quotedstr(EDT_DepositaryCode.Text))
      +','''+MEDT_InAccountDate.Text+''''
      +','''+MEDT_StartUseDate.Text+''''
//      +','''+MEDT_StArtstopUseDate.Text+''''

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -