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

📄 gl_enter_cashreport_d.pas

📁 一个MRPII系统源代码版本
💻 PAS
字号:
unit Gl_Enter_CashReport_D;

Interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Base_Detail, Db, AdODB, ExtCtrls, StdCtrls, ExtEdit, Mask, linkedit;

Type
  TFrm_Gl_Enter_CashReport_D = Class(TFrm_Base_Detail)
    Label1: TLabel;
    edt_ProjectCode: TEdit;
    Label8: TLabel;
    cmb_issum: TComboBox;
    Label2: TLabel;
    edt_ProjectName: TEdit;
    Label4: TLabel;
    edt_lineno: TEdit;
    Label3: TLabel;
    edt_Totalsum: TEdit;
    procedure edt_linenoExit(Sender: TObject);
    procedure btn_okClick(Sender: TObject);
  private
    { Private declarations }
  public
    procedure InitControls; Override;
    procedure SaveData;Override;
    procedure SetStatus(CurrentStatus:String;var EnableControls:String); Override;
    procedure CheckInfo;
    { Public declarations }
  end;

var
  Frm_Gl_Enter_CashReport_D: TFrm_Gl_Enter_CashReport_D;

implementation
uses Sys_Global;
{$R *.DFM}

{ TFrm_Ar_Enter_Gathering_D }
procedure TFrm_Gl_Enter_CashReport_D.CheckInfo;
var tMpstr,tmpkmCode,sqltext:string;
    i,j:integer;
begin
  if Add then 
   begin
     if Trim(edt_ProjectCode.Text)='' then 
       begin
         DispInfo('项目编号不能为空!',3);
         edt_ProjectCode.SetFocus;
         abort;
       end;
     Executesql(AdoQry_tmp,'select * from Gl_CashReport where projectCode='+quotedstr(Trim(edt_ProjectCode.text)),0);
     if AdoQry_tmp.RecordCount>0 then 
       begin
         DispInfo('该项目编号已存在!',3);
         edt_ProjectCode.SetFocus;
         abort;
       end;     
   end;
   
  if Trim(edt_ProjectName.text)='' then 
  begin
    DispInfo('项目不能为空!',3);
    edt_ProjectName.setfocus;
    abort;
  end;

  if Cmb_IsSum.ItemIndex=0 then
  if Trim(edt_Totalsum.Text)<>'' then
  begin
    DispInfo('只有是合计栏才可以输入金额项目值!',3);
    edt_Totalsum.SetFocus;
    abort;
  end;

  tMpstr:=Trim(edt_Totalsum.text);
  while tMpstr<>'' do
  begin
    i:=pos('+',tMpstr);
    j:=pos('-',tMpstr);
    if (i=0) and (j=0) then
    begin
      tmpkmCode:=tMpstr;
      tMpstr:='';
    end
    else 
    if (i=0) and (j<>0) then
    begin
      tmpkmCode:=copy(tMpstr,1,j-1);
      tMpstr:=copy(tMpstr,j+1,length(tMpstr)-j);
    end
    else if (i<>0) and (j=0) then
    begin
      tmpkmCode:=copy(tMpstr,1,i-1);
      tMpstr:=copy(tMpstr,i+1,length(tMpstr)-i);
    end
    else if (i<>0) and (j<>0) then
    begin
      if i<j then
      begin
        tmpkmCode:=copy(tMpstr,1,i-1);
        tMpstr:=copy(tMpstr,i+1,length(tMpstr)-i);
      end
      else begin
        tmpkmCode:=copy(tMpstr,1,j-1);
        tMpstr:=copy(tMpstr,j+1,length(tMpstr)-j);
      end;
    end;
    sqltext:='select * from Gl_CashReport'
            +' where ProjectCode='+quotedstr(tmpkmCode)
            +'   and IsSum=0 ';
    {sqltext:='select ProjectCode from Gl_CashReport'
            +' where ProjectCode='+quotedstr(tmpkmCode);}
    Executesql(AdoQry_tmp,sqltext,0);
    if AdoQry_tmp.RecordCount=0 then 
    begin
      DispInfo('项目代码'+quotedstr(tmpkmCode)+'错误!必须输入非合计项目!',3);
      //DispInfo('项目代码'+quotedstr(tmpkmCode)+'错误!!',3);
      edt_Totalsum.SetFocus;
      abort;      
    end;
  end;

end;


