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

📄 tas520_02.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
📖 第 1 页 / 共 4 页
字号:
unit Tas520_02;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Bas100_01, StdCtrls, Buttons, Menus, ComCtrls,
  wwdbdatetimepicker, DB, ADODB, ToolWin, ActnList;

type
  TTas520_02Form = class(TBas100_01Form)
    gbInfo: TGroupBox;
    lblTasks: TLabel;
    lblClass: TLabel;
    lblPriority: TLabel;
    lblPerson: TLabel;
    sbPerson: TSpeedButton;
    lblCode: TLabel;
    sbTasks: TSpeedButton;
    edtTasks: TEdit;
    edtName: TEdit;
    edtPriority: TEdit;
    edtPerson: TEdit;
    edtCode: TEdit;
    edtClass: TEdit;
    gbCust: TGroupBox;
    lblCust: TLabel;
    lblAddress: TLabel;
    lblPhone: TLabel;
    lblContact: TLabel;
    lblPost: TLabel;
    lblEmail: TLabel;
    lblItem: TLabel;
    lblItemClass: TLabel;
    lblModel: TLabel;
    lblMacNo: TLabel;
    lblMaker: TLabel;
    lblMakerName: TLabel;
    edtCust: TEdit;
    edtCustName: TEdit;
    edtAddress: TEdit;
    edtPhone: TEdit;
    edtContact: TEdit;
    edtPost: TEdit;
    edtEmail: TEdit;
    edtItem: TEdit;
    edtItemName: TEdit;
    edtModel: TEdit;
    edtMaker: TEdit;
    edtMacNo: TEdit;
    edtMakerName: TEdit;
    edtItemClass: TEdit;
    gbDetail: TGroupBox;
    lblResolvent: TLabel;
    memResolvent: TMemo;
    lblFromDate: TLabel;
    lblToDate: TLabel;
    lblUnit: TLabel;
    cbUnit: TComboBox;
    edtFromDate: TwwDBDateTimePicker;
    edtToDate: TwwDBDateTimePicker;
    lblFactFromDate: TLabel;
    lblFactToDate: TLabel;
    edtFactFromDate: TwwDBDateTimePicker;
    edtFactToDate: TwwDBDateTimePicker;
    edtDays: TEdit;
    lblDays: TLabel;
    lblFactDays: TLabel;
    edtFactDays: TEdit;
    qryHrm150: TADOQuery;
    lblStatus: TLabel;
    edtStatus: TEdit;
    qryTas520: TADOQuery;
    qryHrm150H150_001: TAutoIncField;
    qryHrm150H150_002: TWideStringField;
    qryHrm150H150_003: TWideStringField;
    qryTas510: TADOQuery;
    qryTas510T510_001: TWideStringField;
    qryTas510T510_002: TWideStringField;
    qryTas510T510_003: TIntegerField;
    qryTas510T510_004: TIntegerField;
    qryTas510T510_005: TSmallintField;
    qryTas510T510_007: TDateTimeField;
    qryTas510T510_012: TBCDField;
    qryTas510T510_016: TIntegerField;
    qryTas510T510_017: TIntegerField;
    qryTas510T510_018: TWideStringField;
    ActionList1: TActionList;
    ActFirst: TAction;
    ActPrior: TAction;
    ActNext: TAction;
    ActLast: TAction;
    ActInsert: TAction;
    ActUpdate: TAction;
    ActDelete: TAction;
    ActSave: TAction;
    ActCancel: TAction;
    ActRefresh: TAction;
    ActLocate: TAction;
    ActSearch: TAction;
    ActPrint: TAction;
    ActExit: TAction;
    CoolBar1: TCoolBar;
    ToolBar2: TToolBar;
    tlbFirst: TToolButton;
    tlbPrior: TToolButton;
    tlbNext: TToolButton;
    tlbLast: TToolButton;
    ToolButton1: TToolButton;
    tlbInsert: TToolButton;
    tlbUpdate: TToolButton;
    tlbDelete: TToolButton;
    ToolButton2: TToolButton;
    tlbSave: TToolButton;
    tlbCancel: TToolButton;
    ToolButton3: TToolButton;
    tlbRefresh: TToolButton;
    tlbLocate: TToolButton;
    tlbSearch: TToolButton;
    tlbPrint: TToolButton;
    ToolButton6: TToolButton;
    tlbExit: TToolButton;
    dsTas520: TDataSource;
    qryTas520T520_001: TWideStringField;
    qryTas520T520_002: TWideStringField;
    qryTas520T510_002: TWideStringField;
    qryTas520T100_002: TWideStringField;
    qryTas520T510_005: TSmallintField;
    qryTas520T520_003: TWideStringField;
    qryTas520T520_005: TBCDField;
    qryTas520T520_006: TDateTimeField;
    qryTas520T520_007: TDateTimeField;
    qryTas520T520_004: TWideStringField;
    qryTas520T520_008: TBCDField;
    qryTas520T520_009: TDateTimeField;
    qryTas520T520_010: TDateTimeField;
    qryTas520T120_003: TWideStringField;
    qryTas520O150_002: TWideStringField;
    qryTas520O150_003: TWideStringField;
    qryTas520I150_002: TWideStringField;
    qryTas520I150_003: TWideStringField;
    qryTas520T510_018: TWideStringField;
    qryTas520I150_004: TWideStringField;
    qryTas520I120_003: TWideStringField;
    qryTas520M150_002: TWideStringField;
    qryTas520M150_003: TWideStringField;
    qryTas520T520_012: TDateTimeField;
    qryTas520T520_013: TWideStringField;
    qryTas520T520_014: TDateTimeField;
    qryTas520T520_015: TWideStringField;
    qryTas520O150_001: TIntegerField;
    qryTas520T520_011: TMemoField;
    qryTas520T510_019: TMemoField;
    qryTas520T520_016: TIntegerField;
    qryTas520T520_017: TIntegerField;
    lblCreateDate: TLabel;
    edtCreateDate: TEdit;
    lblCreateBy: TLabel;
    edtCreateBy: TEdit;
    lblUpdateDate: TLabel;
    edtUpdateDate: TEdit;
    lblUpdateBy: TLabel;
    edtUpdateBy: TEdit;
    qryTas520T510_016: TIntegerField;
    qryTas520T510_017: TIntegerField;
    qryInv150: TADOQuery;
    qryTas520T100_001: TAutoIncField;
    qryTas520T100_003: TIntegerField;
    qryTas510T510_019: TMemoField;
    qryTas520T520_018: TWideStringField;
    qryTas520T520_019: TWideStringField;
    qryTas520O150_005: TWideStringField;
    qryTas520O150_007: TWideStringField;
    qryTas520O150_012: TWideStringField;
    qryTas520O151_002: TWideStringField;
    qryTas520O151_004: TWideStringField;
    qryTas510I150_002: TWideStringField;
    qryTas510I150_003: TWideStringField;
    qryTas510I150_004: TWideStringField;
    qryTas510I120_003: TWideStringField;
    qryTas510M150_002: TWideStringField;
    qryTas510M150_003: TWideStringField;
    qryTas510T120_003: TWideStringField;
    qryTas510T100_002: TWideStringField;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure sbTasksClick(Sender: TObject);
    procedure sbPersonClick(Sender: TObject);
    procedure edtTasksExit(Sender: TObject);
    procedure edtPersonExit(Sender: TObject);
    procedure edtPersonEnter(Sender: TObject);
    procedure edtFromDateExit(Sender: TObject);
    procedure edtDaysKeyPress(Sender: TObject; var Key: Char);
    procedure ActFirstExecute(Sender: TObject);
    procedure ActPriorExecute(Sender: TObject);
    procedure ActNextExecute(Sender: TObject);
    procedure ActLastExecute(Sender: TObject);
    procedure ActInsertExecute(Sender: TObject);
    procedure ActUpdateExecute(Sender: TObject);
    procedure ActDeleteExecute(Sender: TObject);
    procedure ActSaveExecute(Sender: TObject);
    procedure ActCancelExecute(Sender: TObject);
    procedure ActRefreshExecute(Sender: TObject);
    procedure ActLocateExecute(Sender: TObject);
    procedure ActSearchExecute(Sender: TObject);
    procedure ActPrintExecute(Sender: TObject);
    procedure ActExitExecute(Sender: TObject);
    procedure qryTas520AfterScroll(DataSet: TDataSet);
    procedure qryTas520T520_004GetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure edtDaysExit(Sender: TObject);
    procedure qryTas520CalcFields(DataSet: TDataSet);
    procedure memResolventExit(Sender: TObject);
  private
    AMode,AOldTasks,AOldCode:string;
    ANoStrList,ANameStrList,ACodeStrList:TStringList;
    AIsReturn:Boolean;
    AIsUpdated:Boolean;  //True=已手工修改工单说明
    AUnit:array[0..3] of string;
    AIsAutoCode:Boolean;
    procedure SetButtonState(AInsUpd:Boolean);
    procedure SetInterface;
    procedure SaveData;
    procedure SetPersonByEmpNo(APersonNo:string);
    procedure SetPersonByEmpID(APersonID:string);
    procedure ReturnProcess(ATaskID:string);
    { Private declarations }
  public
    procedure OpenData(ACode:string;ATaskID:string='');
    procedure ReportGetValue(const ParName: String; var ParValue: Variant);
    { Public declarations }
  end;

var
  Tas520_02Form: TTas520_02Form;

implementation

uses CommFun, HwSelData, SYSDATA, TasComm;

{$R *.dfm}

//取得执行人员和原因说明的显示、编辑、保存的字符串
//显示时:员工姓名1,员工姓名2...
//编辑时:员工编号1,员工编号2...
//保存时:[电脑编号1],[电脑编号2]...
//AType:类型,0=不加入其他字串,1=加入'['和']'字串
function GetPerson(AStringList:TStringList;AType:Integer=0):string;
var
  I:Integer;
  S:String;
begin
  for I:=0 to AStringList.Count-1 do
  begin
    if AType=0 then S:=S+','+AStringList[I] else S:=S+','+'['+AStringList[I]+']';
  end;
  Delete(S,1,1);  //删除第一个字符串','
  Result:=S;
end;

//检查输入的执行人员是否合法(用编辑格式)
function CheckPerson(APersonID:string):Boolean;
var
  AStringList:TStringList;
  I:Integer;
  S:string;
begin
  Result:=True;
  if APersonID='' then Exit;
  AStringList:=TStringList.Create;
  for I:=1 to Length(APersonID) do
  begin
    if Copy(APersonID,I,1)=',' then
    begin
      AStringList.Add(trim(S));
      S:='';
    end else
      S:=S+Copy(APersonID,I,1);
    if I=Length(APersonID) then AStringList.Add(trim(S));
  end;
  for I:=0 to AStringList.Count-1 do
  begin
    if AStringList[I]='' then
    begin
      Result:=False;
      AStringList.Free;
      Exit;
    end;
    SYSDM.qryQuery.Close;
    SYSDM.qryQuery.SQL.Clear;
    SYSDM.qryQuery.SQL.Add('select 1 from HRM150 where H150_002='+''''+AStringList[I]+'''');
    SYSDM.qryQuery.Open;
    if SYSDM.qryQuery.IsEmpty then
    begin
      Result:=False;
      AStringList.Free;
      Exit;
    end;
  end;
  AStringList.Free;
end;

//设置执行人员的显示数据(使用保存格式)
procedure TTas520_02Form.SetPersonByEmpNo(APersonNo:string);
var
  I:Integer;
  S:String;
begin
  if APersonNo='' then Exit;
  ANoStrList.Clear;
  ACodeStrList.Clear;
  ANameStrList.Clear;
  for I:=1 to Length(APersonNo) do
  begin
    if Copy(APersonNo,I,1)='[' then
      S:=''
    else if Copy(APersonNo,I,1)=']' then
    begin
      ANoStrList.Add(trim(S));
      S:='';
    end else
      S:=S+Copy(APersonNo,I,1);
  end;
  for I:=0 to ANoStrList.Count-1 do
  begin
    if ANoStrList[I]<>'' then
    begin
      SYSDM.qryQuery.Close;
      SYSDM.qryQuery.SQL.Clear;
      SYSDM.qryQuery.SQL.Add('select H150_002,H150_003 from HRM150 where H150_001='+ANoStrList[I]);
      SYSDM.qryQuery.Open;
      ACodeStrList.Add(SYSDM.qryQuery.FieldByName('H150_002').AsString);
      ANameStrList.Add(SYSDM.qryQuery.FieldByName('H150_003').AsString);
    end;
  end;
end;

//设置执行人员的显示数据(使用编辑格式)
procedure TTas520_02Form.SetPersonByEmpID(APersonID:string);

⌨️ 快捷键说明

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