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

📄 ser500_02.pas

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 PAS
📖 第 1 页 / 共 4 页
字号:
    Abort;
  end;
  if trim(cbClass.Text)='' then
  begin
    ShowMsg('UMS10000363');  //服务类别不能为空
    cbClass.SetFocus;
    Abort;
  end;
  if trim(edtDate.Text)='' then
  begin
    ShowMsg('UMS10000359');  //来电日期不能为空
    edtDate.SetFocus;
    Abort;
  end;
  if trim(edtDate.Text)='' then
  begin
    ShowMsg('UMS10000359');  //来电日期不能为空
    edtDate.SetFocus;
    Abort;
  end;
  if not qryHrm150.Locate('H150_002',edtAppelater.Text,[]) then
  begin
    ShowMsg('UMS10000355');  //输入的受理人员无效
    edtAppelater.SetFocus;
    Abort;
  end;
  AAppelaterNo:=qryHrm150.FieldByName('H150_001').Value;
  if trim(edtCallName.Text)='' then
  begin
    ShowMsg('UMS10000364');  //来电人员不能为空
    edtCallName.SetFocus;
    Abort;
  end;
  if edtBillNo.Enabled then
  begin
    if trim(edtBillNo.Text)='' then
    begin
      ShowMsg('UMS10000365');  //单据编号不能为空
      edtBillNo.SetFocus;
      Abort;
    end;
    if not qryTas500.Locate('T500_001',edtBillNo.Text,[]) then
    begin
      ShowMsg('UMS10000366');  //输入的单据编号无效,请重新输入
      edtBillNo.SetFocus;
      Abort;
    end;
  end;

  if trim(edtCust.Text)='' then
  begin
    ShowMsg('UMS10000180');  //客户编号不能为空
    edtCust.SetFocus;
    Abort;
  end;
  if not qryOrd150.Locate('O150_002',edtCust.Text,[]) then
  begin
    ShowMsg('UMS10000264');  //输入的客户编号无效
    edtCust.SetFocus;
    Abort;
  end;
  ACustNo:=qryOrd150.FieldByName('O150_001').AsInteger;

  //如果服务类别不为投诉或者需要派工,则必须输入产品编号及机身编号
  AItemNo:=0;
  if (not qrySer100.FieldByName('S100_005').AsBoolean) or (cbSend.Checked) then
  begin
    if trim(edtItem.Text)='' then
    begin
      ShowMsg('UMS10000274');  //产品编号不能为空
      edtItem.SetFocus;
      Abort;
    end;
    SYSDM.qryQuery.Close;
    SYSDM.qryQuery.SQL.Clear;
    SYSDM.qryQuery.SQL.Add('select A.O153_002 from ORD153 A, INV150 B where A.O153_002=B.I150_001 and A.O153_001='+IntToStr(ACustNo)+' and B.I150_002='+''''+edtItem.Text+'''');
    SYSDM.qryQuery.Open;
    if SYSDM.qryQuery.IsEmpty then
    begin
      ShowMsg('UMS10000267');  //输入的产品编号无效
      edtItem.SetFocus;
      Abort;
    end;
    AItemNo:=SYSDM.qryQuery.Fields[0].AsInteger;
    if trim(edtMacNo.Text)='' then
    begin
      ShowMsg('UMS10000275');  //机身编号不能为空
      edtMacNo.SetFocus;
      Abort;
    end;
    if not IsExists('select 1 from ORD153 where O153_001='+IntToStr(ACustNo)+' and O153_002='+IntToStr(AItemNo)+' and O153_003='+''''+edtMacNo.Text+'''') then
    begin
      ShowMsg('UMS10000268');  //输入的机身编号无效
      edtMacNo.SetFocus;
      Abort;
    end;
  end;

  if trim(memDetails.Text)='' then
  begin
    ShowMsg('UMS10000360');  //来电内容不能为空
    memDetails.SetFocus;
    Abort;
  end;

  if AMode='ADD' then
  begin
    qrySer500.Insert;
    qrySer500.FieldByName('S500_034').AsString:=edtCreateDate.Text;  //制单日期
    qrySer500.FieldByName('S500_035').AsString:=edtCreateBy.Text;  //制单人员
    qrySer500.FieldByName('S500_036').AsString:=edtUpdateDate.Text;  //修改日期
    qrySer500.FieldByName('S500_037').AsString:=edtUpdateBy.Text;  //修改人员
  end else
  begin
    ADate:=GetServerDate;
    qrySer500.Edit;
    qrySer500.FieldByName('S500_036').Value:=ADate;  //修改日期
    qrySer500.FieldByName('S500_037').Value:=AUserName;  //修改人员
  end;
  qrySer500.FieldByName('S500_002').Value:=edtName.Text;  //来电名称
  if AMode='ADD' then qrySer500.FieldByName('S500_003').Value:=1;  //来电状态
  qrySer500.FieldByName('S500_004').Value:=qrySer100.FieldByName('S100_001').Value;  //来电类别
  qrySer500.FieldByName('S500_005').Value:=udPriority.Position;  //优先级别
  qrySer500.FieldByName('S500_006').Value:=cbFrom.ItemIndex;  //来电类型

  ATime:=edtTime.Time;
  DecodeTime(ATime,AHour,AMin,ASec,AMSec);
  qrySer500.FieldByName('S500_007').Value:=edtDate.Date;  //来电日期
  qrySer500.FieldByName('S500_008').Value:=AHour*60+AMin;  //来电时间
  qrySer500.FieldByName('S500_009').Value:=edtMiniue.Text;  //接听时间
  qrySer500.FieldByName('S500_010').Value:=AAppelaterNo;  //受理人员
  qrySer500.FieldByName('S500_011').Value:=edtCallName.Text;  //来电人员
  qrySer500.FieldByName('S500_012').Value:=edtDeptName.Text;  //部门名称
  qrySer500.FieldByName('S500_013').Value:=edtPosit.Text;  //职务名称
  qrySer500.FieldByName('S500_014').Value:=edtContact.Text;  //联系电话
  qrySer500.FieldByName('S500_015').Value:=cbType.ItemIndex;  //单据类型
  if cbFrom.ItemIndex<>2 then qrySer500.FieldByName('S500_016').Value:=edtBillNo.Text;  //单据编号

  qrySer500.FieldByName('S500_017').Value:=ACustNo;  //客户编号
  if AItemNo<>0 then qrySer500.FieldByName('S500_018').Value:=AItemNo;  //产品编号
  if trim(edtMacNo.Text)<>'' then qrySer500.FieldByName('S500_019').Value:=edtMacNo.Text;  //机身编号

  qrySer500.FieldByName('S500_020').Value:=cbSend.Checked;  //是否派工

  qrySer500.FieldByName('S500_027').Value:=cbPrice.Checked;  //是否报价
  qrySer500.FieldByName('S500_028').Value:=edtFromDate1.Date;  //保养开始日期
  qrySer500.FieldByName('S500_029').Value:=edtToDate1.Date;  //保养完成日期
  qrySer500.FieldByName('S500_030').Value:=edtFromDate2.Date;  //续保开始日期
  qrySer500.FieldByName('S500_031').Value:=edtToDate2.Date;  //续保完成日期
  qrySer500.FieldByName('S500_032').Value:=cbItemFrom.ItemIndex;  //来源类型

  qrySer500.FieldByName('S500_033').Value:=memDetails.Text;  //来电内容
  try
    if AMode='ADD' then
    begin
      if not edtCode.Enabled then edtCode.Text:=GetAutoCode('SER500');
      qrySer500.FieldByName('S500_001').Value:=edtCode.Text;  //来电编号
    end;
    qrySer500.Post;
    //更新来电记录信息(来电状态)
    UpdateCallInfo(edtCode.Text,1);
    SetButtonState(False);
    ActRefresh.Execute;
    qrySer500AfterScroll(qrySer500);
{    //如果需要派工,则弹出任务计划维护窗口
    if cbSend.Checked then
    begin
      Tas510_02Form:=TTas510_02Form.Create(Application);
      Tas510_02Form.OpenData('');
      Tas510_02Form.ActInsert.Execute;
      Tas510_02Form.edtName.Text:=qrySer500S500_002.Value;
      Tas510_02Form.cbClass.Text:=qrySer500S100_002.Value;
      Tas510_02Form.qryTas100.Locate('T100_002',qrySer500S100_002.Value,[]);
      Tas510_02Form.cbFrom.ItemIndex:=1;   //来源类型=来电记录
      Tas510_02Form.cbFromChange(Tas510_02Form.cbFrom);
      Tas510_02Form.edtOrder.Text:=qrySer500S500_001.Value;
      Tas510_02Form.edtOrderExit(Tas510_02Form.edtOrder);
      Tas510_02Form.edtDate.Date:=qrySer500S500_007.Value;
      Tas510_02Form.edtReqDate.Date:=qrySer500S500_007.Value;
      Tas510_02Form.memDetails.Text:=qrySer500S500_033.Value;
      Tas510_02Form.ShowModal;
    end; }
    if AMode='ADD' then
    begin
      if ShowDialog('['+edtCode.Text+'] '+GetDBString('UMS10000309'),1)=IDYES then  //记录保存成功,是否继续增加新记录?
      begin
        ActInsert.Execute;
      end;
    end;
  except
    ShowMsg(SYSDM.ADOC.Errors[0].Description,1);
    Abort;
  end;
end;

procedure TSer500_02Form.edtMiniueExit(Sender: TObject);
begin
  inherited;
  try
    if trim(edtMiniue.Text)='' then edtMiniue.Text:='1';
    StrToFloat(edtMiniue.Text);
  except
    ShowMsg('UMS10000322');  //输入的值无效,请输入数字
    edtMiniue.SetFocus;
    Abort;
  end;
end;

procedure TSer500_02Form.qryOrd150CalcFields(DataSet: TDataSet);
var
  ACustNo,AItemNo:Integer;
  AMacNo:string;
  ACustomerInfo:TCustomerInfo;
begin
  inherited;
  ACustNo:=qryOrd150O150_001.Value;
  AItemNo:=0;
  AMacNo:='';
  GetCustomerInfo(ACustNo,AItemNo,AMacNo,ACustomerInfo);
  qryOrd150O150_005.Value:=ACustomerInfo.CustPhone;
  qryOrd150O150_006.Value:=ACustomerInfo.CustFax;
  qryOrd150O150_012.Value:=ACustomerInfo.CustAddress;
end;

procedure TSer500_02Form.cbTypeChange(Sender: TObject);
begin
  inherited;
  edtBillNo.Enabled:=cbType.ItemIndex<>2;
  sbBillNo.Enabled:=cbType.ItemIndex<>2;
  edtCust.Enabled:=cbType.ItemIndex=2;
  sbCust.Enabled:=cbType.ItemIndex=2;
  edtItem.Enabled:=cbType.ItemIndex=2;
  sbItem.Enabled:=cbType.ItemIndex=2;
  edtMacNo.Enabled:=cbType.ItemIndex=2;
  sbMacNo.Enabled:=cbType.ItemIndex=2;
  if edtBillNo.Enabled then edtBillNo.Color:=AEnableColor else edtBillNo.Color:=ADisableColor;
  if edtCust.Enabled then edtCust.Color:=AEnableColor else edtCust.Color:=ADisableColor;
  if edtItem.Enabled then edtItem.Color:=AEnableColor else edtItem.Color:=ADisableColor;
  if edtMacNo.Enabled then edtMacNo.Color:=AEnableColor else edtMacNo.Color:=ADisableColor;
  if not edtBillNo.Enabled then edtBillNo.Text:='';
  if not edtCust.Enabled then edtCust.Text:='';
  if not edtItem.Enabled then edtItem.Text:='';
  if not edtMacNo.Enabled then edtMacNo.Text:='';
end;

procedure TSer500_02Form.qrySer500S500_006GetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
  inherited;
  if qrySer500.IsEmpty then Exit;
  case Sender.AsInteger of
    0:Text:=AFrom[0];  //电话
    1:Text:=AFrom[1];  //传真
    2:Text:=AFrom[2];  //电邮
    3:Text:=AFrom[3];  //其他
  end;
end;

procedure TSer500_02Form.qrySer500S500_015GetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
  inherited;
  if qrySer500.IsEmpty then Exit;
  case Sender.AsInteger of
    0:Text:=AType[0];  //项目计划
    1:Text:=AType[1];  //任务计划
    2:Text:=AType[2];  //手工输入
  end;
end;

procedure TSer500_02Form.sbBillNoClick(Sender: TObject);
var
  ACustNo,AItemNo:String;
begin
  inherited;
//单据编号
  if not edtBillNo.Focused then edtBillNo.SetFocus;
  if cbType.ItemIndex=0 then  //来源类型=项目计划
  begin
    qryTas500.Close;
    qryTas500.Open;
    HwSelDataForm:=THwSelDataForm.Create(Application);
    HwSelDataForm.OpenSelData(qryTas500,nil);
    if HwSelDataForm.ShowModal=1 then
    begin
      if qryTas500.IsEmpty then Exit;
      edtBillNo.Text:=qryTas500.FieldByName('T500_001').AsString;
      edtMacNo.Text:=qryTas500.FieldByName('T500_017').AsString;
      ACustNo:=qryTas500.FieldByName('T500_015').AsString;
      AItemNo:=qryTas500.FieldByName('T500_016').AsString;
      edtCust.Text:=GetValue('select O150_002 from ORD150 where O150_001='+ACustNo);
      edtItem.Text:=GetValue('select I150_002 from INV150 where I150_001='+AItemNo);
      edtCustExit(edtCust);
      edtItemExit(edtItem);
    end;
  end;
  if cbType.ItemIndex=1 then  //来源类型=任务计划
  begin
    qryTas510.Close;
    qryTas510.Open;
    HwSelDataForm:=THwSelDataForm.Create(Application);
    HwSelDataForm.OpenSelData(qryTas510,nil);
    if HwSelDataForm.ShowModal=1 then
    begin
      if qryTas510.IsEmpty then Exit;
      edtBillNo.Text:=qryTas510.FieldByName('T510_001').AsString;  //任务编号
      edtName.Text:=qryTas510.FieldByName('T510_002').AsString;  //任务名称
      edtMacNo.Text:=qryTas510.FieldByName('T510_018').AsString;
      ACustNo:=qryTas510.FieldByName('T510_016').AsString;
      AItemNo:=qryTas510.FieldByName('T510_017').AsString;
      edtCust.Text:=GetValue('select O150_002 from ORD150 where O150_001='+ACustNo);
      edtItem.Text:=GetValue('select I150_002 from INV150 where I150_001='+AItemNo);
      edtCustExit(edtCust);
      edtItemExit(edtItem);
    end;
  end;
end;

procedure TSer500_02Form.qrySer500CalcFields(DataSet: TDataSet);
var
  ACustNo,AItemNo:Integer;
  AMacNo:string;
  ACustomerInfo:TCustomerInfo;
begin
  inherited;
  ACustNo:=qrySer500O150_001.Value;
  AItemNo:=0;
  AMacNo:='';
  GetCustomerInfo(ACustNo,AItemNo,AMacNo,ACustomerInfo);
  qrySer500O150_005.Value:=ACustomerInfo.CustPhone;
  qrySer500O150_006.Value:=ACustomerInfo.CustFax;
  qrySer500O150_012.Value:=ACustomerInfo.CustAddress;
end;

procedure TSer500_02Form.cbSendClick(Sender: TObject);
begin
  inherited;
  if not cbSend.Checked then cbPrice.Checked:=False;
  cbPrice.Enabled:=cbSend.Checked;
end;

procedure TSer500_02Form.cbClassCloseUp(Sender: TObject; Accept: Boolean);
begin
  inherited;
  if qrySer100.FieldByName('S100_005').AsBoolean then
  begin
    cbSend.Checked:=False;
    cbSend.Enabled:=False;
    cbPrice.Checked:=False;
    cbPrice.Enabled:=False;
  end else
  begin
    cbSend.Checked:=True;
    cbSend.Enabled:=True;
    cbSendClick(cbSend);
  end;
end;

procedure TSer500_02Form.ReportGetValue(const ParName: String;
  var ParValue: Variant);
begin

end;

initialization
  RegisterClass(TSer500_02Form);

finalization
  UnRegisterClass(TSer500_02Form);

end.

⌨️ 快捷键说明

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