📄 ser500_02.pas
字号:
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 + -