📄 tas520_02.pas.svn-base
字号:
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 + -