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

📄 tas300_01.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
📖 第 1 页 / 共 3 页
字号:
    procedure dbgTas500CustomDrawCell(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);
    procedure qryTas500AfterScroll(DataSet: TDataSet);
    procedure qryTas500T500_007GetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure qryTas500T500_010GetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure dbgTas500DblClick(Sender: TObject);
    procedure ADOQuery1T520_003GetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
  private
    AType:array[0..3] of string;
    AUnit:array[0..3] of string;
    procedure SetButtonState(AInsUpd:Boolean);
    procedure SetInterface;
    procedure ReportGetValue(const ParName: String; var ParValue: Variant);
    procedure FilterDialogSelectField1(Sender: TObject;
      FieldName: String; var PictureMask: String; ComboList: TStrings);
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Tas300_01Form: TTas300_01Form;

implementation

uses SYSDATA, CommFun, TasComm, HwPrint, Tas500_02, Tas510_02, Tas520_02, Tas530_02;

{$R *.dfm}

//设置按钮状态
procedure TTas300_01Form.SetButtonState(AInsUpd:Boolean);
begin
  ActFirst.Enabled:=not AInsUpd;
  ActPrior.Enabled:=not AInsUpd;
  ActNext.Enabled:=not AInsUpd;
  ActLast.Enabled:=not AInsUpd;
  ActLocate.Enabled:=not AInsUpd;
  ActSearch.Enabled:=not AInsUpd;
  ActPrint.Enabled:=(ARights[5]='Y') and (not AInsUpd);
  ActExit.Enabled:=True;
end;

procedure TTas300_01Form.SetInterface;
begin
  Image1.Picture.Bitmap.LoadFromResourceName(AImgHandle,'TOPTITL');
  ActFirst.Caption:=GetDBString('COM00005001');  //最前
  ActPrior.Caption:=GetDBString('COM00005002');  //上移
  ActNext.Caption:=GetDBString('COM00005003');  //下移
  ActLast.Caption:=GetDBString('COM00005004');  //最后
  ActLocate.Caption:=GetDBString('COM00005011');  //查找
  ActSearch.Caption:=GetDBString('COM00005012');  //查询
  ActPrint.Caption:=GetDBString('COM00005013');  //打印
  ActExit.Caption:=GetDBString('COM00005015');  //退出

  ActFirst.Hint:=GetDBString('COM00005001',2);  //移到第一条记录
  ActPrior.Hint:=GetDBString('COM00005002',2);  //移到上一条记录
  ActNext.Hint:=GetDBString('COM00005003',2);  //移到下一条记录
  ActLast.Hint:=GetDBString('COM00005004',2);  //移到最后一条记录
  ActLocate.Hint:=GetDBString('COM00005011',2);  //快速定位记录
  ActSearch.Hint:=GetDBString('COM00005012',2);  //按条件查询数据
  ActPrint.Hint:=GetDBString('COM00005013',2);  //将数据打印出来
  ActExit.Hint:=GetDBString('COM00005015',2);  //关闭当前窗口

  ActFirst2.Caption:=ActFirst.Caption;  //最前
  ActPrior2.Caption:=ActPrior.Caption;  //上移
  ActNext2.Caption:=ActNext.Caption;  //下移
  ActLast2.Caption:=ActLast.Caption;  //最后
  ActLocate2.Caption:=ActLocate.Caption;  //查找
  ActFirst2.Hint:=ActFirst.Hint;  //移到第一条记录
  ActPrior2.Hint:=ActPrior.Hint;  //移到上一条记录
  ActNext2.Hint:=ActNext.Hint;  //移到下一条记录
  ActLast2.Hint:=ActLast.Hint;  //移到最后一条记录
  ActLocate2.Hint:=ActLocate.Hint;  //快速定位记录

  ActFirst3.Caption:=ActFirst.Caption;  //最前
  ActPrior3.Caption:=ActPrior.Caption;  //上移
  ActNext3.Caption:=ActNext.Caption;  //下移
  ActLast3.Caption:=ActLast.Caption;  //最后
  ActLocate3.Caption:=ActLocate.Caption;  //查找
  ActFirst3.Hint:=ActFirst.Hint;  //移到第一条记录
  ActPrior3.Hint:=ActPrior.Hint;  //移到上一条记录
  ActNext3.Hint:=ActNext.Hint;  //移到下一条记录
  ActLast3.Hint:=ActLast.Hint;  //移到最后一条记录
  ActLocate3.Hint:=ActLocate.Hint;  //快速定位记录

  Caption:=GetDBString('TAS30001001');  //项目计划跟踪
  qryTas510T510_001.DisplayLabel:=GetDBString('TAS31001002');  //任务编号
  qryTas510T510_002.DisplayLabel:=GetDBString('TAS31001003');  //任务名称
  qryTas510T120_003.DisplayLabel:=GetDBString('TAS31001004');  //任务状态
  qryTas510T100_002.DisplayLabel:=GetDBString('TAS31001005');  //任务类别
  qryTas510T510_005.DisplayLabel:=GetDBString('TAS31001006');  //优先级别
  qryTas510T510_006.DisplayLabel:=GetDBString('TAS31001007');  //申报日期
  qryTas510T510_007.DisplayLabel:=GetDBString('TAS31001008');  //需求日期
  qryTas510T510_008.DisplayLabel:=GetDBString('TAS31001009');  //来源类型
  qryTas510T510_009.DisplayLabel:=GetDBString('TAS31001010');  //来源单号
  qryTas510T510_011.DisplayLabel:=GetDBString('TAS31001011');  //时间单位
  qryTas510T510_012.DisplayLabel:=GetDBString('TAS31001012');  //预计工时
  qryTas510T510_013.DisplayLabel:=GetDBString('TAS31001013');  //实际工时
  qryTas510T510_014.DisplayLabel:=GetDBString('TAS31001014');  //完工比率
  qryTas510T510_015.DisplayLabel:=GetDBString('TAS31001015');  //工单总数
  qryTas510O150_002.DisplayLabel:=GetDBString('TAS31001016');  //客户编号
  qryTas510O150_003.DisplayLabel:=GetDBString('TAS31001017');  //客户名称
//  qryTas510O150_005.DisplayLabel:=GetDBString('TAS31001018');  //电话号码
//  qryTas510O150_012.DisplayLabel:=GetDBString('TAS31001019');  //客户地址
//  qryTas510O151_002.DisplayLabel:=GetDBString('TAS31001020');  //联系人员
//  qryTas510O151_004.DisplayLabel:=GetDBString('TAS31001021');  //职务名称
//  qryTas510O150_007.DisplayLabel:=GetDBString('TAS31001022');  //电子邮件
  qryTas510I150_002.DisplayLabel:=GetDBString('TAS31001023');  //产品编号
  qryTas510I150_003.DisplayLabel:=GetDBString('TAS31001024');  //产品名称
//  qryTas510I150_004.DisplayLabel:=GetDBString('TAS31001025');  //规格型号
//  qryTas510I120_003.DisplayLabel:=GetDBString('TAS31001026');  //产品类别
//  qryTas510M150_002.DisplayLabel:=GetDBString('TAS31001027');  //制造商号
//  qryTas510M150_003.DisplayLabel:=GetDBString('TAS31001028');  //制造商名
  qryTas510T510_018.DisplayLabel:=GetDBString('TAS31001029');  //机身编号
  qryTas510T510_019.DisplayLabel:=GetDBString('TAS31001030');  //任务说明
  qryTas510T510_020.DisplayLabel:=GetDBString('TAS31001031');  //制单日期
  qryTas510T510_021.DisplayLabel:=GetDBString('TAS31001032');  //制单人员
  qryTas510T510_022.DisplayLabel:=GetDBString('TAS31001033');  //修改日期
  qryTas510T510_023.DisplayLabel:=GetDBString('TAS31001034');  //修改人员

  qryTas510T510_025.DisplayLabel:=GetDBString('TAS31001048');  //预计开始日期
  qryTas510T510_026.DisplayLabel:=GetDBString('TAS31001049');  //预计完成日期
  qryTas510T510_027.DisplayLabel:=GetDBString('TAS31001050');  //实际开始日期
  qryTas510T510_028.DisplayLabel:=GetDBString('TAS31001051');  //实际完成日期

  AType[0]:=GetDBString('TAS31001035');  //销售订单
  AType[1]:=GetDBString('TAS31001036');  //来电记录
  AType[2]:=GetDBString('TAS31001037');  //项目计划
  AType[3]:=GetDBString('TAS31001038');  //手工输入
  AUnit[0]:=GetDBString('TAS31001039');  //时
  AUnit[1]:=GetDBString('TAS31001040');  //天
  AUnit[2]:=GetDBString('TAS31001041');  //周
  AUnit[3]:=GetDBString('TAS31001042');  //月

  sbSearch.Caption:=GetDBString('TAS31001043');  //查询

  qryTas520T520_001.DisplayLabel:=GetDBString('TAS31001052');  //工单编号
  qryTas520T520_003.DisplayLabel:=GetDBString('TAS31001053');  //执行人员
  qryTas520T520_004.DisplayLabel:=GetDBString('TAS31001054');  //时间单位
  qryTas520T520_005.DisplayLabel:=GetDBString('TAS31001055');  //预计工时
  qryTas520T520_006.DisplayLabel:=GetDBString('TAS31001056');  //预计开始
  qryTas520T520_007.DisplayLabel:=GetDBString('TAS31001057');  //预计完成
  qryTas520T520_008.DisplayLabel:=GetDBString('TAS31001058');  //实际工时
  qryTas520T520_009.DisplayLabel:=GetDBString('TAS31001059');  //实际开始
  qryTas520T520_010.DisplayLabel:=GetDBString('TAS31001060');  //实际完成

  qryTas530T530_001.DisplayLabel:=GetDBString('TAS31001061');  //汇报编号
  qryTas530T530_003.DisplayLabel:=GetDBString('TAS31001062');  //完工比率
  qryTas530T530_004.DisplayLabel:=GetDBString('TAS31001063');  //汇报工时
  qryTas530T530_007.DisplayLabel:=GetDBString('TAS31001064');  //时间单位
  qryTas530T530_005.DisplayLabel:=GetDBString('TAS31001065');  //开始日期
  qryTas530T530_006.DisplayLabel:=GetDBString('TAS31001066');  //结束日期
  qryTas530T120_003.DisplayLabel:=GetDBString('TAS31001067');  //后续处理

  TabSheet1.Caption:=GetDBString('TAS31001068');  //工单列表
  TabSheet2.Caption:=GetDBString('TAS31001069');  //工单明细
  TabSheet3.Caption:=GetDBString('TAS31001070');  //汇报列表
  TabSheet4.Caption:=GetDBString('TAS31001071');  //汇报明细

  lblTaskCode.Caption:=GetDBString('TAS31001002');  //任务编号
  lblTaskName.Caption:=GetDBString('TAS31001003');  //任务名称
  lblTaskStatus.Caption:=GetDBString('TAS31001004');  //任务状态
  lblTaskClass.Caption:=GetDBString('TAS31001005');  //任务类别

  lblWorkCode.Caption:=GetDBString('TAS31001052');  //工单编号
  lblPerson.Caption:=GetDBString('TAS31001053');  //执行人员
  lblDays.Caption:=GetDBString('TAS31001055');  //预计工时
  lblFromDate.Caption:=GetDBString('TAS31001056');  //预计开始
  lblToDate.Caption:=GetDBString('TAS31001057');  //预计完成
  lblFactDays.Caption:=GetDBString('TAS31001058');  //实际工时
  lblFactFromDate.Caption:=GetDBString('TAS31001059');  //实际开始
  lblFactToDate.Caption:=GetDBString('TAS31001060');  //实际完成
  lblResolvent.Caption:=GetDBString('TAS31001072');  //解决方法

  lblRepCode.Caption:=GetDBString('TAS31001061');  //汇报单号
  lblRepDays.Caption:=GetDBString('TAS31001063');  //汇报工时
  lblPercent.Caption:=GetDBString('TAS31001062');  //完工比率
  lblContinue.Caption:=GetDBString('TAS31001067');  //后续处理
  lblRepDate.Caption:=GetDBString('TAS31001073');  //起止日期
  lblSupportDays.Caption:=GetDBString('TAS31001074');  //协助工时
  lblSupport.Caption:=GetDBString('TAS31001075');  //协助人员
  lblVendor.Caption:=GetDBString('TAS31001076');  //协助公司
  lblDelay.Caption:=GetDBString('TAS31001077');  //拖期原因
  lblRepMemo.Caption:=GetDBString('TAS31001078');  //汇报内容

  lblStatus.Caption:=GetDBString('TAS50001004');  //项目状态
  cbStatus.Clear;
  cbStatus.Items.Add(GetDBString('TAS50001041'));  //所有状态
  SYSDM.qryQuery.Close;
  SYSDM.qryQuery.SQL.Clear;
  SYSDM.qryQuery.SQL.Add('select * from TAS120 where T120_001 in (1,2,3)');
  SYSDM.qryQuery.Open;
  while not SYSDM.qryQuery.Eof do
  begin
    cbStatus.Items.Add(SYSDM.qryQuery.FieldByName('T120_003').AsString);
    SYSDM.qryQuery.Next;
  end;
  cbStatus.ItemIndex:=0;

  qryTas500T500_001.DisplayLabel:=GetDBString('TAS50001002');  //项目编号
  qryTas500T500_002.DisplayLabel:=GetDBString('TAS50001003');  //项目名称
  qryTas500T120_003.DisplayLabel:=GetDBString('TAS50001004');  //项目状态
  qryTas500T500_005.DisplayLabel:=GetDBString('TAS50001005');  //优先级别
  qryTas500T500_006.DisplayLabel:=GetDBString('TAS50001006');  //申报日期
  qryTas500T500_007.DisplayLabel:=GetDBString('TAS50001007');  //来源类型
  qryTas500T500_008.DisplayLabel:=GetDBString('TAS50001008');  //销售订单
  qryTas500T500_010.DisplayLabel:=GetDBString('TAS50001009');  //时间单位
  qryTas500T500_011.DisplayLabel:=GetDBString('TAS50001010');  //预计工时
  qryTas500T500_012.DisplayLabel:=GetDBString('TAS50001011');  //实际工时
  qryTas500T500_013.DisplayLabel:=GetDBString('TAS50001012');  //完工比率
  qryTas500T500_014.DisplayLabel:=GetDBString('TAS50001013');  //任务总数
  qryTas500O150_002.DisplayLabel:=GetDBString('TAS50001014');  //客户编号
  qryTas500O150_003.DisplayLabel:=GetDBString('TAS50001015');  //客户名称
//  qryTas500O150_005.DisplayLabel:=GetDBString('TAS50001016');  //电话号码
//  qryTas500O150_012.DisplayLabel:=GetDBString('TAS50001017');  //客户地址
//  qryTas500O151_002.DisplayLabel:=GetDBString('TAS50001018');  //联系人名
//  qryTas500O151_004.DisplayLabel:=GetDBString('TAS50001019');  //职务名称
//  qryTas500O150_007.DisplayLabel:=GetDBString('TAS50001020');  //电子邮件
  qryTas500I150_002.DisplayLabel:=GetDBString('TAS50001021');  //产品编号
  qryTas500I150_003.DisplayLabel:=GetDBString('TAS50001022');  //产品名称
//  qryTas500I150_004.DisplayLabel:=GetDBString('TAS50001023');  //规格型号
//  qryTas500I120_003.DisplayLabel:=GetDBString('TAS50001024');  //产品类别
//  qryTas500M150_002.DisplayLabel:=GetDBString('TAS50001025');  //制造商号
//  qryTas500M150_003.DisplayLabel:=GetDBString('TAS50001026');  //制造商名
  qryTas500T500_017.DisplayLabel:=GetDBString('TAS50001027');  //机身编号
  qryTas500T500_018.DisplayLabel:=GetDBString('TAS50001028');  //项目说明
  qryTas500T500_019.DisplayLabel:=GetDBString('TAS50001029');  //制单日期
  qryTas500T500_020.DisplayLabel:=GetDBString('TAS50001030');  //制单人员
  qryTas500T500_021.DisplayLabel:=GetDBString('TAS50001031');  //修改日期
  qryTas500T500_022.DisplayLabel:=GetDBString('TAS50001032');  //修改人员
  qryTas500H150_002.DisplayLabel:=GetDBString('TAS50001033');  //责任人号
  qryTas500H150_003.DisplayLabel:=GetDBString('TAS50001034');  //责任人员

  PageControl1.ActivePageIndex:=0;
  PageControl2.ActivePageIndex:=0;
