📄 tas520_02.pas.svn-base
字号:
end;
end;
procedure TTas520_02Form.edtTasksExit(Sender: TObject);
var
ACustNo,AItemNo:Integer;
AMacNo:String;
ACustomerInfo:TCustomerInfo;
begin
inherited;
//任务编号
if trim(edtTasks.Text)='' then Exit;
if AOldTasks=edtTasks.Text then Exit;
qryTas510.Close;
qryTas510.Open;
if qryTas510.Locate('T510_001',edtTasks.Text,[]) then
begin
edtTasks.Text:=qryTas510.FieldByName('T510_001').AsString; //任务编号
edtName.Text:=qryTas510.FieldByName('T510_002').AsString; //任务名称
edtPriority.Text:=qryTas510.FieldByName('T510_005').AsString; //优先级别
edtDays.Text:=qryTas510.FieldByName('T510_012').AsString; //预计工时
edtFromDate.Date:=qryTas510.FieldByName('T510_007').Value; //需求日期=预计开始日期
edtFromDateExit(edtFromDate);
edtMacNo.Text:=qryTas510.FieldByName('T510_018').AsString;
if not AIsUpdated then memResolvent.Text:=qryTas510.FieldByName('T510_019').AsString; //任务说明
edtStatus.Text:=qryTas510.FieldByName('T120_003').AsString;
edtClass.Text:=qryTas510.FieldByName('T100_002').AsString;
edtItem.Text:=qryTas510.FieldByName('I150_002').AsString;
edtItemName.Text:=qryTas510.FieldByName('I150_003').AsString;
edtModel.Text:=qryTas510.FieldByName('I150_004').AsString;
edtItemClass.Text:=qryTas510.FieldByName('I120_003').AsString;
edtMaker.Text:=qryTas510.FieldByName('M150_002').AsString;
edtMakerName.Text:=qryTas510.FieldByName('M150_003').AsString;
ACustNo:=qryTas510.FieldByName('T510_016').AsInteger;
AItemNo:=qryTas510.FieldByName('T510_017').AsInteger;
AMacNo:=qryTas510.FieldByName('T510_018').AsString;
GetCustomerInfo(ACustNo,AItemNo,AMacNo,ACustomerInfo);
edtCust.Text:=ACustomerInfo.CustCode;
edtCustName.Text:=ACustomerInfo.CustName;
edtPhone.Text:=ACustomerInfo.CustPhone;
edtEmail.Text:=ACustomerInfo.CustEmail;
edtAddress.Text:=ACustomerInfo.CustAddress;
edtContact.Text:=ACustomerInfo.CustContact;
edtPost.Text:=ACustomerInfo.CustPosition;
end else
begin
edtTasks.Text:=AOldTasks;
ShowMsg('UMS10000285'); //输入的任务编号无效
edtTasks.SetFocus;
Abort;
end;
end;
procedure TTas520_02Form.edtPersonExit(Sender: TObject);
begin
inherited;
//执行人员
if trim(edtPerson.Text)='' then Exit;
//检查输入的执行人员是否合法(用编辑格式)
if CheckPerson(edtPerson.Text) then
begin
SetPersonByEmpID(edtPerson.Text); //设置执行人员数据
edtPerson.Text:=GetPerson(ANameStrList); //显示执行人员名称
end else
begin
ShowMsg('UMS10000308'); //输入的执行人员无效
if gbInfo.Enabled then edtPerson.SetFocus;
Abort;
end;
end;
procedure TTas520_02Form.edtPersonEnter(Sender: TObject);
begin
inherited;
edtPerson.Text:=GetPerson(ACodeStrList); //显示执行人员编号
end;
procedure TTas520_02Form.edtFromDateExit(Sender: TObject);
begin
inherited;
if edtFromDate.Text='' then
begin
edtToDate.Text:='';
Exit;
end;
try
edtToDate.Date:=edtFromDate.Date+StrToFloat(edtDays.Text)-1;
except
ShowMsg('UMS10000348'); //输入的日期无效,请重新输入
Abort;
end;
end;
procedure TTas520_02Form.edtDaysKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
ValidFloat(Sender,Key);
end;
procedure TTas520_02Form.ActFirstExecute(Sender: TObject);
begin
inherited;
//最前
if qryTas520.IsEmpty then Exit;
qryTas520.First;
ActFirst.Enabled:=False;
ActPrior.Enabled:=False;
ActNext.Enabled:=True;
ActLast.Enabled:=True;
end;
procedure TTas520_02Form.ActPriorExecute(Sender: TObject);
begin
inherited;
//上移
if qryTas520.IsEmpty then Exit;
qryTas520.Prior;
ActNext.Enabled:=not qryTas520.Eof;
ActLast.Enabled:=not qryTas520.Eof;
ActFirst.Enabled:=not qryTas520.Bof;
ActPrior.Enabled:=not qryTas520.Bof;
end;
procedure TTas520_02Form.ActNextExecute(Sender: TObject);
begin
inherited;
//下移
if qryTas520.IsEmpty then Exit;
qryTas520.Next;
ActNext.Enabled:=not qryTas520.Eof;
ActLast.Enabled:=not qryTas520.Eof;
ActFirst.Enabled:=not qryTas520.Bof;
ActPrior.Enabled:=not qryTas520.Bof;
end;
procedure TTas520_02Form.ActLastExecute(Sender: TObject);
begin
inherited;
//最后
if qryTas520.IsEmpty then Exit;
qryTas520.Last;
ActNext.Enabled:=False;
ActLast.Enabled:=False;
ActFirst.Enabled:=True;
ActPrior.Enabled:=True;
end;
procedure TTas520_02Form.ActInsertExecute(Sender: TObject);
var
ADate:TDateTime;
begin
inherited;
//新增
Screen.Cursor:=crHourGlass;
AMode:='ADD';
edtCode.Text:='';
edtTasks.Text:='';
edtName.Text:='';
edtClass.Text:='';
edtPriority.Text:='50';
edtPerson.Text:='';
edtCust.Text:='';
edtCustName.Text:='';
edtPhone.Text:='';
edtAddress.Text:='';
edtContact.Text:='';
edtPost.Text:='';
edtEmail.Text:='';
edtItem.Text:='';
edtItemName.Text:='';
edtMacNo.Text:='';
edtModel.Text:='';
edtItemClass.Text:='';
edtMaker.Text:='';
edtMakerName.Text:='';
memResolvent.Clear;
AOldTasks:='';
ADate:=GetServerDate;
edtFromDate.Date:=ADate;
edtToDate.Date:=ADate;
edtFactFromDate.Clear;
edtFactToDate.Clear;
edtCreateDate.Text:=FormatDateTime('yyyy-mm-dd hh:mm:ss',ADate);
edtCreateBy.Text:=AUserName;
edtUpdateDate.Text:=FormatDateTime('yyyy-mm-dd hh:mm:ss',ADate);
edtUpdateBy.Text:=AUserName;
edtDays.Text:='1';
edtFactDays.Text:='0';
cbUnit.ItemIndex:=1; //天
ANoStrList.Clear;
ANameStrList.Clear;
ACodeStrList.Clear;
AIsUpdated:=False;
SetButtonState(True);
if Visible then
if edtCode.Enabled then edtCode.SetFocus else edtTasks.SetFocus;
Screen.Cursor:=crDefault;
end;
procedure TTas520_02Form.ActUpdateExecute(Sender: TObject);
begin
inherited;
//修改
if qryTas520.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
//已汇报的工单不能修改
if IsExists('select 1 from TAS530 where T530_002='+''''+qryTas520T520_001.AsString+'''') then
begin
ShowMsg('UMS10000303'); //该任务工单存在相关的汇报单,不允许修改
Abort;
end;
AIsUpdated:=False;
Screen.Cursor:=crHourGlass;
AMode:='UPD';
SetPersonByEmpNo(qryTas520.FieldByName('T520_003').AsString); //设置执行人中的显示数据
SetButtonState(True);
if Visible then
if edtCode.Enabled then edtCode.SetFocus else edtTasks.SetFocus;
Screen.Cursor:=crDefault;
end;
procedure TTas520_02Form.ActDeleteExecute(Sender: TObject);
var
ACode,ATask:string;
begin
inherited;
//删除
if qryTas520.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
//已汇报的工单不能删除
if IsExists('select 1 from TAS530 where T530_002='+''''+qryTas520T520_001.AsString+'''') then
begin
ShowMsg('UMS10000282'); //该任务工单存在相关的汇报单,不允许删除
Abort;
end;
if ShowDialog('UMS10000008')=IDNO then Abort; //确定要删除此记录吗?
try
ACode:=qryTas520T520_001.AsString;
ATask:=qryTas520T520_002.AsString;
DeleteTableRecord(qryTas520,'TAS520','T520_001='+''''+ACode+'''');
if ACode<>'' then UpdateTasksInfo(ATask); //更新任务计划信息(实际工时、工单总数)
except
ShowMsg(SYSDM.ADOC.Errors[0].Description,1);
Abort;
end;
end;
procedure TTas520_02Form.ActSaveExecute(Sender: TObject);
begin
inherited;
//保存
try
Screen.Cursor:=crHourGlass;
SaveData;
finally
Screen.Cursor:=crDefault;
end;
end;
procedure TTas520_02Form.ActCancelExecute(Sender: TObject);
begin
inherited;
//取消
SetButtonState(False);
qryTas520AfterScroll(qryTas520);
end;
procedure TTas520_02Form.ActRefreshExecute(Sender: TObject);
var
ACode:string;
begin
inherited;
//刷新
ACode:=qryTas520.FieldByName('T520_001').AsString;
qryTas520.DisableControls;
qryTas520.Close;
qryTas520.Open;
qryTas520.Locate('T520_001',ACode,[]);
qryTas520.EnableControls;
end;
procedure TTas520_02Form.ActLocateExecute(Sender: TObject);
begin
inherited;
//查找
if qryTas520.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
LocateDialog(dsTas520);
end;
procedure TTas520_02Form.ActSearchExecute(Sender: TObject);
begin
inherited;
//查询
FilterDialog(dsTas520);
end;
procedure TTas520_02Form.ActPrintExecute(Sender: TObject);
var
ACode,AReportName:string;
begin
inherited;
//打印
ACode:=qryTas520.FieldByName('T520_001').AsString;
AReportName:='TAS520A';
SelectReport(qryTas520,AProgramID,AReportName,ReportGetValue,ACode);
ActRefresh.Execute;
end;
procedure TTas520_02Form.ActExitExecute(Sender: TObject);
begin
inherited;
//退出
Close;
end;
procedure TTas520_02Form.qryTas520AfterScroll(DataSet: TDataSet);
begin
inherited;
if qryTas520.State in [dsInsert,dsEdit] then Exit;
if qryTas520.IsEmpty then Exit;
edtCode.Text:=qryTas520.FieldByName('T520_001').AsString; //工单编号
edtTasks.Text:=qryTas520.FieldByName('T520_002').AsString; //任务编号
AOldCode:=edtCode.Text;
AOldTasks:=edtTasks.Text;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -