From 95ddde190c2d9b9f19d4f4f4d8f9c6c5ee2af6c6 Mon Sep 17 00:00:00 2001 From: Mikhail Chechnev Date: Fri, 24 May 2024 19:40:55 +0300 Subject: [PATCH] =?UTF-8?q?=D0=91=D0=94:=20=D0=9F=D0=B0=D0=BD=D0=B5=D0=BB?= =?UTF-8?q?=D1=8C=20"=D0=9C=D0=BE=D0=BD=D0=B8=D1=82=D0=BE=D1=80=D0=B8?= =?UTF-8?q?=D0=BD=D0=B3=20=D1=81=D0=B1=D0=BE=D1=80=D0=BA=D0=B8=20=D0=B8?= =?UTF-8?q?=D0=B7=D0=B4=D0=B5=D0=BB=D0=B8=D1=8F"=20-=20=D0=B4=D0=BE=D1=80?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=82=D0=BA=D0=B0=20=D0=B0=D0=BB=D0=B3=D0=BE?= =?UTF-8?q?=D1=80=D0=B8=D1=82=D0=BC=D0=B0=20=D1=80=D0=B0=D1=81=D1=87=D0=B5?= =?UTF-8?q?=D1=82=D0=B0=20=D0=BF=D1=80=D0=BE=D0=B3=D1=80=D0=B5=D1=81=D1=81?= =?UTF-8?q?=D0=B0=20(=D0=BE=D1=82=D0=BD=D0=BE=D1=81=D0=B8=D1=82=D0=B5?= =?UTF-8?q?=D0=BB=D1=8C=D0=BD=D0=BE=20=D0=BF=D0=BB=D0=B0=D0=BD=D0=B0,=20?= =?UTF-8?q?=D0=B0=20=D0=BD=D0=B5=20=D0=BD=D0=BE=D1=80=D0=BC=D0=B0=D1=82?= =?UTF-8?q?=D0=B8=D0=B2=D0=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/PKG_P8PANELS_MECHREC.pck | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/db/PKG_P8PANELS_MECHREC.pck b/db/PKG_P8PANELS_MECHREC.pck index c1b5ed5..777435e 100644 --- a/db/PKG_P8PANELS_MECHREC.pck +++ b/db/PKG_P8PANELS_MECHREC.pck @@ -5682,11 +5682,11 @@ create or replace package body PKG_P8PANELS_MECHREC as /* Получение таблицы записей "Планы и отчеты производства изделий" */ procedure FCPRODPLAN_GET ( - NCRN in number, -- Рег. номер каталога - COUT out clob -- Сериализованная таблица данных + NCRN in number, -- Рег. номер каталога + COUT out clob -- Сериализованная таблица данных ) is - NPROGRESS PKG_STD.TNUMBER; -- Прогресс плана + NPROGRESS PKG_STD.TLNUMBER; -- Прогресс плана /* Получение номера плана из примечания */ function NUMB_BY_NOTE_GET @@ -5730,11 +5730,12 @@ create or replace package body PKG_P8PANELS_MECHREC as for REC in (select P.RN NRN, P.NOTE SNOTE, D_YEAR(EN.STARTDATE) NYEAR, - COALESCE(SUM(SP.LABOUR_FACT), 0) NLABOUR_FACT, - COALESCE(SUM(SP.LABOUR_NORM), 0) NLABOUR_NORM - from FCPRODPLAN P left outer join FCPRODPLANSP SP on P.RN = SP.PRN and ((SP.LABOUR_NORM is not null) or (SP.LABOUR_FACT is not null)), - FINSTATE FS, - ENPERIOD EN + COALESCE(sum(SP.LABOUR_FACT), 0) NLABOUR_FACT, + COALESCE(sum(SP.LABOUR_PLAN), 0) NLABOUR_PLAN + from FCPRODPLAN P + left outer join FCPRODPLANSP SP + on P.RN = SP.PRN + and ((SP.LABOUR_PLAN is not null) or (SP.LABOUR_FACT is not null)), FINSTATE FS, ENPERIOD EN where P.CRN = NCRN and P.CATEGORY = NFCPRODPLAN_CATEGORY_MON and P.STATUS = NFCPRODPLAN_STATUS_MON @@ -5757,8 +5758,10 @@ create or replace package body PKG_P8PANELS_MECHREC as where UP.JUR_PERS = P.JUR_PERS and UP.UNITCODE = 'CostProductPlans' and UP.AUTHID = UTILIZER()) - group by P.RN, P.NOTE, EN.STARTDATE - order by EN.STARTDATE asc) + group by P.RN, + P.NOTE, + EN.STARTDATE + order by EN.STARTDATE asc) loop /* Открываем план */ PKG_XFAST.DOWN_NODE(SNAME => 'XFCPRODPLAN_INFO'); @@ -5766,7 +5769,7 @@ create or replace package body PKG_P8PANELS_MECHREC as PKG_XFAST.ATTR(SNAME => 'NRN', NVALUE => REC.NRN); PKG_XFAST.ATTR(SNAME => 'SNUMB', SVALUE => NUMB_BY_NOTE_GET(SNOTE => REC.SNOTE)); /* Определяем прогресс */ - if (REC.NLABOUR_NORM = 0) then + if (REC.NLABOUR_PLAN = 0) then /* Не можем определить прогресс */ NPROGRESS := 0; else @@ -5775,8 +5778,8 @@ create or replace package body PKG_P8PANELS_MECHREC as /* Не можем определить прогресс */ NPROGRESS := 0; else - /* Не можем определить прогресс */ - NPROGRESS := REC.NLABOUR_FACT / REC.NLABOUR_NORM; + /* Определим прогресс */ + NPROGRESS := ROUND(REC.NLABOUR_FACT / REC.NLABOUR_PLAN * 100, 2); end if; end if; PKG_XFAST.ATTR(SNAME => 'NPROGRESS', NVALUE => NPROGRESS);