📄 tas300_01.pas.svn-base
字号:
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 + -