?? ser300_01.pas.svn-base
字號:
implementation
uses SYSDATA, CommFun, TasComm, HwPrint, Ser500_02, Ser510_02, Ser520_02, Ser530_02;
{$R *.dfm}
//設置按鈕狀態
procedure TSer300_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 TSer300_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; //快速定位記錄
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'); //查詢
TabSheet2.Caption:=GetDBString('SER30001079'); // 匯報明細
lblWorkCode.Caption:=GetDBString('TAS30001001'); // 匯報編號
lblDays.Caption:=GetDBString('SER30001004'); // 匯報日期
lblFactDays.Caption:=GetDBString('SER30001008'); // 制單人員
lblFromDate.Caption:=GetDBString('SER30001006'); // 后續處理
lblFactFromDate.Caption:=GetDBString('SER30001009'); // 修改日期
lblToDate.Caption:=GetDBString('SER30001007'); // 制單日期
lblFactToDate.Caption:=GetDBString('SER30001010'); // 修改人員
lblPerson.Caption:=GetDBString('SER30001003'); // 匯報人員
lblResolvent.Caption:=GetDBString('SER30001005'); // 匯報內容
TabSheet3.Caption:=GetDBString('SER30001080'); // 任務計劃
TabSheet4.Caption:=GetDBString('SER30001081'); // 任務明細
lblRepCode.Caption:=GetDBString('SER30001043'); // 任務編號
lblRepDays.Caption:=GetDBString('SER30001044'); // 任務名稱
lblSupport.Caption:=GetDBString('SER30001045'); // 任務狀態
lblRepDate.Caption:=GetDBString('SER30001015'); // 優先級別
lblPercent.Caption:=GetDBString('SER30001048'); // 申報日期
// lblVor.Caption:=GetDBString('SER30001050'); // 來源類型
lblSupportDays.Caption:=GetDBString('SER30001052'); // 時間單位
lblContinue.Caption:=GetDBString('SER30001046'); // 任務類別
lblDelay.Caption:=GetDBString('SER30001051'); // 來源單號
lblRepMemo.Caption:=GetDBString('SER30001075'); // 任務說明
Label2.Caption:=GetDBString('SER30001053'); // 預計工時
Label4.Caption:=GetDBString('SER30001054'); // 預計開始日期
Label5.Caption:=GetDBString('SER30001055'); // 預計完成日期
Label1.Caption:=GetDBString('SER30001002'); // 來電編號
lblPhoStatus.Caption:=GetDBString('SER30001013'); // 來電狀態
Label3.Caption:=GetDBString('SER30001012'); // 來電名稱
lblPhoClass.Caption:=GetDBString('SER30001014'); // 來電類別
//
lblStatus.Caption:=GetDBString('SER30001082'); // 項目狀態
qrySer530S530_001.DisplayLabel:=GetDBString('SER30001001'); //'匯報編號'
qrySer530S530_002.DisplayLabel:=GetDBString('SER30001002'); //'來電編號'
qrySer530S530_003.DisplayLabel:=GetDBString('SER30001003'); //'匯報人員'
qrySer530S530_004.DisplayLabel:=GetDBString('SER30001004'); //'匯報日期'
qrySer530S530_005.DisplayLabel:=GetDBString('SER30001005'); //'匯報內容'
qrySer530S530_006.DisplayLabel:=GetDBString('SER30001006'); //'后續處理'
qrySer530S530_007.DisplayLabel:=GetDBString('SER30001007'); //'制單日期'
qrySer530S530_008.DisplayLabel:=GetDBString('SER30001008'); //'制單人員'
qrySer530S530_009.DisplayLabel:=GetDBString('SER30001009'); //'修改日期'
qrySer530S530_010.DisplayLabel:=GetDBString('SER30001010'); //'修改人員'
qrySer500S500_001.DisplayLabel:=GetDBString('SER30001011'); //'來電編號'
qrySer500S500_002.DisplayLabel:=GetDBString('SER30001012'); //'來電名稱'
qrySer500S110_003.DisplayLabel:=GetDBString('SER30001013'); //'來電狀態'
qrySer500S100_002.DisplayLabel:=GetDBString('SER30001014'); //'來電類別'
qrySer500S500_005.DisplayLabel:=GetDBString('SER30001015'); //'優先級別'
qrySer500S500_006.DisplayLabel:=GetDBString('SER30001016'); //'來電類型'
qrySer500S500_007.DisplayLabel:=GetDBString('SER30001017'); //'來電日期'
qrySer500S500_008.DisplayLabel:=GetDBString('SER30001018'); //'來電時間'
qrySer500S500_009.DisplayLabel:=GetDBString('SER30001019'); //'接聽時間'
qrySer500H150_003.DisplayLabel:=GetDBString('SER30001020'); //'受理人員'
qrySer500S500_011.DisplayLabel:=GetDBString('SER30001021'); //'來電人員'
qrySer500S500_012.DisplayLabel:=GetDBString('SER30001022'); //'部門名稱'
qrySer500S500_013.DisplayLabel:=GetDBString('SER30001023'); //'職務名稱'
qrySer500S500_014.DisplayLabel:=GetDBString('SER30001024'); //'聯系電話'
qrySer500S500_015.DisplayLabel:=GetDBString('SER30001025'); //'單據類型'
qrySer500S500_016.DisplayLabel:=GetDBString('SER30001026'); //'單據編號'
qrySer500O150_003.DisplayLabel:=GetDBString('SER30001027'); //'客戶名稱'
qrySer500S500_018.DisplayLabel:=GetDBString('SER30001028'); //'產品編號'
qrySer500S500_019.DisplayLabel:=GetDBString('SER30001029'); //'機身編號'
qrySer500S500_020.DisplayLabel:=GetDBString('SER30001030'); //'是否派工'
qrySer500S500_025.DisplayLabel:=GetDBString('SER30001031'); //'實際開始日期'
qrySer500S500_026.DisplayLabel:=GetDBString('SER30001032'); //'實際完成日期'
qrySer500S500_027.DisplayLabel:=GetDBString('SER30001033'); //'是否報價'
qrySer500S500_028.DisplayLabel:=GetDBString('SER30001034'); //'保養開始日期'
qrySer500S500_029.DisplayLabel:=GetDBString('SER30001035'); //'保養完成日期'
qrySer500S500_030.DisplayLabel:=GetDBString('SER30001036'); //'續保開始日期'
qrySer500S500_031.DisplayLabel:=GetDBString('SER30001037'); //'續保完成日期'
qrySer500S500_033.DisplayLabel:=GetDBString('SER30001038'); //'來電內容'
qrySer500S500_034.DisplayLabel:=GetDBString('SER30001039'); //'制單日期'
qrySer500S500_035.DisplayLabel:=GetDBString('SER30001040'); //'制單人員'
qrySer500S500_036.DisplayLabel:=GetDBString('SER30001041'); //'修改日期'
qrySer500S500_037.DisplayLabel:=GetDBString('SER30001042'); //'修改人員'
qryTas510T510_001.DisplayLabel:=GetDBString('SER30001043'); //'任務編號'
qryTas510T510_002.DisplayLabel:=GetDBString('SER30001044'); //'任務名稱'
qryTas510T120_003.DisplayLabel:=GetDBString('SER30001045'); //'任務狀態'
qryTas510T100_002.DisplayLabel:=GetDBString('SER30001046'); //'任務類別'
qryTas510T510_005.DisplayLabel:=GetDBString('SER30001047'); //'優先級別'
qryTas510T510_006.DisplayLabel:=GetDBString('SER30001048'); //'申報日期'
qryTas510T510_007.DisplayLabel:=GetDBString('SER30001049'); //'需求日期'
qryTas510T510_008.DisplayLabel:=GetDBString('SER30001050'); //'來源類型'
qryTas510T510_009.DisplayLabel:=GetDBString('SER30001051'); //'來源單號'
qryTas510T510_011.DisplayLabel:=GetDBString('SER30001052'); //'時間單位'
qryTas510T510_012.DisplayLabel:=GetDBString('SER30001053'); //'預計工時'
qryTas510T510_025.DisplayLabel:=GetDBString('SER30001054'); //'預計開始日期'
qryTas510T510_026.DisplayLabel:=GetDBString('SER30001055'); //'預計完成日期'
qryTas510T510_013.DisplayLabel:=GetDBString('SER30001056'); //'實際工時'
qryTas510T510_027.DisplayLabel:=GetDBString('SER30001057'); //'實際開始日期'
qryTas510T510_028.DisplayLabel:=GetDBString('SER30001058'); //'實際完成日期'
qryTas510T510_014.DisplayLabel:=GetDBString('SER30001059'); //'完工比率'
qryTas510T510_015.DisplayLabel:=GetDBString('SER30001060'); //'工單總數'
qryTas510O150_002.DisplayLabel:=GetDBString('SER30001061'); //'客戶編號'
qryTas510O150_003.DisplayLabel:=GetDBString('SER30001062'); //'客戶名稱'
qryTas510O150_005.DisplayLabel:=GetDBString('SER30001063'); //'電話號碼'
qryTas510O150_012.DisplayLabel:=GetDBString('SER30001064'); //'客戶地址'
qryTas510O151_002.DisplayLabel:=GetDBString('SER30001065'); //'聯系人員'
qryTas510O151_004.DisplayLabel:=GetDBString('SER30001066'); //'職務名稱'
qryTas510O150_007.DisplayLabel:=GetDBString('SER30001067'); //'電子郵件'
qryTas510I150_002.DisplayLabel:=GetDBString('SER30001068'); //'產品編號'
qryTas510I150_003.DisplayLabel:=GetDBString('SER30001069'); //'產品名稱'
qryTas510I150_004.DisplayLabel:=GetDBString('SER30001070'); //'規格型號'
qryTas510I120_003.DisplayLabel:=GetDBString('SER30001071'); //'產品類別'
qryTas510M150_002.DisplayLabel:=GetDBString('SER30001072'); //'制造商號'
qryTas510M150_003.DisplayLabel:=GetDBString('SER30001073'); //'制造商名'
qryTas510T510_018.DisplayLabel:=GetDBString('SER30001074'); //'機身編號'
qryTas510T510_019.DisplayLabel:=GetDBString('SER30001075'); //'任務說明'
qryTas510T510_020.DisplayLabel:=GetDBString('SER30001076'); //'制單日期'
qryTas510T510_021.DisplayLabel:=GetDBString('SER30001077'); //'制單人員'
qryTas510T510_022.DisplayLabel:=GetDBString('SER30001078'); //'修改日期'
PageControl1.ActivePageIndex:=0;
PageControl2.ActivePageIndex:=0;
end;
procedure TSer300_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;
end;
procedure TSer300_01Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
{ qryTas500.Close;
qryTas510.Close;
qryTas520.Close;
qryTas530.Close;
qryTas120.Close;
qryOrd150.Close;
qryOrd151.Close;
qryHrm150.Close;
}end;
procedure TSer300_01Form.dbgSer530BackgroundDrawEvent(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 TSer300_01Form.sbSearchClick(Sender: TObject);
begin
inherited;
//查詢
qrySer500.DisableControls;
qrySer500.Close;
qrySer500.SQL.Clear;
if cbStatus.ItemIndex=0 then
begin
qrySer500.SQL.Add('SELECT SER500.S500_001,S500_004,SER500.S500_002, SER110.S110_003, SER100.S100_002, SER500.S500_005,');
qrySer500.SQL.Add('SER500.S500_006, SER500.S500_007, SER500.S500_008, SER500.S500_009, HRM150.H150_003, SER500.S500_011,');
qrySer500.SQL.Add('SER500.S500_012, SER500.S500_013, SER500.S500_014, SER500.S500_015, SER500.S500_016, ORD150.O150_003,');
qrySer500.SQL.Add('SER500.S500_018, SER500.S500_019, SER500.S500_020, SER500.S500_025, SER500.S500_026, SER500.S500_027,');
qrySer500.SQL.Add(' SER500.S500_028, SER500.S500_029, SER500.S500_030, SER500.S500_031, SER500.S500_033, SER500.S500_034,');
qrySer500.SQL.Add('SER500.S500_035, SER500.S500_036, SER500.S500_037');
qrySer500.SQL.Add(' FROM (((SER500 LEFT JOIN SER110 ON SER500.S500_003=SER110.S110_001) LEFT JOIN SER100 ON SER500.S500_004=SER100.S100_001) LEFT JOIN HRM150 ON SER500.S500_010=HRM150.H150_001) LEFT JOIN ORD150 ON SER500.S500_017=ORD150.O150_001');
qrySer500.SQL.Add(' where not s100_005=-1');
qrySer500.SQL.Add(' order by S500_001');
end else
begin
qrySer500.SQL.Add('SELECT SER500.S500_001,S500_004,SER500.S500_002, SER110.S110_003, SER100.S100_002, SER500.S500_005, SER500.S500_006,');
qrySer500.SQL.Add('SER500.S500_007, SER500.S500_008, SER500.S500_009, HRM150.H150_003, SER500.S500_011, SER500.S500_012, SER500.S500_013,');
qrySer500.SQL.Add('SER500.S500_014, SER500.S500_015, SER500.S500_016, ORD150.O150_003, SER500.S500_018, SER500.S500_019, SER500.S500_020, SER500.S500_025, SER500.S500_026, SER500.S500_027, SER500.S500_028, SER500.S500_029, SER500.S500_030, ');
qrySer500.SQL.Add('SER500.S500_031, SER500.S500_033, SER500.S500_034, SER500.S500_035, SER500.S500_036, SER500.S500_037');
qrySer500.SQL.Add(' FROM (((SER500 LEFT JOIN SER110 ON SER500.S500_003=SER110.S110_001) LEFT JOIN SER100 ON SER500.S500_004=SER100.S100_001) LEFT JOIN HRM150 ON SER500.S500_010=HRM150.H150_001) LEFT JOIN ORD150 ON SER500.S500_017=ORD150.O150_001');
qrySer500.SQL.Add(' where S500_004='+IntToStr(cbStatus.ItemIndex));
qrySer500.SQL.Add(' order by S500_001');
end;
qrySer500.Open;
qrySer500.EnableControls;
qrySer530.Close;
qrySer530.SQL.Clear;
qrySer530.SQL.Add('SELECT ser530.* from ser530 where s530_002=:s500_001');
qrySer530.Open;
qryOrd151.Close;
qryOrd151.SQL.Clear;
qryOrd151.SQL.Add('select * from ORD151 where O151_011<>0');
qryOrd151.Open;
qryTas510.Close;
qryTas510.SQL.Clear;
qryTas510.SQL.Add('select B.*,C.T100_002,D.T120_003,E.I150_002,E.I150_003,E.I150_004,F.I120_003,');
qryTas510.SQL.Add(' G.O150_001,G.O150_002,G.O150_003,G.O150_005,G.O150_007,G.O150_012,I.H150_002,I.H150_003,');
qryTas510.SQL.Add('H.O150_002 as M150_002,H.O150_003 as M150_003,D.T120_005');
qryTas510.SQL.Add(' from TAS510 B,TAS100 C,TAS120 D,INV150 E,INV120 F,ORD150 G,ORD150 H, 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_017=E.I150_001 and E.I150_005=F.I120_001 and');
qryTas510.SQL.Add('B.T510_016=G.O150_001 and B.T510_017=E.I150_001 and E.I150_010=H.O150_001');
qryTas510.SQL.Add('and T510_008=1 and T510_009=:s500_001');
qryTas510.SQL.Add('order by T510_001');
qryTas510.Open;
Screen.Cursor:=crDefault;
end;
procedure TSer300_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 TSer300_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 TSer300_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 TSer300_01Form.cbClassChange(Sender: TObject);
begin
inherited;
sbSearch.Click;
end;
procedure TSer300_01Form.ActFirstExecute(Sender: TObject);
begin
inherited;
//最前
if qrySer500.IsEmpty then Exit;
qrySer500.First;
ActFirst.Enabled:=False;
ActPrior.Enabled:=False;
ActNext.Enabled:=True;
ActLast.Enabled:=True;
end;
procedure TSer300_01Form.ActPriorExecute(Sender: TObject);
begin
inherited;
//上移
if qrySer500.IsEmpty then Exit;
qrySer500.Prior;
ActNext.Enabled:=not qrySer500.Eof;
ActLast.Enabled:=not qrySer500.Eof;
ActFirst.Enabled:=not qrySer500.Bof;
ActPrior.Enabled:=not qrySer500.Bof;
end;
procedure TSer300_01Form.ActNextExecute(Sender: TObject);
begin
inherited;
//下移
if qrySer500.IsEmpty then Exit;
qrySer500.Next;
ActNext.Enabled:=not qrySer500.Eof;
ActLast.Enabled:=not qrySer500.Eof;
ActFirst.Enabled:=not qrySer500.Bof;
ActPrior.Enabled:=not qrySer500.Bof;
end;
procedure TSer300_01Form.ActLastExecute(Sender: TObject);
begin
inherited;
//最后
if qrySer500.IsEmpty then Exit;
qrySer500.Last;
ActNext.Enabled:=False;
ActLast.Enabled:=False;
ActFirst.Enabled:=True;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -