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

📄 tas520_02.pas.svn-base

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