Исправлено расположение панелей, перекомпоновка графика в гаражке
This commit is contained in:
parent
a277d780bf
commit
8606eac4aa
19
db/UDO_P8PANELS_USETTING.sql
Normal file
19
db/UDO_P8PANELS_USETTING.sql
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
/*
|
||||||
|
Ïàðóñ 8 - Ïàíåëè ìîíèòîðèíãà
|
||||||
|
Òàáëèöà íàñòðîåê ïàíåëåé äëÿ ïîëüçîâàòåëåé
|
||||||
|
*/
|
||||||
|
create table UDO_P8PANELS_USETTING
|
||||||
|
(
|
||||||
|
/* Ðåã. íîìåð çàïèñè */
|
||||||
|
RN number( 17 ) not null,
|
||||||
|
/* Ðåã. íîìåð îðãàíèçàöèè */
|
||||||
|
COMPANY number( 17 ) not null,
|
||||||
|
/* Èäåíòèôèêàòîð ïîëüçîâàòåëÿ */
|
||||||
|
AUTHID varchar2( 30 ) not null,
|
||||||
|
/* Ïàíåëü */
|
||||||
|
PANEL varchar2( 100 ) not null,
|
||||||
|
/* Íàñòðîéêè */
|
||||||
|
PANEL_SETTINGS clob,
|
||||||
|
constraint C_UDO_P8PANELS_USETTING_PK primary key( RN ),
|
||||||
|
constraint C_UDO_P8PANELS_USETTING_UK unique( COMPANY, AUTHID, PANEL )
|
||||||
|
)
|
||||||
1529
db/UDO_PKG_P8PANELS_HAULER_ANL.pck
Normal file
1529
db/UDO_PKG_P8PANELS_HAULER_ANL.pck
Normal file
File diff suppressed because it is too large
Load Diff
881
db/UDO_PKG_P8PANELS_RPR_ANL.pck
Normal file
881
db/UDO_PKG_P8PANELS_RPR_ANL.pck
Normal file
@ -0,0 +1,881 @@
|
|||||||
|
create or replace package UDO_PKG_P8PANELS_RPR_ANL as
|
||||||
|
|
||||||
|
/* ‘÷èòûâàíèå íàèìåíîâàíèß ïîäðàçäåëåíèß ïî ìíåìîêîäó */
|
||||||
|
procedure GET_INS_DEPARTMENT_NAME
|
||||||
|
(
|
||||||
|
SCODE in varchar2, -- Œíåìîêîä ïîäðàçäåëåíèß
|
||||||
|
SNAME out varchar2 -- <20>àèìåíîâàíèå ïîäðàçäåëåíèß
|
||||||
|
);
|
||||||
|
|
||||||
|
/* ƒðàôèê ñîñòîßíèé ðåìîíòíûõ âåäîìîñòåé */
|
||||||
|
procedure CHART_STATUSES
|
||||||
|
(
|
||||||
|
DDATE_FROM in date, -- „àòà ñ
|
||||||
|
DDATE_TO in date, -- „àòà ïî
|
||||||
|
SINS_DEPARTMENT in varchar2, -- Œíåìîêîä òðàíñïîðòíîãî ó÷àñòêà
|
||||||
|
SEQTYPEWRK in varchar2, -- Œíåìîêîä òèïîâîé ðàáîòû
|
||||||
|
SEQWRKKIND in varchar2, -- Œíåìîêîä âèäà òèïîâûõ ðàáîò
|
||||||
|
NSTATE in number, -- ‘îñòîßíèå
|
||||||
|
NTYPESPEND in number, -- ’ðóäîâûå çàòðàòû (null, 0 - âíóòðåííèå, 1 - âíåøíèå)
|
||||||
|
COUT out clob -- „àííûå ãðàôèêà
|
||||||
|
);
|
||||||
|
|
||||||
|
/* ƒðàôèê òðóäîâûõ çàâòðàò */
|
||||||
|
procedure CHART_SPENDINGS
|
||||||
|
(
|
||||||
|
DDATE_FROM in date, -- „àòà ñ
|
||||||
|
DDATE_TO in date, -- „àòà ïî
|
||||||
|
SINS_DEPARTMENT in varchar2, -- Œíåìîêîä òðàíñïîðòíîãî ó÷àñòêà
|
||||||
|
SEQTYPEWRK in varchar2, -- Œíåìîêîä òèïîâîé ðàáîòû
|
||||||
|
SEQWRKKIND in varchar2, -- Œíåìîêîä âèäà òèïîâûõ ðàáîò
|
||||||
|
NSTATE in number, -- ‘îñòîßíèå
|
||||||
|
NTYPESPEND in number, -- ’ðóäîâûå çàòðàòû (null, 0 - âíóòðåííèå, 1 - âíåøíèå)
|
||||||
|
COUT out clob -- ‘åðèàëèçîâàííûé ãðàôèê
|
||||||
|
);
|
||||||
|
|
||||||
|
/* ’àáëèöà ñòðîê ðåìîíòíûõ âåäîìîñòåé */
|
||||||
|
procedure DATA_GRID
|
||||||
|
(
|
||||||
|
NPAGE_NUMBER in number, -- <20>îìåð ñòðàíèöû (èãíîðèðóåòñß ïðè NPAGE_SIZE=0)
|
||||||
|
NPAGE_SIZE in number, -- Šîëè÷åñòâî çàïèñåé íà ñòðàíèöå (0 - âñå)
|
||||||
|
CFILTERS in clob, -- ”èëüòðû
|
||||||
|
CORDERS in clob, -- ‘îðòèðîâêè
|
||||||
|
NINCLUDE_DEF in number, -- <20>ðèçíàê âêëþ÷åíèß îïèñàíèß êîëîíîê òàáëèöû â îòâåò
|
||||||
|
COUT out clob -- ‘åðèàëèçîâàííàß òàáëèöà äàííûõ
|
||||||
|
);
|
||||||
|
|
||||||
|
/* <20>àçîâîå ôîðìèðîâàíèå óñëîâèé îòáîðà ðåìîíòíûõ âåäîìîñòåé */
|
||||||
|
procedure EQRPSHEETS_BASE_COND;
|
||||||
|
|
||||||
|
end UDO_PKG_P8PANELS_RPR_ANL;
|
||||||
|
/
|
||||||
|
create or replace package body UDO_PKG_P8PANELS_RPR_ANL as
|
||||||
|
|
||||||
|
/* ‘÷èòûâàíèå íàèìåíîâàíèß ïîäðàçäåëåíèß ïî ìíåìîêîäó */
|
||||||
|
procedure GET_INS_DEPARTMENT_NAME
|
||||||
|
(
|
||||||
|
SCODE in varchar2, -- Œíåìîêîä ïîäðàçäåëåíèß
|
||||||
|
SNAME out varchar2 -- <20>àèìåíîâàíèå ïîäðàçäåëåíèß
|
||||||
|
)
|
||||||
|
is
|
||||||
|
NCOMPANY PKG_STD.TREF := GET_SESSION_COMPANY(); -- Žðãàíèçàöèß ñåàíñà
|
||||||
|
begin
|
||||||
|
/* ‘÷èòûâàåì íàèìåíîâàíèå ïîäðàçäåëåíèß */
|
||||||
|
begin
|
||||||
|
select T.NAME
|
||||||
|
into SNAME
|
||||||
|
from INS_DEPARTMENT T
|
||||||
|
where T.CODE = SCODE
|
||||||
|
and T.COMPANY = NCOMPANY;
|
||||||
|
exception
|
||||||
|
when others then
|
||||||
|
SNAME := '<27>å îïðåäåëåíî';
|
||||||
|
end;
|
||||||
|
end GET_INS_DEPARTMENT_NAME;
|
||||||
|
|
||||||
|
/* <20>àçðåøåíèå ññûëîê ïàðàìåòðîâ */
|
||||||
|
procedure PARAMS_JOINS
|
||||||
|
(
|
||||||
|
NCOMPANY in number, -- <20>åã. íîìåð îðãàíèçàöèè
|
||||||
|
SINS_DEPARTMENT in varchar2, -- Œíåìîêîä òðàíñïîðòíîãî ó÷àñòêà
|
||||||
|
SEQTYPEWRK in varchar2, -- Œíåìîêîä òèïîâîé ðàáîòû
|
||||||
|
SEQWRKKIND in varchar2, -- Œíåìîêîä âèäà òèïîâûõ ðàáîò
|
||||||
|
NDEPTCUSTOMER out number, -- <20>åã. íîìåð ïîäðàçäåëåíèß-çàêàç÷èêà
|
||||||
|
NTYPEWRK out number, -- <20>åã. íîìåð òèïîâîé ðàáîòû ñïåöèôèêàöèè
|
||||||
|
NEQWRKKIND out number -- <20>åã. íîìåð âèäà òèïîâîé ðàáîòû ñïåöèôèêàöèè
|
||||||
|
)
|
||||||
|
is
|
||||||
|
begin
|
||||||
|
/* <20>åã. íîìåð ïîäðàçäåëåíèß-çàêàç÷èêà */
|
||||||
|
FIND_SUBDIVS_CODE_EX(NFLAG_SMART => 0,
|
||||||
|
NFLAG_OPTION => 1,
|
||||||
|
NCOMPANY => NCOMPANY,
|
||||||
|
SCODE => SINS_DEPARTMENT,
|
||||||
|
NRN => NDEPTCUSTOMER);
|
||||||
|
/* <20>åã. íîìåð òèïîâîé ðàáîòû ñïåöèôèêàöèè */
|
||||||
|
FIND_EQTYPEWRK_CODE(NFLAG_SMART => 0,
|
||||||
|
NFLAG_OPTION => 1,
|
||||||
|
NCOMPANY => NCOMPANY,
|
||||||
|
SCODE => SEQTYPEWRK,
|
||||||
|
NRN => NTYPEWRK);
|
||||||
|
/* <20>åã. íîìåð âèäà òèïîâîé ðàáîòû ñïåöèôèêàöèè */
|
||||||
|
FIND_EQWRKKIND_CODE(NFLAG_SMART => 0,
|
||||||
|
NFLAG_OPTION => 1,
|
||||||
|
NCOMPANY => NCOMPANY,
|
||||||
|
SCODE => SEQWRKKIND,
|
||||||
|
NRN => NEQWRKKIND);
|
||||||
|
end PARAMS_JOINS;
|
||||||
|
|
||||||
|
/* ”îðìèðîâàíèå óñëîâèé äëß îòáîðà çàïèñåé ðåìîíòíûõ âåäîìîñòåé */
|
||||||
|
procedure EQRPSHEETS_COND_SET
|
||||||
|
(
|
||||||
|
NCOMPANY in number, -- <20>åã. íîìåð îðãàíèçàöèè
|
||||||
|
DDATE_FROM in date, -- „àòà ñ
|
||||||
|
DDATE_TO in date, -- „àòà ïî
|
||||||
|
SINS_DEPARTMENT in varchar2, -- Œíåìîêîä òðàíñïîðòíîãî ó÷àñòêà
|
||||||
|
SEQTYPEWRK in varchar2, -- Œíåìîêîä òèïîâîé ðàáîòû
|
||||||
|
SEQWRKKIND in varchar2, -- Œíåìîêîä âèäà òèïîâûõ ðàáîò
|
||||||
|
NSTATE in number, -- ‘îñòîßíèå (null, 0 - íå çàâåðøåííûå, 1 - çàâåðøåííûå)
|
||||||
|
NTYPESPEND in number, -- ’ðóäîâûå çàòðàòû (null, 0 - âíóòðåííèå, 1 - âíåøíèå)
|
||||||
|
NIDENT out number -- ˆäåíòèôèêàòîð äàííûõ
|
||||||
|
)
|
||||||
|
is
|
||||||
|
begin
|
||||||
|
/* ƒåíåðèðóåì èäåíòèôèêàòîð */
|
||||||
|
NIDENT := GEN_IDENT();
|
||||||
|
/* ”îðìèðîâàíèå óñëîâèé îòáîðà - <20>ðîëîã */
|
||||||
|
PKG_COND_BROKER.PROLOGUE(IMODE => PKG_COND_BROKER.MODE_SMART_, NIDENT => NIDENT);
|
||||||
|
/* ”îðìèðîâàíèå óñëîâèé îòáîðà - “ñòàíîâêà ïðîöåäóðû ñåðâåðíîãî îòáîðà */
|
||||||
|
PKG_COND_BROKER.SET_PROCEDURE(SPROCEDURE_NAME => 'UDO_PKG_P8PANELS_RPR_ANL.EQRPSHEETS_BASE_COND');
|
||||||
|
/* ”îðìèðîâàíèå óñëîâèé îòáîðà - “ñòàíîâêà ðàçäåëà */
|
||||||
|
PKG_COND_BROKER.SET_UNIT(SUNITCODE => 'EquipRepairSheets');
|
||||||
|
/* ”îðìèðîâàíèå óñëîâèé îòáîðà - “ñòàíîâêà îðãàíèçàöèè */
|
||||||
|
PKG_COND_BROKER.SET_COMPANY(NCOMPANY => NCOMPANY);
|
||||||
|
/* „àòà íà÷àëà ôàêòè÷åñêàß ñ */
|
||||||
|
PKG_COND_BROKER.SET_CONDITION_DATE('EDREPAIRFACTBEGINFrom', DDATE_FROM);
|
||||||
|
/* „àòà íà÷àëà ôàêòè÷åñêàß ïî */
|
||||||
|
PKG_COND_BROKER.SET_CONDITION_DATE('EDREPAIRFACTBEGINTo', DDATE_TO);
|
||||||
|
/* <20>îäðàçäåëåíèå-çàêàç÷èê */
|
||||||
|
PKG_COND_BROKER.SET_CONDITION_STR('CUSTOMERDEPTEDIT', SINS_DEPARTMENT, 0);
|
||||||
|
/* ’èïîâàß ðàáîòà */
|
||||||
|
PKG_COND_BROKER.SET_CONDITION_STR('EQTYPEWRKCOMP', SEQTYPEWRK, 0);
|
||||||
|
/* ‚èä òèïîâîé ðàáîòû */
|
||||||
|
PKG_COND_BROKER.SET_CONDITION_STR('EQWRKKINDCOMP', SEQWRKKIND, 0);
|
||||||
|
/* ‘îñòîßíèå */
|
||||||
|
PKG_COND_BROKER.SET_CONDITION_NUM('STATETYPE', NSTATE);
|
||||||
|
/* ’ðóäîâûå çàòðàòû */
|
||||||
|
PKG_COND_BROKER.SET_CONDITION_NUM('TYPESPEND', NTYPESPEND);
|
||||||
|
|
||||||
|
/* ”îðìèðîâàíèå óñëîâèé îòáîðà - <20>ïèëîã */
|
||||||
|
PKG_COND_BROKER.EPILOGUE();
|
||||||
|
end EQRPSHEETS_COND_SET;
|
||||||
|
|
||||||
|
/* ƒðàôèê ñîñòîßíèé ðåìîíòíûõ âåäîìîñòåé */
|
||||||
|
procedure CHART_STATUSES
|
||||||
|
(
|
||||||
|
DDATE_FROM in date, -- „àòà ñ
|
||||||
|
DDATE_TO in date, -- „àòà ïî
|
||||||
|
SINS_DEPARTMENT in varchar2, -- Œíåìîêîä òðàíñïîðòíîãî ó÷àñòêà
|
||||||
|
SEQTYPEWRK in varchar2, -- Œíåìîêîä òèïîâîé ðàáîòû
|
||||||
|
SEQWRKKIND in varchar2, -- Œíåìîêîä âèäà òèïîâûõ ðàáîò
|
||||||
|
NSTATE in number, -- ‘îñòîßíèå (null, 0 - íå çàâåðøåííûå, 1 - çàâåðøåííûå)
|
||||||
|
NTYPESPEND in number, -- ’ðóäîâûå çàòðàòû (null, 0 - âíóòðåííèå, 1 - âíåøíèå)
|
||||||
|
COUT out clob -- ‘åðèàëèçîâàííûé ãðàôèê
|
||||||
|
)
|
||||||
|
is
|
||||||
|
NCOMPANY PKG_STD.TREF := GET_SESSION_COMPANY(); -- Žðãàíèçàöèß ñåàíñà
|
||||||
|
RCH PKG_P8PANELS_VISUAL.TCHART; -- ƒðàôèê
|
||||||
|
RCH_DS PKG_P8PANELS_VISUAL.TCHART_DATASET; -- <20>àáîð äàííûõ
|
||||||
|
RATTR_VALS PKG_P8PANELS_VISUAL.TCHART_DATASET_ITEM_ATTR_VALS; -- €òðèáóòû ýëåìåíòà íàáîðà äàííûõ
|
||||||
|
NCOMPLETED PKG_STD.TNUMBER; -- Šîëè÷åñòâî çàâåðøåííûõ
|
||||||
|
NUNCOMPLETED PKG_STD.TNUMBER; -- Šîëè÷åñòâî íåçàâåðøåííûõ
|
||||||
|
NIDENT PKG_STD.TREF; -- ˆäåíòèôèêàòîð îòîáðàííûõ çàïèñåé
|
||||||
|
NCOMPLETED_SUM EQRPSHEETS.COASTFACT%type; -- ‘óììà ïî çàâåðøåííûì
|
||||||
|
NUNCOMPLETED_SUM EQRPSHEETS.COASTFACT%type; -- ‘óììà ïî íåçàâåðøåííûì
|
||||||
|
begin
|
||||||
|
/* ‘ôîðìèðóåì çàãîëîâîê ãðàôèêà */
|
||||||
|
RCH := PKG_P8PANELS_VISUAL.TCHART_MAKE(STYPE => PKG_P8PANELS_VISUAL.SCHART_TYPE_PIE,
|
||||||
|
STITLE => '<27>åìîíòû',
|
||||||
|
SLGND_POS => PKG_P8PANELS_VISUAL.SCHART_LGND_POS_RIGHT);
|
||||||
|
/* ‘ôîðìèðóåì íàáîð äàííûõ */
|
||||||
|
RCH_DS := PKG_P8PANELS_VISUAL.TCHART_DATASET_MAKE(SCAPTION => '<27>åìîíòû');
|
||||||
|
/* Žòáåðåì ðåìîíòíûå âåäîìîñòè */
|
||||||
|
EQRPSHEETS_COND_SET(NCOMPANY => NCOMPANY,
|
||||||
|
DDATE_FROM => TRUNC(DDATE_FROM),
|
||||||
|
DDATE_TO => TRUNC(DDATE_TO),
|
||||||
|
SINS_DEPARTMENT => SINS_DEPARTMENT,
|
||||||
|
SEQTYPEWRK => SEQTYPEWRK,
|
||||||
|
SEQWRKKIND => SEQWRKKIND,
|
||||||
|
NSTATE => NSTATE,
|
||||||
|
NTYPESPEND => NTYPESPEND,
|
||||||
|
NIDENT => NIDENT);
|
||||||
|
/* ‘÷èòûâàåì êîëè÷åñòâà ïî ñòàòóñàì */
|
||||||
|
begin
|
||||||
|
select COALESCE(sum(case
|
||||||
|
when T.STATE = 3 then
|
||||||
|
1
|
||||||
|
else
|
||||||
|
0
|
||||||
|
end), 0) COMPLETED,
|
||||||
|
COALESCE(sum(case
|
||||||
|
when T.STATE = 3 then
|
||||||
|
T.COASTFACT
|
||||||
|
else
|
||||||
|
0
|
||||||
|
end), 0) COMPLETED_SUM,
|
||||||
|
COALESCE(sum(case
|
||||||
|
when T.STATE in (0, 2) then
|
||||||
|
1
|
||||||
|
else
|
||||||
|
0
|
||||||
|
end), 0) UNCOMPLETED,
|
||||||
|
COALESCE(sum(case
|
||||||
|
when T.STATE in (0, 2) then
|
||||||
|
T.COASTFACT
|
||||||
|
else
|
||||||
|
0
|
||||||
|
end), 0) UNCOMPLETED_SUM
|
||||||
|
into NCOMPLETED,
|
||||||
|
NCOMPLETED_SUM,
|
||||||
|
NUNCOMPLETED,
|
||||||
|
NUNCOMPLETED_SUM
|
||||||
|
from EQRPSHEETS T
|
||||||
|
where T.RN in (select ID from COND_BROKER_IDSMART where IDENT = NIDENT)
|
||||||
|
and T.STATE in (0,2,3);
|
||||||
|
exception
|
||||||
|
when NO_DATA_FOUND then
|
||||||
|
NCOMPLETED := 0;
|
||||||
|
NUNCOMPLETED := 0;
|
||||||
|
when others then
|
||||||
|
P_EXCEPTION(0, 'Žøèáêà ñ÷èòûâàíèß ãðàôèêà ñòàòóñîâ.');
|
||||||
|
end;
|
||||||
|
/* „îáàâèì ìåòêó äëß çàâåðøåííûõ */
|
||||||
|
PKG_P8PANELS_VISUAL.TCHART_ADD_LABEL(RCHART => RCH, SLABEL => '‡àâåðøåííûå (' || TRIM(TO_CHAR(NCOMPLETED_SUM, '999G999G999G999G999G990D99', 'nls_numeric_characters=''. ''')) || ')');
|
||||||
|
/* ‘ôîðìèðóåì äîïîëíèòåëüíûå àòðèáóòû äëß êëèåíòñêîãî ïðèëîæåíèß */
|
||||||
|
PKG_P8PANELS_VISUAL.TCHART_DATASET_ITM_ATTR_VL_ADD(RATTR_VALS => RATTR_VALS,
|
||||||
|
SNAME => 'NSTATE',
|
||||||
|
SVALUE => '1',
|
||||||
|
BCLEAR => true);
|
||||||
|
/* „îáàâèì çàâåðøåííûå â íàáîð äàííûõ */
|
||||||
|
PKG_P8PANELS_VISUAL.TCHART_DATASET_ADD_ITEM(RDATASET => RCH_DS, NVALUE => NCOMPLETED, RATTR_VALS => RATTR_VALS);
|
||||||
|
/* „îáàâèì ìåòêó äëß íåçàâåðøåííûõ */
|
||||||
|
PKG_P8PANELS_VISUAL.TCHART_ADD_LABEL(RCHART => RCH, SLABEL => '<27>å çàâåðøåííûå (' || TRIM(TO_CHAR(NUNCOMPLETED_SUM, '999G999G999G999G999G990D99', 'nls_numeric_characters=''. ''')) || ')');
|
||||||
|
/* ‘ôîðìèðóåì äîïîëíèòåëüíûå àòðèáóòû äëß êëèåíòñêîãî ïðèëîæåíèß */
|
||||||
|
PKG_P8PANELS_VISUAL.TCHART_DATASET_ITM_ATTR_VL_ADD(RATTR_VALS => RATTR_VALS,
|
||||||
|
SNAME => 'NSTATE',
|
||||||
|
SVALUE => '0',
|
||||||
|
BCLEAR => true);
|
||||||
|
/* „îáàâèì çàâåðøåííûå â íàáîð äàííûõ */
|
||||||
|
PKG_P8PANELS_VISUAL.TCHART_DATASET_ADD_ITEM(RDATASET => RCH_DS, NVALUE => NUNCOMPLETED, RATTR_VALS => RATTR_VALS);
|
||||||
|
/* „îáàâèì íàáîð äàííûõ â ãðàôèê */
|
||||||
|
PKG_P8PANELS_VISUAL.TCHART_ADD_DATASET(RCHART => RCH, RDATASET => RCH_DS);
|
||||||
|
/* ‘åðèàëèçóåì îïèñàíèå */
|
||||||
|
COUT := PKG_P8PANELS_VISUAL.TCHART_TO_XML(RCHART => RCH, NINCLUDE_DEF => 1);
|
||||||
|
end CHART_STATUSES;
|
||||||
|
|
||||||
|
/* ƒðàôèê òðóäîâûõ çàâòðàò */
|
||||||
|
procedure CHART_SPENDINGS
|
||||||
|
(
|
||||||
|
DDATE_FROM in date, -- „àòà ñ
|
||||||
|
DDATE_TO in date, -- „àòà ïî
|
||||||
|
SINS_DEPARTMENT in varchar2, -- Œíåìîêîä òðàíñïîðòíîãî ó÷àñòêà
|
||||||
|
SEQTYPEWRK in varchar2, -- Œíåìîêîä òèïîâîé ðàáîòû
|
||||||
|
SEQWRKKIND in varchar2, -- Œíåìîêîä âèäà òèïîâûõ ðàáîò
|
||||||
|
NSTATE in number, -- ‘îñòîßíèå (null, 0 - íå çàâåðøåííûå, 1 - çàâåðøåííûå)
|
||||||
|
NTYPESPEND in number, -- ’ðóäîâûå çàòðàòû (null, 0 - âíóòðåííèå, 1 - âíåøíèå)
|
||||||
|
COUT out clob -- ‘åðèàëèçîâàííûé ãðàôèê
|
||||||
|
)
|
||||||
|
is
|
||||||
|
NCOMPANY PKG_STD.TREF := GET_SESSION_COMPANY(); -- Žðãàíèçàöèß ñåàíñà
|
||||||
|
RCH PKG_P8PANELS_VISUAL.TCHART; -- ƒðàôèê
|
||||||
|
RCH_DS_MTR PKG_P8PANELS_VISUAL.TCHART_DATASET; -- <20>àáîð äàííûõ çàòðàò íà Œ’<C592>
|
||||||
|
RCH_DS_LABOR PKG_P8PANELS_VISUAL.TCHART_DATASET; -- <20>àáîð äàííûõ òðóäîâûõ çàòðàò
|
||||||
|
RATTR_VALS PKG_P8PANELS_VISUAL.TCHART_DATASET_ITEM_ATTR_VALS; -- €òðèáóòû ýëåìåíòà íàáîðà äàííûõ
|
||||||
|
NINTERNAL_MTR PKG_STD.TLNUMBER; -- Šîëè÷åñòâî çàòðàò íà Œ’<C592> (âíóòðåííèå)
|
||||||
|
NINTERNAL_LABOR PKG_STD.TLNUMBER; -- Šîëè÷åñòâî òðóäîâûõ çàòðàò (âíóòðåííèå)
|
||||||
|
NEXTERNAL_MTR PKG_STD.TLNUMBER; -- Šîëè÷åñòâî çàòðàò íà Œ’<C592> (âíåøíèå)
|
||||||
|
NEXTERNAL_LABOR PKG_STD.TLNUMBER; -- Šîëè÷åñòâî òðóäîâûõ çàòðàò (âíåøíèå)
|
||||||
|
NIDENT PKG_STD.TREF; -- ˆäåíòèôèêàòîð îòîáðàííûõ çàïèñåé
|
||||||
|
|
||||||
|
/* ”îðìèðîâàíèå ýëåìåíòà ãðàôèêà */
|
||||||
|
procedure MAKE_CHART_ELEMENT
|
||||||
|
(
|
||||||
|
RCH in out nocopy PKG_P8PANELS_VISUAL.TCHART, -- ƒðàôèê
|
||||||
|
RCH_DS_MTR in out nocopy PKG_P8PANELS_VISUAL.TCHART_DATASET, -- <20>àáîð äàííûõ çàòðàò íà Œ’<C592>
|
||||||
|
RCH_DS_LABOR in out nocopy PKG_P8PANELS_VISUAL.TCHART_DATASET, -- <20>àáîð äàííûõ òðóäîâûõ çàòðàò
|
||||||
|
SELEMENT_NAME in varchar2, -- <20>àèìåíîâàíèå ýëåìåíòà
|
||||||
|
NTYPE in number, -- ’èï ýëåìåíòà
|
||||||
|
NMTR_VALUE in number, -- ‡íà÷åíèå çàòðàò íà Œ’<C592>
|
||||||
|
NLABOR_VALUE in number -- ‡íà÷åíèå òðóäîâûõ çàòðàò
|
||||||
|
)
|
||||||
|
is
|
||||||
|
RATTR_VALS PKG_P8PANELS_VISUAL.TCHART_DATASET_ITEM_ATTR_VALS; -- €òðèáóòû ýëåìåíòà íàáîðà äàííûõ
|
||||||
|
begin
|
||||||
|
/* „îáàâèì ìåòêó */
|
||||||
|
PKG_P8PANELS_VISUAL.TCHART_ADD_LABEL(RCHART => RCH, SLABEL => SELEMENT_NAME);
|
||||||
|
/* ‘ôîðìèðóåì äîï. àòðèáóò òèïà */
|
||||||
|
PKG_P8PANELS_VISUAL.TCHART_DATASET_ITM_ATTR_VL_ADD(RATTR_VALS => RATTR_VALS,
|
||||||
|
SNAME => 'NTYPE',
|
||||||
|
SVALUE => TO_CHAR(NTYPE),
|
||||||
|
BCLEAR => true);
|
||||||
|
/* „îï. àòðèáóò ñõëîïûâàíèß */
|
||||||
|
PKG_P8PANELS_VISUAL.TCHART_DATASET_ITM_ATTR_VL_ADD(RATTR_VALS => RATTR_VALS,
|
||||||
|
SNAME => 'stack',
|
||||||
|
SVALUE => SELEMENT_NAME);
|
||||||
|
/* „îáàâèì çàâåðøåííûå â íàáîð äàííûõ */
|
||||||
|
PKG_P8PANELS_VISUAL.TCHART_DATASET_ADD_ITEM(RDATASET => RCH_DS_MTR, NVALUE => NMTR_VALUE, RATTR_VALS => RATTR_VALS);
|
||||||
|
/* ‘ôîðìèðóåì äîï. àòðèáóò òèïà */
|
||||||
|
PKG_P8PANELS_VISUAL.TCHART_DATASET_ITM_ATTR_VL_ADD(RATTR_VALS => RATTR_VALS,
|
||||||
|
SNAME => 'NTYPE',
|
||||||
|
SVALUE => '0',
|
||||||
|
BCLEAR => true);
|
||||||
|
/* „îïîëíèòåëüíûé àòðèáóò ñõëîïûâàíèß */
|
||||||
|
PKG_P8PANELS_VISUAL.TCHART_DATASET_ITM_ATTR_VL_ADD(RATTR_VALS => RATTR_VALS,
|
||||||
|
SNAME => 'stack',
|
||||||
|
SVALUE => SELEMENT_NAME);
|
||||||
|
/* „îáàâèì çàâåðøåííûå â íàáîð äàííûõ */
|
||||||
|
PKG_P8PANELS_VISUAL.TCHART_DATASET_ADD_ITEM(RDATASET => RCH_DS_LABOR, NVALUE => NLABOR_VALUE, RATTR_VALS => RATTR_VALS);
|
||||||
|
end MAKE_CHART_ELEMENT;
|
||||||
|
begin
|
||||||
|
/* ‘ôîðìèðóåì çàãîëîâîê ãðàôèêà */
|
||||||
|
RCH := PKG_P8PANELS_VISUAL.TCHART_MAKE(STYPE => PKG_P8PANELS_VISUAL.SCHART_TYPE_BAR,
|
||||||
|
STITLE => '‡àòðàòû íà ðåìîíòû',
|
||||||
|
SLGND_POS => PKG_P8PANELS_VISUAL.SCHART_LGND_POS_RIGHT);
|
||||||
|
/* ‘ôîðìèðóåì íàáîð äàííûõ çàòðàò íà Œ’<C592> */
|
||||||
|
RCH_DS_MTR := PKG_P8PANELS_VISUAL.TCHART_DATASET_MAKE(SCAPTION => '‡àòðàòû íà Œ’<C592>');
|
||||||
|
/* ‘ôîðìèðóåì íàáîð äàííûõ òðóäîâûõ çàòðàò */
|
||||||
|
RCH_DS_LABOR := PKG_P8PANELS_VISUAL.TCHART_DATASET_MAKE(SCAPTION => '’ðóäîâûå çàòðàòû');
|
||||||
|
/* Žòáåðåì ðåìîíòíûå âåäîìîñòè */
|
||||||
|
EQRPSHEETS_COND_SET(NCOMPANY => NCOMPANY,
|
||||||
|
DDATE_FROM => TRUNC(DDATE_FROM),
|
||||||
|
DDATE_TO => TRUNC(DDATE_TO),
|
||||||
|
SINS_DEPARTMENT => SINS_DEPARTMENT,
|
||||||
|
SEQTYPEWRK => SEQTYPEWRK,
|
||||||
|
SEQWRKKIND => SEQWRKKIND,
|
||||||
|
NSTATE => NSTATE,
|
||||||
|
NTYPESPEND => NTYPESPEND,
|
||||||
|
NIDENT => NIDENT);
|
||||||
|
/* ‘÷èòûâàåì êîëè÷åñòâà ïî âíóòðåííèì/âíåøíèì */
|
||||||
|
begin
|
||||||
|
select /*COALESCE(sum(case when T.DEPTPERF is not null then 1 else 0 end), 0) INTERNAL_MTR,
|
||||||
|
COALESCE(sum(case when T.DEPTPERF is not null then 2 else 0 end), 0) INTERNAL_LABOR,
|
||||||
|
COALESCE(sum(case when T.PERFORM_AGN is not null then 1 else 0 end), 0) EXTERNAL_MTR,
|
||||||
|
COALESCE(sum(case when T.PERFORM_AGN is not null then 2 else 0 end), 0) EXTERNAL_LABOR*/
|
||||||
|
/* „ëß –…Œ<E280A6>Ž‘ */
|
||||||
|
COALESCE(sum(case when T.DEPTPERF is not null then UDO_F_EQRP_SHMRC_SHOVH_SUM(T.COMPANY, T.RN) else 0 end), 0) INTERNAL_MTR,
|
||||||
|
COALESCE(sum(case when T.DEPTPERF is not null then UDO_F_ERS_EQRPSHWRK_SUM(T.COMPANY, T.RN) else 0 end), 0) INTERNAL_LABOR,
|
||||||
|
COALESCE(sum(case when T.PERFORM_AGN is not null then UDO_F_EQRP_SHMRC_SHOVH_SUM(T.COMPANY, T.RN) else 0 end), 0) EXTERNAL_MTR,
|
||||||
|
COALESCE(sum(case when T.PERFORM_AGN is not null then UDO_F_ERS_EQRPSHWRK_SUM(T.COMPANY, T.RN) else 0 end), 0) EXTERNAL_LABOR
|
||||||
|
into NINTERNAL_MTR,
|
||||||
|
NINTERNAL_LABOR,
|
||||||
|
NEXTERNAL_MTR,
|
||||||
|
NEXTERNAL_LABOR
|
||||||
|
from EQRPSHEETS T
|
||||||
|
where T.RN in (select ID from COND_BROKER_IDSMART where IDENT = NIDENT)
|
||||||
|
and T.STATE in (0,2,3);
|
||||||
|
exception
|
||||||
|
when NO_DATA_FOUND then
|
||||||
|
NINTERNAL_MTR := 0;
|
||||||
|
NINTERNAL_LABOR := 0;
|
||||||
|
NEXTERNAL_MTR := 0;
|
||||||
|
NEXTERNAL_LABOR := 0;
|
||||||
|
when others then
|
||||||
|
P_EXCEPTION(0, 'Žøèáêà ñ÷èòûâàíèß ãðàôèêà òðóäîâûõ çàòðàò.');
|
||||||
|
end;
|
||||||
|
/* ”îðìèðîâàíèå âíóòðåííèõ */
|
||||||
|
MAKE_CHART_ELEMENT(RCH => RCH,
|
||||||
|
RCH_DS_MTR => RCH_DS_MTR,
|
||||||
|
RCH_DS_LABOR => RCH_DS_LABOR,
|
||||||
|
SELEMENT_NAME => '‚íóòðåííèå',
|
||||||
|
NTYPE => 0,
|
||||||
|
NMTR_VALUE => NINTERNAL_MTR,
|
||||||
|
NLABOR_VALUE => NINTERNAL_LABOR);
|
||||||
|
/* ”îðìèðîâàíèå âíåøíèõ */
|
||||||
|
MAKE_CHART_ELEMENT(RCH => RCH,
|
||||||
|
RCH_DS_MTR => RCH_DS_MTR,
|
||||||
|
RCH_DS_LABOR => RCH_DS_LABOR,
|
||||||
|
SELEMENT_NAME => '‚íåøíèå',
|
||||||
|
NTYPE => 1,
|
||||||
|
NMTR_VALUE => NEXTERNAL_MTR,
|
||||||
|
NLABOR_VALUE => NEXTERNAL_LABOR);
|
||||||
|
/* „îáàâèì íàáîð äàííûõ â ãðàôèê */
|
||||||
|
PKG_P8PANELS_VISUAL.TCHART_ADD_DATASET(RCHART => RCH, RDATASET => RCH_DS_MTR);
|
||||||
|
/* „îáàâèì íàáîð äàííûõ â ãðàôèê */
|
||||||
|
PKG_P8PANELS_VISUAL.TCHART_ADD_DATASET(RCHART => RCH, RDATASET => RCH_DS_LABOR);
|
||||||
|
/* ‘åðèàëèçóåì îïèñàíèå */
|
||||||
|
COUT := PKG_P8PANELS_VISUAL.TCHART_TO_XML(RCHART => RCH, NINCLUDE_DEF => 1);
|
||||||
|
end CHART_SPENDINGS;
|
||||||
|
|
||||||
|
/* ’àáëèöà ñòðîê ðåìîíòíûõ âåäîìîñòåé */
|
||||||
|
procedure DATA_GRID
|
||||||
|
(
|
||||||
|
NPAGE_NUMBER in number, -- <20>îìåð ñòðàíèöû (èãíîðèðóåòñß ïðè NPAGE_SIZE=0)
|
||||||
|
NPAGE_SIZE in number, -- Šîëè÷åñòâî çàïèñåé íà ñòðàíèöå (0 - âñå)
|
||||||
|
CFILTERS in clob, -- ”èëüòðû
|
||||||
|
CORDERS in clob, -- ‘îðòèðîâêè
|
||||||
|
NINCLUDE_DEF in number, -- <20>ðèçíàê âêëþ÷åíèß îïèñàíèß êîëîíîê òàáëèöû â îòâåò
|
||||||
|
COUT out clob -- ‘åðèàëèçîâàííàß òàáëèöà äàííûõ
|
||||||
|
)
|
||||||
|
is
|
||||||
|
NCOMPANY PKG_STD.TREF := GET_SESSION_COMPANY(); -- Žðãàíèçàöèß ñåàíñà
|
||||||
|
NIDENT PKG_STD.TREF := GEN_IDENT(); -- ˆäåíòèôèêàòîð îòáîðà
|
||||||
|
RF PKG_P8PANELS_VISUAL.TDG_FILTERS; -- ”èëüòðû
|
||||||
|
RO PKG_P8PANELS_VISUAL.TDG_ORDERS; -- ‘îðòèðîâêè
|
||||||
|
RDG PKG_P8PANELS_VISUAL.TDG; -- Žïèñàíèå òàáëèöû
|
||||||
|
RDG_ROW PKG_P8PANELS_VISUAL.TDG_ROW; -- ‘òðîêà òàáëèöû
|
||||||
|
NROW_FROM PKG_STD.TREF; -- <20>îìåð ñòðîêè ñ
|
||||||
|
NROW_TO PKG_STD.TREF; -- <20>îìåð ñòðîêè ïî
|
||||||
|
CSQL clob; -- <20>óôåð äëß çàïðîñà
|
||||||
|
ICURSOR integer; -- Šóðñîð äëß èñïîëíåíèß çàïðîñà
|
||||||
|
begin
|
||||||
|
/* —èòàåì ôèëüòðû */
|
||||||
|
RF := PKG_P8PANELS_VISUAL.TDG_FILTERS_FROM_XML(CFILTERS => CFILTERS);
|
||||||
|
/* —èòåì ñîðòèðîâêè */
|
||||||
|
RO := PKG_P8PANELS_VISUAL.TDG_ORDERS_FROM_XML(CORDERS => CORDERS);
|
||||||
|
/* <20>ðåîáðàçóåì íîìåð è ðàçìåð ñòðàíèöû â íîìåð ñòðîê ñ è ïî */
|
||||||
|
PKG_P8PANELS_VISUAL.UTL_ROWS_LIMITS_CALC(NPAGE_NUMBER => NPAGE_NUMBER,
|
||||||
|
NPAGE_SIZE => NPAGE_SIZE,
|
||||||
|
NROW_FROM => NROW_FROM,
|
||||||
|
NROW_TO => NROW_TO);
|
||||||
|
/* ˆíèöèàëèçèðóåì òàáëèöó äàííûõ */
|
||||||
|
RDG := PKG_P8PANELS_VISUAL.TDG_MAKE(BFIXED_HEADER => true);
|
||||||
|
/* Žïèñûâàåì êîëîíêè òàáëèöû äàííûõ */
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'NRN',
|
||||||
|
SCAPTION => '<27>åã. íîìåð',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB,
|
||||||
|
BVISIBLE => false);
|
||||||
|
/* Žòîáðàæàåìûå êîëîíêè òàáëèöû */
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'SDOCTYPES',
|
||||||
|
SCAPTION => '’èï äîêóìåíòà',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR,
|
||||||
|
SCOND_FROM => 'EDDOCTYPE',
|
||||||
|
BORDER => true,
|
||||||
|
BFILTER => true);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'SPREF',
|
||||||
|
SCAPTION => '<27>ðåôèêñ äîêóìåíòà',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR,
|
||||||
|
SCOND_FROM => 'EDPREFFrom',
|
||||||
|
BORDER => true,
|
||||||
|
BFILTER => true);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'SNUMB',
|
||||||
|
SCAPTION => '<27>îìåð äîêóìåíòà',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR,
|
||||||
|
SCOND_FROM => 'EDNUMBFrom',
|
||||||
|
BORDER => true,
|
||||||
|
BFILTER => true);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'DDOCDATE',
|
||||||
|
SCAPTION => '„àòà äîêóìåíòà',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE,
|
||||||
|
SCOND_FROM => 'EDDATEFrom',
|
||||||
|
SCOND_TO => 'EDDATETo',
|
||||||
|
BORDER => true,
|
||||||
|
BFILTER => true);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'NSTATE',
|
||||||
|
SCAPTION => '‘îñòîßíèå',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB,
|
||||||
|
BORDER => true);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'DDATEFACT_BEG',
|
||||||
|
SCAPTION => '„àòà è âðåìß ôàêòè÷åñêîãî íà÷àëà',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE,
|
||||||
|
BORDER => true);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'DDATEFACT_END',
|
||||||
|
SCAPTION => '„àòà è âðåìß ôàêòè÷åñêîãî îêîí÷àíèß',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE,
|
||||||
|
BORDER => true);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'SDEPTCUSTOMER_CODE',
|
||||||
|
SCAPTION => '<27>îäðàçäåëåíèå çàêàç÷èê',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR,
|
||||||
|
BORDER => true);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'SDEPTCUSTOMER_NAME',
|
||||||
|
SCAPTION => '<27>àèìåíîâàíèå ïîäðàçäåëåíèß çàêàç÷èêà',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR,
|
||||||
|
BORDER => true);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'SDEPTPERF_CODE',
|
||||||
|
SCAPTION => '<27>îäðàçäåëåíèå èñïîëíèòåëü',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR,
|
||||||
|
BORDER => true);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'SDEPTPERF_NAME',
|
||||||
|
SCAPTION => '<27>àèìåíîâàíèå ïîäðàçäåëåíèß èñïîëíèòåëß',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR,
|
||||||
|
BORDER => true);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'SPERFORM_AGN_CODE',
|
||||||
|
SCAPTION => '‚íåøíèé èñïîëíèòåëü',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR,
|
||||||
|
BORDER => true);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'SPERFORM_AGN_NAME',
|
||||||
|
SCAPTION => '<27>àèìåíîâàíèå âíåøíåãî èñïîëíèòåëß',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR,
|
||||||
|
BORDER => true);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'NLABORIOUSNESS_PLAN',
|
||||||
|
SCAPTION => '’ðóäîåìêîñòü, ÷àñ (ïëàí)',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB,
|
||||||
|
BORDER => true);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'NLABORIOUSNESS_FACT',
|
||||||
|
SCAPTION => '’ðóäîåìêîñòü, ÷àñ (ôàêò)',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB,
|
||||||
|
BORDER => true);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'NNORMH_COST',
|
||||||
|
SCAPTION => '#‘òîèìîñòü í/÷',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB,
|
||||||
|
BORDER => true);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'NWORK_COST',
|
||||||
|
SCAPTION => '#‘òîèìîñòü ðàáîò',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB,
|
||||||
|
BORDER => true);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'NMTR_COST',
|
||||||
|
SCAPTION => '#‘òîèìîñòü ‡/—',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB,
|
||||||
|
BORDER => true);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'NCOASTFACT',
|
||||||
|
SCAPTION => '‘òîèìîñòü ïî ôàêòó',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB,
|
||||||
|
BORDER => true);
|
||||||
|
/* ‘êðûòûå êîëîíêè òàáëèöû (äëß äîï. ôèëüòðîâ) */
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'DDATEBEGIN_FILTER',
|
||||||
|
SCAPTION => '„àòà è âðåìß ôàêòè÷åñêîãî îêîí÷àíèß (ôèëüòð)',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE,
|
||||||
|
SCOND_FROM => 'EDREPAIRFACTBEGINFrom',
|
||||||
|
SCOND_TO => 'EDREPAIRFACTBEGINTo',
|
||||||
|
BFILTER => true,
|
||||||
|
BVISIBLE => false);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'SCUSTOMERDEPT_FILTER',
|
||||||
|
SCAPTION => '<27>îäðàçäåëåíèå çàêàç÷èê (ôèëüòð)',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR,
|
||||||
|
SCOND_FROM => 'CUSTOMERDEPTEDIT',
|
||||||
|
BFILTER => true,
|
||||||
|
BVISIBLE => false);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'SWORKTYPE_FILTER',
|
||||||
|
SCAPTION => '’èïîâàß ðàáîòà (ôèëüòð)',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR,
|
||||||
|
SCOND_FROM => 'EQTYPEWRKCOMP',
|
||||||
|
BFILTER => true,
|
||||||
|
BVISIBLE => false);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'SWORKKIND_FILTER',
|
||||||
|
SCAPTION => '‚èä òèïîâûõ ðàáîò (ôèëüòð)',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR,
|
||||||
|
SCOND_FROM => 'EQWRKKINDCOMP',
|
||||||
|
BFILTER => true,
|
||||||
|
BVISIBLE => false);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'NSTATE_FILTER',
|
||||||
|
SCAPTION => '‘îñòîßíèå (ôèëüòð)',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB,
|
||||||
|
SCOND_FROM => 'STATETYPE',
|
||||||
|
BFILTER => true,
|
||||||
|
BVISIBLE => false);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'NTYPESPEND_FILTER',
|
||||||
|
SCAPTION => '’ðóäîâûå çàòðàòû (ôèëüòð)',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB,
|
||||||
|
SCOND_FROM => 'TYPESPEND',
|
||||||
|
BFILTER => true,
|
||||||
|
BVISIBLE => false);
|
||||||
|
begin
|
||||||
|
/* „îáàâëßåì ïîäñêàçêó ñîâìåñòèìîñòè */
|
||||||
|
CSQL := PKG_SQL_BUILD.COMPATIBLE(SSQL => CSQL);
|
||||||
|
/* ”îðìèðóåì çàïðîñ */
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => 'select *');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' from (select D.*,');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => PKG_SQL_BUILD.SQLROWNUM() || ' NROW');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' from (select A.RN as NRN,');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' B.DOCCODE as SDOCTYPES,');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' TRIM(A.PREF) as SPREF,');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' TRIM(A.NUMB) as SNUMB,');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' A.DOCDATE as DDOCDATE,');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' A.STATE as NSTATE,');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' A.DATEFACT_BEG as DDATEFACT_BEG,');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' A.DATEFACT_END as DDATEFACT_END,');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' DP.CODE as SDEPTCUSTOMER_CODE,');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' DP.NAME as SDEPTCUSTOMER_NAME,');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' E.CODE as SDEPTPERF_CODE,');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' E.NAME as SDEPTPERF_NAME,');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' C.AGNABBR as SPERFORM_AGN_CODE,');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' C.AGNNAME as SPERFORM_AGN_NAME,');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' (select NVL(sum(ES.WORKTIMEPLAN * DECODE(ES.TIME_MEAS,');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' ' || PKG_SQL_BUILD.WRAP_NUM(1) || ',');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' ' || PKG_SQL_BUILD.WRAP_NUM(24) || ',');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' ' || PKG_SQL_BUILD.WRAP_NUM(1) || ') * ES.PERFORM_QUANT),');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' ' || PKG_SQL_BUILD.WRAP_NUM(0) || ')');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' from EQRPSHWRK W,');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' EQRPSHWRC ES');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' where ES.PRN = W.RN');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' and W.PRN = A.RN) as NLABORIOUSNESS_PLAN,');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' (select NVL(sum(ES.WORKTIMEFACT * DECODE(ES.TIME_MEAS,');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' ' || PKG_SQL_BUILD.WRAP_NUM(1) || ',');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' ' || PKG_SQL_BUILD.WRAP_NUM(24) || ',');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' ' || PKG_SQL_BUILD.WRAP_NUM(1) ||') * ES.QUANTFACT),');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' ' || PKG_SQL_BUILD.WRAP_NUM(0) || ')');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' from EQRPSHWRK W,');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' EQRPSHWRC ES');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' where ES.PRN = W.RN');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' and W.PRN = A.RN) as NLABORIOUSNESS_FACT,');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => PKG_SQL_BUILD.PERFORM('UDO_F_ERS_EQRPSHWRK_AVG_PRICE') || '(A.COMPANY, A.RN) NNORMH_COST,');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => PKG_SQL_BUILD.PERFORM('UDO_F_ERS_EQRPSHWRK_SUM') || '(A.COMPANY, A.RN) NWORK_COST,');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => PKG_SQL_BUILD.PERFORM('UDO_F_EQRP_SHMRC_SHOVH_SUM') || '(A.COMPANY, A.RN) NMTR_COST,');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' A.COASTFACT as NCOASTFACT');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' from EQRPSHEETS A');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' left outer join AGNLIST C on A.PERFORM_AGN = C.RN');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' left outer join INS_DEPARTMENT E on A.DEPTPERF = E.RN');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' left outer join AGNLIST AGN on A.CUSTOMER_AGN = AGN.RN');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' left outer join INS_DEPARTMENT DP on A.DEPTCUSTOMER = DP.RN,');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' DOCTYPES B');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' where A.COMPANY = :NCOMPANY');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' and A.STATE in (0,2,3)');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' and A.DOCTYPES = B.RN');
|
||||||
|
/*PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' and exists (select null from V_USERPRIV UP where UP.CATALOG = A.CRN)');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' and exists (select null');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' from V_USERPRIV UP');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' where UP.JUR_PERS = A.JURPERSONS');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' and UP.UNITCODE = ' || PKG_SQL_BUILD.WRAP_STR('EquipRepairSheets') || ')');*/
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' and A.RN in (select ID from COND_BROKER_IDSMART where IDENT = :NIDENT)');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' %ORDER_BY%) D) F');
|
||||||
|
PKG_SQL_BUILD.APPEND(SSQL => CSQL, SELEMENT1 => ' where F.NROW between :NROW_FROM and :NROW_TO');
|
||||||
|
/* “÷òÞì ñîðòèðîâêè */
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ORDERS_SET_QUERY(RDATA_GRID => RDG,
|
||||||
|
RORDERS => RO,
|
||||||
|
SPATTERN => '%ORDER_BY%',
|
||||||
|
CSQL => CSQL);
|
||||||
|
/* “÷òÞì ôèëüòðû */
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_FILTERS_SET_QUERY(NIDENT => NIDENT,
|
||||||
|
NCOMPANY => NCOMPANY,
|
||||||
|
SUNIT => 'EquipRepairSheets',
|
||||||
|
SPROCEDURE => 'UDO_PKG_P8PANELS_RPR_ANL.EQRPSHEETS_BASE_COND',
|
||||||
|
RDATA_GRID => RDG,
|
||||||
|
RFILTERS => RF);
|
||||||
|
/* <20>àçáèðàåì åãî */
|
||||||
|
ICURSOR := PKG_SQL_DML.OPEN_CURSOR(SWHAT => 'SELECT');
|
||||||
|
PKG_SQL_DML.PARSE(ICURSOR => ICURSOR, SQUERY => CSQL);
|
||||||
|
/* „åëàåì ïîäñòàíîâêó ïàðàìåòðîâ */
|
||||||
|
PKG_SQL_DML.BIND_VARIABLE_NUM(ICURSOR => ICURSOR, SNAME => 'NCOMPANY', NVALUE => NCOMPANY);
|
||||||
|
PKG_SQL_DML.BIND_VARIABLE_NUM(ICURSOR => ICURSOR, SNAME => 'NIDENT', NVALUE => NIDENT);
|
||||||
|
PKG_SQL_DML.BIND_VARIABLE_NUM(ICURSOR => ICURSOR, SNAME => 'NROW_FROM', NVALUE => NROW_FROM);
|
||||||
|
PKG_SQL_DML.BIND_VARIABLE_NUM(ICURSOR => ICURSOR, SNAME => 'NROW_TO', NVALUE => NROW_TO);
|
||||||
|
/* Žïèñûâàåì ñòðóêòóðó çàïèñè êóðñîðà */
|
||||||
|
PKG_SQL_DML.DEFINE_COLUMN_NUM(ICURSOR => ICURSOR, IPOSITION => 1);
|
||||||
|
PKG_SQL_DML.DEFINE_COLUMN_STR(ICURSOR => ICURSOR, IPOSITION => 2);
|
||||||
|
PKG_SQL_DML.DEFINE_COLUMN_STR(ICURSOR => ICURSOR, IPOSITION => 3);
|
||||||
|
PKG_SQL_DML.DEFINE_COLUMN_STR(ICURSOR => ICURSOR, IPOSITION => 4);
|
||||||
|
PKG_SQL_DML.DEFINE_COLUMN_DATE(ICURSOR => ICURSOR, IPOSITION => 5);
|
||||||
|
PKG_SQL_DML.DEFINE_COLUMN_NUM(ICURSOR => ICURSOR, IPOSITION => 6);
|
||||||
|
PKG_SQL_DML.DEFINE_COLUMN_DATE(ICURSOR => ICURSOR, IPOSITION => 7);
|
||||||
|
PKG_SQL_DML.DEFINE_COLUMN_DATE(ICURSOR => ICURSOR, IPOSITION => 8);
|
||||||
|
PKG_SQL_DML.DEFINE_COLUMN_STR(ICURSOR => ICURSOR, IPOSITION => 9);
|
||||||
|
PKG_SQL_DML.DEFINE_COLUMN_STR(ICURSOR => ICURSOR, IPOSITION => 10);
|
||||||
|
PKG_SQL_DML.DEFINE_COLUMN_STR(ICURSOR => ICURSOR, IPOSITION => 11);
|
||||||
|
PKG_SQL_DML.DEFINE_COLUMN_STR(ICURSOR => ICURSOR, IPOSITION => 12);
|
||||||
|
PKG_SQL_DML.DEFINE_COLUMN_STR(ICURSOR => ICURSOR, IPOSITION => 13);
|
||||||
|
PKG_SQL_DML.DEFINE_COLUMN_STR(ICURSOR => ICURSOR, IPOSITION => 14);
|
||||||
|
PKG_SQL_DML.DEFINE_COLUMN_NUM(ICURSOR => ICURSOR, IPOSITION => 15);
|
||||||
|
PKG_SQL_DML.DEFINE_COLUMN_NUM(ICURSOR => ICURSOR, IPOSITION => 16);
|
||||||
|
PKG_SQL_DML.DEFINE_COLUMN_NUM(ICURSOR => ICURSOR, IPOSITION => 17);
|
||||||
|
PKG_SQL_DML.DEFINE_COLUMN_NUM(ICURSOR => ICURSOR, IPOSITION => 18);
|
||||||
|
PKG_SQL_DML.DEFINE_COLUMN_NUM(ICURSOR => ICURSOR, IPOSITION => 19);
|
||||||
|
PKG_SQL_DML.DEFINE_COLUMN_NUM(ICURSOR => ICURSOR, IPOSITION => 20);
|
||||||
|
PKG_SQL_DML.DEFINE_COLUMN_NUM(ICURSOR => ICURSOR, IPOSITION => 21);
|
||||||
|
/* „åëàåì âûáîðêó */
|
||||||
|
if (PKG_SQL_DML.EXECUTE(ICURSOR => ICURSOR) = 0) then
|
||||||
|
null;
|
||||||
|
end if;
|
||||||
|
/* Žáõîäèì âûáðàííûå çàïèñè */
|
||||||
|
while (PKG_SQL_DML.FETCH_ROWS(ICURSOR => ICURSOR) > 0)
|
||||||
|
loop
|
||||||
|
/* „îáàâëßåì êîëîíêè ñ äàííûìè */
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLN(RROW => RDG_ROW,
|
||||||
|
SNAME => 'NRN',
|
||||||
|
ICURSOR => ICURSOR,
|
||||||
|
NPOSITION => 1,
|
||||||
|
BCLEAR => true);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLS(RROW => RDG_ROW,
|
||||||
|
SNAME => 'SDOCTYPES',
|
||||||
|
ICURSOR => ICURSOR,
|
||||||
|
NPOSITION => 2);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLS(RROW => RDG_ROW,
|
||||||
|
SNAME => 'SPREF',
|
||||||
|
ICURSOR => ICURSOR,
|
||||||
|
NPOSITION => 3);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLS(RROW => RDG_ROW,
|
||||||
|
SNAME => 'SNUMB',
|
||||||
|
ICURSOR => ICURSOR,
|
||||||
|
NPOSITION => 4);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLD(RROW => RDG_ROW,
|
||||||
|
SNAME => 'DDOCDATE',
|
||||||
|
ICURSOR => ICURSOR,
|
||||||
|
NPOSITION => 5);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLN(RROW => RDG_ROW,
|
||||||
|
SNAME => 'NSTATE',
|
||||||
|
ICURSOR => ICURSOR,
|
||||||
|
NPOSITION => 6);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLD(RROW => RDG_ROW,
|
||||||
|
SNAME => 'DDATEFACT_BEG',
|
||||||
|
ICURSOR => ICURSOR,
|
||||||
|
NPOSITION => 7);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLD(RROW => RDG_ROW,
|
||||||
|
SNAME => 'DDATEFACT_END',
|
||||||
|
ICURSOR => ICURSOR,
|
||||||
|
NPOSITION => 8);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLS(RROW => RDG_ROW,
|
||||||
|
SNAME => 'SDEPTCUSTOMER_CODE',
|
||||||
|
ICURSOR => ICURSOR,
|
||||||
|
NPOSITION => 9);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLS(RROW => RDG_ROW,
|
||||||
|
SNAME => 'SDEPTCUSTOMER_NAME',
|
||||||
|
ICURSOR => ICURSOR,
|
||||||
|
NPOSITION => 10);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLS(RROW => RDG_ROW,
|
||||||
|
SNAME => 'SDEPTPERF_CODE',
|
||||||
|
ICURSOR => ICURSOR,
|
||||||
|
NPOSITION => 11);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLS(RROW => RDG_ROW,
|
||||||
|
SNAME => 'SDEPTPERF_NAME',
|
||||||
|
ICURSOR => ICURSOR,
|
||||||
|
NPOSITION => 12);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLS(RROW => RDG_ROW,
|
||||||
|
SNAME => 'SPERFORM_AGN_CODE',
|
||||||
|
ICURSOR => ICURSOR,
|
||||||
|
NPOSITION => 13);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLS(RROW => RDG_ROW,
|
||||||
|
SNAME => 'SPERFORM_AGN_NAME',
|
||||||
|
ICURSOR => ICURSOR,
|
||||||
|
NPOSITION => 14);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLN(RROW => RDG_ROW,
|
||||||
|
SNAME => 'NLABORIOUSNESS_PLAN',
|
||||||
|
ICURSOR => ICURSOR,
|
||||||
|
NPOSITION => 15);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLN(RROW => RDG_ROW,
|
||||||
|
SNAME => 'NLABORIOUSNESS_FACT',
|
||||||
|
ICURSOR => ICURSOR,
|
||||||
|
NPOSITION => 16);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLN(RROW => RDG_ROW,
|
||||||
|
SNAME => 'NNORMH_COST',
|
||||||
|
ICURSOR => ICURSOR,
|
||||||
|
NPOSITION => 17);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLN(RROW => RDG_ROW,
|
||||||
|
SNAME => 'NWORK_COST',
|
||||||
|
ICURSOR => ICURSOR,
|
||||||
|
NPOSITION => 18);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLN(RROW => RDG_ROW,
|
||||||
|
SNAME => 'NMTR_COST',
|
||||||
|
ICURSOR => ICURSOR,
|
||||||
|
NPOSITION => 19);
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLN(RROW => RDG_ROW,
|
||||||
|
SNAME => 'NCOASTFACT',
|
||||||
|
ICURSOR => ICURSOR,
|
||||||
|
NPOSITION => 20);
|
||||||
|
/* „îáàâëßåì ñòðîêó â òàáëèöó */
|
||||||
|
PKG_P8PANELS_VISUAL.TDG_ADD_ROW(RDATA_GRID => RDG, RROW => RDG_ROW);
|
||||||
|
end loop;
|
||||||
|
/* Žñâîáîæäàåì êóðñîð */
|
||||||
|
PKG_SQL_DML.CLOSE_CURSOR(ICURSOR => ICURSOR);
|
||||||
|
exception
|
||||||
|
when others then
|
||||||
|
PKG_SQL_DML.CLOSE_CURSOR(ICURSOR => ICURSOR);
|
||||||
|
raise;
|
||||||
|
end;
|
||||||
|
/* ‘åðèàëèçóåì îïèñàíèå */
|
||||||
|
COUT := PKG_P8PANELS_VISUAL.TDG_TO_XML(RDATA_GRID => RDG, NINCLUDE_DEF => NINCLUDE_DEF);
|
||||||
|
end DATA_GRID;
|
||||||
|
|
||||||
|
/* <20>àçîâîå ôîðìèðîâàíèå óñëîâèé îòáîðà ðåìîíòíûõ âåäîìîñòåé */
|
||||||
|
procedure EQRPSHEETS_BASE_COND
|
||||||
|
as
|
||||||
|
SPREF PKG_STD.TSTRING;
|
||||||
|
SNUMB PKG_STD.TSTRING;
|
||||||
|
SWORK_TYPE PKG_STD.TSTRING;
|
||||||
|
SWORK_KIND PKG_STD.TSTRING;
|
||||||
|
SCLAUSE PKG_STD.TSTRING;
|
||||||
|
NSTATE PKG_STD.TNUMBER;
|
||||||
|
NTYPESPEND PKG_STD.TNUMBER;
|
||||||
|
begin
|
||||||
|
/* “ñòàíîâêà ãëàâíîé òàáëèöû */
|
||||||
|
PKG_COND_BROKER.SET_TABLE( 'EQRPSHEETS' );
|
||||||
|
|
||||||
|
/* ”îðìèðîâàíèå óñëîâèé òàáëèöû */
|
||||||
|
-- <20>åêâèçèòû/„îêóìåíò/’èï
|
||||||
|
PKG_COND_BROKER.ADD_CONDITION_CODE( 'DOCCODE','EDDOCTYPE','DOCTYPES <- RN;DOCTYPES' );
|
||||||
|
-- <20>åêâèçèòû/„îêóìåíò/<2F>ðåôèêñ
|
||||||
|
if (PKG_COND_BROKER.CONDITION_EXISTS('EDPREFFrom') = 1) then
|
||||||
|
/* ‘÷èòûâàåì ïðåôèêñ ñ ó÷åòîì trim */
|
||||||
|
SPREF := UPPER(TRIMNUMB(PKG_COND_BROKER.GET_CONDITION_STR('EDPREFFrom') ,10));
|
||||||
|
/* “ñòàíàâëèâàåì îòáîð */
|
||||||
|
PKG_COND_BROKER.ADD_CLAUSE('UPPER(PREF) = ''' || SPREF || '''');
|
||||||
|
end if;
|
||||||
|
-- <20>åêâèçèòû/„îêóìåíò/<2F>îìåð
|
||||||
|
if (PKG_COND_BROKER.CONDITION_EXISTS('EDNUMBFrom') = 1) then
|
||||||
|
/* ‘÷èòûâàåì íîìåð ñ ó÷åòîì trim */
|
||||||
|
SNUMB := UPPER(TRIMNUMB(PKG_COND_BROKER.GET_CONDITION_STR('EDNUMBFrom') ,10));
|
||||||
|
/* “ñòàíàâëèâàåì îòáîð */
|
||||||
|
PKG_COND_BROKER.ADD_CLAUSE('UPPER(NUMB) = ''' || SNUMB || '''');
|
||||||
|
end if;
|
||||||
|
-- <20>åêâèçèòû/„îêóìåíò/„àòà ñ..ïî
|
||||||
|
PKG_COND_BROKER.ADD_CONDITION_BETWEEN( 'DOCDATE','EDDATEFrom','EDDATETo' );
|
||||||
|
/* …ñëè ñîñòîßíèå óêàçàíî */
|
||||||
|
if (PKG_COND_BROKER.CONDITION_EXISTS('STATETYPE') = 1) then
|
||||||
|
/* ‘÷èòûâàåì ôèëüòð ñîñòîßíèß (0 - íå çàâåðøåííûå, 1 - çàâåðøåííûå) */
|
||||||
|
NSTATE := PKG_COND_BROKER.GET_CONDITION_NUM('STATETYPE');
|
||||||
|
/* …ñëè ñîñòîßíèå - çàâåðøåííûå */
|
||||||
|
if (NSTATE = 1) then
|
||||||
|
/* “ñòàíàâëèâàåì òîëüêî ñ ñîñòîßíèåì "‡àêðûò" */
|
||||||
|
PKG_COND_BROKER.SET_CONDITION_ENUM('CGSTATE', '3');
|
||||||
|
else
|
||||||
|
/* “ñòàíàâëèâàåì òîëüêî ñ ñîñòîßíèåì "<22>å óòâåðæäÞí", "“òâåðæäÞí" */
|
||||||
|
PKG_COND_BROKER.SET_CONDITION_ENUM('CGSTATE', '0;2', ';');
|
||||||
|
end if;
|
||||||
|
-- ‘îñòîßíèå/‘îñòîßíèå
|
||||||
|
PKG_COND_BROKER.ADD_CONDITION_ENUM( 'STATE','CGSTATE' );
|
||||||
|
end if;
|
||||||
|
/* …ñëè óêàçàíû òðóäîâûå çàòðàòû */
|
||||||
|
if (PKG_COND_BROKER.CONDITION_EXISTS('TYPESPEND') = 1) then
|
||||||
|
/* ‘÷èòûâàåì ôèëüòð òðóäîâûõ çàòðàò (0 - âíóòðåííèå, 1 - âíåøíèå) */
|
||||||
|
NTYPESPEND := PKG_COND_BROKER.GET_CONDITION_NUM('TYPESPEND');
|
||||||
|
/* …ñëè òðóäîâûå çàòðàòû - âíóòðåííèå */
|
||||||
|
if (NTYPESPEND = 0) then
|
||||||
|
PKG_COND_BROKER.ADD_NOT_NULL('DEPTPERF');
|
||||||
|
else
|
||||||
|
PKG_COND_BROKER.ADD_NOT_NULL('PERFORM_AGN');
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
|
||||||
|
/* ”îðìèðîâàíèå óñëîâèé ïàíåëè */
|
||||||
|
-- „îïîëíèòåëüíî/‡àêàç÷èê, ˆñïîëíèòåëü/<2F>îäðàçäåëåíèå-çàêàç÷èê
|
||||||
|
PKG_COND_BROKER.ADD_CONDITION_CODE( 'CODE','CUSTOMERDEPTEDIT','DEPTCUSTOMER <- RN;INS_DEPARTMENT' );
|
||||||
|
-- „îïîëíèòåëüíî/<2F>åêâèçèòû ðåìîíòà/„àòà íà÷àëà ôàêòè÷åñêàß ñ..ïî
|
||||||
|
PKG_COND_BROKER.ADD_CONDITION_BETWEEN( 'DATEFACT_BEG','EDREPAIRFACTBEGINFrom','EDREPAIRFACTBEGINTo' );
|
||||||
|
-- …ñëè åñòü óñëîâèå íà òèïîâóþ ðàáîòó èëè âèä òèïîâîé ðàáîòû
|
||||||
|
if ((PKG_COND_BROKER.CONDITION_EXISTS('EQTYPEWRKCOMP') = 1) or (PKG_COND_BROKER.CONDITION_EXISTS('EQWRKKINDCOMP') = 1)) then
|
||||||
|
/* ‘÷èòûâàåì òèïîâóþ ðàáîòó */
|
||||||
|
SWORK_TYPE := PKG_COND_BROKER.GET_CONDITION_STR('EQTYPEWRKCOMP');
|
||||||
|
/* ‘÷èòûâàåì âèä òèïîâîé ðàáîòû */
|
||||||
|
SWORK_KIND := PKG_COND_BROKER.GET_CONDITION_STR('EQWRKKINDCOMP');
|
||||||
|
/* ”îðìèðîâàíèå äîï. óñëîâèß */
|
||||||
|
SCLAUSE := ' exists (select null';
|
||||||
|
SCLAUSE := SCLAUSE || ' from EQRPSHWRK SW,';
|
||||||
|
SCLAUSE := SCLAUSE || ' EQTYPEWRK TW';
|
||||||
|
/* …ñëè óêàçàí âèä òèïîâîé ðàáîòû */
|
||||||
|
if (SWORK_KIND is not null) then
|
||||||
|
SCLAUSE := SCLAUSE || ' left outer join EQWRKKIND WK on TW.KIND = WK.RN';
|
||||||
|
end if;
|
||||||
|
SCLAUSE := SCLAUSE || ' where SW.PRN = T.RN';
|
||||||
|
SCLAUSE := SCLAUSE || ' and TW.RN = SW.TYPEWRK';
|
||||||
|
/* …ñëè óêàçàíà òèïîâàß ðàáîòà */
|
||||||
|
if (SWORK_TYPE is not null) then
|
||||||
|
SCLAUSE := SCLAUSE || ' and TW.CODE = ''' || SWORK_TYPE || '''';
|
||||||
|
end if;
|
||||||
|
/* …ñëè óêàçàí âèä òèïîâîé ðàáîòû */
|
||||||
|
if (SWORK_KIND is not null) then
|
||||||
|
SCLAUSE := SCLAUSE || ' and WK.CODE = ''' || SWORK_KIND || '''';
|
||||||
|
end if;
|
||||||
|
SCLAUSE := SCLAUSE || ')';
|
||||||
|
/* “ñòàíàâëèâàåì îòáîð */
|
||||||
|
PKG_COND_BROKER.ADD_CLAUSE(SCLAUSE);
|
||||||
|
end if;
|
||||||
|
-- ‘îñòîßíèå/‘îñòîßíèå
|
||||||
|
--PKG_COND_BROKER.ADD_CONDITION_ENUM( 'STATE','CGSTATE' );
|
||||||
|
|
||||||
|
end EQRPSHEETS_BASE_COND;
|
||||||
|
|
||||||
|
end UDO_PKG_P8PANELS_RPR_ANL;
|
||||||
|
/
|
||||||
233
db/UDO_PKG_P8PANELS_USETTINGS.pck
Normal file
233
db/UDO_PKG_P8PANELS_USETTINGS.pck
Normal file
@ -0,0 +1,233 @@
|
|||||||
|
create or replace package UDO_PKG_P8PANELS_USETTINGS as
|
||||||
|
|
||||||
|
/* “ñòàíîâêà íàñòðîéêè ïàíåëè */
|
||||||
|
procedure SETTINGS_SET
|
||||||
|
(
|
||||||
|
SPANEL in varchar2, -- <20>àèìåíîâàíèå ïàíåëè
|
||||||
|
CSETTINGS in clob -- <20>àñòðîéêè ïàíåëè
|
||||||
|
);
|
||||||
|
|
||||||
|
/* ‘÷èòûâàíèå íàñòðîéêè ïàíåëè */
|
||||||
|
procedure SETTINGS_GET
|
||||||
|
(
|
||||||
|
SPANEL in varchar2, -- <20>àèìåíîâàíèå ïàíåëè
|
||||||
|
COUT out clob -- <20>àñòðîéêè ïàíåëè
|
||||||
|
);
|
||||||
|
|
||||||
|
end UDO_PKG_P8PANELS_USETTINGS;
|
||||||
|
/
|
||||||
|
create or replace package body UDO_PKG_P8PANELS_USETTINGS as
|
||||||
|
|
||||||
|
/* Šîíñòàíòû - îáùèå */
|
||||||
|
XRQ_SETTINGS constant PKG_STD.TSTRING := 'XSETTINGS'; -- ˆìß óçëà íàñòðîåê ïàíåëè
|
||||||
|
|
||||||
|
/* „îáàâëåíèå çàïèñè íàñòðîéêè ïàíåëè */
|
||||||
|
procedure P8PANELS_USETTING_INSERT
|
||||||
|
(
|
||||||
|
NCOMPANY in number, -- <20>åã. íîìåð îðãàíèçàöèè
|
||||||
|
SAUTHID in varchar2, -- <20>îëüçîâàòåëü
|
||||||
|
SPANEL in varchar2, -- <20>àèìåíîâàíèå ïàíåëè
|
||||||
|
CPANEL_SETTINGS in clob, -- <20>àñòðîéêè ïàíåëè
|
||||||
|
NRN out number -- <20>åã. íîìåð çàïèñè
|
||||||
|
)
|
||||||
|
is
|
||||||
|
begin
|
||||||
|
/* ƒåíåðàöèß ðåãèñòðàöèîííîãî íîìåðà çàïèñè */
|
||||||
|
NRN := GEN_IDENT();
|
||||||
|
/* „îáàâëßåì çàïèñü â òàáëèöó */
|
||||||
|
insert into UDO_P8PANELS_USETTING
|
||||||
|
(RN, COMPANY, authid, PANEL, PANEL_SETTINGS)
|
||||||
|
values
|
||||||
|
(NRN, NCOMPANY, SAUTHID, SPANEL, CPANEL_SETTINGS);
|
||||||
|
end P8PANELS_USETTING_INSERT;
|
||||||
|
|
||||||
|
/* Žáíîâëåíèå çàïèñè íàñòðîéêè ïàíåëè */
|
||||||
|
procedure P8PANELS_USETTING_UPDATE
|
||||||
|
(
|
||||||
|
NRN in number, -- <20>åã. íîìåð çàïèñè
|
||||||
|
NCOMPANY in number, -- <20>åã. íîìåð îðãàíèçàöèè
|
||||||
|
SAUTHID in varchar2, -- <20>îëüçîâàòåëü
|
||||||
|
SPANEL in varchar2, -- <20>àèìåíîâàíèå ïàíåëè
|
||||||
|
CPANEL_SETTINGS in clob -- <20>àñòðîéêè ïàíåëè
|
||||||
|
)
|
||||||
|
is
|
||||||
|
begin
|
||||||
|
/* ˆñïðàâëåíèå çàïèñè â òàáëèöå */
|
||||||
|
update UDO_P8PANELS_USETTING T
|
||||||
|
set T.AUTHID = SAUTHID,
|
||||||
|
T.PANEL = SPANEL,
|
||||||
|
T.PANEL_SETTINGS = CPANEL_SETTINGS
|
||||||
|
where T.RN = NRN
|
||||||
|
and T.COMPANY = NCOMPANY;
|
||||||
|
if (sql%notfound) then
|
||||||
|
P_EXCEPTION(0,
|
||||||
|
'‡àïèñü íàñòðîåê ïàíåëè ñ ðåã. íîìåðîì "%s" íå íàéäåíà.',
|
||||||
|
TO_CHAR(NRN));
|
||||||
|
end if;
|
||||||
|
end P8PANELS_USETTING_UPDATE;
|
||||||
|
|
||||||
|
/* “äàëåíèå çàïèñè íàñòðîéêè ïàíåëè */
|
||||||
|
procedure P8PANELS_USETTING_DELETE
|
||||||
|
(
|
||||||
|
NRN in number, -- <20>åã. íîìåð çàïèñè
|
||||||
|
NCOMPANY in number -- <20>åã. íîìåð îðãàíèçàöèè
|
||||||
|
)
|
||||||
|
is
|
||||||
|
begin
|
||||||
|
/* “äàëåíèå çàïèñè èç òàáëèöû */
|
||||||
|
delete from UDO_P8PANELS_USETTING
|
||||||
|
where RN = NRN
|
||||||
|
and COMPANY = NCOMPANY;
|
||||||
|
|
||||||
|
if (sql%notfound) then
|
||||||
|
P_EXCEPTION(0,
|
||||||
|
'‡àïèñü íàñòðîåê ïàíåëè ñ ðåã. íîìåðîì "%s" íå íàéäåíà.',
|
||||||
|
TO_CHAR(NRN));
|
||||||
|
end if;
|
||||||
|
end P8PANELS_USETTING_DELETE;
|
||||||
|
|
||||||
|
/* ‘÷èòûâàíèå çàïèñè íàñòðîéêè ïàíåëè */
|
||||||
|
function P8PANELS_USETTING_GET
|
||||||
|
(
|
||||||
|
NFLAG_SMART in number, -- <20>ðèçíàê âûäà÷è ñîîáùåíèß îá îøèáêå
|
||||||
|
NRN in number, -- <20>åã. íîìåð çàïèñè
|
||||||
|
NCOMPANY in number -- <20>åã. íîìåð îðãàíèçàöèè
|
||||||
|
) return UDO_P8PANELS_USETTING%rowtype -- ‡àïèñü íàñòðîéêè ïàíåëè
|
||||||
|
is
|
||||||
|
RRESULT UDO_P8PANELS_USETTING%rowtype; -- ‡àïèñü íàñòðîéêè ïàíåëè
|
||||||
|
begin
|
||||||
|
/* ‘÷èòûâàåì çàïèñü íàñòðîéêè ïàíåëè */
|
||||||
|
begin
|
||||||
|
select T.*
|
||||||
|
into RRESULT
|
||||||
|
from UDO_P8PANELS_USETTING T
|
||||||
|
where T.RN = NRN
|
||||||
|
and T.COMPANY = NCOMPANY;
|
||||||
|
exception
|
||||||
|
when NO_DATA_FOUND then
|
||||||
|
P_EXCEPTION(NFLAG_SMART, 'Žøèáêà ñ÷èòûâàíèß çàïèñè íàñòðîéêè ïàíåëè ñ ðåã. íîìåðîì "%s".');
|
||||||
|
end;
|
||||||
|
/* ‚îçâðàùàåì ðåçóëüòàò */
|
||||||
|
return RRESULT;
|
||||||
|
end P8PANELS_USETTING_GET;
|
||||||
|
|
||||||
|
/* ‘÷èòûâàíèå ðåã. íîìåðà çàïèñè íàñòðîéêè ïàíåëè òåêóùåãî ïîëüçîâàòåëß ïî íàèìåíîâàíèþ ïàíåëè */
|
||||||
|
procedure P8PANELS_USETTING_FIND
|
||||||
|
(
|
||||||
|
NFLAG_SMART in number, -- <20>ðèçíàê ãåíåðàöèè èñêëþ÷åíèß (0 - äà, 1 - íåò)
|
||||||
|
NCOMPANY in number, -- <20>åã. íîìåð îðãàíèçàöèè
|
||||||
|
SAUTHID in varchar2, -- <20>îëüçîâàòåëü
|
||||||
|
SPANEL in varchar2, -- <20>àèìåíîâàíèå ïàíåëè
|
||||||
|
NRN out number -- <20>åã. íîìåð íàñòðîéêè ïàíåëè
|
||||||
|
)
|
||||||
|
is
|
||||||
|
begin
|
||||||
|
/* …ñëè íàèìåíîâàíèå ïàíåëè íå çàäàíî */
|
||||||
|
if (RTRIM(SPANEL) is null) then
|
||||||
|
/* ƒåíåðàöèß èñêëþ÷åíèß */
|
||||||
|
P_EXCEPTION(NFLAG_SMART, '<27>å çàäàíî íàèìåíîâàíèå íàñòðîéêè íàñòðîéêè.');
|
||||||
|
/* ‚ûõîäèì */
|
||||||
|
return;
|
||||||
|
end if;
|
||||||
|
/* …ñëè ïîëüçîâàòåëü íå çàäàí */
|
||||||
|
if (RTRIM(SAUTHID) is null) then
|
||||||
|
/* ƒåíåðàöèß èñêëþ÷åíèß */
|
||||||
|
P_EXCEPTION(NFLAG_SMART, '<27>å çàäàí ïîëüçîâàòåëü íàñòðîéêè ïàíåëè.');
|
||||||
|
/* ‚ûõîäèì */
|
||||||
|
return;
|
||||||
|
end if;
|
||||||
|
/* <20>îèñê çàïèñè */
|
||||||
|
begin
|
||||||
|
select T.RN
|
||||||
|
into NRN
|
||||||
|
from UDO_P8PANELS_USETTING T
|
||||||
|
where T.PANEL = SPANEL
|
||||||
|
and T.AUTHID = SAUTHID
|
||||||
|
and T.COMPANY = NCOMPANY;
|
||||||
|
exception
|
||||||
|
when NO_DATA_FOUND then
|
||||||
|
P_EXCEPTION(NFLAG_SMART,
|
||||||
|
'<27>àñòðîéêà ïàíåëè ñ íàèìåíîâàíèåì "%s" íå îïðåäåëÞíà.',
|
||||||
|
SPANEL);
|
||||||
|
end;
|
||||||
|
end P8PANELS_USETTING_FIND;
|
||||||
|
|
||||||
|
/* “ñòàíîâêà íàñòðîéêè ïàíåëè */
|
||||||
|
procedure SETTINGS_SET
|
||||||
|
(
|
||||||
|
SPANEL in varchar2, -- <20>àèìåíîâàíèå ïàíåëè
|
||||||
|
CSETTINGS in clob -- <20>àñòðîéêè ïàíåëè
|
||||||
|
)
|
||||||
|
is
|
||||||
|
NUDO_P8PANELS_USETTING PKG_STD.TREF; -- <20>åã. íîìåð íàñòðîéêè ïàíåëè
|
||||||
|
NCOMPANY PKG_STD.TREF := GET_SESSION_COMPANY(); -- Žðãàíèçàöèß ñåàíñà
|
||||||
|
SAUTHID PKG_STD.TSTRING := UTILIZER(); -- ’åêóùèé ïîëüçîâàòåëü
|
||||||
|
CDATA clob; -- „àííûå íàñòðîéêè ïàíåëè
|
||||||
|
begin
|
||||||
|
/* …ñëè íå çàäàíî íàèìåíîâàíèå ïàíåëè */
|
||||||
|
if (RTRIM(SPANEL) is null) then
|
||||||
|
P_EXCEPTION(0,
|
||||||
|
'<27>àèìåíîâàíèå ïàíåëè ïðè ñîõðàíåíèè íàñòðîåê ïàíåëè íå îïðåäåëåíî.');
|
||||||
|
end if;
|
||||||
|
/* ”îðìàòèðóåì äàííûå íàñòðîéêè ïàíåëè */
|
||||||
|
CDATA := '<' || XRQ_SETTINGS || '>' ||
|
||||||
|
BLOB2CLOB(LBDATA => BASE64_DECODE(LCSRCE => CSETTINGS), SCHARSET => PKG_CHARSET.CHARSET_UTF_()) || '</' ||
|
||||||
|
XRQ_SETTINGS || '>';
|
||||||
|
/* <20>ðîâåðßåì ñóùåñòâîâàíèå íàñòðîåê äëß ýòîãî ïîëüçîâàòåëß ïîä òåêóùåé îðãàíèçàöèåé */
|
||||||
|
P8PANELS_USETTING_FIND(NFLAG_SMART => 1,
|
||||||
|
NCOMPANY => NCOMPANY,
|
||||||
|
SAUTHID => SAUTHID,
|
||||||
|
SPANEL => SPANEL,
|
||||||
|
NRN => NUDO_P8PANELS_USETTING);
|
||||||
|
/* …ñëè ó ïîëüçîâàòåëß óæå åñòü íàñòðîéêà */
|
||||||
|
if (NUDO_P8PANELS_USETTING is not null) then
|
||||||
|
/* Žáíîâëßåì íàñòðîéêè ïàíåëè */
|
||||||
|
P8PANELS_USETTING_UPDATE(NRN => NUDO_P8PANELS_USETTING,
|
||||||
|
NCOMPANY => NCOMPANY,
|
||||||
|
SAUTHID => SAUTHID,
|
||||||
|
SPANEL => SPANEL,
|
||||||
|
CPANEL_SETTINGS => CDATA);
|
||||||
|
else
|
||||||
|
/* ‘îçäàåì çàïèñü íàñòðîéêè ïàíåëè */
|
||||||
|
P8PANELS_USETTING_INSERT(NCOMPANY => NCOMPANY,
|
||||||
|
SAUTHID => SAUTHID,
|
||||||
|
SPANEL => SPANEL,
|
||||||
|
CPANEL_SETTINGS => CDATA,
|
||||||
|
NRN => NUDO_P8PANELS_USETTING);
|
||||||
|
end if;
|
||||||
|
end SETTINGS_SET;
|
||||||
|
|
||||||
|
/* ‘÷èòûâàíèå íàñòðîéêè ïàíåëè */
|
||||||
|
procedure SETTINGS_GET
|
||||||
|
(
|
||||||
|
SPANEL in varchar2, -- <20>àèìåíîâàíèå ïàíåëè
|
||||||
|
COUT out clob -- <20>àñòðîéêè ïàíåëè
|
||||||
|
)
|
||||||
|
is
|
||||||
|
NCOMPANY PKG_STD.TREF := GET_SESSION_COMPANY(); -- Žðãàíèçàöèß ñåàíñà
|
||||||
|
SAUTHID PKG_STD.TSTRING := UTILIZER(); -- ’åêóùèé ïîëüçîâàòåëü
|
||||||
|
NUDO_P8PANELS_USETTING PKG_STD.TREF; -- <20>åã. íîìåð íàñòðîéêè ïàíåëè
|
||||||
|
RUDO_P8PANELS_USETTING UDO_P8PANELS_USETTING%rowtype; -- ‡àïèñü íàñòðîéêè ïàíåëè
|
||||||
|
begin
|
||||||
|
/* <20>ðîâåðßåì ñóùåñòâîâàíèå íàñòðîåê äëß ýòîãî ïîëüçîâàòåëß ïîä òåêóùåé îðãàíèçàöèåé */
|
||||||
|
P8PANELS_USETTING_FIND(NFLAG_SMART => 1,
|
||||||
|
NCOMPANY => NCOMPANY,
|
||||||
|
SAUTHID => SAUTHID,
|
||||||
|
SPANEL => SPANEL,
|
||||||
|
NRN => NUDO_P8PANELS_USETTING);
|
||||||
|
/* …ñëè íàñòðîéêà ñ÷èòàíà */
|
||||||
|
if (NUDO_P8PANELS_USETTING is not null) then
|
||||||
|
/* ‘÷èòûâàåì çàïèñü íàñòðîéêè */
|
||||||
|
RUDO_P8PANELS_USETTING := P8PANELS_USETTING_GET(NFLAG_SMART => 1,
|
||||||
|
NRN => NUDO_P8PANELS_USETTING,
|
||||||
|
NCOMPANY => NCOMPANY);
|
||||||
|
/* “ñòàíàâëèâàåì íàñòðîéêè ïàíåëè */
|
||||||
|
COUT := RUDO_P8PANELS_USETTING.PANEL_SETTINGS;
|
||||||
|
else
|
||||||
|
/* <20>óñòîå çíà÷åíèå */
|
||||||
|
COUT := '<XSETTINGS></XSETTINGS>';
|
||||||
|
end if;
|
||||||
|
end SETTINGS_GET;
|
||||||
|
|
||||||
|
end UDO_PKG_P8PANELS_USETTINGS;
|
||||||
|
/
|
||||||
4
db/grants.sql
Normal file
4
db/grants.sql
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
grant select on UDO_P8PANELS_USETTING to public;
|
||||||
|
grant execute on UDO_PKG_P8PANELS_USETTINGS to public;
|
||||||
|
grant execute on UDO_PKG_P8PANELS_HAULER_ANL to public;
|
||||||
|
grant execute on UDO_PKG_P8PANELS_RPR_ANL to public;
|
||||||
File diff suppressed because one or more lines are too long
@ -17,7 +17,7 @@
|
|||||||
<MenuItem parent="{BA073333-DFBC-4BA3-8EA7-172F3F6B4FEE}" separator="true"/>
|
<MenuItem parent="{BA073333-DFBC-4BA3-8EA7-172F3F6B4FEE}" separator="true"/>
|
||||||
<MenuItem parent="{BA073333-DFBC-4BA3-8EA7-172F3F6B4FEE}" name="ShowEqsPrfrm" caption="Выполнение работ по ТОиР" panelName="EqsPrfrm"/>
|
<MenuItem parent="{BA073333-DFBC-4BA3-8EA7-172F3F6B4FEE}" name="ShowEqsPrfrm" caption="Выполнение работ по ТОиР" panelName="EqsPrfrm"/>
|
||||||
<MenuItem parent="{BA073333-DFBC-4BA3-8EA7-172F3F6B4FEE}" name="ShowEqsRepairAnlATC" caption="Аналитика по ремонтам АТС" panelName="RepairAnlATC"/>
|
<MenuItem parent="{BA073333-DFBC-4BA3-8EA7-172F3F6B4FEE}" name="ShowEqsRepairAnlATC" caption="Аналитика по ремонтам АТС" panelName="RepairAnlATC"/>
|
||||||
<MenuItem parent="{BA073333-DFBC-4BA3-8EA7-172F3F6B4FEE}" name="ShowEqsHaulerAnl" caption="Гаражка" panelName="HaulerAnl"/>
|
<MenuItem parent="{BA073333-DFBC-4BA3-8EA7-172F3F6B4FEE}" name="ShowEqsHaulerAnl" caption="Гаражка" panelName="EqsHaulerAnl"/>
|
||||||
</App>
|
</App>
|
||||||
<App name="MechanicalRecords">
|
<App name="MechanicalRecords">
|
||||||
<MenuItem parent="{BA073333-DFBC-4BA3-8EA7-172F3F6B4FEE}" separator="true"/>
|
<MenuItem parent="{BA073333-DFBC-4BA3-8EA7-172F3F6B4FEE}" separator="true"/>
|
||||||
@ -205,18 +205,18 @@
|
|||||||
showInPanelsList="true"
|
showInPanelsList="true"
|
||||||
preview="./img/clnt_task_board.jpg"/>
|
preview="./img/clnt_task_board.jpg"/>
|
||||||
<Panel
|
<Panel
|
||||||
name="RepairAnlATC"
|
name="EqsHaulerAnl"
|
||||||
group="Управление техническим обслуживанием и ремонтами"
|
group="Управление техническим обслуживанием и ремонтами"
|
||||||
caption="Аналитика по ремонтам АТС"
|
caption="Гаражка"
|
||||||
desc="Аналитика по ремонтам АТС"
|
desc="Гаражка"
|
||||||
url="repair_anl_atc"
|
url="hauler_eqs_anl"
|
||||||
path="repair_anl_atc"
|
path="hauler_anl"
|
||||||
icon="home_repair_service"
|
icon="warehouse"
|
||||||
showInPanelsList="true"
|
showInPanelsList="true"
|
||||||
preview="./img/default_preview.png"/>
|
preview="./img/default_preview.png"/>
|
||||||
<Panel
|
<Panel
|
||||||
name="HaulerAnl"
|
name="HaulerAnl"
|
||||||
group="Управление техническим обслуживанием и ремонтами"
|
group="Управление автотранспортом"
|
||||||
caption="Гаражка"
|
caption="Гаражка"
|
||||||
desc="Гаражка"
|
desc="Гаражка"
|
||||||
url="hauler_anl"
|
url="hauler_anl"
|
||||||
|
|||||||
@ -148,7 +148,7 @@ const FilterDialog = ({ initial, isFiltersInit, onCancel, onOk }) => {
|
|||||||
fullWidth
|
fullWidth
|
||||||
/>
|
/>
|
||||||
<Box sx={STYLES.BOX_WITH_LEGEND} component="fieldset">
|
<Box sx={STYLES.BOX_WITH_LEGEND} component="fieldset">
|
||||||
<legend style={STYLES.LEGEND}>Расчет КОА</legend>
|
<legend style={STYLES.LEGEND}>Расчет КТГ/КОА</legend>
|
||||||
<TextField
|
<TextField
|
||||||
name="dDateKOAFrom"
|
name="dDateKOAFrom"
|
||||||
type="datetime-local"
|
type="datetime-local"
|
||||||
@ -80,7 +80,7 @@ const HaulerAnl = () => {
|
|||||||
}, [filterValues, filterInfo, filterCalcs]);
|
}, [filterValues, filterInfo, filterCalcs]);
|
||||||
|
|
||||||
//Состояние графика информации АТС
|
//Состояние графика информации АТС
|
||||||
const { chartInfo, handleReload: handleChartInfoReload } = useChartInfo({ storedArgs: allFilters });
|
const { chartInfo, handleReload: handleChartInfoReload, loading: chartInfoLoading } = useChartInfo({ storedArgs: allFilters });
|
||||||
|
|
||||||
//Состояние графика расчетов
|
//Состояние графика расчетов
|
||||||
const { chartCalcs, handleReload: handleChartCalcsReload } = useChartCalcs({ storedArgs: allFilters });
|
const { chartCalcs, handleReload: handleChartCalcsReload } = useChartCalcs({ storedArgs: allFilters });
|
||||||
@ -159,7 +159,7 @@ const HaulerAnl = () => {
|
|||||||
{hasValue(filterInfo.nState) ? (
|
{hasValue(filterInfo.nState) ? (
|
||||||
<ChartFilter chartName={CHART_NAMES.info} filter={filterInfo} onFilterChange={handleChartFilterChange} />
|
<ChartFilter chartName={CHART_NAMES.info} filter={filterInfo} onFilterChange={handleChartFilterChange} />
|
||||||
) : null}
|
) : null}
|
||||||
{chartInfo.loaded ? (
|
{chartInfo.loaded && !chartInfoLoading ? (
|
||||||
<P8PChart {...chartInfo} style={STYLES.CHART} onClick={handleChartInfoClick} legendPosition={"top"} />
|
<P8PChart {...chartInfo} style={STYLES.CHART} onClick={handleChartInfoClick} legendPosition={"top"} />
|
||||||
) : null}
|
) : null}
|
||||||
</Paper>
|
</Paper>
|
||||||
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
import { useState, useContext, useCallback, useEffect } from "react"; //Классы React
|
import { useState, useContext, useCallback, useEffect } from "react"; //Классы React
|
||||||
import { BackEndСtx } from "../../../context/backend"; //Контекст взаимодействия с сервером
|
import { BackEndСtx } from "../../../context/backend"; //Контекст взаимодействия с сервером
|
||||||
import { object2Base64XML, formatDateRF } from "../../../core/utils";
|
import { object2Base64XML, formatDateRF } from "../../../core/utils"; //Вспомогательные функции
|
||||||
|
|
||||||
//--------------------------
|
//--------------------------
|
||||||
//Вспомогательные компоненты
|
//Вспомогательные компоненты
|
||||||
@ -24,6 +24,9 @@ const useChartInfo = ({ storedArgs = {} }) => {
|
|||||||
//Собственное состояние - график
|
//Собственное состояние - график
|
||||||
const [chartInfo, setChartInfo] = useState({ loaded: false, reload: false });
|
const [chartInfo, setChartInfo] = useState({ loaded: false, reload: false });
|
||||||
|
|
||||||
|
//Собственное состояние - загрузка данных
|
||||||
|
const [loading, setLoading] = useState(false);
|
||||||
|
|
||||||
//Подключение к контексту взаимодействия с сервером
|
//Подключение к контексту взаимодействия с сервером
|
||||||
const { executeStored } = useContext(BackEndСtx);
|
const { executeStored } = useContext(BackEndСtx);
|
||||||
|
|
||||||
@ -35,6 +38,7 @@ const useChartInfo = ({ storedArgs = {} }) => {
|
|||||||
//Загрузка данных графика с сервера
|
//Загрузка данных графика с сервера
|
||||||
const loadChart = async () => {
|
const loadChart = async () => {
|
||||||
try {
|
try {
|
||||||
|
setLoading(true);
|
||||||
const chart = await executeStored({
|
const chart = await executeStored({
|
||||||
stored: "UDO_PKG_P8PANELS_HAULER_ANL.CHART_ATC_INFO",
|
stored: "UDO_PKG_P8PANELS_HAULER_ANL.CHART_ATC_INFO",
|
||||||
args: {
|
args: {
|
||||||
@ -47,6 +51,8 @@ const useChartInfo = ({ storedArgs = {} }) => {
|
|||||||
setChartInfo(pv => ({ ...pv, loaded: true, reload: false, ...chart.XCHART }));
|
setChartInfo(pv => ({ ...pv, loaded: true, reload: false, ...chart.XCHART }));
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
setChartInfo(pv => ({ ...pv, loaded: false, reload: false }));
|
setChartInfo(pv => ({ ...pv, loaded: false, reload: false }));
|
||||||
|
} finally {
|
||||||
|
setLoading(false);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
//При необходимости перезагрузить
|
//При необходимости перезагрузить
|
||||||
@ -55,7 +61,7 @@ const useChartInfo = ({ storedArgs = {} }) => {
|
|||||||
}, [chartInfo.reload, executeStored]);
|
}, [chartInfo.reload, executeStored]);
|
||||||
|
|
||||||
//Возвращаем график
|
//Возвращаем график
|
||||||
return { chartInfo, handleReload };
|
return { chartInfo, handleReload, loading };
|
||||||
};
|
};
|
||||||
|
|
||||||
//Хук графика КГТ/КОА
|
//Хук графика КГТ/КОА
|
||||||
Loading…
x
Reference in New Issue
Block a user