end;

procedure TTas300_01Form.FormCreate(Sender: TObject);
begin
  inherited;
  //使用颜色标明任务的状态。如:计划=黑色,执行=蓝色,完成=灰色,返工=红色
  if GetSysParams('TAS0010')<>'Y' then
  begin
    dbgTas500.OnCustomDrawCell:=nil;
    dbgTas510.OnCustomDrawCell:=nil;
  end;
  SetInterface;
  SetButtonState(False);
  LoadFromReg(Self); //这行一定放在打开数据集后面,否则无效

  sbSearch.Click;
  ADOQuery1.Open;
  ADOQuery2.Open;
end;

procedure TTas300_01Form.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  qryTas500.Close;
  qryTas510.Close;
  qryTas520.Close;
  qryTas530.Close;
  qryTas120.Close;
  qryOrd150.Close;
  qryHrm150.Close;
  qryInv150.Close;
  ADOQuery1.Close;
  ADOQuery2.Close;
end;

procedure TTas300_01Form.dbgTas520BackgroundDrawEvent(Sender: TObject;
  ACanvas: TCanvas; ARect: TRect);
var
  AText:string;
begin
  inherited;
  ARect.Left:=0;
  ARect.Top:=0;
  ACanvas.Brush.Color:=TdxDBGrid(Sender).GroupPanelColor;
  ACanvas.Font.Color:=TdxDBGrid(Sender).GroupPanelFontColor;
  //您可以把列标题拖放到此处使记录按此列进行分组
  if TdxDBGrid(Sender).GroupColumnCount=0 then AText:=' '+GetDBString('NOT10001012') else AText:='';
  Windows.FillRect(ACanvas.Handle, ARect, 0);
  DrawText(ACanvas.Handle, PChar(AText), Length(AText), ARect, DT_LEFT or DT_EXPANDTABS or DT_NOPREFIX or DT_SINGLELINE or DT_VCENTER);
end;

procedure TTas300_01Form.sbSearchClick(Sender: TObject);
begin
  inherited;
//查询
  if Assigned(SYSDM.wwFilterDialog1.Form) then SYSDM.wwFilterDialog1.ClearFilter;
  qryTas500.DisableControls;
  qryTas500.Close;
  qryTas500.SQL.Clear;
  if cbStatus.ItemIndex=0 then
  begin
    qryTas500.SQL.Add('select A.*,B.T120_003,B.T120_005,');
    qryTas500.SQL.Add('       E.O150_001,E.O150_002,E.O150_003,E.O150_005,E.O150_006,E.O150_012');
    qryTas500.SQL.Add('from TAS500 A, TAS120 B,ORD150 E');
    qryTas500.SQL.Add('where A.T500_003=B.T120_001 and A.T500_015=E.O150_001');
    qryTas500.SQL.Add('order by T500_001');
  end else
  begin
    qryTas500.SQL.Add('select A.*,B.T120_003,B.T120_005,');
    qryTas500.SQL.Add('       E.O150_001,E.O150_002,E.O150_003,E.O150_005,E.O150_006,E.O150_012');
    qryTas500.SQL.Add('from TAS500 A, TAS120 B,ORD150 E');
    qryTas500.SQL.Add('where A.T500_003=B.T120_001 and A.T500_015=E.O150_001 and ');
    qryTas500.SQL.Add('      A.T500_003='+IntToStr(cbStatus.ItemIndex));
    qryTas500.SQL.Add('order by T500_001');
  end;
  qryTas500.Open;
  qryTas500.EnableControls;

  qryTas510.Close;
  qryTas510.SQL.Clear;
  qryTas510.SQL.Add('select B.*,C.T100_002,D.T120_003,D.T120_005,');
  qryTas510.SQL.Add('       G.O150_001,G.O150_002,G.O150_003,I.H150_002,I.H150_003');
  qryTas510.SQL.Add('from TAS510 B,TAS100 C,TAS120 D,ORD150 G,HRM150 I');
  qryTas510.SQL.Add('where B.T510_004=C.T100_001 and B.T510_003=D.T120_001 and B.T510_024=I.H150_001 and');
  qryTas510.SQL.Add('      B.T510_016=G.O150_001 and B.T510_008=2 and B.T510_009=:T500_001');
  qryTas510.SQL.Add('order by T510_001');
  qryTas510.Open;

  qryTas520.Close;
  qryTas520.SQL.Clear;
  qryTas520.SQL.Add('select * from TAS520 where T520_002=:T510_001 order by T520_001');
  qryTas520.Open;

  qryTas530.Close;
  qryTas530.SQL.Clear;
  qryTas530.SQL.Add('select * from TAS530 where T530_002=:T520_001 order by T530_001');
  qryTas530.Open;

  qryTas120.Open;
  qryOrd150.Open;
  qryHrm150.Open;
  qryInv150.Open;

  Screen.Cursor:=crDefault;
end;

procedure TTas300_01Form.qryTas510T510_008GetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
  inherited;
  if qryTas510.IsEmpty then Exit;
  case Sender.AsInteger of
    0:Text:=AType[0];  //销售订单
    1:Text:=AType[1];  //来电记录
    2:Text:=AType[2];  //项目计划
    3:Text:=AType[3];  //手工输入
  end;
end;

procedure TTas300_01Form.qryTas510T510_011GetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
  inherited;
  if qryTas510.IsEmpty then Exit;
  case Sender.AsInteger of
    0:Text:=AUnit[0];  //时
    1:Text:=AUnit[1];  //天
    2:Text:=AUnit[2];  //周
    3:Text:=AUnit[3];  //月
  end;
end;

procedure TTas300_01Form.dbgTas510CustomDrawCell(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 ANode.HasChildren then Exit;
  if not ASelected then
    if ANode.Values[dbgTas510T120_005.Index]<>null then AFont.Color:=ANode.Values[dbgTas510T120_005.Index];
end;

procedure TTas300_01Form.cbClassChange(Sender: TObject);
begin
  inherited;
  sbSearch.Click;
end;

procedure TTas300_01Form.ActFirstExecute(Sender: TObject);
begin
  inherited;
//最前
  if qryTas500.IsEmpty then Exit;
  qryTas500.First;
  ActFirst.Enabled:=False;
  ActPrior.Enabled:=False;
  ActNext.Enabled:=True;
  ActLast.Enabled:=True;
end;

procedure TTas300_01Form.ActPriorExecute(Sender: TObject);
begin

⌨️ 快捷键说明

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