📄 ser500_01.pas.svn-base
字号:
ShowMsg('UMS10000319'); //起止日期不可为空
if edtFromDate.Text='' then edtFromDate.SetFocus else edtToDate.SetFocus;
Abort;
end;
if edtFromDate.Date>edtToDate.Date then
begin
ShowMsg('UMS10000320'); //结束日期不能小于起始日期
edtToDate.SetFocus;
Abort;
end;
Screen.Cursor:=crHourGlass;
//使用颜色标明任务的状态。如:计划=黑色,执行=蓝色,完成=灰色,返工=红色
AIsColor:=GetSysParams('TAS0010')='Y';
AStringList.Clear;
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select * from SER100 where S100_002='+''''+cbClass.Text+'''');
SYSDM.qryQuery.Open;
if SYSDM.qryQuery.IsEmpty then AClassNo:='0' else AClassNo:=SYSDM.qryQuery.FieldByName('S100_001').AsString;
if AClassNo<>'0' then
begin
AStringList.Add(AClassNo);
if HasChild(AClassNo,'SER100','S100_003') then GetChild(AClassNo,'SER100','S100_003','S100_001',AStringList);
end;
ADOQuery1.Filtered:=False;
if not Assigned(ADOQuery1.OnFilterRecord) then
ADOQuery1.OnFilterRecord:=ADOQuery1FilterRecord;
ADOQuery1.DisableControls;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select A.*,B.S100_002,C.S110_003,D.H150_001,D.H150_002,D.H150_003,');
ADOQuery1.SQL.Add(' E.O150_001,E.O150_002,E.O150_003,E.O150_005,E.O150_006,E.O150_012,C.S110_005');
ADOQuery1.SQL.Add('from SER500 A, SER100 B, SER110 C, HRM150 D, ORD150 E');
ADOQuery1.SQL.Add('where A.S500_004=B.S100_001 and A.S500_003=C.S110_001 and');
ADOQuery1.SQL.Add(' A.S500_010=D.H150_001 and A.S500_017=E.O150_001 and');
ADOQuery1.SQL.Add(' A.S500_007>='+GetDateString(edtFromDate.Date)+' and A.S500_007<='+GetDateString(edtToDate.Date));
ADOQuery1.SQL.Add('order by S500_001');
ADOQuery1.Open;
ADOQuery1.EnableControls;
ADOQuery1.Filtered:=True;
Screen.Cursor:=crDefault;
end;
procedure TSer500_01Form.dxDBGrid1CustomDrawCell(Sender: TObject;
ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
AColumn: TdxTreeListColumn; ASelected, AFocused, ANewItemRow: Boolean;
var AText: String; var AColor: TColor; AFont: TFont;
var AAlignment: TAlignment; var ADone: Boolean);
begin
inherited;
if not AIsColor then Exit;
if ANode.HasChildren then Exit;
if not ASelected then
if ANode.Values[dxDBGrid1S110_005.Index]<>null then AFont.Color:=ANode.Values[dxDBGrid1S110_005.Index];
end;
procedure TSer500_01Form.ReportGetValue(const ParName: String; var ParValue: Variant);
begin
inherited;
if ParName='AType' then ParValue:=lblClass.Caption //类别
else if ParName='ATypeValue' then ParValue:=cbClass.Text //
else if ParName='ADate' then ParValue:=lblDate.Caption //日期
else if ParName='AFromDate' then ParValue:=edtFromDate.Text //
else if ParName='AToDate' then ParValue:=edtToDate.Text //
else if ParName='S500_001' then ParValue:=ADOQuery1S500_001.DisplayLabel //来电编号
else if ParName='S500_002' then ParValue:=ADOQuery1S500_002.DisplayLabel //来电名称
else if ParName='S110_003' then ParValue:=ADOQuery1S110_003.DisplayLabel //来电状态
else if ParName='S100_002' then ParValue:=ADOQuery1S100_002.DisplayLabel //来电类别
else if ParName='S500_005' then ParValue:=ADOQuery1S500_005.DisplayLabel //优先级别
else if ParName='S500_006' then ParValue:=ADOQuery1S500_006.DisplayLabel //来电类型
else if ParName='S500_007' then ParValue:=ADOQuery1S500_007.DisplayLabel //来电日期
else if ParName='S500_008' then ParValue:=ADOQuery1S500_008.DisplayLabel //来电时间
else if ParName='S500_009' then ParValue:=ADOQuery1S500_009.DisplayLabel //接听时间
else if ParName='H150_002' then ParValue:=ADOQuery1H150_002.DisplayLabel //受理人号
else if ParName='H150_003' then ParValue:=ADOQuery1H150_003.DisplayLabel //受理人名
else if ParName='S500_011' then ParValue:=ADOQuery1S500_011.DisplayLabel //来电人员
else if ParName='S500_012' then ParValue:=ADOQuery1S500_012.DisplayLabel //部门名称
else if ParName='S500_013' then ParValue:=ADOQuery1S500_013.DisplayLabel //职务名称
else if ParName='S500_014' then ParValue:=ADOQuery1S500_014.DisplayLabel //联系电话
else if ParName='S500_015' then ParValue:=ADOQuery1S500_015.DisplayLabel //单据类型
else if ParName='S500_016' then ParValue:=ADOQuery1S500_016.DisplayLabel //单据编号
else if ParName='O150_002' then ParValue:=ADOQuery1O150_002.DisplayLabel //客户编号
else if ParName='O150_003' then ParValue:=ADOQuery1O150_003.DisplayLabel //客户名称
else if ParName='O150_005' then ParValue:=ADOQuery1O150_005.DisplayLabel //电话号码
else if ParName='O150_012' then ParValue:=ADOQuery1O150_012.DisplayLabel //客户地址
else if ParName='O150_006' then ParValue:=ADOQuery1O150_006.DisplayLabel //传真号码
else if ParName='I150_002' then ParValue:=ADOQuery1I150_002.DisplayLabel //产品编号
else if ParName='I150_003' then ParValue:=ADOQuery1I150_003.DisplayLabel //产品名称
else if ParName='S500_019' then ParValue:=ADOQuery1S500_019.DisplayLabel //机身编号
else if ParName='S500_020' then ParValue:=ADOQuery1S500_020.DisplayLabel //是否派工
else if ParName='S500_027' then ParValue:=ADOQuery1S500_027.DisplayLabel //是否报价
else if ParName='S500_028' then ParValue:=ADOQuery1S500_028.DisplayLabel //保养开始日期
else if ParName='S500_029' then ParValue:=ADOQuery1S500_029.DisplayLabel //保养完成日期
else if ParName='S500_030' then ParValue:=ADOQuery1S500_030.DisplayLabel //续保开始日期
else if ParName='S500_031' then ParValue:=ADOQuery1S500_031.DisplayLabel //续保完成日期
else if ParName='S500_032' then ParValue:=ADOQuery1S500_032.DisplayLabel //来源类型
else if ParName='S500_033' then ParValue:=ADOQuery1S500_033.DisplayLabel //来电内容
else if ParName='S500_034' then ParValue:=ADOQuery1S500_034.DisplayLabel //制单日期
else if ParName='S500_035' then ParValue:=ADOQuery1S500_035.DisplayLabel //制单人员
else if ParName='S500_036' then ParValue:=ADOQuery1S500_036.DisplayLabel //修改日期
else if ParName='S500_037' then ParValue:=ADOQuery1S500_037.DisplayLabel //修改人员
end;
procedure TSer500_01Form.cbClassChange(Sender: TObject);
begin
inherited;
sbSearch.Click;
end;
procedure TSer500_01Form.ADOQuery1S500_006GetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
inherited;
if ADOQuery1.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_01Form.ADOQuery1S500_015GetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
inherited;
if ADOQuery1.IsEmpty then Exit;
case Sender.AsInteger of
0:Text:=AType[0]; //项目计划
1:Text:=AType[1]; //任务计划
2:Text:=AType[2]; //手工输入
end;
end;
procedure TSer500_01Form.ADOQuery1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
inherited;
if AStringList.Count=0 then Exit;
Accept:=AStringList.IndexOf(ADOQuery1.FieldByName('S500_004').AsString)<>-1;
end;
procedure GetStatusList(var AStringList:TStrings);
begin
if AStringList=nil then Exit;
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select * from SER110');
SYSDM.qryQuery.Open;
while not SYSDM.qryQuery.Eof do
begin
AStringList.Add(SYSDM.qryQuery.FieldByName('S110_003').Value);
SYSDM.qryQuery.Next;
end;
end;
procedure TSer500_01Form.FilterDialogSelectField(Sender: TObject;
FieldName: String; var PictureMask: String; ComboList: TStrings);
begin
if FieldName='T110_003' then GetStatusList(ComboList);
end;
procedure TSer500_01Form.ADOQuery1S500_008GetText(Sender: TField;
var Text: String; DisplayText: Boolean);
var
ATime:TTime;
AHour,AMin:Integer;
begin
inherited;
//来电时间
if ADOQuery1.IsEmpty then Exit;
AHour:=Sender.Value div 60;
AMin:=Sender.Value-AHour*60;
ATime:=EncodeTime(AHour,AMin,0,0);
Text:=FormatDateTime('hh:mm',ATime);
end;
procedure TSer500_01Form.ADOQuery1CalcFields(DataSet: TDataSet);
var
ACustNo,AItemNo:Integer;
AMacNo:string;
ACustomerInfo:TCustomerInfo;
begin
inherited;
ACustNo:=ADOQuery1O150_001.Value;
AItemNo:=0;
AMacNo:='';
GetCustomerInfo(ACustNo,AItemNo,AMacNo,ACustomerInfo);
ADOQuery1O150_005.Value:=ACustomerInfo.CustPhone;
ADOQuery1O150_006.Value:=ACustomerInfo.CustFax;
ADOQuery1O150_012.Value:=ACustomerInfo.CustAddress;
end;
procedure TSer500_01Form.BrowseEvent;
begin
inherited;
Ser500_02Form:=TSer500_02Form.Create(Application);
Ser500_02Form.OpenData(ADOQuery1S500_001.Value);
Ser500_02Form.ShowModal;
end;
procedure TSer500_01Form.DeleteEvent;
var
ACode:string;
begin
inherited;
//删除
//仅状态=受理时可删除
if ADOQuery1S500_003.AsInteger<>1 then
begin
ShowMsg('UMS10000362'); //不允许删除非受理状态的记录
Abort;
end;
ACode:=ADOQuery1S500_001.AsString;
DeleteTableRecord(ADOQuery1,'SER500','S500_001='+''''+ACode+'''');
end;
procedure TSer500_01Form.InsertEvent;
begin
inherited;
//新增
Ser500_02Form:=TSer500_02Form.Create(Application);
Ser500_02Form.OpenData('');
Ser500_02Form.ActInsert.Execute;
Ser500_02Form.ShowModal;
end;
procedure TSer500_01Form.UpdateEvent;
begin
inherited;
//修改
if ADOQuery1S500_003.AsInteger in [2,3,4] then
begin
ShowMsg('UMS10000361'); //不允许修改非受理状态的记录
Abort;
end;
Ser500_02Form:=TSer500_02Form.Create(Application);
Ser500_02Form.OpenData(ADOQuery1S500_001.Value);
Ser500_02Form.ActUpdate.Execute;
Ser500_02Form.ShowModal;
end;
initialization
RegisterClass(TSer500_01Form);
finalization
UnRegisterClass(TSer500_01Form);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -