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

📄 ser500_01.pas.svn-base

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