edit
This commit is contained in:
@@ -3844,30 +3844,26 @@ ORDER BY Priority;";
|
||||
private static EkzMkTemplate LoadFallbackTemplate(SqlConnection connection, SqlTransaction transaction, int instrumentId)
|
||||
{
|
||||
const string sql = @"
|
||||
WITH DefaultLab AS
|
||||
(
|
||||
SELECT
|
||||
CASE WHEN COUNT(DISTINCT m.IDFRPD) = 1 THEN MIN(m.IDFRPD) ELSE NULL END AS DefaultIdFrpd
|
||||
FROM dbo.EKZMK m
|
||||
)
|
||||
SELECT TOP (1)
|
||||
COALESCE(periodByInstrument.IDGRSI, periodByType.IDGRSI) AS IDGRSI,
|
||||
COALESCE(periodByInstrument.IDGRSI, periodByType.IDGRSI, verificationSetup.IDGRSI) AS IDGRSI,
|
||||
COALESCE(periodByInstrument.IDSPVDMC, periodByType.IDSPVDMC) AS IDSPVDMC,
|
||||
defaultLab.DefaultIdFrpd AS IDFRPD,
|
||||
verificationSetup.IDFRPD AS IDFRPD,
|
||||
tprz.IDSPKMMK,
|
||||
verificationSetup.IDSPVDMK AS IDSPVDMK,
|
||||
verificationSetup.IDSPMPOB AS IDSPMPOB,
|
||||
verificationSetup.IDSPVDKL AS IDSPVDKL,
|
||||
COALESCE(periodByInstrument.PRMK, periodByType.PRMK, tips.PRMKGR) AS PRMK,
|
||||
tprz.DPZN AS DPZNmp,
|
||||
tprz.HRTC AS HRTCmp,
|
||||
CAST(
|
||||
CASE
|
||||
WHEN COALESCE(periodByInstrument.PRMK, periodByType.PRMK) IS NOT NULL THEN N'Период из TPRMCP'
|
||||
WHEN tips.PRMKGR IS NOT NULL THEN N'Регистрационный период из TIPS'
|
||||
WHEN COALESCE(periodByInstrument.PRMK, periodByType.PRMK) IS NOT NULL THEN N'Данные TPRMK + период из TPRMCP'
|
||||
WHEN tips.PRMKGR IS NOT NULL THEN N'Данные TPRMK + регистрационный период из TIPS'
|
||||
ELSE N''
|
||||
END AS nvarchar(60)) AS SourceDescription
|
||||
FROM dbo.EKZ z
|
||||
JOIN dbo.TPRZ tprz ON tprz.IDTPRZ = z.IDTPRZ
|
||||
JOIN dbo.TIPS tips ON tips.IDTIPS = tprz.IDTIPS
|
||||
CROSS JOIN DefaultLab defaultLab
|
||||
OUTER APPLY
|
||||
(
|
||||
SELECT TOP (1)
|
||||
@@ -3889,8 +3885,45 @@ OUTER APPLY
|
||||
WHERE t.IDTPRZ = z.IDTPRZ
|
||||
ORDER BY t.IDTPRMCP DESC
|
||||
) periodByType
|
||||
OUTER APPLY
|
||||
(
|
||||
SELECT TOP (1)
|
||||
mk.IDTPRMK,
|
||||
mk.IDSPVDMK,
|
||||
mk.IDFRPD,
|
||||
mk.IDGRSI,
|
||||
mk.IDSPMPOB,
|
||||
stamp.IDSPVDKL
|
||||
FROM dbo.TPRMK mk
|
||||
LEFT JOIN dbo.SPVDMK verificationType ON verificationType.IDSPVDMK = mk.IDSPVDMK
|
||||
OUTER APPLY
|
||||
(
|
||||
SELECT TOP (1)
|
||||
tp.IDSPVDKL
|
||||
FROM dbo.TPVDKL tp
|
||||
WHERE tp.IDTIPS = tprz.IDTIPS
|
||||
AND tp.IDSPVDMK = mk.IDSPVDMK
|
||||
ORDER BY tp.IDTPVDKL DESC
|
||||
) stamp
|
||||
WHERE mk.IDTPRZ = z.IDTPRZ
|
||||
ORDER BY
|
||||
CASE
|
||||
WHEN UPPER(LTRIM(RTRIM(ISNULL(verificationType.OBVDMK, N'')))) = N'П' THEN 0
|
||||
WHEN UPPER(LTRIM(RTRIM(ISNULL(verificationType.NMVDMK, N'')))) = N'ПОВЕРКА' THEN 1
|
||||
WHEN UPPER(LTRIM(RTRIM(ISNULL(verificationType.NMVDMK, N'')))) LIKE N'ПОВЕРК%' THEN 2
|
||||
WHEN UPPER(LTRIM(RTRIM(ISNULL(verificationType.NMVDMK, N'')))) LIKE N'%ПОВЕРК%' THEN 3
|
||||
ELSE 4
|
||||
END,
|
||||
CASE
|
||||
WHEN COALESCE(periodByInstrument.IDGRSI, periodByType.IDGRSI) IS NOT NULL
|
||||
AND mk.IDGRSI = COALESCE(periodByInstrument.IDGRSI, periodByType.IDGRSI) THEN 0
|
||||
WHEN mk.IDGRSI IS NULL THEN 1
|
||||
ELSE 2
|
||||
END,
|
||||
mk.IDTPRMK DESC
|
||||
) verificationSetup
|
||||
WHERE z.IDEKZ = @InstrumentId
|
||||
AND defaultLab.DefaultIdFrpd IS NOT NULL
|
||||
AND verificationSetup.IDFRPD IS NOT NULL
|
||||
AND COALESCE(periodByInstrument.PRMK, periodByType.PRMK, tips.PRMKGR) IS NOT NULL;";
|
||||
|
||||
using (var command = new SqlCommand(sql, connection, transaction))
|
||||
@@ -3909,13 +3942,13 @@ WHERE z.IDEKZ = @InstrumentId
|
||||
IdSpmu = null,
|
||||
IdGrsi = GetNullableInt32(reader, "IDGRSI"),
|
||||
IdKsprl = null,
|
||||
IdSpvdmk = null,
|
||||
IdSpvdmk = GetNullableInt32(reader, "IDSPVDMK"),
|
||||
IdSpvdmc = GetNullableInt32(reader, "IDSPVDMC"),
|
||||
IdFrpd = GetInt32(reader, "IDFRPD"),
|
||||
IdSpmpob = null,
|
||||
IdSpmpob = GetNullableInt32(reader, "IDSPMPOB"),
|
||||
IdPrsn = null,
|
||||
IdSpkmmk = GetNullableInt32(reader, "IDSPKMMK"),
|
||||
IdSpvdkl = null,
|
||||
IdSpvdkl = GetNullableInt32(reader, "IDSPVDKL"),
|
||||
IdPrsnvd = null,
|
||||
Prmk = GetInt32(reader, "PRMK"),
|
||||
Stmk = null,
|
||||
|
||||
Reference in New Issue
Block a user