procedure TFrm_Gl_Enter_CashReport_D.InitControls;
var i:integer;
begin
  if (Add) then
    begin
      SetFocus_Control:=edt_ProjectCode;
    end
  else
    SetFocus_Control:=cmb_issum;
  inherited;
  with AdoQry_Maintain do
    begin
      edt_ProjectCode.Text:=AdoQry_Maintain.fieldbyname('projectCode').asstring;
      cmb_issum.ItemIndex:=AdoQry_Maintain.fieldbyname('issum').asinteger;
      edt_ProjectName.Text:=AdoQry_Maintain.fieldbyname('projectName').asstring;
      edt_lineno.Text:=AdoQry_Maintain.fieldbyname('plineno').asstring;
      edt_Totalsum.Text:=AdoQry_Maintain.fieldbyname('Totalsum').asstring;
      
      if not Add then
      begin
        edt_ProjectCode.Enabled:=False;
        cmb_issum.Enabled:=True;
      end
      else 
      begin
        edt_ProjectCode.Enabled:=True;
        cmb_issum.Enabled:=True;
      end;
    end;

end;

procedure TFrm_Gl_Enter_CashReport_D.SaveData;
var sqltext:string;
    AdoQry:TAdoQuery;
begin
  inherited;
  AdoQry:=TAdoQuery.Create(nil);
  AdoQry.Connection:=dbconnect;
  try
    dbconnect.beginTrans;
    if Add then
    //新增
      sqltext:='insert into Gl_CashReport(projectCode,issum,'
              +' projectName,plineno,Totalsum)'
              +' Values('+quotedstr(Trim(edt_ProjectCode.text))+','
                      +inttostr(cmb_issum.Itemindex)+','
                      +quotedstr(Trim(edt_ProjectName.text))+','
                      +iifstring(Trim(edt_lineno.text)='','null',Trim(edt_lineno.text))+','
                      +quotedstr(Trim(edt_Totalsum.text))
                      +')'
    else
      sqltext:='update Gl_CashReport'
             +' set projectName='+quotedstr(Trim(edt_ProjectName.text))+','
             +'     plineno='+iifstring(Trim(edt_lineno.text)='','null',Trim(edt_lineno.text))+','
             +'     Totalsum='+quotedstr(Trim(edt_Totalsum.text))
             +'where projectCode='+quotedstr(Trim(edt_ProjectCode.text));
    if Add then
      begin
        Executesql(AdoQry_tmp,sqltext,1);
        savetablehistory(dbconnect,'Gl_CashReport','Gl_CashReporthistory','新增',userCode,'projectCode='+quotedstr(Trim(edt_ProjectCode.text)));
//        saveGainhistory(dbconnect,Trim(edt_ProjectCode.text),userCode,0);
      end
    else
      begin
        savetablehistory(dbconnect,'Gl_CashReport','Gl_CashReporthistory','修改',userCode,'projectCode='+quotedstr(Trim(edt_ProjectCode.text)));
        Executesql(AdoQry_tmp,sqltext,1);
      end;
    if Assigned(AdoQry) then AdoQry.Free;
    dbconnect.CommitTrans;
    with AdoQry_Maintain do
      begin
        fieldbyname('projectCode').asstring:=Trim(edt_ProjectCode.text);
        fieldbyname('issum').asinteger:=cmb_issum.ItemIndex;
        fieldbyname('projectName').asstring:=Trim(edt_ProjectName.text);
        if Trim(edt_lineno.text)='' then
        fieldbyname('plineno').asinteger:=0
        else fieldbyname('plineno').asinteger:=strtoint(Trim(edt_lineno.text));
        fieldbyname('Totalsum').asstring:=Trim(edt_Totalsum.text);
        post;
      end;
  except
    if dbconnect.InTransaction then
      dbconnect.RollBackTrans;
    if Assigned(AdoQry) then AdoQry.Free;
    abort;
  end;
end;

procedure TFrm_Gl_Enter_CashReport_D.SetStatus(CurrentStatus: String;
  var EnableControls: String);
begin
  inherited;

end;

procedure TFrm_Gl_Enter_CashReport_D.edt_linenoExit(Sender: TObject);
begin
  inherited;
  if Trim(edt_lineno.text)='' then exit;
  integercheck(sender);
end;

procedure TFrm_Gl_Enter_CashReport_D.btn_okClick(Sender: TObject);
begin
  CheckInfo;//检测信息
  inherited;

end;

end.

⌨️ 快捷键说明

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