ALTER PROCEDURE [dbo].[ASS_COLLECT_CONFIRM_MASTER_Ins]
@p_BRANCH_ID varchar(15) = NULL,
@p_DEP_ID varchar(15) = NULL,
@p_COLLECT_DT VARCHAR(20) = NULL,
@p_USER_COLLECT nvarchar(200) = NULL,
@p_MAKER_ID varchar(100) = NULL,
@p_CREATE_DT VARCHAR(20) = NULL,
@p_COL_MULTI_MASTER_ID varchar(20) = null
AS
IF(EXISTS(SELECT 1 FROM ASS_COLLECT_CONFIRM_MASTER WHERE COL_MULTI_MASTER_ID = @p_COL_MULTI_MASTER_ID))
BEGIN
SELECT '-1' as Result, N'Phiếu thu hồi đã được xác nhận' ErrorDesc
RETURN '-1'
END
BEGIN TRANSACTION
DECLARE @l_COL_MULTI_MASTER_CONFIRM_ID VARCHAR(15)
EXEC SYS_CodeMasters_Gen 'ASS_COLLECT_CONFIRM_MASTER', @l_COL_MULTI_MASTER_CONFIRM_ID out
IF @l_COL_MULTI_MASTER_CONFIRM_ID='' OR @l_COL_MULTI_MASTER_CONFIRM_ID IS NULL GOTO ABORT
INSERT INTO ASS_COLLECT_CONFIRM_MASTER
(
[COL_MULTI_MASTER_CONFIRM_ID],
[COL_MULTI_MASTER_ID],
[BRANCH_ID],
[DEP_ID],
[COLLECT_DT],
[MAKER_ID],
[CONFIRM_DT],
[CONFIRM_STATUS]
)
VALUES
(
@l_COL_MULTI_MASTER_CONFIRM_ID,
@p_COL_MULTI_MASTER_ID ,
@p_BRANCH_ID,
@p_DEP_ID,
CONVERT(DATETIME, @p_COLLECT_DT, 103),
@p_MAKER_ID,
GETDATE(),
'Y'
)
IF @@Error <> 0 GOTO ABORT
-- GIANT Insert to table PL_PROCESS
INSERT INTO dbo.PL_PROCESS
(
REQ_ID,
PROCESS_ID,
CHECKER_ID,
APPROVE_DT,
PROCESS_DESC,
NOTES
)
VALUES
( @p_COL_MULTI_MASTER_ID,
'CONFIRM',
@p_MAKER_ID,
GETDATE(),
N'Xác nhận phiếu thu hồi tài sản ' ,
N'Xác nhận phiếu thu hồi tài sản thành công'
)
COMMIT TRANSACTION
SELECT '0' as Result, @l_COL_MULTI_MASTER_CONFIRM_ID CONFIRM_COL_MULTI_MASTER_ID,@p_COL_MULTI_MASTER_ID COL_MULTI_MASTER_ID, N'Xác nhận bàn giao tài sản thu hồi thành công' ErrorDesc
RETURN '0'
ABORT:
BEGIN
CLOSE XmlData
DEALLOCATE XmlData
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' CONFIRM_COL_MULTI_MASTER_ID, '' ErrorDesc
RETURN '-1'
END
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[ASS_ADDNEW_BVB_Search]'
GO
ALTER PROCEDURE [dbo].[ASS_ADDNEW_BVB_Search]
@p_ADDNEW_ID varchar(15) = NULL,
@p_FR_BUY_DATE VARCHAR(10) = NULL, --Tu ngay nhap
@p_TO_BUY_DATE VARCHAR(10) = NULL, --Den ngay nhap
@p_TYPE_ID varchar(15) = NULL,
@p_GROUP_ID varchar(15) = NULL,
@p_ASSET_NAME nvarchar(1000) = NULL,
@p_ASSET_SERIAL_NO nvarchar(MAX) = NULL,
@p_ASSET_DESC nvarchar(max) = NULL,
@p_BRANCH_ID varchar(15) = NULL,
@p_DEPT_ID varchar(15) = NULL,---------Them ma phong ban
@p_EMP_ID varchar(15) = NULL,-----------Them Nguoi su dung
@p_DIVISION_ID varchar(15) = NULL,----------Them co so
@p_BUY_PRICE decimal(18) = NULL,
@p_AMORT_AMT decimal(18) = NULL,
@p_AMORT_MONTH decimal(18,2) = NULL,
@p_AMORT_RATE decimal(18,2) = NULL,
@p_IS_MULTIPLE varchar(1) = NULL,
@p_QTY int = NULL,
@p_PO_ID varchar(15) = NULL,
@p_TRADE_ID varchar(15) = NULL, --Them de luu chi tiet PO
@p_TYPE varchar(10) = 'ADD_NEW', --'ADD_NEW' dung cho nhap moi TS, 'ADD_REF': nhap moi dieu chinh
@p_REF_ASSET_ID varchar(15) = NULL,
@p_REF_AMORTIZED_AMT decimal(18) = NULL,
@p_WARRANTY_MONTHS int = NULL,
@p_NOTES nvarchar(1000) = NULL,
@p_RECORD_STATUS varchar(1) = NULL,
@p_AUTH_STATUS varchar(1) = NULL,
@p_MAKER_ID varchar(15) = NULL,
@p_CREATE_DT VARCHAR(20) = NULL,
@p_CHECKER_ID varchar(15) = NULL,
@p_APPROVE_DT VARCHAR(20) = NULL,
@p_TOP INT = NULL,
@p_CONSTRUCT_ID VARCHAR(15) = NULL,
@p_POSTED_STATUS VARCHAR(1) = NULL,
@p_BRANCH_CREATE VARCHAR(15) = NULL,
@p_LEVEL VARCHAR(10) = NULL,
@p_AUTH_STATUS_KT VARCHAR(1) = NULL,
@p_KT_IS_DO VARCHAR(1) = NULL,
@p_PRICE_TO decimal(18) = NULL,
@p_PRICE_FROM decimal(18) = NULL,
@p_USER_LOGIN VARCHAR(15),-- 26022020 LUCTV TRUYEN XUONG USER LOGIN DE DO TIM MA PHONG BAN
@p_TYPE_SEARCH VARCHAR(10)= NULL, -- 26022020 LUCTV TRUYEN XUONG DAU HIEU DE PHAN BIET TIM KIEM O MAN HINH KE TOAN HAY MAN HINH HCQT
@p_REQ_CODE VARCHAR(100) = NULL --Thêm trường tìm kiếm số PYC
AS
BEGIN -- PAGING
SET @p_RECORD_STATUS = '1'
declare @tmp table(BRANCH_ID varchar(15))
insert into @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_CREATE)
DECLARE @l_GROUP_CODE VARCHAR(100)
IF(@p_TYPE_ID='ALL')
BEGIN
SET @l_GROUP_CODE = (SELECT GROUP_CODE FROM ASS_GROUP WHERE GROUP_ID = @p_GROUP_ID)
SET @p_TYPE_ID=''
END
IF @p_TOP IS NULL OR @p_TOP = ''
-- PAGING BEGIN
SELECT
A.ADDNEW_ID,
A.BUY_DATE,
A.[TYPE_ID],
C.[TYPE_NAME],
A.GROUP_ID,
D.GROUP_CODE,
D.GROUP_NAME,
A.ASSET_NAME,
A.ASSET_SERIAL_NO,
A.ASSET_DESC,
A.BRANCH_ID,
A.AMORT_START_DATE,
A.DEPT_ID,
H.DEP_CODE,
H.DEP_NAME,
A.EMP_ID,
G.EMP_CODE,
G.EMP_NAME,
A.DIVISION_ID,
CASE
WHEN A.TYPE_ID = 'TSCD' THEN ISNULL(A.BUY_PRICE,0) + ISNULL(A.PRICE_VAT,0)
WHEN A.TYPE_ID = 'CCLD' THEN ISNULL(A.BUY_PRICE,0)
-- ELSE
END AS BUY_PRICE,
CASE
WHEN A.TYPE_ID = 'TSCD' THEN ISNULL(A.BUY_PRICE,0) + ISNULL(A.PRICE_VAT,0)
WHEN A.TYPE_ID = 'CCLD' THEN ISNULL(A.BUY_PRICE,0)
-- ELSE
END AS AMORT_AMT,
-- ISNULL(A.BUY_PRICE,0) + ISNULL(A.PRICE_VAT,0) AS BUY_PRICE,
-- ISNULL(A.BUY_PRICE,0) + ISNULL(A.PRICE_VAT,0) AS AMORT_AMT,
A.AMORT_MONTH,
A.AMORT_RATE,
A.IS_MULTIPLE,
A.QTY,
A.PO_ID,
PO.PO_CODE,
A.PD_ID,
A.REF_ASSET_ID,
I.ASSET_CODE AS REF_ASS_CODE,
I.ASSET_NAME AS REF_ASS_NAME,
A.REF_AMORTIZED_AMT,
A.WARRANTY_MONTHS,
A.NOTES,
A.CORE_NOTE ,
A.RECORD_STATUS,
A.AUTH_STATUS,
B.CONTENT AS AUTH_STATUS_NAME,AKT.CONTENT AS AUTH_STATUS_NAME_KT,
A.MAKER_ID,
UM.TLFullName MAKER_NAME,
A.CREATE_DT,--CONVERT(VARCHAR(10), A.CREATE_DT, 103) AS S_CREATE_DT
A.CHECKER_ID,
A.APPROVE_DT, A.ENTRY_BOOKED, A.CONSTRUCT_ID,A.POSTED_STATUS, A.BRANCH_CREATE,A.MAKER_ID_KT, A.CREATE_DT_KT,A.CHECKER_ID_KT,A.APPROVE_DT_KT,A.AUTH_STATUS_KT,
E.BRANCH_CODE, F.DIV_CODE, E.BRANCH_NAME, (ISNULL(E.BRANCH_NAME,'') + ' '+ ISNULL(H.DEP_NAME,'')) AS RECEIVE_BRANCH ,
CREBRN.BRANCH_CODE AS R_BRANCH_CODE, CREBRN.BRANCH_NAME AS R_BRANCH_NAME, A.AMORT_END_DATE, A.ACCOUNT_GL, A.VAT, A.PRICE_VAT,(ISNULL(A.QTY,0) * ((ISNULL(A.BUY_PRICE,0)) + ISNULL(A.PRICE_VAT,0))) AS TOTAL_AMT
--, G.SUP_CODE, G.SUP_NAME
,AP.ASSPO_ID AS ASS_PO_ID, AP.ADDNEW_ID AS ASS_PO_ADDNEWID, AP.PO_CODE AS ASS_PO_CODE, AP.INVOICE_NO AS AS_INVOICE_NO, AP.INVOICE_SYMPOL, AP.INVOICE_DATE AS ASS_INVOICE_DT,
CREBRN.BRANCH_CODE+' - '+ CREBRN.BRANCH_NAME AS FULL_BRANCH_NAME, D.GROUP_CODE +' - '+ D.GROUP_NAME GROUP_NAME_FULL,
UM2.TLFullName AS CREATE_USER_NAME, UM3.TLFullName AS APPROVE_NAME_KT, UM4.TLFullName AS CREATE_USER_NAME_KT,
@p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH,
A.REQ_ID,
A.REQ_CODE--- TRA VE THAM SO GAN VO CURRENT SEARCH TRANH GAY LOI O CAC MAN HINH
-- SELECT END
FROM ASS_ADDNEW A
--LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS = B.AUTH_STATUS
LEFT JOIN dbo.CM_ALLCODE B ON B.CDVAL = A.AUTH_STATUS AND B.CDNAME = 'ASS_ADD_AUTH' AND B.CDTYPE = 'ASS_ADDNEW'
LEFT JOIN ASS_TYPE C ON A.[TYPE_ID] = C.[TYPE_ID]
LEFT JOIN ASS_GROUP D ON A.GROUP_ID = D.GROUP_ID
LEFT JOIN TL_USER UM ON UM.TLNANME = A.CHECKER_ID
LEFT JOIN TL_USER UM2 ON UM2.TLNANME = A.MAKER_ID
LEFT JOIN TL_USER UM3 ON UM2.TLNANME = A.CHECKER_ID_KT
LEFT JOIN TL_USER UM4 ON UM4.TLNANME = A.MAKER_ID_KT
LEFT JOIN TR_PO_MASTER PO ON PO.PO_ID = A.PO_ID
LEFT JOIN CM_BRANCH E ON E.BRANCH_ID = A.BRANCH_ID
LEFT JOIN CM_DIVISION F ON F.DIV_ID = A.DIVISION_ID
LEFT JOIN CM_EMPLOYEE G ON G.EMP_ID = A.EMP_ID
LEFT JOIN CM_DEPARTMENT H ON H.DEP_ID = A.DEPT_ID
LEFT JOIN ASS_MASTER I ON I.ASSET_ID = A.REF_ASSET_ID
--LEFT JOIN CM_AUTH_STATUS AKT ON AKT.AUTH_STATUS = A.AUTH_STATUS_KT
LEFT JOIN dbo.CM_ALLCODE AKT ON AKT.CDVAL = A.AUTH_STATUS_KT AND AKT.CDNAME = 'ASS_ADD_AUTH' AND AKT.CDTYPE = 'ASS_ADDNEW'
LEFT JOIN CM_BRANCH CREBRN ON CREBRN.BRANCH_ID = A.BRANCH_CREATE
LEFT JOIN ASS_PO AP ON A.ADDNEW_ID = AP.ADDNEW_ID
WHERE (A.ADDNEW_ID = @p_ADDNEW_ID OR @p_ADDNEW_ID IS NULL OR @p_ADDNEW_ID = '')
-- TIM KIEM TU NGAY DEN NGAY O HC
AND ((@p_TYPE_SEARCH = 'HC' AND (@p_FR_BUY_DATE IS NULL AND @p_FR_BUY_DATE IS NULL OR
@p_TO_BUY_DATE IS NULL AND (CONVERT(DATE, A.BUY_DATE, 103)) >= (CONVERT(DATE, @p_FR_BUY_DATE, 103))
OR @p_FR_BUY_DATE IS NULL AND (CONVERT(DATE, A.BUY_DATE, 103)) <= (CONVERT(DATE, @p_TO_BUY_DATE, 103))
OR (CONVERT(DATE, A.BUY_DATE, 103)) >= (CONVERT(DATE, @p_FR_BUY_DATE, 103)) AND (CONVERT(DATE, A.BUY_DATE, 103)) <= (CONVERT(DATE, @p_TO_BUY_DATE, 103))
)
OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = ''))
-- TIM KIEM TU NGAY O KT
AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
AND (((@p_FR_BUY_DATE IS NULL AND @p_FR_BUY_DATE IS NULL OR
@p_TO_BUY_DATE IS NULL AND (CONVERT(DATE, A.BUY_DATE, 103)) >= (CONVERT(DATE, @p_FR_BUY_DATE, 103))
OR @p_FR_BUY_DATE IS NULL AND (CONVERT(DATE, A.BUY_DATE, 103)) <= (CONVERT(DATE, @p_TO_BUY_DATE, 103))
OR (CONVERT(DATE, A.BUY_DATE, 103)) >= (CONVERT(DATE, @p_FR_BUY_DATE, 103)) AND (CONVERT(DATE, A.BUY_DATE, 103)) <= (CONVERT(DATE, @p_TO_BUY_DATE, 103))
)))
OR ((A.MAKER_ID_KT IS NOT NULL OR A.MAKER_ID_KT <> '')
AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))))))
OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = ''))
AND (A.REQ_CODE like N'%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
AND (A.[TYPE_ID] = @p_TYPE_ID OR @p_TYPE_ID IS NULL OR @p_TYPE_ID = '')
AND (A.GROUP_ID = @p_GROUP_ID OR @p_GROUP_ID IS NULL OR @p_GROUP_ID = '')
AND (D.GROUP_CODE = @l_GROUP_CODE OR @l_GROUP_CODE IS NULL OR @l_GROUP_CODE = '')
AND (A.ASSET_NAME like N'%' + @p_ASSET_NAME + '%' OR @p_ASSET_NAME IS NULL OR @p_ASSET_NAME = '')
AND (A.ASSET_SERIAL_NO like N'%' + @p_ASSET_SERIAL_NO + '%' OR @p_ASSET_SERIAL_NO IS NULL OR @p_ASSET_SERIAL_NO = '')
AND (A.ASSET_DESC like N'%' + @p_ASSET_DESC + '%' OR @p_ASSET_DESC IS NULL OR @p_ASSET_DESC = '')
AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
AND (A.DEPT_ID = @p_DEPT_ID OR @p_DEPT_ID IS NULL OR @p_DEPT_ID = '')
AND (A.EMP_ID = @p_EMP_ID OR @p_EMP_ID IS NULL OR @p_EMP_ID = '')
AND (A.DIVISION_ID = @p_DIVISION_ID OR @p_DIVISION_ID IS NULL OR @p_DIVISION_ID = '')
AND (A.BUY_PRICE = @p_BUY_PRICE OR @p_BUY_PRICE IS NULL)
AND (A.AMORT_AMT = @p_AMORT_AMT OR @p_AMORT_AMT IS NULL)
AND (A.AMORT_MONTH = @p_AMORT_MONTH OR @p_AMORT_MONTH IS NULL)
AND (A.AMORT_RATE = @p_AMORT_RATE OR @p_AMORT_RATE IS NULL)
AND (A.IS_MULTIPLE = @p_IS_MULTIPLE OR @p_IS_MULTIPLE IS NULL OR @p_IS_MULTIPLE = '')
AND (A.QTY = @p_QTY OR @p_QTY IS NULL OR @p_QTY = 0)
AND (A.PO_ID = @p_PO_ID OR @p_PO_ID IS NULL OR @p_PO_ID = '')
AND ((@p_TYPE = 'ADD_NEW' AND (A.REF_ASSET_ID IS NULL OR A.REF_ASSET_ID = '')) OR (@p_TYPE = 'ADD_REF' AND A.REF_ASSET_ID IS NOT NULL AND A.REF_ASSET_ID <> ''))
AND (A.REF_ASSET_ID = @p_REF_ASSET_ID OR @p_REF_ASSET_ID IS NULL OR @p_REF_ASSET_ID='')
AND (A.REF_AMORTIZED_AMT = @p_REF_AMORTIZED_AMT OR @p_REF_AMORTIZED_AMT IS NULL)
AND (A.WARRANTY_MONTHS = @p_WARRANTY_MONTHS OR @p_WARRANTY_MONTHS IS NULL OR @p_WARRANTY_MONTHS = 0)
AND (A.NOTES like N'%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '')
AND (A.RECORD_STATUS = @p_RECORD_STATUS OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
AND (A.AUTH_STATUS = @p_AUTH_STATUS OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
AND (A.POSTED_STATUS = @p_POSTED_STATUS OR @p_POSTED_STATUS IS NULL OR @p_POSTED_STATUS = '')
--AND (A.BRANCH_CREATE = @p_BRANCH_CREATE OR @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = '')
AND (A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '')
AND ((A.MAKER_ID_KT IS NOT NULL AND @p_KT_IS_DO = 'Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
OR ((A.MAKER_ID_KT IS NULL AND @p_KT_IS_DO = 'N'))
OR @p_KT_IS_DO IS NULL OR @p_KT_IS_DO = '')
AND ((ISNULL(A.QTY,0) * ISNULL(A.BUY_PRICE,0)) >= @p_PRICE_FROM OR @p_PRICE_FROM = 0 OR @p_PRICE_FROM IS NULL)
AND ((ISNULL(A.QTY,0) * ISNULL(A.BUY_PRICE,0)) <= @p_PRICE_TO OR @p_PRICE_TO = 0 OR @p_PRICE_TO IS NULL)
-- 26-02-2020 LUCTV BO SUNG DIEU KIEN TIM KIEM PHIEU NHAP KHO THEO NGUOI TAO PHIEU : THEO YEU CAU BO SUNG CHINH SUA CUA VCCB
AND (A.MAKER_ID = @p_MAKER_ID OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
-- NEW TRANG THAI PHIEU XUAT LA LUU NHAP HOAC TU CHOI THI CHI NGUOI TAO CO THE TIM THAY
AND ((A.AUTH_STATUS IN ('E','R') AND A.MAKER_ID = @p_USER_LOGIN) OR A.AUTH_STATUS NOT IN ('E','R') OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = '')
-- 11-03-2022 HUYHT BO SUNG DIEU KIEN TIM KIEM PHIEU NHAP THEO QUYEN KIEM NHIEM
AND ((@p_TYPE_SEARCH='HC'
-- AND (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV',A.BRANCH_CREATE,A.DEPT_CREATE) US
-- WHERE US.TLNANME = @p_USER_LOGIN))
AND (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV,GDDV_QLTS,TBP_QLTS,KSV_QLTS','DV0001','DEP000000000048') US
WHERE US.TLNANME = @p_USER_LOGIN))
OR A.MAKER_ID = @p_USER_LOGIN)
OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'ALL' AND A.BRANCH_CREATE IN (SELECT BRANCH_ID from @tmp))
OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'UNIT' AND A.BRANCH_CREATE = @p_BRANCH_CREATE)
OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH ='')
ORDER BY A.CREATE_DT DESC
-- PAGING END
ELSE
-- PAGING BEGIN
SELECT TOP (CONVERT(INT, @p_TOP))
A.ADDNEW_ID,
A.BUY_DATE,
A.[TYPE_ID],
C.[TYPE_NAME],
A.GROUP_ID,
D.GROUP_CODE,
D.GROUP_NAME,
A.ASSET_NAME,
A.ASSET_SERIAL_NO,
A.ASSET_DESC,
A.BRANCH_ID,
A.AMORT_START_DATE,
A.DEPT_ID,
H.DEP_CODE,
H.DEP_NAME,
A.EMP_ID,
G.EMP_CODE,
G.EMP_NAME,
A.DIVISION_ID,
CASE
WHEN A.TYPE_ID = 'TSCD' THEN ISNULL(A.BUY_PRICE,0) + ISNULL(A.PRICE_VAT,0)
WHEN A.TYPE_ID = 'CCLD' THEN ISNULL(A.BUY_PRICE,0)
-- ELSE
END AS BUY_PRICE,
CASE
WHEN A.TYPE_ID = 'TSCD' THEN ISNULL(A.BUY_PRICE,0) + ISNULL(A.PRICE_VAT,0)
WHEN A.TYPE_ID = 'CCLD' THEN ISNULL(A.BUY_PRICE,0)
-- ELSE
END AS AMORT_AMT,
-- ISNULL(A.BUY_PRICE,0) + ISNULL(A.PRICE_VAT,0) AS BUY_PRICE,
-- ISNULL(A.BUY_PRICE,0) + ISNULL(A.PRICE_VAT,0) AS AMORT_AMT,
A.AMORT_MONTH,
A.AMORT_RATE,
A.IS_MULTIPLE,
A.QTY,
A.PO_ID,
PO.PO_CODE,
A.REF_ASSET_ID,
I.ASSET_CODE AS REF_ASS_CODE,
I.ASSET_NAME AS REF_ASS_NAME,
A.REF_AMORTIZED_AMT,
A.WARRANTY_MONTHS,
A.NOTES,
A.CORE_NOTE,
A.RECORD_STATUS,
A.AUTH_STATUS,
B.CONTENT AS AUTH_STATUS_NAME,AKT.CONTENT AS AUTH_STATUS_NAME_KT,
A.MAKER_ID,
UM.TLFullName MAKER_NAME,
A.CREATE_DT,--CONVERT(VARCHAR(10), A.CREATE_DT, 103) AS S_CREATE_DT
A.CHECKER_ID,
A.APPROVE_DT, A.ENTRY_BOOKED,A.CONSTRUCT_ID,A.POSTED_STATUS, A.BRANCH_CREATE,A.MAKER_ID_KT, A.CREATE_DT_KT,A.CHECKER_ID_KT,A.APPROVE_DT_KT,A.AUTH_STATUS_KT,
E.BRANCH_CODE, F.DIV_CODE, E.BRANCH_NAME, (ISNULL(E.BRANCH_NAME,'') + ' '+ ISNULL(H.DEP_NAME,'')) AS RECEIVE_BRANCH ,
CREBRN.BRANCH_CODE AS R_BRANCH_CODE, CREBRN.BRANCH_NAME AS R_BRANCH_NAME, A.AMORT_END_DATE, A.ACCOUNT_GL, A.VAT, A.PRICE_VAT, (ISNULL(A.QTY,0) * ((ISNULL(A.BUY_PRICE,0)) + ISNULL(A.PRICE_VAT,0))) AS TOTAL_AMT
--, G.SUP_CODE, G.SUP_NAME
,AP.ASSPO_ID AS ASS_PO_ID, AP.ADDNEW_ID AS ASS_PO_ADDNEWID, AP.PO_CODE AS ASS_PO_CODE, AP.INVOICE_NO AS AS_INVOICE_NO, AP.INVOICE_DATE AS ASS_INVOICE_DT,CREBRN.BRANCH_CODE+' - '+ CREBRN.BRANCH_NAME AS FULL_BRANCH_NAME
,D.GROUP_CODE +' - '+ D.GROUP_NAME GROUP_NAME_FULL,
UM2.TLFullName AS CREATE_USER_NAME, UM3.TLFullName AS APPROVE_NAME_KT, UM4.TLFullName AS CREATE_USER_NAME_KT,
@p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH,
A.REQ_ID,
A.REQ_CODE--- TRA VE THAM SO GAN VO CURRENT SEARCH TRANH GAY LOI O CAC MAN HINH
-- SELECT END
FROM ASS_ADDNEW A
--LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS = B.AUTH_STATUS
LEFT JOIN dbo.CM_ALLCODE B ON B.CDVAL = A.AUTH_STATUS AND B.CDNAME = 'ASS_ADD_AUTH' AND B.CDTYPE = 'ASS_ADDNEW'
LEFT JOIN ASS_TYPE C ON A.[TYPE_ID] = C.[TYPE_ID]
LEFT JOIN ASS_GROUP D ON A.GROUP_ID = D.GROUP_ID
LEFT JOIN TL_USER UM ON UM.TLNANME = A.CHECKER_ID
LEFT JOIN TL_USER UM2 ON UM2.TLNANME = A.MAKER_ID
LEFT JOIN TL_USER UM3 ON UM2.TLNANME = A.CHECKER_ID_KT
LEFT JOIN TL_USER UM4 ON UM4.TLNANME = A.MAKER_ID_KT
LEFT JOIN TR_PO_MASTER PO ON PO.PO_ID = A.PO_ID
LEFT JOIN CM_BRANCH E ON E.BRANCH_ID = A.BRANCH_ID
LEFT JOIN CM_DIVISION F ON F.DIV_ID = A.DIVISION_ID
LEFT JOIN CM_EMPLOYEE G ON G.EMP_ID = A.EMP_ID
LEFT JOIN CM_DEPARTMENT H ON H.DEP_ID = A.DEPT_ID
LEFT JOIN ASS_MASTER I ON I.ASSET_ID = A.REF_ASSET_ID
--LEFT JOIN CM_AUTH_STATUS AKT ON AKT.AUTH_STATUS = A.AUTH_STATUS_KT
LEFT JOIN dbo.CM_ALLCODE AKT ON AKT.CDVAL = A.AUTH_STATUS_KT AND AKT.CDNAME = 'ASS_ADD_AUTH' AND AKT.CDTYPE = 'ASS_ADDNEW'
LEFT JOIN CM_BRANCH CREBRN ON CREBRN.BRANCH_ID = A.BRANCH_CREATE
LEFT JOIN ASS_PO AP ON A.ADDNEW_ID = AP.ADDNEW_ID
WHERE (A.ADDNEW_ID = @p_ADDNEW_ID OR @p_ADDNEW_ID IS NULL OR @p_ADDNEW_ID = '')
-- -- TIM KIEM TU NGAY DEN NGAY O HC
-- AND ((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.BUY_DATE,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
-- OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
-- AND ((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.BUY_DATE,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = ''))
-- OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
-- TIM KIEM TU NGAY DEN NGAY O HC
AND ((@p_TYPE_SEARCH = 'HC' AND (@p_FR_BUY_DATE IS NULL AND @p_FR_BUY_DATE IS NULL OR
@p_TO_BUY_DATE IS NULL AND (CONVERT(DATE, A.BUY_DATE, 103)) >= (CONVERT(DATE, @p_FR_BUY_DATE, 103))
OR @p_FR_BUY_DATE IS NULL AND (CONVERT(DATE, A.BUY_DATE, 103)) <= (CONVERT(DATE, @p_TO_BUY_DATE, 103))
OR (CONVERT(DATE, A.BUY_DATE, 103)) >= (CONVERT(DATE, @p_FR_BUY_DATE, 103)) AND (CONVERT(DATE, A.BUY_DATE, 103)) <= (CONVERT(DATE, @p_TO_BUY_DATE, 103))
)
OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = ''))
-- -- TIM KIEM TU NGAY O KT
-- AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
-- AND (CONVERT(DATE,A.APPROVE_DT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
-- OR ((A.MAKER_ID_KT IS NOT NULL OR A.MAKER_ID_KT <> '')
-- AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
-- OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
-- OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
-- OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
-- OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))))))
-- OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
-- -- TIM KIEM DEN NGAY O KT
-- AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
-- AND (CONVERT(DATE,A.APPROVE_DT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = ''))
-- OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '')
-- AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = ''))
-- OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = ''))
-- OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = ''))
-- OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = ''))
-- OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = ''))))))
-- OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
-- TIM KIEM TU NGAY O KT
AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
AND (((@p_FR_BUY_DATE IS NULL AND @p_FR_BUY_DATE IS NULL OR
@p_TO_BUY_DATE IS NULL AND (CONVERT(DATE, A.BUY_DATE, 103)) >= (CONVERT(DATE, @p_FR_BUY_DATE, 103))
OR @p_FR_BUY_DATE IS NULL AND (CONVERT(DATE, A.BUY_DATE, 103)) <= (CONVERT(DATE, @p_TO_BUY_DATE, 103))
OR (CONVERT(DATE, A.BUY_DATE, 103)) >= (CONVERT(DATE, @p_FR_BUY_DATE, 103)) AND (CONVERT(DATE, A.BUY_DATE, 103)) <= (CONVERT(DATE, @p_TO_BUY_DATE, 103))
)))
OR ((A.MAKER_ID_KT IS NOT NULL OR A.MAKER_ID_KT <> '')
AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))))))
OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = ''))
AND (A.REQ_CODE like N'%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
AND (A.[TYPE_ID] = @p_TYPE_ID OR @p_TYPE_ID IS NULL OR @p_TYPE_ID = '')
AND (A.GROUP_ID = @p_GROUP_ID OR @p_GROUP_ID IS NULL OR @p_GROUP_ID = '')
AND (D.GROUP_CODE = @l_GROUP_CODE OR @l_GROUP_CODE IS NULL OR @l_GROUP_CODE = '')
AND (A.ASSET_NAME like N'%' + @p_ASSET_NAME + '%' OR @p_ASSET_NAME IS NULL OR @p_ASSET_NAME = '')
AND (A.ASSET_SERIAL_NO like N'%' + @p_ASSET_SERIAL_NO + '%' OR @p_ASSET_SERIAL_NO IS NULL OR @p_ASSET_SERIAL_NO = '')
AND (A.ASSET_DESC like N'%' + @p_ASSET_DESC + '%' OR @p_ASSET_DESC IS NULL OR @p_ASSET_DESC = '')
AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
AND (A.BUY_PRICE = @p_BUY_PRICE OR @p_BUY_PRICE IS NULL)
AND (A.AMORT_AMT = @p_AMORT_AMT OR @p_AMORT_AMT IS NULL)
AND (A.AMORT_MONTH = @p_AMORT_MONTH OR @p_AMORT_MONTH IS NULL)
AND (A.AMORT_RATE = @p_AMORT_RATE OR @p_AMORT_RATE IS NULL)
AND (A.IS_MULTIPLE = @p_IS_MULTIPLE OR @p_IS_MULTIPLE IS NULL OR @p_IS_MULTIPLE = '')
AND (A.QTY = @p_QTY OR @p_QTY IS NULL OR @p_QTY = 0)
AND (A.PO_ID = @p_PO_ID OR @p_PO_ID IS NULL OR @p_PO_ID = '')
AND ((@p_TYPE = 'ADD_NEW' AND (A.REF_ASSET_ID IS NULL OR A.REF_ASSET_ID = '')) OR (@p_TYPE = 'ADD_REF' AND A.REF_ASSET_ID IS NOT NULL AND A.REF_ASSET_ID <> ''))
AND (A.REF_ASSET_ID = @p_REF_ASSET_ID OR @p_REF_ASSET_ID IS NULL OR @p_REF_ASSET_ID='')
AND (A.REF_AMORTIZED_AMT = @p_REF_AMORTIZED_AMT OR @p_REF_AMORTIZED_AMT IS NULL)
AND (A.WARRANTY_MONTHS = @p_WARRANTY_MONTHS OR @p_WARRANTY_MONTHS IS NULL OR @p_WARRANTY_MONTHS = 0)
AND (A.NOTES like N'%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '')
AND (A.RECORD_STATUS = @p_RECORD_STATUS OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
AND (A.AUTH_STATUS = @p_AUTH_STATUS OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
AND (A.POSTED_STATUS = @p_POSTED_STATUS OR @p_POSTED_STATUS IS NULL OR @p_POSTED_STATUS = '')
--AND (A.BRANCH_CREATE = @p_BRANCH_CREATE OR @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = '')
AND (A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '')
AND ((A.MAKER_ID_KT IS NOT NULL AND @p_KT_IS_DO = 'Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
OR ((A.MAKER_ID_KT IS NULL AND @p_KT_IS_DO = 'N'))
OR @p_KT_IS_DO IS NULL OR @p_KT_IS_DO = '')
AND ((ISNULL(A.QTY,0) * ISNULL(A.BUY_PRICE,0)) >= @p_PRICE_FROM OR @p_PRICE_FROM = 0 OR @p_PRICE_FROM IS NULL)
AND ((ISNULL(A.QTY,0) * ISNULL(A.BUY_PRICE,0)) <= @p_PRICE_TO OR @p_PRICE_TO = 0 OR @p_PRICE_TO IS NULL)
-- 26-02-2020 LUCTV BO SUNG DIEU KIEN TIM KIEM PHIEU NHAP KHO THEO NGUOI TAO PHIEU : THEO YEU CAU BO SUNG CHINH SUA CUA VCCB
AND (A.MAKER_ID = @p_MAKER_ID OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
-- NEW TRANG THAI PHIEU XUAT LA LUU NHAP HOAC TU CHOI THI CHI NGUOI TAO CO THE TIM THAY
AND ((A.AUTH_STATUS IN ('E','R') AND A.MAKER_ID = @p_USER_LOGIN) OR A.AUTH_STATUS NOT IN ('E','R') OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = '')
-- 11-03-2022 HUYHT BO SUNG DIEU KIEN TIM KIEM PHIEU NHAP THEO QUYEN KIEM NHIEM
AND ((@p_TYPE_SEARCH='HC'
AND (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV,GDDV_QLTS,TBP_QLTS,KSV_QLTS','DV0001','DEP000000000048') US
WHERE US.TLNANME = @p_USER_LOGIN))
OR A.MAKER_ID = @p_USER_LOGIN)
OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'ALL' AND A.BRANCH_CREATE IN (SELECT BRANCH_ID from @tmp))
OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'UNIT' AND A.BRANCH_CREATE = @p_BRANCH_CREATE)
OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH ='')
ORDER BY A.CREATE_DT DESC
-- PAGING END
END -- PAGING
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[ASS_ADDNEW_KT_BVB_Appr]'
GO
ALTER PROCEDURE [dbo].[ASS_ADDNEW_KT_BVB_Appr]
@p_ADDNEW_ID VARCHAR(15) = NULL,
@p_CHECKER_ID varchar(100) = NULL,
@p_APPROVE_DT VARCHAR(20) = NULL
AS
DECLARE @l_SUP_ID varchar(15)
DECLARE @l_BUY_DATE datetime = NULL
DECLARE @l_TYPE_ID varchar(15) = NULL
DECLARE @l_GROUP_ID varchar(15) = NULL
DECLARE @l_ASSET_NAME nvarchar(1000) = NULL
DECLARE @l_ASSET_SERIAL_NO nvarchar(max) = NULL
DECLARE @l_ASSET_DESC nvarchar(max) = NULL
DECLARE @l_BRANCH_ID varchar(15) = NULL
DECLARE @l_DEPT_ID varchar(15) = NULL
DECLARE @l_EMP_ID varchar(15) = NULL
DECLARE @l_DIVISION_ID varchar(15) = NULL
DECLARE @l_BUY_PRICE decimal(18) = NULL
DECLARE @l_AMORT_AMT decimal(18) = NULL
DECLARE @l_AMORT_MONTH decimal(18,2) = NULL
DECLARE @l_AMORT_RATE decimal(18,2) = NULL
DECLARE @l_IS_MULTIPLE varchar(1) = NULL
DECLARE @l_QTY int = NULL
DECLARE @l_PO_ID varchar(15) = NULL
DECLARE @l_PD_ID varchar(15) = NULL
DECLARE @l_REF_ASSET_ID varchar(15) = NULL
DECLARE @l_REF_AMORTIZED_AMT decimal(18) = NULL
DECLARE @l_WARRANTY_MONTHS int = NULL
DECLARE @l_NOTES nvarchar(1000) = NULL
DECLARE @l_CORE_NOTE nvarchar(500) = NULL
declare @l_ENTRY_BOOKED varchar(1) = null
DECLARE @l_MAKER_ID varchar(15)
DECLARE @l_AUTH_STATUS_KT varchar(1)
declare @l_DO_BRANCH_ID varchar(15)
DECLARE @l_CONSTRUCT_ID varchar(15) = NULL
DECLARE @l_USE_DATE_KT DATETIME = NULL
DECLARE @l_AMORTIZED_AMT DECIMAL = 0
DECLARE @l_AMORTIZED_MONTH DECIMAL = 0
DECLARE @l_AMORT_STATUS nvarchar(20)
DECLARE @l_AMORT_START_DATE datetime, @l_AMORT_END_DATE datetime
DECLARE @l_FIRST_AMORT_AMT numeric(18,0)
DECLARE @l_MONTHLY_AMT numeric(18,0)
DECLARE @l_HO_BRN_ID varchar(15)
DECLARE @l_WAH_ID varchar(15)
DECLARE @sToday varchar(10) = convert(varchar(10), getdate(), 103)
DECLARE @l_USE_DATE varchar(15)
DECLARE @l_AMORTDT_ID VARCHAR(15) = NULL
DECLARE @l_ASS_TYPE varchar(1) = '1'
declare @l_TRN_REF_NO varchar(20)
DECLARE @l_ET_ID varchar(15)
DECLARE @l_VALUE_ID varchar(15)
DECLARE @l_ASSET_ID varchar(15)
DECLARE @l_ASSET_CODE nvarchar(100)
DECLARE @l_WAHDT_ID varchar(15)
DECLARE @l_LOCHIST_ID varchar(15)
DECLARE @PRICE_NONE_VAT DECIMAL(18,0)
DECLARE @PRICE_VAT DECIMAL(18,0)
DECLARE @l_SUPPEND_GL varchar(50)
DECLARE @l_ASSET_GL varchar(50)
declare @l_ASSET_VALUE decimal(18,0)
DECLARE @l_EXP_ACCTNO varchar(50)--TK CHI PHI
DECLARE @l_AMORT_ACCTNO varchar(50)--TK CHO PHAN BO
DECLARE @l_PAY_HS_ACCTNO VARCHAR(50)
DECLARE @_BUY_TS_ACCTNO VARCHAR(50)
DECLARE @l_WAIT_AMORT VARCHAR(50)
DECLARE @l_TRANFER_ACCTNO VARCHAR(50)
DECLARE @l_DR_BRANCH VARCHAR(15) -- DV GHI NO
DECLARE @ERRORSYS NVARCHAR(15) = ''
DECLARE @ACCOUNT_GL VARCHAR(50), @ACCOUNT_VAT VARCHAR(50)
DECLARE @i INT, @l_USE_DATE_CUR DATETIME = NULL
DECLARE @l_CURR_AMORT_AMT DECIMAL(18,0) = 0
DECLARE @sExecDT DATETIME
DECLARE @l_AMORT_TERM VARCHAR(500), @l_AMORT_DESC VARCHAR(500)
DECLARE @l_OLD_QT INT, @l_CUR_QT INT -- 26/12/2014 THIEUVQ
DECLARE @l_IS_AMORT_WR VARCHAR(1) = '1' --THIEUVQ 27/07/2015 THEM DIEU KIEN KIEM TRA KHI NAO GHI NHAN KHAU HAO
DECLARE @l_BRANCH_CREATE VARCHAR(15), @BRN_TYPE_TRN VARCHAR(15), @BRN_TYPE_REC VARCHAR(15), @TCCT_TRN_ACCTNO VARCHAR(50), @TCCT_REC_ACCTNO VARCHAR(50)
DECLARE @l_VAT DECIMAL(18,0), @ERROR NVARCHAR(500) = ''
DECLARE @l_COST_MASTER_ID VARCHAR(15)
DECLARE @l_COSTDT_ID VARCHAR(15)
DECLARE @CUR_DATE DATETIME = GETDATE()
-- khiemchg bo sung thong tin pyc
DECLARE @REQ_ID VARCHAR(15)
DECLARE @REQ_CODE VARCHAR(50)
DECLARE @ASS_CONTRACT_CODE VARCHAR(50)
DECLARE @PL_CODE VARCHAR(50)
--check ngày khấu hao null
IF (EXISTS(SELECT 1 FROM ASS_ADDNEW WHERE ADDNEW_ID =@p_ADDNEW_ID AND BRANCH_ID IS NOT NULL AND AMORT_START_DATE IS NULL))
BEGIN
SELECT '-1' AS Result, '' ADDNEW_ID, N'Thông tin ngày bắt đầu phân bổ không hợp lệ' ErrorDesc
RETURN '-1'
END
--lay thong tin giao dich
SELECT @l_BUY_DATE = BUY_DATE, @l_TYPE_ID = A.[TYPE_ID], @l_GROUP_ID = A.GROUP_ID, @l_ASSET_NAME = ASSET_NAME,
@l_ASSET_SERIAL_NO = ASSET_SERIAL_NO, @l_ASSET_DESC = ASSET_DESC, @l_CONSTRUCT_ID = CONSTRUCT_ID,
@l_BRANCH_ID = BRANCH_ID, @l_DEPT_ID = DEPT_ID, @l_EMP_ID = EMP_ID, @l_DIVISION_ID = DIVISION_ID,
@l_BUY_PRICE = BUY_PRICE, @l_AMORT_AMT = AMORT_AMT, @l_AMORT_START_DATE = AMORT_START_DATE,
@l_AMORT_MONTH = A.AMORT_MONTH,
--@l_AMORT_MONTH = CASE WHEN G.AMORT_MONTH<>0 THEN G.AMORT_MONTH ELSE A.AMORT_MONTH END,
@l_AMORT_RATE = A.AMORT_RATE, @l_CORE_NOTE = A.CORE_NOTE,
@l_IS_MULTIPLE = IS_MULTIPLE, @l_QTY = QTY, @l_PO_ID = PO_ID,@l_PD_ID=PD_ID, @l_REF_ASSET_ID = REF_ASSET_ID,
@l_REF_AMORTIZED_AMT = REF_AMORTIZED_AMT, @l_WARRANTY_MONTHS = WARRANTY_MONTHS, @l_NOTES = A.NOTES, @l_ENTRY_BOOKED = ENTRY_BOOKED,
@l_MAKER_ID = A.MAKER_ID_KT, @l_AUTH_STATUS_KT = A.AUTH_STATUS_KT, @ACCOUNT_GL = A.ACCOUNT_GL, @PRICE_VAT = A.PRICE_VAT,@l_BRANCH_CREATE= A.BRANCH_CREATE, @l_VAT = A.VAT
,@REQ_CODE = A.REQ_CODE, @REQ_ID = A.REQ_ID, @ASS_CONTRACT_CODE = A.CONTRACT_ID, @PL_CODE = A.PL_CODE
FROM ASS_ADDNEW A
INNER JOIN ASS_GROUP G on G.GROUP_ID = A.GROUP_ID
WHERE ADDNEW_ID = @p_ADDNEW_ID
IF @@Error <> 0 GOTO ABORT
------LUCTV: 21-12-2018KIEM TRA NEU TINH TRANG DANG LA 'R' THI KHONG CHO PHEP DUYET-----
IF(EXISTS(SELECT * FROM ASS_ADDNEW WHERE AUTH_STATUS_KT ='R' AND ADDNEW_ID =@p_ADDNEW_ID))
BEGIN
--ROLLBACK TRANSACTION
SELECT '-1' as Result, '' ADDNEW_ID, N'Thông tin nhập mới tài sản đang bị trả về. Vui lòng cập nhật lại thông tin trước khi duyệt' ErrorDesc
RETURN '-1'
END
IF(EXISTS(SELECT * FROM ASS_ADDNEW WHERE AUTH_STATUS_KT ='A' AND ADDNEW_ID =@p_ADDNEW_ID))
BEGIN
--ROLLBACK TRANSACTION
SELECT '-1' as Result, '' ADDNEW_ID, N'Phiếu nhập mới đã được duyệt.' ErrorDesc
RETURN '-1'
END
------LUCTV: 21-12-2021 KIEM TRA NEU GDV CHUA CAP NHAT PHIEU THI KHONG CHO PHEP DUYET-----
IF((SELECT MAKER_ID_KT FROM ASS_ADDNEW WHERE ADDNEW_ID =@p_ADDNEW_ID) IS NULL)
BEGIN
--ROLLBACK TRANSACTION
SELECT '-1' as Result, '' ADDNEW_ID, N'Thông tin nhập mới tài sản đang bị trả về. Vui lòng cập nhật lại thông tin trước khi duyệt' ErrorDesc
RETURN '-1'
END
/*******DIEN GIAI PHAN BO CHI PHI ***********/
SET @l_AMORT_DESC = 'PHAN BO CHI PHI CCLD KY ' + convert(varchar(10),month(getdate())) + ' ' + convert(varchar(10),year(getdate()))
/********** chekc vadilation ************/
IF (@l_AUTH_STATUS_KT = 'A')
SET @ERRORSYS = 'ASS-99998'
/*********** Kiem tra gia tri khau hao voi gia tri 30Tr **************/
SELECT @l_ASSET_VALUE = CONVERT(decimal(18,0), ParaValue) FROM SYS_PARAMETERS WHERE ParaKey = 'ASSET_VALUE'
IF (@l_TYPE_ID = 'CCLD' AND @l_AMORT_AMT > @l_ASSET_VALUE)
SET @ERRORSYS = 'ASS-00011'
--IF @l_AMORT_MONTH < 1 AND @l_AMORT_MONTH IS NOT NULL AND @l_AMORT_MONTH <> ''
--BEGIN
-- SET @ERRORSYS = 'ASS-00020'
--END
--IF (@l_ASS_TYPE = 'TSCD' AND @l_AMORT_AMT < @l_ASSET_VALUE)
-- SET @ERRORSYS = 'ASS-00012'
/************ Xuat tai san thi phai hach toan tang tai sai ****************/
--IF (@l_ENTRY_BOOKED = 'N' AND (@l_BRANCH_ID IS NOT NULL OR @l_BRANCH_ID <>''))
-- SET @ERRORSYS = 'ASS-00013'
/*************** Doi voi CCLD phai khau hao het trong nam tai chinh ***********/
--Tinh ngay ket thuc khau hao
SET @l_AMORT_END_DATE = DATEADD(MONTH, @l_AMORT_MONTH, @l_AMORT_START_DATE) - 1
IF @ERRORSYS <> ''
BEGIN
SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
RETURN '0'
END
--Lay thong tin nha cung cap
SELECT @l_SUP_ID = SUP_ID FROM TR_PO_MASTER A WHERE A.PO_ID = @l_PO_ID
--BRN_ID HOI SO
SELECT @l_HO_BRN_ID = BRANCH_ID FROM CM_BRANCH A WHERE A.BRANCH_TYPE = 'HS'
--Lay thong tin kho mac dinh
--SELECT @l_WAH_ID = P.ParaValue FROM SYS_PARAMETERS P WHERE P.ParaKey='ASSET_WAREHOUSE'
SET @l_WAH_ID = @l_BRANCH_CREATE
--Lay suppend GL - THIEUVQ 26092016 - GHI NHAN THEO TAI KHOAN NHAP TU PHAN MEM
--SET @l_SUPPEND_GL = UPPER(@ACCOUNT_GL) + 'XXXX'
--SELECT @l_SUPPEND_GL = A.ParaValue FROM SYS_PARAMETERS A WHERE A.ParaKey='ASSET_SUPPEND_GL'
--SELECT * FROM SYS_PARAMETERS A WHERE A.ParaKey='ASSET_SUPPEND_GL'
----THIEUVQ - 30/05/2014 DOI VOI CCLD THI GHI NHAN TAI DON VI
--SET @l_SUPPEND_GL = SUBSTRING(@l_SUPPEND_GL,1,LEN(@l_SUPPEND_GL) - 4) + 'XXXX'
--TAI KHOAN HACH TOAN VAT
SET @ACCOUNT_VAT = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='ACC_VAT')
--- TAI KHOAN PHAI TRA HS
--NẾU XSD THÌ TĂNG TÀI SẢN
IF(@l_TYPE_ID='TSCD')
BEGIN
IF(@l_BRANCH_ID IS NOT NULL OR @l_BRANCH_ID <> '')
BEGIN
SET @l_ENTRY_BOOKED = 'Y'
END
ELSE IF(@l_BRANCH_ID IS NULL OR @l_BRANCH_ID = '')
BEGIN
SET @l_ENTRY_BOOKED = 'N'
END
SET @l_BUY_PRICE = @l_BUY_PRICE + @PRICE_VAT
SET @l_AMORT_AMT = @l_BUY_PRICE
END
SET @l_TRANFER_ACCTNO =(SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='TRANSFER')
SET @l_PAY_HS_ACCTNO = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='PAY_HS')
SET @_BUY_TS_ACCTNO = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='BUY_TSCD' AND epa.GROUP_ID=(SELECT AG.PARENT_ID FROM ASS_GROUP AG WHERE AG.GROUP_ID = (SELECT AG.PARENT_ID FROM ASS_GROUP AG WHERE AG.GROUP_ID = @l_GROUP_ID)))
SET @l_WAIT_AMORT = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='AMORT_CCLD')
--ASSET_GL
SELECT @l_ASSET_GL = ASSET_ACCTNO,
@l_EXP_ACCTNO = EXP_ACCTNO,
@l_AMORT_ACCTNO = AMORT_ACCTNO
FROM ASS_GROUP A
WHERE A.GROUP_ID = @l_GROUP_ID
--Lay branch_id cua user duyet
select @l_DO_BRANCH_ID = a.TLSUBBRID from TL_USER a where a.TLNANME = @p_CHECKER_ID
--Trang thai khau hao
IF (@l_BRANCH_ID IS NULL OR @l_BRANCH_ID = '') --Chua xuat su dung
BEGIN
SET @l_AMORT_STATUS = 'VNM'
SET @l_AMORT_START_DATE = NULL
SET @l_AMORT_END_DATE = NULL
SET @l_MONTHLY_AMT = NULL
SET @l_FIRST_AMORT_AMT = NULL
SET @l_USE_DATE = NULL
END
ELSE
IF @l_AMORT_MONTH = 0 OR @l_AMORT_START_DATE IS NULL OR @l_AMORT_START_DATE = ''
BEGIN
SET @l_AMORT_STATUS = 'KKH'
SET @l_AMORT_START_DATE = NULL
SET @l_AMORT_END_DATE = NULL
SET @l_MONTHLY_AMT = 0
SET @l_FIRST_AMORT_AMT = 0
SET @l_USE_DATE = @sToday
SET @l_USE_DATE_KT = CONVERT(DATETIME, @sToday, 103)
END
ELSE
BEGIN
SET @l_AMORT_STATUS = 'CKH'
SET @l_USE_DATE = @sToday
SET @l_USE_DATE_KT = CONVERT(DATETIME, @sToday, 103)
--Ngay bat dau khau hao mac dinh la ngay hien tai
IF(@l_AMORT_START_DATE IS NULL) ---THIEUVQ MOI THEM
BEGIN
SET @l_AMORT_START_DATE = GETDATE()
END
--Tinh so tien khau hao thang dau tien va so tien khau hao hang thang
SET @l_MONTHLY_AMT = ROUND(@l_AMORT_AMT / @l_AMORT_MONTH, 0)
--SET @l_FIRST_AMORT_AMT = @l_MONTHLY_AMT
-- IF(@l_TYPE_ID='TSCD')
--BEGIN
DECLARE @AMORT_ON_DAY DECIMAL(18,0)
SET @AMORT_ON_DAY = ROUND(@l_MONTHLY_AMT/dbo.[FN_GetDaysInMonth](@l_AMORT_START_DATE),0)
SET @l_FIRST_AMORT_AMT = ROUND(@AMORT_ON_DAY * (DATEDIFF(day,@l_AMORT_START_DATE, dbo.FN_GetLastDayOfMonth(@l_AMORT_START_DATE)) + 1), 0)
--END
IF(DAY(@l_AMORT_START_DATE)=1)
SET @l_FIRST_AMORT_AMT=@l_MONTHLY_AMT
-- ELSE
-- SET @l_FIRST_AMORT_AMT = @l_MONTHLY_AMT
END
DECLARE @ASSID_TEMP TABLE([ID] [int] IDENTITY(1,1) NOT NULL, ASSET_ID VARCHAR(15))
--INSERT INTO @ASSID_TEMP SELECT A FROM ASS_MASTER AA WHERE AA.ADD = @p_ADDNEW_ID
INSERT INTO @ASSID_TEMP SELECT AT.ASSET_ID FROM ASS_TRANSACTIONS AT WHERE AT.TRN_ID = @p_ADDNEW_ID AND AT.TRN_TYPE ='ADD_NEW'
BEGIN TRANSACTION
--UPDATE GIAO DICH ADDNEW
--IF(@l_IS_MULTIPLE = '1')
BEGIN--Phân lại seri nếu thêm vào lúc kế toán
DECLARE @l_LSTSERI TABLE (
[ID] [int] IDENTITY(1,1) NOT NULL,
[VALUE] [NVARCHAR](MAX) NULL)
DECLARE @l_SERI VARCHAR(MAX) = NULL
INSERT INTO @l_LSTSERI SELECT VALUE FROM WSISPLIT(@l_ASSET_SERIAL_NO,',') --Phân lại seri nếu thêm vào lúc kế toán
END
UPDATE ASS_ADDNEW
SET AUTH_STATUS_KT = 'A',
CHECKER_ID_KT = @p_CHECKER_ID,
APPROVE_DT_KT = CONVERT(DATETIME, @p_APPROVE_DT, 103) ,
POSTED_STATUS = 'Y'
WHERE ADDNEW_ID = @p_ADDNEW_ID
IF @@Error <> 0 GOTO ABORT
DECLARE @l_TRN_NO VARCHAR(15)
EXEC ENTRIES_POST_GEN_NO @p_BRANCH_ID = @l_BRANCH_CREATE
,@p_TRN_DATE = @p_APPROVE_DT
,@p_KeyGen = @l_TRN_NO OUT
--IF (@l_IS_MULTIPLE = '0') --nhap tai san don le
DECLARE @int INT = 1
WHILE (@int <= (SELECT COUNT(*) FROM @ASSID_TEMP))
BEGIN
SET @l_ASSET_ID = (SELECT ASSET_ID FROM @ASSID_TEMP WHERE ID = @int)
SET @l_SERI = (SELECT VALUE FROM @l_LSTSERI WHERE ID = @int)
--Phat sinh ma tai san
EXEC ASS_CODE_Gen_VB @l_ASSET_CODE OUT
IF @l_ASSET_CODE = '' OR @l_ASSET_CODE IS NULL GOTO ABORT
--Insert bang ASS_MASTER
UPDATE ASS_MASTER SET
[TYPE_ID] = @l_TYPE_ID,
[GROUP_ID] = @l_GROUP_ID,
[ASSET_CODE] = @l_ASSET_CODE,
[ASSET_NAME] = @l_ASSET_NAME,
[ASSET_SERIAL_NO] = @l_SERI,
[ASSET_DESC] = @l_ASSET_DESC,
[SUP_ID] = @l_SUP_ID,
[BUY_PRICE] = @l_BUY_PRICE,
[AMORT_AMT] = @l_AMORT_AMT,
[ASS_TYPE] = @l_ASS_TYPE,
-- [BRANCH_ID] = @l_BRANCH_ID,
-- [DEPT_ID] = @l_DEPT_ID,
-- [EMP_ID] = @l_EMP_ID,
-- [DIVISION_ID] = @l_DIVISION_ID,
[BUY_DATE] = CONVERT(DATETIME, @l_BUY_DATE, 103),
[USE_DATE] = CONVERT(DATETIME, @l_USE_DATE, 103),
[SPECIAL_ASS] = '0',
[AMORT_MONTH] = @l_AMORT_MONTH,
[AMORT_RATE] = @l_AMORT_RATE,
[AMORT_START_DATE] = @l_AMORT_START_DATE,
[AMORT_END_DATE] = @l_AMORT_END_DATE,
[FIRST_AMORT_AMT] = @l_FIRST_AMORT_AMT,
[MONTHLY_AMORT_AMT] = @l_MONTHLY_AMT,
[AMORTIZED_MONTH] = 0,
[AMORTIZED_AMT] = 0,
[PO_ID] = @l_PO_ID,
[PD_ID] = @l_PD_ID,
[WAREHOUSE_ID] = NULL,
[LOCATION] = NULL,
[REF_ASSET_ID] = @l_REF_ASSET_ID,
[REF_AMORTIZED_AMT] = @l_REF_AMORTIZED_AMT,
[WARRANTY_MONTHS] = @l_WARRANTY_MONTHS,
[NOTES] = @l_NOTES,
[AMORT_STATUS] = @l_AMORT_STATUS,
[ASS_STATUS] = '1',
[ASS_STATUS_DESC] = N'',
[ENTRY_BOOKED] = @l_ENTRY_BOOKED,
[RECORD_STATUS] = '1',
[AUTH_STATUS] = 'A',
[MAKER_ID] = @l_MAKER_ID,
[CREATE_DT] = CONVERT(DATETIME, @sToday, 103),
[CHECKER_ID] = @p_CHECKER_ID,
[APPROVE_DT] = CONVERT(DATETIME, @p_APPROVE_DT, 103),
[CONSTRUCT_ID] = @l_CONSTRUCT_ID,
[USE_STATUS] = 'BT',
[BRANCH_CREATE] = @l_BRANCH_CREATE,
[ACCOUNT_GL] = @ACCOUNT_GL,
VAT = @l_VAT,
PRICE_VAT = @PRICE_VAT,
[BUY_DATE_KT] = CONVERT(DATETIME, @sToday, 103),
[USE_DATE_KT] = @l_USE_DATE_KT,
ASS_CODE_TMP = @l_ASSET_CODE,
ASS_CONTRACT_CODE = @ASS_CONTRACT_CODE,
PL = @PL_CODE
WHERE ASSET_ID = @l_ASSET_ID
SET @l_ASSET_CODE= (SELECT am.ASSET_CODE FROM ASS_MASTER am WHERE am.ASSET_ID=@l_ASSET_ID)
IF @@Error <> 0 GOTO ABORT
DECLARE @l_ETP_ID VARCHAR(20),@l_D_BRANCH_CODE VARCHAR(25) , @l_C_BRANCH_CODE VARCHAR(25),
@l_DEP_CODE VARCHAR(20)
SET @l_C_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_CREATE)
SET @l_D_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_CREATE)
--IF (@l_ENTRY_BOOKED = 'Y') --Neu nhap TS va hach toan tang tai san
IF (@l_ENTRY_BOOKED = 'Y' ) --Neu nhap TS va hach toan tang tai san thieuvq 15/04/2014
BEGIN
--insert dbo.ASS_VALUES
EXEC SYS_CodeMasters_Gen 'ASS_VALUES', @l_VALUE_ID out
IF @l_VALUE_ID='' OR @l_VALUE_ID IS NULL GOTO ABORT
INSERT INTO ASS_VALUES
(
VALUE_ID, ASSET_ID, BRANCH_ID, TRN_DT, CRDR, ASSET_AMT, [DESCRIPTION], TRN_ID, TRN_TYPE,
RECORD_STATUS, AUTH_STATUS, MAKER_ID, CREATE_DT, CHECKER_ID, APPROVE_DT, AMORT_AMT
)
VALUES
(
@l_VALUE_ID, @l_ASSET_ID, @l_BRANCH_CREATE, CONVERT(datetime, @sToday, 103), 'C', @l_BUY_PRICE, N'NHAP MOI TSCD/CCLD', @p_ADDNEW_ID, 'ASS_ADDNEW',
'1','A',@l_MAKER_ID, CONVERT(datetime, @sToday, 103), @p_CHECKER_ID, CONVERT(datetime, @sToday, 103), @l_AMORT_AMT
)
IF @@Error <> 0 GOTO ABORT
IF(@l_TYPE_ID='TSCD')
BEGIN
IF(@l_BRANCH_ID IS NOT NULL OR @l_BRANCH_ID <>'')
BEGIN
SET @l_C_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID)
SET @l_D_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID)
SET @l_DEP_CODE = ( SELECT cd.DEP_CODE FROM CM_DEPARTMENT cd WHERE cd.DEP_ID=@l_DEPT_ID)
END
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_PAY_HS_ACCTNO, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_CREATE, @l_BUY_PRICE, 'Y',
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID, @l_ET_ID OUT
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID, @p_ADDNEW_ID,@l_D_BRANCH_CODE ,@l_ASSET_GL,'VND', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_C_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE,@l_TRN_NO);
END
ELSE IF (@l_TYPE_ID='CCLD')
BEGIN
IF(@l_BRANCH_ID IS NOT NULL OR @l_BRANCH_ID <>'')
BEGIN
SET @l_C_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID)
SET @l_D_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID)
SET @l_DEP_CODE = ( SELECT cd.DEP_CODE FROM CM_DEPARTMENT cd WHERE cd.DEP_ID=@l_DEPT_ID)
END
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_PAY_HS_ACCTNO, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_CREATE, @l_BUY_PRICE, 'Y',
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID, @l_ET_ID OUT
--- Hạch toán nhập CCLĐ:
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID, @p_ADDNEW_ID,@l_D_BRANCH_CODE ,@l_ASSET_GL,'VND', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_C_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'C', @l_BUY_PRICE + @PRICE_VAT,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE,@l_TRN_NO);
IF(@PRICE_VAT >0)
BEGIN
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID, @p_ADDNEW_ID,@l_D_BRANCH_CODE ,@ACCOUNT_VAT,'VND', 'D', @PRICE_VAT, 1, @PRICE_VAT, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE,@l_TRN_NO);
END
-- EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_WAIT_AMORT, @l_BRANCH_ID, @l_BUY_PRICE, 'Y',
-- @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
-- @l_ET_ID OUT
-- --Đồng thời kết chuyển tài khoản CCLĐ đang dùng sang tài khoản chờ phân bổ:
-- EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
--
-- INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS)
-- VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_ASSET_GL, 'LCY', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE);
-- EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
--
-- INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS)
-- VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_WAIT_AMORT, 'LCY', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE);
END
END
ELSE IF @l_TYPE_ID = 'TSCD'
BEGIN
--Insert vao bang dbo.ASS_ENTRIES_POST
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_PAY_HS_ACCTNO, @l_BRANCH_CREATE, @_BUY_TS_ACCTNO, @l_BRANCH_CREATE, @l_BUY_PRICE, 'Y',
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
@l_ET_ID OUT
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID, @p_ADDNEW_ID,@l_D_BRANCH_CODE ,@_BUY_TS_ACCTNO,'VND', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE,@l_TRN_NO);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_C_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE,@l_TRN_NO);
END
--Insert nhap kho
EXEC SYS_CodeMasters_Gen 'ASS_WAREHOUSE_DT', @l_WAHDT_ID out
IF @l_WAHDT_ID='' OR @l_WAHDT_ID IS NULL GOTO ABORT
INSERT INTO ASS_WAREHOUSE_DT(WAHDT_ID, WAH_ID, ASSET_ID, IN_DATE, OUT_DATE, STATUS)
VALUES(@l_WAHDT_ID, @l_WAH_ID, @l_ASSET_ID, GETDATE(), NULL, 'I')
IF @@Error <> 0 GOTO ABORT
IF @l_BRANCH_ID IS NOT NULL AND @l_BRANCH_ID <> ''
BEGIN
PRINT 'A'
UPDATE ASS_WAREHOUSE_DT
SET OUT_DATE = GETDATE(),
STATUS = 'O'
WHERE WAHDT_ID = @l_WAHDT_ID
IF @@Error <> 0 GOTO ABORT
IF @l_BRANCH_CREATE <> @l_BRANCH_ID
BEGIN
SET @l_C_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_CREATE)
SET @l_D_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID)
SET @l_DEP_CODE = ( SELECT cd.DEP_CODE FROM CM_DEPARTMENT cd WHERE cd.DEP_ID=@l_DEPT_ID)
IF @l_TYPE_ID = 'TSCD'
BEGIN
SELECT @BRN_TYPE_TRN = BRANCH_TYPE,@TCCT_TRN_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_CREATE
SELECT @BRN_TYPE_REC = BRANCH_TYPE, @TCCT_REC_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_ID
/*****THIEUVQ 211118 - CHAU XAC NHAN KHONG HACH TOAN QUA TK TRUNG GIAN NUA*******/
----NEU CN XUAT CHO PGD THI KHONG HACH TOAN THONG QUA TK TRUNG GIAN TCCT
--IF @BRN_TYPE_TRN = 'CN' AND @BRN_TYPE_REC = 'PGD'
--BEGIN
-- EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_USE', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_TRANFER_ACCTNO, @l_BRANCH_CREATE, @l_BUY_PRICE, 'Y',
-- @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
-- @l_ET_ID OUT
--
-- EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
--
-- INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS)
-- VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_C_BRANCH_CODE , @l_ASSET_GL, 'LCY', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE);
--
-- EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
--
-- INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS)
-- VALUES (@l_ETP_ID, @l_ET_ID, @p_ADDNEW_ID,@l_C_BRANCH_CODE ,@l_TRANFER_ACCTNO,'LCY', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE);
--
-- EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_USE', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_TRANFER_ACCTNO, @l_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y',
-- @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
-- @l_ET_ID OUT
--
-- EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
--
-- INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS)
-- VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_TRANFER_ACCTNO, 'LCY', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE);
--
-- EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
--
-- INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS)
-- VALUES (@l_ETP_ID, @l_ET_ID, @p_ADDNEW_ID,@l_D_BRANCH_CODE ,@l_ASSET_GL,'LCY', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE);
--
END
ELSE ---CCLD
BEGIN
SELECT @BRN_TYPE_TRN = BRANCH_TYPE,@TCCT_TRN_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_CREATE
SELECT @BRN_TYPE_REC = BRANCH_TYPE, @TCCT_REC_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_ID
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_WAIT_AMORT, @l_BRANCH_ID, @l_BUY_PRICE, 'Y',
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
@l_ET_ID OUT
--Đồng thời kết chuyển tài khoản CCLĐ đang dùng sang tài khoản chờ phân bổ:
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO,TRN_IS_SUM)
VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_WAIT_AMORT, 'VND', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO,1);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_IS_SUM,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,1,@l_TRN_NO);
END
END
ELSE IF (@l_TYPE_ID = 'CCLD')
BEGIN
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_WAIT_AMORT, @l_BRANCH_ID, @l_BUY_PRICE, 'Y',
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
@l_ET_ID OUT
--Đồng thời kết chuyển tài khoản CCLĐ đang dùng sang tài khoản chờ phân bổ:
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO,TRN_IS_SUM)
VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_WAIT_AMORT, 'VND', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO,1);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_IS_SUM,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,1,@l_TRN_NO);
END
---Phong added 17/6/2018: xu ly khao hao ngay qua khu :: ends
/***********PHAN BO HOI SO CHIU CHI PHI -- BEGIN 201218**************/
-- SET @l_DEP_CODE = (SELECT A.DEP_CODE FROM CM_DEPARTMENT A WHERE A.DEP_ID = @l_DEPT_ID)
-- IF @l_DEP_CODE IS NOT NULL AND @l_DEP_CODE <> ''
-- BEGIN
-- IF @l_BRANCH_ID <> @l_HO_BRN_ID AND LEFT(@l_DEP_CODE,3) = '069' ------CN NHAP NHUNG HOI SO CHIU CHI PHI
-- BEGIN
-- --LAY PHONG BAN CUA HOI SO TUONG UNG MA PHONG BAN CN
-- SET @l_DEPT_ID = (SELECT DEP_ID FROM CM_DEPARTMENT A WHERE A.DEP_CODE = @l_DEP_CODE AND BRANCH_ID = @l_HO_BRN_ID)
-- IF @l_DEPT_ID IS NOT NULL AND @l_DEPT_ID <> ''
-- BEGIN
-- -----THEM VAO BANG ASS_COST_ALLOCATION
--
-- EXEC SYS_CodeMasters_Gen 'ASS_COST_ALLOCATION', @l_COST_MASTER_ID out
-- INSERT INTO ASS_COST_ALLOCATION (COS_ID,ASSET_ID,NOTE,TRN_DATE,[RECORD_STATUS],[AUTH_STATUS],[MAKER_ID],[CREATE_DT],EDITOR_ID, EDITOR_DT,[CHECKER_ID],[APPROVE_DT],BRANCH_CREATE,XML_TEMP,SECURE_01,SERCURE_01)
-- VALUES(@l_COST_MASTER_ID,@l_ASSET_ID,'AUTO',@CUR_DATE,'1' ,'A',@l_MAKER_ID ,
-- @CUR_DATE ,NULL, NULL,@p_CHECKER_ID,
-- @CUR_DATE,@l_HO_BRN_ID,NULL,NULL,NULL)
--
-- -----THEM BANG CHI TIET ASS_COST_ALLOC_DT 100% SO TIEN PHAN BO THANG
-- EXEC SYS_CodeMasters_Gen 'ASS_COST_ALLOC_DT', @l_COSTDT_ID out
--
-- INSERT INTO ASS_COST_ALLOC_DT
-- VALUES(@l_COSTDT_ID,@l_COST_MASTER_ID,@l_HO_BRN_ID,@l_DEPT_ID,@l_MONTHLY_AMT,'100',@l_AMORT_MONTH,@CUR_DATE, @l_AMORT_END_DATE,0,0,@l_EXP_ACCTNO,'','1' ,'A' ,@l_MAKER_ID ,
-- @CUR_DATE ,NULL, NULL,@p_CHECKER_ID,@CUR_DATE)
-- END
-- END
-- END
-- /**************************************************** END 201218************/
DECLARE @l_AMORT_RUN_DATE DATETIME = (SELECT TOP 1 TTS.SENT_DATE FROM THREAD_TIME_SEND TTS WHERE TTS.TIME_VALUE = 'KH')
DECLARE @DATE_EXEC DATETIME=CONVERT(DATETIME, @p_APPROVE_DT, 103)
IF( DATEDIFF(MONTH, @l_AMORT_START_DATE, @l_AMORT_RUN_DATE)>0)
BEGIN
EXEC ASS_AMORT_BackDate @p_ASSET_ID = @l_ASSET_ID
,@p_CHECKER_ID = @p_CHECKER_ID
,@p_APPROVE_DT = @DATE_EXEC
,@p_TRN_ID = @p_ADDNEW_ID
,@P_TRN_REF_NO = @l_TRN_NO
,@p_TRN_TYPE = 'ADD_NEW'
END
END
--Luctv:End
--CAP NHAT LOCATION_HIST - THIEUVQ 11112015
UPDATE ASS_LOCATION_HIST SET BRANCH_ID = @l_BRANCH_ID, DEPT_ID = @l_DEPT_ID WHERE ASSET_ID = @l_ASSET_ID
IF @@Error <> 0 GOTO ABORT
--END
SET @int = @int + 1
END
-- KHIEMCHG - Update PYC hoàn tất khi đã đủ số lượng PYC
IF(NOT EXISTS(SELECT TOP 1 A.REQDT_ID
FROM TR_REQUEST_SHOP_DOC_DT A
WHERE A.REQ_DOC_ID = @REQ_ID
AND ( A.QTY_ETM <> A.ALLOCATED OR (A.ALLOCATED IS NULL OR A.ALLOCATED = '' OR A.ALLOCATED = 0))
AND ((A.REQ_DT_TYPE = 'XKSD' AND A.TYPE_XL = 'CPDC')
OR (A.REQ_DT_TYPE = 'XKSD' AND A.TYPE_XL = 'CPTK')
OR (A.REQ_DT_TYPE = 'BUYNEW'))
))
BEGIN
UPDATE TR_REQUEST_SHOP_DOC SET IS_DONE = '1', STATUS = 'DONE' WHERE REQ_ID = @REQ_ID
UPDATE PL_REQUEST_PROCESS SET STATUS = 'P' WHERE PROCESS_ID = 'APPROVE' AND REQ_ID = @REQ_ID
UPDATE PL_REQUEST_PROCESS SET STATUS = 'C', RECEPTION_DT = CONVERT(datetime, GETDATE(), 103), APPROVE_DT = CONVERT(datetime, GETDATE(), 103) WHERE PROCESS_ID = 'DONE' AND REQ_ID = @REQ_ID
END
-- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_HC
UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_ADDNEW_ID AND PROCESS_ID = 'UPDATE'
-- GIANT Insert to table PL_PROCESS
INSERT INTO dbo.PL_PROCESS
(
REQ_ID,
PROCESS_ID,
CHECKER_ID,
APPROVE_DT,
PROCESS_DESC,
NOTES
)
VALUES
( @p_ADDNEW_ID,
'APPROVE',
@p_CHECKER_ID,
GETDATE(),
N'Kiểm soát viên phê duyệt hoàn tất' ,
N'Kiểm soát viên phê duyệt'
)
COMMIT TRANSACTION
SELECT '0' as Result, @p_ADDNEW_ID ADDNEW_ID, '' ErrorDesc
RETURN '0'
ABORT:
BEGIN
ROLLBACK TRANSACTION
--CLOSE pCur
--DEALLOCATE pCur
SELECT '-1' as Result, '' ADDNEW_ID, @ERROR ErrorDesc
RETURN '-1'
End
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[ASS_INVENTORY_MASTER_SendApp]'
GO
ALTER PROC [dbo].[ASS_INVENTORY_MASTER_SendApp]
@p_INVENT_ID VARCHAR(20),
@p_USERLOGIN VARCHAR(50),
@p_TYPE VARCHAR(15),
@p_AUTH_STATUS VARCHAR(1)
AS
BEGIN TRANSACTION
IF(EXISTS(SELECT INVENT_ID FROM dbo.ASS_INVENTORY_MASTER WHERE INVENT_ID = @p_INVENT_ID AND AUTH_STATUS = @p_AUTH_STATUS ) )
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' AS Result , '' INVENT_ID, N'Phiếu kiểm kê đã được gửi phê duyệt trước đó.' ErrorDesc
RETURN '-1'
END
IF (NOT EXISTS (SELECT INVENT_ID FROM ASS_INVENTORY_PARTY_DT WHERE INVENT_ID = @p_INVENT_ID))
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' AS Result , '' INVENT_ID, N'Danh sách thành phần kiểm kê không được để trống.' ErrorDesc
RETURN '-1'
END
IF (NOT EXISTS (SELECT aim.INVENT_ID FROM ASS_INVENTORY_MASTER aim WHERE aim.INVENT_ID = @p_INVENT_ID AND aim.SIGN_USER IS NOT NULL AND aim.SIGN_USER <> ''))
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' AS Result , '' INVENT_ID, N'Vui lòng chọn kiểm soát viên rà soát dữ liệu trước khi kiểm kê.' ErrorDesc
RETURN '-1'
END
IF (NOT EXISTS (SELECT INVENT_ID FROM ASS_INVENTORY_PARTY_DT WHERE INVENT_ID = @p_INVENT_ID AND IS_MAIN = '1'))
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' AS Result , '' INVENT_ID, N'Danh sách thành phần kiểm kê phải có ít nhất một trưởng bản kiểm kê.' ErrorDesc
RETURN '-1'
END
IF (NOT EXISTS (SELECT INVENT_ID FROM ASS_INVENTORY_PARTY_DT WHERE INVENT_ID = @p_INVENT_ID AND IS_RECIVE_MAIL = '1' AND IS_MAIN <> '1'))
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' AS Result , '' INVENT_ID, N'Danh sách thành phần kiểm kê phải có ít nhất 1 người nhận mail ngoại trừ trưởng ban.' ErrorDesc
RETURN '-1'
END
DECLARE @BRANCH_ID VARCHAR(20), @DEP_ID VARCHAR(20), @MAKER_ID VARCHAR(100)
UPDATE ASS_INVENTORY_MASTER SET AUTH_STATUS = @p_AUTH_STATUS, AUTH_STATUS_DVKD = @p_AUTH_STATUS, PROCESS_ID='DKK' WHERE INVENT_ID = @p_INVENT_ID
SELECT @BRANCH_ID =TLSUBBRID,@DEP_ID=SECUR_CODE FROM dbo.TL_USER WHERE TLNANME=@p_USERLOGIN
SET @MAKER_ID = (SELECT aim.MAKER_ID FROM ASS_INVENTORY_MASTER aim WHERE aim.INVENT_ID = @p_INVENT_ID)
DELETE FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_INVENT_ID
IF(EXISTS(SELECT * FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @p_INVENT_ID AND SIGN_USER IS NOT NULL AND SIGN_USER <>''))
BEGIN
DECLARE @BRANCH_SIGN_ID VARCHAR(20),@DEP_SIGN_ID VARCHAR(20),@BRANCH_SIGN_TYPE VARCHAR(10),@SIGN_NAME VARCHAR(20)
SELECT @BRANCH_SIGN_ID=TLSUBBRID,@DEP_SIGN_ID=SECUR_CODE,@BRANCH_SIGN_TYPE=BRANCH_TYPE, @SIGN_NAME = TLNANME FROM dbo.TL_USER WHERE TLNANME =(SELECT SIGN_USER FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @p_INVENT_ID)
UPDATE ASS_INVENTORY_MASTER SET PROCESS_ID='SIGN' WHERE INVENT_ID = @p_INVENT_ID
INSERT INTO dbo.PL_REQUEST_PROCESS
(
REQ_ID,
PROCESS_ID,
STATUS,
ROLE_USER,
BRANCH_ID,
DEP_ID,
CHECKER_ID,
APPROVE_DT,
PARENT_PROCESS_ID,
IS_LEAF,
COST_ID,
DVDM_ID,
NOTES,
IS_HAS_CHILD,
PROCESS_TYPE
)
VALUES
(
@p_INVENT_ID, -- REQ_ID - varchar(15)
'SIGN', -- PROCESS_ID - varchar(10)
'C', -- STATUS - varchar(5)
@SIGN_NAME, -- ROLE_USER - varchar(50)
@BRANCH_SIGN_ID,
CASE WHEN @BRANCH_SIGN_TYPE='HS' THEN @DEP_SIGN_ID ELSE '' END, -- BRANCH_ID - varchar(15)
'', -- CHECKER_ID - varchar(15)
NULL, -- APPROVE_DT - datetime
'', -- PARENT_PROCESS_ID - varchar(10)
'N', -- IS_LEAF - varchar(1)
'', -- COST_ID - varchar(15)
'', -- DVDM_ID - varchar(15)
N'Chờ kiểm soát viên xác nhận phiếu', -- NOTES - nvarchar(500)
NULL, -- IS_HAS_CHILD - bit
'Approve'
)
INSERT INTO dbo.PL_PROCESS
(
REQ_ID,
PROCESS_ID,
CHECKER_ID,
APPROVE_DT,
PROCESS_DESC,
NOTES
)
VALUES
(
@p_INVENT_ID,
'SEND',
@p_USERLOGIN,
GETDATE(),
N'Nhân viên tạo phiếu gửi kiểm soát viên xác nhận phiếu' ,
N'Nhân viên gửi phê duyệt'
)
END
ELSE
BEGIN
INSERT INTO dbo.PL_REQUEST_PROCESS
(
REQ_ID,
PROCESS_ID,
STATUS,
ROLE_USER,
BRANCH_ID,
DEP_ID,
CHECKER_ID,
APPROVE_DT,
PARENT_PROCESS_ID,
IS_LEAF,
COST_ID,
DVDM_ID,
NOTES,
IS_HAS_CHILD,
PROCESS_TYPE
)
VALUES
( @p_INVENT_ID, -- REQ_ID - varchar(15)
'DKK', -- PROCESS_ID - varchar(10)
'C', -- STATUS - varchar(5)
@MAKER_ID, -- ROLE_USER - varchar(50)
@BRANCH_ID,
@DEP_ID, -- BRANCH_ID - varchar(15)
'', -- CHECKER_ID - varchar(15)
NULL, -- APPROVE_DT - datetime
'', -- PARENT_PROCESS_ID - varchar(10)
'N', -- IS_LEAF - varchar(1)
'', -- COST_ID - varchar(15)
'', -- DVDM_ID - varchar(15)
-- N'Chờ trưởng đơn vị phê duyệt', -- NOTES - nvarchar(500)
N'Đang kiểm kê' ,
NULL, -- IS_HAS_CHILD - bit
'Update'
)
INSERT INTO dbo.PL_PROCESS
(
REQ_ID,
PROCESS_ID,
CHECKER_ID,
APPROVE_DT,
PROCESS_DESC,
NOTES
)
VALUES
(
@p_INVENT_ID,
'SEND',
@p_USERLOGIN,
GETDATE(),
N'Bắt đầu thực hiện kiểm kê' ,
N'Nhân viên gửi phê duyệt'
)
END
IF @@Error <> 0 GOTO ABORT
COMMIT TRANSACTION
SELECT '0' as Result,'' REQ_CODE,''REQ_ID, N'Phiếu kiểm kê: '+(SELECT INVENT_ID FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @p_INVENT_ID)+N' đã được gửi phê duyệt thành công.' ErrorDesc
RETURN '0'
ABORT:
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result,'' REQ_CODE,''REQ_ID, '' ErrorDesc
RETURN '-1'
End
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[CM_BRANCH_DEP_Search]'
GO
ALTER PROCEDURE [dbo].[CM_BRANCH_DEP_Search]
@p_BRANCH_ID varchar(15) = NULL,
@p_FATHER_ID varchar(15) = NULL,
@p_FATHER_CODE VARCHAR(15) = NULL,
@p_BRANCH_CODE varchar(15) = NULL,
@p_BRANCH_NAME nvarchar(200) = NULL,
@p_REGION_ID varchar(15) = NULL,
@p_REGION_CODE VARCHAR(15) = NULL,
@p_BRANCH_TYPE varchar(5) = NULL,
@p_ADDR nvarchar(200) = NULL,
@p_TEL varchar(20) = NULL,
@p_NOTES nvarchar(1000) = NULL,
@p_RECORD_STATUS varchar(1) = NULL,
@p_MAKER_ID varchar(100) = NULL,
@p_CREATE_DT VARCHAR(20) = NULL,
@p_AUTH_STATUS varchar(50) = NULL,
@p_CHECKER_ID varchar(100) = NULL,
@p_APPROVE_DT VARCHAR(20) = NULL,
@p_TOP INT = NULL,
@p_BRANCH_LOGIN varchar(15) = NULL,
@p_DEP_NAME NVARCHAR(500)=NULL,
@p_DEP_CODE VARCHAR(20) =NULL,
@p_DEP_ID VARCHAR(20) = NULL
AS
--Validation is here
/*
DECLARE @ERRORSYS NVARCHAR(15) = ''
IF ( [NOT] EXISTS ( SELECT * FROM [TABLE] WHERE [CONDITION] ))
SET @ERRORSYS = ''
IF @ERRORSYS <> ''
BEGIN
SELECT ErrorCode Result, '' CAR_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
RETURN '0'
END */
BEGIN -- PAGING
IF @p_TOP = 300 SET @p_TOP = 1000
IF(@p_TOP IS NULL OR @p_TOP = '' OR @p_TOP = 0)
-- PAGING BEGIN
SELECT A.*,
B.BRANCH_CODE AS F_BRANCH_CODE,
B.BRANCH_NAME AS F_BRANCH_NAME,CD.DEP_CODE,CD.DEP_NAME,CD.DEP_ID,
CD.TYPE AS DEP_TYPE,
(CASE WHEN CD.TYPE = 'K' THEN (SELECT CD.DEP_ID)
ELSE (SELECT CD.KHOI_ID)
END) AS BLOCK_ID,--MÃ KHỐI
CASE WHEN CD.TYPE = 'K' THEN (SELECT CD.DEP_NAME)
ELSE (SELECT A1.DEP_NAME FROM CM_DEPARTMENT A1 WHERE A1.DEP_ID = CD.KHOI_ID)
END AS BLOCK_NAME,--TÊN KHỐI
CASE WHEN CD.TYPE = 'TT' THEN(SELECT CD.DEP_ID)
ELSE (SELECT CD.FATHER_ID)
END AS CENTER_ID,--MÃ TRUNG TÂM
CASE WHEN CD.TYPE = 'TT' THEN CD.DEP_NAME
ELSE (SELECT A1.DEP_NAME FROM CM_DEPARTMENT A1 WHERE A1.DEP_ID = CD.FATHER_ID)
END AS CENTER_NAME,--TÊN TRUNG TÂM
CASE WHEN CD.TYPE = 'PB' THEN CD.DEP_ID
END AS DEPT_ID_1,--MÃ PHÒNG BAN
CASE WHEN CD.TYPE = 'PB' THEN (SELECT CD.DEP_NAME)
END AS DEP_NAME_1 --TÊN PHÒNG BAN
-- SELECT END
FROM CM_BRANCH A
LEFT JOIN CM_BRANCH B ON A.FATHER_ID = B.BRANCH_ID
LEFT JOIN dbo.CM_DEPARTMENT CD ON CD.BRANCH_ID=A.BRANCH_ID AND A.BRANCH_TYPE='HS'
WHERE 1 = 1
AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
AND (A.FATHER_ID LIKE '%' + @p_FATHER_ID + '%' OR @p_FATHER_ID IS NULL OR @p_FATHER_ID = '')
AND (B.BRANCH_CODE LIKE '%' + @p_FATHER_CODE + '%' OR @p_FATHER_CODE IS NULL OR @p_FATHER_CODE = '')
AND (A.BRANCH_CODE LIKE '%' + @p_BRANCH_CODE + '%' OR @p_BRANCH_CODE IS NULL OR @p_BRANCH_CODE = '' OR CD.DEP_CODE LIKE '%' +@p_BRANCH_CODE +'%')
AND (A.BRANCH_NAME COLLATE Latin1_general_CI_AI LIKE N'%' + @p_BRANCH_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_BRANCH_NAME IS NULL OR @p_BRANCH_NAME = ''
OR CD.DEP_NAME COLLATE Latin1_general_CI_AI LIKE N'%' + @p_BRANCH_NAME + N'%' COLLATE Latin1_general_CI_AI)
AND (A.REGION_ID LIKE '%' + @p_REGION_ID + '%' OR @p_REGION_ID IS NULL OR @p_REGION_ID = '')
AND (A.BRANCH_TYPE LIKE '%' + @p_BRANCH_TYPE + '%' OR @p_BRANCH_TYPE IS NULL OR @p_BRANCH_TYPE = '')
AND (A.ADDR LIKE '%' + @p_ADDR + '%' OR @p_ADDR IS NULL OR @p_ADDR = '')
AND (A.TEL LIKE '%' + @p_TEL + '%' OR @p_TEL IS NULL OR @p_TEL = '')
AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '')
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
AND (DATEDIFF(DAY, A.CREATE_DT ,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
AND A.RECORD_STATUS = '1'
AND ((A.BRANCH_ID IN (SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)) OR @p_BRANCH_LOGIN IS NULL OR @p_BRANCH_LOGIN = ''))
ORDER BY A.BRANCH_CODE
-- PAGING END
ELSE
-- PAGING BEGIN
SELECT TOP(CONVERT(INT,@p_TOP))A.*, B.BRANCH_CODE AS F_BRANCH_CODE, B.BRANCH_NAME AS F_BRANCH_NAME,CD.DEP_CODE,CD.DEP_NAME,CD.DEP_ID,CD.TYPE AS DEP_TYPE
,(CASE WHEN CD.TYPE = 'K' THEN (SELECT CD.DEP_ID)
ELSE (SELECT CD.KHOI_ID)
END) AS BLOCK_ID,--MÃ KHỐI
CASE WHEN CD.TYPE = 'K' THEN (SELECT CD.DEP_NAME)
ELSE (SELECT A1.DEP_NAME FROM CM_DEPARTMENT A1 WHERE A1.DEP_ID = CD.KHOI_ID)
END AS BLOCK_NAME,--TÊN KHỐI
CASE WHEN CD.TYPE = 'TT' THEN(SELECT CD.DEP_ID)
ELSE (SELECT CD.FATHER_ID)
END AS CENTER_ID,--MÃ TRUNG TÂM
CASE WHEN CD.TYPE = 'TT' THEN CD.DEP_NAME
ELSE (SELECT A1.DEP_NAME FROM CM_DEPARTMENT A1 WHERE A1.DEP_ID = CD.FATHER_ID)
END AS CENTER_NAME,--TÊN TRUNG TÂM
CASE WHEN CD.TYPE = 'PB' THEN CD.DEP_ID
END AS DEPT_ID_1,--MÃ PHÒNG BAN
CASE WHEN CD.TYPE = 'PB' THEN (SELECT CD.DEP_NAME)
END AS DEP_NAME_1 --TÊN PHÒNG BAN
-- SELECT END
FROM CM_BRANCH A
LEFT JOIN CM_BRANCH B ON A.FATHER_ID = B.BRANCH_ID
LEFT JOIN dbo.CM_DEPARTMENT CD ON CD.BRANCH_ID=A.BRANCH_ID AND A.BRANCH_TYPE='HS'
WHERE 1 = 1
AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
AND (A.FATHER_ID LIKE '%' + @p_FATHER_ID + '%' OR @p_FATHER_ID IS NULL OR @p_FATHER_ID = '')
AND (A.BRANCH_CODE LIKE '%' + @p_BRANCH_CODE + '%' OR @p_BRANCH_CODE IS NULL OR @p_BRANCH_CODE = '' OR CD.DEP_CODE LIKE '%' +@p_BRANCH_CODE +'%')
AND (B.BRANCH_CODE LIKE '%' + @p_FATHER_CODE + '%' OR @p_FATHER_CODE IS NULL OR @p_FATHER_CODE = '')
AND (A.BRANCH_NAME COLLATE Latin1_general_CI_AI LIKE N'%' + @p_BRANCH_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_BRANCH_NAME IS NULL OR @p_BRANCH_NAME = ''
OR CD.DEP_NAME COLLATE Latin1_general_CI_AI LIKE N'%' + @p_BRANCH_NAME + N'%' COLLATE Latin1_general_CI_AI)
AND (A.REGION_ID LIKE '%' + @p_REGION_ID + '%' OR @p_REGION_ID IS NULL OR @p_REGION_ID = '')
AND (A.BRANCH_TYPE LIKE '%' + @p_BRANCH_TYPE + '%' OR @p_BRANCH_TYPE IS NULL OR @p_BRANCH_TYPE = '')
AND (A.ADDR LIKE '%' + @p_ADDR + '%' OR @p_ADDR IS NULL OR @p_ADDR = '')
AND (A.TEL LIKE '%' + @p_TEL + '%' OR @p_TEL IS NULL OR @p_TEL = '')
AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '')
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
AND (DATEDIFF(DAY,A.CREATE_DT ,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
AND A.RECORD_STATUS = '1'
AND ((A.BRANCH_ID IN (SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID] (@p_BRANCH_LOGIN)) OR @p_BRANCH_LOGIN IS NULL OR @p_BRANCH_LOGIN = ''))
ORDER BY A.BRANCH_CODE
-- PAGING END
END -- PAGING
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[ASS_ADDNEW_KT_BVB_Upd]'
GO
ALTER PROCEDURE [dbo].[ASS_ADDNEW_KT_BVB_Upd]
@p_ADDNEW_ID varchar(15) = NULL,
@p_AMORT_START_DATE varchar(30) = NULL,------------THEM NGAY BD KHAU HAO
@p_AMORT_END_DATE varchar(30) = NULL,------------THEM NGAY BD KHAU HAO
@p_AMORT_MONTH DECIMAL(18,2) = NULL,
@p_AMORT_RATE decimal(18,2) = NULL,
@p_CORE_NOTE nvarchar(500) = NULL,
@p_ENTRY_BOOKED varchar(1) = NULL, --Them de kiem tra co hach toan tai san khi nhap ts khong (Y/N)?
@p_MAKER_ID varchar(15) = NULL,
@p_MAKER_ID_KT varchar(15) = NULL,
@p_CREATE_DT VARCHAR(30) = NULL,
@p_CHECKER_ID varchar(15) = NULL,
@p_APPROVE_DT VARCHAR(30) = NULL,
@p_POSTED_STATUS VARCHAR(1) = NULL,
@p_BRANCH_CREATE VARCHAR(15) = NULL,
--
@p_BUY_DATE VARCHAR(30) = NULL,
@p_TYPE_ID varchar(15) = NULL,
@p_GROUP_ID varchar(15) = NULL,
@p_ASSET_NAME nvarchar(1000) = NULL,
@p_ASSET_SERIAL_NO nvarchar(MAX) = NULL,
@p_ASSET_DESC nvarchar(max) = NULL,
@p_BRANCH_ID varchar(15) = NULL,
@p_DEPT_ID varchar(15) = NULL,---------Them ma phong ban
@p_EMP_ID varchar(15) = NULL,-----------Them Nguoi su dung
@p_DIVISION_ID varchar(15) = NULL,----------Them co so
@p_BUY_PRICE decimal(18) = NULL,
@p_IS_MULTIPLE varchar(1) = NULL,
@p_QTY int = NULL,
@p_PO_ID varchar(15) = NULL,
@p_PD_ID varchar(15) = NULL, --Them de luu chi tiet PO
@p_REF_ASSET_ID varchar(15) = NULL,
@p_REF_AMORTIZED_AMT decimal(18) = NULL,
@p_WARRANTY_MONTHS int = NULL,
@p_NOTES nvarchar(1000) = NULL,
@p_ADDNEW_DT XML = NULL,
@p_RECORD_STATUS varchar(1) = NULL,
@p_AUTH_STATUS varchar(1) = NULL,
@p_CONSTRUCT_ID VARCHAR(15) = NULL,
@p_ACCOUNT_GL VARCHAR(50),
@VAT DECIMAL(18,2),
@PRICE_VAT DECIMAL(18,2),
--/************ LUCTV ***************/
@p_ASS_PO_ID VARCHAR(15)= NULL,
--@l_ADDNEW_ID VARCHAR(15) = NULL,
@p_PO_CODE VARCHAR(500) = NULL,
@p_PR_CODE VARCHAR(500) = NULL,
@p_INVOICE_NO VARCHAR(500) = NULL,
@p_INVOICE_SYMPOL VARCHAR(500) = NULL,
@p_INVOICE_DT VARCHAR(20) = NULL
,@p_WIN VARCHAR(1) NULL
,@p_OFFICE VARCHAR(1) NULL
AS
--IF(@p_PR_CODE IS NULL OR @p_PR_CODE ='')
--BEGIN
-- SELECT '-1' Result, '' ADDNEW_ID, N'Số PR không được để trống' ErrorDesc
-- RETURN '-1'
--END
IF(@p_INVOICE_NO IS NULL OR @p_INVOICE_NO ='')
BEGIN
SELECT '-1' Result, @p_ADDNEW_ID ADDNEW_ID, N'Số hóa đơn không được để trống' ErrorDesc
RETURN '-1'
END
IF(@p_INVOICE_DT IS NULL OR @p_INVOICE_DT ='')
BEGIN
SELECT '-1' Result, @p_ADDNEW_ID ADDNEW_ID, N'Ngày hóa đơn không được để trống' ErrorDesc
RETURN '-1'
END
-- GIANT 04/11/2021 @p_TYPE_ID
--IF((@p_BUY_PRICE IS NULL OR @p_BUY_PRICE ='') AND @p_BUY_PRICE >= 30000000 AND @p_TYPE_ID = 'TSCD')
--BEGIN
-- SELECT '-1' Result, '' ADDNEW_ID, N'Giá trị tài sản phải lớn hơn hoặc bằng 30,000,000 khi thuộc nhóm Tài sản cố định' ErrorDesc
-- RETURN '-1'
--END
--IF((@p_BUY_PRICE IS NULL OR @p_BUY_PRICE ='') AND @p_BUY_PRICE < 30000000 AND @p_TYPE_ID = 'CCLD')
--BEGIN
-- SELECT '-1' Result, '' ADDNEW_ID, N'Giá trị tài sản phải bé hơn 30,000,000 khi thuộc nhóm Công cụ lao động' ErrorDesc
-- RETURN '-1'
--END
--IF((@p_AMORT_MONTH IS NULL OR @p_AMORT_MONTH ='') AND EXISTS(SELECT * FROM ASS_GROUP WHERE GROUP_ID = @p_GROUP_ID AND @p_AMORT_MONTH >= AMORT_MONTH_MIN AND @p_AMORT_MONTH <= AMORT_MONTH_MAX))
--BEGIN
-- SELECT '-1' Result, '' ADDNEW_ID, N'Số tháng khấu hao phải nằm trong (' + (SELECT AMORT_MONTH_MIN FROM ASS_GROUP WHERE GROUP_ID = @p_GROUP_ID) + ' - ' + (SELECT AMORT_MONTH_MAX FROM ASS_GROUP WHERE GROUP_ID = @p_GROUP_ID) + ')' ErrorDesc
-- RETURN '-1'
--END
--IF CONVERT(DATE, @p_AMORT_START_DATE, 103) < CONVERT(DATE,@p_CREATE_DT, 103)
--BEGIN
-- SELECT '-1' as Result, '' ADDNEW_ID, N'Ngày bắt đầu phân bổ không được nhỏ hơn ngày hiện tại' ErrorDesc
-- RETURN '-1'
--END
--HCQT KHONG XUAT THI KT KHONG DUOC XUAT - thieuvq bo dieu kien nay 051719 - KT duoc phep khi hc khong xuat
--DECLARE @_PRE_BRANCH_ID VARCHAR(15) = (SELECT BRANCH_ID FROM ASS_ADDNEW WHERE ADDNEW_ID = @p_ADDNEW_ID)
--IF ((@_PRE_BRANCH_ID IS NULL OR @_PRE_BRANCH_ID = '') AND (@p_BRANCH_ID <> ''))
--BEGIN
-- SELECT '-1' as Result, '' ADDNEW_ID, N'Bạn không được xuất sử dụng khi HCQT chưa xuất' ErrorDesc
-- RETURN '-1'
--END
DECLARE @l_C_TYPE_ID VARCHAR(50) = (SELECT AA.TYPE_ID FROM ASS_ADDNEW AA WHERE AA.ADDNEW_ID = @p_ADDNEW_ID)
DECLARE @l_C_GR_ID VARCHAR(50) = (SELECT AA.GROUP_ID FROM ASS_ADDNEW AA WHERE AA.ADDNEW_ID = @p_ADDNEW_ID)
DECLARE @l_C_GROUP_CODE VARCHAR(50) = (SELECT AG.GROUP_CODE FROM ASS_GROUP AG WHERE AG.GROUP_ID = @l_C_GR_ID)
DECLARE @l_NEW_GROUP_ID VARCHAR(50) = (SELECT AG.GROUP_ID FROM ASS_GROUP AG WHERE AG.GROUP_CODE = @l_C_GROUP_CODE AND AG.TYPE_ID = @p_TYPE_ID)
IF(@l_C_TYPE_ID <> @p_TYPE_ID)
BEGIN
IF(NOT EXISTS(SELECT AG.GROUP_ID FROM ASS_GROUP AG WHERE AG.GROUP_CODE = @l_C_GROUP_CODE AND AG.TYPE_ID = @p_TYPE_ID))
BEGIN
SELECT '-1' as Result, @p_ADDNEW_ID ADDNEW_ID, N'Loại tài sản hiện tại không có trong Nhóm tài sản' + @p_TYPE_ID ErrorDesc
RETURN '-1'
END
ELSE UPDATE ASS_ADDNEW SET GROUP_ID = @l_NEW_GROUP_ID WHERE ADDNEW_ID = @p_ADDNEW_ID
END
BEGIN TRANSACTION
----BO 2 KY TU DAC BIET & VA < TRONG DIEN GIAI HACH TOAN - THIEUVQ 020719 - BEGIN
SET @p_CORE_NOTE = REPLACE(@p_CORE_NOTE,'&', 'VA')
SET @p_CORE_NOTE = REPLACE(@p_CORE_NOTE,'<', ' ')
--------------END---------------
------nhap moi la luon ghi tang tai san Chaunth 031218 - BEGIN -----
IF @p_BRANCH_ID <>'' OR @p_BRANCH_ID IS NOT NULL SET @p_ENTRY_BOOKED = 'Y'
--END----------
UPDATE ASS_ADDNEW
SET
[AMORT_START_DATE] = (CASE WHEN @p_AMORT_START_DATE IS NULL OR @p_AMORT_START_DATE = '' THEN NULL ELSE CONVERT(DATETIME, @p_AMORT_START_DATE, 103) END),-----------Them
[AMORT_END_DATE] = (CASE WHEN @p_AMORT_END_DATE IS NULL OR @p_AMORT_END_DATE = '' THEN NULL ELSE CONVERT(DATETIME, @p_AMORT_END_DATE, 103) END),-----------Them
[AMORT_MONTH] = @p_AMORT_MONTH,
[AMORT_RATE] = @p_AMORT_RATE,
[CORE_NOTE] = @p_CORE_NOTE,
[ENTRY_BOOKED] = @p_ENTRY_BOOKED, -- THEM KHI NHAP MOI CO TANG TAI SAN KHONG
[MAKER_ID_KT] = @p_MAKER_ID_KT,
[CREATE_DT_KT] = GETDATE(),
--[CHECKER_ID_KT] = @p_CHECKER_ID,
--[APPROVE_DT_KT] =CASE WHEN @p_APPROVE_DT = '' OR @p_APPROVE_DT IS NULL THEN NULL ELSE CONVERT(DATETIME, @p_APPROVE_DT, 103) END,
[POSTED_STATUS] = @p_POSTED_STATUS,-- THEM 14/04/2014
[BRANCH_CREATE] = @p_BRANCH_CREATE,-- THEM 14/04/2014
--
BUY_DATE = CONVERT(DATETIME,@p_BUY_DATE, 103),
[TYPE_ID] = @p_TYPE_ID,
GROUP_ID = @l_NEW_GROUP_ID,
ASSET_NAME = @p_ASSET_NAME,
ASSET_SERIAL_NO = @p_ASSET_SERIAL_NO,
ASSET_DESC = @p_ASSET_DESC,
BRANCH_ID = @p_BRANCH_ID,
DEPT_ID = @p_DEPT_ID,
EMP_ID = @p_EMP_ID,
DIVISION_ID = @p_DIVISION_ID,
BUY_PRICE = @p_BUY_PRICE,
AMORT_AMT = @p_BUY_PRICE,
IS_MULTIPLE = @p_IS_MULTIPLE,
QTY = @p_QTY,
PO_ID = @p_PO_ID,
PD_ID = @p_PD_ID,
REF_ASSET_ID = @p_REF_ASSET_ID,
REF_AMORTIZED_AMT = @p_REF_AMORTIZED_AMT,
WARRANTY_MONTHS = @p_WARRANTY_MONTHS,
NOTES = @p_NOTES,
RECORD_STATUS = @p_RECORD_STATUS,
--AUTH_STATUS = @p_AUTH_STATUS,
CONSTRUCT_ID = @p_CONSTRUCT_ID,
--
[ACCOUNT_GL] = @p_ACCOUNT_GL,
[VAT] = @VAT,
[PRICE_VAT] = @PRICE_VAT,
---khiemchg BO SUNG CAP NHAT AUTH_STATUS =E cho gửi phê duyệt
AUTH_STATUS_KT='E',
PR_CODE = @p_PR_CODE
,WIN_CRACK = @p_WIN
,OFFICE_CRACK = @p_OFFICE
WHERE ADDNEW_ID = @p_ADDNEW_ID
IF @@Error <> 0 GOTO ABORT
SET @p_ASS_PO_ID = (SELECT AA.PO_ID FROM ASS_ADDNEW AA WHERE AA.ADDNEW_ID = @p_ADDNEW_ID)
UPDATE ASS_PO
SET PO_CODE=@p_PO_CODE,
INVOICE_DATE = CONVERT(DATETIME,@p_INVOICE_DT,103),
INVOICE_NO =@p_INVOICE_NO, INVOICE_SYMPOL = @p_INVOICE_SYMPOL,
ADDNEW_ID =@p_ADDNEW_ID
WHERE ASSPO_ID = @p_ASS_PO_ID
IF @@Error <> 0 GOTO ABORT
-- HUYHT 06/05/2022: XÓA CÁC PROCESS UPDATE CŨ
DELETE dbo.PL_PROCESS WHERE REQ_ID = @p_ADDNEW_ID AND PROCESS_ID = 'UPDATE'
-- GIANT Insert to table PL_PROCESS
INSERT INTO dbo.PL_PROCESS
(
REQ_ID,
PROCESS_ID,
CHECKER_ID,
APPROVE_DT,
PROCESS_DESC,
NOTES
)
VALUES
( @p_ADDNEW_ID,
'UPDATE',
@p_MAKER_ID_KT,
GETDATE(),
N'Giao dịch viên cập nhật hạch toán thành công' ,
N'Giao dịch viên cập nhật hạch toán'
)
COMMIT TRANSACTION
SELECT '0' as Result, @p_ADDNEW_ID ADDNEW_ID, '' ErrorDesc
RETURN '0'
ABORT:
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, @p_ADDNEW_ID ADDNEW_ID, '' ErrorDesc
RETURN '-1'
End
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[TR_ROLE_NOTIFI_ID]'
GO
ALTER PROCEDURE [dbo].[TR_ROLE_NOTIFI_ID]
@PO_ID varchar(500),
@TYPE VARCHAR(100),
@p_TLNAME VARCHAR(100)
AS
DECLARE
@BRANCH_CREATE VARCHAR(15),
@DEP_CREATE VARCHAR(15),
@BRANCH_TYPE VARCHAR(15),
@FATHER_ID VARCHAR(15),
@FLAG VARCHAR(2), -- FLAG = 1: THANH TOÁN / TẠM ỨNG
@AUTH_STATUS VARCHAR(10),
@PROCESS VARCHAR(10),
@MAKER_ID VARCHAR(100),
@DEP_CODE VARCHAR(15),
@NV_XL_MS VARCHAR(15),
@BRANCH_QLTS VARCHAR(15) = 'DV0001',
@DEP_KT VARCHAR(15) = 'DEP000000000068',--(SELECT TOP 1 sp.ParaValue FROM SYS_PARAMETERS sp WHERE sp.ParaKey = 'DEP_QLTS')
@TLFullName_USER_CREATE NVARCHAR(500) = NULL,
@Email_USER_CREATE VARCHAR(500) = NULL,
@USER_CREATE_ID INT ,
@BRANCH_LOGIN VARCHAR(15) = (SELECT TOP 1 TLSUBBRID FROM TL_USER WHERE TLNANME = @p_TLNAME),
@DEP_LOGIN VARCHAR(15) = (SELECT TOP 1 DEP_ID FROM TL_USER WHERE TLNANME = @p_TLNAME)
DECLARE @ROLE_CURRENT VARCHAR(15), @USER_RECIVE_MAIL VARCHAR(15), @REQ_TYPE VARCHAR(15)
DECLARE @SYS_PREFIX VARCHAR(15),@PAGE NVARCHAR(200)
DECLARE @l_LST_REQ_ID TABLE (
[ID] [int] IDENTITY(1,1) NOT NULL,
[REQ_PAY_ID] [VARCHAR](50) NULL)
INSERT INTO @l_LST_REQ_ID SELECT VALUE FROM WSISPLIT(@PO_ID,',')
DECLARE @LST_POID TABLE(ID VARCHAR(15))
DECLARE @LST_USER_RECIVE TABLE (TLNAME VARCHAR(100))
DECLARE @LST_USER_RECIVE_PYC TABLE (TLFullName NVARCHAR(500), Email VARCHAR(500), USER_ID INT)
--- DECLARE TABLE NHAN DU LIEU LA USER NAME DANG O BUOC PHE DUYET HIEN TAI
DECLARE @PL_PROCESS_CURRENT_SEARCH_TEMP TABLE
(
REQ_ID varchar(15),
PROCESS_ID varchar(10),
DVDM_NAME nvarchar(500),
TLNAME nvarchar(255),
TLFullName nvarchar(255),
NOTES nvarchar(500)
)
-----BAODNQ 5/1/2021 : Thêm gửi mail cho GDDV, TP, PP----------
DECLARE @p_MAKER_ID VARCHAR(100), @p_ROLE_ID VARCHAR(15), @p_ROLE_NAME VARCHAR(15)
DECLARE @LST_ROLE TABLE(ROLE_ID VARCHAR(15), ROLE_NAME VARCHAR(15))
--------------------------
IF @TYPE = 'PO'
BEGIN
INSERT INTO @LST_POID VALUES(@PO_ID)
SET @FLAG = 0
END ELSE
IF @TYPE = 'USE'
BEGIN
INSERT INTO @LST_POID SELECT B.PO_ID
FROM ASS_MASTER_PO B WHERE B.ASSET_ID = (SELECT A.ASSET_ID FROM ASS_USE A WHERE A.USE_ID = @PO_ID)
SET @FLAG = 0
END ELSE
IF @TYPE = 'USE_MUILT'
BEGIN
SELECT @BRANCH_CREATE = BRANCH_ID FROM ASS_USE_MULTI_MASTER where USER_MASTER_ID = @PO_ID
INSERT INTO @LST_USER_RECIVE SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM [dbo].[TL_USER_GET_ROLES](TLNANME) WHERE ROLE_ID IN ('GDDV'))
SET @FLAG = 9
END ELSE
IF @TYPE = 'USE_ADDNEW'
BEGIN
INSERT INTO @LST_POID SELECT B.PO_ID
FROM ASS_ADDNEW_PO B WHERE B.ADDNEW_ID = @PO_ID
SET @FLAG = 0
END
-- Tạm ứng
ELSE IF (@TYPE = 'TR_REQ_ADVANCE_PAYMENT_SEND_APR')
BEGIN
SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@PO_ID AND (TRASFER_USER_RECIVE IS NOT NULL AND TRASFER_USER_RECIVE <>'')))
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT TRASFER_USER_RECIVE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
END
ELSE
BEGIN
SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
SET @DEP_CREATE = (SELECT DEP_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
SET @FATHER_ID = (SELECT FATHER_ID FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
IF(@BRANCH_TYPE = 'PGD' )
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND (RoleName IN ('TPGD','PP') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('TPGD','PP')))
END
ELSE IF(@BRANCH_TYPE = 'CN' )
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND (RoleName IN ('GDDV','PGD') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('GDDV','PGD')))
END
ELSE IF(@BRANCH_TYPE = 'HS' )
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND SECUR_CODE = @DEP_CREATE
AND (RoleName IN ('GDDV','PP') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('GDDV','PP')))
END
END
SET @FLAG = 1
END
ELSE IF (@TYPE = 'TR_REQ_ADVANCE_PAYMENT_CONFIRM')
BEGIN
SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
SET @DEP_CREATE = (SELECT DEP_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
SET @FATHER_ID = (SELECT FATHER_ID FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
SET @REQ_TYPE =(SELECT TOP 1 REQ_TYPE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID=@PO_ID)
SET @DEP_CODE =(SELECT TOP 1 DEP_CODE FROM CM_DEPARTMENT WHERE DEP_ID =@DEP_CREATE)
IF(@BRANCH_TYPE = 'PGD' )
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @FATHER_ID
AND (RoleName IN ('TPGD','PP') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('TPGD','PP')))
END
ELSE IF(@BRANCH_TYPE = 'CN' )
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND (RoleName IN ('GDDV','PGD') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('GDDV','PGD')))
END
ELSE IF(@BRANCH_TYPE = 'HS' )
BEGIN
IF(EXISTS(SELECT PROCESS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@PO_ID AND (PROCESS ='' OR PROCESS IS NULL)))
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND SECUR_CODE = @DEP_CREATE
AND (RoleName IN ('GDDV','PP') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('GDDV','PP')))
END
ELSE
BEGIN
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='GDK' AND @REQ_TYPE ='I'))
BEGIN
IF(@DEP_CREATE ='DEP000000000014' OR (@DEP_CODE LIKE'%06906%' AND @DEP_CODE <> '0690605'))
BEGIN
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='tunt')
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
END
ELSE IF((@DEP_CODE LIKE'%06909%'))
BEGIN
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='haipv')
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
END
ELSE IF((@DEP_CODE LIKE'%06921%'))
BEGIN
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='cuongpv2')
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
END
ELSE IF((@DEP_CODE LIKE'%06907%'))
BEGIN
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='linhvtk')
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
END
ELSE IF((@DEP_CODE LIKE'%06908%'))
BEGIN
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='nhalc')
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
END
END
-- NEU CAP TIEP THEO LA PTGD
ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='PTGD' AND @REQ_TYPE ='I'))
BEGIN
IF(@DEP_CREATE ='DEP000000000014' OR (@DEP_CODE LIKE'%06906%' AND @DEP_CODE <> '0690605'))
BEGIN
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='PTGD' AND TLNANME ='hantt')
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
END
ELSE IF(@DEP_CODE ='0690405')
BEGIN
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='PTGD' AND TLNANME ='tupa')
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
END
END
END
END
SET @FLAG = 1
END
ELSE IF (@TYPE = 'TR_REQ_ADVANCE_PAYMENT_APR')
BEGIN
SET @REQ_TYPE =(SELECT TOP 1 REQ_TYPE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID=@PO_ID)
--SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
SET @BRANCH_CREATE = (SELECT TOP 1 BRANCH_CREATE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
SET @DEP_CREATE = (SELECT TOP 1 DEP_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
SET @DEP_CODE =(SELECT TOP 1 DEP_CODE FROM CM_DEPARTMENT WHERE DEP_ID =@DEP_CREATE)
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='TKTGD' AND @REQ_TYPE ='I'))
BEGIN
INSERT INTO @LST_USER_RECIVE SELECT TLNANME FROM TL_USER WHERE RoleName ='TKTGD'
END
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='TKHDQT' AND @REQ_TYPE ='I'))
BEGIN
INSERT INTO @LST_USER_RECIVE SELECT TLNANME FROM TL_USER WHERE RoleName ='TKHDQT'
END
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='TGD' AND @REQ_TYPE ='I'))
BEGIN
--SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='TGD')
--INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
INSERT INTO @LST_USER_RECIVE SELECT TLNANME FROM TL_USER WHERE RoleName ='TGD'
END
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='HDQT' AND @REQ_TYPE ='I'))
BEGIN
--SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='TGD')
--INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
INSERT INTO @LST_USER_RECIVE SELECT TLNANME FROM TL_USER WHERE RoleName ='HDQT'
END
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='GDK' AND @REQ_TYPE ='I'))
BEGIN
IF(@DEP_CREATE ='DEP000000000014' OR (@DEP_CODE LIKE'%06906%' AND @DEP_CODE <> '0690605'))
BEGIN
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='tunt')
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
END
ELSE IF((@DEP_CODE LIKE'%06909%'))
BEGIN
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='haipv')
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
END
ELSE IF((@DEP_CODE LIKE'%06921%'))
BEGIN
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='cuongpv2')
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
END
ELSE IF((@DEP_CODE LIKE'%06907%'))
BEGIN
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='linhvtk')
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
END
ELSE IF(@DEP_CODE LIKE'%06908%')
BEGIN
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='nhalc')
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
END
END
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='PTGD' AND @REQ_TYPE ='I'))
BEGIN
IF(@DEP_CREATE ='DEP000000000014' OR (@DEP_CODE LIKE'%06906%' AND @DEP_CODE <> '0690605'))
BEGIN
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='PTGD' AND TLNANME ='hantt')
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
END
ELSE IF( @DEP_CODE ='0690405')
BEGIN
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='PTGD' AND TLNANME ='tupa')
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
END
END
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@PO_ID AND AUTH_STATUS ='A'))
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TOP 1 MAKER_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID
--INSERT INTO @LST_USER_RECIVE (TLNAME)
--SELECT TOP 1 MAKER_ID_KT FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID
END
SET @FLAG = 1
END
-- Điều phối tạm ứng/ thanh toán PL_REQUEST_PROCESS_CHILD
ELSE IF (@TYPE = 'TR_REQ_PAYMENT_TRANSFER')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNAME FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID IN (SELECT REQ_PAY_ID FROM @l_LST_REQ_ID) AND TYPE_JOB = 'XL' AND STATUS_JOB ='C'
SET @FLAG = 1
END
--
ELSE IF (@TYPE = 'TR_REQ_ADVANCE_PAYMENT_KT_SEND_APR')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TOP 1 TLNAME FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @PO_ID AND TYPE_JOB = 'KS'
SET @FLAG = 1
END
ELSE IF (@TYPE = 'TR_REQ_ADVANCE_PAYMENT_KT_APPR')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TOP 1 MAKER_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TOP 1 MAKER_ID_KT FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID
SET @FLAG = 1
END
-- Thanh toán
ELSE IF (@TYPE = 'TR_REQ_PAYMENT_SEND_APR')
BEGIN
SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@PO_ID AND (TRASFER_USER_RECIVE IS NOT NULL AND TRASFER_USER_RECIVE <>'')))
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT TRASFER_USER_RECIVE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
END
ELSE
BEGIN
SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
SET @DEP_CREATE = (SELECT DEP_ID FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
SET @FATHER_ID = (SELECT FATHER_ID FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
IF(@BRANCH_TYPE = 'PGD' )
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND (RoleName IN ('TPGD','PP') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('TPGD','PP')))
END
ELSE IF(@BRANCH_TYPE = 'CN' )
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND (RoleName IN ('GDDV','PGD') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('GDDV','PGD')))
END
ELSE IF(@BRANCH_TYPE = 'HS' )
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND SECUR_CODE = @DEP_CREATE
AND (RoleName IN ('GDDV','PP') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('GDDV','PP')))
END
END
SET @FLAG = 1
END
ELSE IF(@TYPE = 'TR_REQ_PAYMENT_APR')
BEGIN
SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
IF(@AUTH_STATUS = 'A')
BEGIN
SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
SET @DEP_CREATE = (SELECT DEP_ID FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
SET @FATHER_ID = (SELECT FATHER_ID FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM TL_USER
WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
AND (RoleName = 'KSV' OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW = 'KSV'))
AND TLSUBBRID = 'DV0001' AND SECUR_CODE ='DEP000000000022'
SET @FLAG = 1
END
END
ELSE IF(@TYPE = 'TR_REQ_PAYMENT_CONFIRM')
BEGIN
SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
SET @PROCESS = ( SELECT TOP 1 PROCESS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
IF(@AUTH_STATUS = 'U' AND @PROCESS = '0')
BEGIN
SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
SET @DEP_CREATE = (SELECT DEP_ID FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
SET @FATHER_ID = (SELECT FATHER_ID FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
IF(@BRANCH_TYPE = 'PGD' )
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @FATHER_ID
AND (RoleName IN ('TPGD','PP') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('TPGD','PP')))
END
ELSE IF(@BRANCH_TYPE = 'CN' )
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND (RoleName IN ('GDDV','PGD') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('GDDV','PGD')))
END
ELSE IF(@BRANCH_TYPE = 'HS' )
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND SECUR_CODE = @DEP_CREATE
AND (RoleName IN ('GDDV','PP') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('GDDV','PP')))
END
SET @FLAG = 1
END
END
ELSE IF(@TYPE = 'TR_REQ_PAYMENT_KT_SEND_APR')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TOP 1 TLNAME FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @PO_ID AND TYPE_JOB = 'KS'
SET @FLAG = 1
END
ELSE IF(@TYPE = 'TR_REQ_PAYMENT_KT_APR')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TOP 1 MAKER_ID FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TOP 1 MAKER_ID_KT FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID
SET @FLAG = 1
END
-- Tờ trình chủ trương
ELSE IF(@TYPE = 'PL_SEND_APP' OR @TYPE ='PL_REQUEST_DOC_App' OR @TYPE ='REQ_PROCESS_CHILD_Upd' OR @TYPE='REQ_PROCESS_CHILD_App')
BEGIN
SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID)
INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @PO_ID,@MAKER_ID,'TTCT-DVKD'
SET @FLAG = 2
END
ELSE IF(@TYPE='PL_REQ_PROCESS_CHILD_Ins')
BEGIN
DECLARE @PLREQ_ID VARCHAR(15)
WHILE((SELECT COUNT(*) FROM @l_LST_REQ_ID) >0)
BEGIN
SET @PLREQ_ID =(SELECT TOP 1 REQ_PAY_ID FROM @l_LST_REQ_ID)
SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID)
INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @PLREQ_ID,@MAKER_ID,'TTCT-DVKD'
DELETE FROM @l_LST_REQ_ID WHERE REQ_PAY_ID =@PLREQ_ID
END
SET @FLAG = 2
END
ELSE IF(@TYPE='REQUEST_DOC_PROCESS_Approve')
BEGIN
IF(NOT EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID AND PROCESS_ID ='APPROVE'))
BEGIN
IF(NOT EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID AND PROCESS_ID ='TGD'))
BEGIN
SET @FLAG = 2
--SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID)
INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @PO_ID,@MAKER_ID,'TTCT-DVKD'
END
ELSE IF (EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID AND PROCESS_ID ='TGD'))
BEGIN
SET @FLAG = 2
--SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID)
INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @PO_ID,@MAKER_ID,'TTCT-DVKD'
INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP (REQ_ID,TLNAME) SELECT @PO_ID, TLNANME FROM TL_USER WHERE RoleName ='TKTGD'
END
ELSE IF (EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID AND PROCESS_ID ='HDQT'))
BEGIN
SET @FLAG = 2
--SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID)
INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @PO_ID,@MAKER_ID,'TTCT-DVKD'
--INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP (REQ_ID,TLNAME) SELECT @PO_ID, TLNANME FROM TL_USER WHERE RoleName ='TKTGD'
END
END
ELSE
BEGIN
SET @FLAG = 3
SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID)
--INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
--EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @REQ_ID,@MAKER_ID,'TTCT-DVKD'
END
END
-------------------------------------------------------------------------------------------------------
----- PHIẾU YÊU CẦU MUA SẮM --------------
ELSE IF(@TYPE = 'TR_REQUEST_DOC_SendApp' OR @TYPE ='TR_REQUEST_DOC_App' OR @TYPE ='TR_REQ_PROCESS_CHILD_App' OR @TYPE ='TR_REQ_PROCESS_CHILD_Upd' OR @TYPE='REQ_PROCESS_CHILD_App')
BEGIN
SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@PO_ID)
INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @PO_ID,@MAKER_ID,'PYCMS-DVKD'
SET @FLAG = 2
END
ELSE IF(@TYPE='TR_REQ_PROCESS_CHILD_Ins')
BEGIN
DECLARE @REQ_DOC_ID VARCHAR(15)
WHILE((SELECT COUNT(*) FROM @l_LST_REQ_ID) >0)
BEGIN
SET @REQ_DOC_ID =(SELECT TOP 1 REQ_PAY_ID FROM @l_LST_REQ_ID)
SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@PO_ID)
INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @REQ_DOC_ID,@MAKER_ID,'PYCMS-DVKD'
DELETE FROM @l_LST_REQ_ID WHERE REQ_PAY_ID =@REQ_DOC_ID
END
SET @FLAG = 2
END
ELSE IF(@TYPE='TR_REQUEST_DOC_PROCESS_Approve')
BEGIN
IF(NOT EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_ID =@PO_ID AND PROCESS_ID ='APPROVE'))
BEGIN
--SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@PO_ID)
INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @PO_ID,@MAKER_ID,'PYCMS-DVKD'
SET @FLAG = 3
END
ELSE
BEGIN
SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@PO_ID)
SET @NV_XL_MS =(SELECT TOP 1 USER_DVMS FROM TR_REQUEST_DOC WHERE REQ_ID =@PO_ID)
SET @FLAG = 4
END
END
------BAODNQ 4/1/2022: --------------
-----Khai báo DTSD nội bộ - gửi YC phê duyệt-------
ELSE IF @TYPE='BUD_CONTRACT_MASTER_SEND_APPROVE'
BEGIN
-----Có cấp phê duyệt trung gian-------
IF (EXISTS (SELECT*FROM BUD_CONTRACT_MASTER WHERE CONTRACT_ID = @PO_ID AND SIGN_USER IS NOT NULL))
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT A.SIGN_USER FROM BUD_CONTRACT_MASTER A WHERE A.CONTRACT_ID = @PO_ID)
END
ELSE
-----Ko có cấp phê duyệt trung gian-------
BEGIN
SET @BRANCH_CREATE = (SELECT BRANCH_ID FROM BUD_CONTRACT_MASTER WHERE CONTRACT_ID = @PO_ID)
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
SET @p_MAKER_ID = (SELECT MAKER_ID FROM BUD_CONTRACT_MASTER WHERE CONTRACT_ID = @PO_ID)
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
IF(@BRANCH_TYPE = 'PGD')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--(SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('TPGD', 'PPGD'))
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
END
ELSE IF(@BRANCH_TYPE = 'CN')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--(SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('GDDV', 'PDG'))
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
END
ELSE IF(@BRANCH_TYPE = 'HS')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--(SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND DEP_ID = @DEP_CREATE
--AND RoleName IN ('GDDV', 'PP'))
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND DEP_ID = @DEP_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
END
END
SET @FLAG = 5
END
-----Khai báo DTSD nội bộ - trung gian duyệt thành công-------
ELSE IF @TYPE='BUD_CONTRACT_MASTER_CONFIRM'
BEGIN
SET @BRANCH_CREATE = (SELECT BRANCH_ID FROM BUD_CONTRACT_MASTER WHERE CONTRACT_ID = @PO_ID)
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
SET @p_MAKER_ID = (SELECT MAKER_ID FROM BUD_CONTRACT_MASTER WHERE CONTRACT_ID = @PO_ID)
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
IF(@BRANCH_TYPE = 'PGD')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--(SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('TPGD', 'PPGD'))
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
END
ELSE IF(@BRANCH_TYPE = 'CN')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--(SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('GDDV', 'PDG'))
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
END
ELSE IF(@BRANCH_TYPE = 'HS')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--(SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND DEP_ID = @DEP_CREATE
--AND RoleName IN ('GDDV', 'PP'))
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND DEP_ID = @DEP_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
END
SET @FLAG = 5
END
-----Khai báo DTSD nội bộ - trưởng đơn vị đã duyệt, trả mail về cho ng tạo-------
ELSE IF @TYPE='BUD_CONTRACT_MASTER_APPROVED'
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT A.MAKER_ID FROM BUD_CONTRACT_MASTER A WHERE A.CONTRACT_ID = @PO_ID)
SET @FLAG = 5
END
---Quản lý hợp đồng khách thuê - gửi YC phê duyệt-----
ELSE IF @TYPE='BUD_CONTRACT_CUST_MASTER_SEND_APPROVE'
BEGIN
-----Có cấp phê duyệt trung gian-------
IF (EXISTS (SELECT*FROM BUD_CONTRACT_CUST_MASTER WHERE CONTRACT_ID = @PO_ID AND SIGN_USER IS NOT NULL))
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT A.SIGN_USER FROM BUD_CONTRACT_CUST_MASTER A WHERE A.CONTRACT_ID = @PO_ID)
END
ELSE
-----Ko có cấp phê duyệt trung gian-------
BEGIN
SET @BRANCH_CREATE = (SELECT BRANCH_ID FROM BUD_CONTRACT_CUST_MASTER WHERE CONTRACT_ID = @PO_ID)
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
SET @p_MAKER_ID = (SELECT MAKER_ID FROM BUD_CONTRACT_CUST_MASTER WHERE CONTRACT_ID = @PO_ID)
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
IF(@BRANCH_TYPE = 'PGD')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('TPGD', 'PP')
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
END
ELSE IF(@BRANCH_TYPE = 'CN')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('GDDV', 'PDG')
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
END
ELSE IF(@BRANCH_TYPE = 'HS')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND DEP_ID = @DEP_CREATE
--AND RoleName IN ('GDDV', 'PP')
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND DEP_ID = @DEP_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
END
END
SET @FLAG = 5
END
---Quản lý hợp đồng khách thuê - trung gian duyệt thành công-----
ELSE IF @TYPE='BUD_CONTRACT_CUST_MASTER_CONFIRM'
BEGIN
SET @BRANCH_CREATE = (SELECT BRANCH_ID FROM BUD_CONTRACT_CUST_MASTER WHERE CONTRACT_ID = @PO_ID)
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
SET @p_MAKER_ID = (SELECT MAKER_ID FROM BUD_CONTRACT_CUST_MASTER WHERE CONTRACT_ID = @PO_ID)
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
IF(@BRANCH_TYPE = 'PGD')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--(SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('TPGD', 'PP'))
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
END
ELSE IF(@BRANCH_TYPE = 'CN')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--(SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('GDDV', 'PDG'))
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
END
ELSE IF(@BRANCH_TYPE = 'HS')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--(SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND DEP_ID = @DEP_CREATE
--AND RoleName IN ('GDDV', 'PP'))
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND DEP_ID = @DEP_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
END
SET @FLAG = 5
END
---Quản lý hợp đồng khách thuê - trưởng đơn vị đã duyệt, trả mail về cho ng tạo-----
ELSE IF @TYPE='BUD_CONTRACT_CUST_MASTER_APPROVED'
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT A.MAKER_ID FROM BUD_CONTRACT_CUST_MASTER A WHERE A.CONTRACT_ID = @PO_ID)
SET @FLAG = 5
END
------datmq 7/1/2022: --------------
-----Quản lý trụ sở - gửi YC phê duyệt-------
ELSE IF @TYPE='BUD_MASTER_SEND_APPROVE'
BEGIN
-----Có cấp phê duyệt trung gian-------
IF (EXISTS (SELECT*FROM BUD_MASTER WHERE BUILDING_ID = @PO_ID AND SIGN_USER IS NOT NULL))
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT A.SIGN_USER FROM BUD_MASTER A WHERE A.BUILDING_ID = @PO_ID)
END
ELSE
-----Ko có cấp phê duyệt trung gian-------
BEGIN
SET @BRANCH_CREATE = (SELECT BRANCH_ID FROM BUD_MASTER WHERE BUILDING_ID = @PO_ID)
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
SET @p_MAKER_ID = (SELECT MAKER_ID FROM BUD_MASTER WHERE BUILDING_ID = @PO_ID)
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
IF(@BRANCH_TYPE = 'PGD')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('TPGD', 'PP')
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
END
ELSE IF(@BRANCH_TYPE = 'CN')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('GDDV', 'PDG')
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
END
ELSE IF(@BRANCH_TYPE = 'HS')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND DEP_ID = @DEP_CREATE
--AND RoleName IN ('GDDV', 'PP')
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND DEP_ID = @DEP_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
END
END
SET @FLAG = 6
END
-----Quản lý trụ sở - trung gian duyệt thành công-------
ELSE IF @TYPE='BUD_MASTER_CONFIRM'
BEGIN
SET @BRANCH_CREATE = (SELECT BRANCH_ID FROM BUD_MASTER WHERE BUILDING_ID = @PO_ID)
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
SET @p_MAKER_ID = (SELECT MAKER_ID FROM BUD_MASTER WHERE BUILDING_ID = @PO_ID)
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
IF(@BRANCH_TYPE = 'PGD')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--(SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('TPGD', 'PPGD'))
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
END
ELSE IF(@BRANCH_TYPE = 'CN')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--(SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('GDDV', 'PDG'))
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
END
ELSE IF(@BRANCH_TYPE = 'HS')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--(SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND DEP_ID = @DEP_CREATE
--AND RoleName IN ('GDDV', 'PP'))
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND DEP_ID = @DEP_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
END
SET @FLAG = 6
END
---Quản lý trụ sở - trưởng đơn vị đã duyệt, trả mail về cho ng tạo-----
ELSE IF @TYPE='BUD_MASTER_APPROVED'
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT A.MAKER_ID FROM BUD_MASTER A WHERE A.BUILDING_ID = @PO_ID)
SET @FLAG = 6
END
-----PhongNT 15/9/2022: Quản lý TSCĐ/CCLĐ--------
-- Thêm mới tài sản HCQT
--ELSE IF @TYPE = 'ASS_SEND_TDV'
--BEGIN
-- --cắt chuỗi lấy PREFIX để xác định Thêm mới, Xuất, Điều chuyển, Thu hồi, Thanh lý
-- SET @SYS_PREFIX =(SELECT LEFT(Val,PATINDEX('%[^a-z]%', Val+'0')-1) from(
-- SELECT SUBSTRING(@PO_ID, PATINDEX('%[a-z]%', @PO_ID), LEN(@PO_ID)) Val
-- )x)
-- SELECT @PAGE = sp.ID
-- FROM SYS_PREFIX sp WHERE sp.Prefix = @SYS_PREFIX
-- -- SET @BRANCH_CREATE = (SELECT BRANCH_ID FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @PO_ID)
-- --SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
-- --SET @p_MAKER_ID = (SELECT MAKER_ID FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @PO_ID)
-- --SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
-- IF(@PAGE='ASS_ADDNEW')
-- BEGIN
-- SELECT @BRANCH_CREATE = B.TLSUBBRID, @BRANCH_TYPE = B.BRANCH_TYPE, @DEP_CREATE = B.DEP_ID
-- FROM (SELECT MAKER_ID FROM ASS_ADDNEW WHERE ADDNEW_ID =@PO_ID) A
-- LEFT JOIN TL_USER B ON B.TLNANME = A.MAKER_ID
-- END
-- ELSE IF(@PAGE='ASS_COLLECT_MULTI_MASTER')
-- BEGIN
-- SELECT @BRANCH_CREATE=B.TLSUBBRID, @BRANCH_TYPE =B.BRANCH_TYPE, @DEP_CREATE = B.DEP_ID
-- FROM (SELECT MAKER_ID FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID =@PO_ID) A
-- LEFT JOIN TL_USER B ON B.TLNANME = A.MAKER_ID
-- END
-- ELSE IF(@PAGE='ASS_TRANSFER_MULTI_MASTER')
-- BEGIN
-- SELECT @BRANCH_CREATE=B.TLSUBBRID, @BRANCH_TYPE =B.BRANCH_TYPE, @DEP_CREATE = B.DEP_ID
-- FROM (SELECT MAKER_ID FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID =@PO_ID) A
-- LEFT JOIN TL_USER B ON B.TLNANME = A.MAKER_ID
-- END
-- ELSE IF(@PAGE='ASS_USE_MULTI_MASTER')
-- BEGIN
-- SELECT @BRANCH_CREATE=B.TLSUBBRID, @BRANCH_TYPE =B.BRANCH_TYPE, @DEP_CREATE = B.DEP_ID
-- FROM (SELECT MAKER_ID FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID =@PO_ID) A
-- LEFT JOIN TL_USER B ON B.TLNANME = A.MAKER_ID
-- END
-- ELSE IF(@PAGE='ASS_LIQUIDATION')
-- BEGIN
-- SELECT @BRANCH_CREATE=B.TLSUBBRID, @BRANCH_TYPE =B.BRANCH_TYPE, @DEP_CREATE = B.DEP_ID
-- FROM (SELECT MAKER_ID FROM ASS_LIQUIDATION WHERE LIQ_ID =@PO_ID) A
-- LEFT JOIN TL_USER B ON B.TLNANME = A.MAKER_ID
-- END
-- IF (@BRANCH_TYPE = 'HS')
-- BEGIN
-- INSERT INTO @LST_USER_RECIVE (TLNAME)
-- (SELECT TLNANME FROM TL_USER
-- WHERE 1=1
-- AND TLSUBBRID = @BRANCH_CREATE
-- AND SECUR_CODE = @DEP_CREATE
-- AND EXISTS(SELECT * FROM [dbo].[TL_USER_GET_ROLES](TLNANME) WHERE ROLE_ID IN ('GDDV','TP'))
-- UNION ALL
-- SELECT TLNAME AS TLNANME FROM dbo.TL_SYS_ROLE_MAPPING
-- WHERE 1=1
-- AND BRANCH_ID = @BRANCH_CREATE
-- AND DEP_ID = @DEP_CREATE
-- AND ROLE_NEW IN ('GDDV','TP')
-- AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
-- AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE =''))
-- END
-- ELSE
-- BEGIN
-- INSERT INTO @LST_USER_RECIVE (TLNAME)
-- (SELECT TLNANME FROM TL_USER
-- WHERE 1=1
-- AND TLSUBBRID = @BRANCH_CREATE
-- AND EXISTS(SELECT * FROM [dbo].[TL_USER_GET_ROLES](TLNANME) WHERE ROLE_ID IN ('GDDV','TPGD'))
-- UNION ALL
-- SELECT TLNAME AS TLNANME FROM dbo.TL_SYS_ROLE_MAPPING
-- WHERE 1=1
-- AND BRANCH_ID = @BRANCH_CREATE
-- AND ROLE_NEW IN ('GDDV','TPGD')
-- AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
-- AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE =''))
-- END
-- SET @FLAG = 6
--END
--ELSE IF @TYPE = 'ASS_SEND_GDV'
-- BEGIN
-- INSERT INTO @LST_USER_RECIVE (TLNAME)
-- SELECT TLNANME
-- FROM TL_USER
-- WHERE 1=1
-- AND TLSUBBRID = 'DV0001'
-- AND EXISTS(SELECT * FROM [dbo].[TL_USER_GET_ROLES](TLNANME) WHERE ROLE_ID IN ('GDV'))
-- SET @FLAG = 6
-- END
ELSE IF @TYPE = 'ASS_REJECT_GDV'
BEGIN
--cắt chuỗi lấy PREFIX để xác định Thêm mới, Xuất, Điều chuyển, Thu hồi, Thanh lý
SET @SYS_PREFIX =(SELECT LEFT(Val,PATINDEX('%[^a-z]%', Val+'0')-1) from(
SELECT SUBSTRING(@PO_ID, PATINDEX('%[a-z]%', @PO_ID), LEN(@PO_ID)) Val
)x)
SELECT @PAGE = sp.ID
FROM SYS_PREFIX sp WHERE sp.Prefix = @SYS_PREFIX
IF(@PAGE='ASS_ADDNEW')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(
SELECT MAKER_ID_KT
FROM ASS_ADDNEW
WHERE ADDNEW_ID = @PO_ID
)
END
ELSE IF(@PAGE='ASS_COLLECT_MULTI_MASTER')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(
SELECT MAKER_ID_KT
FROM ASS_COLLECT_MULTI_MASTER
WHERE COL_MULTI_MASTER_ID = @PO_ID
)
END
ELSE IF(@PAGE='ASS_TRANSFER_MULTI_MASTER')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(
SELECT MAKER_ID_KT
FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @PO_ID
)
END
ELSE IF(@PAGE='ASS_USE_MULTI_MASTER')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(
SELECT MAKER_ID_KT
FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @PO_ID
)
END
ELSE IF(@PAGE='ASS_LIQUIDATION')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(
SELECT MAKER_ID_KT
FROM ASS_LIQUIDATION WHERE LIQ_ID = @PO_ID
)
END
SET @FLAG = 6
END
--ELSE IF @TYPE = 'ASS_SEND_KSV'
-- BEGIN
-- INSERT INTO @LST_USER_RECIVE (TLNAME)
-- SELECT TLNANME
-- FROM TL_USER
-- WHERE 1=1
-- AND TLSUBBRID = 'DV0001'
-- AND EXISTS(SELECT * FROM [dbo].[TL_USER_GET_ROLES](TLNANME) WHERE ROLE_ID IN ('KSV'))
-- SET @FLAG = 6
-- END
ELSE IF @TYPE = 'ASS_APPROVED'
BEGIN
--cắt chuỗi lấy PREFIX để xác định Thêm mới, Xuất, Điều chuyển, Thu hồi, Thanh lý
SET @SYS_PREFIX =(SELECT LEFT(Val,PATINDEX('%[^a-z]%', Val+'0')-1) from(
SELECT SUBSTRING(@PO_ID, PATINDEX('%[a-z]%', @PO_ID), LEN(@PO_ID)) Val
)x)
SELECT @PAGE = sp.ID
FROM SYS_PREFIX sp WHERE sp.Prefix = @SYS_PREFIX
IF(@PAGE='ASS_ADDNEW')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT MAKER_ID
FROM ASS_ADDNEW
WHERE ADDNEW_ID = @PO_ID
--UNION
--SELECT MAKER_ID_KT
--FROM ASS_ADDNEW
--WHERE ADDNEW_ID = @PO_ID
)
END
ELSE IF(@PAGE='ASS_COLLECT_MULTI_MASTER')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT MAKER_ID
FROM ASS_COLLECT_MULTI_MASTER
WHERE COL_MULTI_MASTER_ID = @PO_ID
--UNION
--SELECT MAKER_ID_KT
--FROM ASS_COLLECT_MULTI_MASTER
--WHERE COL_MULTI_MASTER_ID = @PO_ID
)
END
ELSE IF(@PAGE='ASS_TRANSFER_MULTI_MASTER')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT MAKER_ID
FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @PO_ID
--UNION
--SELECT MAKER_ID_KT
--FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @PO_ID
)
END
ELSE IF(@PAGE='ASS_USE_MULTI_MASTER')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT MAKER_ID
FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @PO_ID
--UNION
--SELECT MAKER_ID_KT
--FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @PO_ID
)
END
ELSE IF(@PAGE='ASS_LIQUIDATION')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT MAKER_ID
FROM ASS_LIQUIDATION WHERE LIQ_ID = @PO_ID
--UNION
--SELECT MAKER_ID_KT
--FROM ASS_LIQUIDATION WHERE LIQ_ID = @PO_ID
)
END
SET @FLAG = 6
END
ELSE IF @TYPE = 'ASS_SEND_NT'
BEGIN
--cắt chuỗi lấy PREFIX để xác định Thêm mới, Xuất, Điều chuyển, Thu hồi, Thanh lý
SET @SYS_PREFIX =(SELECT LEFT(Val,PATINDEX('%[^a-z]%', Val+'0')-1) from(
SELECT SUBSTRING(@PO_ID, PATINDEX('%[a-z]%', @PO_ID), LEN(@PO_ID)) Val
)x)
SELECT @PAGE = sp.ID
FROM SYS_PREFIX sp WHERE sp.Prefix = @SYS_PREFIX
IF(@PAGE='ASS_ADDNEW')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT MAKER_ID
FROM ASS_ADDNEW
WHERE ADDNEW_ID = @PO_ID
)
END
ELSE IF(@PAGE='ASS_COLLECT_MULTI_MASTER')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT MAKER_ID
FROM ASS_COLLECT_MULTI_MASTER
WHERE COL_MULTI_MASTER_ID = @PO_ID
)
END
ELSE IF(@PAGE='ASS_TRANSFER_MULTI_MASTER')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT MAKER_ID
FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @PO_ID
)
END
ELSE IF(@PAGE='ASS_USE_MULTI_MASTER')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT MAKER_ID
FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @PO_ID
)
END
ELSE IF(@PAGE='ASS_LIQUIDATION')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT MAKER_ID
FROM ASS_LIQUIDATION WHERE LIQ_ID = @PO_ID
)
END
ELSE IF(@PAGE = 'ASS_PRIVATE_TRANSFER_MASTER')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT MAKER_ID
FROM ASS_PRIVATE_TRANSFER_MASTER WHERE TRANS_MULTI_MASTER_ID = @PO_ID
)
END
ELSE IF(@PAGE = 'ASS_REPAIR_MULTI_MASTER')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT MAKER_ID
FROM ASS_REPAIR_MULTI_MASTER WHERE REPAIR_MUL_ID = @PO_ID
)
END
ELSE IF(@PAGE = 'ASS_INVENTORY_MASTER')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT MAKER_ID
FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @PO_ID
)
END
--TRẢ VỀ NGƯỜI TẠO. PYC DC,SC,TH,CPTS
SET @REQ_TYPE = (SELECT TOP 1 REQ_TYPE FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID = @PO_ID)
IF(@REQ_TYPE IS NOT NULL AND @REQ_TYPE <> '')
BEGIN
INSERT INTO @LST_USER_RECIVE(TLNAME)
SELECT MAKER_ID FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID = @PO_ID
END
SET @FLAG = 6
END
ELSE IF @TYPE = 'ASS_SEND_CONFIRM'
BEGIN
--cắt chuỗi lấy PREFIX để xác định Thêm mới, Xuất, Điều chuyển, Thu hồi, Thanh lý
SET @SYS_PREFIX =(SELECT LEFT(Val,PATINDEX('%[^a-z]%', Val+'0')-1) from(
SELECT SUBSTRING(@PO_ID, PATINDEX('%[a-z]%', @PO_ID), LEN(@PO_ID)) Val
)x)
SELECT @PAGE = sp.ID
FROM SYS_PREFIX sp WHERE sp.Prefix = @SYS_PREFIX
DECLARE @BRANCH_ID VARCHAR(20),@DEP_ID VARCHAR(20)
PRINT @PAGE
IF(@PAGE='ASS_COLLECT_MULTI_MASTER')
BEGIN
SELECT TOP 1 @BRANCH_CREATE = BRANCH_ID_RECEIVE, @DEP_CREATE = DEPT_ID_RECEIVE,@BRANCH_TYPE =B.BRANCH_TYPE
FROM dbo.ASS_COLLECT_MULTI_DT A
LEFT JOIN dbo.CM_BRANCH B ON A.BRANCH_ID_RECEIVE =B.BRANCH_ID
WHERE COL_MULTI_MASTER_ID = @PO_ID
ORDER BY COLLECT_MULTI_ID ASC
END
ELSE IF(@PAGE='ASS_USE_MULTI_MASTER')
BEGIN
--SELECT TOP 1 @BRANCH_CREATE = A.BRANCH_ID, @DEP_CREATE = DEPT_ID,@BRANCH_TYPE =B.BRANCH_TYPE
--FROM dbo.ASS_USE_MULTI_DT A
--LEFT JOIN dbo.CM_BRANCH B ON A.BRANCH_ID =B.BRANCH_ID
--WHERE USE_MULTI_ID = @PO_ID
--ORDER BY USE_MULTI_ID ASC
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT MAKER_ID
FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @PO_ID
)
END
ELSE IF(@PAGE='ASS_ADDNEW')
BEGIN
SELECT TOP 1 @BRANCH_CREATE = A.BRANCH_ID, @DEP_CREATE = DEPT_ID,@BRANCH_TYPE =B.BRANCH_TYPE
FROM dbo.ASS_ADDNEW A
LEFT JOIN dbo.CM_BRANCH B ON A.BRANCH_ID =B.BRANCH_ID
WHERE ADDNEW_ID = @PO_ID
ORDER BY ADDNEW_ID ASC
END
PRINT @BRANCH_CREATE
PRINT @DEP_CREATE
--IF (@BRANCH_TYPE = 'HS')
--BEGIN
-- INSERT INTO @LST_USER_RECIVE (TLNAME)
-- (SELECT TLNANME FROM TL_USER
-- WHERE 1=1
-- AND TLSUBBRID = @BRANCH_CREATE
-- AND SECUR_CODE = @DEP_CREATE
-- AND EXISTS(SELECT * FROM [dbo].[TL_USER_GET_ROLES](TLNANME) WHERE ROLE_ID IN ('GDDV','TP'))
-- UNION ALL
-- SELECT TLNAME AS TLNANME FROM dbo.TL_SYS_ROLE_MAPPING
-- WHERE 1=1
-- AND
-- ((BRANCH_ID = @BRANCH_ID AND DEP_ID = @DEP_ID)
-- OR
-- (BRANCH_ID = @BRANCH_CREATE AND DEP_ID = @DEP_CREATE))
-- AND ROLE_NEW IN ('GDDV','TP')
-- AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
-- AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE =''))
--END
--ELSE
--BEGIN
-- INSERT INTO @LST_USER_RECIVE (TLNAME)
-- (SELECT TLNANME FROM TL_USER
-- WHERE 1=1
-- AND TLSUBBRID = @BRANCH_CREATE
-- AND EXISTS(SELECT * FROM [dbo].[TL_USER_GET_ROLES](TLNANME) WHERE ROLE_ID IN ('GDDV','TPGD'))
-- UNION ALL
-- SELECT TLNAME AS TLNANME FROM dbo.TL_SYS_ROLE_MAPPING
-- WHERE 1=1
-- AND
-- ((BRANCH_ID = @BRANCH_ID)
-- OR
-- (BRANCH_ID = @BRANCH_CREATE))
-- AND ROLE_NEW IN ('GDDV','TPGD')
-- AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
-- AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE =''))
--END
SET @FLAG =6
END
ELSE IF @TYPE ='ASS_TRANSFER_CONFIRM_HANDOVER'
BEGIN
SELECT TOP 1 @BRANCH_CREATE=A.BRANCH_ID_OLD,@DEP_CREATE =DEPT_ID_OLD,@BRANCH_TYPE =b.BRANCH_TYPE
FROM dbo.ASS_TRANSFER_MULTI_DT A
LEFT JOIN dbo.CM_BRANCH B ON B.BRANCH_ID = A.BRANCH_ID_OLD
ORDER BY TRANSFER_MULTI_ID ASC
IF (@BRANCH_TYPE = 'HS')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT TLNANME FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND SECUR_CODE = @DEP_CREATE
AND EXISTS(SELECT * FROM [dbo].[TL_USER_GET_ROLES](TLNANME) WHERE ROLE_ID IN ('GDDV','TP'))
UNION ALL
SELECT TLNAME AS TLNANME FROM dbo.TL_SYS_ROLE_MAPPING
WHERE 1=1
AND
((BRANCH_ID = @BRANCH_ID AND DEP_ID = @DEP_ID)
OR
(BRANCH_ID = @BRANCH_CREATE AND DEP_ID = @DEP_CREATE))
AND ROLE_NEW IN ('GDDV','TP')
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE =''))
END
ELSE
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT TLNANME FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM [dbo].[TL_USER_GET_ROLES](TLNANME) WHERE ROLE_ID IN ('GDDV','TPGD'))
UNION ALL
SELECT TLNAME AS TLNANME FROM dbo.TL_SYS_ROLE_MAPPING
WHERE 1=1
AND
((BRANCH_ID = @BRANCH_ID)
OR
(BRANCH_ID = @BRANCH_CREATE))
AND ROLE_NEW IN ('GDDV','TPGD')
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE =''))
END
END
ELSE IF @TYPE ='ASS_TRANSFER_CONFIRM_RECEIVER'
BEGIN
SELECT TOP 1 @BRANCH_CREATE=A.BRANCH_ID,@DEP_CREATE =DEPT_ID,@BRANCH_TYPE =b.BRANCH_TYPE
FROM dbo.ASS_TRANSFER_MULTI_DT A
LEFT JOIN dbo.CM_BRANCH B ON B.BRANCH_ID = A.BRANCH_ID
ORDER BY TRANSFER_MULTI_ID ASC
IF (@BRANCH_TYPE = 'HS')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT TLNANME FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND SECUR_CODE = @DEP_CREATE
AND EXISTS(SELECT * FROM [dbo].[TL_USER_GET_ROLES](TLNANME) WHERE ROLE_ID IN ('GDDV','TP'))
UNION ALL
SELECT TLNAME AS TLNANME FROM dbo.TL_SYS_ROLE_MAPPING
WHERE 1=1
AND
((BRANCH_ID = @BRANCH_ID AND DEP_ID = @DEP_ID)
OR
(BRANCH_ID = @BRANCH_CREATE AND DEP_ID = @DEP_CREATE))
AND ROLE_NEW IN ('GDDV','TP')
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE =''))
END
ELSE
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT TLNANME FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM [dbo].[TL_USER_GET_ROLES](TLNANME) WHERE ROLE_ID IN ('GDDV','TPGD'))
UNION ALL
SELECT TLNAME AS TLNANME FROM dbo.TL_SYS_ROLE_MAPPING
WHERE 1=1
AND
((BRANCH_ID = @BRANCH_ID)
OR
(BRANCH_ID = @BRANCH_CREATE))
AND ROLE_NEW IN ('GDDV','TPGD')
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE =''))
END
END
ELSE IF @TYPE ='ASS_INVENTORY_RECIVE_MAIL'
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT PARTY_NAME FROM dbo.ASS_INVENTORY_PARTY_DT WHERE IS_RECIVE_MAIL =1)
END
ELSE IF @TYPE ='ASS_INVENTORY_MAIN'
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT PARTY_NAME FROM dbo.ASS_INVENTORY_PARTY_DT WHERE IS_MAIN = 1)
END
----------BAODNQ :15/2/2022 --Xử lý gửi mail cho phân hệ Quản lý BDS---------
---Quản lý BDS- gửi YC phê duyệt-----
ELSE IF @TYPE='RET_MASTER_SEND_APPROVE'
BEGIN
-----Có cấp phê duyệt trung gian-------
IF (EXISTS (SELECT * FROM RET_MASTER WHERE RET_ID = @PO_ID AND SIGN_USER IS NOT NULL))
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT A.SIGN_USER FROM RET_MASTER A WHERE A.RET_ID = @PO_ID)
END
ELSE
-----Ko có cấp phê duyệt trung gian-------
BEGIN
SET @BRANCH_CREATE =
(SELECT B.BRANCH_ID
FROM RET_MASTER A
LEFT JOIN ASS_MASTER B ON A.ASSET_ID = B.ASSET_ID
WHERE RET_ID = @PO_ID)
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
SET @p_MAKER_ID = (SELECT MAKER_ID FROM RET_MASTER WHERE RET_ID = @PO_ID)
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
IF(@BRANCH_TYPE = 'PGD')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('TPGD', 'PP')
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
END
ELSE IF(@BRANCH_TYPE = 'CN')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('GDDV', 'PDG')
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
END
ELSE IF(@BRANCH_TYPE = 'HS')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND DEP_ID = @DEP_CREATE
--AND RoleName IN ('GDDV', 'PP')
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND DEP_ID = @DEP_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
END
END
SET @FLAG = 7
END
---Quản lý BDS - trung gian duyệt thành công-----
ELSE IF @TYPE='RET_MASTER_CONFIRM'
BEGIN
SET @BRANCH_CREATE =
(SELECT B.BRANCH_ID
FROM RET_MASTER A
LEFT JOIN ASS_MASTER B ON A.ASSET_ID = B.ASSET_ID
WHERE RET_ID = @PO_ID)
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
SET @p_MAKER_ID = (SELECT MAKER_ID FROM RET_MASTER WHERE RET_ID = @PO_ID)
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
IF(@BRANCH_TYPE = 'PGD')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--(SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('TPGD', 'PP'))
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
END
ELSE IF(@BRANCH_TYPE = 'CN')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--(SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('GDDV', 'PDG'))
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
END
ELSE IF(@BRANCH_TYPE = 'HS')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--(SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND DEP_ID = @DEP_CREATE
--AND RoleName IN ('GDDV', 'PP'))
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND DEP_ID = @DEP_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
END
SET @FLAG = 7
END
---Quản lý BDS - trưởng đơn vị đã duyệt, trả mail về cho ng tạo-----
ELSE IF @TYPE='RET_MASTER_APPROVED'
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT A.MAKER_ID FROM RET_MASTER A WHERE A.RET_ID = @PO_ID)
SET @FLAG = 7
END
---Thông tin sửa chữa BDS- gửi YC phê duyệt-----
ELSE IF @TYPE='RET_REPAIR_SEND_APPROVE'
BEGIN
-----Có cấp phê duyệt trung gian-------
IF (EXISTS (SELECT*FROM RET_REPAIR WHERE RP_ID = @PO_ID AND SIGN_USER IS NOT NULL))
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT A.SIGN_USER FROM RET_REPAIR A WHERE A.RP_ID = @PO_ID)
END
ELSE
-----Ko có cấp phê duyệt trung gian-------
BEGIN
SET @BRANCH_CREATE = (SELECT OFFER_BRANCH FROM RET_REPAIR WHERE RP_ID = @PO_ID)
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
SET @p_MAKER_ID = (SELECT MAKER_ID FROM RET_REPAIR WHERE RP_ID = @PO_ID)
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
IF(@BRANCH_TYPE = 'PGD')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('TPGD', 'PP')
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
END
ELSE IF(@BRANCH_TYPE = 'CN')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('GDDV', 'PDG')
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
END
ELSE IF(@BRANCH_TYPE = 'HS')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND DEP_ID = @DEP_CREATE
--AND RoleName IN ('GDDV', 'PP')
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND DEP_ID = @DEP_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
END
END
SET @FLAG = 7
END
---Thông tin sửa chữa BDS - trung gian duyệt thành công-----
ELSE IF @TYPE='RET_REPAIR_CONFIRM'
BEGIN
SET @BRANCH_CREATE = (SELECT OFFER_BRANCH FROM RET_REPAIR WHERE RP_ID = @PO_ID)
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
SET @p_MAKER_ID = (SELECT MAKER_ID FROM RET_REPAIR WHERE RP_ID = @PO_ID)
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
IF(@BRANCH_TYPE = 'PGD')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--(SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('TPGD', 'PP'))
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
END
ELSE IF(@BRANCH_TYPE = 'CN')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--(SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('GDDV', 'PDG'))
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
END
ELSE IF(@BRANCH_TYPE = 'HS')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--(SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND DEP_ID = @DEP_CREATE
--AND RoleName IN ('GDDV', 'PP'))
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND DEP_ID = @DEP_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
END
SET @FLAG = 7
END
---Thông tin sửa chữa BDS - trưởng đơn vị đã duyệt, trả mail về cho ng tạo-----
ELSE IF @TYPE='RET_REPAIR_APPROVED'
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT A.MAKER_ID FROM RET_REPAIR A WHERE A.RP_ID = @PO_ID)
SET @FLAG = 7
END
---BDS thuê làm trụ sở CN/PGD - gửi YC phê duyệt-----
ELSE IF @TYPE='REAL_ESTATE_R_H_SEND_APPROVE'
BEGIN
-----Có cấp phê duyệt trung gian-------
IF (EXISTS (SELECT*FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @PO_ID AND SIGN_USER IS NOT NULL))
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT A.SIGN_USER FROM REAL_ESTATE_R_H A WHERE A.RET_R_H_ID = @PO_ID)
END
ELSE
-----Ko có cấp phê duyệt trung gian-------
BEGIN
SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @PO_ID)
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
SET @p_MAKER_ID = (SELECT MAKER_ID FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @PO_ID)
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
IF(@BRANCH_TYPE = 'PGD')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('TPGD', 'PP')
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
END
ELSE IF(@BRANCH_TYPE = 'CN')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('GDDV', 'PDG')
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
END
ELSE IF(@BRANCH_TYPE = 'HS')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND DEP_ID = @DEP_CREATE
--AND RoleName IN ('GDDV', 'PP')
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND DEP_ID = @DEP_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
END
END
SET @FLAG = 7
END
---BDS thuê làm trụ sở CN/PGD - trung gian duyệt thành công-----
ELSE IF @TYPE='REAL_ESTATE_R_H_CONFIRM'
BEGIN
SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @PO_ID)
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
SET @p_MAKER_ID = (SELECT MAKER_ID FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @PO_ID)
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
IF(@BRANCH_TYPE = 'PGD')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--(SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('TPGD', 'PP'))
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
END
ELSE IF(@BRANCH_TYPE = 'CN')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--(SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('GDDV', 'PDG'))
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
END
ELSE IF(@BRANCH_TYPE = 'HS')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--(SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND DEP_ID = @DEP_CREATE
--AND RoleName IN ('GDDV', 'PP'))
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND DEP_ID = @DEP_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
END
SET @FLAG = 7
END
---BDS thuê làm trụ sở CN/PGD - trưởng đơn vị đã duyệt, trả mail về cho ng tạo-----
ELSE IF @TYPE='REAL_ESTATE_R_H_APPROVED'
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT A.MAKER_ID FROM REAL_ESTATE_R_H A WHERE A.RET_R_H_ID = @PO_ID)
SET @FLAG = 7
END
---BDS đang hoàn thiện thủ tục pháp lý - gửi YC phê duyệt-----
ELSE IF @TYPE='REAL_ESTATE_L_C_SEND_APPROVE'
BEGIN
-----Có cấp phê duyệt trung gian-------
IF (EXISTS (SELECT*FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @PO_ID AND SIGN_USER IS NOT NULL))
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT A.SIGN_USER FROM REAL_ESTATE_L_C A WHERE A.RET_L_C_ID = @PO_ID)
END
ELSE
-----Ko có cấp phê duyệt trung gian-------
BEGIN
SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @PO_ID)
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
SET @p_MAKER_ID = (SELECT MAKER_ID FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @PO_ID)
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
IF(@BRANCH_TYPE = 'PGD')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('TPGD', 'PP')
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
END
ELSE IF(@BRANCH_TYPE = 'CN')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('GDDV', 'PDG')
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
END
ELSE IF(@BRANCH_TYPE = 'HS')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND DEP_ID = @DEP_CREATE
--AND RoleName IN ('GDDV', 'PP')
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND DEP_ID = @DEP_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
END
END
SET @FLAG = 7
END
---BDS đang hoàn thiện thủ tục pháp lý - trung gian duyệt thành công-----
ELSE IF @TYPE='REAL_ESTATE_L_C_CONFIRM'
BEGIN
SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @PO_ID)
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
SET @p_MAKER_ID = (SELECT MAKER_ID FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @PO_ID)
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
IF(@BRANCH_TYPE = 'PGD')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--(SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('TPGD', 'PP'))
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
END
ELSE IF(@BRANCH_TYPE = 'CN')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--(SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND RoleName IN ('GDDV', 'PDG'))
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
END
ELSE IF(@BRANCH_TYPE = 'HS')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
--(SELECT TLNANME FROM TL_USER
--WHERE 1=1
--AND TLSUBBRID = @BRANCH_CREATE
--AND DEP_ID = @DEP_CREATE
--AND RoleName IN ('GDDV', 'PP'))
SELECT TLNANME
FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND DEP_ID = @DEP_CREATE
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
END
SET @FLAG = 7
END
---BDS đang hoàn thiện thủ tục pháp lý - trưởng đơn vị đã duyệt, trả mail về cho ng tạo-----
ELSE IF @TYPE='REAL_ESTATE_L_C_APPROVED'
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT A.MAKER_ID FROM REAL_ESTATE_L_C A WHERE A.RET_L_C_ID = @PO_ID)
SET @FLAG = 7
END
--PHONGNT 24/2/2022 PHIẾU YÊU CẦU CÔNG TÁC--
---PHIẾU YÊU CẦU CÔNG TÁC - gửi YC phê duyệt---
ELSE IF @TYPE='TR_REQUEST_JOB_FORM_SEND_APPROVE'
BEGIN
-----Có cấp phê duyệt trung gian-------
IF (EXISTS (SELECT*FROM TR_REQUEST_JOB_FORM WHERE REQ_ID = @PO_ID AND SIGN_USER IS NOT NULL))
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT A.SIGN_USER FROM TR_REQUEST_JOB_FORM A WHERE A.REQ_ID = @PO_ID)
END
ELSE
-----Ko có cấp phê duyệt trung gian-------
BEGIN
SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQUEST_JOB_FORM WHERE REQ_ID = @PO_ID)
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
SET @p_MAKER_ID = (SELECT MAKER_ID FROM TR_REQUEST_JOB_FORM WHERE @PO_ID = @PO_ID)
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
IF(@BRANCH_TYPE = 'PGD')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND RoleName IN ('TPGD', 'PP')
END
ELSE IF(@BRANCH_TYPE = 'CN')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND RoleName IN ('GDDV', 'PDG')
END
ELSE IF(@BRANCH_TYPE = 'HS')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND DEP_ID = @DEP_CREATE
AND RoleName IN ('GDDV', 'PP')
END
END
SET @FLAG = 7
END
---Phiếu yêu cầu công tác - trung gian duyệt thành công-----
ELSE IF @TYPE='TR_REQUEST_JOB_FORM_CONFIRM'
BEGIN
SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQUEST_JOB_FORM WHERE REQ_ID = @PO_ID)
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
SET @p_MAKER_ID = (SELECT MAKER_ID FROM TR_REQUEST_JOB_FORM WHERE REQ_ID = @PO_ID)
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
IF(@BRANCH_TYPE = 'PGD')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT TLNANME FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND RoleName IN ('TPGD', 'PP'))
END
ELSE IF(@BRANCH_TYPE = 'CN')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT TLNANME FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND RoleName IN ('GDDV', 'PDG'))
END
ELSE IF(@BRANCH_TYPE = 'HS')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT TLNANME FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND DEP_ID = @DEP_CREATE
AND RoleName IN ('GDDV', 'PP'))
END
SET @FLAG = 7
END
---Phiếu yêu cầu công tác - trưởng đơn vị đã duyệt, trả mail về cho ng tạo-----
ELSE IF @TYPE='TR_REQUEST_JOB_FORM_APPROVED'
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT A.MAKER_ID FROM TR_REQUEST_JOB_FORM A WHERE A.REQ_ID = @PO_ID)
SET @FLAG = 7
END
--PHONGNT 24/2/2022 PHIẾU YÊU CẦU XE--
---PHIẾU YÊU CẦU XE - gửi YC phê duyệt---
ELSE IF @TYPE='TR_REQUEST_CAR_SEND_TDV'
BEGIN
SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQUEST_CAR WHERE REQ_ID = @PO_ID)
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
SET @p_MAKER_ID = (SELECT MAKER_ID FROM TR_REQUEST_CAR WHERE REQ_ID = @PO_ID)
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
IF(@BRANCH_TYPE = 'PGD')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM TL_USER A
JOIN AbpUserRoles B ON B.UserId = A.ID
JOIN AbpRoles C ON C.Id=B.RoleId
WHERE 1=1
AND A.TLSUBBRID = @BRANCH_CREATE
AND C.DisplayName IN ('TPGD', 'PPGD')
END
ELSE IF(@BRANCH_TYPE = 'CN')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM TL_USER A
JOIN AbpUserRoles B ON B.UserId = A.ID
JOIN AbpRoles C ON C.Id=B.RoleId
WHERE 1=1
AND A.TLSUBBRID = @BRANCH_CREATE
AND RoleName IN ('GDDV', 'PDG')
END
ELSE IF(@BRANCH_TYPE = 'HS')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM TL_USER A
JOIN AbpUserRoles B ON B.UserId = A.ID
JOIN AbpRoles C ON C.Id=B.RoleId
WHERE 1=1
AND A.TLSUBBRID = @BRANCH_CREATE
AND A.DEP_ID = @DEP_CREATE
AND RoleName IN ('GDDV', 'TP','TBP','PP')
END
SET @FLAG = 7
END
---Phiếu yêu cầu xe - gửi mail cho người cập nhật phiếu-----
ELSE IF @TYPE='TR_REQUEST_CAR_SEND_USERUPD'
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT USER_UPDATE FROM TR_REQUEST_CAR WHERE REQ_ID = @PO_ID)
SET @FLAG = 7
END
---Phiếu yêu cầu xe - gửi mail cho CVĐĐ Xe-----
ELSE IF @TYPE='TR_REQUEST_CAR_SEND_CV'
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT CDVAL FROM CM_ALLCODE WHERE CDNAME = 'REQCAR')
SET @FLAG = 7
END
---Phiếu yêu cầu xe - gửi mail cho người tạo-----
ELSE IF @TYPE='TR_REQUEST_CAR_COST_SEND_MAKER'
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT MAKER_ID FROM TR_REQUEST_CAR WHERE REQ_ID = @PO_ID)
SET @FLAG = 7
END
---Phiếu yêu cầu xe - CVĐĐ Xe đã duyệt, gửi mail cho Lãnh Đạo HC HO-----
ELSE IF @TYPE='TR_REQUEST_CAR_COST_CV_App'
BEGIN
SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQUEST_CAR WHERE REQ_ID = @PO_ID)
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT TLNANME FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_CREATE
AND RoleName IN ('GDDV', 'PP'))
SET @FLAG = 7
END
---Phiếu yêu cầu xe - Gửi CV và người tạo-----
ELSE IF @TYPE='TR_REQUEST_CAR_SEND_CV_USER'
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT MAKER_ID FROM TR_REQUEST_CAR WHERE REQ_ID = @PO_ID)
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT USER_UPDATE FROM TR_REQUEST_CAR WHERE REQ_ID = @PO_ID)
SET @FLAG = 7
END
--DUYHD 18/07/2022 Phiếu đề nghị thanh toán - KT--
---Phiếu đề nghị thanh toán- KT - gửi mail cho người tạo-----
ELSE IF @TYPE='REQ_PAYMENT_KT_SEND_MAKER'
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT MAKER_ID FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT TLNANME FROM TL_USER WHERE RoleName = 'TGD')
SET @FLAG = 8
END
---Phiếu đề nghị tạm ứng- KT - gửi mail cho người tạo-----
ELSE IF @TYPE='REQ_ADVANCE_PAYMENT_KT_SEND_MAKER'
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
(SELECT MAKER_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
SET @FLAG = 8
END
--START PHUCVH 06/01/22 GẮN MAIL: ---- PYC: DC,SC,TH,CP ---- SỬA CHỮA TÀI SẢN ---- THU HỒI TÀI SẢN ---- ĐIỀU CHUYỂN NỘI BỘ ---- ĐIỀU CHUYỂN ---- XUẤT SD ---- NHẬP MỚI ----Thanh Lý
--PHIẾU YÊU CẦU ĐIỀU CHUYỂN, SỬA CHỮA, THU HỒI
---------------PHIẾU YÊU CẦU ---------------
ELSE IF(@TYPE='PYC_VB_CONFIRM_APPROVE')
BEGIN
SET @PROCESS = (SELECT TOP 1 PROCESS_ID FROM PL_REQUEST_PROCESS WHERE REQ_ID = @PO_ID AND STATUS = 'C')
IF(@PROCESS = 'APPROVE')
BEGIN --PHIẾU DUYỆT HOÀN TẤT. GỬI MAIL BỘ PHẬN QLTS
SELECT TOP 1 @TLFullName_USER_CREATE = B.TLFullName, @Email_USER_CREATE = B.EMAIL, @USER_CREATE_ID = B.ID
FROM TR_REQUEST_SHOP_DOC A
LEFT JOIN TL_USER B ON A.MAKER_ID = B.TLNANME
WHERE REQ_ID = @PO_ID
INSERT INTO @LST_USER_RECIVE_PYC(TLFullName,Email,USER_ID)
VALUES('',(SELECT TOP 1 ParaValue FROM SYS_PARAMETERS WHERE ParaKey = 'EMAIL_QLTS_VB'),0),
(@TLFullName_USER_CREATE,@Email_USER_CREATE,@USER_CREATE_ID)
SET @FLAG = 10
END
ELSE IF(@PROCESS = 'CANCEL' OR @PROCESS = 'REJECT')
BEGIN --PHIẾU BỊ HUỶ HOẶC TRẢ VỀ THÌ GỬI MAIL VỀ CHO NGƯỜI TẠO
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT MAKER_ID FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID = @PO_ID
SET @FLAG = 6
END
ELSE
BEGIN --PHIẾU ĐANG XỬ LÝ -> GỬI TDV, DVCM, GDDV DVCM, TBP, TDV QLTS, TTDVNB
DECLARE @combinedString VARCHAR(MAX)
IF(((SELECT STATUS FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID = @PO_ID) <> 'DVCM')
OR ((SELECT STATUS FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID = @PO_ID) = 'DVCM' AND NOT EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS WHERE REQ_ID = @PO_ID AND STATUS = 'C' AND PROCESS_ID = 'DVCM_D')))
BEGIN
SELECT @combinedString = COALESCE(@combinedString + ',', '') +
(CASE WHEN PL.PROCESS_ID = 'APPROVE' OR PL.PROCESS_ID = 'DONE' THEN NULL
ELSE (SELECT TOP 1 TLNANME = STUFF(
(SELECT ',' + TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB(PL.ROLE_USER,PL.BRANCH_ID,PL.DEP_ID) GROUP BY TLNANME FOR XML PATH ('')), 1, 1, '')
FROM dbo.FN_GET_USER_BY_ROLE_VB(PL.ROLE_USER,PL.BRANCH_ID,PL.DEP_ID) A)
END)
FROM PL_REQUEST_PROCESS PL
WHERE PL.STATUS = 'C' AND PL.REQ_ID = @PO_ID
END
ELSE
BEGIN
SELECT @combinedString = COALESCE(@combinedString + ',', '') +
(CASE WHEN PL.PROCESS_ID = 'APPROVE' OR PL.PROCESS_ID = 'DONE' THEN NULL
ELSE (SELECT TOP 1 TLNANME = STUFF(
(SELECT ',' + TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB(PL.ROLE_USER,PL.BRANCH_ID,PL.DEP_ID) GROUP BY TLNANME FOR XML PATH ('')), 1, 1, '')
FROM dbo.FN_GET_USER_BY_ROLE_VB(PL.ROLE_USER,PL.BRANCH_ID,PL.DEP_ID) A)
END)
FROM PL_REQUEST_PROCESS PL
WHERE PL.REQ_ID = @PO_ID
--AND PL.CHECKER_ID = @p_TLNAME
AND PL.PROCESS_ID = 'DVCM_D'
AND PL.DEP_ID IN (SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_TLNAME)
END
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT VALUE
FROM STRING_SPLIT(@combinedString,',')
GROUP BY VALUE
SET @FLAG = 6
END
END
---------------ĐIỀU CHUYỂN TÀI SẢN NỘI BỘ ---------------
--ĐIỀU CHUYỂN TÀI SẢN NỘI BỘ
ELSE IF(@TYPE = 'ASS_PRIVATE_TRANSFER_MASTER_SendAppr')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT VALUE
FROM STRING_SPLIT((SELECT DISTINCT (SELECT TOP 1 TLNANME = STUFF(
(SELECT ',' + TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('GDDV,GDDV_QLTS,KSV_QLTS,TBP_QLTS',PL.BRANCH_ID,PL.DEPT_CREATE) GROUP BY TLNANME FOR XML PATH ('')), 1, 1, '')
FROM dbo.FN_GET_USER_BY_ROLE_VB('GDDV,GDDV_QLTS,KSV_QLTS,TBP_QLTS',PL.BRANCH_ID,PL.DEPT_CREATE) A) AS TLNAME
FROM ASS_PRIVATE_TRANSFER_MASTER PL
WHERE PL.TRANS_MULTI_MASTER_ID = @PO_ID),',')
GROUP BY VALUE
SET @FLAG = 6
END
--ĐIỀU CHUYỂN TÀI SẢN NỘI BỘ - TDV DUYỆT HOÀN TẤT => GỬI CHO NGƯỜI TẠO
ELSE IF(@TYPE = 'ASS_PRIVATE_TRANSFER_MASTER_App_SEND_USERCREATE')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT MAKER_ID FROM ASS_PRIVATE_TRANSFER_MASTER WHERE TRANS_MULTI_MASTER_ID = @PO_ID
SET @FLAG = 6
END
---------------SỬA CHỮA NHIỀU TÀI SẢN ---------------
--SỬA CHỮA NHIỀU TÀI SẢN
ELSE IF(@TYPE = 'ASS_REPAIR_MULTI_MASTER_SendAppr')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT VALUE
FROM STRING_SPLIT((SELECT DISTINCT (SELECT TOP 1 TLNANME = STUFF(
(SELECT ',' + TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('GDDV,GDDV_QLTS,KSV_QLTS,TBP_QLTS',B.TLSUBBRID,B.DEP_ID) GROUP BY TLNANME FOR XML PATH ('')), 1, 1, '')
FROM dbo.FN_GET_USER_BY_ROLE_VB('GDDV,GDDV_QLTS,KSV_QLTS,TBP_QLTS',B.TLSUBBRID,B.DEP_ID) A) AS TLNAME
FROM ASS_REPAIR_MULTI_MASTER PL
LEFT JOIN TL_USER B ON PL.MAKER_ID = B.TLNANME
WHERE PL.REPAIR_MUL_ID = @PO_ID),',')
GROUP BY VALUE
SET @FLAG = 6
END
--SỬA CHỮA NHIỀU TÀI SẢN - TDV DUYỆT HOÀN TẤT PHIẾU => GỬI CHO NGƯỜI TẠO
ELSE IF(@TYPE = 'ASS_REPAIR_MULTI_MASTER_App_SEND_USERCREATE')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT MAKER_ID FROM ASS_REPAIR_MULTI_MASTER WHERE REPAIR_MUL_ID = @PO_ID
SET @FLAG = 6
END
---------------THU HỒI TÀI SẢN ---------------
--THU HỒI TÀI SẢN - QLTS (GỬI MAIL CHO GDDV_QLTS DUYỆT)
ELSE IF(@TYPE = 'ASS_COLLECT_MULTI_MASTER_SendAppr')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT VALUE
FROM STRING_SPLIT((SELECT DISTINCT (SELECT TOP 1 TLNANME = STUFF(
(SELECT ',' + TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('TBP_QLTS,KSV_QLTS,GDDV_QLTS',B.TLSUBBRID,B.DEP_ID) GROUP BY TLNANME FOR XML PATH ('')), 1, 1, '')
FROM dbo.FN_GET_USER_BY_ROLE_VB('TBP_QLTS,KSV_QLTS,GDDV_QLTS',B.TLSUBBRID,B.DEP_ID) A) AS TLNAME
FROM ASS_COLLECT_MULTI_MASTER PL
LEFT JOIN TL_USER B ON PL.MAKER_ID = B.TLNANME
WHERE PL.COL_MULTI_MASTER_ID = @PO_ID),',')
GROUP BY VALUE
SET @FLAG = 6
END
--THU HỒI TÀI SẢN - XÁC NHẬN BÀN GIAO TÀI SẢN THU HỒI (GỬI MAIL CHO GDDV_QLTS CỦA TÀI SẢN CẦN THU HỒI) VÀ GỬI MAIL CHO NGƯỜI TẠO
ELSE IF(@TYPE = 'ASS_COLLECT_MULTI_MASTER_App')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT VALUE
FROM STRING_SPLIT((SELECT DISTINCT (SELECT TOP 1 TLNANME = STUFF(
(SELECT ',' + TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('GDDV,GDDV_QLTS,KSV_QLTS,TBP_QLTS',PL.BRANCH_ID,PL.DEPT_ID_USE) GROUP BY TLNANME FOR XML PATH ('')), 1, 1, '')
FROM dbo.FN_GET_USER_BY_ROLE_VB('GDDV,GDDV_QLTS,KSV_QLTS,TBP_QLTS',PL.BRANCH_ID,PL.DEPT_ID_USE) A) AS TLNAME
FROM ASS_COLLECT_MULTI_DT PL
WHERE PL.COL_MULTI_MASTER_ID = @PO_ID),',')
GROUP BY VALUE
--GỬI CHO NGƯỜI TẠO
INSERT INTO @LST_USER_RECIVE
VALUES((SELECT TOP 1 MAKER_ID FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID = @PO_ID))
SET @FLAG = 6
END
--THU HỒI TÀI SẢN - KẾ TOÁN NHẬP (CẬP NHẬT HẠCH TOÁN)
ELSE IF(@TYPE = 'ASS_COLLECT_CONFIRM_MASTER_Ins')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('GDV',@BRANCH_QLTS,@DEP_KT) GROUP BY TLNANME
--SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('GDV','','') GROUP BY TLNANME
SET @FLAG = 6
END
--THU HỒI TÀI SẢN - TDV XÁC NHẬN => GỬI MAIL NGƯỜI TẠO
--ELSE IF(@TYPE = 'ASS_COLLECT_CONFIRM_MASTER_Ins_SEND_USERCREATE')
--BEGIN
-- INSERT INTO @LST_USER_RECIVE (TLNAME)
-- SELECT MAKER_ID FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID = @PO_ID
-- SET @FLAG = 6
--END
--THU HỒI TÀI SẢN - KT (DUYỆT) (GDV GỬI KSV PHÊ DUYỆT)
ELSE IF(@TYPE = 'ASS_COLLECT_MULTI_KT_SendAppr_KT')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('KSV',@BRANCH_QLTS,@DEP_KT) GROUP BY TLNANME
--SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('KSV','','') GROUP BY TLNANME
SET @FLAG = 6
END
---------------XUẤT SỬ DỤNG TÀI SẢN ---------------
--XUẤT SỬ DỤNG TÀI SẢN - QLTS (QLTS GỬI GDDV_QLTS PHÊ DUYỆT)
ELSE IF(@TYPE = 'ASS_USE_MUILTI_MASTER_SendAppr')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT VALUE
FROM STRING_SPLIT((SELECT DISTINCT (SELECT TOP 1 TLNANME = STUFF(
(SELECT ',' + TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('TBP_QLTS,KSV_QLTS,GDDV_QLTS,GDDV',PL.BRANCH_CREATE,PL.DEPT_CREATE) GROUP BY TLNANME FOR XML PATH ('')), 1, 1, '')
FROM dbo.FN_GET_USER_BY_ROLE_VB('TBP_QLTS,KSV_QLTS,GDDV_QLTS,GDDV',PL.BRANCH_CREATE,PL.DEPT_CREATE) A) AS TLNAME
FROM ASS_USE_MULTI_MASTER PL
WHERE PL.USER_MASTER_ID = @PO_ID),',')
GROUP BY VALUE
SET @FLAG = 6
END
--XUẤT SỬ DỤNG TÀI SẢN - XÁC NHẬN XUẤT SỬ DỤNG TÀI SẢN (GỬI MAIL CHO GDDV NHẬN TÀI SẢN) VÀ GỬI CHO NGƯỜI TẠO
ELSE IF(@TYPE = 'ASS_USE_MULTI_BVB_MASTER_App')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT VALUE
FROM STRING_SPLIT((SELECT DISTINCT (SELECT TOP 1 TLNANME = STUFF(
(SELECT ',' + TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('GDDV,GDDV_QLTS,KSV_QLTS,TBP_QLTS',PL.BRANCH_ID,PL.DEP_ID) GROUP BY TLNANME FOR XML PATH ('')), 1, 1, '')
FROM dbo.FN_GET_USER_BY_ROLE_VB('GDDV,GDDV_QLTS,KSV_QLTS,TBP_QLTS',PL.BRANCH_ID,PL.DEP_ID) A) AS TLNAME
FROM ASS_USE_MULTI_MASTER PL
WHERE PL.USER_MASTER_ID = @PO_ID),',')
GROUP BY VALUE
--GỬI CHO NGƯỜI TẠO
INSERT INTO @LST_USER_RECIVE (TLNAME)
VALUES ((SELECT TOP 1 MAKER_ID FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @PO_ID))
SET @FLAG = 6
END
--XUẤT SỬ DỤNG TÀI SẢN - TDV XÁC NHẬN => GỬI MAIL CHO NGƯỜI TẠO
--ELSE IF(@TYPE = 'ASS_USE_CONFIRM_MASTER_Ins_SEND_USERCREATE')
--BEGIN
-- INSERT INTO @LST_USER_RECIVE (TLNAME)
-- SELECT MAKER_ID FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @PO_ID
-- SET @FLAG = 6
--END
--XUẤT SỬ DỤNG TÀI SẢN - KT DUYỆT HOÀN TẤT => GỬI MAIL CHO NGƯỜI TẠO
ELSE IF(@TYPE = 'ASS_USE_MULTI_BVB_KT_App')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT MAKER_ID FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @PO_ID
SET @FLAG = 6
END
--XUẤT SỬ DỤNG TÀI SẢN - KẾ TOÁN NHẬP (CẬP NHẬT HẠCH TOÁN)
ELSE IF(@TYPE = 'ASS_USE_CONFIRM_MASTER_Ins')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('GDV',@BRANCH_QLTS,@DEP_KT) GROUP BY TLNANME
--SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('GDV','','') GROUP BY TLNANME
SET @FLAG = 6
END
--XUẤT SỬ DỤNG TÀI SẢN - KT(DUYỆT) (GDV GỬI KSV PHÊ DUYỆT)
ELSE IF(@TYPE = 'ASS_USE_MUILTI_MASTER_SendAppr_KT')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('KSV',@BRANCH_QLTS,@DEP_KT) GROUP BY TLNANME
--SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('KSV','','') GROUP BY TLNANME
SET @FLAG = 6
END
---------------NHẬP MỚI TÀI SẢN ---------------
--NHẬP MỚI TÀI SẢN - QLTS (QLTS GỬI GDDV_QLTS PHÊ DUYỆT)
ELSE IF(@TYPE = 'ASS_ADDNEW_BVB_SendAppr')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT VALUE
FROM STRING_SPLIT((SELECT DISTINCT (SELECT TOP 1 TLNANME = STUFF(
(SELECT ',' + TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('TBP_QLTS,KSV_QLTS,GDDV_QLTS,GDDV',PL.BRANCH_CREATE,PL.DEPT_CREATE) GROUP BY TLNANME FOR XML PATH ('')), 1, 1, '')
FROM dbo.FN_GET_USER_BY_ROLE_VB('TBP_QLTS,KSV_QLTS,GDDV_QLTS,GDDV',PL.BRANCH_CREATE,PL.DEPT_CREATE) A) AS TLNAME
FROM ASS_ADDNEW PL
WHERE PL.ADDNEW_ID = @PO_ID),',')
GROUP BY VALUE
SET @FLAG = 6
END
--NHẬP MỚI TÀI SẢN - KẾ TOÁN NHẬP (CẬP NHẬT HẠCH TOÁN)
ELSE IF(@TYPE = 'ASS_ADDNEW_QLTS_Appr')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('GDV',@BRANCH_QLTS,@DEP_KT) GROUP BY TLNANME
--SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('GDV','','') GROUP BY TLNANME
SET @FLAG = 6
END
--NHẬP MỚI TÀI SẢN - KT(DUYỆT) (GDV GỬI KSV PHÊ DUYỆT)
ELSE IF(@TYPE = 'ASS_ADDNEW_KT_BVB_SendAppr')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('KSV',@BRANCH_QLTS,@DEP_KT) GROUP BY TLNANME
--SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('KSV','','') GROUP BY TLNANME
SET @FLAG = 6
END
---------------ĐIỀU CHUYỂN TÀI SẢN ---------------
--ĐIỀU CHUYỂN TÀI SẢN - QLTS (QLTS GỬI GDDV_QLTS PHÊ DUYỆT)
ELSE IF(@TYPE = 'ASS_TRANSFER_MULTI_Master_SendAppr_S_TDV')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT VALUE
FROM string_split((SELECT B.TLNANME
FROM (SELECT DISTINCT (CASE WHEN PL.PROCESS_ID = 'APPROVE' OR PL.PROCESS_ID = 'DONE' THEN NULL
ELSE (SELECT TOP 1 TLNANME = STUFF(
(SELECT ',' + TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB(PL.ROLE_USER,PL.BRANCH_ID,PL.DEP_ID) GROUP BY TLNANME FOR XML PATH ('')), 1, 1, '')
FROM dbo.FN_GET_USER_BY_ROLE_VB(PL.ROLE_USER,PL.BRANCH_ID,PL.DEP_ID) A)
END) AS TLNANME
FROM PL_REQUEST_PROCESS PL
WHERE PL.STATUS = 'C' AND PL.REQ_ID = @PO_ID) B
GROUP BY B.TLNANME),',')
SET @FLAG = 6
END
--ĐIỀU CHUYỂN TÀI SẢN - TDV GIAO NHẬN XÁC NHẬN => GỬI MAIL CHO NGƯỜI TẠO
--ELSE IF(@TYPE = 'ASS_TRANSFER_MULTI_MASTER_SendAppr_SEND_USERCREATE')
--BEGIN
-- IF(EXISTS(SELECT TOP 1 '1'
-- FROM ASS_TRANSFER_MULTI_MASTER A
-- LEFT JOIN PL_REQUEST_PROCESS B ON A.TRANS_MULTI_MASTER_ID = B.REQ_ID
-- WHERE B.PROCESS_ID = 'APPROVE' AND B.STATUS = 'C' AND A.AUTH_STATUS_KT = 'E' AND A.TRANS_MULTI_MASTER_ID = @PO_ID))
-- BEGIN
-- INSERT INTO @LST_USER_RECIVE (TLNAME)
-- SELECT MAKER_ID FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @PO_ID
-- END
-- SET @FLAG = 6
--END
--ĐIỀU CHUYỂN TÀI SẢN - KT DUYỆT HOÀN TẤT PHIẾU => GỬI MAIL CHO NGƯỜI TẠO
ELSE IF(@TYPE = 'ASS_TRANSFER_MULTI_MASTER_KT_App_SEND_USERCREATE')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT MAKER_ID FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @PO_ID
SET @FLAG = 6
END
--ĐIỀU CHUYỂN TÀI SẢN - XÁC NHẬN CỦA BÊN GIAO/NHẬN OR TTDVNB DUYỆT VÀ NGƯỜI TẠO
ELSE IF(@TYPE = 'ASS_TRANSFER_MULTI_MASTER_APP')
BEGIN
SELECT @combinedString = COALESCE(@combinedString + ',', '') +
(CASE WHEN PL.PROCESS_ID = 'APPROVE' OR PL.PROCESS_ID = 'DONE' THEN NULL
ELSE (SELECT TOP 1 TLNANME = STUFF(
(SELECT ',' + TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB(PL.ROLE_USER,PL.BRANCH_ID,PL.DEP_ID) GROUP BY TLNANME FOR XML PATH ('')), 1, 1, '')
FROM dbo.FN_GET_USER_BY_ROLE_VB(PL.ROLE_USER,PL.BRANCH_ID,PL.DEP_ID) A)
END)
FROM PL_REQUEST_PROCESS PL
WHERE PL.STATUS = 'C' AND PL.REQ_ID = @PO_ID
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT VALUE
FROM string_split(@combinedString,',')
INSERT INTO @LST_USER_RECIVE (TLNAME)
VALUES((SELECT TOP 1 MAKER_ID FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @PO_ID))
SET @FLAG = 6
END
--ĐIỀU CHUYỂN TÀI SẢN - GỬI CHO KẾ TOÁN NHẬP (CẬP NHẬT HẠCH TOÁN)
ELSE IF(@TYPE = 'ASS_TRANSFER_MULTI_Master_SendAppr_CONFIRM')
BEGIN
IF(NOT EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS prp WHERE prp.REQ_ID = @PO_ID AND prp.PROCESS_ID = 'XNGN' AND prp.STATUS = 'C'))
BEGIN
--CODE ĐÃ THÊM VÀO FLOW (TẤT CẢ CÁC TDV XÁC NHẬN GIAO NHẬN INSERT VÀO PL_REQUEST_PROCESS ĐẾN BƯỚC GDV)
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('GDV',@BRANCH_QLTS,@DEP_KT) GROUP BY TLNANME
--SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('GDV','','') GROUP BY TLNANME
SET @FLAG = 6
END
END
--ĐIỀU CHUYỂN TÀI SẢN - KT(DUYỆT) (GDV GỬI KSV DUYỆT)
ELSE IF(@TYPE = 'ASS_TRANSFER_MULTI_Master_SendAppr_KT')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('KSV',@BRANCH_QLTS,@DEP_KT) GROUP BY TLNANME
--SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('KSV','','') GROUP BY TLNANME
SET @FLAG = 6
END
---------------THANH LÝ TÀI SẢN ---------------
--THANH LÝ TÀI SẢN - QLTS (GỬI MAIL CHO GDDV_QLTS DUYỆT)
ELSE IF(@TYPE = 'ASS_LIQUIDATION_BVB_SendAppr')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT VALUE
FROM STRING_SPLIT((SELECT DISTINCT (SELECT TOP 1 TLNANME = STUFF(
(SELECT ',' + TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('TBP_QLTS,KSV_QLTS,GDDV_QLTS,GDDV',B.TLSUBBRID,B.DEP_ID) GROUP BY TLNANME FOR XML PATH ('')), 1, 1, '')
FROM dbo.FN_GET_USER_BY_ROLE_VB('TBP_QLTS,KSV_QLTS,GDDV_QLTS,GDDV',B.TLSUBBRID,B.DEP_ID) A) AS TLNAME
FROM ASS_LIQUIDATION PL
LEFT JOIN TL_USER B ON PL.MAKER_ID = B.TLNANME
WHERE PL.LIQ_ID = @PO_ID),',')
GROUP BY VALUE
SET @FLAG = 6
END
--THANH LÝ TÀI SẢN - KẾ TOÁN NHẬP (CẬP NHẬT HẠCH TOÁN)
ELSE IF(@TYPE = 'ASS_LIQUIDATION_BVB_App')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('GDV',@BRANCH_QLTS,@DEP_KT) GROUP BY TLNANME
--SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('GDV','','') GROUP BY TLNANME
SET @FLAG = 6
END
--THANH LÝ TÀI SẢN - KT (DUYỆT) (GDV GỬI KSV PHÊ DUYỆT)
ELSE IF(@TYPE = 'ASS_LIQUIDATION_BVB_KT_SendAppr')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('KSV',@BRANCH_QLTS,@DEP_KT) GROUP BY TLNANME
--SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('KSV','','') GROUP BY TLNANME
SET @FLAG = 6
END
--THANH LÝ TÀI SẢN - KT DUYỆT HOÀN TẤT PHIẾU => GỬI CHO NGƯỜI TẠO
ELSE IF(@TYPE = 'ASS_LIQUIDATION_BVB_KT_App_SEND_USERCREATE')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT MAKER_ID FROM ASS_LIQUIDATION WHERE LIQ_ID = @PO_ID
SET @FLAG = 6
END
--KIỂM KÊ TÀI SẢN - GỬI DUYỆT
ELSE IF(@TYPE = 'ASS_INVENTORY_SendApp')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID = @PO_ID AND STATUS = 'C'
SET @FLAG = 6
END
--KIỂM KÊ TÀI SẢN - GỬI XÁC NHẬN
ELSE IF(@TYPE = 'ASS_INVENTORY_MASTER_DVKD_APP')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID = @PO_ID AND STATUS = 'C'
SET @FLAG = 6
END
--KIỂM KÊ TÀI SẢN - THÀNH PHẦN KIỂM KÊ XÁC NHẬN
ELSE IF(@TYPE = 'ASS_INVENTORY_MASTER_APPROVE_CONFIRM')
BEGIN
IF(EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS WHERE REQ_ID = @PO_ID AND PROCESS_ID = 'TBKK' AND STATUS = 'C'))
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID = @PO_ID AND STATUS = 'C'
SET @FLAG = 6
END
END
--KIỂM KÊ TÀI SẢN - TRƯỞNG BAN KIỂM KÊ DUYỆT
ELSE IF(@TYPE = 'ASS_INVENTORY_App')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT MAKER_ID FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @PO_ID
SET @FLAG = 6
END
--ĐỀ XUẤT THANH LÝ TÀI SẢN
ELSE IF(@TYPE = 'ASS_LIQ_REQUEST_App')
BEGIN
DECLARE @combinedString1 VARCHAR(MAX),@TL_NAME VARCHAR(5000)
SELECT @TL_NAME = CASE
WHEN A.AUTH_STATUS = 'A' THEN A.MAKER_ID -- TRẢ VỀ NGƯỜI TẠO
WHEN EXISTS(SELECT 1 FROM CM_REQUEST_PROCESS E WHERE A.LIQ_REQ_ID = E.REQ_ID AND E.STATUS = 'G' AND E.DONE = 0 AND A.AUTH_STATUS = 'E') THEN --GDDV-DVCM TRẢ VỀ NHÂN VIÊN DVCM
(SELECT TOP 1 E.CHECKER_ID FROM CM_REQUEST_PROCESS E WHERE E.REQ_ID = A.LIQ_REQ_ID AND E.STATUS = 'F' AND E.DONE = 1 AND E.BRANCH_ID = @BRANCH_LOGIN AND E.DEPT_ID = @DEP_LOGIN)
WHEN EXISTS(SELECT 1 FROM CM_REQUEST_PROCESS E WHERE A.LIQ_REQ_ID = E.REQ_ID AND E.STATUS IN ('H','K','L') AND E.DONE = 0 AND A.AUTH_STATUS = 'E') THEN 'DVCM' --CÁC BƯỚC TRÊN TRẢ VỀ DVCM
WHEN EXISTS(SELECT 1 FROM CM_REQUEST_PROCESS E WHERE A.LIQ_REQ_ID = E.REQ_ID AND E.STATUS IN ('G','H','K','L') AND E.DONE = 0 AND A.AUTH_STATUS = 'C') THEN
(SELECT TOP 1 E.CHECKER_ID FROM CM_REQUEST_PROCESS E WHERE E.REQ_ID = A.LIQ_REQ_ID AND E.STATUS = 'E' AND E.DONE = 1)
WHEN A.AUTH_STATUS = 'B' THEN (SELECT TOP 1 TLNANME = STUFF(
(SELECT ',' + TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('GDDV',A.BRANCH_ID,A.DEP_ID) GROUP BY TLNANME FOR XML PATH ('')), 1, 1, '')
FROM dbo.FN_GET_USER_BY_ROLE_VB('GDDV',A.BRANCH_ID,A.DEP_ID) B)
WHEN A.AUTH_STATUS = 'C' THEN (SELECT TOP 1 TLNANME = STUFF(
(SELECT ',' + TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS','DV0001','DEP000000000048') GROUP BY TLNANME FOR XML PATH ('')), 1, 1, '')
FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS','DV0001','DEP000000000048') B)
WHEN A.AUTH_STATUS = 'E' AND EXISTS(SELECT TOP 1 1 FROM TR_REQUEST_SHOP_COSTCENTER WHERE REQ_ID = @PO_ID) THEN N'DVCM'
WHEN A.AUTH_STATUS = 'E' AND NOT EXISTS(SELECT TOP 1 1 FROM TR_REQUEST_SHOP_COSTCENTER WHERE REQ_ID = @PO_ID) THEN (SELECT TOP 1 TLNANME = STUFF(
(SELECT ',' + TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS','DV0001','DEP000000000048') GROUP BY TLNANME FOR XML PATH ('')), 1, 1, '')
FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS','DV0001','DEP000000000048') B)
WHEN A.AUTH_STATUS = 'F' THEN N'GDDV_DVCM'
WHEN A.AUTH_STATUS = 'G' THEN (SELECT TOP 1 TLNANME = STUFF(
(SELECT ',' + TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS','DV0001','DEP000000000048') GROUP BY TLNANME FOR XML PATH ('')), 1, 1, '')
FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS','DV0001','DEP000000000048') B)
WHEN A.AUTH_STATUS = 'H' THEN (SELECT TOP 1 TLNANME = STUFF(
(SELECT ',' + TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('TBP_QLTS','DV0001','DEP000000000048') GROUP BY TLNANME FOR XML PATH ('')), 1, 1, '')
FROM dbo.FN_GET_USER_BY_ROLE_VB('TBP_QLTS','DV0001','DEP000000000048') B)
WHEN A.AUTH_STATUS = 'K' THEN (SELECT TOP 1 TLNANME = STUFF(
(SELECT ',' + TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('GDDV','DV0001','DEP000000000048') GROUP BY TLNANME FOR XML PATH ('')), 1, 1, '')
FROM dbo.FN_GET_USER_BY_ROLE_VB('GDDV','DV0001','DEP000000000048') B)
WHEN A.AUTH_STATUS = 'L' THEN A.MAKER_ID
ELSE '' END
FROM ASS_LIQ_REQUEST A
WHERE A.LIQ_REQ_ID = @PO_ID
IF(@TL_NAME = 'DVCM')
BEGIN
SELECT @combinedString1 = COALESCE(@combinedString1 + ',', '') +
(SELECT TOP 1 TLNANME = STUFF(
(SELECT ',' + TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('DVCM','DV0001',PL.COST_ID) GROUP BY TLNANME FOR XML PATH ('')), 1, 1, '')
FROM dbo.FN_GET_USER_BY_ROLE_VB('DVCM','DV0001',PL.COST_ID) A)
FROM TR_REQUEST_SHOP_COSTCENTER PL
WHERE PL.REQ_ID = @PO_ID
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT VALUE FROM string_split(@combinedString1,',')
END
ELSE IF(@TL_NAME = 'GDDV_DVCM')
BEGIN
SELECT @combinedString1 = COALESCE(@combinedString1 + ',', '') +
(SELECT TOP 1 TLNANME = STUFF(
(SELECT ',' + TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('GDDV','DV0001',PL.COST_ID) GROUP BY TLNANME FOR XML PATH ('')), 1, 1, '')
FROM dbo.FN_GET_USER_BY_ROLE_VB('GDDV','DV0001',PL.COST_ID) A)
FROM TR_REQUEST_SHOP_COSTCENTER PL
WHERE PL.REQ_ID = @PO_ID AND PL.COST_ID IN (SELECT tu.DEP_ID FROM TL_USER tu WHERE tu.TLNANME = @p_TLNAME)
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT VALUE FROM string_split(@combinedString1,',')
END
ELSE IF(@TL_NAME IS NOT NULL AND @TL_NAME <> '')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT VALUE FROM string_split(@TL_NAME,',')
END
SET @FLAG = 6
END
ELSE IF(@TYPE = 'CHECK_WARRANTY_DT')
BEGIN
INSERT INTO @LST_USER_RECIVE_PYC(TLFullName,Email,USER_ID)
VALUES('',(SELECT TOP 1 ParaValue FROM SYS_PARAMETERS WHERE ParaKey = 'EMAIL_QLTS_VB'),0)
SET @FLAG = 10
END
IF(@TYPE LIKE N'%CHECK_TRANS_NOT_APPROVE|%')
BEGIN
IF(@TYPE LIKE N'%|GDV|%')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('GDV',@BRANCH_QLTS,@DEP_KT) GROUP BY TLNANME
--SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('GDV,GDV_QLTS','','') GROUP BY TLNANME
END
ELSE IF(@TYPE LIKE N'%|KSV|%')
BEGIN
INSERT INTO @LST_USER_RECIVE (TLNAME)
SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('KSV',@BRANCH_QLTS,@DEP_KT) GROUP BY TLNANME
--SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('GDV,GDV_QLTS','','') GROUP BY TLNANME
END
--
-- SET @FLAG = 6
--INSERT INTO @LST_USER_RECIVE_PYC(TLFullName,Email,USER_ID)
--VALUES('',(SELECT TOP 1 ParaValue FROM SYS_PARAMETERS WHERE ParaKey = 'EMAIL_QLTS_VB'),0)
SET @FLAG = 10
END
--END PHUCVH 06/01/22 GẮN MAIL: ---- PYC: DC,SC,TH,CP ---- SỬA CHỮA TÀI SẢN ---- THU HỒI TÀI SẢN ---- ĐIỀU CHUYỂN NỘI BỘ ---- ĐIỀU CHUYỂN ---- XUẤT SD ---- NHẬP MỚI ----Thanh lý
---Phiếu đề nghị tạm ứng- KT - gửi mail cho tổng giám đốc-----
--ELSE IF @TYPE='REQ_ADVANCE_PAYMENT_KT_SEND_TGD'
--BEGIN
-- INSERT INTO @LST_USER_RECIVE (TLNAME)
-- (SELECT TLNANME FROM TL_USER WHERE RoleName = 'TGD')
-- SET @FLAG = 8
--END
----- END PYC MUA SẮM --------------------
IF(@FLAG = 0)
BEGIN
SELECT A.*,B.TLFullName,B.EMAIL
FROM TL_ROLE_NOTIFICATION A
LEFT JOIN TL_USER B ON A.TL_NAME=B.TLNANME
WHERE EXISTS(SELECT * FROM @LST_POID WHERE ID = A.PO_ID)
END
ELSE IF(@FLAG = 1)
BEGIN
SELECT B.*,A.TLFullName,A.EMAIL
FROM TL_USER A
LEFT JOIN TL_ROLE_NOTIFICATION B ON B.TL_NAME=A.TLNANME AND 1 >2
WHERE (A.TLNANME IN (SELECT * FROM @LST_USER_RECIVE))
AND A.TLNANME NOT IN ('trungnq1','taila')
END
-- NEU LA TO TRINH CHU TRUONG, PYC MS THÌ TRA VE FLAG =2
ELSE IF(@FLAG = 2)
BEGIN
SELECT B.*,A.TLFullName,A.EMAIL
FROM TL_USER A
LEFT JOIN TL_ROLE_NOTIFICATION B ON B.TL_NAME=A.TLNANME AND 1>2
WHERE (A.TLNANME IN (SELECT TLNAME FROM @PL_PROCESS_CURRENT_SEARCH_TEMP))
AND A.TLNANME NOT IN ('trungnq1','taila')
END
-- SAU KHI TT CHU TRUONG DUOC PHE DUYET THI THONG BAO CHO NGUOI TAO TO TRINH
ELSE IF(@FLAG = 3)
BEGIN
SELECT B.*,A.TLFullName,A.EMAIL
FROM TL_USER A
LEFT JOIN TL_ROLE_NOTIFICATION B ON B.TL_NAME=A.TLNANME AND 1>2
WHERE (A.TLNANME =@MAKER_ID OR A.TLNANME IN (SELECT TLNAME FROM @PL_PROCESS_CURRENT_SEARCH_TEMP))
--AND A.TLNANME NOT IN ('trungnq1','taila')
END
-- SAU KHI PYCMS DUOC PHE DUYET THI THONG BAO CHO NGUOI TAO VA NGUOI XU LY
ELSE IF(@FLAG = 4)
BEGIN
SELECT B.*,A.TLFullName,A.EMAIL
FROM TL_USER A
LEFT JOIN TL_ROLE_NOTIFICATION B ON B.TL_NAME=A.TLNANME AND 1>2
WHERE (A.TLNANME =@MAKER_ID OR A.TLNANME =@NV_XL_MS)
AND A.TLNANME NOT IN ('trungnq1','taila')
END
-----------Quản lý cho thuê----------------
ELSE IF(@FLAG = 5)
BEGIN
SELECT TLFullName, EMAIL AS Email, ID as [USER_ID]
FROM TL_USER
WHERE (TLNANME IN (SELECT TLNAME FROM @LST_USER_RECIVE))
END
ELSE IF(@FLAG = 6)
BEGIN
SELECT TLFullName, EMAIL AS Email, ID as [USER_ID]
FROM TL_USER
WHERE (TLNANME IN (SELECT TLNAME FROM @LST_USER_RECIVE))
END
--------------BAODNQ 15/2/2022: Quản lý BDS--------------------
ELSE IF(@FLAG = 7)
BEGIN
SELECT TLFullName, EMAIL AS Email, ID as [USER_ID]
FROM TL_USER
WHERE (TLNANME IN (SELECT TLNAME FROM @LST_USER_RECIVE))
END
--------------QUẢN LÝ THANH TOÁN TẠM ỨNG------------------
ELSE IF(@FLAG = 8)
BEGIN
SELECT TLFullName, EMAIL AS Email, ID as [USER_ID]
FROM TL_USER
WHERE (TLNANME IN (SELECT TLNAME FROM @LST_USER_RECIVE))
END
ELSE IF(@FLAG = 9)
BEGIN
SELECT TLFullName, EMAIL AS Email, ID as [USER_ID]
FROM TL_USER
WHERE (TLNANME IN (SELECT TLNAME FROM @LST_USER_RECIVE))
END
ELSE IF(@FLAG = 10)
BEGIN --PHÊ DUYỆT HOÀN TẤT PHIẾU YÊU CẦU
SELECT TLFullName,Email,USER_ID FROM @LST_USER_RECIVE_PYC
END
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[ASS_TRANSFER_MULTI_MASTER_Ins]'
GO
ALTER PROCEDURE [dbo].[ASS_TRANSFER_MULTI_MASTER_Ins]
@p_BRANCH_ID varchar(15) = NULL,
@p_TRANSFER_DT VARCHAR(20) = NULL,
@p_USER_TRANSFER nvarchar(200) = NULL,
@p_NOTES nvarchar(1000) = NULL,
@p_RECORD_STATUS varchar(1) = NULL,
@p_AUTH_STATUS varchar(1) = NULL,
@p_MAKER_ID varchar(100) = NULL,
@p_CREATE_DT VARCHAR(20) = NULL,
@p_CHECKER_ID varchar(100) = NULL,
@p_APPROVE_DT VARCHAR(20) = NULL,
@p_AUTH_STATUS_KT varchar(15) = NULL,
@p_CREATE_DT_KT varchar(100) = NULL,
@p_APPROVE_DT_KT VARCHAR(20) = NULL,
@p_MAKER_ID_KT varchar(100) = NULL,
@p_CHECKER_ID_KT varchar(100) = NULL,
@p_REPORT_STATUS varchar(15) = NULL,
@p_BRANCH_CREATE varchar(15) = NULL,
@p_TRANSFER_CONTENT NVARCHAR(MAX) = NULL,
@p_REQ_PARENT_ID VARCHAR(15) = NULL,
@p_REQ_PARENT_CODE VARCHAR(15) = NULL,
@p_XmlData XML = NULL
AS
/*
*/
DECLARE
@ASSET_ID varchar(15),
@ASSET_CODE varchar(100),
@BRANCH_ID varchar(15),
@KHOI_ID varchar(15),
@CENTER_ID varchar(15),
@DEPT_ID varchar(15),
@EMP_ID varchar(15),
@LOCATION varchar(500),
@DESCRIPTION nvarchar(1000),
@BRANCH_ID_OLD varchar(15),
@KHOI_ID_OLD varchar(15),
@CENTER_ID_OLD varchar(15),
@DEPT_ID_OLD varchar(15),
@EMP_ID_OLD varchar(15),
@REMAIN_VALUE DECIMAL(18,0),
@BUY_PRICE DECIMAL(18,0),
@DEPT_CREATE VARCHAR(15) = (SELECT SECUR_CODE FROM dbo.TL_USER WHERE TLNANME = @p_MAKER_ID)
Declare @hdoc INT
Exec sp_xml_preparedocument @hdoc Output,@p_XmlData
DECLARE XmlData CURSOR FOR
SELECT *
FROM OPENXML(@hdoc,'/Root/XmlData',2)
WITH
(
ASSET_ID varchar(15),
ASSET_CODE varchar(100),
BRANCH_ID varchar(15),
KHOI_ID VARCHAR(15),
CENTER_ID VARCHAR(15),
DEP_ID varchar(15),
EMP_ID varchar(15),
BRANCH_ID_OLD varchar(15),
KHOI_ID_OLD varchar(15),
CENTER_ID_OLD varchar(15),
DEPT_ID_OLD varchar(15),
EMP_ID_OLD varchar(15),
LOCATION varchar(500),
[DESCRIPTION] nvarchar(1000),
REMAIN_VALUE DECIMAL(18,0),
BUY_PRICE DECIMAL(18,0)
)
OPEN XmlData
BEGIN TRANSACTION
DECLARE @l_TRANS_MULTI_MASTER_ID VARCHAR(15)
EXEC SYS_CodeMasters_Gen 'ASS_TRANSFER_MULTI_MASTER', @l_TRANS_MULTI_MASTER_ID out
IF @l_TRANS_MULTI_MASTER_ID='' OR @l_TRANS_MULTI_MASTER_ID IS NULL GOTO ABORT
print 'error'
INSERT INTO ASS_TRANSFER_MULTI_MASTER([TRANS_MULTI_MASTER_ID],[BRANCH_ID],[TRANSFER_DT],[USER_TRANSFER],[NOTES],[RECORD_STATUS],[AUTH_STATUS],[MAKER_ID],[CREATE_DT],[CHECKER_ID],[APPROVE_DT],[REPORT_STATUS],[DEPT_CREATE], TRANSFER_CONTENT, REQ_ID, REQ_CODE, STATUS)
VALUES(@l_TRANS_MULTI_MASTER_ID ,@p_BRANCH_ID ,CONVERT(DATETIME, @p_TRANSFER_DT, 103) ,@p_USER_TRANSFER ,@p_NOTES ,@p_RECORD_STATUS ,@p_AUTH_STATUS ,@p_MAKER_ID ,CONVERT(DATETIME, @p_CREATE_DT, 103) ,@p_CHECKER_ID ,CONVERT(DATETIME, @p_APPROVE_DT, 103) ,@p_REPORT_STATUS,@DEPT_CREATE, @p_TRANSFER_CONTENT, @p_REQ_PARENT_ID, @p_REQ_PARENT_CODE, 'ADDNEW')
IF @@Error <> 0 GOTO ABORT
DECLARE @COUNT INT;
SET @COUNT = 1;
--Insert XmlData
FETCH NEXT FROM XmlData INTO @ASSET_ID,@ASSET_CODE,@BRANCH_ID, @KHOI_ID, @CENTER_ID,@DEPT_ID,@EMP_ID,@BRANCH_ID_OLD,@KHOI_ID_OLD,@CENTER_ID_OLD,@DEPT_ID_OLD,
@EMP_ID_OLD,@LOCATION,@DESCRIPTION, @REMAIN_VALUE, @BUY_PRICE
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE @BRANCH_TYPE VARCHAR(15) = (SELECT CB.BRANCH_TYPE FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @BRANCH_ID)
DECLARE @ERRORSYS NVARCHAR(200) = ''--,@ASSET_CODE nVARCHAR(20)
IF (@BRANCH_ID IS NULL OR @BRANCH_ID = '')
BEGIN
SET @ERRORSYS = N'Dòng số '+ CAST(@COUNT AS NVARCHAR) + N': Đơn vị nhận bắt buộc chọn.'
CLOSE XmlData
DEALLOCATE XmlData
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' TRANS_MULTI_MASTER_ID, @ERRORSYS ErrorDesc
RETURN '-1'
END
IF (@BRANCH_TYPE = 'HS')
IF ((@DEPT_ID IS NULL OR @DEPT_ID = '') AND (@KHOI_ID IS NULL OR @KHOI_ID = '') AND (@CENTER_ID IS NULL OR @CENTER_ID = ''))
BEGIN
SET @ERRORSYS = N'Dòng số '+ CAST(@COUNT AS NVARCHAR) + N': phải chọn Phòng ban nhận hoặc Khối nhận hoặc Trung tâm nhận.'
CLOSE XmlData
DEALLOCATE XmlData
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' TRANS_MULTI_MASTER_ID, @ERRORSYS ErrorDesc
RETURN '-1'
END
DECLARE @MESSAGE_VALIDATION NVARCHAR(MAX) = ''
DECLARE @check TABLE(TRANSFER_ID VARCHAR(20), ASSET_ID VARCHAR(20))
INSERT INTO @check SELECT TRANS_MULTI_MASTER_ID, ASSET_ID FROM ASS_TRANSFER_MULTI_DT WHERE [ASSET_ID] = @ASSET_ID AND AUTH_STATUS<>'A'
IF (EXISTS(SELECT TOP 1 * FROM @check))
BEGIN
SET @MESSAGE_VALIDATION = (SELECT REPLACE((SELECT
CASE WHEN ROW_NUMBER() OVER (ORDER BY (SELECT 0)) = 1 THEN ''
ELSE '|' END
+ N'Tài sản mã: ' + C.ASSET_CODE + N' đang được điều chuyển ở phiếu: ' + C.TRANS_MULTI_MASTER_ID
FROM (SELECT ISNULL(C.ASSET_CODE,C.ASS_CODE_TMP) AS ASSET_CODE,A.TRANS_MULTI_MASTER_ID
FROM ASS_TRANSFER_MULTI_DT A
LEFT JOIN ASS_TRANSFER_MULTI_MASTER B ON A.TRANS_MULTI_MASTER_ID = B.TRANS_MULTI_MASTER_ID
LEFT JOIN ASS_MASTER C ON A.ASSET_ID = C.ASSET_ID
WHERE A.ASSET_ID IN (SELECT ASSET_ID FROM @check)
AND B.AUTH_STATUS <> 'A') C
FOR XML PATH (''))
, '|', '
'))
CLOSE XmlData
DEALLOCATE XmlData
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' TRANS_MULTI_MASTER_ID, @MESSAGE_VALIDATION ErrorDesc
RETURN '-1'
END
DECLARE @l_TRANSFER_MULTI_ID VARCHAR(15)
EXEC SYS_CodeMasters_Gen 'ASS_TRANSFER_MULTI_DT', @l_TRANSFER_MULTI_ID out
IF @l_TRANSFER_MULTI_ID='' OR @l_TRANSFER_MULTI_ID IS NULL GOTO ABORT
--LAY THONG TIN DON VI CU TRUOC DIEU CHUYEN
SELECT @BRANCH_ID_OLD = BRANCH_ID, @DEPT_ID_OLD = DEPT_ID, @EMP_ID_OLD = EMP_ID
FROM ASS_MASTER
WHERE ASSET_ID = @ASSET_ID
--thieuvq 07/09/2016 -- ngay 231120 Thieuvq bo sung neu la HOI SO thi khong kiem tra trung theo yeu cau Anh Tan - dieu chuyen ts tu kho HCQT cho HCQT su dung
IF @BRANCH_ID_OLD <> 'DV0001' AND @BRANCH_ID = @BRANCH_ID_OLD AND ISNULL(@DEPT_ID,'') = ISNULL(@DEPT_ID_OLD,'') AND ISNULL(@EMP_ID,'') = ISNULL(@EMP_ID_OLD,'')
BEGIN
SET @ASSET_CODE=(SELECT ASSET_CODE FROM ASS_MASTER WHERE [ASSET_ID] = @ASSET_ID)
SELECT '-1' Result, '' TRANSFER_ID, N'TS: '+@ASSET_CODE+ N' Đơn vị nhận hoặc người nhận phải khác với đơn vị/nhân viên đang sử dụng hiện tại.' ErrorDesc
CLOSE XmlData
DEALLOCATE XmlData
ROLLBACK TRANSACTION
RETURN '-1'
END
-- luctv 03/08/2021 người nhận phải cùng đơn vị nhận
IF (SELECT BRANCH_ID FROM CM_DEPARTMENT WHERE DEP_ID = @DEPT_ID) <> @BRANCH_ID
BEGIN
SET @ASSET_CODE=(SELECT ASSET_CODE FROM ASS_MASTER WHERE [ASSET_ID] = @ASSET_ID)
SELECT '-1' Result, '' TRANSFER_ID, N'TS: '+ @ASSET_CODE + N' Phòng bản nhận phải thuộc về đơn vị nhận.' ErrorDesc
CLOSE XmlData
DEALLOCATE XmlData
ROLLBACK TRANSACTION
RETURN '-1'
END
-- IF (SELECT DEP_ID FROM CM_EMPLOYEE WHERE EMP_ID = @EMP_ID) <> @DEPT_ID
-- BEGIN
-- SET @ASSET_CODE=(SELECT ASSET_CODE FROM ASS_MASTER WHERE [ASSET_ID] = @ASSET_ID)
-- SELECT '-1' Result, '' TRANSFER_ID, N'TS: '+ @ASSET_CODE + N' Người nhận phải thuộc về phòng ban nhận.' ErrorDesc
-- CLOSE XmlData
-- DEALLOCATE XmlData
-- ROLLBACK TRANSACTION
-- RETURN '-1'
-- END
--print 'error1'
INSERT INTO ASS_TRANSFER_MULTI_DT(
[TRANSFER_MULTI_ID],
[TRANS_MULTI_MASTER_ID],
[ASSET_ID],
[BRANCH_ID],
[KHOI_ID],
[CENTER_ID],
[DEPT_ID],
[EMP_ID],
[BRANCH_ID_OLD],
[KHOI_ID_OLD],
[CENTER_ID_OLD],
[DEPT_ID_OLD],
[EMP_ID_OLD],
[USE_START_DT],
[DESCRIPTION],
[LOCATION],
[RECORD_STATUS],
[AUTH_STATUS],
[MAKER_ID],
[CREATE_DT],
[CHECKER_ID],
[APPROVE_DT],
[BRANCH_CREATE],
[AUTH_STATUS_KT],
[CREATE_DT_KT],
[APPROVE_DT_KT],
[MAKER_ID_KT],
[CHECKER_ID_KT],
[REPORT_STATUS],
REMAIN_VALUE, BUY_PRICE
)
VALUES(
@l_TRANSFER_MULTI_ID,
@l_TRANS_MULTI_MASTER_ID,
@ASSET_ID,
@BRANCH_ID,
@KHOI_ID,
@CENTER_ID,
@DEPT_ID,
@EMP_ID,
@BRANCH_ID_OLD,
@KHOI_ID_OLD,
@CENTER_ID_OLD,
@DEPT_ID_OLD,
@EMP_ID_OLD,
CONVERT(DATETIME, @p_TRANSFER_DT, 103),
@DESCRIPTION,
@LOCATION,
@p_RECORD_STATUS,
@p_AUTH_STATUS,
@p_MAKER_ID,
CONVERT(DATETIME, @p_CREATE_DT, 103),
@p_CHECKER_ID,
CONVERT(DATETIME, @p_APPROVE_DT, 103),
@p_BRANCH_CREATE ,@p_AUTH_STATUS_KT,
CONVERT(DATETIME, @p_CREATE_DT_KT, 103),
CONVERT(DATETIME, @p_APPROVE_DT_KT, 103),
@p_MAKER_ID_KT,
@p_CHECKER_ID_KT,
'N',
@REMAIN_VALUE, @BUY_PRICE
)
IF @@Error <> 0 GOTO ABORT
SET @COUNT = @COUNT + 1;
FETCH NEXT FROM XmlData INTO @ASSET_ID,@ASSET_CODE,@BRANCH_ID, @KHOI_ID, @CENTER_ID,@DEPT_ID,@EMP_ID,@BRANCH_ID_OLD,@KHOI_ID_OLD,@CENTER_ID_OLD,@DEPT_ID_OLD,
@EMP_ID_OLD,@LOCATION,@DESCRIPTION, @REMAIN_VALUE, @BUY_PRICE
END
CLOSE XmlData
DEALLOCATE XmlData
-- GIANT 21/09/2021
print 'error2'
-- INSERT INTO dbo.PL_PROCESS
-- (
-- REQ_ID,
-- PROCESS_ID,
-- CHECKER_ID,
-- APPROVE_DT,
-- PROCESS_DESC,NOTES
-- )
-- VALUES
-- ( @l_TRANS_MULTI_MASTER_ID, -- REQ_ID - varchar(15)
-- 'INSERT', -- PROCESS_ID - varchar(10)
-- @p_MAKER_ID, -- CHECKER_ID - varchar(15)
-- GETDATE(), -- APPROVE_DT - datetime
-- N'Thêm mới phiều điều chuyển thành công' ,
-- N'Đơn vị tạo phiếu' -- PROCESS_DESC - nvarchar(1000)
-- )
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID, DEP_ID)
VALUES(@l_TRANS_MULTI_MASTER_ID,'ADDNEW','C','QLTS',@p_BRANCH_ID,'',@DEPT_CREATE)
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID, DEP_ID)
VALUES(@l_TRANS_MULTI_MASTER_ID,'QLTS_D','U','TBP_QLTS',@p_BRANCH_ID,'ADDNEW',@DEPT_CREATE)
COMMIT TRANSACTION
SELECT '0' as Result, @l_TRANS_MULTI_MASTER_ID TRANS_MULTI_MASTER_ID, '' ErrorDesc
RETURN '0'
ABORT:
BEGIN
CLOSE XmlData
DEALLOCATE XmlData
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' TRANS_MULTI_MASTER_ID, '' ErrorDesc
RETURN '-1'
End
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[TR_REQUEST_SHOP_DOC_DT_ById_ASS_REQ_GROUP_ID]'
GO
ALTER PROCEDURE [dbo].[TR_REQUEST_SHOP_DOC_DT_ById_ASS_REQ_GROUP_ID]
@p_LST_ASSET_ID VARCHAR(MAX) = NULL,
@p_LST_GROUP_ID VARCHAR(MAX) = NULL,
@p_LST_REQ_ID VARCHAR(MAX) = NULL
AS
BEGIN
SELECT
A.ASSET_ID,
B.ASS_GROUP_ID,
C.REQ_ID,
(SELECT TOP 1 TRDT.EMP_ID FROM TR_REQUEST_SHOP_DOC_DT TRDT WHERE
TRDT.REQ_DOC_ID = C.REQ_ID
AND TRDT.ASS_GROUP_ID = B.ASS_GROUP_ID
AND (TRDT.REQ_DT_TYPE = 'BUYNEW'
OR (TRDT.REQ_DT_TYPE = 'XKSD' AND TRDT.TYPE_XL = 'CPTK'))) AS EMP_ID,--ID NGƯỜi SỬ DỤng PHIẾu CẤp PHÁt
(SELECT TOP 1 ce.EMP_NAME
FROM TR_REQUEST_SHOP_DOC_DT TRDT
LEFT JOIN CM_EMPLOYEE ce ON TRDT.EMP_ID = ce.EMP_ID
WHERE TRDT.REQ_DOC_ID = C.REQ_ID
AND TRDT.ASS_GROUP_ID = B.ASS_GROUP_ID
AND (TRDT.REQ_DT_TYPE = 'BUYNEW'
OR (TRDT.REQ_DT_TYPE = 'XKSD' AND TRDT.TYPE_XL = 'CPTK'))) AS EMP_NAME, --TÊn NGƯỜi SỬ DỤng TRONG PHIẾu CẤp PHÁt
--(SELECT TOP 1 trsd.PL_CODE FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.REQ_ID = C.REQ_ID) AS PL_CODE--Số tờ trình PYC
AA.PL_CODE
FROM (SELECT row_number() over (order by (SELECT 0)) AS ID, VALUE AS ASSET_ID FROM STRING_SPLIT(@p_LST_ASSET_ID,',')) A
LEFT JOIN (SELECT row_number() over (order by (SELECT 0)) AS ID, VALUE AS ASS_GROUP_ID FROM STRING_SPLIT(@p_LST_GROUP_ID,',')) B ON A.ID = B.ID
LEFT JOIN (SELECT row_number() over (order by (SELECT 0)) AS ID, VALUE AS REQ_ID FROM STRING_SPLIT(@p_LST_REQ_ID,',')) C ON A.ID = C.ID
LEFT JOIN ASS_ADDNEW AA ON C.REQ_ID = AA.REQ_ID
WHERE C.REQ_ID IS NOT NULL AND C.REQ_ID <> ''
END
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[ASS_ADDNEW_QLTS_Appr]'
GO
ALTER PROCEDURE [dbo].[ASS_ADDNEW_QLTS_Appr]
@p_ADDNEW_ID VARCHAR(15) = NULL,
@p_CHECKER_ID varchar(100) = NULL,
@p_APPROVE_DT VARCHAR(20) = NULL
AS
IF((SELECT AUTH_STATUS FROM ASS_ADDNEW WHERE ADDNEW_ID = @p_ADDNEW_ID) = 'A')
BEGIN
SELECT '-1' as Result, '' ADDNEW_ID, N'Dữ liệu đã được duyệt' ErrorDesc
RETURN '-1'
END
DECLARE @l_SUP_ID varchar(15)
DECLARE @l_BUY_DATE datetime = NULL
DECLARE @l_TYPE_ID varchar(15) = NULL
DECLARE @l_GROUP_ID varchar(15) = NULL
DECLARE @l_ASSET_NAME nvarchar(1000) = NULL
DECLARE @l_ASSET_SERIAL_NO nvarchar(max) = NULL
DECLARE @l_ASSET_DESC nvarchar(max) = NULL
DECLARE @l_BRANCH_ID varchar(15) = NULL
DECLARE @l_DEPT_ID varchar(15) = NULL
DECLARE @l_EMP_ID varchar(15) = NULL
DECLARE @l_DIVISION_ID varchar(15) = NULL
DECLARE @l_BUY_PRICE decimal(18) = NULL
DECLARE @l_AMORT_AMT decimal(18) = NULL
DECLARE @l_AMORT_MONTH decimal(18,2) = NULL
DECLARE @l_AMORT_RATE decimal(18,2) = NULL
DECLARE @l_IS_MULTIPLE varchar(1) = NULL
DECLARE @l_QTY int = NULL
DECLARE @l_PO_ID varchar(15) = NULL
DECLARE @l_PD_ID varchar(15) = NULL
DECLARE @l_REF_ASSET_ID varchar(15) = NULL
DECLARE @l_REF_AMORTIZED_AMT decimal(18) = NULL
DECLARE @l_WARRANTY_MONTHS int = NULL
DECLARE @l_NOTES nvarchar(1000) = NULL
DECLARE @l_CORE_NOTE nvarchar(200) = NULL
declare @l_ENTRY_BOOKED varchar(1) = null
DECLARE @l_MAKER_ID varchar(15)
DECLARE @l_AUTH_STATUS varchar(1)
declare @l_DO_BRANCH_ID varchar(15)
DECLARE @l_CONSTRUCT_ID varchar(15) = NULL
DECLARE @l_AMORT_STATUS nvarchar(20)
DECLARE @l_AMORT_START_DATE datetime, @l_AMORT_END_DATE datetime
DECLARE @l_FIRST_AMORT_AMT numeric(18,0)
DECLARE @l_MONTHLY_AMT numeric(18,0)
DECLARE @l_HO_BRN_ID varchar(15)
DECLARE @l_WAH_ID varchar(15)
DECLARE @sToday varchar(10) = convert(varchar(10), getdate(), 103)
DECLARE @l_USE_DATE varchar(15)
DECLARE @l_ASS_TYPE varchar(1) = '1'
declare @l_TRN_REF_NO varchar(20)
DECLARE @l_ET_ID varchar(15)
DECLARE @l_VALUE_ID varchar(15)
DECLARE @l_ASSET_ID varchar(15)
DECLARE @l_ASSET_CODE nvarchar(100)
DECLARE @l_WAHDT_ID varchar(15)
DECLARE @l_LOCHIST_ID varchar(15)
DECLARE @l_SUPPEND_GL varchar(50)
DECLARE @l_ASSET_GL varchar(50)
declare @l_ASSET_VALUE decimal(18,0)
DECLARE @ERRORSYS NVARCHAR(15) = ''
DECLARE @BRANCH_CREATE VARCHAR(15) = NULL
DECLARE @ACCOUNT_GL VARCHAR(50)
DECLARE @VAT DECIMAL(18,2)
DECLARE @PRICE_VAT DECIMAL(18,0)
DECLARE @REQ_ID VARCHAR(15)
DECLARE @REQ_CODE VARCHAR(50)
DECLARE @WIN VARCHAR(1)
DECLARE @OFFICE VARCHAR(1)
DECLARE @ASS_CONTRACT_CODE VARCHAR(50)
DECLARE @PL_CODE VARCHAR(50)
DECLARE @i INT
PRINT 'OK1'
--DECLARE @PD_ID VARCHAR(15)
--SELECT @PD_ID = PD_ID FROM ASS_ADDNEW WHERE ADDNEW_ID = @p_ADDNEW_ID
--DECLARE @TOTAL_TT INT, @TOTAL_PO INT
--SET @TOTAL_TT = (SELECT SUM(QTY) FROM ASS_ADDNEW WHERE PD_ID = @PD_ID AND AUTH_STATUS = 'A') + (SELECT QTY FROM ASS_ADDNEW WHERE ADDNEW_ID = @p_ADDNEW_ID)
--SET @TOTAL_PO = (SELECT SUM(QUANTITY) FROM TR_PO_DETAIL WHERE PD_ID = @PD_ID)
--IF(@TOTAL_TT > @TOTAL_PO)
--BEGIN
-- SELECT '-1' as Result, '' ADDNEW_ID, N'Số lượng hàng hóa đã nhập vượt quá số lượng PO' ErrorDesc
-- RETURN '-1'
--END
--lay thong tin giao dich
SELECT @l_BUY_DATE = BUY_DATE, @l_TYPE_ID = A.[TYPE_ID], @l_GROUP_ID = A.GROUP_ID, @l_ASSET_NAME = ASSET_NAME,
@l_ASSET_SERIAL_NO = ASSET_SERIAL_NO, @l_ASSET_DESC = ASSET_DESC, @l_CONSTRUCT_ID = CONSTRUCT_ID,
@l_BRANCH_ID = BRANCH_ID, @l_DEPT_ID = DEPT_ID, @l_EMP_ID = EMP_ID, @l_DIVISION_ID = DIVISION_ID,
@l_BUY_PRICE = BUY_PRICE, @l_AMORT_AMT = AMORT_AMT, @l_AMORT_START_DATE = AMORT_START_DATE,
--@l_AMORT_MONTH = AMORT_MONTH,
@l_AMORT_MONTH = CASE WHEN G.AMORT_MONTH<>0 THEN G.AMORT_MONTH ELSE A.AMORT_MONTH END,
@l_AMORT_RATE = A.AMORT_RATE, @l_CORE_NOTE = A.CORE_NOTE,
@l_IS_MULTIPLE = IS_MULTIPLE, @l_QTY = QTY, @l_PO_ID = PO_ID,@l_PD_ID=PD_ID, @l_REF_ASSET_ID = REF_ASSET_ID,
@l_REF_AMORTIZED_AMT = REF_AMORTIZED_AMT, @l_WARRANTY_MONTHS = WARRANTY_MONTHS, @l_NOTES = A.NOTES, @l_ENTRY_BOOKED = ENTRY_BOOKED,
@l_MAKER_ID = A.MAKER_ID, @l_AUTH_STATUS = A.AUTH_STATUS,
@l_AMORT_END_DATE = AMORT_END_DATE, @BRANCH_CREATE = BRANCH_CREATE,
@ACCOUNT_GL = A.ACCOUNT_GL, @VAT = A.VAT, @PRICE_VAT = A.PRICE_VAT, @REQ_CODE = A.REQ_CODE, @REQ_ID = A.REQ_ID, @WIN = A.WIN_CRACK, @OFFICE = A.OFFICE_CRACK
, @l_SUP_ID = A.SUP_ID, @ASS_CONTRACT_CODE = A.CONTRACT_ID, @PL_CODE = A.PL_CODE
FROM ASS_ADDNEW A
INNER JOIN ASS_GROUP G on G.GROUP_ID = A.GROUP_ID
WHERE ADDNEW_ID = @p_ADDNEW_ID
IF @@Error <> 0 GOTO ABORT
/********** chekc vadilation ************/
IF (@l_AUTH_STATUS = 'A')
SET @ERRORSYS = 'ASS-99998'
IF @ERRORSYS <> ''
BEGIN
SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
RETURN '0'
END
BEGIN TRANSACTION
IF @l_BRANCH_ID <>'' OR @l_BRANCH_ID IS NOT NULL SET @l_ENTRY_BOOKED = 'Y'
IF @l_BRANCH_ID ='' OR @l_BRANCH_ID IS NULL SET @l_AMORT_STATUS = 'VNM'
DECLARE @l_SL_IN_PYC INT =(SELECT ISNULL(SUM(TRSDD.QTY_ETM),0) FROM TR_REQUEST_SHOP_DOC_DT TRSDD
LEFT JOIN TR_REQUEST_SHOP_DOC TRSD ON TRSD.REQ_ID = TRSDD.REQ_DOC_ID
WHERE TRSD.REQ_CODE = @REQ_CODE AND TRSDD.ASS_GROUP_ID = @l_GROUP_ID AND TRSDD.REQ_DT_TYPE = 'BUYNEW')
DECLARE @l_SL_ASS_MASTER INT =(SELECT ISNULL(COUNT(*),0) FROM ASS_MASTER AM WHERE AM.GROUP_ID = @l_GROUP_ID AND AM.REQ_CODE = @REQ_CODE)
IF (@REQ_CODE IS NOT NULL OR @REQ_CODE <> '')
BEGIN
--kiem tra so luong so voi PYC
IF((SELECT ISNULL(QTY,0) FROM ASS_ADDNEW WHERE ADDNEW_ID = @p_ADDNEW_ID) > (@l_SL_IN_PYC - @l_SL_ASS_MASTER))
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' ADDNEW_ID, N'Số lượng tài sản không được lớn hơn số lượng tài sản có cùng loại được thêm mới theo Phiếu yêu cầu.' ErrorDesc
RETURN '-1'
END
END
--INSERT TYPE_XL PYC
IF(@REQ_CODE IS NOT NULL OR @REQ_CODE <> '')
BEGIN
--TĂNG LOCATED NẾU XSD
IF(@l_BRANCH_ID IS NOT NULL OR @l_BRANCH_ID <> '')
BEGIN
SET @l_USE_DATE = convert(varchar(10), getdate(), 103)
UPDATE TR_REQUEST_SHOP_DOC_DT
SET ALLOCATED = ALLOCATED + @l_QTY
WHERE REQDT_ID IN (SELECT TRSDD.REQDT_ID FROM TR_REQUEST_SHOP_DOC_DT TRSDD
WHERE TRSDD.REQ_DOC_ID = @REQ_ID AND TRSDD.ASS_GROUP_ID = @l_GROUP_ID AND TRSDD.REQ_DT_TYPE = 'BUYNEW')
END
END
--INSERT TYPE_XL PYC END
--UPDATE GIAO DICH ADDNEW
UPDATE ASS_ADDNEW
SET AUTH_STATUS = 'A',
CHECKER_ID = @p_CHECKER_ID,
APPROVE_DT = CONVERT(DATETIME, @p_APPROVE_DT, 103),
AUTH_STATUS_KT = 'E'
WHERE ADDNEW_ID = @p_ADDNEW_ID
IF @@Error <> 0 GOTO ABORT
IF (@l_IS_MULTIPLE = '0') --nhap tai san don le
BEGIN
--Phat sinh Asset_ID
EXEC SYS_CodeMasters_Gen 'ASS_MASTER', @l_ASSET_ID out
IF @l_ASSET_ID='' OR @l_ASSET_ID IS NULL GOTO ABORT
DECLARE @ASSET_CODE_TMP VARCHAR(50)
--Phat sinh ma tai san
-- EXEC ASS_CODE_Gen @l_TYPE_ID, @l_GROUP_ID, @ASSET_CODE_TMP OUT
-- IF @l_ASSET_CODE='' OR @l_ASSET_CODE IS NULL GOTO ABORT
--Insert bang ASS_MASTER
INSERT INTO ASS_MASTER
(
[ASSET_ID],
[TYPE_ID],
[GROUP_ID],
[ASSET_CODE],
[ASSET_NAME],
[ASSET_SERIAL_NO],
[ASSET_DESC],
[SUP_ID],
[BUY_PRICE],
[AMORT_AMT],
[ASS_TYPE],
[BRANCH_ID],
[DEPT_ID],
[EMP_ID],
[DIVISION_ID],
[BUY_DATE],
[USE_DATE],
[SPECIAL_ASS],
[AMORT_MONTH],
[AMORT_RATE],
[AMORT_START_DATE],
[AMORT_END_DATE],
[FIRST_AMORT_AMT],
[MONTHLY_AMORT_AMT],
[AMORTIZED_MONTH],
[AMORTIZED_AMT],
[PO_ID],
[PD_ID],
[WAREHOUSE_ID],
[LOCATION],
[REF_ASSET_ID],
[REF_AMORTIZED_AMT],
[WARRANTY_MONTHS],
[NOTES],
[AMORT_STATUS],
[ASS_STATUS],
[ASS_STATUS_DESC],
[ENTRY_BOOKED],
[RECORD_STATUS],
[AUTH_STATUS],
[MAKER_ID],
[CREATE_DT],
[CHECKER_ID],
[APPROVE_DT],
[CONSTRUCT_ID],
[USE_STATUS],
[BRANCH_CREATE],
[ACCOUNT_GL], VAT,PRICE_VAT,
LIQ_W_STATUS, -- HUNGDV MAC DINH = '0',
REQ_ID,
REQ_CODE, -- KHIEMCHG thêm số phiếu yêu cầu để biết tài sản sinh ra từ pyc nào,
ASS_CODE_TMP --khiemchg lưu asset code được gen ra lưu tạm
,OS, MO_LICENSE, ASS_CONTRACT_CODE, PL
)
VALUES
(
@l_ASSET_ID,
@l_TYPE_ID ,
@l_GROUP_ID,
@l_ASSET_ID,
@l_ASSET_NAME,
@l_ASSET_SERIAL_NO,
@l_ASSET_DESC,
@l_SUP_ID,
@l_BUY_PRICE,
@l_AMORT_AMT,
@l_ASS_TYPE,
@l_BRANCH_ID,
@l_DEPT_ID,
@l_EMP_ID,
@l_DIVISION_ID,
CONVERT(DATETIME, @l_BUY_DATE, 103),
CONVERT(DATETIME, @l_USE_DATE, 103),
'0',
@l_AMORT_MONTH,
@l_AMORT_RATE,
@l_AMORT_START_DATE,
@l_AMORT_END_DATE,
@l_FIRST_AMORT_AMT,
@l_MONTHLY_AMT,
0,
0,
@l_PO_ID,
@l_PD_ID,
NULL,
NULL,
@l_REF_ASSET_ID,
@l_REF_AMORTIZED_AMT,
@l_WARRANTY_MONTHS,
@l_NOTES,
@l_AMORT_STATUS,
'1', --Mac dinh moi insert vao tinh trang tai san la binh thuong
N'',
@l_ENTRY_BOOKED,
'1',
'U',
@l_MAKER_ID,
CONVERT(DATETIME, @sToday, 103),
@p_CHECKER_ID,
CONVERT(DATETIME, @p_APPROVE_DT, 103) ,
@l_CONSTRUCT_ID,
'BT',
@BRANCH_CREATE,
@ACCOUNT_GL, @VAT,@PRICE_VAT,
'0' -- LIQ_W_STATUS HUNGDV MAC DINH = '0'
,@REQ_ID
,@REQ_CODE,
@l_ASSET_ID, @WIN, @OFFICE, @ASS_CONTRACT_CODE, @PL_CODE
)
IF @@Error <> 0 GOTO ABORT
--INSERT CHI TIET TAI SAN
INSERT INTO ASS_MASTER_PO SELECT @l_ASSET_ID, POAD.PO_ID, GDDT.TRPO_ID,CONVERT(DATETIME, @sToday, 103)
FROM ASS_ADDNEW_PO POAD
LEFT JOIN ASS_ADDNEW_GD GDDT ON GDDT.PO_ID = POAD.PO_ID AND GDDT.ADDNEW_ID = @p_ADDNEW_ID
WHERE POAD.ADDNEW_ID = @p_ADDNEW_ID
--Insert bang ASS_WARRANTY_DET tu bang ASS_ADDNEW_DT
insert into ASS_WARRANTY_DT(ASSET_ID, WAR_DT, WAR_CONTENT, WAR_END_DT)
select @l_ASSET_ID, A.WAR_DT, A.WAR_CONTENT, WAR_EXPIRED
from ASS_ADDNEW_DT A
WHERE A.ADDNEW_ID= @p_ADDNEW_ID
IF @@Error <> 0 GOTO ABORT
--INSERT VAO BANG ASS_TRANSACTIONS
INSERT INTO ASS_TRANSACTIONS(ASSET_ID, TRN_ID, TRN_TYPE, TRN_DATE, RECORD_STATUS, AUTH_STATUS,
[MAKER_ID], [CREATE_DT], [CHECKER_ID], [APPROVE_DT]
)VALUES
(
@l_ASSET_ID, @p_ADDNEW_ID, 'ADD_NEW', CONVERT(DATETIME, @sToday, 103), '1', 'A',
@l_MAKER_ID, CONVERT(DATETIME, @sToday, 103), @p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103)
)
IF @@Error <> 0 GOTO ABORT
--Insert bang ASS_LOCATION_HIST
EXEC SYS_CodeMasters_Gen 'ASS_LOCATION_HIST', @l_LOCHIST_ID out
IF @l_LOCHIST_ID='' OR @l_LOCHIST_ID IS NULL GOTO ABORT
INSERT INTO ASS_LOCATION_HIST
(
LOCHIST_ID, ASSET_ID, USE_START_DT, USE_END_DT, BRANCH_ID, DEPT_ID,
EMP_ID, LOCATION, ISLEAF, PARENT_ID
)
VALUES
(
@l_LOCHIST_ID, @l_ASSET_ID, GETDATE(), NULL, @l_BRANCH_ID, @l_DEPT_ID,
@l_EMP_ID, '', 'Y', NULL
)
IF @@Error <> 0 GOTO ABORT
END
ELSE --- NHẬP LÔ
BEGIN
IF(EXISTS(SELECT * FROM ASS_TRANSACTIONS AT WHERE AT.TRN_ID = @p_ADDNEW_ID))
BEGIN
DELETE ASS_MASTER_PO WHERE ASSET_ID IN (SELECT AT.ASSET_ID FROM ASS_TRANSACTIONS AT WHERE AT.TRN_ID = @p_ADDNEW_ID)
DELETE ASS_MASTER WHERE ASSET_ID IN (SELECT AT.ASSET_ID FROM ASS_TRANSACTIONS AT WHERE AT.TRN_ID = @p_ADDNEW_ID)
DELETE ASS_LOCATION_HIST WHERE ASSET_ID IN (SELECT AT.ASSET_ID FROM ASS_TRANSACTIONS AT WHERE AT.TRN_ID = @p_ADDNEW_ID)
DELETE ASS_WARRANTY_DT WHERE ASSET_ID IN (SELECT AT.ASSET_ID FROM ASS_TRANSACTIONS AT WHERE AT.TRN_ID = @p_ADDNEW_ID)
DELETE ASS_TRANSACTIONS WHERE TRN_ID = @p_ADDNEW_ID
END
----thieuvq 14/10/2014 nhap seri theo lo
--DECLARE @l_LSTSERI TABLE (
-- [ID] [int] NULL,
-- [VALUE] [NVARCHAR](MAX) NULL)
--DECLARE @l_SERI VARCHAR(MAX)
----LAY THONG TIN SO SERI
--INSERT INTO @l_LSTSERI SELECT ROW_NUMBER() OVER (ORDER BY VALUE), VALUE FROM WSISPLIT(@l_ASSET_SERIAL_NO,',')
--thieuvq 14/10/2014 nhap seri theo lo
DECLARE @l_LSTSERI TABLE (
[ID] [int] IDENTITY(1,1) NOT NULL,
[VALUE] [NVARCHAR](MAX) NULL)
DECLARE @l_SERI VARCHAR(MAX)
--LAY THONG TIN SO SERI
--INSERT INTO @l_LSTSERI SELECT ROW_NUMBER() OVER (ORDER BY VALUE), VALUE FROM WSISPLIT(@l_ASSET_SERIAL_NO,',')
INSERT INTO @l_LSTSERI SELECT VALUE FROM WSISPLIT(@l_ASSET_SERIAL_NO,',')
DECLARE @TBTEMP TABLE(PO_ID VARCHAR(15),PD_ID VARCHAR(15),CREATE_DATE DATETIME)
--INSERT CHI TIET TAI SAN
INSERT INTO @TBTEMP SELECT POAD.PO_ID, GDDT.TRPO_ID,CONVERT(DATETIME, @sToday, 103)
FROM ASS_ADDNEW_PO POAD
LEFT JOIN ASS_ADDNEW_GD GDDT ON GDDT.PO_ID = POAD.PO_ID AND GDDT.ADDNEW_ID = @p_ADDNEW_ID
WHERE POAD.ADDNEW_ID = @p_ADDNEW_ID
--
SET @i = 1
WHILE (@i <= @l_QTY)
BEGIN
--Phat sinh Asset_ID
EXEC SYS_CodeMasters_Gen 'ASS_MASTER', @l_ASSET_ID out
IF @l_ASSET_ID='' OR @l_ASSET_ID IS NULL GOTO ABORT
--Phat sinh ma tai san
-- EXEC ASS_CODE_Gen @l_TYPE_ID, @l_GROUP_ID, @l_ASSET_CODE OUT
-- IF @l_ASSET_CODE='' OR @l_ASSET_CODE IS NULL GOTO ABORT
--THIEUVQ 14/10/2014 LAY SO SERI
SET @l_SERI = (SELECT VALUE FROM @l_LSTSERI WHERE ID = @i)
--Insert bang ASS_MASTER
INSERT INTO ASS_MASTER
(
[ASSET_ID],
[TYPE_ID],
[GROUP_ID],
[ASSET_CODE],
[ASSET_NAME],
[ASSET_SERIAL_NO],
[ASSET_DESC],
[SUP_ID],
[BUY_PRICE],
[AMORT_AMT],
[ASS_TYPE],
[BRANCH_ID],
[DEPT_ID],
[EMP_ID],
[DIVISION_ID],
[BUY_DATE],
[USE_DATE],
[SPECIAL_ASS],
[AMORT_MONTH],
[AMORT_RATE],
[AMORT_START_DATE],
[AMORT_END_DATE],
[FIRST_AMORT_AMT],
[MONTHLY_AMORT_AMT],
[AMORTIZED_MONTH],
[AMORTIZED_AMT],
[PO_ID],
[PD_ID],
[WAREHOUSE_ID],
[LOCATION],
[REF_ASSET_ID],
[REF_AMORTIZED_AMT],
[WARRANTY_MONTHS],
[NOTES],
[AMORT_STATUS],
[ASS_STATUS],
[ASS_STATUS_DESC],
[ENTRY_BOOKED],
[RECORD_STATUS],
[AUTH_STATUS],
[MAKER_ID],
[CREATE_DT],
[CHECKER_ID],
[APPROVE_DT],
[CONSTRUCT_ID],
[USE_STATUS],
[BRANCH_CREATE],[ACCOUNT_GL], VAT,PRICE_VAT, LIQ_W_STATUS -- HUNGDV MAC DINH = '0'
,REQ_ID
,REQ_CODE, -- KHIEMCHG thêm số phiếu yêu cầu để biết tài sản sinh ra từ pyc nào
ASS_CODE_TMP,OS, MO_LICENSE
)
VALUES
(
@l_ASSET_ID,
@l_TYPE_ID ,
@l_GROUP_ID,
@l_ASSET_ID,
@l_ASSET_NAME,
@l_SERI, --@l_ASSET_SERIAL_NO,
@l_ASSET_DESC,
@l_SUP_ID,
@l_BUY_PRICE,
@l_AMORT_AMT,
@l_ASS_TYPE,
@l_BRANCH_ID,
@l_DEPT_ID,
@l_EMP_ID,
@l_DIVISION_ID,
CONVERT(DATETIME, @l_BUY_DATE, 103),
CONVERT(DATETIME, @l_USE_DATE, 103),
'0',
@l_AMORT_MONTH,
@l_AMORT_RATE,
@l_AMORT_START_DATE,
@l_AMORT_END_DATE,
@l_FIRST_AMORT_AMT,
@l_MONTHLY_AMT,
0,
0,
@l_PO_ID,
@l_PD_ID,
NULL,
NULL,
@l_REF_ASSET_ID,
@l_REF_AMORTIZED_AMT,
@l_WARRANTY_MONTHS,
@l_NOTES,
@l_AMORT_STATUS,
'1', --Mac dinh moi insert vao tinh trang tai san la binh thuong
N'',
@l_ENTRY_BOOKED,
'1',
'U',
@l_MAKER_ID,
CONVERT(DATETIME, @sToday, 103),
@p_CHECKER_ID,
CONVERT(DATETIME, @p_APPROVE_DT, 103),
@l_CONSTRUCT_ID ,
'BT',
@BRANCH_CREATE,@ACCOUNT_GL, @VAT,@PRICE_VAT,
'0' -- HUNGDV LIQ_W_STATUS MAC DINH = '0'
,@REQ_ID
,@REQ_CODE,@l_ASSET_ID, @WIN, @OFFICE
)
IF @@Error <> 0 GOTO ABORT
--INSERT CHI TIET TAI SAN
INSERT INTO ASS_MASTER_PO SELECT @l_ASSET_ID, * FROM @TBTEMP
--Insert bang ASS_WARRANTY_DET tu bang ASS_ADDNEW_DT
insert into ASS_WARRANTY_DT(ASSET_ID, WAR_DT, WAR_CONTENT) select @l_ASSET_ID, A.WAR_DT, A.WAR_CONTENT
from ASS_ADDNEW_DT A
WHERE A.ADDNEW_ID= @p_ADDNEW_ID
IF @@Error <> 0 GOTO ABORT
--INSERT VAO BANG ASS_TRANSACTIONS
INSERT INTO ASS_TRANSACTIONS(ASSET_ID, TRN_ID, TRN_TYPE, TRN_DATE, RECORD_STATUS, AUTH_STATUS,
[MAKER_ID], [CREATE_DT], [CHECKER_ID], [APPROVE_DT]
)VALUES
(
@l_ASSET_ID, @p_ADDNEW_ID, 'ADD_NEW', CONVERT(DATETIME, @sToday, 103), '1', 'A',
@l_MAKER_ID, CONVERT(DATETIME, @sToday, 103), @p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103)
)
IF @@Error <> 0 GOTO ABORT
--Insert bang ASS_LOCATION_HIST
EXEC SYS_CodeMasters_Gen 'ASS_LOCATION_HIST', @l_LOCHIST_ID out
IF @l_LOCHIST_ID='' OR @l_LOCHIST_ID IS NULL GOTO ABORT
INSERT INTO ASS_LOCATION_HIST
(
LOCHIST_ID, ASSET_ID, USE_START_DT, USE_END_DT, BRANCH_ID, DEPT_ID,
EMP_ID, LOCATION, ISLEAF, PARENT_ID
)
VALUES
(
@l_LOCHIST_ID, @l_ASSET_ID, GETDATE(), NULL, @l_BRANCH_ID, @l_DEPT_ID,
@l_EMP_ID, '', 'Y', NULL
)
IF @@Error <> 0 GOTO ABORT
SET @i = @i + 1
END
END
---- SET VE NULL ĐỂ KT LƯU HIỆN RÀNG BUỘC
UPDATE ASS_ADDNEW SET AMORT_MONTH = NULL WHERE ADDNEW_ID = @p_ADDNEW_ID
INSERT INTO dbo.PL_PROCESS
(
REQ_ID,
PROCESS_ID,
CHECKER_ID,
APPROVE_DT,
PROCESS_DESC,
NOTES
)
VALUES
( @p_ADDNEW_ID,
'APPROVE',
@p_CHECKER_ID,
GETDATE(),
N'Trưởng đơn vị phê duyệt' ,
N'Trưởng đơn vị phê duyệt thành công'
)
-- ---UPDATE NGAY HOA DON VA SO HOA DON LEN PO
-- UPDATE TR_PO_DETAIL SET INVOICENO = A.INVOICE_NO, INVOICE_DT = A.INVOICE_DT
-- FROM ASS_ADDNEW_GD A
-- WHERE A.TRPO_ID = PD_ID AND A.ADDNEW_ID = @p_ADDNEW_ID
-- UPDATE SỐ TỜ TRÌNH VÀO PYC
--IF(@REQ_CODE IS NOT NULL AND @REQ_CODE <> '') UPDATE TR_REQUEST_SHOP_DOC SET PL_CODE = @PL_CODE WHERE REQ_CODE = @REQ_CODE
COMMIT TRANSACTION
SELECT '0' as Result, @p_ADDNEW_ID ADDNEW_ID, @l_TYPE_ID ErrorDesc--LUU TRU TAM DE GUI MAIL THONG BAO
-- HUNGDV Them Code de gui notification
, (SELECT STUFF((SELECT '; ' + DTA.PO_CODE
FROM ASS_ADDNEW_PO DTA
WHERE DTA.ADDNEW_ID = @p_ADDNEW_ID
FOR XML PATH('')
),1,1,'')
) as CODE
RETURN '0'
ABORT:
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' ADDNEW_ID, '' ErrorDesc
RETURN '-1'
End
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[ASS_ADDNEW_BVB_Upd]'
GO
ALTER PROCEDURE [dbo].[ASS_ADDNEW_BVB_Upd]
@p_ADDNEW_ID varchar(15) = NULL,
@p_BUY_DATE VARCHAR(10) = NULL,
@p_TYPE_ID varchar(15) = NULL,
@p_GROUP_ID varchar(15) = NULL,
@p_ASSET_NAME nvarchar(1000) = NULL,
@p_ASSET_SERIAL_NO nvarchar(MAX) = NULL,
@p_ASSET_DESC nvarchar(max) = NULL,
@p_BRANCH_ID varchar(15) = NULL,
@p_DEPT_ID varchar(15) = NULL,---------Them ma phong ban
@p_EMP_ID varchar(15) = NULL,-----------Them Nguoi su dung
@p_DIVISION_ID varchar(15) = NULL,----------Them co so
@p_AMORT_START_DATE varchar(20) = NULL,------------THEM NGAY BD KHAU HAO
@p_AMORT_END_DATE varchar(20) = NULL,------------THEM NGAY BD KHAU HAO
@p_BUY_PRICE decimal(18) = NULL,
@p_AMORT_AMT decimal(18) = NULL,
@p_AMORT_MONTH decimal(18,2) = NULL,
@p_AMORT_RATE decimal(18,2) = NULL,
@p_IS_MULTIPLE varchar(1) = NULL,
@p_QTY int = NULL,
@p_PO_ID varchar(15) = NULL,
@p_PD_ID varchar(15) = NULL, --Them de luu chi tiet PO
@p_REF_ASSET_ID varchar(15) = NULL,
@p_REF_AMORTIZED_AMT decimal(18) = NULL,
@p_WARRANTY_MONTHS int = NULL,
@p_NOTES nvarchar(1000) = NULL,
@p_CORE_NOTE nvarchar(500) = NULL,
@p_ENTRY_BOOKED varchar(1) = NULL, --Them de kiem tra co hach toan tai san khi nhap ts khong (Y/N)?
@p_ADDNEW_DT XML = NULL,
@p_RECORD_STATUS varchar(1) = NULL,
@p_AUTH_STATUS varchar(1) = NULL,
@p_MAKER_ID varchar(15) = NULL,
@p_CREATE_DT VARCHAR(20) = NULL,
@p_CHECKER_ID varchar(15) = NULL,
@p_APPROVE_DT VARCHAR(20) = NULL,
@p_CONSTRUCT_ID VARCHAR(15) = NULL,
@p_POSTED_STATUS VARCHAR(1) = NULL,
@p_BRANCH_CREATE VARCHAR(15) = NULL,
@p_ACCOUNT_GL VARCHAR(50),
@VAT DECIMAL(18,2),
@PRICE_VAT DECIMAL(18,2),
@p_ADDNEW_PO XML = NULL,
@p_ADDNEW_GD XML = NULL,
--/************ LUCTV ***************/
@p_ASS_PO_ID VARCHAR(15)= NULL,
--@l_ADDNEW_ID VARCHAR(15) = NULL,
@p_PO_CODE VARCHAR(500) = NULL,
@p_INVOICE_NO VARCHAR(500) = NULL,
@p_INVOICE_SYMPOL VARCHAR(500) = NULL,
@p_INVOICE_DT VARCHAR(20) = NULL
--/************ khiemchg ***************/
,@p_CONTRACT_ID VARCHAR(15) NULL
,@p_SUP_ID VARCHAR(15) NULL
,@p_ASS_STATUS VARCHAR(50) NULL
,@p_PL_CODE VARCHAR(50) NULL
,@p_WAR_EXPIRE_DT VARCHAR(50) NULL
,@p_REQ_ID VARCHAR(15) NULL
,@p_REQ_CODE VARCHAR(50) NULL
,@p_PR_CODE VARCHAR(250) NULL
,@p_UNIT VARCHAR(50) NULL
,@p_WIN VARCHAR(1) NULL
,@p_OFFICE VARCHAR(1) NULL
,@p_FORWARD_CONTENT NVARCHAR(MAX) NULL
AS
--DECLARE @l_ADDNEW_ID VARCHAR(15)
DECLARE @l_ADDNEWDT_ID VARCHAR(15)
Declare @hdoc INT
DECLARE @l_ASSET_ID VARCHAR(15)
DECLARE @l_WAR_DT varchar(10)
DECLARE @l_WAR_CONTENT nvarchar(1000)
/************ Vadilation here ***************/
DECLARE @ERRORSYS NVARCHAR(15) = ''
/*** so thang khau hao phai lon hon 0 ************/
IF (@p_AMORT_MONTH < 0)
SET @ERRORSYS = 'ASS-00016'
/***KIEM TRA NEU LA CCLD THI GIA TRI SAU THUE < 30TR ***/
IF @p_TYPE_ID = 'CCLD' AND (ISNULL(@p_BUY_PRICE,0) + ISNULL(@PRICE_VAT,0)) >= 30000000
BEGIN
SELECT 'CCLD01' Result, '' ADDNEW_ID, N'Giá trị CCLĐ sau thuế phải nhỏ hơn 30 triệu.' ErrorDesc
RETURN '-1'
END
IF @ERRORSYS <> ''
BEGIN
SELECT ErrorCode Result, '' ADDNEW_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
RETURN '0'
END
--IF(@p_PO_CODE IS NULL OR @p_PO_CODE ='')
--BEGIN
-- SELECT '-1' Result, '' ASS_PO_ID, N'Số PO không được để trống' ErrorDesc
-- RETURN '-1'
--END
--IF(@p_INVOICE_NO IS NULL OR @p_INVOICE_NO ='')
--BEGIN
-- SELECT '-1' Result, '' ASS_PO_ID, N'Số hóa đơn không được để trống' ErrorDesc
-- RETURN '-1'
--END
--IF(@p_INVOICE_DT IS NULL OR @p_INVOICE_DT ='')
--BEGIN
-- SELECT '-1' Result, '' ASS_PO_ID, N'Ngày hóa đơn không được để trống' ErrorDesc
-- RETURN '-1'
--END
BEGIN TRY
/*******************End validaiton **************/
Exec sp_xml_preparedocument @hdoc Output, @p_ADDNEW_DT
DECLARE AddnewDT CURSOR FOR
SELECT *
FROM OPENXML(@hdoc,'/Root/ADDNEWDT',2)
WITH
(
WAR_DT varchar(15),
WAR_CONTENT nvarchar(1000)
)
OPEN AddnewDT
Exec sp_xml_preparedocument @hdoc Output, @p_ADDNEW_PO
DECLARE AddnewPO CURSOR FOR
SELECT *
FROM OPENXML(@hdoc,'/Root/ADDNEWDT',2)
WITH
(
ADDNEW_PO_ID varchar(15),
PO_ID varchar(15) ,
PO_CODE varchar(15) --,
--INVOICE_NO varchar(200),
--INVOICE_DT VARCHAR(20)
)
Exec sp_xml_preparedocument @hdoc Output, @p_ADDNEW_GD
DECLARE AddnewGD CURSOR FOR
SELECT *
FROM OPENXML(@hdoc,'/Root/ADDNEWDT',2)
WITH
(
TRPO_ID varchar(15),
ADDNEW_GD_ID varchar(15),
GOOD_ID varchar(15),
GOOD_NAME nvarchar(500),
PRICE decimal(18, 0),
VAT decimal(18, 2),
PRICE_VAT decimal(18, 0),
QUANTITY int ,
INVOICE_NO varchar(200),
INVOICE_DT VARCHAR(20),
PO_ID VARCHAR(15)
)
BEGIN TRANSACTION
DECLARE @l_SL_IN_PYC INT =(SELECT ISNULL(SUM(TRSDD.QTY_ETM),0) FROM TR_REQUEST_SHOP_DOC_DT TRSDD
LEFT JOIN TR_REQUEST_SHOP_DOC TRSD ON TRSD.REQ_ID = TRSDD.REQ_DOC_ID
WHERE TRSD.REQ_CODE = @p_REQ_CODE AND TRSDD.ASS_GROUP_ID = @p_GROUP_ID AND TRSDD.REQ_DT_TYPE = 'BUYNEW')
IF (@p_ASSET_NAME = '' OR @p_ASSET_NAME IS NULL)
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' ADDNEW_ID, N'Tên tài sản không được để trống.' ErrorDesc
RETURN '-1'
END
IF (@p_REQ_CODE <> '' OR @p_REQ_CODE IS NOT NULL)
BEGIN
IF ((SELECT COUNT(*) FROM TR_REQUEST_SHOP_DOC WHERE REQ_CODE = @p_REQ_CODE) = 0)
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' ADDNEW_ID, N'Số PYC nhập không hợp lệ.' ErrorDesc
RETURN '-1'
END
--kiem tra so luong so voi PYC
IF(@p_QTY > @l_SL_IN_PYC)
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' ADDNEW_ID, N'Số lượng tài sản không được lớn hơn số lượng tài sản có cùng loại được thêm mới theo Phiếu yêu cầu' ErrorDesc
RETURN '-1'
END
DECLARE @BRANCH_TYPE VARCHAR(15) = (SELECT CB.BRANCH_TYPE FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @p_BRANCH_CREATE)
DECLARE @BRANCH_TYPE_XSD VARCHAR(15) = (SELECT CB.BRANCH_TYPE FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @p_BRANCH_ID)
IF (@BRANCH_TYPE <> 'HS')
BEGIN
IF (@p_REQ_CODE IS NULL)
BEGIN
--Kiểm tra nếu là đơn vị kinh doanh tạo thì buộc nhập PYC
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' ADDNEW_ID, N'Bạn phải chọn phiếu yêu cầu để thực hiện tạo nhập mới' ErrorDesc
RETURN '-1'
END
END
IF (@BRANCH_TYPE_XSD = 'HS' AND (@p_DEPT_ID IS NULL OR @p_DEPT_ID = ''))
BEGIN
--Kiểm tra nếu là đơn vị Hội sở tạo chọn PYC
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' ADDNEW_ID, N'Bạn phải chọn phòng ban để thực hiện xuất sử dụng' ErrorDesc
RETURN '-1'
END
END
IF(@p_REQ_CODE = '')
BEGIN
SET @p_REQ_CODE = NULL
END
SET @p_REQ_ID = (SELECT REQ_ID FROM TR_REQUEST_SHOP_DOC WHERE REQ_CODE = @p_REQ_CODE)
UPDATE ASS_ADDNEW
SET
[BUY_DATE] = CONVERT(DATETIME, @p_BUY_DATE, 103),
[TYPE_ID] = @p_TYPE_ID,
[GROUP_ID] = @p_GROUP_ID,
[ASSET_NAME] = @p_ASSET_NAME,
[ASSET_SERIAL_NO] = @p_ASSET_SERIAL_NO,
[ASSET_DESC] = @p_ASSET_DESC,
[BRANCH_ID] = @p_BRANCH_ID,
[DEPT_ID] = @p_DEPT_ID,------------------Them
[EMP_ID] = @p_EMP_ID,--------------------------Them
[DIVISION_ID] = @p_DIVISION_ID,-----------------Them
[AMORT_START_DATE] = (CASE WHEN @p_AMORT_START_DATE IS NULL OR @p_AMORT_START_DATE = '' THEN NULL ELSE CONVERT(DATETIME, @p_AMORT_START_DATE, 103) END),-----------Them
[BUY_PRICE] = ISNULL(@p_BUY_PRICE, 0),
[AMORT_AMT] = @p_AMORT_AMT,
[AMORT_MONTH] = @p_AMORT_MONTH,
[AMORT_RATE] = @p_AMORT_RATE,
[IS_MULTIPLE] = @p_IS_MULTIPLE,
[QTY] = @p_QTY,
[PO_ID] = @p_PO_ID,
[PD_ID] = @p_PD_ID, --Them de luu chi tiet PO
[REF_ASSET_ID] = @p_REF_ASSET_ID,
[REF_AMORTIZED_AMT] = @p_REF_AMORTIZED_AMT,
[WARRANTY_MONTHS] = @p_WARRANTY_MONTHS,
[NOTES] = @p_NOTES,
[CORE_NOTE] = @p_CORE_NOTE,
[ENTRY_BOOKED] = @p_ENTRY_BOOKED, -- THEM KHI NHAP MOI CO TANG TAI SAN KHONG
[RECORD_STATUS] = @p_RECORD_STATUS,
[AUTH_STATUS] = 'E',
[MAKER_ID] = @p_MAKER_ID,
[CREATE_DT] = CONVERT(DATETIME, @p_CREATE_DT, 103),
[CHECKER_ID] = @p_CHECKER_ID,
[APPROVE_DT] =CASE WHEN @p_APPROVE_DT = '' OR @p_APPROVE_DT IS NULL THEN CONVERT(DATETIME, NULL, 103) ELSE CONVERT(DATETIME, @p_APPROVE_DT, 103) END,
[CONSTRUCT_ID] = @p_CONSTRUCT_ID,----------------Them
[POSTED_STATUS] = @p_POSTED_STATUS,-- THEM 14/04/2014
[BRANCH_CREATE] = @p_BRANCH_CREATE,-- THEM 14/04/2014
[AMORT_END_DATE] = (CASE WHEN @p_AMORT_END_DATE IS NULL OR @p_AMORT_END_DATE = '' THEN CONVERT(DATETIME, NULL, 103) ELSE CONVERT(DATETIME, @p_AMORT_END_DATE, 103) END),
[ACCOUNT_GL] = @p_ACCOUNT_GL,
[VAT] = @VAT,
[PRICE_VAT] = @PRICE_VAT
,CONTRACT_ID = @p_CONTRACT_ID
,SUP_ID = @p_SUP_ID
,ASS_STATUS = @p_ASS_STATUS
,PL_CODE = @p_PL_CODE
,WAR_EXPIRE_DT = CONVERT(DATETIME, @p_WAR_EXPIRE_DT, 103)
,REQ_ID = @p_REQ_ID
,REQ_CODE = @p_REQ_CODE
,PR_CODE = @p_PR_CODE
,UNIT = @p_UNIT
,WIN_CRACK = @p_WIN
,OFFICE_CRACK = @p_OFFICE
,FORWARD_CONTENT = @p_FORWARD_CONTENT
WHERE ADDNEW_ID = @p_ADDNEW_ID
--IF @@Error <> 0 GOTO ABORT
--DELETE truoc khi insert
DELETE ASS_ADDNEW_DT WHERE ADDNEW_ID = @p_ADDNEW_ID
--IF @@Error <> 0 GOTO ABORT
--UPDATE ASS_PO--------
IF(EXISTS (SELECT * FROM ASS_PO WHERE ADDNEW_ID = @p_ADDNEW_ID))
BEGIN
UPDATE ASS_PO
SET PO_CODE=@p_PO_CODE,
INVOICE_DATE = CONVERT(DATETIME,@p_INVOICE_DT,103),
INVOICE_NO =@p_INVOICE_NO, INVOICE_SYMPOL = @p_INVOICE_SYMPOL,
ADDNEW_ID =@p_ADDNEW_ID
WHERE ASSPO_ID = @p_ASS_PO_ID
END
ELSE
BEGIN
EXEC SYS_CodeMasters_Gen 'ASS_PO', @p_ASS_PO_ID out
INSERT INTO ASS_PO VALUES (@p_ASS_PO_ID,@p_ADDNEW_ID,@p_PO_CODE,@p_INVOICE_NO,CONVERT(DATETIME,@p_INVOICE_DT,103),NULL,'1','A',@p_MAKER_ID,CONVERT(DATETIME, @p_CREATE_DT, 103),@p_CHECKER_ID,CONVERT(DATETIME, @p_APPROVE_DT, 103),@p_BRANCH_CREATE, @p_INVOICE_SYMPOL)
END
--insert lai van bang ASS_ADDNEW
FETCH NEXT FROM AddnewDT INTO @l_WAR_DT, @l_WAR_CONTENT
WHILE @@FETCH_STATUS = 0
BEGIN
IF(NOT EXISTS (SELECT * FROM ASS_WARRANTY_DT WHERE ASSET_ID=@l_ASSET_ID AND CONVERT(DATE,WAR_DT, 103) = CONVERT(DATE,@l_WAR_DT,103)))
BEGIN
EXEC SYS_CodeMasters_Gen 'ASS_ADDNEW_DT', @l_ADDNEWDT_ID out
INSERT INTO ASS_ADDNEW_DT(ADDNEWDT_ID, ADDNEW_ID , WAR_DT, WAR_CONTENT)
VALUES(@l_ADDNEWDT_ID, @p_ADDNEW_ID, CONVERT(DATETIME, @l_WAR_DT, 103), @l_WAR_CONTENT)
END
--EXEC SYS_CodeMasters_Gen 'ASS_ADDNEW_DT', @l_ADDNEWDT_ID out
----IF @l_ADDNEWDT_ID='' OR @l_ADDNEWDT_ID IS NULL GOTO ABORT
--INSERT INTO ASS_ADDNEW_DT(ADDNEWDT_ID, ADDNEW_ID , WAR_DT, WAR_CONTENT)
--VALUES(@l_ADDNEWDT_ID, @p_ADDNEW_ID, CONVERT(DATETIME, @l_WAR_DT, 103), @l_WAR_CONTENT)
--IF @@Error <> 0 GOTO ABORT
FETCH NEXT FROM AddnewDT INTO @l_WAR_DT, @l_WAR_CONTENT
PRINT @l_WAR_DT
END
CLOSE AddnewDT
DEALLOCATE AddnewDT
--XOA TRUOC KHI INSERT
DELETE ASS_ADDNEW_PO WHERE ADDNEW_ID = @p_ADDNEW_ID
--INSERT DANH SACH PO
DECLARE @PO_ID varchar(15) , @ADD_PO_ID VARCHAR(15),
@PO_CODE varchar(15) ,
@INVOICE_NO varchar(200),
@INVOICE_DT VARCHAR(20)
OPEN AddnewPO
FETCH NEXT FROM AddnewPO INTO @ADD_PO_ID, @PO_ID, @PO_CODE
WHILE @@FETCH_STATUS = 0
BEGIN
IF @ADD_PO_ID IS NULL OR @ADD_PO_ID = ''
BEGIN
EXEC SYS_CodeMasters_Gen 'ASS_ADDNEW_PO', @ADD_PO_ID out
END
INSERT INTO ASS_ADDNEW_PO VALUES (@ADD_PO_ID,@p_ADDNEW_ID, @PO_ID, @PO_CODE,'',NULL, '',@p_INVOICE_SYMPOL)
FETCH NEXT FROM AddnewPO INTO @ADD_PO_ID, @PO_ID, @PO_CODE
END
CLOSE AddnewPO
DEALLOCATE AddnewPO
--XOA TRUOC KHI INSERT
DELETE ASS_ADDNEW_GD WHERE ADDNEW_ID = @p_ADDNEW_ID
--INSERT DANH SACH THAM CHIEU HANG HOA
DECLARE @GOOD_ID varchar(15), @ADD_GD_ID VARCHAR(15),@TRPO_ID varchar(15),
@GOOD_NAME nvarchar(500),
@PRICE decimal(18, 0),
@VAT_DT decimal(18, 2),
@PRICE_VAT_DT decimal(18, 0), @GD_PO_ID VARCHAR(15),
@QUANTITY int
OPEN AddnewGD
FETCH NEXT FROM AddnewGD INTO @TRPO_ID, @ADD_GD_ID, @GOOD_ID, @GOOD_NAME, @PRICE, @VAT_DT, @PRICE_VAT_DT, @QUANTITY, @INVOICE_NO, @INVOICE_DT, @GD_PO_ID
WHILE @@FETCH_STATUS = 0
BEGIN
IF @ADD_GD_ID IS NULL OR @ADD_GD_ID = ''
BEGIN
EXEC SYS_CodeMasters_Gen 'ASS_ADDNEW_GD', @ADD_GD_ID out
END
IF @INVOICE_DT = '' SET @INVOICE_DT = NULL
INSERT INTO ASS_ADDNEW_GD VALUES (@ADD_GD_ID,@p_ADDNEW_ID, @TRPO_ID, @GOOD_ID, @GOOD_NAME, @PRICE, @VAT_DT, @PRICE_VAT_DT, @QUANTITY, '', @INVOICE_NO,CONVERT(DATETIME, @INVOICE_DT, 103),@GD_PO_ID,@p_INVOICE_SYMPOL)
FETCH NEXT FROM AddnewGD INTO @TRPO_ID, @ADD_GD_ID, @GOOD_ID, @GOOD_NAME, @PRICE, @VAT_DT, @PRICE_VAT_DT, @QUANTITY, @INVOICE_NO, @INVOICE_DT, @GD_PO_ID
END
CLOSE AddnewGD
DEALLOCATE AddnewGD
-- HUYHT 06/05/2022: XÓA CÁC PROCESS UPDATE CŨ
DELETE dbo.PL_PROCESS WHERE REQ_ID = @p_ADDNEW_ID AND PROCESS_ID = 'UPDATE'
-- GIANT Insert to table PL_PROCESS
INSERT INTO dbo.PL_PROCESS
(
REQ_ID,
PROCESS_ID,
CHECKER_ID,
APPROVE_DT,
PROCESS_DESC,
NOTES
)
VALUES
( @p_ADDNEW_ID,
'UPDATE',
@p_MAKER_ID,
CONVERT(DATETIME, GETDATE(), 103),
N'Nhân viên cập nhật phiếu' ,
N'Cập nhật phiếu nhập mới thành công'
)
COMMIT TRANSACTION
SELECT '0' as Result, @p_ADDNEW_ID ADDNEW_ID, '' ErrorDesc
RETURN '0'
--ABORT:
--BEGIN
-- ROLLBACK TRANSACTION
-- --CLOSE AddnewDT
-- --DEALLOCATE AddnewDT
-- --CLOSE AddnewPO
-- --DEALLOCATE AddnewPO
-- --CLOSE AddnewGD
-- --DEALLOCATE AddnewGD
-- SELECT '-1' as Result, '' ADDNEW_ID, ERROR_MESSAGE() ErrorDesc
-- RETURN '-1'
--End
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION
IF CURSOR_STATUS('global','AddnewDT') >= -1
BEGIN
CLOSE AddnewDT
DEALLOCATE AddnewDT
END
--IF CURSOR_STATUS('global','AddnewPO') >= -1
--BEGIN
-- CLOSE AddnewPO
-- DEALLOCATE AddnewPO
--END
--IF CURSOR_STATUS('global','AddnewGD') >= -1
--BEGIN
-- CLOSE AddnewGD
-- DEALLOCATE AddnewGD
--END
SELECT '-1' as Result, @p_ADDNEW_ID ADDNEW_ID, ERROR_MESSAGE() ErrorDesc
RETURN '-1'
END CATCH
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[ASS_USE_MULTI_HANDOVER_RECORD]'
GO
ALTER PROC [dbo].[ASS_USE_MULTI_HANDOVER_RECORD]
@USER_MASTER_ID VARCHAR(15) = NULL
AS
BEGIN
--Table 0 Nội dung && BRANCH
SELECT N'Hội sở - PHÒNG QUẢN LÝ TÀI SẢN' AS BRANCH_NAME,
(N'Hôm nay, ngày ' + CONVERT(VARCHAR(5),DAY(GETDATE())) + N' tháng ' + CONVERT(VARCHAR(5),MONTH(GETDATE())) + N' năm ' + CONVERT(VARCHAR(5),YEAR(GETDATE())) + N' tại ') AS DD_MM_YY,
A.CONTENT AS TITLE
FROM ASS_USE_MULTI_MASTER A
WHERE A.USER_MASTER_ID = @USER_MASTER_ID
--Table 1 Bên giao
SELECT TOP 1 B.TLFullName, B.ADDRESS, B.PHONE, C.POS_NAME, ISNULL(D.BRANCH_NAME,'') + ISNULL(' - ' + E.DEP_NAME,'') AS BRANCH_NAME
FROM ASS_USE_MULTI_MASTER A
LEFT JOIN TL_USER B ON A.MAKER_ID = B.TLNANME
LEFT JOIN CM_EMPLOYEE_LOG C ON B.TLNANME = C.USER_DOMAIN
LEFT JOIN CM_BRANCH D ON A.BRANCH_CREATE = D.BRANCH_ID
LEFT JOIN CM_DEPARTMENT E ON A.DEPT_CREATE = E.DEP_ID
WHERE A.USER_MASTER_ID = @USER_MASTER_ID
--Table 2 Bên nhận
--Fix tạm UAT
IF(EXISTS(SELECT TOP 1 B.TLFullName, B.ADDRESS, B.PHONE, C.POS_NAME
FROM ASS_USE_CONFIRM_MASTER A
LEFT JOIN TL_USER B ON A.MAKER_ID = B.TLNANME
LEFT JOIN CM_EMPLOYEE_LOG C ON B.TLNANME = C.USER_DOMAIN
WHERE A.USER_MASTER_ID = @USER_MASTER_ID))
BEGIN
SELECT TOP 1 B.TLFullName, B.ADDRESS, B.PHONE, C.POS_NAME, ISNULL(D.BRANCH_NAME,'') + ISNULL(' - ' + E.DEP_NAME,'') AS BRANCH_NAME
FROM ASS_USE_CONFIRM_MASTER A
LEFT JOIN TL_USER B ON A.MAKER_ID = B.TLNANME
LEFT JOIN CM_EMPLOYEE_LOG C ON B.TLNANME = C.USER_DOMAIN
LEFT JOIN CM_BRANCH D ON A.BRANCH_ID = D.BRANCH_ID
LEFT JOIN CM_DEPARTMENT E ON A.DEP_ID = E.DEP_ID
WHERE A.USER_MASTER_ID = @USER_MASTER_ID
END
ELSE
BEGIN
SELECT '' TLFullName, '' ADDRESS, '' PHONE, '' POS_NAME
END
--TABLE 3 DANH SÁCH TÀI SẢN
SELECT CASE
WHEN B.ASSET_CODE IS NOT NULL AND B.ASSET_CODE <> '' THEN B.ASSET_CODE
ELSE B.ASS_CODE_TMP
END AS ASSET_CODE, B.ASSET_NAME, D.UNIT_NAME, 1 AS QUANTITY,
E.STATUS_NAME, B.ASSET_SERIAL_NO AS SERIAL, R.REQ_CODE, B.NOTES AS QUY_CACH, A.NOTES, ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS STT
,CE.EMP_NAME
FROM ASS_USE_MULTI_DT A
LEFT JOIN TR_REQUEST_SHOP_DOC R ON A.REQ_ID = R.REQ_ID
LEFT JOIN ASS_MASTER B ON A.ASSET_ID = B.ASSET_ID
LEFT JOIN ASS_GROUP C ON B.GROUP_ID = C.GROUP_ID
LEFT JOIN CM_UNIT D ON C.UNIT = D.UNIT_ID
LEFT JOIN ASS_STATUS E ON B.ASS_STATUS = E.STATUS_ID
LEFT JOIN CM_EMPLOYEE CE ON A.EMP_ID = CE.EMP_ID
WHERE A.USER_MASTER_ID = @USER_MASTER_ID
--TABLE 4 CHỮ KÝ
SELECT TOP 1 E.TLFullName AS CHECKER_NAME, --BÊN NHẬN
ISNULL(C.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP
WHERE PP.REQ_ID = A.USER_MASTER_ID AND PP.PROCESS_ID = 'CONFIRM'
AND PP.CHECKER_ID = B.MAKER_ID
ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME_2,--BÊN NHẬN
D.TLFullName AS MAKER_NAME, --BÊN GIAO
--G.TLFullName AS INTERMEDIATE_UNIT_NAME, --ĐƠN VỊ TRUNG GIAN
ISNULL(F.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP
WHERE PP.REQ_ID = A.USER_MASTER_ID AND PP.PROCESS_ID = 'SEND'
AND PP.CHECKER_ID = A.MAKER_ID
ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME --BÊN GIAO
--H.POS_NAME AS POS_NAME_1 -- ĐƠN VỊ TRUNG GIAN
FROM ASS_USE_MULTI_MASTER A
LEFT JOIN ASS_USE_CONFIRM_MASTER B ON A.USER_MASTER_ID = B.USER_MASTER_ID
LEFT JOIN TL_USER E ON B.MAKER_ID = E.TLNANME --BÊN NHẬN
LEFT JOIN CM_EMPLOYEE_LOG C ON B.MAKER_ID = C.USER_DOMAIN --BÊN NHẬN
LEFT JOIN TL_USER D ON A.MAKER_ID = D.TLNANME --BÊN GIAO
LEFT JOIN CM_EMPLOYEE_LOG F ON D.TLNANME = F.USER_DOMAIN
--LEFT JOIN TL_USER G ON A.CHECKER_ID = G.TLNANME -- DVTG
--LEFT JOIN CM_EMPLOYEE_LOG H ON A.CHECKER_ID = H.USER_DOMAIN --DVTG
WHERE A.USER_MASTER_ID = @USER_MASTER_ID
--TABLE 5 SỐ
SELECT @USER_MASTER_ID AS NO
--TABLE 6 ĐƠN VỊ TRUNG GIAN
SELECT '' TLFullName, '' ADDRESS, '' PHONE, '' POS_NAME
--SELECT TOP 1 B.TLFullName, B.ADDRESS, B.PHONE, C.POS_NAME, ISNULL(D.BRANCH_NAME,'') + ISNULL(' - ' + E.DEP_NAME,'') AS BRANCH_NAME
--FROM ASS_USE_MULTI_MASTER A
--LEFT JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME
--LEFT JOIN CM_EMPLOYEE_LOG C ON B.TLNANME = C.USER_DOMAIN
--LEFT JOIN CM_BRANCH D ON A.BRANCH_CREATE = D.BRANCH_ID
--LEFT JOIN CM_DEPARTMENT E ON A.DEPT_CREATE = E.DEP_ID
--WHERE A.USER_MASTER_ID = @USER_MASTER_ID
END
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[rpt_PYC_CAPPHAT]'
GO
ALTER PROC [dbo].[rpt_PYC_CAPPHAT]
@REQ_ID VARCHAR(15) = NULL
AS
BEGIN
DECLARE
@SHOW_TABLE_DVCM_KHAC VARCHAR(1) = NULL,@SHOW_TABLE_DVCM_IT VARCHAR(1) = NULL
--TABLE 0
SELECT DISTINCT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS STT, AG.GROUP_NAME AS GR_NAME, AG.GROUP_CODE AS GR_CODE,
cd.DEP_NAME, ce.EMP_NAME, trsdd.QTY_ETM, trsdd.REASON, TU.TLFullName AS MAKER, TU2.TLFullName AS TDV
FROM TR_REQUEST_SHOP_DOC_DT trsdd
LEFT JOIN TR_REQUEST_SHOP_DOC trsd ON trsdd.REQ_DOC_ID = trsd.REQ_ID
LEFT JOIN CM_DEPARTMENT cd ON trsd.DEP_ID = cd.DEP_ID
LEFT JOIN CM_EMPLOYEE ce ON trsdd.EMP_ID = ce.EMP_ID
LEFT JOIN ASS_GROUP AG ON trsdd.ASS_GROUP_ID = AG.GROUP_ID
LEFT JOIN TL_USER TU ON TU.TLNANME = trsd.MAKER_ID
LEFT JOIN TL_USER TU2 ON TU2.TLNANME = trsd.CHECKER_ID
WHERE trsdd.REQ_DOC_ID = @REQ_ID AND REQ_DT_TYPE = 'ORGINAL'
--GROUP BY AG.GROUP_NAME, AG.GROUP_CODE,
--cd.DEP_NAME, ce.EMP_NAME, trsdd.QTY_ETM, trsdd.REASON, TU.TLFullName, TU2.TLNANME
ORDER BY STT
--TABLE 1 DVCM KHOI CNTT
IF(EXISTS(SELECT 1
FROM TR_REQUEST_SHOP_COSTCENTER A
LEFT JOIN CM_DEPARTMENT B ON A.COST_ID = B.DEP_ID
WHERE A.REQ_ID = @REQ_ID AND B.DEP_CODE = '05J00'))
BEGIN
SELECT TOP 1 A.ASS_STATUS, A.RE_CONTENT, A.NOTES, E.TLFullName AS SURVEY_STAFF, ISNULL(B.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(PP.APPROVE_DT, 'dd/MM/yyyy HH:mm:ss') AS POS_NAME
FROM TR_REQUEST_SHOP_COSTCENTER A
LEFT JOIN CM_EMPLOYEE_LOG B ON A.MAKER_ID = B.USER_DOMAIN
LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
LEFT JOIN CM_DEPARTMENT cd ON A.COST_ID = cd.DEP_ID
LEFT JOIN PL_PROCESS PP ON A.REQ_ID = PP.REQ_ID AND A.MAKER_ID = PP.CHECKER_ID
WHERE A.REQ_ID = @REQ_ID AND cd.DEP_CODE = '05J00'
ORDER BY PP.APPROVE_DT DESC
SET @SHOW_TABLE_DVCM_IT = '1'
END
ELSE
BEGIN
SELECT '' ASS_STATUS, '' RE_CONTENT,'' NOTES, ''SURVEY_STAFF, '' POS_NAME
END
--TABLE 2 DVCM KHAC
IF(EXISTS(SELECT 1
FROM TR_REQUEST_SHOP_COSTCENTER A
LEFT JOIN CM_DEPARTMENT B ON A.COST_ID = B.DEP_ID
WHERE A.REQ_ID = @REQ_ID AND B.DEP_CODE <> '05J00'))
BEGIN
SELECT A.ASS_STATUS, A.RE_CONTENT, A.NOTES, E.TLFullName AS SURVEY_STAFF, ISNULL(B.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' +
FORMAT(
(SELECT TOP 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.REQ_ID AND PP.CHECKER_ID = A.MAKER_ID ORDER BY PP.APPROVE_DT DESC)
, 'dd/MM/yyyy HH:mm:ss') AS POS_NAME
FROM TR_REQUEST_SHOP_COSTCENTER A
LEFT JOIN CM_EMPLOYEE_LOG B ON A.MAKER_ID = B.USER_DOMAIN
LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
LEFT JOIN CM_DEPARTMENT cd ON A.COST_ID = cd.DEP_ID
WHERE A.REQ_ID = @REQ_ID AND cd.DEP_CODE <> '05J00'
ORDER BY A.COST_ID
SET @SHOW_TABLE_DVCM_KHAC = '1'
END
ELSE
BEGIN
SELECT '' ASS_STATUS, '' RE_CONTENT,'' NOTES, ''SURVEY_STAFF, '' POS_NAME
END
--TABLE 3 DANH GIA VA DE XUAT CUA P.QLTS
IF(EXISTS(SELECT 1 FROM TR_REQUEST_SHOP_DOC trsd
LEFT JOIN CM_DEPARTMENT cd ON trsd.DEP_ID = cd.DEP_ID
LEFT JOIN PL_REQUEST_PROCESS PRP ON trsd.REQ_ID = PRP.REQ_ID AND PRP.PROCESS_ID = 'QLTS_NL'
LEFT JOIN TL_USER tu ON PRP.CHECKER_ID = tu.TLNANME
LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = PRP.CHECKER_ID
WHERE trsd.REQ_ID = @REQ_ID))
BEGIN
SELECT DISTINCT trsd.HO_NOTES, tu.TLFullName, ISNULL(CE.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(
(SELECT TOP 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = trsd.REQ_ID AND PP.CHECKER_ID = PRP.CHECKER_ID ORDER BY PP.APPROVE_DT DESC)
, 'dd/MM/yyyy HH:mm:ss') AS POS_NAME
FROM TR_REQUEST_SHOP_DOC trsd
LEFT JOIN CM_DEPARTMENT cd ON trsd.DEP_ID = cd.DEP_ID
LEFT JOIN PL_REQUEST_PROCESS PRP ON trsd.REQ_ID = PRP.REQ_ID AND PRP.PROCESS_ID = 'QLTS_NL'
LEFT JOIN TL_USER tu ON PRP.CHECKER_ID = tu.TLNANME
LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = PRP.CHECKER_ID
WHERE trsd.REQ_ID = @REQ_ID
END
ELSE BEGIN SELECT N'' NOTES, N'' TLFullName, N'' POS_NAME END
--TABLE 4 PHE DUYET DVCM KHOI CNTT
IF(@SHOW_TABLE_DVCM_IT IS NOT NULL)
BEGIN
IF (EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS A
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE = '05J00'))
BEGIN
SELECT TOP 1 ISNULL(A.NOTES,'') AS NOTES, E.TLFullName, ISNULL(D.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(PP.APPROVE_DT, 'dd/MM/yyyy HH:mm:ss') AS POS_NAME
FROM PL_REQUEST_PROCESS A
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
LEFT JOIN CM_EMPLOYEE_LOG D ON A.CHECKER_ID = D.USER_DOMAIN
LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME
LEFT JOIN PL_PROCESS PP ON A.REQ_ID = PP.REQ_ID
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE = '05J00'
ORDER BY PP.APPROVE_DT DESC
END
ELSE
BEGIN
SELECT '' AS NOTES
END
END
ELSE
BEGIN
SELECT N'' NOTES
END
--QTLS_D 5
IF(EXISTS(SELECT 1
FROM PL_REQUEST_PROCESS PRP
LEFT JOIN TL_USER tu ON PRP.CHECKER_ID = tu.TLNANME
LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = PRP.CHECKER_ID
WHERE PRP.REQ_ID = @REQ_ID AND PRP.PROCESS_ID = 'QLTS_D'))
BEGIN
SELECT DISTINCT PRP.NOTES AS HO_NOTES, tu.TLFullName, ISNULL(CE.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(
(SELECT TOP 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = PRP.REQ_ID AND PP.CHECKER_ID = PRP.CHECKER_ID ORDER BY PP.APPROVE_DT DESC)
, 'dd/MM/yyyy HH:mm:ss') AS POS_NAME
FROM PL_REQUEST_PROCESS PRP
LEFT JOIN TL_USER tu ON PRP.CHECKER_ID = tu.TLNANME
LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = PRP.CHECKER_ID
LEFT JOIN PL_PROCESS PP ON PRP.REQ_ID = PP.REQ_ID AND PRP.CHECKER_ID = PP.CHECKER_ID
WHERE PRP.REQ_ID = @REQ_ID AND PRP.PROCESS_ID = 'QLTS_D'
END
ELSE BEGIN SELECT N'' HO_NOTES, N'' TLFullName, N'' POS_NAME END
--TTQTLS_D 6
SELECT DISTINCT ISNULL(PRP.NOTES, '') AS HO_NOTES, ISNULL(tu.TLFullName, '') AS TLFullName , ISNULL(CE.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(
(SELECT TOP 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = PRP.REQ_ID AND PP.CHECKER_ID = PRP.CHECKER_ID ORDER BY PP.APPROVE_DT DESC)
, 'dd/MM/yyyy HH:mm:ss') AS POS_NAME
FROM PL_REQUEST_PROCESS PRP
LEFT JOIN TL_USER tu ON PRP.CHECKER_ID = tu.TLNANME
LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = PRP.CHECKER_ID
--LEFT JOIN PL_PROCESS PP ON PRP.REQ_ID = PP.REQ_ID AND PRP.CHECKER_ID = PP.CHECKER_ID
WHERE PRP.REQ_ID = @REQ_ID AND PRP.PROCESS_ID = 'TTQLTS_D'
--TABLE 7
SELECT TU.TLFullName AS MAKER, TU2.TLFullName AS TDV, ISNULL(CE.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(
A.CREATE_DT
, 'dd/MM/yyyy HH:mm:ss') AS POS_MAKER,
ISNULL(CE2.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(
A.APPROVE_DT
, 'dd/MM/yyyy HH:mm:ss') AS POS_TDV
FROM TR_REQUEST_SHOP_DOC A
LEFT JOIN TL_USER TU ON TU.TLNANME = A.MAKER_ID
LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = A.MAKER_ID
LEFT JOIN TL_USER TU2 ON TU2.TLNANME = A.CHECKER_ID
LEFT JOIN CM_EMPLOYEE_LOG CE2 ON CE2.USER_DOMAIN = A.CHECKER_ID
WHERE A.REQ_ID = @REQ_ID
--TABLE 8 SỐ PYC
SELECT trsd.REQ_CODE FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.REQ_ID = @REQ_ID
--PHUCVH TABLE 9 NGÀY TDV DUYỆT
SELECT TOP 1 N'Ngày ' + CONVERT(VARCHAR(5),DAY(pp.APPROVE_DT)) +
N' tháng ' + CONVERT(VARCHAR(5),MONTH(pp.APPROVE_DT)) +
N' năm ' + CONVERT(VARCHAR(10),YEAR(pp.APPROVE_DT)) AS APPROVE_DT
FROM PL_PROCESS pp WHERE pp.REQ_ID = @REQ_ID AND pp.PROCESS_ID = 'APPNEW' ORDER BY pp.ID DESC
--TABLE 10 PHÊ DUYỆT DVCM KHÁC
IF(@SHOW_TABLE_DVCM_KHAC IS NOT NULL)
BEGIN
IF (EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS A
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE <> '05J00'))
BEGIN
SELECT ISNULL(A.NOTES,'') AS NOTES, E.TLFullName, ISNULL(D.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(A.APPROVE_DT, 'dd/MM/yyyy HH:mm:ss') AS POS_NAME
FROM PL_REQUEST_PROCESS A
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
LEFT JOIN CM_EMPLOYEE_LOG D ON A.CHECKER_ID = D.USER_DOMAIN
LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE <> '05J00'
ORDER BY C.DEP_ID
END
ELSE
BEGIN
SELECT '' AS NOTES
FROM TR_REQUEST_SHOP_COSTCENTER A
LEFT JOIN CM_DEPARTMENT C ON A.COST_ID = C.DEP_ID
WHERE A.REQ_ID = @REQ_ID AND C.DEP_CODE <> '05J00'
END
END
ELSE
BEGIN
SELECT N'' NOTES
END
--SHOW TABLE DVCM IT
IF(@SHOW_TABLE_DVCM_IT IS NOT NULL)
BEGIN
SELECT N'DVCMIT' AS MERGE_REGION
END
--SHOW TABLE DVCM KHÁC
IF(@SHOW_TABLE_DVCM_KHAC IS NOT NULL)
BEGIN
SELECT N'DVCMKHAC' AS MERGE_REGION
END
--SHOW TITLE ĐÁNH GIÁ CỦA ĐƠN VỊ CHUYÊN MÔN
IF(@SHOW_TABLE_DVCM_IT IS NOT NULL OR @SHOW_TABLE_DVCM_KHAC IS NOT NULL)
BEGIN
SELECT N'TITLEDVCM' AS MERGE_REGION
END
END
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[ASS_TRANSFER_MULTI_MASTER_KT_App]'
GO
ALTER PROCEDURE [dbo].[ASS_TRANSFER_MULTI_MASTER_KT_App]
@p_TRANS_MULTI_MASTER_ID varchar(15),
@p_AUTH_STATUS varchar(1) = NULL,
@p_CHECKER_ID varchar(100) = NULL,
@p_APPROVE_DT VARCHAR(20) = NULL
AS
BEGIN TRANSACTION
declare @l_OLD_LOCHIST_ID varchar(15)
declare @l_LOCHIST_ID varchar(15)
declare @l_ASSHIST_ID varchar(15)
declare @l_ASSET_ID varchar(15)
declare @l_BRANCH_ID varchar(15)
declare @l_DEPT_ID varchar(15)
declare @l_EMP_ID varchar(15)
declare @l_DESC nvarchar(1000)
declare @l_LOCATION nvarchar(500)
DECLARE @l_MAKER_ID varchar(15)
DECLARE @sToday varchar(10) = convert(varchar(10), @p_APPROVE_DT, 103), @l_ENTRY_BOOKED VARCHAR(1),@l_ASSET_CODE VARCHAR(50)
DECLARE @l_CUR_BRANCH_ID VARCHAR(15), @l_ASSET_TYPE VARCHAR(15), @l_AMORT_ACCTNO VARCHAR(50), @l_ASSET_GL VARCHAR(50),@l_TRANSFER_ACCNO VARCHAR(50),
@l_ASSET_GROUP VARCHAR(15), @l_ET_ID VARCHAR(15), @l_TRN_REF_NO VARCHAR(15),@l_AMORT_AMT DECIMAL(18,0),
@l_DO_BRANCH_ID VARCHAR(15), @l_HO_BRANCH_ID VARCHAR(15), @l_CUR_AMORT_AMT DECIMAL(18), @l_AMORT_STATUS VARCHAR(15),
@l_REMAIN_VALUE DECIMAL(18,0)
DECLARE @l_BRANCH_CREATE VARCHAR(15),@l_BUY_PRICE DECIMAL(18), @l_CORE_NOTE NVARCHAR(500), @l_AMORTIZED_AMT DECIMAL(18) = 0
DECLARE @NOTE NVARCHAR(500), @CRET DATETIME, @ERROR NVARCHAR(500) = '',@BRN_TYPE_TRN VARCHAR(15), @BRN_TYPE_REC VARCHAR(15), @TCCT_TRN_ACCTNO VARCHAR(50), @TCCT_REC_ACCTNO VARCHAR(50)
DECLARE @l_IS_COLLECT BIT
DECLARE @l_AMORT_START_DATE DATETIME, @l_AMORT_END_DATE DATETIME, @l_NEW_AMORT_MONTH DECIMAL, @l_RE_AMORT_MONTH DECIMAL
DECLARE @l_ETP_ID VARCHAR(20),@l_D_BRANCH_CODE VARCHAR(25) , @l_C_BRANCH_CODE VARCHAR(25)
SELECT @NOTE = NOTES, @CRET = CREATE_DT, @l_CORE_NOTE = CORE_NOTE
FROM [ASS_TRANSFER_MULTI_MASTER]
WHERE [TRANS_MULTI_MASTER_ID] = @p_TRANS_MULTI_MASTER_ID
--KIEM TRA NEU TINH TRANG DANG LA 'A' THI KHONG CHO PHEP DUYET
IF(EXISTS(SELECT * FROM ASS_TRANSFER_MULTI_MASTER WHERE AUTH_STATUS_KT ='A' AND TRANS_MULTI_MASTER_ID =@p_TRANS_MULTI_MASTER_ID))
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' TRANS_MULTI_MASTER_ID, N'Phiếu điều chuyển đã được duyệt' ErrorDesc
RETURN '-1'
END
--KIEM TRA NEU TINH TRANG DANG LA 'R' THI KHONG CHO PHEP DUYET
IF(EXISTS(SELECT * FROM ASS_TRANSFER_MULTI_MASTER WHERE AUTH_STATUS_KT ='R' AND TRANS_MULTI_MASTER_ID =@p_TRANS_MULTI_MASTER_ID))
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' TRANS_MULTI_MASTER_ID, N'Thông tin điều chuyển tài sản đang bị trả về. Vui lòng cập nhật lại thông tin trước khi duyệt' ErrorDesc
RETURN '-1'
END
IF (SELECT CHARINDEX('ATGETD',@NOTE)) > 0
BEGIN
SET @sToday = convert(varchar(10), @p_APPROVE_DT, 103)
SET @p_APPROVE_DT = @sToday
END
--APPROVE MASTER
UPDATE [dbo].[ASS_TRANSFER_MULTI_MASTER]
SET AUTH_STATUS_KT = 'A',
CHECKER_ID_KT = @p_CHECKER_ID,
APPROVE_DT_KT = CONVERT(datetime, @p_APPROVE_DT, 103)
WHERE [TRANS_MULTI_MASTER_ID] = @p_TRANS_MULTI_MASTER_ID
DECLARE @l_TRN_NO VARCHAR(15)
EXEC ENTRIES_POST_GEN_NO @p_BRANCH_ID = 'DV0001'
,@p_TRN_DATE = @p_APPROVE_DT
,@p_KeyGen = @l_TRN_NO OUT
DECLARE @TRANSFER_MULTI_ID varchar(15)
DECLARE @ASSET_ID varchar(15), @BRANCH_ID_OLD VARCHAR(15),@DEP_ID_OLD VARCHAR(15)
DECLARE DataCusor CURSOR
FOR
SELECT A.TRANSFER_MULTI_ID,A.ASSET_ID
FROM [dbo].[ASS_TRANSFER_MULTI_DT] A
WHERE [TRANS_MULTI_MASTER_ID] = @p_TRANS_MULTI_MASTER_ID
OPEN DataCusor
FETCH NEXT FROM DataCusor INTO @TRANSFER_MULTI_ID,@ASSET_ID
WHILE @@FETCH_STATUS = 0
BEGIN
--Lay thong tin
SELECT @l_ASSET_ID = ASSET_ID,
@l_BRANCH_ID = BRANCH_ID,
@l_DEPT_ID = DEPT_ID,
@l_EMP_ID = EMP_ID,
@l_DESC = [DESCRIPTION],
@l_LOCATION = LOCATION,
@l_MAKER_ID = MAKER_ID_KT,
@BRANCH_ID_OLD = BRANCH_ID_OLD,
@DEP_ID_OLD=DEPT_ID_OLD
FROM ASS_TRANSFER_MULTI_DT
WHERE TRANSFER_MULTI_ID = @TRANSFER_MULTI_ID
--Validation is here
DECLARE @ERRORSYS NVARCHAR(15) = ''
IF ( NOT EXISTS ( SELECT * FROM ASS_TRANSFER_MULTI_DT WHERE TRANSFER_MULTI_ID = @TRANSFER_MULTI_ID))
SET @ERRORSYS = 'ASST-00001'
IF @ERRORSYS <> ''
BEGIN
SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
CLOSE DataCusor
DEALLOCATE DataCusor
ROLLBACK TRANSACTION
RETURN '-1'
END
--Lay branch_id cua user duyet
select @l_DO_BRANCH_ID = a.TLSUBBRID from TL_USER a where a.TLNANME = @p_CHECKER_ID
/****LAY THONG TIN HACH TOAN *****/
SELECT @l_CUR_BRANCH_ID = BRANCH_ID, @l_ASSET_TYPE = TYPE_ID, @l_ASSET_GROUP = ISNULL(REF_GROUP_ID,GROUP_ID),
@l_CUR_AMORT_AMT = (AMORT_AMT - ISNULL(AMORTIZED_AMT,0)), @l_AMORT_STATUS = AMORT_STATUS,
@l_BRANCH_CREATE=BRANCH_CREATE, @l_AMORTIZED_AMT = ISNULL(AMORTIZED_AMT,0), @l_AMORT_AMT = AMORT_AMT,
@l_BUY_PRICE = BUY_PRICE, @l_ENTRY_BOOKED = ENTRY_BOOKED,@l_ASSET_CODE=ASSET_CODE, @l_IS_COLLECT = IS_COLLECT,@l_RE_AMORT_MONTH = (AMORT_MONTH - ISNULL(AMORTIZED_MONTH,0))
FROM ASS_MASTER
WHERE ASSET_ID = @l_ASSET_ID
SET @l_REMAIN_VALUE = @l_CUR_AMORT_AMT
DECLARE @TF_ASSET_CCLD VARCHAR(20) = (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'ASSET_CCLD_N')
DECLARE @AMORT_CCLD VARCHAR(20) = (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'AMORT_CCLD')
DECLARE @BE_AMORT_CCLD VARCHAR(20) = (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'BE_AMORT_CCLD')
DECLARE @BW_AMORT_CCLD VARCHAR(20) = (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'BW_AMORT_CCLD')
DECLARE @PAY_HS_ACNO VARCHAR(20) = (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'PAY_HS')
DECLARE @BRANCH_CODE_OLD VARCHAR (15) = (SELECT CB.BRANCH_CODE FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @BRANCH_ID_OLD)
DECLARE @BRANCH_CODE VARCHAR (15) = (SELECT CB.BRANCH_CODE FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @l_BRANCH_ID)
DECLARE @DEP_CODE_OLD VARCHAR(15)=(SELECT cd.DEP_CODE FROM CM_DEPARTMENT cd WHERE cd.DEP_ID=@DEP_ID_OLD)
DECLARE @DEP_CODE VARCHAR(15)=(SELECT cd.DEP_CODE FROM CM_DEPARTMENT cd WHERE cd.DEP_ID=@l_DEPT_ID)
SET @l_TRANSFER_ACCNO = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='TRANSFER')
SET @l_HO_BRANCH_ID = (SELECT CB.BRANCH_ID FROM CM_BRANCH CB WHERE CB.BRANCH_TYPE = 'HS')
DECLARE @HO_CODE VARCHAR(20) = (SELECT CB.BRANCH_CODE FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @l_HO_BRANCH_ID)
SELECT @l_ASSET_GL = ASSET_ACCTNO,
@l_AMORT_ACCTNO = AMORT_ACCTNO
FROM ASS_GROUP A
WHERE A.GROUP_ID = @l_ASSET_GROUP
IF @l_AMORT_ACCTNO = '' OR @l_AMORT_ACCTNO IS NULL
SET @ERRORSYS = 'ASS-00002'
IF @ERRORSYS <> ''
BEGIN
SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
CLOSE DataCusor
DEALLOCATE DataCusor
ROLLBACK TRANSACTION
RETURN '-1'
END
UPDATE ASS_TRANSFER_MULTI_DT
SET
AUTH_STATUS_KT = 'A',
CHECKER_ID_KT = @p_CHECKER_ID,
APPROVE_DT_KT = CONVERT(DATETIME,@p_APPROVE_DT,103)
WHERE TRANSFER_MULTI_ID = @TRANSFER_MULTI_ID
IF @@Error <> 0 GOTO ABORT
/***************************************DIEU CHUYEN GIUA CAC KHO - CHUA XUAT SU DUNG************************/
IF @BRANCH_ID_OLD IS NULL OR @BRANCH_ID_OLD = ''
BEGIN
--Phat sinh Asset_ID
-- EXEC SYS_CodeMasters_Gen 'ASS_MASTER_HIST', @l_ASSHIST_ID out
-- IF @l_ASSHIST_ID='' OR @l_ASSHIST_ID IS NULL GOTO ABORT
--
-- INSERT INTO ASS_MASTER_HIST
-- SELECT @l_ASSHIST_ID, a.*
-- FROM ASS_MASTER a
-- where a.ASSET_ID = @l_ASSET_ID
-- IF @@Error <> 0 GOTO ABORT
--Cap nhat ASS_MASTER
UPDATE ASS_MASTER
SET BRANCH_CREATE = @l_BRANCH_ID,
APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103)
WHERE ASSET_ID = @l_ASSET_ID
IF @@Error <> 0 GOTO ABORT
--INSERT VAO BANG ASS_TRANSACTIONS - BO DI VI BEN MAN HINH HCQT DA DUYET ROI
INSERT INTO ASS_TRANSACTIONS(ASSET_ID, TRN_ID, TRN_TYPE, TRN_DATE, RECORD_STATUS, AUTH_STATUS,
[MAKER_ID], [CREATE_DT], [CHECKER_ID], [APPROVE_DT]
)VALUES
(
@l_ASSET_ID, @TRANSFER_MULTI_ID, 'TRANSFER', CONVERT(DATETIME, @sToday, 103), '1', 'A',
@l_MAKER_ID, CONVERT(DATETIME, @sToday, 103), @p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103)
)
IF @@Error <> 0 GOTO ABORT
---THIEUVQ 111018 NEU XUAT KHAC DON VI THI HACH TOAN
--BEGIN
--Insert vao bang dbo.ASS_ENTRIES_POST
IF @l_BRANCH_CREATE <> @l_BRANCH_ID
BEGIN
SELECT @BRN_TYPE_TRN = BRANCH_TYPE,@TCCT_TRN_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_CREATE
SELECT @BRN_TYPE_REC = BRANCH_TYPE, @TCCT_REC_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_ID
SET @l_C_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_CREATE)
SET @l_D_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID)
IF @l_ASSET_TYPE = 'TSCD'
BEGIN
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_TRANSFER', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y',
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_TRANS_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD'
@l_ET_ID OUT
-- BÊN GIAO
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID, @p_TRANS_MULTI_MASTER_ID,@BRANCH_CODE_OLD ,@l_TRANSFER_ACCNO,'VND', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE_OLD , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO);
-- BÊN NHẬN
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_TRANSFER', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y',
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_TRANS_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD'
@l_ET_ID OUT
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE , @l_ASSET_GL, 'VND', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID, @p_TRANS_MULTI_MASTER_ID,@BRANCH_CODE ,@l_TRANSFER_ACCNO,'VND', 'C', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
END
END
ELSE -- CCLD
BEGIN
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_TRANSFER', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_TRANSFER_ACCNO, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', ---@l_AMORT_ACCTNO thanh @l_ASSET_GL
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_TRANS_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD'
@l_ET_ID OUT
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID, @p_TRANS_MULTI_MASTER_ID,@BRANCH_CODE_OLD ,@l_TRANSFER_ACCNO,'VND', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE_OLD , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO);
------------------
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ADD_USE', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_TRANSFER_ACCNO, @l_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y',
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @TRANSFER_MULTI_ID,--N'NHAP MOI TSCD/CCLD'
@l_ET_ID OUT
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID, @p_TRANS_MULTI_MASTER_ID,@BRANCH_CODE ,@l_ASSET_GL,'VND', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE , @l_TRANSFER_ACCNO, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
END
--END
END
/***************************************DIEU CHUYEN KHI DA XUAT SU DUNG*************************************/
ELSE
BEGIN
--Move to history
--Phat sinh Asset_ID
-- EXEC SYS_CodeMasters_Gen 'ASS_MASTER_HIST', @l_ASSHIST_ID out
-- IF @l_ASSHIST_ID='' OR @l_ASSHIST_ID IS NULL GOTO ABORT
--
-- INSERT INTO ASS_MASTER_HIST
-- SELECT @l_ASSHIST_ID, a.*
-- FROM ASS_MASTER a
-- where a.ASSET_ID = @l_ASSET_ID
-- IF @@Error <> 0 GOTO ABORT
--Cap nhat ASS_MASTER
UPDATE ASS_MASTER
SET BRANCH_ID = @l_BRANCH_ID,
DEPT_ID = @l_DEPT_ID,
EMP_ID = @l_EMP_ID,
APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103)
WHERE ASSET_ID = @l_ASSET_ID
IF @@Error <> 0 GOTO ABORT
/***THIEUVQ - 10/09/2014 CAP NHAT LAI DON VI KHI XUAT SU DUNG NEU TS LA XE***/
UPDATE CAR_MASTER SET BRANCH_ID = @l_BRANCH_ID WHERE ASSET_ID = @l_ASSET_ID
--Xu ly bang ASS_LOCATION_HIST
--Lay LOCHIST_ID
SELECT @l_OLD_LOCHIST_ID = LOCHIST_ID FROM ASS_LOCATION_HIST WHERE ASSET_ID = @l_ASSET_ID AND ISLEAF='Y'
--Uptdae isleaf='N' and END_DATE = ngay hien tai cho record hien tai
UPDATE ASS_LOCATION_HIST
SET USE_END_DT = CONVERT(DATETIME,@p_APPROVE_DT,103),
ISLEAF='N'
WHERE ASSET_ID = @l_ASSET_ID AND ISLEAF='Y'
-- EXEC SYS_CodeMasters_Gen 'ASS_LOCATION_HIST', @l_LOCHIST_ID out
-- IF @l_LOCHIST_ID='' OR @l_LOCHIST_ID IS NULL GOTO ABORT
--
-- --insert location moi
-- INSERT INTO ASS_LOCATION_HIST
-- (
-- LOCHIST_ID, ASSET_ID, USE_START_DT, USE_END_DT, BRANCH_ID, DEPT_ID,
-- EMP_ID, LOCATION, ISLEAF, PARENT_ID
-- )
-- VALUES
-- (
-- @l_LOCHIST_ID, @l_ASSET_ID, CONVERT(DATETIME,@p_APPROVE_DT,103), NULL, @l_BRANCH_ID, @l_DEPT_ID,
-- @l_EMP_ID, '', 'Y', @l_OLD_LOCHIST_ID
-- )
-- IF @@Error <> 0 GOTO ABORT
UPDATE ASS_TRANSFER_MULTI_DT
SET
AUTH_STATUS = 'A',
CHECKER_ID = @p_CHECKER_ID,
APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103)
WHERE TRANSFER_MULTI_ID = @TRANSFER_MULTI_ID
IF @@Error <> 0 GOTO ABORT
--INSERT VAO BANG ASS_TRANSACTIONS
-- INSERT INTO ASS_TRANSACTIONS(ASSET_ID, TRN_ID, TRN_TYPE, TRN_DATE, RECORD_STATUS, AUTH_STATUS,
-- [MAKER_ID], [CREATE_DT], [CHECKER_ID], [APPROVE_DT]
-- )VALUES
-- (
-- @l_ASSET_ID, @TRANSFER_MULTI_ID, 'TRANSFER', CONVERT(DATETIME, @sToday, 103), '1', 'A',
-- @l_MAKER_ID, CONVERT(DATETIME, @sToday, 103), @p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103)
-- )
-- IF @@Error <> 0 GOTO ABORT
---THIEUVQ 111018 NEU XUAT KHAC DON VI THI HACH TOAN
--BEGIN
--Insert vao bang dbo.ASS_ENTRIES_POST
IF @BRANCH_ID_OLD <> @l_BRANCH_ID
BEGIN
SELECT @BRN_TYPE_TRN = BRANCH_TYPE,@TCCT_TRN_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_ID_OLD
SELECT @BRN_TYPE_REC = BRANCH_TYPE, @TCCT_REC_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_ID
SET @l_C_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@BRANCH_ID_OLD)
SET @l_D_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID)
IF @l_ASSET_TYPE = 'TSCD'
BEGIN
IF (@l_CUR_AMORT_AMT = @l_AMORT_AMT) -- Tài sản mới (chưa khấu hao)
BEGIN
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_TRANSFER', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y',
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_TRANS_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD'
@l_ET_ID OUT
-- BÊN GIAO
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID, @p_TRANS_MULTI_MASTER_ID,@BRANCH_CODE_OLD ,@l_TRANSFER_ACCNO,'VND', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE_OLD , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO);
-- BÊN NHẬN
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_TRANSFER', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y',
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_TRANS_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD'
@l_ET_ID OUT
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE , @l_ASSET_GL, 'VND', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID, @p_TRANS_MULTI_MASTER_ID,@BRANCH_CODE ,@l_TRANSFER_ACCNO,'VND', 'C', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
END
ELSE IF (@l_CUR_AMORT_AMT >= 0) -- Tài sản đã qua sử dụng (đang khấu hao)
BEGIN
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_TRANSFER', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y',
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_TRANS_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD'
@l_ET_ID OUT
-- BÊN GIAO
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE_OLD , @l_AMORT_ACCTNO, 'VND', 'D', @l_AMORTIZED_AMT,1, @l_AMORTIZED_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE_OLD , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO);
-- BÊN NHẬN
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_TRANSFER', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y',
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_TRANS_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD'
@l_ET_ID OUT
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE , @l_ASSET_GL, 'VND', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE , @l_AMORT_ACCTNO, 'VND', 'C', @l_AMORTIZED_AMT,1, @l_AMORTIZED_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
IF(@l_REMAIN_VALUE>0)
BEGIN
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_TRANSFER', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y',
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_TRANS_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD'
@l_ET_ID OUT
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID, @p_TRANS_MULTI_MASTER_ID,@BRANCH_CODE_OLD ,@l_TRANSFER_ACCNO,'VND', 'D', @l_REMAIN_VALUE, 1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID, @p_TRANS_MULTI_MASTER_ID,@BRANCH_CODE ,@l_TRANSFER_ACCNO,'VND', 'C', @l_REMAIN_VALUE, 1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
END
END
--END
END
ELSE -- CCLD
BEGIN
-- TRƯỜNG HỢP ĐÃ PHÂN BỔ HẾT VÀO CHI PHÍ MUA SẮM CCLĐ
IF(@l_CUR_AMORT_AMT IS NULL OR @l_CUR_AMORT_AMT = 0)
BEGIN
PRINT 'KHONG PHAT SINH'
END
ELSE IF (@l_CUR_AMORT_AMT > 0) -- TRƯỜNG HỢP CHƯA PHÂN BỔ HẾT VÀO CHI PHÍ MUA SẮM CCLĐ
BEGIN
-- Hạch toán tại đơn vị điều CCLĐ đi
-- Tất toán tài khoản CCLĐ
IF(@l_IS_COLLECT = 1)
BEGIN
-- CẬP NHẬT NGÀY BẮT ĐÀU VÀ KẾT THÚC KHẤU HAO MỚI
SET @l_AMORT_START_DATE = CONVERT(DATETIME, GETDATE(), 103)
SET @l_AMORT_END_DATE = DATEADD(MONTH, @l_RE_AMORT_MONTH, @l_AMORT_START_DATE)
IF(@l_AMORT_STATUS = 'NKH')
BEGIN
UPDATE ASS_MASTER
SET IS_COLLECT=0,AMORT_STATUS='DKH'
, AMORT_START_DATE = @l_AMORT_START_DATE, AMORT_END_DATE = @l_AMORT_END_DATE
WHERE ASSET_ID = @ASSET_ID
END
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_TRANSFER', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', ---@l_AMORT_ACCTNO thanh @l_ASSET_GL
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_TRANS_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD'
@l_ET_ID OUT
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE_OLD ,@TF_ASSET_CCLD , 'VND', 'D', @l_REMAIN_VALUE,1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE_OLD , @BW_AMORT_CCLD, 'VND', 'C', @l_REMAIN_VALUE,1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO);
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_TRANSFER', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', ---@l_AMORT_ACCTNO thanh @l_ASSET_GL
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_TRANS_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD'
@l_ET_ID OUT
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID, @p_TRANS_MULTI_MASTER_ID,@BRANCH_CODE , @AMORT_CCLD,'VND', 'D', @l_REMAIN_VALUE, 1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE , @TF_ASSET_CCLD, 'VND', 'C', @l_REMAIN_VALUE,1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
END
ELSE
BEGIN
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_TRANSFER', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', ---@l_AMORT_ACCTNO thanh @l_ASSET_GL
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_TRANS_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD'
@l_ET_ID OUT
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE_OLD , @TF_ASSET_CCLD, 'VND', 'D', @l_REMAIN_VALUE,1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE_OLD , @AMORT_CCLD, 'VND', 'C', @l_REMAIN_VALUE,1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO);
-- Hạch toán Giá trị còn lại chưa phân bổ của CCLĐ
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_TRANSFER', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', ---@l_AMORT_ACCTNO thanh @l_ASSET_GL
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_TRANS_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD'
@l_ET_ID OUT
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID, @p_TRANS_MULTI_MASTER_ID,@BRANCH_CODE , @AMORT_CCLD,'VND', 'D', @l_REMAIN_VALUE, 1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID, @p_TRANS_MULTI_MASTER_ID,@BRANCH_CODE , @TF_ASSET_CCLD,'VND', 'C', @l_REMAIN_VALUE, 1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
END
END
END
END
ELSE -- CÙNG ĐƠN VỊ
BEGIN
IF @l_ASSET_TYPE = 'CCLD'
BEGIN
IF (@l_CUR_AMORT_AMT > 0) -- TRƯỜNG HỢP CHƯA PHÂN BỔ HẾT VÀO CHI PHÍ MUA SẮM CCLĐ
BEGIN
-- Hạch toán tại đơn vị điều CCLĐ đi
-- Tất toán tài khoản CCLĐ
IF(@l_IS_COLLECT = 1)
BEGIN
IF(@l_AMORT_STATUS = 'NKH')
BEGIN
UPDATE ASS_MASTER SET IS_COLLECT=0,AMORT_STATUS='DKH' WHERE ASSET_ID = @ASSET_ID
END
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_TRANSFER', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', ---@l_AMORT_ACCTNO thanh @l_ASSET_GL
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_TRANS_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD'
@l_ET_ID OUT
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID, @p_TRANS_MULTI_MASTER_ID,@BRANCH_CODE , @AMORT_CCLD,'VND', 'D', @l_REMAIN_VALUE, 1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE_OLD , @BW_AMORT_CCLD, 'VND', 'C', @l_REMAIN_VALUE,1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO);
END
END
END
END
--END
END
--khiemchg cập nhật unlock treo tài sản khi thực hiện điều chuyển
UPDATE ASS_MASTER SET IS_COLLECT=0, CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL WHERE ASSET_ID = @ASSET_ID
FETCH NEXT FROM DataCusor INTO @TRANSFER_MULTI_ID,@ASSET_ID
END
CLOSE DataCusor
DEALLOCATE DataCusor
-- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_HC
UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_TRANS_MULTI_MASTER_ID AND PROCESS_ID = 'UPDATE'
-- GIANT 21/09/2021
INSERT INTO dbo.PL_PROCESS
(
REQ_ID,
PROCESS_ID,
CHECKER_ID,
APPROVE_DT,
PROCESS_DESC,NOTES
)
VALUES
( @p_TRANS_MULTI_MASTER_ID, -- REQ_ID - varchar(15)
'APPROVE', -- PROCESS_ID - varchar(10)
@p_CHECKER_ID, -- CHECKER_ID - varchar(15)
GETDATE(), -- APPROVE_DT - datetime
N'Kiên soát viên phê duyệt',
N'Kiên soát viên phê duyệt hoàn tất' -- PROCESS_DESC - nvarchar(1000)
)
--START PHUCVH 26/11/22 UPDATE ALLOCATED PHIẾU YÊU CẦU DT
DECLARE @REQ_DOC_ID VARCHAR(20) = (SELECT TOP 1 REQ_ID FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRANS_MULTI_MASTER_ID)
DECLARE @REQ_TYPE VARCHAR(10) = (SELECT TOP 1 A.REQ_TYPE
FROM TR_REQUEST_SHOP_DOC A
LEFT JOIN ASS_TRANSFER_MULTI_MASTER B ON A.REQ_ID = B.REQ_ID
WHERE B.TRANS_MULTI_MASTER_ID = @p_TRANS_MULTI_MASTER_ID)
IF(@REQ_TYPE = 'DCTS')
BEGIN --NẾU LÀ PHIẾU YÊU CẦU DCTS
UPDATE TR_REQUEST_SHOP_DOC_DT SET ALLOCATED = 1
WHERE REQ_DOC_ID = @REQ_DOC_ID AND ASS_ID IN (SELECT ASSET_ID FROM ASS_TRANSFER_MULTI_DT WHERE TRANS_MULTI_MASTER_ID = @p_TRANS_MULTI_MASTER_ID)
IF(NOT EXISTS(SELECT REQDT_ID FROM TR_REQUEST_SHOP_DOC_DT WHERE REQ_DOC_ID = @REQ_DOC_ID AND (ALLOCATED = 0 OR ALLOCATED IS NULL OR ALLOCATED = '')))
BEGIN
UPDATE TR_REQUEST_SHOP_DOC SET IS_DONE = '1' WHERE REQ_ID = @REQ_DOC_ID
END
END
ELSE IF(@REQ_TYPE = 'CPTS')
BEGIN --NẾU LÀ PHIẾU CPTS && TYPE_XL = 'CPDC'
DECLARE @TBL_CHECK_UPD TABLE (REQDT_ID VARCHAR(15), ASS_GROUP_ID VARCHAR(15), REQ_DOC_ID VARCHAR(15))
DECLARE @TBL_GROUP_CODE_ASS_USE TABLE (GROUP_ID VARCHAR(15))
INSERT INTO @TBL_CHECK_UPD
SELECT A.REQDT_ID, A.ASS_GROUP_ID,A.REQ_DOC_ID
FROM TR_REQUEST_SHOP_DOC_DT A
WHERE A.REQ_DOC_ID = @REQ_DOC_ID AND A.REQ_DT_TYPE = 'XKSD' AND A.TYPE_XL = 'CPDC'
DECLARE @C_REQDT_ID VARCHAR(15), @C_ASS_GROUP_ID VARCHAR(15), @C_REQ_DOC_ID VARCHAR(15)
DECLARE @IS_MULTI_GROUP VARCHAR(1) = '0'
DECLARE DATA_CURSOR_CHECK_UPD CURSOR FOR
SELECT * FROM @TBL_CHECK_UPD
OPEN DATA_CURSOR_CHECK_UPD
FETCH NEXT FROM DATA_CURSOR_CHECK_UPD INTO
@C_REQDT_ID,@C_ASS_GROUP_ID,@C_REQ_DOC_ID
DECLARE @ALLOCATED INT,@ALLOCATED_CURR INT, @ALLOCATED_OLD INT, @QTY_ETM INT
WHILE @@FETCH_STATUS = 0
BEGIN
SET @IS_MULTI_GROUP = '0'
DELETE @TBL_GROUP_CODE_ASS_USE
INSERT INTO @TBL_GROUP_CODE_ASS_USE (GROUP_ID)
SELECT A.GROUP_ID FROM ASS_GROUP A WHERE A.GROUP_CODE IN (SELECT B.GROUP_CODE FROM ASS_GROUP B WHERE B.GROUP_ID = @C_ASS_GROUP_ID)
IF((SELECT COUNT(*) FROM @TBL_GROUP_CODE_ASS_USE WHERE GROUP_ID IN (SELECT trsdd.ASS_GROUP_ID FROM TR_REQUEST_SHOP_DOC_DT trsdd WHERE trsdd.REQ_DOC_ID = @C_REQ_DOC_ID AND trsdd.REQ_DT_TYPE = 'XKSD' AND trsdd.TYPE_XL = 'CPDC')) > 1)
BEGIN
SET @IS_MULTI_GROUP = '1'
END
-- SET @ALLOCATED = (SELECT SUM(TMP.COUNT) FROM (
-- (SELECT COUNT(*) AS COUNT
-- FROM ASS_TRANSFER_MULTI_DT A
-- LEFT JOIN ASS_TRANSFER_MULTI_MASTER B ON A.TRANS_MULTI_MASTER_ID = B.TRANS_MULTI_MASTER_ID
-- LEFT JOIN ASS_MASTER C ON A.ASSET_ID = C.ASSET_ID
-- WHERE B.AUTH_STATUS_KT = 'A'
-- GROUP BY B.REQ_ID, C.GROUP_ID, C.REQ_ID
-- HAVING B.REQ_ID = @C_REQ_DOC_ID
-- AND C.GROUP_ID IN (SELECT GROUP_ID FROM @TBL_GROUP_CODE_ASS_USE)
-- AND (C.REQ_ID IS NULL OR C.REQ_ID = '')))TMP)
SET @ALLOCATED_CURR = (SELECT SUM(TMP.COUNT) FROM (
(SELECT COUNT(*) AS COUNT
FROM ASS_TRANSFER_MULTI_DT A
LEFT JOIN ASS_TRANSFER_MULTI_MASTER B ON A.TRANS_MULTI_MASTER_ID = B.TRANS_MULTI_MASTER_ID
LEFT JOIN ASS_MASTER C ON A.ASSET_ID = C.ASSET_ID
WHERE A.TRANS_MULTI_MASTER_ID = @p_TRANS_MULTI_MASTER_ID
GROUP BY B.REQ_ID, C.GROUP_ID, C.REQ_ID
HAVING B.REQ_ID = @C_REQ_DOC_ID
AND C.GROUP_ID IN (SELECT GROUP_ID FROM @TBL_GROUP_CODE_ASS_USE WHERE ((@IS_MULTI_GROUP = '1' AND C.GROUP_ID = @C_ASS_GROUP_ID) OR @IS_MULTI_GROUP = '0'))
AND (C.REQ_ID IS NULL OR C.REQ_ID = '')))TMP)
SELECT TOP 1 @ALLOCATED_OLD = trsdd.ALLOCATED, @QTY_ETM = trsdd.QTY_ETM FROM TR_REQUEST_SHOP_DOC_DT trsdd WHERE trsdd.REQDT_ID = @C_REQDT_ID
IF(@QTY_ETM < (ISNULL(@ALLOCATED_OLD,0) + ISNULL(@ALLOCATED_CURR,0)))
BEGIN
ROLLBACK TRANSACTION
CLOSE DATA_CURSOR_CHECK_UPD
DEALLOCATE DATA_CURSOR_CHECK_UPD
SELECT '-1' as Result, '' USER_MASTER_ID, N'Số lượng cấp phát vượt yêu cầu của đơn vị' ErrorDesc
RETURN '-1'
END
UPDATE TR_REQUEST_SHOP_DOC_DT SET ALLOCATED = ALLOCATED + ISNULL(@ALLOCATED_CURR,0)
WHERE REQDT_ID = @C_REQDT_ID
FETCH NEXT FROM DATA_CURSOR_CHECK_UPD INTO
@C_REQDT_ID,@C_ASS_GROUP_ID,@C_REQ_DOC_ID
END
CLOSE DATA_CURSOR_CHECK_UPD
DEALLOCATE DATA_CURSOR_CHECK_UPD
END
--DONE PYC
IF(NOT EXISTS(SELECT TOP 1 A.REQDT_ID
FROM TR_REQUEST_SHOP_DOC_DT A
WHERE A.REQ_DOC_ID = @REQ_DOC_ID
AND ( A.QTY_ETM <> A.ALLOCATED OR (A.ALLOCATED IS NULL OR A.ALLOCATED = '' OR A.ALLOCATED = 0))
AND ((A.REQ_DT_TYPE = 'XKSD' AND A.TYPE_XL = 'CPDC')
OR (A.REQ_DT_TYPE = 'XKSD' AND A.TYPE_XL = 'CPTK')
OR (A.REQ_DT_TYPE = 'BUYNEW'))
))
BEGIN
UPDATE TR_REQUEST_SHOP_DOC SET IS_DONE = '1', STATUS = 'DONE' WHERE REQ_ID = @REQ_DOC_ID
UPDATE PL_REQUEST_PROCESS SET STATUS = 'P' WHERE PROCESS_ID = 'APPROVE' AND REQ_ID = @REQ_DOC_ID
UPDATE PL_REQUEST_PROCESS SET STATUS = 'C', RECEPTION_DT = CONVERT(datetime, GETDATE(), 103), APPROVE_DT = CONVERT(datetime, GETDATE(), 103) WHERE PROCESS_ID = 'DONE' AND REQ_ID = @REQ_DOC_ID
END
--END PHUCVH 26/11/22 UPDATE ALLOCATED PHIẾU YÊU CẦU DT
COMMIT TRANSACTION
SELECT '0' as Result, @p_TRANS_MULTI_MASTER_ID TRANS_MULTI_MASTER_ID, '' ErrorDesc
RETURN '0'
ABORT:
BEGIN
ROLLBACK TRANSACTION
CLOSE DataCusor
DEALLOCATE DataCusor
SELECT '-1' as Result, '' TRANS_MULTI_MASTER_ID, ISNULL(@ERROR,ERROR_MESSAGE()) ErrorDesc
RETURN '-1'
End
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[ASS_COLLECT_MULTI_MASTER_Search]'
GO
ALTER PROCEDURE [dbo].[ASS_COLLECT_MULTI_MASTER_Search]
@p_COL_MULTI_MASTER_ID varchar(15) = NULL,
@p_BRANCH_ID varchar(15) = NULL,
@p_COLLECT_DT VARCHAR(20) = NULL,
@p_USER_COLLECT nvarchar(200) = NULL,
@p_USER_COLLECT_NAME nvarchar(200)=NULL,
@p_NOTES nvarchar(1000) = NULL,
@p_RECORD_STATUS varchar(1) = NULL,
@p_AUTH_STATUS varchar(1) = NULL,
@p_MAKER_ID varchar(100) = NULL,
@p_CREATE_DT VARCHAR(20) = NULL,
@p_CHECKER_ID varchar(100) = NULL,
@p_APPROVE_DT VARCHAR(20) = NULL,
@p_AUTH_STATUS_KT varchar(15) = NULL,
@p_CREATE_DT_KT varchar(100) = NULL,
@p_APPROVE_DT_KT VARCHAR(20) = NULL,
@p_MAKER_ID_KT varchar(100) = NULL,
@p_CHECKER_ID_KT varchar(100) = NULL,
@p_REPORT_STATUS varchar(15) = NULL,
@p_LEVEL VARCHAR(50) = 'UNIT',
@p_TOP INT = NULL,
@p_FromDate VARCHAR(20) = NULL,
@p_TODATE VARCHAR(20) = NULL,
@p_IS_UPDATE VARCHAR(1) = NULL,
@p_USER_LOGIN VARCHAR(15),-- 26022020 LUCTV TRUYEN XUONG USER LOGIN DE DO TIM MA PHONG BAN
@p_TYPE_SEARCH VARCHAR(10)= NULL, -- 26022020 LUCTV TRUYEN XUONG DAU HIEU DE PHAN BIET TIM KIEM O MAN HINH KE TOAN HAY MAN HINH HCQT
@p_BRANCH_ID_USE VARCHAR(20) = NULL, --Phucvh 08/12/22 Tìm theo đơn vị sử dụng HC
@p_DEPT_ID_USE VARCHAR(20) = NULL, --Phucvh 08/12/22 Tìm theo phòng ban sử dụng HC
@p_REQ_CODE VARCHAR(100) = NULL --Thêm trường tìm kiếm số PYC
AS
BEGIN -- PAGING
--Luctv Bo Sung Doan Code Doc Du Lieu Bo Qua Commit Transaction
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
----
set @p_RECORD_STATUS = '1'
----
DECLARE @tmp TABLE(BRANCH_ID VARCHAR(15))
INSERT INTO @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)
IF(@p_TOP IS NULL OR @p_TOP = '' OR @p_TOP = 0)
begin
-- PAGING BEGIN
SELECT A.*,C.BRANCH_CODE, C.BRANCH_NAME, F.AUTH_STATUS_NAME, T1.TLFullName AS MAKER_NAME,T2.TLFullName AS MAKER_NAME_KT,T3.TLFullName APPROVE_NAME, T4.TLFullName APPROVE_NAME_KT,
ATKT.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_KT, C.BRANCH_CODE +' - '+ C.BRANCH_NAME AS FULL_BRANCH_NAME,
@p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH, --- TRA VE THAM SO GAN VO CURRENT SEARCH TRANH GAY LOI O CAC MAN HINH
B.CONFIRM_DT CONFIRM_DT,B.MAKER_ID CONFIRM_USER,D.TLFullName CONFIRM_USER_NAME,SK.REQ_CODE
-- SELECT END
FROM ASS_COLLECT_MULTI_MASTER A
LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID
LEFT JOIN CM_AUTH_STATUS F ON A.AUTH_STATUS = F.AUTH_STATUS
LEFT JOIN CM_AUTH_STATUS ATKT ON ATKT.AUTH_STATUS = A.AUTH_STATUS_KT
LEFT JOIN TL_USER T1 ON A.MAKER_ID = T1.TLNANME
LEFT JOIN TL_USER T2 ON A.MAKER_ID_KT = T2.TLNANME
LEFT JOIN TL_USER T3 ON A.CHECKER_ID = T3.TLNANME
LEFT JOIN TL_USER T4 ON A.CHECKER_ID_KT = T4.TLNANME
LEFT JOIN ASS_COLLECT_CONFIRM_MASTER B ON A.COL_MULTI_MASTER_ID = B.COL_MULTI_MASTER_ID
LEFT JOIN TL_USER D ON B.MAKER_ID = D.TLNANME
LEFT JOIN TR_REQUEST_SHOP_DOC SK ON SK.REQ_ID = A.REQ_ID
WHERE 1 = 1
AND (A.COL_MULTI_MASTER_ID LIKE '%' + @p_COL_MULTI_MASTER_ID + '%' OR @p_COL_MULTI_MASTER_ID IS NULL OR @p_COL_MULTI_MASTER_ID = '')
--AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
--AND (A.COLLECT_DT =CONVERT(DATETIME, @p_COLLECT_DT, 103) OR @p_COLLECT_DT IS NULL OR @p_COLLECT_DT = '')
--LUCTV 19092019 BO SUNG DIEU KIEN NEU KE TOAN DA CAP NHAT THI TIM KIEM THEO NGAY CAP NHAT
AND (A.USER_COLLECT LIKE '%' + @p_USER_COLLECT + '%' OR @p_USER_COLLECT IS NULL OR @p_USER_COLLECT = '')
AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '')
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
AND (A.CREATE_DT =CONVERT(DATETIME, @p_CREATE_DT, 103) OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
AND (A.APPROVE_DT =CONVERT(DATETIME, @p_APPROVE_DT, 103) OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
AND (A.AUTH_STATUS_KT LIKE '%' + @p_AUTH_STATUS_KT + '%' OR @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '')
AND (A.CREATE_DT_KT =CONVERT(DATETIME, @p_CREATE_DT_KT, 103) OR @p_CREATE_DT_KT IS NULL OR @p_CREATE_DT_KT = '')
AND (A.APPROVE_DT_KT =CONVERT(DATETIME, @p_APPROVE_DT_KT, 103) OR @p_APPROVE_DT_KT IS NULL OR @p_APPROVE_DT_KT = '')
AND (A.MAKER_ID_KT LIKE '%' + @p_MAKER_ID_KT + '%' OR @p_MAKER_ID_KT IS NULL OR @p_MAKER_ID_KT = '')
AND (A.CHECKER_ID_KT LIKE '%' + @p_CHECKER_ID_KT + '%' OR @p_CHECKER_ID_KT IS NULL OR @p_CHECKER_ID_KT = '')
AND (A.REPORT_STATUS LIKE '%' + @p_REPORT_STATUS + '%' OR @p_REPORT_STATUS IS NULL OR @p_REPORT_STATUS = '')
AND A.RECORD_STATUS='1'
AND (A.REPORT_STATUS LIKE '%' + @p_REPORT_STATUS + '%' OR @p_REPORT_STATUS IS NULL OR @p_REPORT_STATUS = '')
--AND ((@p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp))
-- OR ((@p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID)
-- OR (@p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL)))
AND ((A.MAKER_ID_KT IS NOT NULL AND @p_IS_UPDATE = 'Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
OR ((A.MAKER_ID_KT IS NULL AND @p_IS_UPDATE = 'N')) OR @p_IS_UPDATE IS NULL OR @p_IS_UPDATE='')
-- TIM KIEM TU NGAY O HC
AND ((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.COLLECT_DT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))
OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
-- TIM KIEM DEN NGAY O HC
AND ((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.COLLECT_DT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
-- TIM KIEM TU NGAY O KT
AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
AND (CONVERT(DATE,A.APPROVE_DT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))
OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '')
AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))
OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))
OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))
OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')))
AND B.CONFIRM_STATUS = 'Y')))
OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
-- TIM KIEM DEN NGAY O KT
AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
AND (CONVERT(DATE,A.APPROVE_DT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '')
AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))
OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = '')))
AND B.CONFIRM_STATUS = 'Y')))
OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
--AND ( ( @p_TYPE_SEARCH = 'KT' AND EXISTS (SELECT * FROM ASS_COLLECT_CONFIRM_MASTER WHERE A.COL_MULTI_MASTER_ID = ASS_COLLECT_CONFIRM_MASTER.COL_MULTI_MASTER_ID))
-- OR (@p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '' OR @p_TYPE_SEARCH = 'HC'))
-- NEW TRANG THAI PHIEU XUAT LA LUU NHAP HOAC TU CHOI THI CHI NGUOI TAO CO THE TIM THAY
AND ((A.AUTH_STATUS IN ('E','R') AND A.MAKER_ID = @p_USER_LOGIN) OR A.AUTH_STATUS NOT IN ('E','R') OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = '')
-- 11-03-2022 HUYHT BO SUNG DIEU KIEN TIM KIEM PHIEU XUAT THEO QUYEN KIEM NHIEM
AND ((@p_TYPE_SEARCH='HC'
AND (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE_VB('GDDV,GDDV_QLTS,TBP_QLTS,KSV_QLTS',A.BRANCH_ID,A.DEPT_CREATE) US
WHERE US.TLNANME = @p_USER_LOGIN))
OR A.MAKER_ID = @p_USER_LOGIN)
OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp) AND B.CONFIRM_STATUS = 'Y')
OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID AND B.CONFIRM_STATUS = 'Y')
OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '' --FIX BYID
-- OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'UNIT' AND B.CONFIRM_STATUS = 'Y' AND EXISTS(SELECT ACL.COLLECT_MULTI_ID FROM ASS_COLLECT_MULTI_DT ACL
-- WHERE ACL.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID AND ACL.BRANCH_ID = @p_BRANCH_ID)) -- GDV TÌM THẤY PHIẾU CỦA ĐV MÌNH PHIẾU ĐỂ HẠCH TOÁN
-- OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'ALL' AND B.CONFIRM_STATUS = 'Y' AND EXISTS(SELECT ACL.COLLECT_MULTI_ID FROM ASS_COLLECT_MULTI_DT ACL
-- WHERE ACL.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID AND ACL.BRANCH_ID IN (SELECT BRANCH_ID from @tmp))) -- GDV TÌM THẤY PHIẾU CỦA ĐV MÌNH PHIẾU ĐỂ HẠCH TOÁN
-- OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH ='')
)
--Phucvh 08/12/22 Tìm theo đơn vị sử dụng HC
AND (EXISTS(SELECT 1 FROM ASS_COLLECT_MULTI_DT acmd WHERE acmd.BRANCH_ID = @p_BRANCH_ID_USE AND acmd.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID) OR @p_BRANCH_ID_USE IS NULL OR @p_BRANCH_ID_USE = '')
--Phucvh 08/12/22 Tìm theo phòng ban sử dụng HC
AND (EXISTS(SELECT 1 FROM ASS_COLLECT_MULTI_DT acmd WHERE acmd.DEPT_ID_USE = @p_DEPT_ID_USE AND acmd.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID) OR @p_DEPT_ID_USE IS NULL OR @p_DEPT_ID_USE = '')
AND(SK.REQ_CODE like N'%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
ORDER BY A.CREATE_DT DESC
-- PAGING END
end
ELSE
BEGIN
-- PAGING BEGIN
SELECT TOP(CONVERT(INT,@p_TOP))A.*,C.BRANCH_CODE, C.BRANCH_NAME, F.AUTH_STATUS_NAME,
ATKT.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_KT,T1.TLFullName AS MAKER_NAME,T2.TLFullName AS MAKER_NAME_KT,T3.TLFullName APPROVE_NAME, T4.TLFullName APPROVE_NAME_KT,
C.BRANCH_CODE +' - '+ C.BRANCH_NAME AS FULL_BRANCH_NAME,
@p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH, --- TRA VE THAM SO GAN VO CURRENT SEARCH TRANH GAY LOI O CAC MAN HINH
B.CONFIRM_DT CONFIRM_DT,B.MAKER_ID CONFIRM_USER,D.TLFullName CONFIRM_USER_NAME,SK.REQ_CODE
-- SELECT END
FROM ASS_COLLECT_MULTI_MASTER A
LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID
LEFT JOIN CM_AUTH_STATUS F ON A.AUTH_STATUS = F.AUTH_STATUS
LEFT JOIN CM_AUTH_STATUS ATKT ON ATKT.AUTH_STATUS = A.AUTH_STATUS_KT
LEFT JOIN TL_USER T1 ON A.MAKER_ID = T1.TLNANME
LEFT JOIN TL_USER T2 ON A.MAKER_ID_KT = T2.TLNANME
LEFT JOIN TL_USER T3 ON A.CHECKER_ID = T3.TLNANME
LEFT JOIN TL_USER T4 ON A.CHECKER_ID_KT = T4.TLNANME
LEFT JOIN ASS_COLLECT_CONFIRM_MASTER B ON A.COL_MULTI_MASTER_ID = B.COL_MULTI_MASTER_ID
LEFT JOIN TL_USER D ON B.MAKER_ID = D.TLNANME
LEFT JOIN TR_REQUEST_SHOP_DOC SK ON SK.REQ_ID = A.REQ_ID
WHERE 1 = 1
AND (A.COL_MULTI_MASTER_ID LIKE '%' + @p_COL_MULTI_MASTER_ID + '%' OR @p_COL_MULTI_MASTER_ID IS NULL OR @p_COL_MULTI_MASTER_ID = '')
--AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
-- AND (A.COLLECT_DT =CONVERT(DATETIME, @p_COLLECT_DT, 103) OR @p_COLLECT_DT IS NULL OR @p_COLLECT_DT = '')
--LUCTV 19092019 BO SUNG DIEU KIEN NEU KE TOAN DA CAP NHAT THI TIM KIEM THEO NGAY CAP NHAT
AND (A.USER_COLLECT LIKE '%' + @p_USER_COLLECT + '%' OR @p_USER_COLLECT IS NULL OR @p_USER_COLLECT = '')
AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '')
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
AND (A.CREATE_DT =CONVERT(DATETIME, @p_CREATE_DT, 103) OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
AND (A.APPROVE_DT =CONVERT(DATETIME, @p_APPROVE_DT, 103) OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
AND (A.AUTH_STATUS_KT LIKE '%' + @p_AUTH_STATUS_KT + '%' OR @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '')
AND (A.CREATE_DT_KT =CONVERT(DATETIME, @p_CREATE_DT_KT, 103) OR @p_CREATE_DT_KT IS NULL OR @p_CREATE_DT_KT = '')
AND (A.APPROVE_DT_KT =CONVERT(DATETIME, @p_APPROVE_DT_KT, 103) OR @p_APPROVE_DT_KT IS NULL OR @p_APPROVE_DT_KT = '')
AND (A.MAKER_ID_KT LIKE '%' + @p_MAKER_ID_KT + '%' OR @p_MAKER_ID_KT IS NULL OR @p_MAKER_ID_KT = '')
AND (A.CHECKER_ID_KT LIKE '%' + @p_CHECKER_ID_KT + '%' OR @p_CHECKER_ID_KT IS NULL OR @p_CHECKER_ID_KT = '')
AND (A.REPORT_STATUS LIKE '%' + @p_REPORT_STATUS + '%' OR @p_REPORT_STATUS IS NULL OR @p_REPORT_STATUS = '')
AND A.RECORD_STATUS='1'
AND (A.REPORT_STATUS LIKE '%' + @p_REPORT_STATUS + '%' OR @p_REPORT_STATUS IS NULL OR @p_REPORT_STATUS = '')
--AND ((@p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp))
--OR ((@p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID)
--OR (@p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL)))
AND ((A.MAKER_ID_KT IS NOT NULL AND @p_IS_UPDATE = 'Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
OR ((A.MAKER_ID_KT IS NULL AND @p_IS_UPDATE = 'N')) OR @p_IS_UPDATE IS NULL OR @p_IS_UPDATE='')
-- TIM KIEM TU NGAY O HC
AND ((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.COLLECT_DT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))
OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
-- TIM KIEM DEN NGAY O HC
AND ((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.COLLECT_DT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
-- TIM KIEM TU NGAY O KT
AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
AND (CONVERT(DATE,A.APPROVE_DT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))
OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '')
AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))
OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))
OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))
OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')))
AND B.CONFIRM_STATUS = 'Y')))
OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
-- TIM KIEM DEN NGAY O KT
AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
AND (CONVERT(DATE,A.APPROVE_DT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '')
AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))
OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = '')))
AND B.CONFIRM_STATUS = 'Y')))
OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
--AND ( ( @p_TYPE_SEARCH = 'KT' AND EXISTS (SELECT * FROM ASS_COLLECT_CONFIRM_MASTER WHERE A.COL_MULTI_MASTER_ID = ASS_COLLECT_CONFIRM_MASTER.COL_MULTI_MASTER_ID))
-- OR (@p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '' OR @p_TYPE_SEARCH = 'HC'))
-- NEW TRANG THAI PHIEU XUAT LA LUU NHAP HOAC TU CHOI THI CHI NGUOI TAO CO THE TIM THAY
AND ((A.AUTH_STATUS IN ('E','R') AND A.MAKER_ID = @p_USER_LOGIN) OR A.AUTH_STATUS NOT IN ('E','R') OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = '')
-- 11-03-2022 HUYHT BO SUNG DIEU KIEN TIM KIEM PHIEU XUAT THEO QUYEN KIEM NHIEM
AND ((@p_TYPE_SEARCH='HC'
AND (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE_VB('GDDV,GDDV_QLTS,TBP_QLTS,KSV_QLTS',A.BRANCH_ID,A.DEPT_CREATE) US
WHERE US.TLNANME = @p_USER_LOGIN))
OR A.MAKER_ID = @p_USER_LOGIN)
OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp) AND B.CONFIRM_STATUS = 'Y')
OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID AND B.CONFIRM_STATUS = 'Y')
OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '' --FIX BYID
-- OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'UNIT' AND B.CONFIRM_STATUS = 'Y' AND EXISTS(SELECT ACL.COLLECT_MULTI_ID FROM ASS_COLLECT_MULTI_DT ACL
-- WHERE ACL.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID AND ACL.BRANCH_ID = @p_BRANCH_ID)) -- GDV TÌM THẤY PHIẾU CỦA ĐV MÌNH PHIẾU ĐỂ HẠCH TOÁN
-- OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'ALL' AND B.CONFIRM_STATUS = 'Y' AND EXISTS(SELECT ACL.COLLECT_MULTI_ID FROM ASS_COLLECT_MULTI_DT ACL
-- WHERE ACL.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID AND ACL.BRANCH_ID IN (SELECT BRANCH_ID from @tmp))) -- GDV TÌM THẤY PHIẾU CỦA ĐV MÌNH PHIẾU ĐỂ HẠCH TOÁN
-- OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH ='')
)
--Phucvh 08/12/22 Tìm theo đơn vị sử dụng HC
AND (EXISTS(SELECT 1 FROM ASS_COLLECT_MULTI_DT acmd WHERE acmd.BRANCH_ID = @p_BRANCH_ID_USE AND acmd.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID) OR @p_BRANCH_ID_USE IS NULL OR @p_BRANCH_ID_USE = '')
--Phucvh 08/12/22 Tìm theo phòng ban sử dụng HC
AND (EXISTS(SELECT 1 FROM ASS_COLLECT_MULTI_DT acmd WHERE acmd.DEPT_ID_USE = @p_DEPT_ID_USE AND acmd.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID) OR @p_DEPT_ID_USE IS NULL OR @p_DEPT_ID_USE = '')
AND(SK.REQ_CODE like N'%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
ORDER BY A.CREATE_DT DESC
-- PAGING END
END
END -- PAGING
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[CM_EMPLOYEE_Search_NotMapping]'
GO
ALTER PROCEDURE [dbo].[CM_EMPLOYEE_Search_NotMapping]
@p_EMP_ID varchar(15) = null ,
@p_EMP_CODE varchar(15) = NULL ,
@p_EMP_NAME nvarchar(50) = NULL ,
@p_BRANCH_ID varchar(15) = NULL ,
@p_BRANCH_CODE varchar(15) = NULL ,
@p_DEP_ID varchar(15) = NULL ,
@p_NOTES nvarchar(1000) = NULL ,
@p_RECORD_STATUS varchar(1) = NULL ,
@p_AUTH_STATUS varchar(1) = NULL ,
@p_MAKER_ID varchar(100) = NULL ,
@p_CREATE_DT VARCHAR(20) = NULL,
@p_CHECKER_ID varchar(100) = NULL ,
@p_APPROVE_DT VARCHAR(20) = NULL,
@p_TOP INT = NULL,
@p_LEVEL varchar(10) = NULL
AS
BEGIN -- PAGING
IF(@p_TOP IS NULL OR @p_TOP = '' OR @p_TOP = 0)
-- PAGING BEGIN
SELECT A.*
-- SELECT END
FROM CM_EMPLOYEE A
WHERE 1 = 1
AND (A.EMP_ID LIKE '%' + @p_EMP_ID + '%' OR @p_EMP_ID IS NULL OR @p_EMP_ID = '')
AND (A.EMP_CODE LIKE '%' + @p_EMP_CODE + '%' OR @p_EMP_CODE IS NULL OR @p_EMP_CODE = '')
AND (A.EMP_NAME LIKE '%' + @p_EMP_NAME + '%' OR @p_EMP_NAME IS NULL OR @p_EMP_NAME = '')
AND (A.DEP_ID LIKE '%' + @p_DEP_ID + '%' OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '')
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
AND (DATEDIFF(DAY,A.CREATE_DT ,CONVERT(DATETIME, @p_CREATE_DT, 103)) =0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM CM_BRANCH_GETCHILDID(@p_BRANCH_ID)))
AND A.RECORD_STATUS = '1'
AND A.EMP_CODE NOT IN (SELECT EL.EMP_CODE FROM CM_EMPLOYEE_LOG EL)
-- AND ((@p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
-- OR (@p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID)) OR @p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL
-- PAGING END
ELSE
-- PAGING BEGIN
SELECT TOP(CONVERT(INT,@p_TOP))A.*
-- SELECT END
FROM CM_EMPLOYEE A
WHERE 1 = 1
AND (A.EMP_ID LIKE '%' + @p_EMP_ID + '%' OR @p_EMP_ID IS NULL OR @p_EMP_ID = '')
AND (A.EMP_CODE LIKE '%' + @p_EMP_CODE + '%' OR @p_EMP_CODE IS NULL OR @p_EMP_CODE = '')
AND (A.EMP_NAME LIKE '%' + @p_EMP_NAME + '%' OR @p_EMP_NAME IS NULL OR @p_EMP_NAME = '')
AND (A.DEP_ID LIKE '%' + @p_DEP_ID + '%' OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '')
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
AND (DATEDIFF(DAY,A.CREATE_DT ,CONVERT(DATETIME, @p_CREATE_DT, 103)) =0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM CM_BRANCH_GETCHILDID(@p_BRANCH_ID)))
AND A.RECORD_STATUS = '1'
AND A.EMP_CODE NOT IN (SELECT EL.EMP_CODE FROM CM_EMPLOYEE_LOG EL)
-- AND ((@p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
-- OR (@p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID)) OR @p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL
-- PAGING END
END -- PAGING
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Creating [dbo].[TR_REQUEST_SHOP_DOC_Excel]'
GO
CREATE PROCEDURE [dbo].[TR_REQUEST_SHOP_DOC_Excel]
@p_REQ_ID varchar(15) = NULL,
@p_REQ_CODE nvarchar(100) = NULL,
@p_REQ_NAME nvarchar(200) = NULL,
@p_REQ_DT VARCHAR(20) = NULL,
@p_REQ_TYPE varchar(20) = NULL,
@p_REQ_CONTENT NVARCHAR(1000)=NULL,
@p_TOTAL_AMT decimal = NULL,
@p_NOTES nvarchar(1000) = NULL,
@p_RECORD_STATUS varchar(1) = NULL,
@p_MAKER_ID NVARCHAR(100) = NULL,
@p_CREATE_DT VARCHAR(20) = NULL,
@p_AUTH_STATUS varchar(50) = NULL,
@p_CHECKER_ID VARCHAR(100) = NULL,
@p_APPROVE_DT VARCHAR(20) = NULL,
@p_RECEIVE_BRANCH VARCHAR(15) = NULL,
@p_USERNAME VARCHAR(100) = NULL,
@p_BRANCH_ID VARCHAR(15)=NULL,
@p_DEP_ID VARCHAR(15)=NULL,
@p_STATUS VARCHAR(15)=NULL,
@p_TOP INT = 10,
@p_DVKD_MANAGE_APP_FROM VARCHAR(20) = NULL,
@p_DVKD_MANAGE_APP_TO VARCHAR(20) = NULL,
@p_REGION_ID varchar(15) = NULL,
@p_CDTYPE_PYC VARCHAR(20) = NULL --Phucvh Truyền thêm CDTYPE để xác định loại PYC
AS
BEGIN -- PAGING
DECLARE @ROLE_KT VARCHAR(50) = (SELECT TU.RoleName FROM TL_USER TU WHERE TU.TLNANME = @p_USERNAME)
DECLARE @DEP_ID VARCHAR(20),@BRANCH_ID VARCHAR(20)
DECLARE @ROLE_LOGIN TABLE(ROLE_USER VARCHAR(20), BRANCH_ID VARCHAR(20), DEP_ID VARCHAR(20))
-- INSERT INTO @ROLE_LOGIN SELECT DisplayName AS ROLE_USER FROM AbpRoles WHERE Id IN (SELECT A.RoleId FROM AbpUserRoles A
-- LEFT JOIN TL_USER B ON A.UserId = B.ID
-- WHERE B.TLNANME = @p_USERNAME)
INSERT INTO @ROLE_LOGIN
SELECT tugr.ROLE_ID, tugr.BRANCH_ID, tugr.DEPT_ID FROM dbo.TL_USER_GET_ROLES(@p_USERNAME) tugr
SET @DEP_ID= (SELECT DEP_ID FROM dbo.TL_USER WHERE TLNANME=@p_USERNAME)
SET @BRANCH_ID= (SELECT TLSUBBRID FROM dbo.TL_USER WHERE TLNANME=@p_USERNAME)
DECLARE @lstCOST TABLE
(
COST_ID VARCHAR(20)
)
INSERT INTO @lstCOST
SELECT COST_ID FROM dbo.CM_COSTCENTER_DT WHERE BRANCH_ID=@BRANCH_ID AND DEP_ID=@DEP_ID
-- TienLee 11/14/21 --
--
DECLARE @TempSTATUS TABLE
(
STATUS VARCHAR(20)
)
IF(EXISTS(SELECT ROLE_USER FROM @ROLE_LOGIN WHERE ROLE_USER ='QLTS' ))
BEGIN
INSERT INTO @TempSTATUS VALUES('DVKD')
INSERT INTO @TempSTATUS VALUES('DVCM')
END
ELSE IF(EXISTS(SELECT ROLE_USER FROM @ROLE_LOGIN WHERE ROLE_USER ='DVCM' ))
BEGIN
INSERT INTO @TempSTATUS VALUES('QLTS_N')
INSERT INTO @TempSTATUS VALUES('DVCM')
END
ELSE IF(EXISTS(SELECT ROLE_USER FROM @ROLE_LOGIN WHERE ROLE_USER ='CVMS' ))
BEGIN
INSERT INTO @TempSTATUS VALUES('QLTS_N')
INSERT INTO @TempSTATUS VALUES('QLTS_XL')
INSERT INTO @TempSTATUS VALUES('DVCM')
END
DECLARE @lstBRANCH_DEP TABLE
(
BRANCH_ID VARCHAR(20),
DEP_ID VARCHAR(20)
)
-- IF(NOT EXISTS(SELECT ROLE_USER FROM @ROLE_LOGIN WHERE ROLE_USER ='DVCM' OR ROLE_USER='CVMS_TBP' ))
-- BEGIN
-- INSERT INTO @lstBRANCH_DEP
-- (BRANCH_ID,DEP_ID)
-- SELECT TLSUBBRID,DEP_ID FROM dbo.TL_USER WHERE TLNANME=@p_USERNAME
--
-- INSERT INTO @lstBRANCH_DEP
-- (BRANCH_ID,DEP_ID)
-- SELECT BRANCH_ID,DEP_ID FROM dbo.CM_KHOI_DT
-- WHERE KHOI_ID IN (SELECT KHOI_ID FROM dbo.CM_KHOI_DT WHERE DEP_ID= @DEP_ID AND BRANCH_ID=@BRANCH_ID)
-- END
--
--
--
-- DECLARE @tbDep TABLE(DEP_ID VARCHAR(20))
--INSERT INTO @tbDep
--SELECT ckd.DEP_ID FROM CM_DEPARTMENT cd
----LEFT JOIN CM_KHOI ck ON cd.DEP_CODE=ck.KHOI_CODE
----LEFT JOIN CM_KHOI_DT ckd ON ck.KHOI_ID = ckd.KHOI_ID
--WHERE cd.DEP_ID=@p_DEP_ID
DECLARE @REQ_ID_Temp TABLE(REQ_ID VARCHAR(20))
INSERT INTO @REQ_ID_Temp
SELECT A.REQ_ID FROM TR_REQUEST_SHOP_DOC A
LEFT JOIN PL_REQUEST_PROCESS B ON A.REQ_ID = B.REQ_ID AND B.STATUS = 'C'
WHERE (EXISTS(SELECT RL.ROLE_USER FROM @ROLE_LOGIN RL WHERE RL.BRANCH_ID = B.BRANCH_ID
AND (B.BRANCH_ID = 'DV0001' AND B.DEP_ID = RL.DEP_ID OR B.BRANCH_ID <> 'DV0001')
AND RL.ROLE_USER = B.ROLE_USER)
OR EXISTS(SELECT * FROM @ROLE_LOGIN RL
JOIN PL_REQUEST_PROCESS C ON C.REQ_ID = A.REQ_ID AND C.STATUS = 'P' AND RL.BRANCH_ID = C.BRANCH_ID
AND (C.BRANCH_ID = 'DV0001' AND C.DEP_ID = RL.DEP_ID OR C.BRANCH_ID <> 'DV0001')
AND RL.ROLE_USER = C.ROLE_USER)
OR A.MAKER_ID = @p_USERNAME)
GROUP BY A.REQ_ID
IF((EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_SLAS' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN))))
BEGIN
IF(@p_TOP IS NULL OR @p_TOP = '' OR @p_TOP = 0)
BEGIN
-- PAGING BEGIN
SELECT A.REQ_ID,
A.REQ_CODE,
A.REQ_NAME,
--ISNULL(PRP.APPROVE_DT,PRP2.APPROVE_DT) AS REQ_DT,
A.REQ_DT,
A.REQ_TYPE,
A.REQ_CONTENT,
A.TOTAL_AMT,
A.NOTES,
A.RECORD_STATUS,
A.MAKER_ID,
A.CREATE_DT,
A.AUTH_STATUS,
A.CHECKER_ID,
A.APPROVE_DT,
A.BRANCH_ID,
CASE WHEN A.REQ_TYPE = 'CPTS' AND A.IS_DONE = '1' AND A.STATUS = 'DONE' THEN 'APPROVE' ELSE A.STATUS END AS STATUS,
A.DEP_ID,
A.HO_NOTES, K.CONTENT AS REQ_TYPE_NAME,
--I.CONTENT AS REQ_STATUS_NAME,
CASE WHEN A.IS_DONE = '1' AND A.STATUS = 'APPROVE' THEN N'Hoàn tất'
ELSE I.CONTENT
END REQ_STATUS_NAME,
@p_RECEIVE_BRANCH AS RECEIVE_BRANCH,G.BRANCH_CODE,
CASE
WHEN A.DEP_ID IS NOT NULL AND A.DEP_ID <> '' THEN G.BRANCH_NAME + ' - ' + CD.DEP_NAME
ELSE G.BRANCH_NAME
END AS BRANCH_NAME,
--CASE WHEN RQT.STATUS = 'C' OR RQT.STATUS = 'U' THEN N'Chờ duyệt'
--ELSE N'Đã duyệt' END AS AUTH_STATUS_NAME
D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME,
I.CONTENT AS REQ_TYPE_NAME,
CASE WHEN A.SEND_APP_DT IS NOT NULL AND A.SEND_APP_DT <> '' AND A.AUTH_STATUS <> 'A' AND A.AUTH_STATUS <> 'R'
AND A.AUTH_STATUS <> 'E' AND DATEDIFF(DAY,GETDATE(),DATEADD(DAY,CONVERT(INT,SP.ParaValue),A.SEND_APP_DT)) < 0 THEN '#f2dede' ELSE ''
END AS COLOR
--D.AUTH_STATUS_NAME
-- SELECT END
FROM TR_REQUEST_SHOP_DOC A
LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
LEFT JOIN CM_ALLCODE K ON K.CDNAME = 'TRREQASSTYPE' AND K.CDVAL = A.REQ_TYPE
LEFT JOIN CM_ALLCODE I ON I.CDNAME = 'TRREQSTATUS' AND I.CDVAL = A.[STATUS] AND I.CDTYPE = @p_CDTYPE_PYC
-- LEFT JOIN PL_REQUEST_PROCESS prp1 ON prp1.REQ_ID = A.REQ_ID AND prp1.STATUS = 'C'
--LEFT JOIN dbo.CM_AUTH_STATUS AUTH ON AUTH.AUTH_STATUS = A.AUTH_STATUS
--LEFT JOIN dbo.PL_REQUEST_PROCESS RQT ON RQT.REQ_ID = A.REQ_ID
--AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR (RQT.PROCESS_ID = A.STATUS AND EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN))))
--LEFT JOIN dbo.PL_REQUEST_PROCESS PRP1 ON PRP1.REQ_ID = A.REQ_ID AND PRP1.PROCESS_ID = 'CVMS_N'
--LEFT JOIN dbo.PL_REQUEST_PROCESS PRP2 ON PRP2.REQ_ID = A.REQ_ID AND PRP2.PROCESS_ID = 'DVKD'
LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=A.MAKER_ID
LEFT JOIN SYS_PARAMETERS SP ON 1=1 AND SP.ParaKey = 'NUM_OF_DAYS_LATE'
LEFT JOIN CM_DEPARTMENT CD ON A.DEP_ID = CD.DEP_ID
WHERE 1 = 1
AND (G.REGION_ID LIKE '%' + @p_REGION_ID + '%' OR @p_REGION_ID IS NULL OR @p_REGION_ID = '')
-- AND (CONVERT(DATETIME,@p_DVKD_MANAGE_APP_FROM,103) <= CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_FROM IS NULL OR @p_DVKD_MANAGE_APP_FROM = '')
-- AND (DATEADD(day,1,CONVERT(DATETIME,@p_DVKD_MANAGE_APP_TO,103)) > CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_TO IS NULL OR @p_DVKD_MANAGE_APP_TO = '')
AND (@p_DVKD_MANAGE_APP_FROM IS NULL AND @p_DVKD_MANAGE_APP_TO IS NULL OR
@p_DVKD_MANAGE_APP_TO IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103))
OR @p_DVKD_MANAGE_APP_FROM IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
OR (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
)
--AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN)))
--AND ((@p_AUTH_STATUS = 'U' AND (RQT.STATUS = 'C' OR RQT.STATUS = 'U')) OR (@p_AUTH_STATUS = 'A' AND (RQT.STATUS = 'P' OR RQT.STATUS IS NULL))OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = ''))
AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%'
--OR A.REQ_ID LIKE '%' + @p_REQ_CODE + '%'
OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
--AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
AND (DATEDIFF(DAY,A.CREATE_DT , CONVERT(DATETIME,@p_CREATE_DT,103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
-- AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
AND (DATEDIFF(DAY,A.APPROVE_DT , CONVERT(DATETIME,@p_APPROVE_DT,103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE = '')
AND (A.STATUS IN ('NEW','REJECT') AND A.MAKER_ID = @p_USERNAME OR A.STATUS NOT IN ('NEW','REJECT')
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US
WHERE US.TLNANME = @p_USERNAME))
AND (@p_STATUS IS NULL OR @p_STATUS = '' OR A.STATUS = @p_STATUS)
AND (EXISTS(SELECT 1 FROM @REQ_ID_Temp RL WHERE RL.REQ_ID = A.REQ_ID)
OR (@ROLE_KT IN ('GDV','KSV') AND A.AUTH_STATUS = 'A' )
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US
WHERE US.TLNANME = @p_USERNAME))
AND A.RECORD_STATUS = '1'
AND (@p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '' OR A.BRANCH_ID = @p_BRANCH_ID)
AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
AND( TU.TLFullName COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI OR TU.TLNANME COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI
OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
ORDER BY A.REQ_DT DESC
-- PAGING END
END
ELSE
BEGIN
-- PAGING BEGIN
SELECT TOP(CONVERT(INT,@p_TOP)) A.REQ_ID,
A.REQ_CODE,
A.REQ_NAME,
--ISNULL(PRP.APPROVE_DT,PRP2.APPROVE_DT) AS REQ_DT,
A.REQ_DT,
A.REQ_TYPE,
A.REQ_CONTENT,
A.TOTAL_AMT,
A.NOTES,
A.RECORD_STATUS,
A.MAKER_ID,
A.CREATE_DT,
A.AUTH_STATUS,
A.CHECKER_ID,
A.APPROVE_DT,
A.BRANCH_ID,
CASE WHEN A.REQ_TYPE = 'CPTS' AND A.IS_DONE = '1' AND A.STATUS = 'DONE' THEN 'APPROVE' ELSE A.STATUS END AS STATUS,
A.DEP_ID,
A.HO_NOTES, K.CONTENT AS REQ_TYPE_NAME,
--I.CONTENT AS REQ_STATUS_NAME,
CASE WHEN A.IS_DONE = '1' AND A.STATUS = 'APPROVE' THEN N'Hoàn tất'
ELSE I.CONTENT
END REQ_STATUS_NAME,
@p_RECEIVE_BRANCH AS RECEIVE_BRANCH,G.BRANCH_CODE,
CASE
WHEN A.DEP_ID IS NOT NULL AND A.DEP_ID <> '' THEN G.BRANCH_NAME + ' - ' + CD.DEP_NAME
ELSE G.BRANCH_NAME
END AS BRANCH_NAME,
--CASE WHEN RQT.STATUS = 'C' OR RQT.STATUS = 'U' THEN N'Chờ duyệt'
--ELSE N'Đã duyệt' END AS AUTH_STATUS_NAME
D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME,
I.CONTENT AS REQ_TYPE_NAME,
CASE WHEN A.SEND_APP_DT IS NOT NULL AND A.SEND_APP_DT <> '' AND A.AUTH_STATUS <> 'A' AND A.AUTH_STATUS <> 'R'
AND A.AUTH_STATUS <> 'E' AND DATEDIFF(DAY,GETDATE(),DATEADD(DAY,CONVERT(INT,SP.ParaValue),A.SEND_APP_DT)) < 0 THEN '#f2dede' ELSE ''
END AS COLOR
--D.AUTH_STATUS_NAME
-- SELECT END
FROM TR_REQUEST_SHOP_DOC A
LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
LEFT JOIN CM_ALLCODE K ON K.CDNAME = 'TRREQASSTYPE' AND K.CDVAL = A.REQ_TYPE
LEFT JOIN CM_ALLCODE I ON I.CDNAME = 'TRREQSTATUS' AND I.CDVAL = A.[STATUS] AND I.CDTYPE = @p_CDTYPE_PYC
-- LEFT JOIN PL_REQUEST_PROCESS prp1 ON prp1.REQ_ID = A.REQ_ID AND prp1.STATUS = 'C'
--LEFT JOIN dbo.CM_AUTH_STATUS AUTH ON AUTH.AUTH_STATUS = A.AUTH_STATUS
--LEFT JOIN dbo.PL_REQUEST_PROCESS RQT ON RQT.REQ_ID = A.REQ_ID
--AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR (RQT.PROCESS_ID = A.STATUS AND EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN))))
--LEFT JOIN dbo.PL_REQUEST_PROCESS PRP1 ON PRP1.REQ_ID = A.REQ_ID AND PRP1.PROCESS_ID = 'CVMS_N'
LEFT JOIN dbo.PL_REQUEST_PROCESS PRP2 ON PRP2.REQ_ID = A.REQ_ID AND PRP2.PROCESS_ID = 'DVKD'
LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=A.MAKER_ID
LEFT JOIN SYS_PARAMETERS SP ON 1=1 AND SP.ParaKey = 'NUM_OF_DAYS_LATE'
LEFT JOIN CM_DEPARTMENT CD ON A.DEP_ID = CD.DEP_ID
WHERE 1 = 1
AND (G.REGION_ID LIKE '%' + @p_REGION_ID + '%' OR @p_REGION_ID IS NULL OR @p_REGION_ID = '')
-- AND (CONVERT(DATETIME,@p_DVKD_MANAGE_APP_FROM,103) <= CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_FROM IS NULL OR @p_DVKD_MANAGE_APP_FROM = '')
-- AND (DATEADD(day,1,CONVERT(DATETIME,@p_DVKD_MANAGE_APP_TO,103)) > CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_TO IS NULL OR @p_DVKD_MANAGE_APP_TO = '')
AND (@p_DVKD_MANAGE_APP_FROM IS NULL AND @p_DVKD_MANAGE_APP_TO IS NULL OR
@p_DVKD_MANAGE_APP_TO IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103))
OR @p_DVKD_MANAGE_APP_FROM IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
OR (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
)
--AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN)))
--AND ((@p_AUTH_STATUS = 'U' AND (RQT.STATUS = 'C' OR RQT.STATUS = 'U')) OR (@p_AUTH_STATUS = 'A' AND (RQT.STATUS = 'P' OR RQT.STATUS IS NULL))OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = ''))
AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%'
--OR A.REQ_ID LIKE '%' + @p_REQ_CODE + '%'
OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
--AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
AND (DATEDIFF(DAY,A.CREATE_DT , CONVERT(DATETIME,@p_CREATE_DT,103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
-- AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
AND (DATEDIFF(DAY,A.APPROVE_DT , CONVERT(DATETIME,@p_APPROVE_DT,103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE = '')
AND (A.STATUS IN ('NEW','REJECT') AND A.MAKER_ID = @p_USERNAME OR A.STATUS NOT IN ('NEW','REJECT')
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US
WHERE US.TLNANME = @p_USERNAME))
AND (@p_STATUS IS NULL OR @p_STATUS = '' OR A.STATUS = @p_STATUS)
AND (EXISTS(SELECT 1 FROM @REQ_ID_Temp RL WHERE RL.REQ_ID = A.REQ_ID)
OR (@ROLE_KT IN ('GDV','KSV') AND A.AUTH_STATUS = 'A' )
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US
WHERE US.TLNANME = @p_USERNAME))
AND A.RECORD_STATUS = '1'
AND (@p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '' OR A.BRANCH_ID = @p_BRANCH_ID)
AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
AND( TU.TLFullName COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI OR TU.TLNANME COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI
OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
ORDER BY A.REQ_DT DESC
-- PAGING END
END
END
ELSE
BEGIN
IF(@p_TOP IS NULL OR @p_TOP = '' OR @p_TOP = 0)
BEGIN
-- PAGING BEGIN
SELECT A.REQ_ID,
A.REQ_CODE,
A.REQ_NAME,
--ISNULL(PRP.APPROVE_DT,PRP2.APPROVE_DT) AS REQ_DT,
A.REQ_DT,
A.REQ_TYPE,
A.REQ_CONTENT,
A.TOTAL_AMT,
A.NOTES,
A.RECORD_STATUS,
A.MAKER_ID,
A.CREATE_DT,
A.AUTH_STATUS,
A.CHECKER_ID,
A.APPROVE_DT,
A.BRANCH_ID,
CASE WHEN A.REQ_TYPE = 'CPTS' AND A.IS_DONE = '1' AND A.STATUS = 'DONE' THEN 'APPROVE' ELSE A.STATUS END AS STATUS,
A.DEP_ID,
A.HO_NOTES, K.CONTENT AS REQ_TYPE_NAME,
--I.CONTENT AS REQ_STATUS_NAME,
CASE WHEN A.IS_DONE = '1' AND A.STATUS = 'APPROVE' THEN N'Hoàn tất'
ELSE I.CONTENT
END REQ_STATUS_NAME,
@p_RECEIVE_BRANCH AS RECEIVE_BRANCH,G.BRANCH_CODE,
CASE
WHEN A.DEP_ID IS NOT NULL AND A.DEP_ID <> '' THEN G.BRANCH_NAME + ' - ' + CD.DEP_NAME
ELSE G.BRANCH_NAME
END AS BRANCH_NAME,
--CASE WHEN RQT.STATUS = 'C' OR RQT.STATUS = 'U' THEN N'Chờ duyệt'
--ELSE N'Đã duyệt' END AS AUTH_STATUS_NAME
D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME,
CASE WHEN A.SEND_APP_DT IS NOT NULL AND A.SEND_APP_DT <> '' AND A.AUTH_STATUS <> 'A' AND A.AUTH_STATUS <> 'R'
AND DATEDIFF(DAY,GETDATE(),DATEADD(DAY,CONVERT(INT,SP.ParaValue),A.SEND_APP_DT)) < 0 THEN '#f2dede' ELSE ''
END AS COLOR
--D.AUTH_STATUS_NAME
-- SELECT END
FROM TR_REQUEST_SHOP_DOC A
LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
LEFT JOIN CM_ALLCODE K ON K.CDNAME = 'TRREQASSTYPE' AND K.CDVAL = A.REQ_TYPE
LEFT JOIN CM_ALLCODE I ON I.CDNAME = 'TRREQSTATUS' AND I.CDVAL = A.[STATUS] AND I.CDTYPE = @p_CDTYPE_PYC
-- LEFT JOIN PL_REQUEST_PROCESS prp1 ON prp1.REQ_ID = A.REQ_ID AND prp1.STATUS = 'C'
--LEFT JOIN dbo.CM_AUTH_STATUS AUTH ON AUTH.AUTH_STATUS = A.AUTH_STATUS
--LEFT JOIN dbo.PL_REQUEST_PROCESS RQT ON RQT.REQ_ID = A.REQ_ID
--AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR (RQT.PROCESS_ID = A.STATUS AND EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN))))
--LEFT JOIN dbo.PL_REQUEST_PROCESS PRP1 ON PRP1.REQ_ID = A.REQ_ID AND PRP1.PROCESS_ID = 'CVMS_N'
LEFT JOIN dbo.PL_REQUEST_PROCESS PRP2 ON PRP2.REQ_ID = A.REQ_ID AND PRP2.PROCESS_ID = 'DVKD'
LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=A.MAKER_ID
LEFT JOIN SYS_PARAMETERS SP ON 1=1 AND SP.ParaKey = 'NUM_OF_DAYS_LATE'
LEFT JOIN CM_DEPARTMENT CD ON A.DEP_ID = CD.DEP_ID
WHERE 1 = 1
AND (G.REGION_ID LIKE '%' + @p_REGION_ID + '%' OR @p_REGION_ID IS NULL OR @p_REGION_ID = '')
-- AND (CONVERT(DATETIME,@p_DVKD_MANAGE_APP_FROM,103) <= CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_FROM IS NULL OR @p_DVKD_MANAGE_APP_FROM = '')
-- AND (DATEADD(day,1,CONVERT(DATETIME,@p_DVKD_MANAGE_APP_TO,103)) > CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_TO IS NULL OR @p_DVKD_MANAGE_APP_TO = '')
AND (@p_DVKD_MANAGE_APP_FROM IS NULL AND @p_DVKD_MANAGE_APP_TO IS NULL OR
@p_DVKD_MANAGE_APP_TO IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103))
OR @p_DVKD_MANAGE_APP_FROM IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
OR (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
)
--AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN)))
--AND ((@p_AUTH_STATUS = 'U' AND (RQT.STATUS = 'C' OR RQT.STATUS = 'U')) OR (@p_AUTH_STATUS = 'A' AND (RQT.STATUS = 'P' OR RQT.STATUS IS NULL))OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = ''))
AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%'
--OR A.REQ_ID LIKE '%' + @p_REQ_CODE + '%'
OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
--AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
AND (DATEDIFF(DAY,A.CREATE_DT , CONVERT(DATETIME,@p_CREATE_DT,103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
-- AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
AND (DATEDIFF(DAY,A.APPROVE_DT , CONVERT(DATETIME,@p_APPROVE_DT,103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE = '')
AND (A.STATUS IN ('NEW','REJECT') AND A.MAKER_ID = @p_USERNAME OR A.STATUS NOT IN ('NEW','REJECT')
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US
WHERE US.TLNANME = @p_USERNAME))
AND (@p_STATUS IS NULL OR @p_STATUS = '' OR A.STATUS = @p_STATUS)
AND (EXISTS(SELECT 1 FROM @REQ_ID_Temp RL WHERE RL.REQ_ID = A.REQ_ID)
OR (@ROLE_KT IN ('GDV','KSV') AND A.AUTH_STATUS = 'A' )
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US
WHERE US.TLNANME = @p_USERNAME))
AND A.RECORD_STATUS = '1'
AND (@p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '' OR A.BRANCH_ID = @p_BRANCH_ID)
AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
AND( TU.TLFullName COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI OR TU.TLNANME COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI
OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
ORDER BY A.REQ_DT DESC
-- PAGING END
END
ELSE
BEGIN
-- PAGING BEGIN
SELECT TOP(CONVERT(INT,@p_TOP)) A.REQ_ID,
A.REQ_CODE,
A.REQ_NAME,
--ISNULL(PRP.APPROVE_DT,PRP2.APPROVE_DT) AS REQ_DT,
A.REQ_DT,
A.REQ_TYPE,
A.REQ_CONTENT,
A.TOTAL_AMT,
A.NOTES,
A.RECORD_STATUS,
A.MAKER_ID,
A.CREATE_DT,
A.AUTH_STATUS,
A.CHECKER_ID,
A.APPROVE_DT,
A.BRANCH_ID,
CASE WHEN A.REQ_TYPE = 'CPTS' AND A.IS_DONE = '1' AND A.STATUS = 'DONE' THEN 'APPROVE' ELSE A.STATUS END AS STATUS,
A.DEP_ID,
A.HO_NOTES, K.CONTENT AS REQ_TYPE_NAME,
--I.CONTENT AS REQ_STATUS_NAME,
CASE WHEN A.IS_DONE = '1' AND A.STATUS = 'APPROVE' THEN N'Hoàn tất'
ELSE I.CONTENT
END REQ_STATUS_NAME,
@p_RECEIVE_BRANCH AS RECEIVE_BRANCH,G.BRANCH_CODE,
CASE
WHEN A.DEP_ID IS NOT NULL AND A.DEP_ID <> '' THEN G.BRANCH_NAME + ' - ' + CD.DEP_NAME
ELSE G.BRANCH_NAME
END AS BRANCH_NAME,
--CASE WHEN RQT.STATUS = 'C' OR RQT.STATUS = 'U' THEN N'Chờ duyệt'
--ELSE N'Đã duyệt' END AS AUTH_STATUS_NAME
D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME,
CASE WHEN A.SEND_APP_DT IS NOT NULL AND A.SEND_APP_DT <> '' AND A.AUTH_STATUS <> 'A' AND A.AUTH_STATUS <> 'R'
AND DATEDIFF(DAY,GETDATE(),DATEADD(DAY,CONVERT(INT,SP.ParaValue),A.SEND_APP_DT)) < 0 THEN '#f2dede' ELSE ''
END AS COLOR
--D.AUTH_STATUS_NAME
-- SELECT END
FROM TR_REQUEST_SHOP_DOC A
LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
LEFT JOIN CM_ALLCODE K ON K.CDNAME = 'TRREQASSTYPE' AND K.CDVAL = A.REQ_TYPE
LEFT JOIN CM_ALLCODE I ON I.CDNAME = 'TRREQSTATUS' AND I.CDVAL = A.[STATUS] AND I.CDTYPE = @p_CDTYPE_PYC
-- LEFT JOIN PL_REQUEST_PROCESS prp1 ON prp1.REQ_ID = A.REQ_ID AND prp1.STATUS = 'C'
--LEFT JOIN dbo.CM_AUTH_STATUS AUTH ON AUTH.AUTH_STATUS = A.AUTH_STATUS
--LEFT JOIN dbo.PL_REQUEST_PROCESS RQT ON RQT.REQ_ID = A.REQ_ID
--AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR (RQT.PROCESS_ID = A.STATUS AND EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN))))
--LEFT JOIN dbo.PL_REQUEST_PROCESS PRP1 ON PRP1.REQ_ID = A.REQ_ID AND PRP1.PROCESS_ID = 'CVMS_N'
LEFT JOIN dbo.PL_REQUEST_PROCESS PRP2 ON PRP2.REQ_ID = A.REQ_ID AND PRP2.PROCESS_ID = 'DVKD'
LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=A.MAKER_ID
LEFT JOIN SYS_PARAMETERS SP ON 1=1 AND SP.ParaKey = 'NUM_OF_DAYS_LATE'
LEFT JOIN CM_DEPARTMENT CD ON A.DEP_ID = CD.DEP_ID
WHERE 1 = 1
AND (G.REGION_ID LIKE '%' + @p_REGION_ID + '%' OR @p_REGION_ID IS NULL OR @p_REGION_ID = '')
--AND (CONVERT(DATETIME,@p_DVKD_MANAGE_APP_FROM,103) <= CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_FROM IS NULL OR @p_DVKD_MANAGE_APP_FROM = '')
--AND (DATEADD(day,1,CONVERT(DATETIME,@p_DVKD_MANAGE_APP_TO,103)) > CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_TO IS NULL OR @p_DVKD_MANAGE_APP_TO = '')
AND (@p_DVKD_MANAGE_APP_FROM IS NULL AND @p_DVKD_MANAGE_APP_TO IS NULL OR
@p_DVKD_MANAGE_APP_TO IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103))
OR @p_DVKD_MANAGE_APP_FROM IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
OR (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
)
--AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN)))
--AND ((@p_AUTH_STATUS = 'U' AND (RQT.STATUS = 'C' OR RQT.STATUS = 'U')) OR (@p_AUTH_STATUS = 'A' AND (RQT.STATUS = 'P' OR RQT.STATUS IS NULL))OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = ''))
AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%'
--OR A.REQ_ID LIKE '%' + @p_REQ_CODE + '%'
OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
--AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
AND (DATEDIFF(DAY,A.CREATE_DT , CONVERT(DATETIME,@p_CREATE_DT,103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
-- AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
AND (DATEDIFF(DAY,A.APPROVE_DT , CONVERT(DATETIME,@p_APPROVE_DT,103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE = '')
AND (A.STATUS IN ('NEW','REJECT') AND A.MAKER_ID = @p_USERNAME OR A.STATUS NOT IN ('NEW','REJECT')
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US
WHERE US.TLNANME = @p_USERNAME))
AND (@p_STATUS IS NULL OR @p_STATUS = '' OR A.STATUS = @p_STATUS)
AND (EXISTS(SELECT 1 FROM @REQ_ID_Temp RL WHERE RL.REQ_ID = A.REQ_ID)
OR (@ROLE_KT IN ('GDV','KSV') AND A.AUTH_STATUS = 'A' )
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US
WHERE US.TLNANME = @p_USERNAME))
AND A.RECORD_STATUS = '1'
AND (@p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '' OR A.BRANCH_ID = @p_BRANCH_ID)
AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
AND( TU.TLFullName COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI OR TU.TLNANME COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI
OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
ORDER BY A.REQ_DT DESC
-- PAGING END
END
END
END
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[ASS_COL_MULTI_HANDOVER_RECORD]'
GO
ALTER PROC [dbo].[ASS_COL_MULTI_HANDOVER_RECORD]
@COL_MULTI_MASTER_ID VARCHAR(15) = NULL
AS
BEGIN
--Table 0 Nội dung && BRANCH
SELECT TOP 1 B.BRANCH_NAME + ISNULL(' - ' + C.DEP_NAME,'') AS BRANCH_NAME,
D.CONTENT AS TITLE
,(N'Hôm nay, ngày ' + CONVERT(VARCHAR(5),DAY(GETDATE())) + N' tháng ' + CONVERT(VARCHAR(5),MONTH(GETDATE())) + N' năm ' + CONVERT(VARCHAR(5),YEAR(GETDATE())) + N' tại ') AS DD_MM_YY
FROM ASS_COLLECT_MULTI_DT A
LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
LEFT JOIN CM_DEPARTMENT C ON A.DEPT_ID_USE = C.DEP_ID
LEFT JOIN ASS_COLLECT_MULTI_MASTER D ON A.COL_MULTI_MASTER_ID = D.COL_MULTI_MASTER_ID
WHERE A.COL_MULTI_MASTER_ID = @COL_MULTI_MASTER_ID
--Table 1 Bên giao
--Fix tạm UAT
IF(EXISTS(SELECT TOP 1 B.TLFullName, B.ADDRESS, B.PHONE, C.POS_NAME
FROM ASS_COLLECT_CONFIRM_MASTER A
LEFT JOIN TL_USER B ON A.MAKER_ID = B.TLNANME
LEFT JOIN CM_EMPLOYEE_LOG C ON B.TLNANME = C.USER_DOMAIN
WHERE A.COL_MULTI_MASTER_ID = @COL_MULTI_MASTER_ID))
BEGIN
-- IF(EXISTS(SELECT 1 FROM ASS_COLLECT_MULTI_MASTER acmm WHERE acmm.COL_MULTI_MASTER_ID = @COL_MULTI_MASTER_ID AND acmm.REQ_ID IS NOT NULL AND acmm.REQ_ID <> ''))
-- BEGIN
-- SELECT TOP 1 C.TLFullName, C.ADDRESS, C.PHONE, D.POS_NAME, ISNULL(E.BRANCH_NAME,'') + ISNULL(' - ' + G.DEP_NAME,'') AS BRANCH_NAME
-- FROM ASS_COLLECT_MULTI_MASTER A
-- LEFT JOIN TR_REQUEST_SHOP_DOC B ON A.REQ_ID = B.REQ_ID
-- LEFT JOIN TL_USER C ON B.MAKER_ID = C.TLNANME
-- LEFT JOIN CM_EMPLOYEE_LOG D ON B.MAKER_ID = D.USER_DOMAIN
-- LEFT JOIN CM_BRANCH E ON C.TLSUBBRID = E.BRANCH_ID
-- LEFT JOIN CM_DEPARTMENT G ON C.DEP_ID = G.DEP_ID
-- WHERE A.COL_MULTI_MASTER_ID = @COL_MULTI_MASTER_ID
-- END
-- ELSE
-- BEGIN
SELECT TOP 1 B.TLFullName, B.ADDRESS, B.PHONE, C.POS_NAME, ISNULL(E.BRANCH_NAME,'') + ISNULL(' - ' + G.DEP_NAME,'') AS BRANCH_NAME
FROM ASS_COLLECT_CONFIRM_MASTER A
LEFT JOIN TL_USER B ON A.MAKER_ID = B.TLNANME
LEFT JOIN CM_EMPLOYEE_LOG C ON B.TLNANME = C.USER_DOMAIN
LEFT JOIN CM_BRANCH E ON B.TLSUBBRID = E.BRANCH_ID
LEFT JOIN CM_DEPARTMENT G ON B.DEP_ID = G.DEP_ID
WHERE A.COL_MULTI_MASTER_ID = @COL_MULTI_MASTER_ID
-- END
END
ELSE
BEGIN
SELECT '' TLFullName, '' ADDRESS, '' PHONE, '' POS_NAME
END
--Table 2 Bên nhận
SELECT TOP 1 B.TLFullName, B.ADDRESS, B.PHONE, C.POS_NAME, ISNULL(D.BRANCH_NAME,'') + ISNULL(' - ' + E.DEP_NAME,'') AS BRANCH_NAME
FROM ASS_COLLECT_MULTI_MASTER A
LEFT JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME
LEFT JOIN CM_EMPLOYEE_LOG C ON B.TLNANME = C.USER_DOMAIN
LEFT JOIN CM_BRANCH D ON A.BRANCH_ID = D.BRANCH_ID
LEFT JOIN CM_DEPARTMENT E ON A.DEPT_CREATE = E.DEP_ID
WHERE A.COL_MULTI_MASTER_ID = @COL_MULTI_MASTER_ID
--TABLE 3 DANH SÁCH TÀI SẢN
SELECT CASE
WHEN B.ASSET_CODE IS NOT NULL AND B.ASSET_CODE <> '' THEN B.ASSET_CODE
ELSE B.ASS_CODE_TMP
END AS ASSET_CODE, B.ASSET_NAME, D.UNIT_NAME, 1 AS QUANTITY, E.STATUS_NAME, B.ASSET_SERIAL_NO AS SERIAL, REQ.REQ_CODE,B.NOTES AS QUY_CACH, A.NOTES,
--ROW_NUMBER() OVER (PARTITION BY B.ASSET_NAME ORDER BY B.ASSET_NAME) AS STT,
ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS STT,
CA.CONTENT AS COLLECT_REASON
FROM ASS_COLLECT_MULTI_DT A
LEFT JOIN ASS_MASTER B ON A.ASSET_ID = B.ASSET_ID
LEFT JOIN ASS_GROUP C ON B.GROUP_ID = C.GROUP_ID
LEFT JOIN CM_UNIT D ON C.UNIT = D.UNIT_ID
LEFT JOIN ASS_STATUS E ON B.ASS_STATUS = E.STATUS_ID
LEFT JOIN ASS_COLLECT_MULTI_MASTER F ON A.COL_MULTI_MASTER_ID = F.COL_MULTI_MASTER_ID
LEFT JOIN TR_REQUEST_SHOP_DOC REQ ON F.REQ_ID = REQ.REQ_ID
LEFT JOIN CM_ALLCODE CA ON A.PURPOSE_ID = CA.CDVAL AND CA.CDNAME = 'REASON_ASS_REQ' AND CA.CDTYPE = 'REQ_ASSET'
WHERE A.COL_MULTI_MASTER_ID = @COL_MULTI_MASTER_ID
--TABLE 4 CHỮ KÝ
--SELECT ''
SELECT TOP 1 E.TLFullName AS MAKER_NAME, --BÊN GIAO
ISNULL(C.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP
WHERE PP.REQ_ID = A.COL_MULTI_MASTER_ID AND PP.PROCESS_ID = 'CONFIRM'
AND PP.CHECKER_ID = B.MAKER_ID
ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME,--BÊN GIAO
D.TLFullName AS CHECKER_NAME, --BÊN NHẬN
--D.TLFullName AS INTERMEDIATE_UNIT_NAME, --ĐƠN VỊ TRUNG GIAN
--F.POS_NAME AS POS_NAME_1, --ĐƠN VỊ TRUNG GIAN
ISNULL(F.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP
WHERE PP.REQ_ID = A.COL_MULTI_MASTER_ID AND PP.PROCESS_ID = 'APPROVE'
AND PP.CHECKER_ID = A.CHECKER_ID
ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME_2 --BÊN NHẬN
FROM ASS_COLLECT_MULTI_MASTER A
LEFT JOIN ASS_COLLECT_CONFIRM_MASTER B ON A.COL_MULTI_MASTER_ID = B.COL_MULTI_MASTER_ID
LEFT JOIN TL_USER E ON B.MAKER_ID = E.TLNANME --BÊN GIAO
LEFT JOIN CM_EMPLOYEE_LOG C ON B.MAKER_ID = C.USER_DOMAIN --BÊN GIAO
LEFT JOIN TL_USER D ON A.CHECKER_ID = D.TLNANME --BÊN NHẬN + ĐƠN VỊ TRUNG GIAN
LEFT JOIN CM_EMPLOYEE_LOG F ON A.CHECKER_ID = F.USER_DOMAIN --BÊN NHẬN + ĐƠN VỊ TRUNG GIAN
WHERE A.COL_MULTI_MASTER_ID = @COL_MULTI_MASTER_ID
--TABLE 5 SỐ
SELECT @COL_MULTI_MASTER_ID AS NO
--TABLE 6 ĐƠN VỊ TRUNG GIAN
SELECT '' TLFullName, '' ADDRESS, '' PHONE, '' POS_NAME
--SELECT TOP 1 B.TLFullName, B.ADDRESS, B.PHONE, C.POS_NAME,ISNULL(D.BRANCH_NAME,'') + ISNULL(' - ' + E.DEP_NAME,'') AS BRANCH_NAME
--FROM ASS_COLLECT_MULTI_MASTER A
--LEFT JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME
--LEFT JOIN CM_EMPLOYEE_LOG C ON B.TLNANME = C.USER_DOMAIN
--LEFT JOIN CM_BRANCH D ON A.BRANCH_ID = D.BRANCH_ID
--LEFT JOIN CM_DEPARTMENT E ON A.DEPT_CREATE = E.DEP_ID
--WHERE A.COL_MULTI_MASTER_ID = @COL_MULTI_MASTER_ID
END
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[ASS_USE_CONFIRM_MASTER_Ins]'
GO
ALTER PROCEDURE [dbo].[ASS_USE_CONFIRM_MASTER_Ins]
@p_BRANCH_ID varchar(15) = NULL,
@p_DEP_ID varchar(15) = NULL,
@p_USE_EXPORT_DT VARCHAR(20) = NULL,
@p_USER_MASTER_ID varchar(15) = null,
@p_USER_EXPORT nvarchar(200) = NULL,
@p_NOTES nvarchar(1000) = NULL,
@p_RECORD_STATUS varchar(1) = NULL,
@p_AUTH_STATUS varchar(1) = NULL,
@p_MAKER_ID varchar(100) = NULL,
@p_CREATE_DT VARCHAR(20) = NULL,
@p_CHECKER_ID varchar(100) = NULL,
@p_APPROVE_DT VARCHAR(20) = NULL,
@p_AUTH_STATUS_KT varchar(15) = NULL,
@p_CREATE_DT_KT varchar(100) = NULL,
@p_APPROVE_DT_KT VARCHAR(20) = NULL,
@p_MAKER_ID_KT varchar(100) = NULL,
@p_CHECKER_ID_KT varchar(100) = NULL,
@p_REPORT_STATUS varchar(15) = NULL,
@p_BRANCH_CREATE varchar(15) = NULL,
@p_XmlData XML = NUL
AS
--START MOVE TỪ APPROVE HS QUA
DECLARE @l_BRANCH_ID VARCHAR(15)
DECLARE @l_DEPT_ID VARCHAR(15)
DECLARE @l_EMP_ID VARCHAR(15)
DECLARE @l_DIVISION_ID VARCHAR(15)
DECLARE @l_VALUE_ID VARCHAR(15)
--DECLARE @l_LOCATION nvarchar(500)
DECLARE @l_LOCHIST_ID VARCHAR(15)
DECLARE @l_ASSET_ID VARCHAR(15)
DECLARE @l_WAHDT_ID VARCHAR(15)
DECLARE @l_WAH_ID VARCHAR(15)
DECLARE @l_MAKER_ID varchar(15)
DECLARE @l_AMORT_MONTH decimal(18,2)
DECLARE @l_AMORT_START_DATE datetime, @l_AMORT_END_DATE datetime
DECLARE @l_FIRST_AMORT_AMT numeric(18,0)
DECLARE @l_MONTHLY_AMT numeric(18,0)
DECLARE @l_ASS_AMORT_AMT numeric(18,0)
DECLARE @sToday varchar(10) = convert(varchar(10), getdate(), 103)
DECLARE @l_ENTRY_BOOKED varchar(1)
DECLARE @l_HO_BRN_ID varchar(15)
DECLARE @l_AMORT_AMT decimal(18) = NULL
DECLARE @l_BUY_PRICE decimal(18) = NULL
DECLARE @l_ET_ID varchar(15)
DEClare @p_ADDNEW_ID varchar(15)
DECLARE @l_SUPPEND_GL varchar(50)
DECLARE @l_ASSET_GL varchar(50)
declare @l_ASSET_VALUE decimal(18,0)
DECLARE @l_GROUP_ID varchar(15)
DECLARE @l_CORE_NOTE NVARCHAR(500)
DECLARE @l_TYPE_ID varchar(15) = NULL
declare @l_TRN_REF_NO varchar(20)
declare @l_DO_BRANCH_ID varchar(15)
DECLARE @l_AMORT_STATUS VARCHAR(15) = 'CKH'
DECLARE @l_AMORT_MONTH_ASS_USE DECIMAL(18,2) = NULL
declare @l_AUTH_STATUS varchar(15) = ''
declare @l_ASSHIST_ID varchar(15)
DECLARE @l_OLD_LOCHIST_ID VARCHAR(15)
--Lay thong tin kho mac dinh
SELECT @l_WAH_ID = P.ParaValue FROM SYS_PARAMETERS P WHERE P.ParaKey='ASSET_WAREHOUSE'
--BRN_ID HOI SO
SELECT @l_HO_BRN_ID = BRANCH_ID FROM CM_BRANCH A WHERE A.BRANCH_TYPE = 'HS'
--Lay branch_id cua user duyet
select @l_DO_BRANCH_ID = a.TLSUBBRID from TL_USER a where a.TLNANME = @p_CHECKER_ID
--Lay suppend GL
SELECT @l_SUPPEND_GL = A.ParaValue FROM SYS_PARAMETERS A WHERE A.ParaKey='ASSET_SUPPEND_GL'
--ASSET_GL
SELECT @l_ASSET_GL = ASSET_ACCTNO FROM ASS_GROUP A WHERE A.GROUP_ID = @l_GROUP_ID
IF (SELECT AUTH_STATUS_KT FROM ASS_USE_MULTI_MASTER WHERE [USER_MASTER_ID] = @p_USER_MASTER_ID) = 'A'
BEGIN
SELECT '-1' as Result, (SELECT ErrorDesc from SYS_ERROR WHERE ErrorCode = 'ASS-99998') ErrorDesc
RETURN '-1'
END
IF(EXISTS(SELECT 1 FROM ASS_USE_CONFIRM_MASTER WHERE USER_MASTER_ID = @p_USER_MASTER_ID))
BEGIN
SELECT '-1' as Result, N'Phiếu xuất sử dụng đã được xác nhận' ErrorDesc
RETURN '-1'
END
--END MOVE TỪ APPROVE HS QUA
DECLARE @TBL_GROUP_CODE_ASS_USE TABLE (GROUP_ID VARCHAR(100))
BEGIN TRANSACTION
DECLARE @l_USER_CONFIRM_MASTER_ID VARCHAR(15)
EXEC SYS_CodeMasters_Gen 'ASS_CONFIRM_USE_MASTER', @l_USER_CONFIRM_MASTER_ID out
IF @l_USER_CONFIRM_MASTER_ID='' OR @l_USER_CONFIRM_MASTER_ID IS NULL GOTO ABORT
INSERT INTO ASS_USE_CONFIRM_MASTER
(
[USER_CONFIRM_MASTER_ID],
[USER_MASTER_ID],
[USE_EXPORT_DT],
[BRANCH_ID],
[DEP_ID],
[MAKER_ID],
[CONFIRM_DT],
[CONFIRM_STATUS]
)
VALUES
(
@l_USER_CONFIRM_MASTER_ID,
@p_USER_MASTER_ID,
CONVERT(DATETIME, @p_USE_EXPORT_DT, 103),
@p_BRANCH_ID,
@p_DEP_ID,
@p_MAKER_ID,
GETDATE(),
'Y'
)
IF @@Error <> 0 GOTO ABORT
-- GIANT INSERT TO TABLE PL_PROCESS
INSERT INTO dbo.PL_PROCESS
(
REQ_ID,
PROCESS_ID,
CHECKER_ID,
APPROVE_DT,
PROCESS_DESC,
NOTES
)
VALUES
( @p_USER_MASTER_ID,
'CONFIRM',
@p_MAKER_ID,
GETDATE(),
N'Xác nhận xuất sử dụng tài sản ' ,
N'Xác nhận xuất sử dụng tài sản thành công'
)
--START MOVE TỪ APPROVE HS QUA
--LUCTV: 26-20-2018 KIEM TRA NEU TINH TRANG DANG LA 'R' THI KHONG CHO PHEP DUYET
IF(EXISTS(SELECT * FROM ASS_USE_MULTI_MASTER WHERE AUTH_STATUS ='R' AND USER_MASTER_ID =@p_USER_MASTER_ID))
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, N'Thông tin xuất sử dụng tài sản đang bị trả về. Vui lòng cập nhật lại thông tin trước khi duyệt' ErrorDesc
RETURN '-1'
END
DECLARE @USE_MULTI_ID varchar(15)
DECLARE @ASSET_ID varchar(15)
DECLARE DataCusor SCROLL CURSOR
FOR
SELECT A.USE_MULTI_ID,A.ASSET_ID
FROM [dbo].[ASS_USE_MULTI_DT] A
WHERE A.USER_MASTER_ID=@p_USER_MASTER_ID
OPEN DataCusor
FETCH NEXT FROM DataCusor INTO @USE_MULTI_ID,@ASSET_ID
WHILE @@FETCH_STATUS = 0
BEGIN
--Lay thong tin giao dich
SELECT @l_ASSET_ID = ASSET_ID, @l_BRANCH_ID = BRANCH_ID, @l_DEPT_ID = DEPT_ID,
@l_EMP_ID = EMP_ID, @l_DIVISION_ID = DIVISION_ID, @l_CORE_NOTE = CORE_NOTE, @l_AUTH_STATUS = AUTH_STATUS,
@l_AMORT_START_DATE = AMORT_START_DATE, @l_MAKER_ID = MAKER_ID, @l_AMORT_MONTH_ASS_USE = AMORT_MONTH,
@l_AMORT_END_DATE = AMORT_END_DATE
FROM [dbo].[ASS_USE_MULTI_DT]
WHERE [USE_MULTI_ID] = @USE_MULTI_ID
--Lay thong tin so thang khau hao
SELECT @l_AMORT_MONTH = A.AMORT_MONTH, @l_ASS_AMORT_AMT = AMORT_AMT, @l_ENTRY_BOOKED = ENTRY_BOOKED,
@l_AMORT_AMT = A.AMORT_AMT, @l_BUY_PRICE = BUY_PRICE, @l_GROUP_ID = GROUP_ID,@l_TYPE_ID = A.[TYPE_ID]
FROM ASS_MASTER A
WHERE A.ASSET_ID = @l_ASSET_ID
--TINH SO THANG THEO THUC TE KHI XUAT SU DUNG
SET @l_AMORT_MONTH = @l_AMORT_MONTH_ASS_USE
--IF @l_AMORT_MONTH_ASS_USE IS NULL--TRUONG HOP CCLD DO PHCQT XUAT
--BEGIN
-- SET @l_AMORT_END_DATE = NULL;
-- SET @l_MONTHLY_AMT = 0;
-- SET @l_FIRST_AMORT_AMT = 0;
-- SET @l_AMORT_STATUS = 'VNM'
--END
--ELSE
--IF @l_AMORT_MONTH = 0
--BEGIN
-- SET @l_AMORT_END_DATE = NULL;
-- SET @l_MONTHLY_AMT = 0;
-- SET @l_FIRST_AMORT_AMT = 0;
-- SET @l_AMORT_STATUS = 'KKH'
--END
--ELSE
--BEGIN
-- --Tinh ngay ket thuc khau hao
-- IF @l_TYPE_ID = 'TSCD'
-- BEGIN
-- IF @l_AMORT_END_DATE IS NULL OR @l_AMORT_END_DATE = ''
-- SET @l_AMORT_END_DATE = DATEADD(MONTH, @l_AMORT_MONTH, @l_AMORT_START_DATE) - 1
-- --CAP NHAT TRANG THAI KHAU HAO
-- SET @l_AMORT_STATUS = 'CKH'
-- END
-- ELSE
-- BEGIN
-- DECLARE @l_ENDDATE_TEMP DATETIME = (CONVERT(VARCHAR(10),(YEAR(@l_AMORT_START_DATE))) + '-' + CONVERT(VARCHAR(10),MONTH(@l_AMORT_START_DATE))+'-' + '1')
-- SET @l_AMORT_END_DATE = DATEADD(MONTH, @l_AMORT_MONTH, @l_ENDDATE_TEMP ) - 1
-- --CAP NHAT TRANG THAI KHAU HAO
-- SET @l_AMORT_STATUS = 'VNM'
-- END
-- --Tinh so tien khau hao thang dau tien va so tien khau hao hang thang
-- SET @l_MONTHLY_AMT = ROUND(@l_ASS_AMORT_AMT / @l_AMORT_MONTH, -3)
-- SET @l_FIRST_AMORT_AMT = ROUND(@l_MONTHLY_AMT/dbo.[FN_GetDaysInMonth](@l_AMORT_START_DATE) * (DATEDIFF(day,@l_AMORT_START_DATE, dbo.FN_GetLastDayOfMonth(@l_AMORT_START_DATE)) + 1), -3)
-- ----CAP NHAT TRANG THAI KHAU HAO
-- --SET @l_AMORT_STATUS = 'CKH'
--END
--COMMIT TRANSACTION
--BEGIN TRANSACTION
IF @@Error <> 0 GOTO ABORT
DECLARE @l_AMORT_RATE DECIMAL(18,2)
IF @l_AMORT_MONTH > 0 AND @l_AMORT_MONTH IS NOT NULL
SET @l_AMORT_RATE = ROUND((100 /@l_AMORT_MONTH) * 12, 2)
ELSE
BEGIN
SET @l_AMORT_RATE = 0
IF(@l_TYPE_ID = 'CCLD')
SET @l_AMORT_MONTH = 1
END
--Phat sinh Asset_ID
EXEC SYS_CodeMasters_Gen 'ASS_MASTER_HIST', @l_ASSHIST_ID out
IF @l_ASSHIST_ID='' OR @l_ASSHIST_ID IS NULL GOTO ABORT
INSERT INTO ASS_MASTER_HIST
SELECT @l_ASSHIST_ID, a.*
FROM ASS_MASTER a
where a.ASSET_ID = @l_ASSET_ID
IF @@Error <> 0 GOTO ABORT
--Update tai san da xuat su dung
UPDATE ASS_MASTER
SET BRANCH_ID = @l_BRANCH_ID,
DEPT_ID = @l_DEPT_ID,
EMP_ID = @l_EMP_ID,
DIVISION_ID = @l_DIVISION_ID,
-- AMORT_START_DATE = @l_AMORT_START_DATE,
-- AMORT_END_DATE = @l_AMORT_END_DATE,
-- FIRST_AMORT_AMT = @l_FIRST_AMORT_AMT,
-- AMORT_MONTH = @l_AMORT_MONTH,
-- MONTHLY_AMORT_AMT = @l_MONTHLY_AMT,
-- AMORTIZED_AMT = ISNULL(AMORTIZED_AMT,0),
-- AMORTIZED_MONTH = 0,
-- AMORT_STATUS = @l_AMORT_STATUS,--'CKH', --Update trang thai cho khau hao
USE_DATE = CONVERT(DATETIME, @sToday, 103),
USE_DATE_KT = NULL
-- ENTRY_BOOKED = @l_ENTRY_BOOKED,
-- AMORT_RATE = @l_AMORT_RATE
WHERE ASSET_ID = @l_ASSET_ID
/***THIEUVQ - 10/09/2014 CAP NHAT LAI DON VI KHI XUAT SU DUNG NEU TS LA XE***/
--UPDATE CAR_MASTER SET BRANCH_ID = @l_BRANCH_ID WHERE ASSET_ID = @l_ASSET_ID
--Insert phan xuat kho
SELECT @l_WAHDT_ID = WAHDT_ID FROM ASS_WAREHOUSE_DT A WHERE A.ASSET_ID = @l_ASSET_ID AND A.STATUS='I'
UPDATE ASS_WAREHOUSE_DT
SET OUT_DATE = GETDATE(),
STATUS = 'O'
WHERE WAHDT_ID = @l_WAHDT_ID
IF @@Error <> 0 GOTO ABORT
--Lay LOCHIST_ID
SELECT @l_OLD_LOCHIST_ID = LOCHIST_ID FROM ASS_LOCATION_HIST WHERE ASSET_ID = @l_ASSET_ID AND ISLEAF='Y'
UPDATE ASS_LOCATION_HIST
SET USE_END_DT = CONVERT(DATETIME,@p_APPROVE_DT,103),
ISLEAF='N'
WHERE ASSET_ID = @l_ASSET_ID AND ISLEAF='Y'
----Insert bang ASS_LOCATION_HIST
EXEC SYS_CodeMasters_Gen 'ASS_LOCATION_HIST', @l_LOCHIST_ID out
IF @l_LOCHIST_ID='' OR @l_LOCHIST_ID IS NULL GOTO ABORT
INSERT INTO ASS_LOCATION_HIST
(
LOCHIST_ID, ASSET_ID, USE_START_DT, USE_END_DT, BRANCH_ID, DEPT_ID,
EMP_ID, LOCATION, ISLEAF, PARENT_ID
)
VALUES
(
@l_LOCHIST_ID, @l_ASSET_ID, GETDATE(), NULL, @l_BRANCH_ID, @l_DEPT_ID,
@l_EMP_ID, '', 'Y', @l_OLD_LOCHIST_ID
)
IF @@Error <> 0 GOTO ABORT
--INSERT VAO BANG ASS_TRANSACTIONS
INSERT INTO ASS_TRANSACTIONS(ASSET_ID, TRN_ID, TRN_TYPE, TRN_DATE, RECORD_STATUS, AUTH_STATUS,
[MAKER_ID], [CREATE_DT], [CHECKER_ID], [APPROVE_DT],ASSHIST_ID, LOCHIST_ID
)VALUES
(
@l_ASSET_ID, @USE_MULTI_ID, 'ADD_USE', CONVERT(DATETIME, @sToday, 103), '1', 'A',
@l_MAKER_ID, CONVERT(DATETIME, @sToday, 103), @p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103) ,@l_ASSHIST_ID,@l_LOCHIST_ID
)
IF @@Error <> 0 GOTO ABORT
-- UPDATE ASS_MASTER
-- SET USE_DATE = CONVERT(DATETIME, @sToday, 103),
-- ENTRY_BOOKED = @l_ENTRY_BOOKED,
-- AMORT_RATE = @l_AMORT_RATE
-- WHERE ASSET_ID = @l_ASSET_ID
IF @@Error <> 0 GOTO ABORT
FETCH NEXT FROM DataCusor INTO @USE_MULTI_ID,@ASSET_ID
END
CLOSE DataCusor
DEALLOCATE DataCusor
--START PHUCVH 07/10/22 UPDATE ALLOCATED PHIẾU YÊU CẦU DT
DECLARE @TBL_CHECK_UPD TABLE (REQDT_ID VARCHAR(15), REQ_DOC_ID VARCHAR(15), ASS_GROUP_ID VARCHAR(15), ASS_ID VARCHAR(15), REQ_DT_TYPE VARCHAR(20), TYPE_XL VARCHAR(20))
INSERT INTO @TBL_CHECK_UPD
SELECT DISTINCT A.REQDT_ID, A.REQ_DOC_ID, A.ASS_GROUP_ID, A.ASS_ID, A.REQ_DT_TYPE, A.TYPE_XL
FROM ASS_USE_MULTI_DT B
LEFT JOIN TR_REQUEST_SHOP_DOC_DT A ON B.REQ_ID = A.REQ_DOC_ID
WHERE B.USER_MASTER_ID = @p_USER_MASTER_ID AND B.REQ_ID IS NOT NULL AND B.REQ_ID <> ''
AND(A.REQ_DT_TYPE = 'BUYNEW'
OR (A.REQ_DT_TYPE = 'XKSD' AND A.TYPE_XL = 'CPTK'))
DECLARE @C_REQDT_ID VARCHAR(15), @C_REQ_DOC_ID VARCHAR(15), @C_ASS_GROUP_ID VARCHAR(15), @C_ASS_ID VARCHAR(15), @C_REQ_DT_TYPE VARCHAR(15), @C_TYPE_XL VARCHAR(20)
DECLARE @IS_MULTI_GROUP VARCHAR(1) = '0'
DECLARE DATA_CURSOR_CHECK_UPD CURSOR FOR
SELECT * FROM @TBL_CHECK_UPD
OPEN DATA_CURSOR_CHECK_UPD
FETCH NEXT FROM DATA_CURSOR_CHECK_UPD INTO
@C_REQDT_ID,@C_REQ_DOC_ID,@C_ASS_GROUP_ID,@C_ASS_ID,@C_REQ_DT_TYPE,@C_TYPE_XL
DECLARE @ALLOCATED INT, @ALLOCATED_CHECK INT, @ALLOCATED_OLD INT, @QTY_ETM INT
WHILE @@FETCH_STATUS = 0
BEGIN
SET @IS_MULTI_GROUP = '0'
DELETE @TBL_GROUP_CODE_ASS_USE
INSERT INTO @TBL_GROUP_CODE_ASS_USE (GROUP_ID)
SELECT A.GROUP_ID FROM ASS_GROUP A WHERE A.GROUP_CODE IN (SELECT B.GROUP_CODE FROM ASS_GROUP B WHERE B.GROUP_ID = @C_ASS_GROUP_ID)
IF((SELECT COUNT(*) FROM @TBL_GROUP_CODE_ASS_USE WHERE GROUP_ID IN (SELECT trsdd.ASS_GROUP_ID FROM TR_REQUEST_SHOP_DOC_DT trsdd WHERE trsdd.REQ_DOC_ID = @C_REQ_DOC_ID AND(trsdd.REQ_DT_TYPE = 'BUYNEW'
OR (trsdd.REQ_DT_TYPE = 'XKSD' AND trsdd.TYPE_XL = 'CPTK')) )) > 1)
BEGIN
SET @IS_MULTI_GROUP = '1'
END
IF (@C_REQ_DT_TYPE = 'BUYNEW')
BEGIN
SET @ALLOCATED = (SELECT SUM(TMP.COUNT) FROM (
(SELECT COUNT(*) AS COUNT
FROM ASS_USE_MULTI_DT A
LEFT JOIN ASS_MASTER C ON A.ASSET_ID = C.ASSET_ID
WHERE A.USER_MASTER_ID = @p_USER_MASTER_ID
GROUP BY A.REQ_ID, C.GROUP_ID, C.REQ_ID
HAVING A.REQ_ID = @C_REQ_DOC_ID
AND C.GROUP_ID IN (SELECT GROUP_ID FROM @TBL_GROUP_CODE_ASS_USE WHERE ((@IS_MULTI_GROUP = '1' AND C.GROUP_ID = @C_ASS_GROUP_ID) OR @IS_MULTI_GROUP = '0'))
AND ((@C_REQ_DT_TYPE = 'BUYNEW' AND C.REQ_ID = @C_REQ_DOC_ID))))TMP)
END
ELSE IF (@C_TYPE_XL = 'CPTK')
BEGIN
SET @ALLOCATED = (SELECT SUM(TMP.COUNT) FROM (
(SELECT COUNT(*) AS COUNT
FROM ASS_USE_MULTI_DT A
LEFT JOIN ASS_MASTER C ON A.ASSET_ID = C.ASSET_ID
WHERE A.USER_MASTER_ID = @p_USER_MASTER_ID
GROUP BY A.REQ_ID, C.GROUP_ID, C.REQ_ID
HAVING A.REQ_ID = @C_REQ_DOC_ID
AND C.GROUP_ID IN (SELECT GROUP_ID FROM @TBL_GROUP_CODE_ASS_USE WHERE ((@IS_MULTI_GROUP = '1' AND C.GROUP_ID = @C_ASS_GROUP_ID) OR @IS_MULTI_GROUP = '0'))
AND ((@C_TYPE_XL = 'CPTK' AND (C.REQ_ID IS NULL OR C.REQ_ID = '')))))TMP)
END
SELECT TOP 1 @ALLOCATED_OLD = trsdd.ALLOCATED, @QTY_ETM = trsdd.QTY_ETM FROM TR_REQUEST_SHOP_DOC_DT trsdd WHERE trsdd.REQDT_ID = @C_REQDT_ID
IF(@QTY_ETM < (ISNULL(@ALLOCATED_OLD,0) + ISNULL(@ALLOCATED,0)))
BEGIN
ROLLBACK TRANSACTION
CLOSE DATA_CURSOR_CHECK_UPD
DEALLOCATE DATA_CURSOR_CHECK_UPD
SELECT '-1' as Result, '' USER_MASTER_ID, N'Số lượng cấp phát vượt yêu cầu của đơn vị' ErrorDesc
RETURN '-1'
END
UPDATE TR_REQUEST_SHOP_DOC_DT
SET ALLOCATED = ALLOCATED + ISNULL(@ALLOCATED,0)
WHERE REQDT_ID = @C_REQDT_ID
IF @@Error <> 0 GOTO ABORT2
FETCH NEXT FROM DATA_CURSOR_CHECK_UPD INTO
@C_REQDT_ID,@C_REQ_DOC_ID,@C_ASS_GROUP_ID,@C_ASS_ID,@C_REQ_DT_TYPE,@C_TYPE_XL
END
CLOSE DATA_CURSOR_CHECK_UPD
DEALLOCATE DATA_CURSOR_CHECK_UPD
--END PHUCVH 07/10/22 UPDATE ALLOCATED PHIẾU YÊU CẦU DT
--END MOVE TỪ APPROVE HS QUA
--PHUCVH 11/10/22 DONE PHIẾU YÊU CẦU
DECLARE MYCURSOR CURSOR FOR
SELECT aumd.REQ_ID
FROM ASS_USE_MULTI_DT aumd
WHERE aumd.USER_MASTER_ID= @p_USER_MASTER_ID AND aumd.REQ_ID IS NOT NULL AND aumd.REQ_ID <> ''
GROUP BY aumd.REQ_ID
OPEN MYCURSOR
DECLARE @p_REQ_ID VARCHAR(20)
FETCH NEXT FROM MYCURSOR INTO @p_REQ_ID
WHILE @@FETCH_STATUS = 0
BEGIN
IF(NOT EXISTS(SELECT TOP 1 A.REQDT_ID
FROM TR_REQUEST_SHOP_DOC_DT A
WHERE A.REQ_DOC_ID = @p_REQ_ID
AND ( A.QTY_ETM <> A.ALLOCATED OR (A.ALLOCATED IS NULL OR A.ALLOCATED = '' OR A.ALLOCATED = 0))
AND ((A.REQ_DT_TYPE = 'XKSD' AND A.TYPE_XL = 'CPDC')
OR (A.REQ_DT_TYPE = 'XKSD' AND A.TYPE_XL = 'CPTK')
OR (A.REQ_DT_TYPE = 'BUYNEW'))
))
BEGIN
UPDATE TR_REQUEST_SHOP_DOC SET IS_DONE = '1', STATUS = 'DONE' WHERE REQ_ID = @p_REQ_ID
UPDATE PL_REQUEST_PROCESS SET STATUS = 'P' WHERE PROCESS_ID = 'APPROVE' AND REQ_ID = @p_REQ_ID
INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, IS_LEAF)
VALUES (@p_REQ_ID,'DONE','C','Y')
END
IF @@Error <> 0 GOTO ABORT3
FETCH NEXT FROM MYCURSOR INTO @p_REQ_ID
END
CLOSE MYCURSOR
DEALLOCATE MYCURSOR
COMMIT TRANSACTION
SELECT '0' as Result, @l_USER_CONFIRM_MASTER_ID USER_CONFIM_MASTER_ID, N'Xác nhận xuất sử dụng tài sản thành công' ErrorDesc, @p_USER_MASTER_ID USER_MASTER_ID
RETURN '0'
ABORT:
BEGIN
CLOSE XmlData
DEALLOCATE XmlData
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' USER_MASTER_ID, '' ErrorDesc
RETURN '-1'
End
ABORT2:
BEGIN
CLOSE DATA_CURSOR_CHECK_UPD
DEALLOCATE DATA_CURSOR_CHECK_UPD
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' USER_MASTER_ID, '' ErrorDesc
RETURN '-1'
END
ABORT3:
BEGIN
CLOSE MYCURSOR
DEALLOCATE MYCURSOR
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' USER_MASTER_ID, '' ErrorDesc
RETURN '-1'
End
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[ASS_ADDNEW_Search]'
GO
ALTER PROCEDURE [dbo].[ASS_ADDNEW_Search]
@p_ADDNEW_ID varchar(15) = NULL,
@p_FR_BUY_DATE VARCHAR(10) = NULL, --Tu ngay nhap
@p_TO_BUY_DATE VARCHAR(10) = NULL, --Den ngay nhap
@p_TYPE_ID varchar(15) = NULL,
@p_GROUP_ID varchar(15) = NULL,
@p_ASSET_NAME nvarchar(1000) = NULL,
@p_ASSET_SERIAL_NO nvarchar(MAX) = NULL,
@p_ASSET_DESC nvarchar(max) = NULL,
@p_BRANCH_ID varchar(15) = NULL,
@p_DEPT_ID varchar(15) = NULL,---------Them ma phong ban
@p_EMP_ID varchar(15) = NULL,-----------Them Nguoi su dung
@p_DIVISION_ID varchar(15) = NULL,----------Them co so
@p_BUY_PRICE decimal(18) = NULL,
@p_AMORT_AMT decimal(18) = NULL,
@p_AMORT_MONTH decimal(18,2) = NULL,
@p_AMORT_RATE decimal(18,2) = NULL,
@p_IS_MULTIPLE varchar(1) = NULL,
@p_QTY int = NULL,
@p_PO_ID varchar(15) = NULL,
@p_TRADE_ID varchar(15) = NULL, --Them de luu chi tiet PO
@p_TYPE varchar(10) = 'ADD_NEW', --'ADD_NEW' dung cho nhap moi TS, 'ADD_REF': nhap moi dieu chinh
@p_REF_ASSET_ID varchar(15) = NULL,
@p_REF_AMORTIZED_AMT decimal(18) = NULL,
@p_WARRANTY_MONTHS int = NULL,
@p_NOTES nvarchar(1000) = NULL,
@p_RECORD_STATUS varchar(1) = NULL,
@p_AUTH_STATUS varchar(1) = NULL,
@p_MAKER_ID varchar(15) = NULL,
@p_CREATE_DT VARCHAR(20) = NULL,
@p_CHECKER_ID varchar(15) = NULL,
@p_APPROVE_DT VARCHAR(20) = NULL,
@p_TOP INT = NULL,
@p_CONSTRUCT_ID VARCHAR(15) = NULL,
@p_POSTED_STATUS VARCHAR(1) = NULL,
@p_BRANCH_CREATE VARCHAR(15) = NULL,
@p_LEVEL VARCHAR(10) = NULL,
@p_AUTH_STATUS_KT VARCHAR(1) = NULL,
@p_KT_IS_DO VARCHAR(1) = NULL,
@p_PRICE_TO decimal(18) = NULL,
@p_PRICE_FROM decimal(18) = NULL,
@p_USER_LOGIN VARCHAR(15),-- 26022020 LUCTV TRUYEN XUONG USER LOGIN DE DO TIM MA PHONG BAN
@p_TYPE_SEARCH VARCHAR(10)= NULL -- 26022020 LUCTV TRUYEN XUONG DAU HIEU DE PHAN BIET TIM KIEM O MAN HINH KE TOAN HAY MAN HINH HCQT
AS
BEGIN -- PAGING
SET @p_RECORD_STATUS = '1'
declare @tmp table(BRANCH_ID varchar(15))
--insert into @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_CREATE)
insert into @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_CREATE)
DECLARE @l_GROUP_CODE VARCHAR(100)
IF(@p_TYPE_ID='ALL')
BEGIN
SET @l_GROUP_CODE = (SELECT GROUP_CODE FROM ASS_GROUP WHERE GROUP_ID = @p_GROUP_ID)
SET @p_TYPE_ID=''
END
IF @p_TOP IS NULL OR @p_TOP = ''
-- PAGING BEGIN
SELECT
A.ADDNEW_ID,
A.BUY_DATE,
A.[TYPE_ID],
C.[TYPE_NAME],
A.GROUP_ID,
D.GROUP_CODE,
D.GROUP_NAME,
A.ASSET_NAME,
A.ASSET_SERIAL_NO,
A.ASSET_DESC,
A.BRANCH_ID,
A.AMORT_START_DATE,
A.DEPT_ID,
H.DEP_CODE,
H.DEP_NAME,
A.EMP_ID,
G.EMP_CODE,
G.EMP_NAME,
A.DIVISION_ID,
ISNULL(A.BUY_PRICE,0) AS BUY_PRICE,
ISNULL(A.AMORT_AMT,0) AS AMORT_AMT,
A.AMORT_MONTH,
A.AMORT_RATE,
A.IS_MULTIPLE,
A.QTY,
A.PO_ID,
PO.PO_CODE,
A.PD_ID,
A.REF_ASSET_ID,
I.ASSET_CODE AS REF_ASS_CODE,
I.ASSET_NAME AS REF_ASS_NAME,
A.REF_AMORTIZED_AMT,
A.WARRANTY_MONTHS,
A.NOTES,
A.CORE_NOTE ,
A.RECORD_STATUS,
A.AUTH_STATUS,
B.CONTENT AS AUTH_STATUS_NAME,AKT.CONTENT AS AUTH_STATUS_NAME_KT,
A.MAKER_ID,
UM.TLFullName MAKER_NAME,
A.CREATE_DT,--CONVERT(VARCHAR(10), A.CREATE_DT, 103) AS S_CREATE_DT
A.CHECKER_ID,
A.APPROVE_DT, A.ENTRY_BOOKED, A.CONSTRUCT_ID,A.POSTED_STATUS, A.BRANCH_CREATE,A.MAKER_ID_KT, A.CREATE_DT_KT,A.CHECKER_ID_KT,A.APPROVE_DT_KT,A.AUTH_STATUS_KT,
E.BRANCH_CODE, F.DIV_CODE, E.BRANCH_NAME, (ISNULL(E.BRANCH_NAME,'') + ' '+ ISNULL(H.DEP_NAME,'')) AS RECEIVE_BRANCH ,
CREBRN.BRANCH_CODE AS R_BRANCH_CODE, CREBRN.BRANCH_NAME AS R_BRANCH_NAME, A.AMORT_END_DATE, A.ACCOUNT_GL, A.VAT, A.PRICE_VAT,(ISNULL(A.QTY,0) * ISNULL(A.BUY_PRICE,0)) AS TOTAL_AMT
--, G.SUP_CODE, G.SUP_NAME
,AP.ASSPO_ID AS ASS_PO_ID, AP.ADDNEW_ID AS ASS_PO_ADDNEWID, AP.PO_CODE AS ASS_PO_CODE, AP.INVOICE_NO AS AS_INVOICE_NO, AP.INVOICE_DATE AS ASS_INVOICE_DT,
CREBRN.BRANCH_CODE+' - '+ CREBRN.BRANCH_NAME AS FULL_BRANCH_NAME, D.GROUP_CODE +' - '+ D.GROUP_NAME GROUP_NAME_FULL,
UM2.TLFullName AS CREATE_USER_NAME, UM3.TLFullName AS APPROVE_NAME_KT, UM4.TLFullName AS CREATE_USER_NAME_KT,
@p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH --- TRA VE THAM SO GAN VO CURRENT SEARCH TRANH GAY LOI O CAC MAN HINH
-- SELECT END
FROM ASS_ADDNEW A
--LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS = B.AUTH_STATUS
LEFT JOIN dbo.CM_ALLCODE B ON B.CDVAL = A.AUTH_STATUS AND B.CDNAME = 'ASS_ADD_AUTH' AND B.CDTYPE = 'ASS_ADDNEW'
LEFT JOIN ASS_TYPE C ON A.[TYPE_ID] = C.[TYPE_ID]
LEFT JOIN ASS_GROUP D ON A.GROUP_ID = D.GROUP_ID
LEFT JOIN TL_USER UM ON UM.TLNANME = A.CHECKER_ID
LEFT JOIN TL_USER UM2 ON UM2.TLNANME = A.MAKER_ID
LEFT JOIN TL_USER UM3 ON UM2.TLNANME = A.CHECKER_ID_KT
LEFT JOIN TL_USER UM4 ON UM4.TLNANME = A.MAKER_ID_KT
LEFT JOIN TR_PO_MASTER PO ON PO.PO_ID = A.PO_ID
LEFT JOIN CM_BRANCH E ON E.BRANCH_ID = A.BRANCH_ID
LEFT JOIN CM_DIVISION F ON F.DIV_ID = A.DIVISION_ID
LEFT JOIN CM_EMPLOYEE G ON G.EMP_ID = A.EMP_ID
LEFT JOIN CM_DEPARTMENT H ON H.DEP_ID = A.DEPT_ID
LEFT JOIN ASS_MASTER I ON I.ASSET_ID = A.REF_ASSET_ID
--LEFT JOIN CM_AUTH_STATUS AKT ON AKT.AUTH_STATUS = A.AUTH_STATUS_KT
LEFT JOIN dbo.CM_ALLCODE AKT ON AKT.CDVAL = A.AUTH_STATUS_KT AND AKT.CDNAME = 'ASS_ADD_AUTH' AND AKT.CDTYPE = 'ASS_ADDNEW'
LEFT JOIN CM_BRANCH CREBRN ON CREBRN.BRANCH_ID = A.BRANCH_CREATE
LEFT JOIN ASS_PO AP ON A.ADDNEW_ID = AP.ADDNEW_ID
WHERE (A.ADDNEW_ID = @p_ADDNEW_ID OR @p_ADDNEW_ID IS NULL OR @p_ADDNEW_ID = '')
-- TIM KIEM TU NGAY DEN NGAY O HC
AND ((@p_TYPE_SEARCH = 'HC' AND (@p_FR_BUY_DATE IS NULL AND @p_FR_BUY_DATE IS NULL OR
@p_TO_BUY_DATE IS NULL AND (CONVERT(DATE, A.BUY_DATE, 103)) >= (CONVERT(DATE, @p_FR_BUY_DATE, 103))
OR @p_FR_BUY_DATE IS NULL AND (CONVERT(DATE, A.BUY_DATE, 103)) <= (CONVERT(DATE, @p_TO_BUY_DATE, 103))
OR (CONVERT(DATE, A.BUY_DATE, 103)) >= (CONVERT(DATE, @p_FR_BUY_DATE, 103)) AND (CONVERT(DATE, A.BUY_DATE, 103)) <= (CONVERT(DATE, @p_TO_BUY_DATE, 103))
)
OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = ''))
-- TIM KIEM TU NGAY O KT
AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
AND (((@p_FR_BUY_DATE IS NULL AND @p_FR_BUY_DATE IS NULL OR
@p_TO_BUY_DATE IS NULL AND (CONVERT(DATE, A.BUY_DATE, 103)) >= (CONVERT(DATE, @p_FR_BUY_DATE, 103))
OR @p_FR_BUY_DATE IS NULL AND (CONVERT(DATE, A.BUY_DATE, 103)) <= (CONVERT(DATE, @p_TO_BUY_DATE, 103))
OR (CONVERT(DATE, A.BUY_DATE, 103)) >= (CONVERT(DATE, @p_FR_BUY_DATE, 103)) AND (CONVERT(DATE, A.BUY_DATE, 103)) <= (CONVERT(DATE, @p_TO_BUY_DATE, 103))
)))
OR ((A.MAKER_ID_KT IS NOT NULL OR A.MAKER_ID_KT <> '')
AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))))))
OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = ''))
AND (A.[TYPE_ID] = @p_TYPE_ID OR @p_TYPE_ID IS NULL OR @p_TYPE_ID = '')
AND (A.GROUP_ID = @p_GROUP_ID OR @p_GROUP_ID IS NULL OR @p_GROUP_ID = '')
AND (D.GROUP_CODE = @l_GROUP_CODE OR @l_GROUP_CODE IS NULL OR @l_GROUP_CODE = '')
AND (A.ASSET_NAME like N'%' + @p_ASSET_NAME + '%' OR @p_ASSET_NAME IS NULL OR @p_ASSET_NAME = '')
AND (A.ASSET_SERIAL_NO like N'%' + @p_ASSET_SERIAL_NO + '%' OR @p_ASSET_SERIAL_NO IS NULL OR @p_ASSET_SERIAL_NO = '')
AND (A.ASSET_DESC like N'%' + @p_ASSET_DESC + '%' OR @p_ASSET_DESC IS NULL OR @p_ASSET_DESC = '')
AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
AND (A.DEPT_ID = @p_DEPT_ID OR @p_DEPT_ID IS NULL OR @p_DEPT_ID = '')
AND (A.EMP_ID = @p_EMP_ID OR @p_EMP_ID IS NULL OR @p_EMP_ID = '')
AND (A.DIVISION_ID = @p_DIVISION_ID OR @p_DIVISION_ID IS NULL OR @p_DIVISION_ID = '')
AND (A.BUY_PRICE = @p_BUY_PRICE OR @p_BUY_PRICE IS NULL)
AND (A.AMORT_AMT = @p_AMORT_AMT OR @p_AMORT_AMT IS NULL)
AND (A.AMORT_MONTH = @p_AMORT_MONTH OR @p_AMORT_MONTH IS NULL)
AND (A.AMORT_RATE = @p_AMORT_RATE OR @p_AMORT_RATE IS NULL)
AND (A.IS_MULTIPLE = @p_IS_MULTIPLE OR @p_IS_MULTIPLE IS NULL OR @p_IS_MULTIPLE = '')
AND (A.QTY = @p_QTY OR @p_QTY IS NULL OR @p_QTY = 0)
AND (A.PO_ID = @p_PO_ID OR @p_PO_ID IS NULL OR @p_PO_ID = '')
AND ((@p_TYPE = 'ADD_NEW' AND (A.REF_ASSET_ID IS NULL OR A.REF_ASSET_ID = '')) OR (@p_TYPE = 'ADD_REF' AND A.REF_ASSET_ID IS NOT NULL AND A.REF_ASSET_ID <> ''))
AND (A.REF_ASSET_ID = @p_REF_ASSET_ID OR @p_REF_ASSET_ID IS NULL OR @p_REF_ASSET_ID='')
AND (A.REF_AMORTIZED_AMT = @p_REF_AMORTIZED_AMT OR @p_REF_AMORTIZED_AMT IS NULL)
AND (A.WARRANTY_MONTHS = @p_WARRANTY_MONTHS OR @p_WARRANTY_MONTHS IS NULL OR @p_WARRANTY_MONTHS = 0)
AND (A.NOTES like N'%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '')
AND (A.RECORD_STATUS = @p_RECORD_STATUS OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
AND (A.AUTH_STATUS = @p_AUTH_STATUS OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
AND (A.POSTED_STATUS = @p_POSTED_STATUS OR @p_POSTED_STATUS IS NULL OR @p_POSTED_STATUS = '')
--AND (A.BRANCH_CREATE = @p_BRANCH_CREATE OR @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = '')
AND (A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '')
AND ((A.MAKER_ID_KT IS NOT NULL AND @p_KT_IS_DO = 'Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
OR ((A.MAKER_ID_KT IS NULL AND @p_KT_IS_DO = 'N'))
OR @p_KT_IS_DO IS NULL OR @p_KT_IS_DO = '')
AND ((ISNULL(A.QTY,0) * ISNULL(A.BUY_PRICE,0)) >= @p_PRICE_FROM OR @p_PRICE_FROM = 0 OR @p_PRICE_FROM IS NULL)
AND ((ISNULL(A.QTY,0) * ISNULL(A.BUY_PRICE,0)) <= @p_PRICE_TO OR @p_PRICE_TO = 0 OR @p_PRICE_TO IS NULL)
-- 26-02-2020 LUCTV BO SUNG DIEU KIEN TIM KIEM PHIEU NHAP KHO THEO NGUOI TAO PHIEU : THEO YEU CAU BO SUNG CHINH SUA CUA VCCB
AND (A.MAKER_ID = @p_MAKER_ID OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
-- NEW TRANG THAI PHIEU XUAT LA LUU NHAP HOAC TU CHOI THI CHI NGUOI TAO CO THE TIM THAY
AND ((A.AUTH_STATUS IN ('E','R') AND A.MAKER_ID = @p_USER_LOGIN) OR A.AUTH_STATUS NOT IN ('E','R') OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = '')
-- 11-03-2022 HUYHT BO SUNG DIEU KIEN TIM KIEM PHIEU NHAP THEO QUYEN KIEM NHIEM
AND ((@p_TYPE_SEARCH='HC'
-- AND (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV',A.BRANCH_CREATE,A.DEPT_CREATE) US
-- WHERE US.TLNANME = @p_USER_LOGIN))
AND (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('KSV_QLTS,GDDV,GDDV_QLTS,TBP_QLTS','DV0001','DEP000000000048') US
WHERE US.TLNANME = @p_USER_LOGIN))
OR A.MAKER_ID = @p_USER_LOGIN)
OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'ALL' AND A.BRANCH_CREATE IN (SELECT BRANCH_ID from @tmp))
OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'UNIT' AND A.BRANCH_CREATE = @p_BRANCH_CREATE)
OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH ='')
ORDER BY A.CREATE_DT DESC
-- PAGING END
ELSE
-- PAGING BEGIN
SELECT TOP (CONVERT(INT, @p_TOP))
A.ADDNEW_ID,
A.BUY_DATE,
A.[TYPE_ID],
C.[TYPE_NAME],
A.GROUP_ID,
D.GROUP_CODE,
D.GROUP_NAME,
A.ASSET_NAME,
A.ASSET_SERIAL_NO,
A.ASSET_DESC,
A.BRANCH_ID,
A.AMORT_START_DATE,
A.DEPT_ID,
H.DEP_CODE,
H.DEP_NAME,
A.EMP_ID,
G.EMP_CODE,
G.EMP_NAME,
A.DIVISION_ID,
ISNULL(A.BUY_PRICE,0) AS BUY_PRICE,
ISNULL(A.AMORT_AMT,0) AS AMORT_AMT,
A.AMORT_MONTH,
A.AMORT_RATE,
A.IS_MULTIPLE,
A.QTY,
A.PO_ID,
PO.PO_CODE,
A.REF_ASSET_ID,
I.ASSET_CODE AS REF_ASS_CODE,
I.ASSET_NAME AS REF_ASS_NAME,
A.REF_AMORTIZED_AMT,
A.WARRANTY_MONTHS,
A.NOTES,
A.CORE_NOTE,
A.RECORD_STATUS,
A.AUTH_STATUS,
B.CONTENT AS AUTH_STATUS_NAME,AKT.CONTENT AS AUTH_STATUS_NAME_KT,
A.MAKER_ID,
UM.TLFullName MAKER_NAME,
A.CREATE_DT,--CONVERT(VARCHAR(10), A.CREATE_DT, 103) AS S_CREATE_DT
A.CHECKER_ID,
A.APPROVE_DT, A.ENTRY_BOOKED,A.CONSTRUCT_ID,A.POSTED_STATUS, A.BRANCH_CREATE,A.MAKER_ID_KT, A.CREATE_DT_KT,A.CHECKER_ID_KT,A.APPROVE_DT_KT,A.AUTH_STATUS_KT,
E.BRANCH_CODE, F.DIV_CODE, E.BRANCH_NAME, (ISNULL(E.BRANCH_NAME,'') + ' '+ ISNULL(H.DEP_NAME,'')) AS RECEIVE_BRANCH ,
CREBRN.BRANCH_CODE AS R_BRANCH_CODE, CREBRN.BRANCH_NAME AS R_BRANCH_NAME, A.AMORT_END_DATE, A.ACCOUNT_GL, A.VAT, A.PRICE_VAT, (ISNULL(A.QTY,0) * ISNULL(A.BUY_PRICE,0)) AS TOTAL_AMT
--, G.SUP_CODE, G.SUP_NAME
,AP.ASSPO_ID AS ASS_PO_ID, AP.ADDNEW_ID AS ASS_PO_ADDNEWID, AP.PO_CODE AS ASS_PO_CODE, AP.INVOICE_NO AS AS_INVOICE_NO, AP.INVOICE_DATE AS ASS_INVOICE_DT,CREBRN.BRANCH_CODE+' - '+ CREBRN.BRANCH_NAME AS FULL_BRANCH_NAME
,D.GROUP_CODE +' - '+ D.GROUP_NAME GROUP_NAME_FULL,
UM2.TLFullName AS CREATE_USER_NAME, UM3.TLFullName AS APPROVE_NAME_KT, UM4.TLFullName AS CREATE_USER_NAME_KT,
@p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH --- TRA VE THAM SO GAN VO CURRENT SEARCH TRANH GAY LOI O CAC MAN HINH
-- SELECT END
FROM ASS_ADDNEW A
--LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS = B.AUTH_STATUS
LEFT JOIN dbo.CM_ALLCODE B ON B.CDVAL = A.AUTH_STATUS AND B.CDNAME = 'ASS_ADD_AUTH' AND B.CDTYPE = 'ASS_ADDNEW'
LEFT JOIN ASS_TYPE C ON A.[TYPE_ID] = C.[TYPE_ID]
LEFT JOIN ASS_GROUP D ON A.GROUP_ID = D.GROUP_ID
LEFT JOIN TL_USER UM ON UM.TLNANME = A.CHECKER_ID
LEFT JOIN TL_USER UM2 ON UM2.TLNANME = A.MAKER_ID
LEFT JOIN TL_USER UM3 ON UM2.TLNANME = A.CHECKER_ID_KT
LEFT JOIN TL_USER UM4 ON UM4.TLNANME = A.MAKER_ID_KT
LEFT JOIN TR_PO_MASTER PO ON PO.PO_ID = A.PO_ID
LEFT JOIN CM_BRANCH E ON E.BRANCH_ID = A.BRANCH_ID
LEFT JOIN CM_DIVISION F ON F.DIV_ID = A.DIVISION_ID
LEFT JOIN CM_EMPLOYEE G ON G.EMP_ID = A.EMP_ID
LEFT JOIN CM_DEPARTMENT H ON H.DEP_ID = A.DEPT_ID
LEFT JOIN ASS_MASTER I ON I.ASSET_ID = A.REF_ASSET_ID
--LEFT JOIN CM_AUTH_STATUS AKT ON AKT.AUTH_STATUS = A.AUTH_STATUS_KT
LEFT JOIN dbo.CM_ALLCODE AKT ON AKT.CDVAL = A.AUTH_STATUS_KT AND AKT.CDNAME = 'ASS_ADD_AUTH' AND AKT.CDTYPE = 'ASS_ADDNEW'
LEFT JOIN CM_BRANCH CREBRN ON CREBRN.BRANCH_ID = A.BRANCH_CREATE
LEFT JOIN ASS_PO AP ON A.ADDNEW_ID = AP.ADDNEW_ID
WHERE (A.ADDNEW_ID = @p_ADDNEW_ID OR @p_ADDNEW_ID IS NULL OR @p_ADDNEW_ID = '')
-- -- TIM KIEM TU NGAY DEN NGAY O HC
-- AND ((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.BUY_DATE,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
-- OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
-- AND ((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.BUY_DATE,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = ''))
-- OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
-- TIM KIEM TU NGAY DEN NGAY O HC
AND ((@p_TYPE_SEARCH = 'HC' AND (@p_FR_BUY_DATE IS NULL AND @p_FR_BUY_DATE IS NULL OR
@p_TO_BUY_DATE IS NULL AND (CONVERT(DATE, A.BUY_DATE, 103)) >= (CONVERT(DATE, @p_FR_BUY_DATE, 103))
OR @p_FR_BUY_DATE IS NULL AND (CONVERT(DATE, A.BUY_DATE, 103)) <= (CONVERT(DATE, @p_TO_BUY_DATE, 103))
OR (CONVERT(DATE, A.BUY_DATE, 103)) >= (CONVERT(DATE, @p_FR_BUY_DATE, 103)) AND (CONVERT(DATE, A.BUY_DATE, 103)) <= (CONVERT(DATE, @p_TO_BUY_DATE, 103))
)
OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = ''))
-- -- TIM KIEM TU NGAY O KT
-- AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
-- AND (CONVERT(DATE,A.APPROVE_DT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
-- OR ((A.MAKER_ID_KT IS NOT NULL OR A.MAKER_ID_KT <> '')
-- AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
-- OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
-- OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
-- OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
-- OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))))))
-- OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
-- -- TIM KIEM DEN NGAY O KT
-- AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
-- AND (CONVERT(DATE,A.APPROVE_DT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = ''))
-- OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '')
-- AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = ''))
-- OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = ''))
-- OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = ''))
-- OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = ''))
-- OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = ''))))))
-- OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
-- TIM KIEM TU NGAY O KT
AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
AND (((@p_FR_BUY_DATE IS NULL AND @p_FR_BUY_DATE IS NULL OR
@p_TO_BUY_DATE IS NULL AND (CONVERT(DATE, A.BUY_DATE, 103)) >= (CONVERT(DATE, @p_FR_BUY_DATE, 103))
OR @p_FR_BUY_DATE IS NULL AND (CONVERT(DATE, A.BUY_DATE, 103)) <= (CONVERT(DATE, @p_TO_BUY_DATE, 103))
OR (CONVERT(DATE, A.BUY_DATE, 103)) >= (CONVERT(DATE, @p_FR_BUY_DATE, 103)) AND (CONVERT(DATE, A.BUY_DATE, 103)) <= (CONVERT(DATE, @p_TO_BUY_DATE, 103))
)))
OR ((A.MAKER_ID_KT IS NOT NULL OR A.MAKER_ID_KT <> '')
AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))))))
OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = ''))
AND (A.[TYPE_ID] = @p_TYPE_ID OR @p_TYPE_ID IS NULL OR @p_TYPE_ID = '')
AND (A.GROUP_ID = @p_GROUP_ID OR @p_GROUP_ID IS NULL OR @p_GROUP_ID = '')
AND (D.GROUP_CODE = @l_GROUP_CODE OR @l_GROUP_CODE IS NULL OR @l_GROUP_CODE = '')
AND (A.ASSET_NAME like N'%' + @p_ASSET_NAME + '%' OR @p_ASSET_NAME IS NULL OR @p_ASSET_NAME = '')
AND (A.ASSET_SERIAL_NO like N'%' + @p_ASSET_SERIAL_NO + '%' OR @p_ASSET_SERIAL_NO IS NULL OR @p_ASSET_SERIAL_NO = '')
AND (A.ASSET_DESC like N'%' + @p_ASSET_DESC + '%' OR @p_ASSET_DESC IS NULL OR @p_ASSET_DESC = '')
AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
AND (A.BUY_PRICE = @p_BUY_PRICE OR @p_BUY_PRICE IS NULL)
AND (A.AMORT_AMT = @p_AMORT_AMT OR @p_AMORT_AMT IS NULL)
AND (A.AMORT_MONTH = @p_AMORT_MONTH OR @p_AMORT_MONTH IS NULL)
AND (A.AMORT_RATE = @p_AMORT_RATE OR @p_AMORT_RATE IS NULL)
AND (A.IS_MULTIPLE = @p_IS_MULTIPLE OR @p_IS_MULTIPLE IS NULL OR @p_IS_MULTIPLE = '')
AND (A.QTY = @p_QTY OR @p_QTY IS NULL OR @p_QTY = 0)
AND (A.PO_ID = @p_PO_ID OR @p_PO_ID IS NULL OR @p_PO_ID = '')
AND ((@p_TYPE = 'ADD_NEW' AND (A.REF_ASSET_ID IS NULL OR A.REF_ASSET_ID = '')) OR (@p_TYPE = 'ADD_REF' AND A.REF_ASSET_ID IS NOT NULL AND A.REF_ASSET_ID <> ''))
AND (A.REF_ASSET_ID = @p_REF_ASSET_ID OR @p_REF_ASSET_ID IS NULL OR @p_REF_ASSET_ID='')
AND (A.REF_AMORTIZED_AMT = @p_REF_AMORTIZED_AMT OR @p_REF_AMORTIZED_AMT IS NULL)
AND (A.WARRANTY_MONTHS = @p_WARRANTY_MONTHS OR @p_WARRANTY_MONTHS IS NULL OR @p_WARRANTY_MONTHS = 0)
AND (A.NOTES like N'%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '')
AND (A.RECORD_STATUS = @p_RECORD_STATUS OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
AND (A.AUTH_STATUS = @p_AUTH_STATUS OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
AND (A.POSTED_STATUS = @p_POSTED_STATUS OR @p_POSTED_STATUS IS NULL OR @p_POSTED_STATUS = '')
--AND (A.BRANCH_CREATE = @p_BRANCH_CREATE OR @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = '')
AND (A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '')
AND ((A.MAKER_ID_KT IS NOT NULL AND @p_KT_IS_DO = 'Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
OR ((A.MAKER_ID_KT IS NULL AND @p_KT_IS_DO = 'N'))
OR @p_KT_IS_DO IS NULL OR @p_KT_IS_DO = '')
AND ((ISNULL(A.QTY,0) * ISNULL(A.BUY_PRICE,0)) >= @p_PRICE_FROM OR @p_PRICE_FROM = 0 OR @p_PRICE_FROM IS NULL)
AND ((ISNULL(A.QTY,0) * ISNULL(A.BUY_PRICE,0)) <= @p_PRICE_TO OR @p_PRICE_TO = 0 OR @p_PRICE_TO IS NULL)
-- 26-02-2020 LUCTV BO SUNG DIEU KIEN TIM KIEM PHIEU NHAP KHO THEO NGUOI TAO PHIEU : THEO YEU CAU BO SUNG CHINH SUA CUA VCCB
AND (A.MAKER_ID = @p_MAKER_ID OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
-- NEW TRANG THAI PHIEU XUAT LA LUU NHAP HOAC TU CHOI THI CHI NGUOI TAO CO THE TIM THAY
AND ((A.AUTH_STATUS IN ('E','R') AND A.MAKER_ID = @p_USER_LOGIN) OR A.AUTH_STATUS NOT IN ('E','R') OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = '')
-- 11-03-2022 HUYHT BO SUNG DIEU KIEN TIM KIEM PHIEU NHAP THEO QUYEN KIEM NHIEM
AND ((@p_TYPE_SEARCH='HC'
AND (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('KSV_QLTS,GDDV,GDDV_QLTS,TBP_QLTS','DV0001','DEP000000000048') US
WHERE US.TLNANME = @p_USER_LOGIN))
OR A.MAKER_ID = @p_USER_LOGIN)
OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'ALL' AND A.BRANCH_CREATE IN (SELECT BRANCH_ID from @tmp))
OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'UNIT' AND A.BRANCH_CREATE = @p_BRANCH_CREATE)
OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH ='')
ORDER BY A.CREATE_DT DESC
-- PAGING END
END -- PAGING
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[ASS_TRANSFER_MULTI_MASTER_KT_Upd]'
GO
ALTER PROCEDURE [dbo].[ASS_TRANSFER_MULTI_MASTER_KT_Upd]
@p_TRANS_MULTI_MASTER_ID varchar(15) = null ,
@p_BRANCH_ID varchar(15) = NULL ,
@p_TRANSFER_DT VARCHAR(20) = NULL,
@p_USER_TRANSFER nvarchar(200) = NULL,
@p_NOTES nvarchar(1000) = NULL ,
@p_RECORD_STATUS varchar(1) = NULL ,
@p_AUTH_STATUS varchar(1) = NULL ,
@p_MAKER_ID varchar(100) = NULL ,
@p_CREATE_DT VARCHAR(20) = NULL,
@p_CHECKER_ID varchar(100) = NULL ,
@p_APPROVE_DT VARCHAR(20) = NULL,
@p_AUTH_STATUS_KT varchar(15) = NULL ,
@p_CREATE_DT_KT varchar(100) = NULL,
@p_APPROVE_DT_KT VARCHAR(20) = NULL,
@p_MAKER_ID_KT varchar(100) = NULL ,
@p_CHECKER_ID_KT varchar(100) = NULL ,
@p_REPORT_STATUS varchar(15) = NULL,
@p_BRANCH_CREATE varchar(15) = NULL,
@p_CORE_NOTE VARCHAR(MAX) = NULL,
@p_XmlData XML = NULL
AS
DECLARE
@TRANSFER_MULTI_ID varchar(15),
@ASSET_ID varchar(15),
@BRANCH_ID varchar(15),
@KHOI_ID varchar(15),
@CENTER_ID varchar(15),
@DEPT_ID varchar(15),
@EMP_ID varchar(15),
@LOCATION varchar(500),
@DESCRIPTION nvarchar(1000),
@BRANCH_ID_OLD varchar(15),
@KHOI_ID_OLD varchar(15),
@CENTER_ID_OLD varchar(15),
@DEPT_ID_OLD varchar(15),
@EMP_ID_OLD varchar(15),
@REMAIN_VALUE DECIMAL(18,0),@ASS_AMORTIZED_MONTH DECIMAL, @ASS_AMORTIZED_AMT DECIMAL
Declare @hdoc INT
Exec sp_xml_preparedocument @hdoc Output,@p_XmlData
DECLARE XmlData CURSOR FOR
SELECT *
FROM OPENXML(@hdoc,'/Root/XmlData',2)
WITH
(
TRANSFER_MULTI_ID varchar(15),
ASSET_ID varchar(15),
BRANCH_ID varchar(15),
KHOI_ID VARCHAR(15),
CENTER_ID VARCHAR(15),
DEP_ID varchar(15),
EMP_ID varchar(15),
BRANCH_ID_OLD varchar(15),
KHOI_ID_OLD varchar(15),
CENTER_ID_OLD varchar(15),
DEPT_ID_OLD varchar(15),
EMP_ID_OLD varchar(15),
LOCATION varchar(500),
[DESCRIPTION] nvarchar(1000),
REMAIN_VALUE DECIMAL(18,0),
ASS_AMORTIZED_MONTH DECIMAL,
ASS_AMORTIZED_AMT DECIMAL
)
OPEN XmlData
BEGIN TRANSACTION
----BO 2 KY TU DAC BIET & VA < TRONG DIEN GIAI HACH TOAN - THIEUVQ 020719 - BEGIN
SET @p_CORE_NOTE = REPLACE(@p_CORE_NOTE,'&', 'VA')
SET @p_CORE_NOTE = REPLACE(@p_CORE_NOTE,'<', ' ')
--------------END---------------
--DELETE FROM ASS_TRANSFER_MULTI_DT WHERE TRANS_MULTI_MASTER_ID = @p_TRANS_MULTI_MASTER_ID
UPDATE ASS_TRANSFER_MULTI_MASTER
SET [BRANCH_ID] = @p_BRANCH_ID,
[TRANSFER_DT] = CONVERT(DATETIME, @p_TRANSFER_DT, 103),
[USER_TRANSFER] = @p_USER_TRANSFER,
[NOTES] = @p_NOTES,
[RECORD_STATUS] = @p_RECORD_STATUS,
--[AUTH_STATUS] = @p_AUTH_STATUS,[MAKER_ID] = @p_MAKER_ID,[CREATE_DT] = CONVERT(DATETIME, @p_CREATE_DT, 103),
--[CHECKER_ID] = @p_CHECKER_ID,[APPROVE_DT] = CONVERT(DATETIME, @p_APPROVE_DT, 103),
[CREATE_DT_KT] = CONVERT(DATETIME, @p_CREATE_DT_KT, 103),[APPROVE_DT_KT] = CONVERT(DATETIME, @p_APPROVE_DT_KT, 103),[MAKER_ID_KT] = @p_MAKER_ID_KT,
[CHECKER_ID_KT] = @p_CHECKER_ID_KT,[REPORT_STATUS] = @p_REPORT_STATUS,CORE_NOTE =@p_CORE_NOTE,
---LUCTV: 24-12-2018 BO SUNG CAP NHAT AUTH_STATUS =U.
AUTH_STATUS_KT='E'
WHERE TRANS_MULTI_MASTER_ID= @p_TRANS_MULTI_MASTER_ID
IF @@Error <> 0 GOTO ABORT
--Insert XmlData
DELETE FROM ASS_TRANSFER_MULTI_DT WHERE TRANS_MULTI_MASTER_ID = @p_TRANS_MULTI_MASTER_ID
FETCH NEXT FROM XmlData INTO @TRANSFER_MULTI_ID,@ASSET_ID,@BRANCH_ID, @KHOI_ID, @CENTER_ID,@DEPT_ID,@EMP_ID,@BRANCH_ID_OLD,@KHOI_ID_OLD,@CENTER_ID_OLD,@DEPT_ID_OLD,
@EMP_ID_OLD,@LOCATION,@DESCRIPTION, @REMAIN_VALUE, @ASS_AMORTIZED_MONTH , @ASS_AMORTIZED_AMT
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE @ERRORSYS NVARCHAR(200) = '',@ASSET_CODE nVARCHAR(20)
IF ( EXISTS ( SELECT * FROM ASS_TRANSFER_MULTI_DT WHERE [ASSET_ID] = @ASSET_ID AND AUTH_STATUS<>'A' AND [CHECKER_ID_KT] <> 'system'))
BEGIN
SET @ASSET_CODE=(SELECT ASSET_CODE FROM ASS_MASTER WHERE [ASSET_ID] = @ASSET_ID)
SET @ERRORSYS = N'Mã: '+@ASSET_CODE+N' đang được điều chuyển'
CLOSE XmlData
DEALLOCATE XmlData
ROLLBACK TRANSACTION
SELECT '-1' as Result, @p_TRANS_MULTI_MASTER_ID TRANS_MULTI_MASTER_ID, @ERRORSYS ErrorDesc
RETURN '-1'
END
IF ( EXISTS ( SELECT * FROM ASS_TRANSFER WHERE [ASSET_ID] = @ASSET_ID AND AUTH_STATUS<>'A'))
BEGIN
SET @ASSET_CODE=(SELECT ASSET_CODE FROM ASS_MASTER WHERE [ASSET_ID] = @ASSET_ID)
SET @ERRORSYS = N'Mã: '+@ASSET_CODE+N' đang được điều chuyển'
CLOSE XmlData
DEALLOCATE XmlData
ROLLBACK TRANSACTION
SELECT '-1' as Result, @p_TRANS_MULTI_MASTER_ID TRANS_MULTI_MASTER_ID, @ERRORSYS ErrorDesc
RETURN '-1'
END
IF(LEN(@TRANSFER_MULTI_ID) = 0)
BEGIN
EXEC SYS_CodeMasters_Gen 'ASS_TRANSFER_MULTI_DT', @TRANSFER_MULTI_ID out
IF @TRANSFER_MULTI_ID='' OR @TRANSFER_MULTI_ID IS NULL GOTO ABORT
END
--LAY THONG TIN DON VI CU TRUOC DIEU CHUYEN
SELECT @BRANCH_ID_OLD = BRANCH_ID, @DEPT_ID_OLD = DEPT_ID, @EMP_ID_OLD = EMP_ID
FROM ASS_MASTER
WHERE ASSET_ID = @ASSET_ID
--thieuvq 07/09/2016
-- IF @BRANCH_ID = @BRANCH_ID_OLD AND ISNULL(@DEPT_ID,'') = ISNULL(@DEPT_ID_OLD,'') AND ISNULL(@EMP_ID,'') = ISNULL(@EMP_ID_OLD,'')
-- BEGIN
-- SET @ASSET_CODE=(SELECT ASSET_CODE FROM ASS_MASTER WHERE [ASSET_ID] = @ASSET_ID)
-- SELECT '-1' Result, '' TRANSFER_ID, N'TS: '+@ASSET_CODE+ N' Đơn vị nhận hoặc người nhận phải khác với đơn vị/nhân viên đang sử dụng hiện tại.' ErrorDesc
-- CLOSE XmlData
-- DEALLOCATE XmlData
-- ROLLBACK TRANSACTION
-- RETURN '-1'
-- END
INSERT INTO ASS_TRANSFER_MULTI_DT(
[TRANSFER_MULTI_ID],
[TRANS_MULTI_MASTER_ID],
[ASSET_ID],
[BRANCH_ID],
[KHOI_ID],
[CENTER_ID],
[DEPT_ID],
[EMP_ID],
[BRANCH_ID_OLD],
[KHOI_ID_OLD],
[CENTER_ID_OLD],
[DEPT_ID_OLD],
[EMP_ID_OLD],
[USE_START_DT],
[DESCRIPTION],
[LOCATION],
[RECORD_STATUS],
[AUTH_STATUS],
[MAKER_ID],
[CREATE_DT],
[CHECKER_ID],
[APPROVE_DT],
[BRANCH_CREATE],
[AUTH_STATUS_KT],
[CREATE_DT_KT],
[APPROVE_DT_KT],
[MAKER_ID_KT],
[CHECKER_ID_KT],
[REPORT_STATUS],
REMAIN_VALUE, ASS_AMORTIZED_MONTH, ASS_AMORTIZED_AMT
)
VALUES(
@TRANSFER_MULTI_ID,
@p_TRANS_MULTI_MASTER_ID,
@ASSET_ID,
@BRANCH_ID,
@KHOI_ID,
@CENTER_ID,
@DEPT_ID,
@EMP_ID,
@BRANCH_ID_OLD,
@KHOI_ID_OLD,
@CENTER_ID_OLD,
@DEPT_ID_OLD,
@EMP_ID_OLD,
CONVERT(DATETIME, @p_TRANSFER_DT, 103),
@DESCRIPTION,
@LOCATION,
@p_RECORD_STATUS,
@p_AUTH_STATUS,
@p_MAKER_ID,
CONVERT(DATETIME, @p_CREATE_DT, 103),
@p_CHECKER_ID,
CONVERT(DATETIME, @p_APPROVE_DT, 103),
@p_BRANCH_CREATE ,@p_AUTH_STATUS_KT,
CONVERT(DATETIME, @p_CREATE_DT_KT, 103),
CONVERT(DATETIME, @p_APPROVE_DT_KT, 103),
@p_MAKER_ID_KT,
@p_CHECKER_ID_KT,
'N',
@REMAIN_VALUE, @ASS_AMORTIZED_MONTH , @ASS_AMORTIZED_AMT
)
IF @@Error <> 0 GOTO ABORT
FETCH NEXT FROM XmlData INTO @TRANSFER_MULTI_ID,@ASSET_ID,@BRANCH_ID, @KHOI_ID, @CENTER_ID,@DEPT_ID,@EMP_ID,@BRANCH_ID_OLD,@KHOI_ID_OLD,@CENTER_ID_OLD,@DEPT_ID_OLD,
@EMP_ID_OLD,@LOCATION,@DESCRIPTION, @REMAIN_VALUE, @ASS_AMORTIZED_MONTH , @ASS_AMORTIZED_AMT
END
CLOSE XmlData
DEALLOCATE XmlData
-- HUYHT 06/05/2022: XÓA CÁC PROCESS UPDATE CŨ
DELETE dbo.PL_PROCESS WHERE REQ_ID = @p_TRANS_MULTI_MASTER_ID AND PROCESS_ID = 'UPDATE'
-- GIANT 21/09/2021
INSERT INTO dbo.PL_PROCESS
(
REQ_ID,
PROCESS_ID,
CHECKER_ID,
APPROVE_DT,
PROCESS_DESC,NOTES
)
VALUES
( @p_TRANS_MULTI_MASTER_ID, -- REQ_ID - varchar(15)
'UPDATE', -- PROCESS_ID - varchar(10)
@p_MAKER_ID_KT, -- CHECKER_ID - varchar(15)
GETDATE(), -- APPROVE_DT - datetime
N'Giao dịch viên cập nhật hạch toán', -- PROCESS_DESC - nvarchar(1000)
N'Giao dịch viên cập nhật hạch toán thành công'
)
COMMIT TRANSACTION
SELECT '0' as Result, @p_TRANS_MULTI_MASTER_ID TRANS_MULTI_MASTER_ID, '' ErrorDesc
RETURN '0'
ABORT:
BEGIN
CLOSE XmlData
DEALLOCATE XmlData
ROLLBACK TRANSACTION
SELECT '-1' as Result, @p_TRANS_MULTI_MASTER_ID TRANS_MULTI_MASTER_ID, '' ErrorDesc
RETURN '-1'
End
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[CM_BRANCH_Search]'
GO
/*
[dbo].[CM_BRANCH_Search] '','','','','','','','','','','','','','','','','','','DV0002'
*/
ALTER PROCEDURE [dbo].[CM_BRANCH_Search]
@p_BRANCH_ID varchar(15) = NULL,
@p_FATHER_ID varchar(15) = NULL,
@p_FATHER_CODE VARCHAR(15) = NULL,
@p_BRANCH_CODE varchar(15) = NULL,
@p_BRANCH_NAME nvarchar(200) = NULL,
@p_REGION_ID varchar(15) = NULL,
@p_REGION_CODE VARCHAR(15) = NULL,
@p_BRANCH_TYPE varchar(5) = NULL,
@p_ADDR nvarchar(200) = NULL,
@p_TEL varchar(20) = NULL,
@p_NOTES nvarchar(1000) = NULL,
@p_RECORD_STATUS varchar(1) = NULL,
@p_MAKER_ID varchar(100) = NULL,
@p_CREATE_DT VARCHAR(20) = NULL,
@p_AUTH_STATUS varchar(50) = NULL,
@p_CHECKER_ID varchar(100) = NULL,
@p_APPROVE_DT VARCHAR(20) = NULL,
@p_TOP INT = NULL,
@p_BRANCH_LOGIN varchar(15) = NULL,
@p_USER_LOGIN VARCHAR(20) = NULL,
@p_ISLOADALL BIT = 0
AS
--Validation is here
/*
DECLARE @ERRORSYS NVARCHAR(15) = ''
IF ( [NOT] EXISTS ( SELECT * FROM [TABLE] WHERE [CONDITION] ))
SET @ERRORSYS = ''
IF @ERRORSYS <> ''
BEGIN
SELECT ErrorCode Result, '' CAR_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
RETURN '0'
END */
BEGIN -- PAGING
declare @tmp table(BRANCH_ID varchar(15))
insert into @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)
DECLARE @ROLE_LOGIN TABLE (ROLE_ID varchar(20))
INSERT INTO @ROLE_LOGIN SELECT tugr.ROLE_ID FROM dbo.TL_USER_GET_ROLES(@p_USER_LOGIN) tugr
IF @p_TOP = 300 SET @p_TOP = 1000
IF(@p_TOP IS NULL OR @p_TOP = '' OR @p_TOP = 0)
-- PAGING BEGIN
SELECT A.*,B.BRANCH_CODE AS F_BRANCH_CODE, B.BRANCH_NAME AS F_BRANCH_NAME, C.AUTH_STATUS_NAME, R.CONTENT AS RECORD_STATUS_NAME, AL.CONTENT AS ACTIVE_STATUS_NAME,
B.BRANCH_CODE + ' - ' + B.BRANCH_NAME as BRACH_NAME_FATHER
-- SELECT END
FROM CM_BRANCH A
LEFT JOIN CM_BRANCH B ON A.FATHER_ID = B.BRANCH_ID
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS = C.AUTH_STATUS
LEFT JOIN CM_ALLCODE R ON A.RECORD_STATUS = R.CDVAL AND R.CDNAME = 'RECORD_STATUS'
LEFT JOIN CM_ALLCODE AL ON A.AUTH_STATUS = AL.CDVAL AND AL.CDNAME = 'STATUS' AND AL.CDTYPE = 'BR'--doanptt chỉnh sửa ngày 21/08/2021 ở GAPList QTHT.005
WHERE 1 = 1
AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
AND (A.FATHER_ID LIKE '%' + @p_FATHER_ID + '%' OR @p_FATHER_ID IS NULL OR @p_FATHER_ID = '')
AND (B.BRANCH_CODE LIKE '%' + @p_FATHER_CODE + '%' OR @p_FATHER_CODE IS NULL OR @p_FATHER_CODE = '')
AND (A.BRANCH_CODE LIKE '%' + @p_BRANCH_CODE + '%' OR @p_BRANCH_CODE IS NULL OR @p_BRANCH_CODE = '')
AND (A.BRANCH_NAME COLLATE Latin1_general_CI_AI LIKE N'%' + @p_BRANCH_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_BRANCH_NAME IS NULL OR @p_BRANCH_NAME = '')
AND (A.REGION_ID LIKE '%' + @p_REGION_ID + '%' OR @p_REGION_ID IS NULL OR @p_REGION_ID = '')
AND (EXISTS (SELECT * FROM [dbo].[wsiSplit](@p_BRANCH_TYPE, ',') WHERE A.BRANCH_TYPE LIKE '%' + [Value] + '%') OR @p_BRANCH_TYPE IS NULL OR @p_BRANCH_TYPE = '')
AND (A.ADDR LIKE '%' + @p_ADDR + '%' OR @p_ADDR IS NULL OR @p_ADDR = '')
AND (A.TEL LIKE '%' + @p_TEL + '%' OR @p_TEL IS NULL OR @p_TEL = '')
AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '')
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
AND (DATEDIFF(DAY, A.CREATE_DT ,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
AND (A.RECORD_STATUS = @p_RECORD_STATUS OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
AND ((A.BRANCH_ID = @p_BRANCH_LOGIN OR EXISTS(SELECT ROLE_ID FROM @ROLE_LOGIN WHERE ROLE_ID IN ('QLTS','GDDV_QLTS','GDV_QLTS','GDV','KSV','KSV_QLTS','TBP_QLTS')) OR @p_ISLOADALL = 1))
ORDER BY A.BRANCH_CODE
-- PAGING END
ELSE
-- PAGING BEGIN
SELECT TOP(CONVERT(INT,@p_TOP))A.*,B.BRANCH_CODE AS F_BRANCH_CODE, B.BRANCH_NAME AS F_BRANCH_NAME, C.AUTH_STATUS_NAME, R.CONTENT AS RECORD_STATUS_NAME,
AL.CONTENT AS ACTIVE_STATUS_NAME, B.BRANCH_CODE + ' - ' + B.BRANCH_NAME as BRACH_NAME_FATHER
-- SELECT END
FROM CM_BRANCH A
LEFT JOIN CM_BRANCH B ON A.FATHER_ID = B.BRANCH_ID
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS = C.AUTH_STATUS
LEFT JOIN CM_ALLCODE R ON A.RECORD_STATUS = R.CDVAL AND R.CDNAME = 'RECORD_STATUS'
LEFT JOIN CM_ALLCODE AL ON A.AUTH_STATUS = AL.CDVAL AND AL.CDNAME = 'STATUS' AND AL.CDTYPE = 'BR' --doanptt chỉnh sửa ngày 21/08/2021 ở GAPList QTHT.005
WHERE 1 = 1
AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
AND (A.FATHER_ID LIKE '%' + @p_FATHER_ID + '%' OR @p_FATHER_ID IS NULL OR @p_FATHER_ID = '')
AND (A.BRANCH_CODE LIKE '%' + @p_BRANCH_CODE + '%' OR @p_BRANCH_CODE IS NULL OR @p_BRANCH_CODE = '')
AND (B.BRANCH_CODE LIKE '%' + @p_FATHER_CODE + '%' OR @p_FATHER_CODE IS NULL OR @p_FATHER_CODE = '')
AND (A.BRANCH_NAME COLLATE Latin1_general_CI_AI LIKE N'%' + @p_BRANCH_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_BRANCH_NAME IS NULL OR @p_BRANCH_NAME = '')
AND (A.REGION_ID LIKE '%' + @p_REGION_ID + '%' OR @p_REGION_ID IS NULL OR @p_REGION_ID = '')
AND (EXISTS (SELECT * FROM [dbo].[wsiSplit](@p_BRANCH_TYPE, ',') WHERE A.BRANCH_TYPE LIKE '%' + [Value] + '%') OR @p_BRANCH_TYPE IS NULL OR @p_BRANCH_TYPE = '')
AND (A.ADDR LIKE '%' + @p_ADDR + '%' OR @p_ADDR IS NULL OR @p_ADDR = '')
AND (A.TEL LIKE '%' + @p_TEL + '%' OR @p_TEL IS NULL OR @p_TEL = '')
AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '')
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
AND (DATEDIFF(DAY,A.CREATE_DT ,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
AND (A.RECORD_STATUS = @p_RECORD_STATUS OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
AND ((A.BRANCH_ID = @p_BRANCH_LOGIN OR EXISTS(SELECT ROLE_ID FROM @ROLE_LOGIN WHERE ROLE_ID IN ('QLTS','GDDV_QLTS','GDV_QLTS','GDV','KSV','KSV_QLTS','TBP_QLTS')) OR @p_ISLOADALL = 1))
ORDER BY A.BRANCH_CODE
-- PAGING END
END -- PAGING
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[FN_GET_BRANCH_LEADER]'
GO
ALTER FUNCTION [dbo].[FN_GET_BRANCH_LEADER]
( @BRANCH_ID VARCHAR(15), @DEPT_ID VARCHAR(50) )
RETURNS NVARCHAR(MAX)
AS
BEGIN
DECLARE @BRANCH_TYPE VARCHAR(15), @TLNAME NVARCHAR(MAX)
DECLARE @LST_USER_RECIVE TABLE (TLNAME VARCHAR(10))
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_ID)
IF(@BRANCH_TYPE = 'PGD' )
BEGIN
SET @TLNAME = (SELECT STUFF((SELECT '; ' + TLFullName FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_ID
AND RoleName IN ('TPGD','PPGD','GDDV')
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'),1,2,''))
END
ELSE IF(@BRANCH_TYPE = 'CN' )
BEGIN
SET @TLNAME = (SELECT STUFF((SELECT '; ' + TLFullName FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_ID
AND RoleName IN ('GDDV','PGD')
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'),1,2,''))
END
ELSE IF(@BRANCH_TYPE = 'HS' )
BEGIN
SET @TLNAME = (SELECT STUFF((SELECT '; ' + TLFullName FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_ID
AND SECUR_CODE = @DEPT_ID
AND RoleName IN ('GDDV','PP','TP')
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'),1,2,''))
END
ELSE
BEGIN
SET @TLNAME = (SELECT STUFF((SELECT '; ' + TLFullName FROM TL_USER
WHERE 1=1
AND TLSUBBRID = @BRANCH_ID
AND SECUR_CODE = @DEPT_ID
AND RoleName IN ('GDDV')
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'),1,2,''))
END
RETURN @TLNAME
END;
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[TR_REQUEST_SHOP_DOC_ById]'
GO
ALTER PROCEDURE [dbo].[TR_REQUEST_SHOP_DOC_ById]
@REQ_ID varchar(15),
@p_USERNAME VARCHAR(100),
@p_STATUS VARCHAR(20)
AS
DECLARE @ROLE_KT VARCHAR(50) = (SELECT TU.RoleName FROM TL_USER TU WHERE TU.TLNANME = @p_USERNAME)
DECLARE @BRANCHID VARCHAR(20),@DEP_ID VARCHAR(20),@ROLE VARCHAR(20)
SELECT @BRANCHID=TLSUBBRID ,@DEP_ID=DEP_ID FROM dbo.TL_USER WHERE TLNANME=@p_USERNAME
DECLARE @ROLE_LOGIN TABLE(ROLE_USER VARCHAR(20), BRANCH_ID VARCHAR(20), DEP_ID VARCHAR(20))
INSERT INTO @ROLE_LOGIN
SELECT tugr.ROLE_ID, tugr.BRANCH_ID, tugr.DEPT_ID FROM dbo.TL_USER_GET_ROLES(@p_USERNAME) tugr
DECLARE @lstCOST TABLE (
COST_ID VARCHAR(20)
)
INSERT INTO @lstCOST
SELECT COST_ID FROM dbo.TR_REQUEST_SHOP_COSTCENTER WHERE REQ_ID = @REQ_ID
--SET @p_STATUS = (SELECT STATUS FROM dbo.TR_REQUEST_SHOP_DOC WHERE REQ_ID=@REQ_ID)
SET @ROLE=(SELECT TOP 1 ROLE_USER FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@REQ_ID AND STATUS='C')
DECLARE @REQ_ID_Temp TABLE(REQ_ID VARCHAR(20))
INSERT INTO @REQ_ID_Temp
SELECT A.REQ_ID FROM TR_REQUEST_SHOP_DOC A
LEFT JOIN PL_REQUEST_PROCESS B ON A.REQ_ID = B.REQ_ID AND B.STATUS = 'C'
WHERE (EXISTS(SELECT RL.ROLE_USER FROM @ROLE_LOGIN RL WHERE RL.BRANCH_ID = B.BRANCH_ID
AND (B.BRANCH_ID = 'DV0001' AND B.DEP_ID = RL.DEP_ID OR B.BRANCH_ID <> 'DV0001')
AND RL.ROLE_USER = B.ROLE_USER)
OR EXISTS(SELECT * FROM @ROLE_LOGIN RL
JOIN PL_REQUEST_PROCESS C ON C.REQ_ID = A.REQ_ID AND C.STATUS = 'P' AND RL.BRANCH_ID = C.BRANCH_ID
AND (C.BRANCH_ID = 'DV0001' AND C.DEP_ID = RL.DEP_ID OR C.BRANCH_ID <> 'DV0001')
AND RL.ROLE_USER = C.ROLE_USER)
OR A.MAKER_ID = @p_USERNAME)
GROUP BY A.REQ_ID
HAVING A.REQ_ID = @REQ_ID
SELECT T.*, B.BRANCH_NAME, B.BRANCH_TYPE AS BRANCH_CRTYPE, PR.DVKD_USER_APP, PL.DVKD_USER_APP AS QLTS_USER_APP, CD.DEP_CODE, CD.DEP_NAME, 'Admin' AS DVKD_USER_APP
,TU2.TLFullName AS MAKER_NAME, TU.TLFullName AS CHECKER_NAME
,CASE WHEN T.REQ_TYPE = 'CPTS' AND T.IS_DONE = '1' AND T.STATUS = 'DONE' THEN 'APPROVE' ELSE T.STATUS END AS STATUS
FROM TR_REQUEST_SHOP_DOC T
LEFT JOIN CM_BRANCH B ON T.BRANCH_ID = B.BRANCH_ID
LEFT JOIN CM_DEPARTMENT CD ON T.DEP_ID = CD.DEP_ID
LEFT JOIN PL_REQUEST_PROCESS PR ON PR.REQ_ID=T.REQ_ID AND PR.PROCESS_ID = 'APPNEW'
LEFT JOIN PL_REQUEST_PROCESS PL ON PL.REQ_ID=T.REQ_ID AND PL.PROCESS_ID = 'TTQLTS_D'
LEFT JOIN TL_USER TU ON T.CHECKER_ID = TU.TLNANME
LEFT JOIN TL_USER TU2 ON T.MAKER_ID = TU2.TLNANME
WHERE T.REQ_ID = @REQ_ID AND (EXISTS(SELECT * FROM @REQ_ID_Temp RL WHERE RL.REQ_ID = T.REQ_ID)
OR (@ROLE_KT IN ('GDV','KSV') AND T.AUTH_STATUS = 'A')
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US
WHERE US.TLNANME = @p_USERNAME))
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[ASS_USE_MULTI_BVB_KT_Upd]'
GO
ALTER PROCEDURE [dbo].[ASS_USE_MULTI_BVB_KT_Upd]
@p_USER_MASTER_ID varchar(15) = null ,
@p_RECORD_STATUS varchar(1) = NULL,
@p_AUTH_STATUS varchar(1) = NULL,
@p_MAKER_ID varchar(100) = NULL,
@p_CREATE_DT VARCHAR(20) = NULL,
@p_CHECKER_ID varchar(100) = NULL,
@p_APPROVE_DT VARCHAR(20) = NULL,
@p_BRANCH_CREATE varchar(15) = NULL,
@p_CORE_NOTE VARCHAR(1000)= NULL,
@p_NOTES NVARCHAR(1000) = NULL,
@p_XmlData XML = NULL,
@p_MAKER_ID_KT VARCHAR(100) = NULL,
@p_CREATE_DT_KT VARCHAR(20) = NULL
AS
BEGIN TRANSACTION
--LUCTV - KHAI BAO SO THANG KHAU HAO MIN, MAX CUA TAI SAN
DECLARE @NHOMTS VARCHAR(15)
DECLARE @MIN_AMR INT, @MAX_AMR INT, @INDEX INT
DECLARE @ERRORSYS NVARCHAR(200) = '',@ASSET_CODE nVARCHAR(20)
SET @INDEX=0
--END
DECLARE
@USE_MULTI_ID varchar(15),
@ASSET_ID varchar(15),
@BRANCH_ID varchar(15),
@DEPT_ID varchar(15),
@DIVISION_ID varchar(15),
@EMP_ID varchar(15),
@AMORT_START_DATE VARCHAR(20),
@AMORT_MONTH decimal(18),
@AMORT_END_DATE VARCHAR(20),
@CORE_NOTE varchar(1000),
@NOTES nvarchar(1000),
@SUBBRANCH_ID VARCHAR(15),
@FATHER_ID VARCHAR(15),
@REQ_ID VARCHAR(15),
@NUM_REPORT NVARCHAR(200) --Số tờ trình
,@ASS_AMORTIZED_MONTH DECIMAL, @ASS_AMORTIZED_AMT DECIMAL,
@l_REMAIN_VALUE DECIMAL(18,0),
@l_BUY_PRICE DECIMAL(18,0)
Declare @hdoc INT
Exec sp_xml_preparedocument @hdoc Output,@p_XmlData
DECLARE XmlData CURSOR FOR
SELECT *
FROM OPENXML(@hdoc,'/Root/XmlData',2)
WITH
(
USE_MULTI_ID varchar(15),
ASSET_ID varchar(15),
BRANCH_ID varchar(15),
DEPT_ID varchar(15),
DIVISION_ID varchar(15),
EMP_ID varchar(15),
AMORT_START_DATE VARCHAR(20),
AMORT_MONTH decimal(18),
AMORT_END_DATE VARCHAR(20),
CORE_NOTE varchar(1000),
NOTES nvarchar(1000),
SUBBRANCH_ID VARCHAR(15),
FATHER_ID VARCHAR(15),
REQ_ID VARCHAR(15),
NUM_REPORT NVARCHAR(200), --Số tờ trình,
ASS_AMORTIZED_MONTH DECIMAL,
ASS_AMORTIZED_AMT DECIMAL
)
OPEN XmlData
----BO 2 KY TU DAC BIET & VA < TRONG DIEN GIAI HACH TOAN - THIEUVQ 020719 - BEGIN
SET @p_CORE_NOTE = REPLACE(@p_CORE_NOTE,'&', 'VA')
SET @p_CORE_NOTE = REPLACE(@p_CORE_NOTE,'<', ' ')
--------------END---------------
UPDATE ASS_USE_MULTI_MASTER SET [AUTH_STATUS_KT] = 'E',CORE_NOTE =@p_CORE_NOTE,NOTES=@p_NOTES,
[CREATE_DT_KT] = GETDATE(),[MAKER_ID_KT] = @p_MAKER_ID_KT,[REPORT_STATUS] = 'N'
WHERE USER_MASTER_ID= @p_USER_MASTER_ID
DELETE FROM ASS_USE_MULTI_DT WHERE USER_MASTER_ID = @p_USER_MASTER_ID
IF @@Error <> 0 GOTO ABORT
--Insert XmlData
FETCH NEXT FROM XmlData INTO @USE_MULTI_ID,@ASSET_ID,@BRANCH_ID,@DEPT_ID,@DIVISION_ID,@EMP_ID,@AMORT_START_DATE,@AMORT_MONTH,@AMORT_END_DATE,@CORE_NOTE,@NOTES
,@SUBBRANCH_ID,
@FATHER_ID,
@REQ_ID,
@NUM_REPORT, @ASS_AMORTIZED_MONTH , @ASS_AMORTIZED_AMT
WHILE @@FETCH_STATUS = 0
BEGIN
SET @INDEX= @INDEX+1
IF(@BRANCH_ID = 'DV0001')
BEGIN --NẾU PHIẾU MASTER LÀ HỘI SỞ THỊ CHECK K_TT_PB
IF(@DEPT_ID IS NOT NULL AND @DEPT_ID <> '')
BEGIN
SET @DEPT_ID = @DEPT_ID
END
ELSE
BEGIN
IF(@FATHER_ID IS NOT NULL AND @FATHER_ID <> '')
BEGIN
SET @DEPT_ID = @FATHER_ID
END
ELSE
BEGIN
IF(@SUBBRANCH_ID IS NOT NULL AND @SUBBRANCH_ID <> '')
BEGIN
SET @DEPT_ID = @SUBBRANCH_ID
END
ELSE
BEGIN
DEALLOCATE XmlData
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' USER_MASTER_ID, N'Dòng thứ ' + CONVERT(VARCHAR(5),@INDEX) + N' vui lòng chọn Khối/Trung tâm/Phòng ban' ErrorDesc
RETURN '-1'
END
END
END
END
ELSE --NẾU PHIẾU MASTER KHÔNG PHẢI HỘI SỞ THÌ GÁN PHÒNG BAN = NULL
BEGIN
SET @DEPT_ID = NULL
END
--LUCTV - KIEM TRA SO THANG KHAU HAO PHAI NAM TRONG MIN -MAX
SET @NHOMTS =(SELECT GROUP_ID FROM ASS_MASTER WHERE ASSET_ID= @ASSET_ID)
SET @MIN_AMR =(SELECT AMORT_MONTH_MIN FROM ASS_GROUP WHERE GROUP_ID =@NHOMTS)
SET @MAX_AMR =(SELECT AMORT_MONTH_MAX FROM ASS_GROUP WHERE GROUP_ID=@NHOMTS)
IF(@AMORT_MONTH >@MAX_AMR OR @AMORT_MONTH <@MIN_AMR)
BEGIN
CLOSE XmlData
DEALLOCATE XmlData
ROLLBACK TRANSACTION
SELECT '-1' as Result,N'Dòng' +CONVERT(VARCHAR(15),@INDEX) +N': Số tháng khấu hao phải nằm trong khoảng ('+CONVERT(VARCHAR(15),@MIN_AMR)+' - '+CONVERT(VARCHAR(15),@MAX_AMR)+N') tháng' ErrorDesc
RETURN '-1'
END
-- 23-07-2019 KIEM TRA
-- IF ( EXISTS ( SELECT * FROM ASS_USE_MULTI_DT WHERE [ASSET_ID] = @ASSET_ID AND USER_MASTER_ID<> @p_USER_MASTER_ID AND
-- (CHECKER_ID IS NULL OR CHECKER_ID_KT IS NULL OR (CHECKER_ID_KT IS NOT NULL AND CHECKER_ID_KT<>'system'))))
-- BEGIN
-- SET @ASSET_CODE=(SELECT ASSET_CODE FROM ASS_MASTER WHERE [ASSET_ID] = @ASSET_ID)
-- SET @ERRORSYS = N'Mã: '+@ASSET_CODE+N' đang xuất sử dụng'
-- CLOSE XmlData
-- DEALLOCATE XmlData
-- ROLLBACK TRANSACTION
-- SELECT '-1' as Result, '' USER_MASTER_ID, @ERRORSYS ErrorDesc
-- RETURN '-1'
--
-- END
--END
if(@AMORT_START_DATE='') set @AMORT_START_DATE=NULL
if(@AMORT_END_DATE='') set @AMORT_END_DATE=NULL
IF(LEN(@USE_MULTI_ID) = 0)
BEGIN
EXEC SYS_CodeMasters_Gen 'ASS_USE_MULTI_DT', @USE_MULTI_ID out
IF @USE_MULTI_ID='' OR @USE_MULTI_ID IS NULL GOTO ABORT
END
--PHUCVH 27/02/23 THÊM NGUYÊN GIÁ VÀ GIÁ TRỊ CÒN LẠI TẠI THỜI ĐIỂM TẠO PHIẾU
SELECT @l_BUY_PRICE = A.BUY_PRICE, @l_REMAIN_VALUE = ISNULL((A.AMORT_AMT - A.AMORTIZED_AMT), ISNULL(A.AMORT_AMT,0))
FROM ASS_MASTER A
WHERE A.ASSET_ID = @ASSET_ID
INSERT INTO ASS_USE_MULTI_DT([USE_MULTI_ID],[USER_MASTER_ID],[ASSET_ID],[AMORT_START_DATE],[BRANCH_ID],
[DEPT_ID],[EMP_ID],[DIVISION_ID],[NOTES],[CORE_NOTE],[RECORD_STATUS],[AUTH_STATUS],[MAKER_ID],
[CREATE_DT],[CHECKER_ID],[APPROVE_DT],[BRANCH_CREATE],
[AMORT_MONTH],
[AUTH_STATUS_KT],[CREATE_DT_KT],
[MAKER_ID_KT],[REPORT_STATUS],[AMORT_END_DATE],REQ_ID,NUM_REPORT, ASS_AMORTIZED_MONTH, ASS_AMORTIZED_AMT,BUY_PRICE,REMAIN_VALUE)
VALUES(@USE_MULTI_ID ,@p_USER_MASTER_ID,@ASSET_ID ,CONVERT(DATETIME, @AMORT_START_DATE, 103) ,@BRANCH_ID ,
@DEPT_ID ,@EMP_ID ,@DIVISION_ID ,@NOTES ,@p_CORE_NOTE--@CORE_NOTE LAY CORE NOTE MASTER
,@p_RECORD_STATUS ,@p_AUTH_STATUS ,@p_MAKER_ID ,CONVERT(DATE, @p_CREATE_DT,103)
,@p_CHECKER_ID ,CONVERT(DATE, @p_APPROVE_DT,103) ,@p_BRANCH_CREATE ,
@AMORT_MONTH ,
'U' ,CONVERT(DATETIME, @p_CREATE_DT_KT, 103),
@p_MAKER_ID_KT ,'N' ,CONVERT(DATETIME, @AMORT_END_DATE, 103),@REQ_ID,@NUM_REPORT, @ASS_AMORTIZED_MONTH , @ASS_AMORTIZED_AMT,
@l_BUY_PRICE,@l_REMAIN_VALUE)
IF @@Error <> 0 GOTO ABORT
FETCH NEXT FROM XmlData INTO @USE_MULTI_ID,@ASSET_ID,@BRANCH_ID,@DEPT_ID,@DIVISION_ID,@EMP_ID,@AMORT_START_DATE,@AMORT_MONTH,@AMORT_END_DATE,@CORE_NOTE,@NOTES
,@SUBBRANCH_ID,
@FATHER_ID,
@REQ_ID,
@NUM_REPORT, @ASS_AMORTIZED_MONTH , @ASS_AMORTIZED_AMT
END
CLOSE XmlData
DEALLOCATE XmlData
IF @@Error <> 0 GOTO ABORT
-- HUYHT 06/05/2022: XÓA CÁC PROCESS UPDATE CŨ
DELETE dbo.PL_PROCESS WHERE REQ_ID = @p_USER_MASTER_ID AND PROCESS_ID = 'UPDATE'
-- GIANT 21/09/2021
INSERT INTO dbo.PL_PROCESS
(
REQ_ID,
PROCESS_ID,
CHECKER_ID,
APPROVE_DT,
PROCESS_DESC,NOTES
)
VALUES
( @p_USER_MASTER_ID, -- REQ_ID - varchar(15)
'UPDATE', -- PROCESS_ID - varchar(10)
@p_MAKER_ID, -- CHECKER_ID - varchar(15)
GETDATE(), -- APPROVE_DT - datetime
N'Giao dịch viên cập nhật hạch toán ' ,
N'Giao dịch viên cập nhật hạch toán thành công' -- PROCESS_DESC - nvarchar(1000)
)
COMMIT TRANSACTION
SELECT '0' as Result,'' ErrorDesc, @p_USER_MASTER_ID AS USER_MASTER_ID
RETURN '0'
ABORT:
BEGIN
ROLLBACK TRANSACTION
CLOSE XmlData
DEALLOCATE XmlData
SELECT '-1' as Result,'' ErrorDesc
RETURN '-1'
End
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[rpt_ASS_TRANSFER_MULTI_CONFIRM_Excel]'
GO
ALTER PROC [dbo].[rpt_ASS_TRANSFER_MULTI_CONFIRM_Excel]
@TRANS_MULTI_MASTER_ID VARCHAR(15) = null,
@BRANCH_ID VARCHAR(15) = null,
@FROMDATE VARCHAR(15) = null,
@TODATE VARCHAR(15) = null,
@IS_CONFIRM VARCHAR(1) = null
as
BEGIN
SELECT
B.ASSET_CODE, B.ASSET_NAME, B.AMORT_MONTH, B.AMORTIZED_MONTH, B.AMORT_AMT, B.AMORTIZED_AMT, AMORT_AMT - B.AMORTIZED_AMT AS GT_CL, B.NOTES,
A.TRANS_MULTI_MASTER_ID,CB.BRANCH_CODE,CB.BRANCH_NAME,1 AS SL,B.BUY_PRICE,'' AS UNIT,B.ASSET_SERIAL_NO AS SERIAL_NUMBER,
dbo.FN_GET_BRANCH_LEADER(C.BRANCH_ID, c.DEPT_ID) AS TLFullName, A.REQ_CODE, CD.DEP_NAME, CD.DEP_CODE
FROM ASS_TRANSFER_MULTI_MASTER A
INNER JOIN ASS_TRANSFER_MULTI_DT C ON C.TRANS_MULTI_MASTER_ID = A.TRANS_MULTI_MASTER_ID
INNER JOIN ASS_MASTER B ON B.ASSET_ID = C.ASSET_ID
LEFT JOIN CM_BRANCH CB ON CB.BRANCH_ID = C.BRANCH_ID
LEFT JOIN CM_DEPARTMENT CD ON C.DEPT_ID = CD.DEP_ID
WHERE (A.TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID OR @TRANS_MULTI_MASTER_ID IS NULL OR @TRANS_MULTI_MASTER_ID = '')
AND A.AUTH_STATUS = 'A'
AND (C.BRANCH_ID = @BRANCH_ID OR @BRANCH_ID IS NULL OR @BRANCH_ID = '')
AND ((@IS_CONFIRM = 'Y' AND A.TRANS_MULTI_MASTER_ID IN (SELECT TRANS_MULTI_MASTER_ID FROM dbo.ASS_TRANSFER_CONFIRM_MASTER WHERE CONFIRM_STATUS_BN = 'Y'))
OR (@IS_CONFIRM = 'N' AND A.TRANS_MULTI_MASTER_ID NOT IN (SELECT TRANS_MULTI_MASTER_ID FROM dbo.ASS_TRANSFER_CONFIRM_MASTER)
OR (@IS_CONFIRM= '' OR @IS_CONFIRM IS NULL)))
AND (CONVERT(DATE,A.APPROVE_DT) >= CONVERT(DATE, @FROMDATE, 103) OR @FROMDATE is NULL OR @FROMDATE = '')
AND (CONVERT(DATE,A.APPROVE_DT) <= CONVERT(DATE, @TODATE, 103) OR @TODATE is NULL OR @TODATE = '')
END
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[TR_REQUEST_SHOP_DOC_Del]'
GO
ALTER PROCEDURE [dbo].[TR_REQUEST_SHOP_DOC_Del]
@REQ_ID varchar(15)
AS
DECLARE @ERRORSYS NVARCHAR(15) = ''
IF ( NOT EXISTS ( SELECT * FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID= @REQ_ID))
SET @ERRORSYS = 'REQ-00002'
IF @ERRORSYS <> ''
BEGIN
SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
RETURN '0'
END
IF ( NOT EXISTS( SELECT 1 FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID= @REQ_ID AND AUTH_STATUS IN ('E','R')))
BEGIN
SELECT '-1' Result, N'Phiếu đang được gửi phê duyệt. Xoá thất bại' ErrorDesc
RETURN '0'
END
BEGIN TRANSACTION
IF( (SELECT AUTH_STATUS FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID= @REQ_ID) = 'A')
BEGIN
UPDATE TR_REQUEST_SHOP_DOC SET RECORD_STATUS = '0'
WHERE REQ_ID= @REQ_ID
IF @@Error <> 0 GOTO ABORT
--UPDATE DETAIL
UPDATE TR_REQUEST_SHOP_DOC_DT SET RECORD_STATUS = '0' WHERE REQ_DOC_ID = @REQ_ID
END
ELSE
BEGIN
IF(EXISTS(SELECT 1 FROM TR_REQUEST_SHOP_DOC WHERE AUTH_STATUS IN ('E','R')))
BEGIN
Delete FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID= @REQ_ID
delete FROM TR_REQUEST_SHOP_DOC_DT WHERE REQ_DOC_ID=@REQ_ID
END
IF @@Error <> 0 GOTO ABORT
END
COMMIT TRANSACTION
SELECT '0' as Result, '' ErrorDesc, N'Xoá thành công' SuccessfullyDeleted
RETURN '0'
ABORT:
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' ErrorDesc
RETURN '-1'
End
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[CM_EMPLOYEE_Search]'
GO
/*
[CM_EMPLOYEE_Search] '','','Nguyễn Minh Tuân','DV0002','','','','','','','','','','100', 'ALL'
*/
ALTER PROCEDURE [dbo].[CM_EMPLOYEE_Search]
@p_EMP_ID varchar(15) = null ,
@p_EMP_CODE varchar(15) = NULL ,
@p_EMP_NAME nvarchar(50) = NULL ,
@p_BRANCH_ID varchar(15) = NULL ,
@p_BRANCH_CODE varchar(15) = NULL ,
@p_BRANCH_NAME NVARCHAR(50) = null,
@p_DEP_ID varchar(15) = NULL ,
@p_NOTES nvarchar(1000) = NULL ,
@p_RECORD_STATUS varchar(1) = NULL ,
@p_AUTH_STATUS varchar(1) = NULL ,
@p_MAKER_ID varchar(100) = NULL ,
@p_CREATE_DT VARCHAR(20) = NULL,
@p_CHECKER_ID varchar(100) = NULL ,
@p_APPROVE_DT VARCHAR(20) = NULL,
@p_TOP INT = NULL,
@p_LEVEL varchar(10) = NULL
AS
BEGIN -- PAGING
DECLARE @l_HS_ID VARCHAR(15) = (SELECT TOP 1 A.BRANCH_ID FROM CM_BRANCH A WHERE A.BRANCH_TYPE = 'HS')
declare @tmp table(BRANCH_ID varchar(15))
insert into @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)
IF (@p_LEVEL = 'ALL' AND @p_BRANCH_ID <> @l_HS_ID)
INSERT INTO @tmp SELECT @l_HS_ID
IF(@p_TOP IS NULL OR @p_TOP = '' OR @p_TOP = 0)
-- PAGING BEGIN
SELECT A.*,C.AUTH_STATUS_NAME,B.BRANCH_CODE,B.BRANCH_NAME,
--dbo.FN_GET_CHINHANH(B.BRANCH_ID,'KV') KHU_VUC,
dbo.FN_GET_CHINHANH(B.BRANCH_ID,'CN') CHI_NHANH,
--B.BRANCH_NAME PGD,
D.DEP_NAME PGD,
CR.REGION_NAME AS KHUVUC,
D.DEP_NAME,
E.CONTENT AS RECORD_STATUS_NAME, U.PhoneNumber AS PHONE_NUMBER,L.USER_DOMAIN
-- SELECT END
FROM CM_EMPLOYEE A
LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS=C.AUTH_STATUS
LEFT JOIN CM_DEPARTMENT D ON A.DEP_ID=D.DEP_ID
LEFT JOIN CM_ALLCODE E ON E.CDNAME = 'RECORD_STATUS' AND E.CDVAL = A.RECORD_STATUS
LEFT JOIN CM_EMPLOYEE_LOG L ON L.EMP_CODE = A.EMP_CODE
LEFT JOIN TL_USER U ON U.TLNANME = L.USER_DOMAIN
LEFT JOIN CM_REGIONS CR ON CR.REGION_ID = B.REGION_ID
WHERE 1 = 1
AND (A.EMP_ID LIKE '%' + @p_EMP_ID + '%' OR @p_EMP_ID IS NULL OR @p_EMP_ID = '')
AND (A.EMP_CODE LIKE '%' + @p_EMP_CODE + '%' OR @p_EMP_CODE IS NULL OR @p_EMP_CODE = '')
AND (A.EMP_NAME COLLATE Latin1_general_CI_AI LIKE N'%' + @p_EMP_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_EMP_NAME IS NULL OR @p_EMP_NAME = '')
--AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
AND (B.BRANCH_CODE LIKE '%' + @p_BRANCH_CODE + '%' OR @p_BRANCH_CODE IS NULL OR @p_BRANCH_CODE = '')
AND (A.DEP_ID LIKE '%' + @p_DEP_ID + '%' OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '')
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
AND (DATEDIFF(DAY,A.CREATE_DT ,CONVERT(DATETIME, @p_CREATE_DT, 103)) =0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM CM_BRANCH_GETCHILDID(@p_BRANCH_ID)))
AND A.RECORD_STATUS = '1'
AND ((@p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
OR (@p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID)) OR @p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL
)
-- PAGING END
ELSE
-- PAGING BEGIN
SELECT TOP(CONVERT(INT,@p_TOP))A.*,C.AUTH_STATUS_NAME,B.BRANCH_CODE,B.BRANCH_NAME,
--dbo.FN_GET_CHINHANH(B.BRANCH_ID,'KV') KHU_VUC,
dbo.FN_GET_CHINHANH(B.BRANCH_ID,'CN') CHI_NHANH,
--B.BRANCH_NAME PGD,
D.DEP_NAME PGD,
CR.REGION_NAME AS KHUVUC,
D.DEP_NAME,
E.CONTENT AS RECORD_STATUS_NAME, U.PhoneNumber AS PHONE_NUMBER,L.USER_DOMAIN
-- SELECT END
FROM CM_EMPLOYEE A
LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS=C.AUTH_STATUS
LEFT JOIN CM_DEPARTMENT D ON A.DEP_ID=D.DEP_ID
LEFT JOIN CM_ALLCODE E ON E.CDNAME = 'RECORD_STATUS' AND E.CDVAL = A.RECORD_STATUS
LEFT JOIN CM_EMPLOYEE_LOG L ON L.EMP_CODE = A.EMP_CODE
LEFT JOIN TL_USER U ON U.TLNANME = L.USER_DOMAIN
LEFT JOIN CM_REGIONS CR ON CR.REGION_ID = B.REGION_ID
WHERE 1 = 1
AND (A.EMP_ID LIKE '%' + @p_EMP_ID + '%' OR @p_EMP_ID IS NULL OR @p_EMP_ID = '')
AND (A.EMP_CODE LIKE '%' + @p_EMP_CODE + '%' OR @p_EMP_CODE IS NULL OR @p_EMP_CODE = '')
AND (A.EMP_NAME COLLATE Latin1_general_CI_AI LIKE N'%' + @p_EMP_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_EMP_NAME IS NULL OR @p_EMP_NAME = '')
--AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
AND (B.BRANCH_CODE LIKE '%' + @p_BRANCH_CODE + '%' OR @p_BRANCH_CODE IS NULL OR @p_BRANCH_CODE = '')
AND (A.DEP_ID LIKE '%' + @p_DEP_ID + '%' OR @p_DEP_ID IS NULL OR @p_DEP_ID = '')
AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '')
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
AND (DATEDIFF(DAY,A.CREATE_DT ,CONVERT(DATETIME, @p_CREATE_DT, 103)) =0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
--AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM CM_BRANCH_GETCHILDID(@p_BRANCH_ID)))
AND A.RECORD_STATUS = '1'
AND ((@p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
OR (@p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID)) OR @p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL
)
-- PAGING END
END -- PAGING
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[rpt_ASS_USE_MULTI_CONFIRM_Excel]'
GO
ALTER PROC [dbo].[rpt_ASS_USE_MULTI_CONFIRM_Excel]
@USER_MASTER_ID VARCHAR(15) = null,
@BRANCH_ID VARCHAR(15) = null,
@FROMDATE VARCHAR(15) = null,
@TODATE VARCHAR(15) = null,
@IS_CONFIRM VARCHAR(1) = null
as
BEGIN
SELECT
B.ASSET_CODE, B.ASSET_NAME, B.AMORT_MONTH, B.AMORTIZED_MONTH, B.AMORT_AMT, B.AMORTIZED_AMT, AMORT_AMT - B.AMORTIZED_AMT AS GT_CL, B.NOTES,
A.USER_MASTER_ID,CB.BRANCH_CODE,CB.BRANCH_NAME,1 AS SL,B.BUY_PRICE,'' AS UNIT,B.ASSET_SERIAL_NO AS SERIAL_NUMBER,
dbo.FN_GET_BRANCH_LEADER(C.BRANCH_ID, c.DEPT_ID) AS TLFullName,D.DEP_CODE,D.DEP_NAME,E.REQ_CODE
FROM ASS_USE_MULTI_MASTER A
INNER JOIN ASS_USE_MULTI_DT C ON C.USER_MASTER_ID = A.USER_MASTER_ID
INNER JOIN ASS_MASTER B ON B.ASSET_ID = C.ASSET_ID
LEFT JOIN CM_BRANCH CB ON CB.BRANCH_ID = C.BRANCH_ID
LEFT JOIN CM_DEPARTMENT D ON A.DEP_ID = D.DEP_ID
LEFT JOIN TR_REQUEST_SHOP_DOC E ON C.REQ_ID = E.REQ_ID
WHERE (A.USER_MASTER_ID = @USER_MASTER_ID OR @USER_MASTER_ID IS NULL OR @USER_MASTER_ID = '')
AND A.AUTH_STATUS = 'A'
AND (C.BRANCH_ID = @BRANCH_ID OR @BRANCH_ID IS NULL OR @BRANCH_ID = '')
AND ((@IS_CONFIRM = 'Y' AND A.USER_MASTER_ID IN (SELECT USER_MASTER_ID FROM ASS_CONFIRM_USE_MASTER))
OR (@IS_CONFIRM = 'N' AND A.USER_MASTER_ID NOT IN (SELECT USER_MASTER_ID FROM ASS_CONFIRM_USE_MASTER)
OR (@IS_CONFIRM= '' OR @IS_CONFIRM IS NULL)))
AND (CONVERT(DATE,A.APPROVE_DT) >= CONVERT(DATE, @FROMDATE, 103) OR @FROMDATE is NULL OR @FROMDATE = '')
AND (CONVERT(DATE,A.APPROVE_DT) <= CONVERT(DATE, @TODATE, 103) OR @TODATE is NULL OR @TODATE = '')
END
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[ASS_TRANSFER_MULTI_MASTER_Search]'
GO
ALTER PROCEDURE [dbo].[ASS_TRANSFER_MULTI_MASTER_Search]
@p_TRANS_MULTI_MASTER_ID varchar(15) = NULL,
@p_BRANCH_ID varchar(15) = NULL,
@p_TRANSFER_DT VARCHAR(20) = NULL,
@p_USER_TRANSFER nvarchar(200) = NULL,
@p_USER_TRANSFER_NAME nvarchar(200) = NULL,
@p_NOTES nvarchar(1000) = NULL,
@p_RECORD_STATUS varchar(1) = NULL,
@p_AUTH_STATUS varchar(1) = NULL,
@p_MAKER_ID varchar(100) = NULL,
@p_CREATE_DT VARCHAR(20) = NULL,
@p_CHECKER_ID varchar(100) = NULL,
@p_APPROVE_DT VARCHAR(20) = NULL,
@p_AUTH_STATUS_KT varchar(15) = NULL,
@p_CREATE_DT_KT varchar(100) = NULL,
@p_APPROVE_DT_KT VARCHAR(20) = NULL,
@p_MAKER_ID_KT varchar(100) = NULL,
@p_CHECKER_ID_KT varchar(100) = NULL,
@p_REPORT_STATUS varchar(15) = NULL,
@p_LEVEL VARCHAR(50) = 'UNIT',
@p_TOP INT = 10,
@p_FromDate VARCHAR(20) = NULL,
@p_TODATE VARCHAR(20) = NULL,
@p_IS_UPDATE VARCHAR(1) = NULL,
@p_USER_LOGIN VARCHAR(15),-- 26022020 LUCTV TRUYEN XUONG USER LOGIN DE DO TIM MA PHONG BAN
@p_TYPE_SEARCH VARCHAR(10)= NULL, -- 26022020 LUCTV TRUYEN XUONG DAU HIEU DE PHAN BIET TIM KIEM O MAN HINH KE TOAN HAY MAN HINH HCQT
@p_REQ_CODE VARCHAR(100) = NULL --Thêm trường tìm kiếm số PYC
AS
BEGIN -- PAGING
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
SET @p_RECORD_STATUS = '1'
DECLARE @tmp table(BRANCH_ID varchar(15))
INSERT INTO @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)
--TÌM THÔNG TIN USER LOGIN
DECLARE @ROLE_LOGIN TABLE(ROLE_USER VARCHAR(20), BRANCH_ID VARCHAR(20), DEP_ID VARCHAR(20))
INSERT INTO @ROLE_LOGIN
SELECT tugr.ROLE_ID, tugr.BRANCH_ID, tugr.DEPT_ID FROM dbo.TL_USER_GET_ROLES(@p_USER_LOGIN) tugr
--TÌM KIẾM THEO QUYỀN XỬ LÝ
DECLARE @TRANS_MULTI_MASTER_ID_Temp TABLE(TRANS_MASTER_ID VARCHAR(20))
INSERT INTO @TRANS_MULTI_MASTER_ID_Temp
SELECT A.TRANS_MULTI_MASTER_ID FROM ASS_TRANSFER_MULTI_MASTER A
LEFT JOIN PL_REQUEST_PROCESS B ON A.TRANS_MULTI_MASTER_ID = B.REQ_ID AND B.STATUS = 'C'
WHERE (EXISTS(SELECT RL.ROLE_USER FROM @ROLE_LOGIN RL WHERE RL.BRANCH_ID = B.BRANCH_ID
AND (B.BRANCH_ID = 'DV0001' AND B.DEP_ID = RL.DEP_ID OR B.BRANCH_ID <> 'DV0001')
AND RL.ROLE_USER = B.ROLE_USER)
OR EXISTS(SELECT * FROM @ROLE_LOGIN RL
JOIN PL_REQUEST_PROCESS C ON C.REQ_ID = A.TRANS_MULTI_MASTER_ID AND C.STATUS = 'P' AND RL.BRANCH_ID = C.BRANCH_ID
AND (C.BRANCH_ID = 'DV0001' AND C.DEP_ID = RL.DEP_ID OR C.BRANCH_ID <> 'DV0001')
AND RL.ROLE_USER = C.ROLE_USER)
OR EXISTS(SELECT * FROM @ROLE_LOGIN RL
JOIN PL_REQUEST_PROCESS C ON C.REQ_ID = A.TRANS_MULTI_MASTER_ID AND C.PROCESS_ID = 'TGD' AND RL.BRANCH_ID = C.BRANCH_ID
AND (C.BRANCH_ID = 'DV0001' OR C.BRANCH_ID <> 'DV0001')
AND RL.ROLE_USER = C.ROLE_USER)
OR A.MAKER_ID = @p_USER_LOGIN)
GROUP BY A.TRANS_MULTI_MASTER_ID
IF(@p_TOP is NULL OR @p_TOP = '' OR @p_TOP = 0)
-- PAGING BEGIN
SELECT A.*,C.BRANCH_CODE, F.AUTH_STATUS_NAME,C.BRANCH_CODE +' - '+ C.BRANCH_NAME AS FULL_BRANCH_NAME,
ATKT.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_KT,T1.TLFullName AS MAKER_NAME,T2.TLFullName AS MAKER_NAME_KT,T3.TLFullName APPROVE_NAME, T4.TLFullName APPROVE_NAME_KT,
@p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH
, A.STATUS AS STATUS_XL
, A.REQ_ID AS REQ_PARENT_ID, A. REQ_CODE AS REQ_PARENT_CODE,
CASE WHEN C.BRANCH_TYPE = 'HS' THEN C.BRANCH_NAME + ' - ' + CD.DEP_NAME ELSE C.BRANCH_NAME END AS BRANCH_NAME
-- SELECT END
FROM ASS_TRANSFER_MULTI_MASTER A
LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID
LEFT JOIN CM_DEPARTMENT CD ON A.DEPT_CREATE = CD.DEP_ID
LEFT JOIN CM_AUTH_STATUS F ON A.AUTH_STATUS = F.AUTH_STATUS
LEFT JOIN CM_AUTH_STATUS ATKT ON ATKT.AUTH_STATUS = A.AUTH_STATUS_KT
LEFT JOIN TL_USER T1 ON A.MAKER_ID = T1.TLNANME
LEFT JOIN TL_USER T2 ON A.MAKER_ID_KT = T2.TLNANME
LEFT JOIN TL_USER T3 ON A.CHECKER_ID = T3.TLNANME
LEFT JOIN TL_USER T4 ON A.CHECKER_ID_KT = T4.TLNANME
WHERE 1 = 1
AND (A.TRANS_MULTI_MASTER_ID LIKE '%' + @p_TRANS_MULTI_MASTER_ID + '%' OR @p_TRANS_MULTI_MASTER_ID IS NULL OR @p_TRANS_MULTI_MASTER_ID = '')
-- TIM KIEM TU NGAY O HC
AND ((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.TRANSFER_DT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))
OR (@p_TYPE_SEARCH = 'KT' AND (A.STATUS = 'APPROVE') OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
OR(@p_TYPE_SEARCH = 'XN' AND (A.STATUS IN ('APPROVE','XNGN')) OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = ''))
-- TIM KIEM DEN NGAY O HC
AND ((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.TRANSFER_DT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
OR (@p_TYPE_SEARCH = 'KT' AND (A.STATUS = 'APPROVE') OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
OR(@p_TYPE_SEARCH = 'XN' AND (A.STATUS IN ('APPROVE','XNGN')) OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = ''))
-- TIM KIEM TU NGAY O KT
AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
AND (CONVERT(DATE,A.APPROVE_DT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))
OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '')
AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))
OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))
OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))
OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))
OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))))))
OR (@p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') OR (@p_TYPE_SEARCH = 'XN' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = ''))
-- TIM KIEM DEN NGAY O KT
AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
AND (CONVERT(DATE,A.APPROVE_DT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '')
AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = '')))
)))
OR (@p_TYPE_SEARCH = 'HC' AND (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV,GDDV_QLTS,TBP_QLTS,KSV_QLTS','DV0001','DEP000000000048') US
WHERE US.TLNANME = @p_USER_LOGIN) OR A.MAKER_ID = @p_USER_LOGIN)
OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') OR (@p_TYPE_SEARCH = 'XN' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = ''))
AND (A.USER_TRANSFER LIKE '%' + @p_USER_TRANSFER + '%' OR @p_USER_TRANSFER IS NULL OR @p_USER_TRANSFER = '')
AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '')
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
AND (A.CREATE_DT =CONVERT(DATETIME, @p_CREATE_DT, 103) OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
AND (A.APPROVE_DT =CONVERT(DATETIME, @p_APPROVE_DT, 103) OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
AND (A.AUTH_STATUS_KT LIKE '%' + @p_AUTH_STATUS_KT + '%' OR @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '')
AND (A.CREATE_DT_KT =CONVERT(DATETIME, @p_CREATE_DT_KT, 103) OR @p_CREATE_DT_KT IS NULL OR @p_CREATE_DT_KT = '')
AND (A.APPROVE_DT_KT =CONVERT(DATETIME, @p_APPROVE_DT_KT, 103) OR @p_APPROVE_DT_KT IS NULL OR @p_APPROVE_DT_KT = '')
AND (A.MAKER_ID_KT LIKE '%' + @p_MAKER_ID_KT + '%' OR @p_MAKER_ID_KT IS NULL OR @p_MAKER_ID_KT = '')
AND (A.CHECKER_ID_KT LIKE '%' + @p_CHECKER_ID_KT + '%' OR @p_CHECKER_ID_KT IS NULL OR @p_CHECKER_ID_KT = '')
AND (A.REPORT_STATUS LIKE '%' + @p_REPORT_STATUS + '%' OR @p_REPORT_STATUS IS NULL OR @p_REPORT_STATUS = '')
-- AND ((@p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp))
-- OR ((@p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID)
-- OR (@p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL)))
AND A.RECORD_STATUS='1'
AND ((A.MAKER_ID_KT IS NOT NULL AND @p_IS_UPDATE = 'Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
OR ((A.MAKER_ID_KT IS NULL AND @p_IS_UPDATE = 'N')) OR @p_IS_UPDATE IS NULL OR @p_IS_UPDATE='')
-- NEW TRANG THAI PHIEU XUAT LA LUU NHAP HOAC TU CHOI THI CHI NGUOI TAO CO THE TIM THAY
AND ((A.AUTH_STATUS IN ('E','R') AND A.MAKER_ID = @p_USER_LOGIN) OR A.AUTH_STATUS NOT IN ('E','R') OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = '')
-- 11-03-2022 HUYHT BO SUNG DIEU KIEN TIM KIEM PHIEU XUAT THEO QUYEN KIEM NHIEM
AND (
(@p_TYPE_SEARCH = 'HC'
--KHIEMCHG BỔ SUNG TÌM KIẾM THEO QUYỀN XỬ LÝ
AND EXISTS(SELECT * FROM @TRANS_MULTI_MASTER_ID_Temp RL WHERE RL.TRANS_MASTER_ID = A.TRANS_MULTI_MASTER_ID)
OR A.MAKER_ID = @p_USER_LOGIN
)
OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp) AND (A.STATUS = 'APPROVE'))
OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID AND (A.STATUS = 'APPROVE'))
-- KHIEMCHG BỔ SUNG TÌM KIẾM THEO MÀN HÌNH XÁC NHẬN ĐIỀU CHUYỂN
OR (@p_TYPE_SEARCH = 'XN'
AND (EXISTS(SELECT * FROM @TRANS_MULTI_MASTER_ID_Temp RL WHERE RL.TRANS_MASTER_ID = A.TRANS_MULTI_MASTER_ID)
AND (A.STATUS IN ('XNGN', 'APPROVE')))
OR A.MAKER_ID = @p_USER_LOGIN
)
OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''
)
AND(A.REQ_CODE like N'%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
ORDER BY A.CREATE_DT DESC
-- PAGING END
ELSE
-- PAGING BEGIN
SELECT A.*,C.BRANCH_CODE, F.AUTH_STATUS_NAME,C.BRANCH_CODE +' - '+ C.BRANCH_NAME AS FULL_BRANCH_NAME,
ATKT.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_KT,T1.TLFullName AS MAKER_NAME,T2.TLFullName AS MAKER_NAME_KT,T3.TLFullName APPROVE_NAME, T4.TLFullName APPROVE_NAME_KT,
@p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH
, A.STATUS AS STATUS_XL
, A.REQ_ID AS REQ_PARENT_ID, A. REQ_CODE AS REQ_PARENT_CODE,
CASE WHEN C.BRANCH_TYPE = 'HS' THEN C.BRANCH_NAME + ' - ' + CD.DEP_NAME ELSE C.BRANCH_NAME END AS BRANCH_NAME
-- SELECT END
FROM ASS_TRANSFER_MULTI_MASTER A
LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID
LEFT JOIN CM_DEPARTMENT CD ON A.DEPT_CREATE = CD.DEP_ID
LEFT JOIN CM_AUTH_STATUS F ON A.AUTH_STATUS = F.AUTH_STATUS
LEFT JOIN CM_AUTH_STATUS ATKT ON ATKT.AUTH_STATUS = A.AUTH_STATUS_KT
LEFT JOIN TL_USER T1 ON A.MAKER_ID = T1.TLNANME
LEFT JOIN TL_USER T2 ON A.MAKER_ID_KT = T2.TLNANME
LEFT JOIN TL_USER T3 ON A.CHECKER_ID = T3.TLNANME
LEFT JOIN TL_USER T4 ON A.CHECKER_ID_KT = T4.TLNANME
WHERE 1 = 1
AND (A.TRANS_MULTI_MASTER_ID LIKE '%' + @p_TRANS_MULTI_MASTER_ID + '%' OR @p_TRANS_MULTI_MASTER_ID IS NULL OR @p_TRANS_MULTI_MASTER_ID = '')
-- TIM KIEM TU NGAY O HC
AND ((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.TRANSFER_DT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))
OR @p_TYPE_SEARCH = 'KT' AND (A.STATUS = 'APPROVE') OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
-- TIM KIEM DEN NGAY O HC
AND ((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.TRANSFER_DT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
-- TIM KIEM TU NGAY O KT
AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
AND (CONVERT(DATE,A.APPROVE_DT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))
OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '')
AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))
OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))
OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))
OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))
OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))))))
OR (@p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') OR (@p_TYPE_SEARCH = 'XN' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = ''))
-- TIM KIEM DEN NGAY O KT
AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
AND (CONVERT(DATE,A.APPROVE_DT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '')
AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = '')))
)))
OR (@p_TYPE_SEARCH = 'HC' AND (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV,GDDV_QLTS,TBP_QLTS,KSV_QLTS','DV0001','DEP000000000048') US
WHERE US.TLNANME = @p_USER_LOGIN) OR A.MAKER_ID = @p_USER_LOGIN)
OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') OR (@p_TYPE_SEARCH = 'XN' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = ''))
AND (A.USER_TRANSFER LIKE '%' + @p_USER_TRANSFER + '%' OR @p_USER_TRANSFER IS NULL OR @p_USER_TRANSFER = '')
AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '')
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
AND (A.CREATE_DT =CONVERT(DATETIME, @p_CREATE_DT, 103) OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
AND (A.APPROVE_DT =CONVERT(DATETIME, @p_APPROVE_DT, 103) OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
AND (A.AUTH_STATUS_KT LIKE '%' + @p_AUTH_STATUS_KT + '%' OR @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '')
AND (A.CREATE_DT_KT =CONVERT(DATETIME, @p_CREATE_DT_KT, 103) OR @p_CREATE_DT_KT IS NULL OR @p_CREATE_DT_KT = '')
AND (A.APPROVE_DT_KT =CONVERT(DATETIME, @p_APPROVE_DT_KT, 103) OR @p_APPROVE_DT_KT IS NULL OR @p_APPROVE_DT_KT = '')
AND (A.MAKER_ID_KT LIKE '%' + @p_MAKER_ID_KT + '%' OR @p_MAKER_ID_KT IS NULL OR @p_MAKER_ID_KT = '')
AND (A.CHECKER_ID_KT LIKE '%' + @p_CHECKER_ID_KT + '%' OR @p_CHECKER_ID_KT IS NULL OR @p_CHECKER_ID_KT = '')
AND (A.REPORT_STATUS LIKE '%' + @p_REPORT_STATUS + '%' OR @p_REPORT_STATUS IS NULL OR @p_REPORT_STATUS = '')
-- AND ((@p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp))
-- OR ((@p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID)
-- OR (@p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL)))
AND A.RECORD_STATUS='1'
AND ((A.MAKER_ID_KT IS NOT NULL AND @p_IS_UPDATE = 'Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
OR ((A.MAKER_ID_KT IS NULL AND @p_IS_UPDATE = 'N')) OR @p_IS_UPDATE IS NULL OR @p_IS_UPDATE='')
-- NEW TRANG THAI PHIEU XUAT LA LUU NHAP HOAC TU CHOI THI CHI NGUOI TAO CO THE TIM THAY
AND ((A.AUTH_STATUS IN ('E','R') AND A.MAKER_ID = @p_USER_LOGIN) OR A.AUTH_STATUS NOT IN ('E','R') OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = '')
-- 11-03-2022 HUYHT BO SUNG DIEU KIEN TIM KIEM PHIEU XUAT THEO QUYEN KIEM NHIEM
AND (
(@p_TYPE_SEARCH = 'HC'
--KHIEMCHG BỔ SUNG TÌM KIẾM THEO QUYỀN XỬ LÝ
AND EXISTS(SELECT * FROM @TRANS_MULTI_MASTER_ID_Temp RL WHERE RL.TRANS_MASTER_ID = A.TRANS_MULTI_MASTER_ID)
OR A.MAKER_ID = @p_USER_LOGIN
)
OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp) AND (A.STATUS = 'APPROVE'))
OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID AND (A.STATUS = 'APPROVE'))
-- KHIEMCHG BỔ SUNG TÌM KIẾM THEO MÀN HÌNH XÁC NHẬN ĐIỀU CHUYỂN
OR (@p_TYPE_SEARCH = 'XN'
AND (EXISTS(SELECT * FROM @TRANS_MULTI_MASTER_ID_Temp RL WHERE RL.TRANS_MASTER_ID = A.TRANS_MULTI_MASTER_ID)
AND (A.STATUS IN ('XNGN', 'APPROVE')))
OR A.MAKER_ID = @p_USER_LOGIN
)
OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''
)
AND(A.REQ_CODE like N'%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
ORDER BY A.CREATE_DT DESC
-- PAGING END
END -- PAGING
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[ASS_ADDNEW_BVB_ById]'
GO
/*
[ASS_ADDNEW_ById] 'ASA000000000001', 'DV0006'
*/
ALTER PROCEDURE [dbo].[ASS_ADDNEW_BVB_ById]
@p_ADDNEW_ID varchar(15) = NULL,
@p_BRANCH_LOGIN varchar(15) = NULL
AS
--thieuvq them 22/04/2014
--
DECLARE @l_BRANCH_TYPE VARCHAR(20) = ''
SELECT @l_BRANCH_TYPE = BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_LOGIN
--LAY GIA TRI QUY DINH LA TSCD HAY CCLD
DECLARE @l_ASSET_VALUE DECIMAL = 30000000
SELECT @l_ASSET_VALUE = CONVERT(decimal(18,0), ParaValue) FROM SYS_PARAMETERS WHERE ParaKey = 'ASSET_VALUE'
--
--THONG TIN CHI TIET TAI SAN
SELECT A.*, BR.BRANCH_TYPE, BR.FATHER_ID,
(CASE WHEN EXISTS(SELECT 1 FROM ASS_ENTRIES_POST aep WHERE aep.TRN_ID=@p_ADDNEW_ID AND aep.REF_NO IS NULL) THEN 1
ELSE 0
END) AS IS_REF_NO
FROM vASS_ADDNEW A
LEFT JOIN CM_BRANCH BR ON A.BRANCH_ID = BR.BRANCH_ID
WHERE A.ADDNEW_ID = @p_ADDNEW_ID
-- THONG TIN ASS_PO
--SELECT AP.ASS_PO_ID, AP.ADD_NEW_ID AS ASS_PO_ADDNEWID, AP.PO_CODE AS ASS_PO_CODE, AP.INVOICE_NO AS AS_INVOICE_NO, AP.INVOICE_DT AS ASS_INVOICE_DT
--FROM ASS_PO AP WHERE AP.ADD_NEW_ID =@p_ADDNEW_ID
--LAY MA PO MA TAI SAN THAM CHIU DEN
DECLARE @l_PO_ID VARCHAR(15) = (SELECT B.PO_ID FROM ASS_ADDNEW B WHERE B.ADDNEW_ID = @p_ADDNEW_ID)
--THONG TIN PO - TAI SAN THUOC PO NAO
SELECT TR.PO_ID, TR.PO_CODE, TR.PO_NAME, TR.CONTRACT_ID, TR.SUP_ID, TR.SUP_NAME,
TR.SUP_ADDR, TR.INPUT_DT, TR.PAYMENT_DT, TR.TOTAL_AMT, TR.REQ_DOC_ID, TR.DELIVERY_DT,
TR.PAYAPP_DT, TR.NOTES, TR.RECORD_STATUS, TR.MAKER_ID, TR.CREATE_DT, TR.AUTH_STATUS,
TR.CHECKER_ID, TR.APPROVE_DT, TR.PO_TYPE, TR.BRANCH_ID, TR.CONTRACT_CODE, TR.AUTH_STATUS_NAME,
TR.S_SUP_CODE, TR.S_SUP_NAME, TR.S_ADDR, TR.C_CONTRACT_CODE, TR.C_CONTRACT_NAME, TR.C_TOTAL_AMT,
TR.C_DONE_AMT, PO.ADDNEW_PO_ID, PO.INVOICE_NO, PO.INVOICE_DT, PO.INVOICE_SYMPOL
FROM TR_PO_MASTER_VIEW TR
INNER JOIN ASS_ADDNEW_PO PO ON PO.PO_ID = TR.PO_ID
WHERE PO.ADDNEW_ID = @p_ADDNEW_ID
--DANH SACH PO_DETAIL - CAC HANG HOA TRONG PO
SELECT POD.PD_ID, GDS.PO_ID, POD.PLAN_ID, POD.TRADE_ID, POD.GOODS_ID, POD.DESCRIPTION,
POD.UNIT_ID, POD.QUANTITY, POD.PRICE, POD.TOTAL_AMT, POD.IS_DELIVERY, POD.DELIVERY_DT,
POD.PAYMENT_STATUS, POD.AMOUNT_PAID, POD.PAID_DT, GDS.INVOICE_NO AS INVOICENO, POD.NOTES, POD.RECEIVE_BRANCH,
POD.RECEIVE_ADDR, POD.RECEIVE_PERSON, POD.RECEIVE_TEL, POD.RECORD_STATUS, POD.MAKER_ID,
POD.CREATE_DT, POD.AUTH_STATUS, POD.CHECKER_ID, POD.APPROVE_DT, POD.EXP_DELIVERY_DT, POD.GOODS_NAME,
GDS.INVOICE_DT AS INVOICE_DT, GDS.INVOICE_SYMPOL, POD.GOODSTYPE_REAL, POD.VAT, POD.PRICE_VAT, POD.CONTRACT_DT, POD.PRICE_D, POD.BRANCH_CODE,
POD.BRANCH_ID, POD.BRANCH_NAME, POD.GD_CODE, POD.GD_ID, POD.GOODS_NAME AS GD_NAME, POD.UNIT_CODE, POD.UNIT_NAME,
POD.PLAN_CODE, POD.PLAN_NAME, POD.REMAIN_AMOUNT, POD.R_BRANCH_CODE, POD.R_BRANCH_NAME, POD.GD_RETYPE_ID,
POD.GD_RETYPE_CODE, POD.GDREAL_TYPE_NAME, GDS.ADDNEW_GD_ID
FROM TR_PO_DETAIL_VIEW POD
INNER JOIN ASS_ADDNEW_GD GDS ON POD.PD_ID = GDS.TRPO_ID
--WHERE (POD.PO_ID = @l_PO_ID AND POD.RECEIVE_BRANCH = @p_BRANCH_LOGIN)
-- OR(POD.PO_ID = @l_PO_ID AND @l_BRANCH_TYPE = 'HS' AND POD.PRICE > @l_ASSET_VALUE)
WHERE GDS.ADDNEW_ID = @p_ADDNEW_ID
--THONG TIN LICH BAO HANH
SELECT A.*
FROM ASS_ADDNEW_DT A
WHERE A.ADDNEW_ID = @p_ADDNEW_ID
-- ADDNEW
SELECT B.PO_CODE, B.INVOICE_NO, B.INVOICE_SYMPOL, B.INVOICE_DATE, A.AUTH_STATUS, A.AUTH_STATUS_KT,
UM2.TLFullName AS CREATE_USER_NAME, UM3.TLFullName AS APPROVE_NAME_KT, UM4.TLFullName AS CREATE_USER_NAME_KT,
UM.TLFullName MAKER_NAME, B.ASSPO_ID
,AG1.GROUP_ID AS PARENT_GROUP_ID, AG1.GROUP_CODE AS PARENT_GROUP_CODE, A.WIN_CRACK AS WIN, A.OFFICE_CRACK AS OFFICE
FROM dbo.ASS_ADDNEW A
LEFT JOIN dbo.ASS_PO B ON B.ADDNEW_ID = A.ADDNEW_ID
LEFT JOIN TL_USER UM ON UM.TLNANME = A.CHECKER_ID
LEFT JOIN TL_USER UM2 ON UM2.TLNANME = A.MAKER_ID
LEFT JOIN TL_USER UM3 ON UM3.TLNANME = A.CHECKER_ID_KT
LEFT JOIN TL_USER UM4 ON UM4.TLNANME = A.MAKER_ID_KT
LEFT JOIN ASS_GROUP AG ON A.GROUP_ID = AG.GROUP_ID
LEFT JOIN ASS_GROUP AG1 ON AG.PARENT_ID = AG1.GROUP_ID
WHERE A.ADDNEW_ID = @p_ADDNEW_ID
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[ASS_USE_MULTI_BVB_MASTER_ByReqId]'
GO
ALTER PROCEDURE [dbo].[ASS_USE_MULTI_BVB_MASTER_ByReqId]
@p_REQ_ID varchar(15),
@p_ASS_GROUP_ID VARCHAR(15)
AS
DECLARE @TBL_GROUP_CODE_ASS_USE TABLE (GROUP_ID VARCHAR(100))
INSERT INTO @TBL_GROUP_CODE_ASS_USE (GROUP_ID)
SELECT A.GROUP_ID FROM ASS_GROUP A WHERE A.GROUP_CODE = (SELECT B.GROUP_CODE FROM ASS_GROUP B WHERE B.GROUP_ID = @p_ASS_GROUP_ID)
SELECT TOP 1
A.REQ_ID
,A.REQ_CODE
,A.REQ_NAME
,A.REQ_DT
,A.REQ_TYPE
,A.REQ_CONTENT
,A.TOTAL_AMT
,A.NOTES
,A.RECORD_STATUS
,A.MAKER_ID
,A.CREATE_DT
,A.AUTH_STATUS
,A.CHECKER_ID
,A.APPROVE_DT
,A.STATUS
,A.HO_NOTES
,A.REQ_PARENT_ID
,A.AFTER_APPROVE
,A.IS_DONE,
AA.PL_CODE,
-- @R_SUBBRANCH_ID AS R_SUBBRANCH_ID, --KHỐI SỬ DỤNG
-- @R_SUBBRANCH_NAME AS R_SUBBRANCH_NAME, --KHỐI SỬ DỤNG
-- @R_FATHER_ID AS R_FATHER_ID, --TRUNG TÂM SỬ DỤNG
-- @R_FATHER_NAME AS R_FATHER_NAME, --TRUGN TÂM SỬ DỤNG
-- @R_DEP_ID AS R_DEP_ID, --PHÒNG BAN SỬ DỤNG
-- @R_DEP_NAME AS R_DEP_NAME, --PHÒNG BAN SỬ DỤNG
G.BRANCH_ID,
G.BRANCH_NAME,
(CASE WHEN DP.TYPE = 'K' THEN (SELECT DP.DEP_ID)
ELSE (SELECT DP.KHOI_ID)
END) AS R_SUBBRANCH_ID,--MÃ KHỐI
CASE WHEN DP.TYPE = 'K' THEN (SELECT DP.DEP_NAME)
ELSE (SELECT A1.DEP_NAME FROM CM_DEPARTMENT A1 WHERE A1.DEP_ID = DP.KHOI_ID)
END AS R_SUBBRANCH_NAME,--TÊN KHỐI
CASE WHEN DP.TYPE = 'TT' THEN(SELECT DP.DEP_ID)
ELSE (SELECT DP.FATHER_ID)
END AS R_FATHER_ID,--MÃ TRUNG TÂM
CASE WHEN DP.TYPE = 'TT' THEN DP.DEP_NAME
ELSE (SELECT A1.DEP_NAME FROM CM_DEPARTMENT A1 WHERE A1.DEP_ID = DP.FATHER_ID)
END AS R_FATHER_NAME,--TÊN TRUNG TÂM
CASE WHEN DP.TYPE = 'PB' THEN DP.DEP_ID
END AS R_DEP_ID,--MÃ PHÒNG BAN
CASE WHEN DP.TYPE = 'PB' THEN (SELECT DP.DEP_NAME)
END AS R_DEP_NAME, --TÊN PHÒNG BAN
EM.EMP_ID AS RECEIVE_PERSON, --ID NGƯỜI SỬ DỤNG
EM.EMP_NAME AS R_PERSON_NAME --TÊN NGƯỜI SỬ DỤNG
FROM TR_REQUEST_SHOP_DOC_DT B
LEFT JOIN TR_REQUEST_SHOP_DOC A ON B.REQ_DOC_ID = A.REQ_ID
LEFT JOIN ASS_ADDNEW AA ON A.REQ_ID = AA.REQ_ID
LEFT JOIN CM_BRANCH G ON G.BRANCH_ID = A.BRANCH_ID
LEFT JOIN CM_DEPARTMENT DP ON A.DEP_ID = DP.DEP_ID
LEFT JOIN CM_EMPLOYEE EM ON B.EMP_ID = EM.EMP_ID
WHERE B.REQ_DOC_ID = @p_REQ_ID
AND B.ASS_GROUP_ID IN (SELECT GROUP_ID FROM @TBL_GROUP_CODE_ASS_USE)
AND (B.REQ_DT_TYPE = 'BUYNEW'
OR (B.REQ_DT_TYPE = 'XKSD' AND B.TYPE_XL = 'CPTK'))
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[TR_REQUEST_SHOP_DOC_Search]'
GO
ALTER PROCEDURE [dbo].[TR_REQUEST_SHOP_DOC_Search]
@p_REQ_ID varchar(15) = NULL,
@p_REQ_CODE nvarchar(100) = NULL,
@p_REQ_NAME nvarchar(200) = NULL,
@p_REQ_DT VARCHAR(20) = NULL,
@p_REQ_TYPE varchar(20) = NULL,
@p_REQ_CONTENT NVARCHAR(1000)=NULL,
@p_TOTAL_AMT decimal = NULL,
@p_NOTES nvarchar(1000) = NULL,
@p_RECORD_STATUS varchar(1) = NULL,
@p_MAKER_ID NVARCHAR(100) = NULL,
@p_CREATE_DT VARCHAR(20) = NULL,
@p_AUTH_STATUS varchar(50) = NULL,
@p_CHECKER_ID VARCHAR(100) = NULL,
@p_APPROVE_DT VARCHAR(20) = NULL,
@p_RECEIVE_BRANCH VARCHAR(15) = NULL,
@p_USERNAME VARCHAR(100) = NULL,
@p_BRANCH_ID VARCHAR(15)=NULL,
@p_DEP_ID VARCHAR(15)=NULL,
@p_STATUS VARCHAR(15)=NULL,
@p_TOP INT = 10,
@p_DVKD_MANAGE_APP_FROM VARCHAR(20) = NULL,
@p_DVKD_MANAGE_APP_TO VARCHAR(20) = NULL,
@p_REGION_ID varchar(15) = NULL,
@p_CDTYPE_PYC VARCHAR(20) = NULL --Phucvh Truyền thêm CDTYPE để xác định loại PYC
AS
BEGIN -- PAGING
DECLARE @ROLE_KT VARCHAR(50) = (SELECT TU.RoleName FROM TL_USER TU WHERE TU.TLNANME = @p_USERNAME)
DECLARE @DEP_ID VARCHAR(20),@BRANCH_ID VARCHAR(20)
DECLARE @ROLE_LOGIN TABLE(ROLE_USER VARCHAR(20), BRANCH_ID VARCHAR(20), DEP_ID VARCHAR(20))
-- INSERT INTO @ROLE_LOGIN SELECT DisplayName AS ROLE_USER FROM AbpRoles WHERE Id IN (SELECT A.RoleId FROM AbpUserRoles A
-- LEFT JOIN TL_USER B ON A.UserId = B.ID
-- WHERE B.TLNANME = @p_USERNAME)
INSERT INTO @ROLE_LOGIN
SELECT tugr.ROLE_ID, tugr.BRANCH_ID, tugr.DEPT_ID FROM dbo.TL_USER_GET_ROLES(@p_USERNAME) tugr
SET @DEP_ID= (SELECT DEP_ID FROM dbo.TL_USER WHERE TLNANME=@p_USERNAME)
SET @BRANCH_ID= (SELECT TLSUBBRID FROM dbo.TL_USER WHERE TLNANME=@p_USERNAME)
DECLARE @lstCOST TABLE
(
COST_ID VARCHAR(20)
)
INSERT INTO @lstCOST
SELECT COST_ID FROM dbo.CM_COSTCENTER_DT WHERE BRANCH_ID=@BRANCH_ID AND DEP_ID=@DEP_ID
-- TienLee 11/14/21 --
--
DECLARE @TempSTATUS TABLE
(
STATUS VARCHAR(20)
)
IF(EXISTS(SELECT ROLE_USER FROM @ROLE_LOGIN WHERE ROLE_USER ='QLTS' ))
BEGIN
INSERT INTO @TempSTATUS VALUES('DVKD')
INSERT INTO @TempSTATUS VALUES('DVCM')
END
ELSE IF(EXISTS(SELECT ROLE_USER FROM @ROLE_LOGIN WHERE ROLE_USER ='DVCM' ))
BEGIN
INSERT INTO @TempSTATUS VALUES('QLTS_N')
INSERT INTO @TempSTATUS VALUES('DVCM')
END
ELSE IF(EXISTS(SELECT ROLE_USER FROM @ROLE_LOGIN WHERE ROLE_USER ='CVMS' ))
BEGIN
INSERT INTO @TempSTATUS VALUES('QLTS_N')
INSERT INTO @TempSTATUS VALUES('QLTS_XL')
INSERT INTO @TempSTATUS VALUES('DVCM')
END
DECLARE @lstBRANCH_DEP TABLE
(
BRANCH_ID VARCHAR(20),
DEP_ID VARCHAR(20)
)
-- IF(NOT EXISTS(SELECT ROLE_USER FROM @ROLE_LOGIN WHERE ROLE_USER ='DVCM' OR ROLE_USER='CVMS_TBP' ))
-- BEGIN
-- INSERT INTO @lstBRANCH_DEP
-- (BRANCH_ID,DEP_ID)
-- SELECT TLSUBBRID,DEP_ID FROM dbo.TL_USER WHERE TLNANME=@p_USERNAME
--
-- INSERT INTO @lstBRANCH_DEP
-- (BRANCH_ID,DEP_ID)
-- SELECT BRANCH_ID,DEP_ID FROM dbo.CM_KHOI_DT
-- WHERE KHOI_ID IN (SELECT KHOI_ID FROM dbo.CM_KHOI_DT WHERE DEP_ID= @DEP_ID AND BRANCH_ID=@BRANCH_ID)
-- END
--
--
--
-- DECLARE @tbDep TABLE(DEP_ID VARCHAR(20))
--INSERT INTO @tbDep
--SELECT ckd.DEP_ID FROM CM_DEPARTMENT cd
----LEFT JOIN CM_KHOI ck ON cd.DEP_CODE=ck.KHOI_CODE
----LEFT JOIN CM_KHOI_DT ckd ON ck.KHOI_ID = ckd.KHOI_ID
--WHERE cd.DEP_ID=@p_DEP_ID
DECLARE @REQ_ID_Temp TABLE(REQ_ID VARCHAR(20))
INSERT INTO @REQ_ID_Temp
SELECT A.REQ_ID FROM TR_REQUEST_SHOP_DOC A
LEFT JOIN PL_REQUEST_PROCESS B ON A.REQ_ID = B.REQ_ID AND B.STATUS = 'C'
WHERE (EXISTS(SELECT RL.ROLE_USER FROM @ROLE_LOGIN RL WHERE RL.BRANCH_ID = B.BRANCH_ID
AND (B.BRANCH_ID = 'DV0001' AND B.DEP_ID = RL.DEP_ID OR B.BRANCH_ID <> 'DV0001')
AND RL.ROLE_USER = B.ROLE_USER)
OR EXISTS(SELECT * FROM @ROLE_LOGIN RL
JOIN PL_REQUEST_PROCESS C ON C.REQ_ID = A.REQ_ID AND C.STATUS = 'P' AND RL.BRANCH_ID = C.BRANCH_ID
AND (C.BRANCH_ID = 'DV0001' AND C.DEP_ID = RL.DEP_ID OR C.BRANCH_ID <> 'DV0001')
AND RL.ROLE_USER = C.ROLE_USER)
OR A.MAKER_ID = @p_USERNAME)
GROUP BY A.REQ_ID
IF((EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_SLAS' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN))))
BEGIN
IF(@p_TOP IS NULL OR @p_TOP = '' OR @p_TOP = 0)
BEGIN
-- PAGING BEGIN
SELECT A.REQ_ID,
A.REQ_CODE,
A.REQ_NAME,
--ISNULL(PRP.APPROVE_DT,PRP2.APPROVE_DT) AS REQ_DT,
A.REQ_DT,
A.REQ_TYPE,
A.REQ_CONTENT,
A.TOTAL_AMT,
A.NOTES,
A.RECORD_STATUS,
A.MAKER_ID,
A.CREATE_DT,
A.AUTH_STATUS,
A.CHECKER_ID,
A.APPROVE_DT,
A.BRANCH_ID,
CASE WHEN A.REQ_TYPE = 'CPTS' AND A.IS_DONE = '1' AND A.STATUS = 'DONE' THEN 'APPROVE' ELSE A.STATUS END AS STATUS,
A.DEP_ID,
A.HO_NOTES, K.CONTENT AS REQ_TYPE_NAME,
--I.CONTENT AS REQ_STATUS_NAME,
CASE WHEN A.IS_DONE = '1' AND A.STATUS = 'APPROVE' THEN N'Hoàn tất'
ELSE I.CONTENT
END REQ_STATUS_NAME,
@p_RECEIVE_BRANCH AS RECEIVE_BRANCH,G.BRANCH_CODE,
CASE
WHEN A.DEP_ID IS NOT NULL AND A.DEP_ID <> '' THEN G.BRANCH_NAME + ' - ' + CD.DEP_NAME
ELSE G.BRANCH_NAME
END AS BRANCH_NAME,
--CASE WHEN RQT.STATUS = 'C' OR RQT.STATUS = 'U' THEN N'Chờ duyệt'
--ELSE N'Đã duyệt' END AS AUTH_STATUS_NAME
D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME,
I.CONTENT AS REQ_TYPE_NAME,
CASE WHEN A.SEND_APP_DT IS NOT NULL AND A.SEND_APP_DT <> '' AND A.AUTH_STATUS <> 'A' AND A.AUTH_STATUS <> 'R'
AND A.AUTH_STATUS <> 'E' AND DATEDIFF(DAY,GETDATE(),DATEADD(DAY,CONVERT(INT,SP.ParaValue),A.SEND_APP_DT)) < 0 THEN '#f2dede' ELSE ''
END AS COLOR
--D.AUTH_STATUS_NAME
-- SELECT END
FROM TR_REQUEST_SHOP_DOC A
LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
LEFT JOIN CM_ALLCODE K ON K.CDNAME = 'TRREQASSTYPE' AND K.CDVAL = A.REQ_TYPE
LEFT JOIN CM_ALLCODE I ON I.CDNAME = 'TRREQSTATUS' AND I.CDVAL = A.[STATUS] AND I.CDTYPE = @p_CDTYPE_PYC
-- LEFT JOIN PL_REQUEST_PROCESS prp1 ON prp1.REQ_ID = A.REQ_ID AND prp1.STATUS = 'C'
--LEFT JOIN dbo.CM_AUTH_STATUS AUTH ON AUTH.AUTH_STATUS = A.AUTH_STATUS
--LEFT JOIN dbo.PL_REQUEST_PROCESS RQT ON RQT.REQ_ID = A.REQ_ID
--AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR (RQT.PROCESS_ID = A.STATUS AND EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN))))
--LEFT JOIN dbo.PL_REQUEST_PROCESS PRP1 ON PRP1.REQ_ID = A.REQ_ID AND PRP1.PROCESS_ID = 'CVMS_N'
--LEFT JOIN dbo.PL_REQUEST_PROCESS PRP2 ON PRP2.REQ_ID = A.REQ_ID AND PRP2.PROCESS_ID = 'DVKD'
LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=A.MAKER_ID
LEFT JOIN SYS_PARAMETERS SP ON 1=1 AND SP.ParaKey = 'NUM_OF_DAYS_LATE'
LEFT JOIN CM_DEPARTMENT CD ON A.DEP_ID = CD.DEP_ID
WHERE 1 = 1
AND (G.REGION_ID LIKE '%' + @p_REGION_ID + '%' OR @p_REGION_ID IS NULL OR @p_REGION_ID = '')
-- AND (CONVERT(DATETIME,@p_DVKD_MANAGE_APP_FROM,103) <= CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_FROM IS NULL OR @p_DVKD_MANAGE_APP_FROM = '')
-- AND (DATEADD(day,1,CONVERT(DATETIME,@p_DVKD_MANAGE_APP_TO,103)) > CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_TO IS NULL OR @p_DVKD_MANAGE_APP_TO = '')
AND (@p_DVKD_MANAGE_APP_FROM IS NULL AND @p_DVKD_MANAGE_APP_TO IS NULL OR
@p_DVKD_MANAGE_APP_TO IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103))
OR @p_DVKD_MANAGE_APP_FROM IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
OR (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
)
--AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN)))
--AND ((@p_AUTH_STATUS = 'U' AND (RQT.STATUS = 'C' OR RQT.STATUS = 'U')) OR (@p_AUTH_STATUS = 'A' AND (RQT.STATUS = 'P' OR RQT.STATUS IS NULL))OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = ''))
AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%'
--OR A.REQ_ID LIKE '%' + @p_REQ_CODE + '%'
OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
--AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
AND (DATEDIFF(DAY,A.CREATE_DT , CONVERT(DATETIME,@p_CREATE_DT,103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
-- AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
AND (DATEDIFF(DAY,A.APPROVE_DT , CONVERT(DATETIME,@p_APPROVE_DT,103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE = '')
AND (A.STATUS IN ('NEW','REJECT') AND A.MAKER_ID = @p_USERNAME OR A.STATUS NOT IN ('NEW','REJECT')
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US
WHERE US.TLNANME = @p_USERNAME))
AND (@p_STATUS IS NULL OR @p_STATUS = '' OR A.STATUS = @p_STATUS)
AND (EXISTS(SELECT 1 FROM @REQ_ID_Temp RL WHERE RL.REQ_ID = A.REQ_ID)
OR (@ROLE_KT IN ('GDV','KSV') AND A.AUTH_STATUS = 'A' )
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US
WHERE US.TLNANME = @p_USERNAME))
AND A.RECORD_STATUS = '1'
AND (@p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '' OR A.BRANCH_ID = @p_BRANCH_ID)
AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
AND( TU.TLFullName COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI OR TU.TLNANME COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI
OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
ORDER BY A.REQ_DT DESC
-- PAGING END
END
ELSE
BEGIN
-- PAGING BEGIN
SELECT TOP(CONVERT(INT,@p_TOP)) A.REQ_ID,
A.REQ_CODE,
A.REQ_NAME,
--ISNULL(PRP.APPROVE_DT,PRP2.APPROVE_DT) AS REQ_DT,
A.REQ_DT,
A.REQ_TYPE,
A.REQ_CONTENT,
A.TOTAL_AMT,
A.NOTES,
A.RECORD_STATUS,
A.MAKER_ID,
A.CREATE_DT,
A.AUTH_STATUS,
A.CHECKER_ID,
A.APPROVE_DT,
A.BRANCH_ID,
CASE WHEN A.REQ_TYPE = 'CPTS' AND A.IS_DONE = '1' AND A.STATUS = 'DONE' THEN 'APPROVE' ELSE A.STATUS END AS STATUS,
A.DEP_ID,
A.HO_NOTES, K.CONTENT AS REQ_TYPE_NAME,
--I.CONTENT AS REQ_STATUS_NAME,
CASE WHEN A.IS_DONE = '1' AND A.STATUS = 'APPROVE' THEN N'Hoàn tất'
ELSE I.CONTENT
END REQ_STATUS_NAME,
@p_RECEIVE_BRANCH AS RECEIVE_BRANCH,G.BRANCH_CODE,
CASE
WHEN A.DEP_ID IS NOT NULL AND A.DEP_ID <> '' THEN G.BRANCH_NAME + ' - ' + CD.DEP_NAME
ELSE G.BRANCH_NAME
END AS BRANCH_NAME,
--CASE WHEN RQT.STATUS = 'C' OR RQT.STATUS = 'U' THEN N'Chờ duyệt'
--ELSE N'Đã duyệt' END AS AUTH_STATUS_NAME
D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME,
I.CONTENT AS REQ_TYPE_NAME,
CASE WHEN A.SEND_APP_DT IS NOT NULL AND A.SEND_APP_DT <> '' AND A.AUTH_STATUS <> 'A' AND A.AUTH_STATUS <> 'R'
AND A.AUTH_STATUS <> 'E' AND DATEDIFF(DAY,GETDATE(),DATEADD(DAY,CONVERT(INT,SP.ParaValue),A.SEND_APP_DT)) < 0 THEN '#f2dede' ELSE ''
END AS COLOR
--D.AUTH_STATUS_NAME
-- SELECT END
FROM TR_REQUEST_SHOP_DOC A
LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
LEFT JOIN CM_ALLCODE K ON K.CDNAME = 'TRREQASSTYPE' AND K.CDVAL = A.REQ_TYPE
LEFT JOIN CM_ALLCODE I ON I.CDNAME = 'TRREQSTATUS' AND I.CDVAL = A.[STATUS] AND I.CDTYPE = @p_CDTYPE_PYC
-- LEFT JOIN PL_REQUEST_PROCESS prp1 ON prp1.REQ_ID = A.REQ_ID AND prp1.STATUS = 'C'
--LEFT JOIN dbo.CM_AUTH_STATUS AUTH ON AUTH.AUTH_STATUS = A.AUTH_STATUS
--LEFT JOIN dbo.PL_REQUEST_PROCESS RQT ON RQT.REQ_ID = A.REQ_ID
--AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR (RQT.PROCESS_ID = A.STATUS AND EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN))))
--LEFT JOIN dbo.PL_REQUEST_PROCESS PRP1 ON PRP1.REQ_ID = A.REQ_ID AND PRP1.PROCESS_ID = 'CVMS_N'
LEFT JOIN dbo.PL_REQUEST_PROCESS PRP2 ON PRP2.REQ_ID = A.REQ_ID AND PRP2.PROCESS_ID = 'DVKD'
LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=A.MAKER_ID
LEFT JOIN SYS_PARAMETERS SP ON 1=1 AND SP.ParaKey = 'NUM_OF_DAYS_LATE'
LEFT JOIN CM_DEPARTMENT CD ON A.DEP_ID = CD.DEP_ID
WHERE 1 = 1
AND (G.REGION_ID LIKE '%' + @p_REGION_ID + '%' OR @p_REGION_ID IS NULL OR @p_REGION_ID = '')
-- AND (CONVERT(DATETIME,@p_DVKD_MANAGE_APP_FROM,103) <= CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_FROM IS NULL OR @p_DVKD_MANAGE_APP_FROM = '')
-- AND (DATEADD(day,1,CONVERT(DATETIME,@p_DVKD_MANAGE_APP_TO,103)) > CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_TO IS NULL OR @p_DVKD_MANAGE_APP_TO = '')
AND (@p_DVKD_MANAGE_APP_FROM IS NULL AND @p_DVKD_MANAGE_APP_TO IS NULL OR
@p_DVKD_MANAGE_APP_TO IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103))
OR @p_DVKD_MANAGE_APP_FROM IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
OR (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
)
--AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN)))
--AND ((@p_AUTH_STATUS = 'U' AND (RQT.STATUS = 'C' OR RQT.STATUS = 'U')) OR (@p_AUTH_STATUS = 'A' AND (RQT.STATUS = 'P' OR RQT.STATUS IS NULL))OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = ''))
AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%'
--OR A.REQ_ID LIKE '%' + @p_REQ_CODE + '%'
OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
--AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
AND (DATEDIFF(DAY,A.CREATE_DT , CONVERT(DATETIME,@p_CREATE_DT,103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
-- AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
AND (DATEDIFF(DAY,A.APPROVE_DT , CONVERT(DATETIME,@p_APPROVE_DT,103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE = '')
AND (A.STATUS IN ('NEW','REJECT') AND A.MAKER_ID = @p_USERNAME OR A.STATUS NOT IN ('NEW','REJECT')
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US
WHERE US.TLNANME = @p_USERNAME))
AND (@p_STATUS IS NULL OR @p_STATUS = '' OR A.STATUS = @p_STATUS)
AND (EXISTS(SELECT 1 FROM @REQ_ID_Temp RL WHERE RL.REQ_ID = A.REQ_ID)
OR (@ROLE_KT IN ('GDV','KSV') AND A.AUTH_STATUS = 'A' )
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US
WHERE US.TLNANME = @p_USERNAME))
AND A.RECORD_STATUS = '1'
AND (@p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '' OR A.BRANCH_ID = @p_BRANCH_ID)
AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
AND( TU.TLFullName COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI OR TU.TLNANME COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI
OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
ORDER BY A.REQ_DT DESC
-- PAGING END
END
END
ELSE
BEGIN
IF(@p_TOP IS NULL OR @p_TOP = '' OR @p_TOP = 0)
BEGIN
-- PAGING BEGIN
SELECT A.REQ_ID,
A.REQ_CODE,
A.REQ_NAME,
--ISNULL(PRP.APPROVE_DT,PRP2.APPROVE_DT) AS REQ_DT,
A.REQ_DT,
A.REQ_TYPE,
A.REQ_CONTENT,
A.TOTAL_AMT,
A.NOTES,
A.RECORD_STATUS,
A.MAKER_ID,
A.CREATE_DT,
A.AUTH_STATUS,
A.CHECKER_ID,
A.APPROVE_DT,
A.BRANCH_ID,
CASE WHEN A.REQ_TYPE = 'CPTS' AND A.IS_DONE = '1' AND A.STATUS = 'DONE' THEN 'APPROVE' ELSE A.STATUS END AS STATUS,
A.DEP_ID,
A.HO_NOTES, K.CONTENT AS REQ_TYPE_NAME,
--I.CONTENT AS REQ_STATUS_NAME,
CASE WHEN A.IS_DONE = '1' AND A.STATUS = 'APPROVE' THEN N'Hoàn tất'
ELSE I.CONTENT
END REQ_STATUS_NAME,
@p_RECEIVE_BRANCH AS RECEIVE_BRANCH,G.BRANCH_CODE,
CASE
WHEN A.DEP_ID IS NOT NULL AND A.DEP_ID <> '' THEN G.BRANCH_NAME + ' - ' + CD.DEP_NAME
ELSE G.BRANCH_NAME
END AS BRANCH_NAME,
--CASE WHEN RQT.STATUS = 'C' OR RQT.STATUS = 'U' THEN N'Chờ duyệt'
--ELSE N'Đã duyệt' END AS AUTH_STATUS_NAME
D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME,
CASE WHEN A.SEND_APP_DT IS NOT NULL AND A.SEND_APP_DT <> '' AND A.AUTH_STATUS <> 'A' AND A.AUTH_STATUS <> 'R'
AND DATEDIFF(DAY,GETDATE(),DATEADD(DAY,CONVERT(INT,SP.ParaValue),A.SEND_APP_DT)) < 0 THEN '#f2dede' ELSE ''
END AS COLOR
--D.AUTH_STATUS_NAME
-- SELECT END
FROM TR_REQUEST_SHOP_DOC A
LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
LEFT JOIN CM_ALLCODE K ON K.CDNAME = 'TRREQASSTYPE' AND K.CDVAL = A.REQ_TYPE
LEFT JOIN CM_ALLCODE I ON I.CDNAME = 'TRREQSTATUS' AND I.CDVAL = A.[STATUS] AND I.CDTYPE = @p_CDTYPE_PYC
-- LEFT JOIN PL_REQUEST_PROCESS prp1 ON prp1.REQ_ID = A.REQ_ID AND prp1.STATUS = 'C'
--LEFT JOIN dbo.CM_AUTH_STATUS AUTH ON AUTH.AUTH_STATUS = A.AUTH_STATUS
--LEFT JOIN dbo.PL_REQUEST_PROCESS RQT ON RQT.REQ_ID = A.REQ_ID
--AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR (RQT.PROCESS_ID = A.STATUS AND EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN))))
--LEFT JOIN dbo.PL_REQUEST_PROCESS PRP1 ON PRP1.REQ_ID = A.REQ_ID AND PRP1.PROCESS_ID = 'CVMS_N'
LEFT JOIN dbo.PL_REQUEST_PROCESS PRP2 ON PRP2.REQ_ID = A.REQ_ID AND PRP2.PROCESS_ID = 'DVKD'
LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=A.MAKER_ID
LEFT JOIN SYS_PARAMETERS SP ON 1=1 AND SP.ParaKey = 'NUM_OF_DAYS_LATE'
LEFT JOIN CM_DEPARTMENT CD ON A.DEP_ID = CD.DEP_ID
WHERE 1 = 1
AND (G.REGION_ID LIKE '%' + @p_REGION_ID + '%' OR @p_REGION_ID IS NULL OR @p_REGION_ID = '')
-- AND (CONVERT(DATETIME,@p_DVKD_MANAGE_APP_FROM,103) <= CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_FROM IS NULL OR @p_DVKD_MANAGE_APP_FROM = '')
-- AND (DATEADD(day,1,CONVERT(DATETIME,@p_DVKD_MANAGE_APP_TO,103)) > CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_TO IS NULL OR @p_DVKD_MANAGE_APP_TO = '')
AND (@p_DVKD_MANAGE_APP_FROM IS NULL AND @p_DVKD_MANAGE_APP_TO IS NULL OR
@p_DVKD_MANAGE_APP_TO IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103))
OR @p_DVKD_MANAGE_APP_FROM IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
OR (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
)
--AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN)))
--AND ((@p_AUTH_STATUS = 'U' AND (RQT.STATUS = 'C' OR RQT.STATUS = 'U')) OR (@p_AUTH_STATUS = 'A' AND (RQT.STATUS = 'P' OR RQT.STATUS IS NULL))OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = ''))
AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%'
--OR A.REQ_ID LIKE '%' + @p_REQ_CODE + '%'
OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
--AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
AND (DATEDIFF(DAY,A.CREATE_DT , CONVERT(DATETIME,@p_CREATE_DT,103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
-- AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
AND (DATEDIFF(DAY,A.APPROVE_DT , CONVERT(DATETIME,@p_APPROVE_DT,103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE = '')
AND (A.STATUS IN ('NEW','REJECT') AND A.MAKER_ID = @p_USERNAME OR A.STATUS NOT IN ('NEW','REJECT')
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US
WHERE US.TLNANME = @p_USERNAME))
AND (@p_STATUS IS NULL OR @p_STATUS = '' OR A.STATUS = @p_STATUS)
AND (EXISTS(SELECT 1 FROM @REQ_ID_Temp RL WHERE RL.REQ_ID = A.REQ_ID)
OR (@ROLE_KT IN ('GDV','KSV') AND A.AUTH_STATUS = 'A' )
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US
WHERE US.TLNANME = @p_USERNAME))
AND A.RECORD_STATUS = '1'
AND (@p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '' OR A.BRANCH_ID = @p_BRANCH_ID)
AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
AND( TU.TLFullName COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI OR TU.TLNANME COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI
OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
ORDER BY A.REQ_DT DESC
-- PAGING END
END
ELSE
BEGIN
-- PAGING BEGIN
SELECT TOP(CONVERT(INT,@p_TOP)) A.REQ_ID,
A.REQ_CODE,
A.REQ_NAME,
--ISNULL(PRP.APPROVE_DT,PRP2.APPROVE_DT) AS REQ_DT,
A.REQ_DT,
A.REQ_TYPE,
A.REQ_CONTENT,
A.TOTAL_AMT,
A.NOTES,
A.RECORD_STATUS,
A.MAKER_ID,
A.CREATE_DT,
A.AUTH_STATUS,
A.CHECKER_ID,
A.APPROVE_DT,
A.BRANCH_ID,
CASE WHEN A.REQ_TYPE = 'CPTS' AND A.IS_DONE = '1' AND A.STATUS = 'DONE' THEN 'APPROVE' ELSE A.STATUS END AS STATUS,
A.DEP_ID,
A.HO_NOTES, K.CONTENT AS REQ_TYPE_NAME,
--I.CONTENT AS REQ_STATUS_NAME,
CASE WHEN A.IS_DONE = '1' AND A.STATUS = 'APPROVE' THEN N'Hoàn tất'
ELSE I.CONTENT
END REQ_STATUS_NAME,
@p_RECEIVE_BRANCH AS RECEIVE_BRANCH,G.BRANCH_CODE,
CASE
WHEN A.DEP_ID IS NOT NULL AND A.DEP_ID <> '' THEN G.BRANCH_NAME + ' - ' + CD.DEP_NAME
ELSE G.BRANCH_NAME
END AS BRANCH_NAME,
--CASE WHEN RQT.STATUS = 'C' OR RQT.STATUS = 'U' THEN N'Chờ duyệt'
--ELSE N'Đã duyệt' END AS AUTH_STATUS_NAME
D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME,
CASE WHEN A.SEND_APP_DT IS NOT NULL AND A.SEND_APP_DT <> '' AND A.AUTH_STATUS <> 'A' AND A.AUTH_STATUS <> 'R'
AND DATEDIFF(DAY,GETDATE(),DATEADD(DAY,CONVERT(INT,SP.ParaValue),A.SEND_APP_DT)) < 0 THEN '#f2dede' ELSE ''
END AS COLOR
--D.AUTH_STATUS_NAME
-- SELECT END
FROM TR_REQUEST_SHOP_DOC A
LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
LEFT JOIN CM_ALLCODE K ON K.CDNAME = 'TRREQASSTYPE' AND K.CDVAL = A.REQ_TYPE
LEFT JOIN CM_ALLCODE I ON I.CDNAME = 'TRREQSTATUS' AND I.CDVAL = A.[STATUS] AND I.CDTYPE = @p_CDTYPE_PYC
-- LEFT JOIN PL_REQUEST_PROCESS prp1 ON prp1.REQ_ID = A.REQ_ID AND prp1.STATUS = 'C'
--LEFT JOIN dbo.CM_AUTH_STATUS AUTH ON AUTH.AUTH_STATUS = A.AUTH_STATUS
--LEFT JOIN dbo.PL_REQUEST_PROCESS RQT ON RQT.REQ_ID = A.REQ_ID
--AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR (RQT.PROCESS_ID = A.STATUS AND EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN))))
--LEFT JOIN dbo.PL_REQUEST_PROCESS PRP1 ON PRP1.REQ_ID = A.REQ_ID AND PRP1.PROCESS_ID = 'CVMS_N'
LEFT JOIN dbo.PL_REQUEST_PROCESS PRP2 ON PRP2.REQ_ID = A.REQ_ID AND PRP2.PROCESS_ID = 'DVKD'
LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=A.MAKER_ID
LEFT JOIN SYS_PARAMETERS SP ON 1=1 AND SP.ParaKey = 'NUM_OF_DAYS_LATE'
LEFT JOIN CM_DEPARTMENT CD ON A.DEP_ID = CD.DEP_ID
WHERE 1 = 1
AND (G.REGION_ID LIKE '%' + @p_REGION_ID + '%' OR @p_REGION_ID IS NULL OR @p_REGION_ID = '')
--AND (CONVERT(DATETIME,@p_DVKD_MANAGE_APP_FROM,103) <= CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_FROM IS NULL OR @p_DVKD_MANAGE_APP_FROM = '')
--AND (DATEADD(day,1,CONVERT(DATETIME,@p_DVKD_MANAGE_APP_TO,103)) > CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_TO IS NULL OR @p_DVKD_MANAGE_APP_TO = '')
AND (@p_DVKD_MANAGE_APP_FROM IS NULL AND @p_DVKD_MANAGE_APP_TO IS NULL OR
@p_DVKD_MANAGE_APP_TO IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103))
OR @p_DVKD_MANAGE_APP_FROM IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
OR (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
)
--AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN)))
--AND ((@p_AUTH_STATUS = 'U' AND (RQT.STATUS = 'C' OR RQT.STATUS = 'U')) OR (@p_AUTH_STATUS = 'A' AND (RQT.STATUS = 'P' OR RQT.STATUS IS NULL))OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = ''))
AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%'
--OR A.REQ_ID LIKE '%' + @p_REQ_CODE + '%'
OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
--AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
AND (DATEDIFF(DAY,A.CREATE_DT , CONVERT(DATETIME,@p_CREATE_DT,103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
-- AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
AND (DATEDIFF(DAY,A.APPROVE_DT , CONVERT(DATETIME,@p_APPROVE_DT,103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE = '')
AND (A.STATUS IN ('NEW','REJECT') AND A.MAKER_ID = @p_USERNAME OR A.STATUS NOT IN ('NEW','REJECT')
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US
WHERE US.TLNANME = @p_USERNAME))
AND (@p_STATUS IS NULL OR @p_STATUS = '' OR A.STATUS = @p_STATUS)
AND (EXISTS(SELECT 1 FROM @REQ_ID_Temp RL WHERE RL.REQ_ID = A.REQ_ID)
OR (@ROLE_KT IN ('GDV','KSV') AND A.AUTH_STATUS = 'A' )
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US
WHERE US.TLNANME = @p_USERNAME))
AND A.RECORD_STATUS = '1'
AND (@p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '' OR A.BRANCH_ID = @p_BRANCH_ID)
AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
AND( TU.TLFullName COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI OR TU.TLNANME COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI
OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
ORDER BY A.REQ_DT DESC
-- PAGING END
END
END
END
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[THREAD_GET_CONTENT_SEND_MAIL]'
GO
ALTER PROC [dbo].[THREAD_GET_CONTENT_SEND_MAIL]
@p_TIME_RUN_TOOL VARCHAR(50) = NULL,
@p_TIME_SEND_ID INT = NULL,
@p_TIME_VALUE VARCHAR(100) = NULL,
@p_LOCATION VARCHAR(20) = NULL
AS
BEGIN
IF(@p_TIME_VALUE IS NULL OR @p_TIME_VALUE = '' OR @p_TIME_SEND_ID IS NULL OR @p_TIME_SEND_ID = '')
RETURN '-1'
DECLARE @DISTANCE_TIME INT = NULL,
@DISTANCE_TYPE VARCHAR(20) = NULL,
@TOOL_NAME NVARCHAR(1000) = NULL,
@TOOL_VALUE VARCHAR(100) = NULL,
@EXEC_DT DATETIME = NULL,
@MESSAGE NVARCHAR(1000) = NULL,
@EXEC_TYPE VARCHAR(20) = NULL
IF(@p_LOCATION = 'EXEC')
BEGIN
SET @EXEC_TYPE = 'EXECUTE'
END
ELSE
BEGIN
SET @EXEC_TYPE = 'AUTO'
END
SELECT @DISTANCE_TIME = TIME_SEND
,@DISTANCE_TYPE = TIME_SEND_TYPE
,@TOOL_NAME = TIME_CONTENT
,@TOOL_VALUE = TIME_VALUE,
@EXEC_DT = SENT_DATE
FROM THREAD_TIME_SEND
WHERE TIME_VALUE = @p_TIME_VALUE
DECLARE @TEMP TABLE
(
[ID] VARCHAR(20),
[EMAIL] VARCHAR(50),
[NF_MESSAGE_TYPE] VARCHAR(500),
[ROLE_TIFI_TYPE] VARCHAR(500),
IS_SENDMAIL BIT,
IS_RUN_TOOL BIT,
TOOL_NAME NVARCHAR(100),
QUERY_SELECT NVARCHAR(MAX)
)
DECLARE @TIME_SEND INT = NULL,
@TIME_SEND_TYPE VARCHAR(20) = NULL,
@TIME_VALUE VARCHAR(25) = NULL,
@NF_MESSAGE_TYPE VARCHAR(50) = NULL,
@ROLE_TIFI_TYPE VARCHAR(50) = NULL,
@SEND_DATE DATETIME = NULL,
@QUERY_SELECT NVARCHAR(MAX) = NULL,
@EXEC_DATE VARCHAR(50) = NULL
SELECT @TIME_SEND = A.TIME_SEND,@TIME_SEND_TYPE = A.TIME_SEND_TYPE,
@TIME_VALUE = A.TIME_VALUE,@NF_MESSAGE_TYPE = A.NF_MESSAGE_TYPE,
@ROLE_TIFI_TYPE = A.ROLE_TIFI_TYPE,@SEND_DATE = A.SENT_DATE
FROM THREAD_TIME_SEND A
WHERE (A.[STATUS] = 1 OR @p_LOCATION = 'EXEC') AND A.TIME_VALUE = @p_TIME_VALUE AND A.TIME_SEND_ID = @p_TIME_SEND_ID
--FIX THREAD NẾU START VÀ STOP TOOL NHIỀU LẦN THÌ BỊ DUP EXEC
IF(@p_LOCATION <> 'EXEC' OR @p_LOCATION IS NULL OR @p_LOCATION = '')
BEGIN
IF(DATEDIFF(DAYOFYEAR,CONVERT(DATETIME,@p_TIME_RUN_TOOL,103),@SEND_DATE) <> 0)
BEGIN
SET @MESSAGE = N'Ngày không hợp lệ'
GOTO ABORT
END
END
BEGIN --TRANSACTION T1
IF(@p_TIME_VALUE = 'SYNC_EMP')
BEGIN --TOOL ĐỒNG BỘ NGƯỜI DÙNG
SET @QUERY_SELECT = N'SELECT Id,Loai,MaNS,HoTen,MaDVCu,DVCu,MaDVMoi,DVMoi,MaCDCu,CDCu,MaCDMoi,CDMoi,LoaiHDLD,Email,Ngay,So,NgayHLuc,NgayHetHLuc,TGTao FROM CM_EMPLOYEE_SYNC WHERE DATEDIFF(DAYOFYEAR,CONVERT(DATETIME,''' + (SELECT ca.ParaValue FROM SYS_PARAMETERS ca WHERE ca.ParaKey = 'LAST_SYNC_DATE') + ''',103),TGTao) >= 0 ORDER BY TGTao'
INSERT INTO @TEMP (IS_RUN_TOOL, TOOL_NAME, QUERY_SELECT)
VALUES (1,'CM_EMPLOYEE_SYNC',@QUERY_SELECT);
IF(@p_LOCATION IS NULL)
BEGIN
IF @@Error <> 0 GOTO ABORT
UPDATE SYS_PARAMETERS SET ParaValue = FORMAT(CONVERT(DATE,GETDATE(),103),'dd/MM/yyyy') WHERE ParaKey = 'LAST_SYNC_DATE'
END
END
ELSE IF(@p_TIME_VALUE = 'CHECK_WARRANTY_DT')
BEGIN --TOOL GỬI MAIL THÔNG BÁO TÀI SẢN SẮP HẾT HẠN BẢO HÀNH
INSERT INTO @TEMP (IS_SENDMAIL, TOOL_NAME,NF_MESSAGE_TYPE,ROLE_TIFI_TYPE)
VALUES (1,N'GỬI MAIL',@NF_MESSAGE_TYPE,@ROLE_TIFI_TYPE);
END
ELSE IF(@p_TIME_VALUE = 'CHECK_TRANS_NOT_APPROVE')
BEGIN --GỬI MAIL NHỮNG GIAO DỊCH CHƯA ĐƯỢC PHÊ DUYỆT
INSERT INTO @TEMP (IS_SENDMAIL, TOOL_NAME,NF_MESSAGE_TYPE,ROLE_TIFI_TYPE)
SELECT 1,N'CHECK GIAO DỊCH CHƯA DUYỆT',@NF_MESSAGE_TYPE + '|' + PP.ID, @ROLE_TIFI_TYPE + '|' + PP.ID
FROM (
SELECT A.USER_MASTER_ID + '|ASS_USE|' + CASE WHEN A.AUTH_STATUS = 'A' AND A.AUTH_STATUS_KT = 'U' THEN 'KSV' ELSE 'GDV' END AS ID
FROM ASS_USE_MULTI_MASTER A
LEFT JOIN ASS_USE_CONFIRM_MASTER B ON A.USER_MASTER_ID = B.USER_MASTER_ID
WHERE (A.AUTH_STATUS = 'A' AND A.AUTH_STATUS_KT = 'E' AND B.USER_CONFIRM_MASTER_ID IS NOT NULL)
OR (A.AUTH_STATUS = 'A' AND A.AUTH_STATUS_KT = 'U')
UNION
SELECT A.TRANS_MULTI_MASTER_ID + '|ASS_TRANSFER|' + CASE WHEN A.AUTH_STATUS = 'A' AND A.AUTH_STATUS_KT = 'U' THEN 'KSV' ELSE 'GDV' END AS ID
FROM ASS_TRANSFER_MULTI_MASTER A
WHERE (A.AUTH_STATUS = 'A' AND A.AUTH_STATUS_KT = 'E')
OR (A.AUTH_STATUS = 'A' AND A.AUTH_STATUS_KT = 'U')
UNION
SELECT A.COL_MULTI_MASTER_ID + '|ASS_COLLECT|' + CASE WHEN A.AUTH_STATUS = 'A' AND A.AUTH_STATUS_KT = 'U' THEN 'KSV' ELSE 'GDV' END AS ID
FROM ASS_COLLECT_MULTI_MASTER A
LEFT JOIN ASS_COLLECT_CONFIRM_MASTER B ON A.COL_MULTI_MASTER_ID = B.COL_MULTI_MASTER_ID
WHERE (A.AUTH_STATUS = 'A' AND A.AUTH_STATUS_KT = 'E' AND B.COL_MULTI_MASTER_CONFIRM_ID IS NOT NULL)
OR (A.AUTH_STATUS = 'A' AND A.AUTH_STATUS_KT = 'U')
UNION
SELECT A.LIQ_ID + '|ASS_LIQ|' + CASE WHEN A.AUTH_STATUS = 'A' AND A.AUTH_STATUS_KT = 'U' THEN 'KSV' ELSE 'GDV' END AS ID
FROM ASS_LIQUIDATION A
WHERE (A.AUTH_STATUS = 'A' AND A.AUTH_STATUS_KT = 'E')
OR (A.AUTH_STATUS = 'A' AND A.AUTH_STATUS_KT = 'U')
UNION
SELECT A.ADDNEW_ID + '|ASS_ADDNEW|' + CASE WHEN A.AUTH_STATUS = 'A' AND A.AUTH_STATUS_KT = 'U' THEN 'KSV' ELSE 'GDV' END AS ID
FROM ASS_ADDNEW A
WHERE (A.AUTH_STATUS = 'A' AND A.AUTH_STATUS_KT = 'E')
OR (A.AUTH_STATUS = 'A' AND A.AUTH_STATUS_KT = 'U'))PP
END
ELSE IF(@p_TIME_VALUE = 'KH')
BEGIN --TOOL CHẠY KHẤU HAO
SET @EXEC_DATE = CONVERT(VARCHAR(50),@SEND_DATE)
IF((SELECT (((DATEPART(DW, @SEND_DATE) - 1 ) + @@DATEFIRST ) % 7)) NOT IN ('0','6'))
BEGIN -- NẾU KHÁC NGÀY T7 VÀ CN THÌ CHẠY
EXEC ASS_AMORT_StartDO @p_EXECUTE_DATE = @EXEC_DATE
,@p_MAKER_ID = 'bichnn'
,@p_CHECKER_ID = 'bichnn'
,@p_ASSET_TYPE = NULL
,@p_BRANCH_ID_LST = NULL
,@p_EXEC_TYPE = @EXEC_TYPE
END
END
IF @@Error <> 0 GOTO ABORT
IF(@p_LOCATION IS NULL OR @p_LOCATION = '')
BEGIN -- NẾU CHẠY TOOL THÌ UPDATE NGÀY, EXEC TRỰC TIẾP THÌ KHÔNG UPDATE NGÀY
IF(@TIME_SEND_TYPE = 'NGAY')
BEGIN
UPDATE THREAD_TIME_SEND
SET SENT_DATE = DATEADD(DAY,@TIME_SEND,@SEND_DATE)
WHERE TIME_SEND_ID = @p_TIME_SEND_ID AND TIME_VALUE = @p_TIME_VALUE
END
ELSE IF(@TIME_SEND_TYPE = 'THANG')
BEGIN
UPDATE THREAD_TIME_SEND
SET SENT_DATE = DATEADD(MONTH,@TIME_SEND,@SEND_DATE)
WHERE TIME_SEND_ID = @p_TIME_SEND_ID AND TIME_VALUE = @p_TIME_VALUE
END
END
-- COMMIT TRANSACTION T1
END
SELECT * FROM @TEMP
IF(@p_TIME_VALUE <> 'KH')
BEGIN
INSERT INTO THREAD_TIME_SEND_LOG (DISTANCE_TIME, DISTANCE_TYPE, TOOL_NAME, TOOL_VALUE, EXEC_DT, EXEC_TYPE, MESSAGE, CREATE_DT)
VALUES (@DISTANCE_TIME,@DISTANCE_TYPE, @TOOL_NAME, @TOOL_VALUE, @EXEC_DT,@EXEC_TYPE, N'Thực thi thành công', GETDATE());
END
RETURN '0'
ABORT:
BEGIN
--ROLLBACK TRANSACTION T1
--GHI LOG
IF(@p_TIME_VALUE <> 'KH')
BEGIN
INSERT INTO THREAD_TIME_SEND_LOG (DISTANCE_TIME, DISTANCE_TYPE, TOOL_NAME, TOOL_VALUE, EXEC_DT, EXEC_TYPE, MESSAGE, CREATE_DT)
VALUES (@DISTANCE_TIME,@DISTANCE_TYPE, @TOOL_NAME, @TOOL_VALUE, @EXEC_DT,@EXEC_TYPE, ISNULL(@MESSAGE,ERROR_MESSAGE()), GETDATE());
END
RETURN '-1'
End
END
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[ASS_PRIVATE_TRANSFER_MASTER_App]'
GO
ALTER PROCEDURE [dbo].[ASS_PRIVATE_TRANSFER_MASTER_App]
@p_TRANS_MULTI_MASTER_ID varchar(15),
@p_AUTH_STATUS varchar(1) = NULL,
@p_CHECKER_ID varchar(100) = NULL,
@p_APPROVE_DT VARCHAR(20) = NULL
AS
BEGIN TRANSACTION
declare @l_OLD_LOCHIST_ID varchar(15)
declare @l_LOCHIST_ID varchar(15)
declare @l_ASSHIST_ID varchar(15)
declare @l_ASSET_ID varchar(15)
declare @l_BRANCH_ID varchar(15)
declare @l_DEPT_ID varchar(15)
declare @l_EMP_ID varchar(15)
declare @l_DESC nvarchar(1000)
declare @l_LOCATION nvarchar(500)
DECLARE @l_MAKER_ID varchar(15)
--DECLARE @sToday varchar(10) = convert(varchar(10), @p_APPROVE_DT, 103)
--DECLARE @l_CUR_BRANCH_ID VARCHAR(15), @l_ASSET_TYPE VARCHAR(15), @l_AMORT_ACCTNO VARCHAR(50),
-- @l_ASSET_GROUP VARCHAR(15), @l_ET_ID VARCHAR(15), @l_TRN_REF_NO VARCHAR(15),
-- @l_DO_BRANCH_ID VARCHAR(15), @l_CUR_AMORT_AMT DECIMAL(18), @l_AMORT_STATUS VARCHAR(15)
--
--DECLARE @NOTE NVARCHAR(500), @CRET DATETIME
--SELECT @NOTE = NOTES, @CRET = CREATE_DT
--FROM [ASS_TRANSFER_MULTI_MASTER]
--WHERE [TRANS_MULTI_MASTER_ID] = @p_TRANS_MULTI_MASTER_ID
--LUCTV: 26-12-2018 KIEM TRA NEU TINH TRANG DANG LA 'R' THI KHONG CHO PHEP DUYET
IF(EXISTS(SELECT * FROM ASS_PRIVATE_TRANSFER_MASTER WHERE AUTH_STATUS ='R' AND TRANS_MULTI_MASTER_ID =@p_TRANS_MULTI_MASTER_ID))
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' COL_MULTI_MASTER_ID, N'Thông tin điều chuyển tài sản đang bị trả về. Vui lòng cập nhật lại thông tin trước khi duyệt' ErrorDesc
RETURN '-1'
END
IF(NOT EXISTS (SELECT * FROM dbo.TL_USER_GET_ROLES(@p_CHECKER_ID) WHERE (ROLE_ID = 'GDDV' OR ROLE_ID = 'GDDV_QLTS')))
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' COL_MULTI_MASTER_ID, N'Bạn không có quyền duyệt phiếu này' ErrorDesc
RETURN '-1'
END
--IF (SELECT CHARINDEX('ATGETD',@NOTE)) > 0
--BEGIN
-- SET @sToday = convert(varchar(10), @p_APPROVE_DT, 103)
-- SET @p_APPROVE_DT = @sToday
--END
--APPROVE MASTER
-- UPDATE [dbo].[ASS_PRIVATE_TRANSFER_MASTER]
-- SET AUTH_STATUS = 'A',AUTH_STATUS_KT='U',
-- CHECKER_ID = @p_CHECKER_ID,
-- APPROVE_DT = CONVERT(datetime, @p_APPROVE_DT, 103),MAKER_ID_KT = NULL,APPROVE_DT_KT = NULL, CHECKER_ID_KT = NULL
-- WHERE [TRANS_MULTI_MASTER_ID] = @p_TRANS_MULTI_MASTER_ID
--
DECLARE @TRANSFER_MULTI_ID varchar(15), @IS_PRIVATE int = 0, @count int =0
DECLARE @ASSET_ID varchar(15), @BRANCH_ID_OLD VARCHAR(15), @DEP_ID_OLD VARCHAR(15), @EMP_ID_OLD VARCHAR(15)
DECLARE DataCusor SCROLL CURSOR
FOR
SELECT A.TRANSFER_MULTI_ID,A.ASSET_ID
FROM [dbo].[ASS_PRIVATE_TRANSFER_DT] A
WHERE [TRANS_MULTI_MASTER_ID] = @p_TRANS_MULTI_MASTER_ID
OPEN DataCusor
FETCH NEXT FROM DataCusor INTO @TRANSFER_MULTI_ID,@ASSET_ID
WHILE @@FETCH_STATUS = 0
BEGIN
--Lay thong tin
SELECT @l_ASSET_ID = ASSET_ID,
@l_BRANCH_ID = BRANCH_ID,
@l_DEPT_ID = DEPT_ID,
@l_EMP_ID = EMP_ID,
@l_MAKER_ID = MAKER_ID,
@BRANCH_ID_OLD = BRANCH_ID_OLD,
@DEP_ID_OLD = DEPT_ID_OLD, @EMP_ID_OLD = EMP_ID_OLD
FROM [ASS_PRIVATE_TRANSFER_DT]
WHERE TRANSFER_MULTI_ID = @TRANSFER_MULTI_ID
EXEC SYS_CodeMasters_Gen 'ASS_MASTER_HIST', @l_ASSHIST_ID out
IF @l_ASSHIST_ID='' OR @l_ASSHIST_ID IS NULL GOTO ABORT
INSERT INTO ASS_MASTER_HIST
SELECT @l_ASSHIST_ID, a.*
FROM ASS_MASTER a
where a.ASSET_ID = @l_ASSET_ID
IF @@Error <> 0 GOTO ABORT
UPDATE ASS_MASTER
SET EMP_ID = @l_EMP_ID
WHERE ASSET_ID = @l_ASSET_ID
IF @@Error <> 0 GOTO ABORT
SELECT @l_OLD_LOCHIST_ID = LOCHIST_ID FROM ASS_LOCATION_HIST WHERE ASSET_ID = @l_ASSET_ID AND ISLEAF='Y'
--Uptdae isleaf='N' and END_DATE = ngay hien tai cho record hien tai
UPDATE ASS_LOCATION_HIST
SET USE_END_DT = CONVERT(DATETIME,@p_APPROVE_DT,103),
ISLEAF='N'
WHERE ASSET_ID = @l_ASSET_ID AND ISLEAF='Y'
EXEC SYS_CodeMasters_Gen 'ASS_LOCATION_HIST', @l_LOCHIST_ID out
IF @l_LOCHIST_ID='' OR @l_LOCHIST_ID IS NULL GOTO ABORT
--insert location moi
INSERT INTO ASS_LOCATION_HIST
(
LOCHIST_ID, ASSET_ID, USE_START_DT, USE_END_DT, BRANCH_ID, DEPT_ID,
EMP_ID, LOCATION, ISLEAF, PARENT_ID
)
VALUES
(
@l_LOCHIST_ID, @l_ASSET_ID, CONVERT(DATETIME,@p_APPROVE_DT,103), NULL, @l_BRANCH_ID, @l_DEPT_ID,
@l_EMP_ID, '', 'Y', @l_OLD_LOCHIST_ID
)
IF @@Error <> 0 GOTO ABORT
--INSERT VAO BANG ASS_TRANSACTIONS
INSERT INTO ASS_TRANSACTIONS(ASSET_ID, TRN_ID, TRN_TYPE, TRN_DATE, RECORD_STATUS, AUTH_STATUS,
[MAKER_ID], [CREATE_DT], [CHECKER_ID], [APPROVE_DT],ASSHIST_ID,LOCHIST_ID
)VALUES
(
@l_ASSET_ID, @TRANSFER_MULTI_ID, 'PRIVATE_TRANSFER', CONVERT(DATETIME, @p_APPROVE_DT, 103), '1', 'A',
@l_MAKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103), @p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103) ,@l_ASSHIST_ID,@l_LOCHIST_ID
)
IF @@Error <> 0 GOTO ABORT
FETCH NEXT FROM DataCusor INTO @TRANSFER_MULTI_ID,@ASSET_ID
END
UPDATE [dbo].[ASS_PRIVATE_TRANSFER_MASTER]
SET AUTH_STATUS_KT = 'A',AUTH_STATUS = 'A',
CHECKER_ID = @p_CHECKER_ID,
APPROVE_DT = CONVERT(datetime, @p_APPROVE_DT, 103),
CHECKER_ID_KT = 'ADMIN',
APPROVE_DT_KT = CONVERT(datetime, @p_APPROVE_DT, 103),
CREATE_DT_KT = CONVERT(datetime, @p_APPROVE_DT, 103),
MAKER_ID_KT = 'ADMIN'
WHERE [TRANS_MULTI_MASTER_ID] = @p_TRANS_MULTI_MASTER_ID
UPDATE ASS_PRIVATE_TRANSFER_DT
SET AUTH_STATUS_KT = 'A',AUTH_STATUS = 'A',
CHECKER_ID = @p_CHECKER_ID,
APPROVE_DT = CONVERT(datetime, @p_APPROVE_DT, 103),
CHECKER_ID_KT = 'ADMIN',
APPROVE_DT_KT = CONVERT(datetime, @p_APPROVE_DT, 103),
CREATE_DT_KT = CONVERT(datetime, @p_APPROVE_DT, 103),
MAKER_ID_KT = 'ADMIN'
WHERE [TRANS_MULTI_MASTER_ID] = @p_TRANS_MULTI_MASTER_ID
UPDATE B
SET B.EMP_ID = A.EMP_ID
FROM ASS_PRIVATE_TRANSFER_DT A
LEFT JOIN ASS_MASTER B ON A.ASSET_ID = B.ASSET_ID
WHERE A.TRANS_MULTI_MASTER_ID = @p_TRANS_MULTI_MASTER_ID
-- GIANT 21/09/2021
INSERT INTO dbo.PL_PROCESS
(
REQ_ID,
PROCESS_ID,
CHECKER_ID,
APPROVE_DT,
PROCESS_DESC,NOTES
)
VALUES
( @p_TRANS_MULTI_MASTER_ID, -- REQ_ID - varchar(15)
'APPROVE', -- PROCESS_ID - varchar(10)
@p_CHECKER_ID, -- CHECKER_ID - varchar(15)
GETDATE(), -- APPROVE_DT - datetime
N'Trưởng đơn vị phê duyệt ' ,
N'Trưởng đơn vị phê duyệt thành công' -- PROCESS_DESC - nvarchar(1000)
)
-- HUYHT 01/11/2021
-- DECLARE @BRANCH_ID_BG VARCHAR(15), @DEP_ID_BG VARCHAR(15), @BRANCH_ID_BN VARCHAR(15), @DEP_ID_BN VARCHAR(15)
-- SELECT TOP 1 @BRANCH_ID_BG = DT.BRANCH_ID_OLD, @DEP_ID_BG = DT.DEPT_ID_OLD, @BRANCH_ID_BN = DT.BRANCH_ID, @DEP_ID_BN = DT.DEPT_ID
-- FROM dbo.ASS_TRANSFER_MULTI_MASTER AM
-- INNER JOIN dbo.ASS_TRANSFER_MULTI_DT DT ON AM.TRANS_MULTI_MASTER_ID = DT.TRANS_MULTI_MASTER_ID
-- WHERE AM.TRANS_MULTI_MASTER_ID = @p_TRANS_MULTI_MASTER_ID
-- ORDER BY DT.TRANSFER_MULTI_ID ASC
-- DECLARE @l_TRANS_MULTI_MASTER_CONFIRM_ID VARCHAR(15)
-- EXEC SYS_CodeMasters_Gen 'ASS_TRANSFER_CONFIRM_MASTER', @l_TRANS_MULTI_MASTER_CONFIRM_ID out
-- IF @l_TRANS_MULTI_MASTER_CONFIRM_ID='' OR @l_TRANS_MULTI_MASTER_CONFIRM_ID IS NULL GOTO ABORT
--
-- INSERT INTO [ASS_TRANSFER_CONFIRM_MASTER]
-- (
-- [TRANS_MULTI_MASTER_CONFIRM_ID],
-- [TRANS_MULTI_MASTER_ID],
-- [BRANCH_ID_BG],
-- [DEP_ID_BG],
-- [BRANCH_ID_BN],
-- [DEP_ID_BN]
-- )
-- VALUES
-- (
-- @l_TRANS_MULTI_MASTER_CONFIRM_ID,
-- @p_TRANS_MULTI_MASTER_ID ,
-- @BRANCH_ID_BG,
-- @DEP_ID_BG,
-- @BRANCH_ID_BN,
-- @DEP_ID_BN
-- )
--PHUCVH 14/11/22 UPDATE TÀI SẢN ĐÃ XONG GIAO DỊCH
UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL
WHERE ASSET_ID IN (SELECT A.ASSET_ID FROM ASS_PRIVATE_TRANSFER_DT A WHERE A.TRANS_MULTI_MASTER_ID = @p_TRANS_MULTI_MASTER_ID)
COMMIT TRANSACTION
SELECT '0' as Result, @p_TRANS_MULTI_MASTER_ID COL_MULTI_MASTER_ID, '' ErrorDesc
RETURN '0'
ABORT:
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' COL_MULTI_MASTER_ID, ERROR_MESSAGE() ErrorDesc
RETURN '-1'
End
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[GET_LAST_SYNC_DATE]'
GO
ALTER PROCEDURE [dbo].[GET_LAST_SYNC_DATE]
AS
BEGIN
SELECT CONVERT(DATETIME,ca.ParaValue,103) AS LAST_SYNC_DATE FROM SYS_PARAMETERS ca WHERE ca.ParaKey = 'LAST_SYNC_DATE'
END
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[CM_EMPLOYEE_SYNC_INS]'
GO
ALTER PROCEDURE [dbo].[CM_EMPLOYEE_SYNC_INS]
@p_JSON_DATA NVARCHAR(MAX) = NULL
AS
----Phucvh 20/02/23 Store đồng bộ nhân viên từ DB HR
IF (@p_JSON_DATA IS NULL OR @p_JSON_DATA = '')
BEGIN
SELECT '-1' as Result, '' ID, N'Data NULL Đồng bộ thất bại' ErrorDesc
RETURN '-1'
END
--LUU DATA DONG BO
UPDATE THREAD_TIME_SEND_LOG SET MESSAGE = MESSAGE + @p_JSON_DATA
WHERE TOOL_VALUE = 'SYNC_EMP' AND ID = (SELECT TOP 1 TTSL.ID FROM THREAD_TIME_SEND_LOG TTSL WHERE TTSL.TOOL_VALUE = 'SYNC_EMP' ORDER BY TTSL.ID DESC)
DECLARE @Tbl_Data_From_Json TABLE(
Id UNIQUEIDENTIFIER,
Loai INT,
MaNS nvarchar(500),
HoTen nvarchar(500),
MaDVCu nvarchar(500),
DVCu nvarchar(500),
MaDVMoi nvarchar(500),
DVMoi nvarchar(500),
MaCDCu nvarchar(500),
CDCu nvarchar(500),
MaCDMoi nvarchar(500),
CDMoi nvarchar(500),
LoaiHDLD nvarchar(500),
Email nvarchar(500),
Ngay VARCHAR(500),
So nvarchar(500),
NgayHLuc VARCHAR(500),
NgayHetHLuc VARCHAR(500),
TGTao VARCHAR(500)
)
INSERT INTO @Tbl_Data_From_Json
SELECT *
FROM OPENJSON(@p_JSON_DATA)
WITH
(
Id UNIQUEIDENTIFIER '$.Id',
Loai INT '$.Loai',
MaNS nvarchar(500) '$.MaNS',
HoTen nvarchar(500) '$.HoTen',
MaDVCu nvarchar(500) '$.MaDVCu',
DVCu nvarchar(500) '$.DVCu',
MaDVMoi nvarchar(500) '$.MaDVMoi',
DVMoi nvarchar(500) '$.DVMoi',
MaCDCu nvarchar(500) '$.MaCDCu',
CDCu nvarchar(500) '$.CDCu',
MaCDMoi nvarchar(500) '$.MaCDMoi',
CDMoi nvarchar(500) '$.CDMoi',
LoaiHDLD nvarchar(500) '$.LoaiHDLD',
Email nvarchar(500) '$.Email',
Ngay VARCHAR(500) '$.Ngay',
So nvarchar(500) '$.So',
NgayHLuc VARCHAR(500) '$.NgayHLuc',
NgayHetHLuc VARCHAR(500) '$.NgayHetHLuc',
TGTao VARCHAR(500) '$.TGTao'
)
DECLARE
@Id UNIQUEIDENTIFIER, @Loai INT, @MaNS nvarchar(500), @HoTen nvarchar(500),
@MaDVCu nvarchar(500), @DVCu nvarchar(500), @MaDVMoi nvarchar(500), @DVMoi nvarchar(500),
@MaCDCu nvarchar(500), @CDCu nvarchar(500), @MaCDMoi nvarchar(500), @CDMoi nvarchar(500),
@LoaiHDLD nvarchar(500), @Email nvarchar(500), @Ngay VARCHAR(500), @So nvarchar(500),
@NgayHLuc VARCHAR(500), @NgayHetHLuc VARCHAR(500), @TGTao VARCHAR(500)
BEGIN TRANSACTION
DECLARE cur CURSOR FAST_FORWARD READ_ONLY LOCAL FOR
SELECT * FROM @Tbl_Data_From_Json
OPEN cur
FETCH NEXT FROM cur INTO @Id,@Loai,@MaNS,@HoTen,@MaDVCu,@DVCu,@MaDVMoi,@DVMoi,@MaCDCu,@CDCu,@MaCDMoi,@CDMoi,@LoaiHDLD,@Email,@Ngay,@So,@NgayHLuc,@NgayHetHLuc,@TGTao
WHILE @@FETCH_STATUS = 0 BEGIN
IF(NOT EXISTS(SELECT 1 FROM CM_EMPLOYEE_SYNC ces WHERE ces.Id = @Id))
BEGIN
INSERT INTO CM_EMPLOYEE_SYNC (Id, Loai, MaNS, HoTen, MaDVCu, DVCu, MaDVMoi, DVMoi, MaCDCu, CDCu, MaCDMoi, CDMoi, LoaiHDLD, Email, Ngay, So, NgayHLuc, NgayHetHLuc, TGTao)
VALUES(@Id,@Loai,@MaNS,@HoTen,@MaDVCu,@DVCu,@MaDVMoi,@DVMoi,@MaCDCu,@CDCu,@MaCDMoi,@CDMoi,@LoaiHDLD,@Email,CONVERT(DATETIME,@Ngay),@So,CONVERT(DATETIME,@NgayHLuc),CONVERT(DATETIME,@NgayHetHLuc),CONVERT(DATETIME,@TGTao))
END
FETCH NEXT FROM cur INTO @Id,@Loai,@MaNS,@HoTen,@MaDVCu,@DVCu,@MaDVMoi,@DVMoi,@MaCDCu,@CDCu,@MaCDMoi,@CDMoi,@LoaiHDLD,@Email,@Ngay,@So,@NgayHLuc,@NgayHetHLuc,@TGTao
END
CLOSE cur
DEALLOCATE cur
IF @@Error <> 0 GOTO ABORT
COMMIT TRANSACTION
SELECT '0' as Result, '' ID, N'Đồng bộ chi phí sửa chữa tài sản thành công' ErrorDesc
RETURN '0'
ABORT:
BEGIN
CLOSE cur
DEALLOCATE cur
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' ID, N'Đồng bộ chi phí sửa chữa tài sản thất bại' ErrorDesc
RETURN '-1'
End
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[ASS_COLLECT_MULTI_MASTER_KT_App]'
GO
ALTER PROCEDURE [dbo].[ASS_COLLECT_MULTI_MASTER_KT_App]
@p_COL_MULTI_MASTER_ID varchar(15),
@p_AUTH_STATUS varchar(1) = NULL,
@p_CHECKER_ID varchar(100) = NULL,
@p_APPROVE_DT VARCHAR(20) = NULL
AS
BEGIN TRANSACTION
IF(EXISTS(SELECT 1 FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID = @p_COL_MULTI_MASTER_ID AND AUTH_STATUS_KT = 'A'))
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, @p_COL_MULTI_MASTER_ID COL_MULTI_MASTER_ID, N'Thông tin phiếu thu hồi tài sản đã được duyệt.' ErrorDesc
RETURN '-1'
END
--KIEM TRA NEU TINH TRANG DANG LA 'R' THI KHONG CHO PHEP DUYET
IF(EXISTS(SELECT * FROM ASS_COLLECT_MULTI_MASTER WHERE AUTH_STATUS_KT ='R' AND COL_MULTI_MASTER_ID =@p_COL_MULTI_MASTER_ID))
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' COL_MULTI_MASTER_ID, N'Thông tin thu hồi tài sản đang bị trả về. Vui lòng cập nhật lại thông tin trước khi duyệt' ErrorDesc
RETURN '-1'
END
IF(EXISTS(SELECT 1 FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID = @p_COL_MULTI_MASTER_ID AND AUTH_STATUS_KT = 'E'))
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, @p_COL_MULTI_MASTER_ID COL_MULTI_MASTER_ID, N'Duyệt thất bại. Nhân viên kế toán chưa nhập diễn giải hạch toán' ErrorDesc
RETURN '-1'
END
DECLARE @COLLECT_MULTI_ID varchar(15)
DECLARE @ASSET_ID varchar(15)
DECLARE DataCusor SCROLL CURSOR
FOR
SELECT A.COLLECT_MULTI_ID,A.ASSET_ID
FROM [dbo].[ASS_COLLECT_MULTI_DT] A
WHERE [COL_MULTI_MASTER_ID] = @p_COL_MULTI_MASTER_ID
OPEN DataCusor
UPDATE ASS_COLLECT_MULTI_MASTER SET AUTH_STATUS_KT = 'A', CHECKER_ID_KT = @p_CHECKER_ID, APPROVE_DT_KT = CONVERT(DATETIME,@p_APPROVE_DT,103)
WHERE COL_MULTI_MASTER_ID = @p_COL_MULTI_MASTER_ID
--THIEUVQ 15062015
DECLARE @p_BRANCH_ID_RECEIVE VARCHAR(15) = NULL, @p_DEPT_ID_RECEIVE VARCHAR(15) = NULL, @l_ASSET_ID VARCHAR(15)
DECLARE @l_LOCHIST_ID VARCHAR(15), @l_ASSHIST_ID varchar(15) ,@l_OLD_LOCHIST_ID VARCHAR(15)
DECLARE @BRANCH_ID_OLD VARCHAR(15),@DEP_ID_OLD VARCHAR(15), @l_BRANCH_ID VARCHAR(15), @BRN_TYPE_TRN VARCHAR(15), @BRN_TYPE_REC VARCHAR(15), @l_ASSET_TYPE VARCHAR(15)
DECLARE @NOTE NVARCHAR(500), @CRET DATETIME, @ERROR NVARCHAR(500) = '', @TCCT_TRN_ACCTNO VARCHAR(50), @TCCT_REC_ACCTNO VARCHAR(50)
--KHIEMCHG HACH TOAN
DECLARE @sToday varchar(10) = convert(varchar(10), @p_APPROVE_DT, 103), @l_ENTRY_BOOKED VARCHAR(1),@l_ASSET_CODE VARCHAR(50)
DECLARE @l_CUR_BRANCH_ID VARCHAR(15), @l_AMORT_ACCTNO VARCHAR(50), @l_ASSET_GL VARCHAR(50),@l_COLLECT_ACCNO VARCHAR(50),
@l_ASSET_GROUP VARCHAR(15), @l_ET_ID VARCHAR(15), @l_TRN_REF_NO VARCHAR(15), @l_CORE_NOTE NVARCHAR(500),@l_BRANCH_CREATE VARCHAR(15), @l_HO_BRANCH_ID VARCHAR(15),
@l_BUY_PRICE DECIMAL(18),@l_CUR_AMORT_AMT DECIMAL(18),@l_AMORTIZED_AMT DECIMAL(18) = 0,@l_AMORT_AMT DECIMAL(18,0), @l_REMAIN_VALUE DECIMAL(18,0)
DECLARE @l_ETP_ID VARCHAR(20),@l_D_BRANCH_CODE VARCHAR(25) , @l_C_BRANCH_CODE VARCHAR(25),@l_MAKER_ID VARCHAR(250) , @l_DO_BRANCH_ID VARCHAR(25)
DECLARE @l_TRN_NO VARCHAR(15)
DECLARE @emp_ID_OLD VARCHAR(15)
EXEC ENTRIES_POST_GEN_NO @p_BRANCH_ID = 'DV0001'
,@p_TRN_DATE = @p_APPROVE_DT
,@p_KeyGen = @l_TRN_NO OUT
--PHUCVH 07/12/22 NẾU THU HỒI TÀI SẢN LOẠI CCLD THÌ NHƯNG KHẤU HAO
DECLARE @l_AMORT_STATUS NVARCHAR(20)
DECLARE @l_IS_COLLECT BIT
SELECT @l_CORE_NOTE = CORE_NOTE, @l_MAKER_ID = MAKER_ID_KT, @CRET = CREATE_DT
FROM ASS_COLLECT_MULTI_MASTER
WHERE COL_MULTI_MASTER_ID = @p_COL_MULTI_MASTER_ID
SELECT @l_DO_BRANCH_ID = a.TLSUBBRID from TL_USER a where a.TLNANME = @p_CHECKER_ID
FETCH NEXT FROM DataCusor INTO @COLLECT_MULTI_ID,@ASSET_ID
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @p_BRANCH_ID_RECEIVE = BRANCH_ID_RECEIVE , @p_DEPT_ID_RECEIVE = DEPT_ID_RECEIVE,@DEP_ID_OLD=DEPT_ID_USE , @l_ASSET_ID = ASSET_ID,
@l_BRANCH_ID = BRANCH_ID_RECEIVE,@BRANCH_ID_OLD=BRANCH_ID
FROM ASS_COLLECT_MULTI_DT
WHERE COLLECT_MULTI_ID = @COLLECT_MULTI_ID
SELECT @l_ASSET_TYPE = A.TYPE_ID, @l_CUR_BRANCH_ID = A.BRANCH_ID
, @l_ASSET_GROUP = ISNULL(A.REF_GROUP_ID,A.GROUP_ID), @l_AMORT_AMT = AMORT_AMT, @l_CUR_AMORT_AMT = (A.AMORT_AMT - ISNULL(A.AMORTIZED_AMT,0)),
@l_BUY_PRICE = BUY_PRICE,@l_CUR_AMORT_AMT = (AMORT_AMT - ISNULL(AMORTIZED_AMT,0)), @l_BRANCH_CREATE = A.BRANCH_CREATE
,@l_AMORTIZED_AMT = AMORTIZED_AMT, @l_AMORT_STATUS = A.AMORT_STATUS, @l_ENTRY_BOOKED = A.ENTRY_BOOKED,
@l_ASSET_CODE = A.ASSET_CODE, @l_REMAIN_VALUE = A.AMORT_AMT - ISNULL(A.AMORTIZED_AMT,0), @l_IS_COLLECT = A.IS_COLLECT
,@emp_ID_OLD = a.EMP_ID
FROM ASS_MASTER A WHERE A.ASSET_ID = @l_ASSET_ID
/********** LAY THONG TIN HACH TOAN ***********/
--DECLARE @ASSET_CCLD VARCHAR(20) = (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'ASSET_CCLD')
DECLARE @TF_ASSET_CCLD VARCHAR(20) = (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'ASSET_CCLD_N')
DECLARE @AMORT_CCLD VARCHAR(20) = (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'AMORT_CCLD')
DECLARE @BE_AMORT_CCLD VARCHAR(20) = (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'BE_AMORT_CCLD')
DECLARE @BW_AMORT_CCLD VARCHAR(20) = (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'BW_AMORT_CCLD')
DECLARE @PAY_HS_ACNO VARCHAR(20) = (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'PAY_HS')
DECLARE @l_TRANSFER_ACCNO VARCHAR(20) =(SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='TRANSFER')
DECLARE @BRANCH_CODE_OLD VARCHAR (15) = (SELECT CB.BRANCH_CODE FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @BRANCH_ID_OLD)
DECLARE @BRANCH_CODE VARCHAR (15) = (SELECT CB.BRANCH_CODE FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @l_BRANCH_ID)
DECLARE @DEP_CODE_OLD VARCHAR(25) =(SELECT cd.DEP_CODE FROM CM_DEPARTMENT cd WHERE cd.DEP_ID=@DEP_ID_OLD)
DECLARE @DEP_CODE VARCHAR(25) = (SELECT cd.DEP_CODE FROM CM_DEPARTMENT cd WHERE cd.DEP_ID=@p_DEPT_ID_RECEIVE)
SET @l_HO_BRANCH_ID = (SELECT CB.BRANCH_ID FROM CM_BRANCH CB WHERE CB.BRANCH_TYPE = 'HS')
DECLARE @HO_CODE VARCHAR(20) = (SELECT CB.BRANCH_CODE FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @l_HO_BRANCH_ID)
SET @l_COLLECT_ACCNO = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='ACC_COL_1')
SELECT @l_AMORT_ACCTNO = AMORT_ACCTNO, @l_ASSET_GL = ASSET_ACCTNO
FROM ASS_GROUP
WHERE GROUP_ID = @l_ASSET_GROUP
IF @l_AMORT_ACCTNO = '' OR @l_AMORT_ACCTNO IS NULL
BEGIN
SET @ERROR = (SELECT ErrorDesc FROM SYS_ERROR WHERE ErrorCode = 'ASS-00002')
GOTO ABORT
END
UPDATE ASS_COLLECT_MULTI_DT SET AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103)
WHERE COLLECT_MULTI_ID = @COLLECT_MULTI_ID
IF @@Error <> 0
BEGIN
GOTO ABORT
SELECT '-1' as Result, ERROR_MESSAGE() ErrorDesc
END
---HACH TOAN THU HOI TAI SAN
--BEGIN
--Insert vao bang dbo.ASS_ENTRIES_POST
IF @BRANCH_ID_OLD <> @l_BRANCH_ID --AND @l_ENTRY_BOOKED = 'Y' -- HACH TOAN KHAC DON VI, và TĂNG TÀI SẢN
BEGIN
SELECT @BRN_TYPE_TRN = BRANCH_TYPE,@TCCT_TRN_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_ID_OLD
SELECT @BRN_TYPE_REC = BRANCH_TYPE, @TCCT_REC_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_ID
SET @l_C_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_CREATE)
SET @l_D_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID)
IF @l_ASSET_TYPE = 'TSCD'
BEGIN
IF (@l_CUR_AMORT_AMT = @l_AMORT_AMT) -- Tài sản mới (chưa khấu hao)
BEGIN
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_COLLECT', @COLLECT_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y',
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_COL_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD'
@l_ET_ID OUT
-- BÊN GIAO
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID, @p_COL_MULTI_MASTER_ID,@BRANCH_CODE_OLD ,@l_TRANSFER_ACCNO,'VND', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_COL_MULTI_MASTER_ID ,@BRANCH_CODE_OLD , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO);
-- BÊN NHẬN
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_COLLECT', @COLLECT_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y',
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_COL_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD'
@l_ET_ID OUT
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_COL_MULTI_MASTER_ID ,@BRANCH_CODE , @l_ASSET_GL, 'VND', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID, @p_COL_MULTI_MASTER_ID,@BRANCH_CODE ,@l_TRANSFER_ACCNO,'VND', 'C', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
END
ELSE IF (@l_CUR_AMORT_AMT >= 0) -- Tài sản đã qua sử dụng (đang khấu hao)
BEGIN
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_COLLECT', @COLLECT_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y',
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_COL_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD'
@l_ET_ID OUT
-- BÊN GIAO
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_COL_MULTI_MASTER_ID ,@BRANCH_CODE_OLD , @l_AMORT_ACCTNO, 'VND', 'D', @l_AMORTIZED_AMT,1, @l_AMORTIZED_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_COL_MULTI_MASTER_ID ,@BRANCH_CODE_OLD , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO);
-- BÊN NHẬN
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_COLLECT', @COLLECT_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y',
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_COL_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD'
@l_ET_ID OUT
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_COL_MULTI_MASTER_ID ,@BRANCH_CODE , @l_ASSET_GL, 'VND', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_COL_MULTI_MASTER_ID ,@BRANCH_CODE , @l_AMORT_ACCTNO, 'VND', 'C', @l_AMORTIZED_AMT,1, @l_AMORTIZED_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
-----------
IF(@l_REMAIN_VALUE > 0)
BEGIN
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_COLLECT', @COLLECT_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y',
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_COL_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD'
@l_ET_ID OUT
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID, @p_COL_MULTI_MASTER_ID,@BRANCH_CODE_OLD ,@l_TRANSFER_ACCNO,'VND', 'D', @l_REMAIN_VALUE, 1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID, @p_COL_MULTI_MASTER_ID,@BRANCH_CODE ,@l_TRANSFER_ACCNO,'VND', 'C', @l_REMAIN_VALUE, 1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
END
END
END
ELSE -- CCLD
BEGIN
-- TRƯỜNG HỢP ĐÃ PHÂN BỔ HẾT VÀO CHI PHÍ MUA SẮM CCLĐ
IF(@l_CUR_AMORT_AMT = 0)
BEGIN
PRINT 'KHONG PHAT SINH'
END
ELSE IF (@l_CUR_AMORT_AMT > 0) -- TRƯỜNG HỢP CHƯA PHÂN BỔ HẾT VÀO CHI PHÍ MUA SẮM CCLĐ
BEGIN
-- ------------------------------------
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_COLLECT', @COLLECT_MULTI_ID, @l_DO_BRANCH_ID, @l_AMORT_ACCTNO, @l_BRANCH_CREATE, @l_AMORT_ACCTNO, @l_BRANCH_ID, @l_CUR_AMORT_AMT, 'Y',
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_COL_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD'
@l_ET_ID OUT
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID, @p_COL_MULTI_MASTER_ID,@BRANCH_CODE_OLD , @TF_ASSET_CCLD,'VND', 'D', @l_REMAIN_VALUE, 1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_COL_MULTI_MASTER_ID ,@BRANCH_CODE_OLD , @AMORT_CCLD, 'VND', 'C', @l_REMAIN_VALUE,1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO);
-- ------------------------------------
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_COLLECT', @COLLECT_MULTI_ID, @l_DO_BRANCH_ID, @l_AMORT_ACCTNO, @l_BRANCH_CREATE, @l_AMORT_ACCTNO, @l_BRANCH_ID, @l_CUR_AMORT_AMT, 'Y',
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_COL_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD'
@l_ET_ID OUT
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_COL_MULTI_MASTER_ID ,@BRANCH_CODE ,@BW_AMORT_CCLD , 'VND', 'D', @l_REMAIN_VALUE,1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID, @p_COL_MULTI_MASTER_ID,@BRANCH_CODE , @TF_ASSET_CCLD,'VND', 'C', @l_REMAIN_VALUE, 1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
END
END
END
ELSE
BEGIN
IF (@l_ASSET_TYPE = 'CCLD')
BEGIN
IF (@l_CUR_AMORT_AMT > 0) -- TRƯỜNG HỢP CHƯA PHÂN BỔ HẾT VÀO CHI PHÍ MUA SẮM CCLĐ
BEGIN
-- Hạch toán tại đơn vị điều CCLĐ đi
-- Tất toán tài khoản CCLĐ
EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_COLLECT', @COLLECT_MULTI_ID, @l_DO_BRANCH_ID, @l_AMORT_ACCTNO, @l_BRANCH_CREATE, @l_AMORT_ACCTNO, @l_BRANCH_ID, @l_CUR_AMORT_AMT, 'Y',
@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_COL_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD'
@l_ET_ID OUT
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID, @p_COL_MULTI_MASTER_ID,@BRANCH_CODE , @BW_AMORT_CCLD,'VND', 'D', @l_REMAIN_VALUE, 1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
VALUES (@l_ETP_ID, @l_ET_ID,@p_COL_MULTI_MASTER_ID ,@BRANCH_CODE_OLD ,@AMORT_CCLD , 'VND', 'C', @l_REMAIN_VALUE,1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO);
END
END
END
--END HACH TOAN
--Move to history
--Phat sinh Asset_ID
EXEC SYS_CodeMasters_Gen 'ASS_MASTER_HIST', @l_ASSHIST_ID out
IF @l_ASSHIST_ID='' OR @l_ASSHIST_ID IS NULL GOTO ABORT
INSERT INTO ASS_MASTER_HIST
SELECT @l_ASSHIST_ID, a.*
FROM ASS_MASTER a
where a.ASSET_ID = @l_ASSET_ID
IF @@Error <> 0 GOTO ABORT
--PHUCVH 07/12/22 NẾU THU HỒI TS LÀ CCLD THÌ NGƯNG KHẤU HAO
IF @l_ASSET_TYPE = 'CCLD'
BEGIN
IF((@l_AMORT_STATUS <> 'CKH') AND (@l_AMORT_STATUS <> 'KHX') AND (@l_AMORT_STATUS <> 'KKH'))
SET @l_AMORT_STATUS = 'NKH'
END
--update ass_master
UPDATE ASS_MASTER SET BRANCH_ID = @p_BRANCH_ID_RECEIVE, DEPT_ID = @p_DEPT_ID_RECEIVE, EMP_ID = NULL , AMORT_STATUS = @l_AMORT_STATUS,
IS_COLLECT = '1' --TRẠNG THÁI THU HỒI TÀI SẢN
WHERE ASSET_ID = @l_ASSET_ID
--Lay LOCHIST_ID
SELECT @l_OLD_LOCHIST_ID = LOCHIST_ID FROM ASS_LOCATION_HIST WHERE ASSET_ID = @l_ASSET_ID AND ISLEAF='Y'
--Uptdae isleaf='N' and END_DATE = ngay hien tai cho record hien tai
UPDATE ASS_LOCATION_HIST
SET USE_END_DT = CONVERT(DATETIME,@p_APPROVE_DT,103),
ISLEAF='N'
WHERE ASSET_ID = @l_ASSET_ID AND ISLEAF='Y'
IF @@Error <> 0 GOTO ABORT
--Insert bang ASS_LOCATION_HIST
EXEC SYS_CodeMasters_Gen 'ASS_LOCATION_HIST', @l_LOCHIST_ID out
IF @l_LOCHIST_ID='' OR @l_LOCHIST_ID IS NULL GOTO ABORT
INSERT INTO ASS_LOCATION_HIST
(
LOCHIST_ID, ASSET_ID, USE_START_DT, USE_END_DT, BRANCH_ID, DEPT_ID,
EMP_ID, LOCATION, ISLEAF, PARENT_ID
)
VALUES
(
@l_LOCHIST_ID, @l_ASSET_ID, GETDATE(), NULL, @p_BRANCH_ID_RECEIVE, @p_DEPT_ID_RECEIVE,
NULL, '', 'Y', @l_OLD_LOCHIST_ID
)
IF @@Error <> 0 GOTO ABORT
--INSERT VAO BANG ASS_TRANSACTIONS
INSERT INTO ASS_TRANSACTIONS(ASSET_ID, TRN_ID, TRN_TYPE, TRN_DATE, RECORD_STATUS, AUTH_STATUS,
[MAKER_ID], [CREATE_DT], [CHECKER_ID], [APPROVE_DT],ASSHIST_ID,LOCHIST_ID
)VALUES
(
@l_ASSET_ID, @COLLECT_MULTI_ID, 'ASS_COLLECT', CONVERT(DATETIME, @sToday, 103), '1', 'A',
@l_MAKER_ID, CONVERT(DATETIME, @sToday, 103), @p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103) ,@l_ASSHIST_ID,@l_LOCHIST_ID
)
IF @@Error <> 0 GOTO ABORT
FETCH NEXT FROM DataCusor INTO @COLLECT_MULTI_ID,@ASSET_ID
END
CLOSE DataCusor
DEALLOCATE DataCusor
-- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_KT
UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_COL_MULTI_MASTER_ID AND PROCESS_ID = 'UPDATE'
-- GIANT Insert to table PL_PROCESS
INSERT INTO dbo.PL_PROCESS
(
REQ_ID,
PROCESS_ID,
CHECKER_ID,
APPROVE_DT,
PROCESS_DESC,
NOTES
)
VALUES
( @p_COL_MULTI_MASTER_ID,
'APPROVE',
@p_CHECKER_ID,
GETDATE(),
N'Kiểm soát viên phê duyệt hoàn tất' ,
N'Kiểm soát viên phê duyệt'
)
--CHECK PHIẾU SỬA CHỮA CÓ PYC HAY KHÔNG
DECLARE @REQ_ID VARCHAR(20) = (SELECT TOP 1 A.REQ_ID FROM ASS_COLLECT_MULTI_MASTER A WHERE A.COL_MULTI_MASTER_ID = @p_COL_MULTI_MASTER_ID)
IF(@REQ_ID IS NOT NULL AND @REQ_ID <> '')
BEGIN --UPDATE TS TRONG PYC ĐÃ SỬA CHỮA
UPDATE TR_REQUEST_DOC_ASSET_DT SET ALLOCATED = '1' WHERE REQ_DOC_ID = @REQ_ID AND ASSET_ID IN
(SELECT A.ASSET_ID FROM ASS_COLLECT_MULTI_DT A WHERE A.COL_MULTI_MASTER_ID = @p_COL_MULTI_MASTER_ID)
IF(EXISTS(SELECT A.REQDT_ID FROM TR_REQUEST_SHOP_DOC_DT A WHERE A.REQ_DOC_ID = @REQ_ID AND A.ALLOCATED <> '1'))
BEGIN --DONE PYC
UPDATE TR_REQUEST_SHOP_DOC SET IS_DONE = '1', STATUS = 'DONE' WHERE REQ_ID = @REQ_ID AND REQ_TYPE = 'TH'
UPDATE PL_REQUEST_PROCESS SET STATUS = 'P' WHERE PROCESS_ID = 'APPROVE' AND REQ_ID = @REQ_ID
INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, IS_LEAF)
VALUES (@REQ_ID,'DONE','C','Y')
END
END
--PHUCVH 14/11/22 UPDATE TÀI SẢN XONG GIAO DỊCH
UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL
WHERE ASSET_ID IN (SELECT B.ASSET_ID FROM ASS_COLLECT_MULTI_DT B WHERE B.COL_MULTI_MASTER_ID = @p_COL_MULTI_MASTER_ID)
COMMIT TRANSACTION
SELECT '0' as Result, @p_COL_MULTI_MASTER_ID COL_MULTI_MASTER_ID, '' ErrorDesc
RETURN '0'
ABORT:
BEGIN
CLOSE DataCusor
DEALLOCATE DataCusor
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' COL_MULTI_MASTER_ID, @ERROR ErrorDesc
RETURN '-1'
End
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[TR_REQUEST_SHOP_PROCESS_Update]'
GO
ALTER PROCEDURE [dbo].[TR_REQUEST_SHOP_PROCESS_Update]
@p_REQ_ID varchar(15) = NULL,
@p_TYPE_PROCESS varchar(15) = NULL,
@p_MAKERID varchar(100)= NULL,
@p_AUTH_STATUS VARCHAR(1) = NULL,
@p_CHECKER_ID VARCHAR(100) = NULL,
@p_APPROVE_DT VARCHAR(50) = NULL,
@p_USERNAME varchar(100) = NULL,
@p_CURRENT_URI NVARCHAR(200) = NULL,
@p_NOTES NVARCHAR(500)= NULL,
@p_DVKD_USER_APP NVARCHAR(500)= NULL
AS
BEGIN
DECLARE
@NOTIFATION NVARCHAR(100) = NULL,
@NOTIFY_TO_USER NVARCHAR(100) = NULL,
@EMAIL_CONTENT NVARCHAR(500) = NULL,
@TYPE VARCHAR(10),
@ROLE VARCHAR(20)= NULL,
@BRANCHID VARCHAR(20)= NULL,
@PROCESS_CURR VARCHAR(20)= NULL,
@PROCESS_NEXT VARCHAR(20)= NULL,
@BRANCH_NEXT VARCHAR(20)=NULL,
@DEP_NEXT VARCHAR(20) = NULL,
@DEP_ID VARCHAR(20)
IF(@p_NOTES = 'QLTSconfirmandSendApprove') SET @p_NOTES = N'Bộ phận QLTS gửi đến Bộ phận ĐVCM tham vấn'
SELECT @BRANCHID=TLSUBBRID ,@DEP_ID=DEP_ID FROM dbo.TL_USER WHERE TLNANME=@p_USERNAME
DECLARE @lstCOST TABLE (
COST_ID VARCHAR(20)
)
DECLARE @usersToNotify TABLE (
TLNANME VARCHAR(100)
)
INSERT INTO @lstCOST
SELECT COST_ID FROM dbo.TR_REQUEST_SHOP_COSTCENTER TRSC WHERE TRSC.REQ_ID = @p_REQ_ID
DECLARE @p_LOG_ID VARCHAR(20),@COMPLETE BIT,@PROCESS_PARENT VARCHAR(20),@PROCESS_DES NVARCHAR(500)
DECLARE @ROLE_LOGIN TABLE(ROLE_USER VARCHAR(20), BRANCH_ID VARCHAR(20), DEP_ID VARCHAR(20))
INSERT INTO @ROLE_LOGIN
SELECT tugr.ROLE_ID, tugr.BRANCH_ID, tugr.DEPT_ID FROM dbo.TL_USER_GET_ROLES(@p_USERNAME) tugr
SET @PROCESS_CURR=(SELECT TOP 1 PROCESS_ID FROM dbo.PL_REQUEST_PROCESS
WHERE REQ_ID=@p_REQ_ID AND STATUS='C'
AND EXISTS(SELECT * FROM PL_REQUEST_PROCESS A WHERE A.ID = PL_REQUEST_PROCESS.ID AND A.REQ_ID = @p_REQ_ID AND A.STATUS = 'C'
AND EXISTS(SELECT RL.ROLE_USER FROM @ROLE_LOGIN RL WHERE RL.BRANCH_ID = A.BRANCH_ID
AND (A.BRANCH_ID = 'DV0001' AND A.DEP_ID = RL.DEP_ID OR A.BRANCH_ID <> 'DV0001')
AND RL.ROLE_USER = A.ROLE_USER)))
SET @COMPLETE=0
DECLARE @DEP_QLTS VARCHAR(20), @DEP_DVNB VARCHAR(20), @DEP_HTKD VARCHAR(20)
SET @DEP_QLTS = (SELECT TOP 1 sp.ParaValue FROM SYS_PARAMETERS sp WHERE sp.ParaKey = 'DEP_QLTS')
SET @DEP_DVNB = (SELECT TOP 1 sp.ParaValue FROM SYS_PARAMETERS sp WHERE sp.ParaKey = 'DEP_TTQLTS')
SET @DEP_HTKD = (SELECT TOP 1 sp.ParaValue FROM SYS_PARAMETERS sp WHERE sp.ParaKey = 'DEP_KQLTS')
BEGIN TRANSACTION
-- GỬI DVKD
IF(@p_TYPE_PROCESS='S_TDV')
BEGIN
--check tài sản thay thế ở phiếu đã duyệt
BEGIN
IF(EXISTS(SELECT * FROM TR_REQUEST_SHOP_DOC_DT TRSDD WHERE TRSDD.REQ_DOC_ID = @p_REQ_ID AND REQ_DT_TYPE = 'ASSET_BROKEN' AND TRSDD.ASS_ID IS NOT NULL OR TRSDD.ASS_ID <> ''))
BEGIN
DECLARE @MESSAGE_VALIDATION NVARCHAR(MAX)
DECLARE @TABLE_ASSCODE_VALIDATION TABLE (ASSET_CODE VARCHAR(100), REQ_CODE VARCHAR(100))
INSERT INTO @TABLE_ASSCODE_VALIDATION
SELECT ISNULL(C.ASSET_CODE,C.ASS_CODE_TMP),B.REQ_CODE
FROM TR_REQUEST_SHOP_DOC_DT A
LEFT JOIN TR_REQUEST_SHOP_DOC B ON A.REQ_DOC_ID = B.REQ_ID
LEFT JOIN ASS_MASTER C ON A.ASS_ID = C.ASSET_ID
WHERE A.ASS_ID IN (SELECT C.ASS_ID FROM TR_REQUEST_SHOP_DOC_DT C WHERE C.REQ_DOC_ID = @p_REQ_ID AND C.REQ_DT_TYPE = 'ASSET_BROKEN')
--AND B.IS_DONE = '0'
AND B.REQ_TYPE = 'CPTS'
AND B.AUTH_STATUS <> 'E'
AND A.REQ_DOC_ID <> @p_REQ_ID
IF(EXISTS(SELECT 1 FROM @TABLE_ASSCODE_VALIDATION))
BEGIN
SET @MESSAGE_VALIDATION = (SELECT REPLACE((SELECT
CASE WHEN ROW_NUMBER() OVER (ORDER BY (SELECT 0)) = 1 THEN ''
ELSE '|' END
+ N'Tài sản ' + C.ASSET_CODE + N' đã được chọn trong tài sản yêu cầu thay thế ở phiếu số ' + C.REQ_CODE
FROM (SELECT DISTINCT ISNULL(C.ASSET_CODE,C.ASS_CODE_TMP) AS ASSET_CODE,B.REQ_CODE
FROM TR_REQUEST_SHOP_DOC_DT A
LEFT JOIN TR_REQUEST_SHOP_DOC B ON A.REQ_DOC_ID = B.REQ_ID
LEFT JOIN ASS_MASTER C ON A.ASS_ID = C.ASSET_ID
WHERE A.ASS_ID IN (SELECT C.ASS_ID FROM TR_REQUEST_SHOP_DOC_DT C WHERE C.REQ_DOC_ID = @p_REQ_ID AND C.REQ_DT_TYPE = 'ASSET_BROKEN')
--AND B.IS_DONE = '0'
AND B.REQ_TYPE = 'CPTS'
AND B.AUTH_STATUS <> 'E'
AND A.REQ_DOC_ID <> @p_REQ_ID) C
FOR XML PATH (''))
, '|', '
'))
ROLLBACK TRANSACTION
SELECT '-1' as Result, @MESSAGE_VALIDATION ErrorDesc
RETURN '-1'
END
END
END
-- CẬP NHẬT TRẠNG THÁI CHO REQUEST_PROCESS
--IF(@PROCESS_CURR IS NULL OR @PROCESS_CURR='')
BEGIN
UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C', DVKD_USER_APP = @p_DVKD_USER_APP, RECEPTION_DT = GETDATE() WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID='APPNEW'
UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='P',CHECKER_ID=@p_CHECKER_ID,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103), RECEPTION_DT = GETDATE() WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID='ADDNEW'
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID, DEP_ID, DVKD_USER_APP, PROCESS_TYPE)
VALUES(@p_REQ_ID,'QLTS_N','U','QLTS','DV0001','APPNEW', @DEP_QLTS, @p_DVKD_USER_APP, 'Update')
IF @@Error <> 0 GOTO ABORT
UPDATE TR_REQUEST_SHOP_DOC SET [STATUS]='APPNEW', AUTH_STATUS = 'U' WHERE REQ_ID=@p_REQ_ID
INSERT INTO @usersToNotify
SELECT DISTINCT U.TLNANME FROM TL_USER u
where u.TLNANME= @p_DVKD_USER_APP
SET @p_CURRENT_URI = REPLACE(@p_CURRENT_URI, 'add', 'edit') + ';id=' + @p_REQ_ID
IF @@Error <> 0 GOTO ABORT
IF(EXISTS(SELECT TLNANME FROM @usersToNotify))
SET @COMPLETE=1
ELSE
SET @COMPLETE=0
SET @PROCESS_CURR = 'APPNEW'
END
SET @COMPLETE=1
SET @NOTIFATION= N'Gửi trưởng đơn vị thành công'
SET @PROCESS_DES=N'NEW'
SET @NOTIFY_TO_USER = 'DVKD_APP'
SET @EMAIL_CONTENT = 'TYPE_PROCESS_REQ_ADD_NEW';
SET @PROCESS_DES=N'Nhân viên tạo phiếu và gửi đến Trưởng đơn vị phê duyệt'
END
-- GỬI HỘI SỞ
ELSE IF(@p_TYPE_PROCESS='S_QLTS')
BEGIN
IF(EXISTS(SELECT * FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID = @p_REQ_ID AND STATUS = 'CANCEL'))
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' WH_O_HCQT_MUL_ID, N'Phiếu yêu cầu đã bị hủy' ErrorDesc
RETURN '-1'
END
-- CẬP NHẬT TRẠNG THÁI CHO REQUEST_PROCESS
--SET @PROCESS_PARENT=(SELECT PARENT_PROCESS_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID='QLTS_N')
--IF(@PROCESS_CURR=@PROCESS_PARENT)
BEGIN
UPDATE PL_REQUEST_PROCESS SET [STATUS]='P',CHECKER_ID=@p_CHECKER_ID,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103)
WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID='APPNEW'
--AND (ROLE_USER IN (SELECT ROLE_ID FROM dbo.TL_USER_GET_ROLES(@p_USERNAME)))
IF @@Error <> 0 GOTO ABORT
UPDATE PL_REQUEST_PROCESS SET [STATUS]='C', RECEPTION_DT = CONVERT(DATETIME, @p_APPROVE_DT, 103), NOTES = @p_NOTES
WHERE PROCESS_ID = 'QLTS_N' AND REQ_ID=@p_REQ_ID
SELECT @PROCESS_NEXT=PROCESS_ID,@ROLE=ROLE_USER,@BRANCH_NEXT=BRANCH_ID,@DEP_NEXT=DEP_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS='C'
UPDATE TR_REQUEST_SHOP_DOC SET [STATUS]='QLTS_N', CHECKER_ID = @p_CHECKER_ID,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103), SEND_APP_DT = CONVERT(DATETIME, @p_APPROVE_DT, 103) WHERE REQ_ID=@p_REQ_ID
IF @@Error <> 0 GOTO ABORT
SET @COMPLETE=1
END
SET @NOTIFATION= N'Phiếu đã được chuyển đến bộ phận QLTS - HO'
SET @PROCESS_DES=N'Gửi phòng hành'
SET @NOTIFY_TO_USER = 'UD_REQ_S_HCQT'
SET @EMAIL_CONTENT = 'TYPE_PROCESS_REQ_S_HCQT';
SET @PROCESS_DES=N'Trưởng đơn vị phê duyệt và gửi đến bộ phận QLTS'
END
ELSE IF(@p_TYPE_PROCESS='S_DVCM')
BEGIN
SET @PROCESS_PARENT=(SELECT TOP (1) PARENT_PROCESS_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID='DVCM')
-- CẬP NHẬT TRẠNG THÁI CHO REQUEST_PROCESS
UPDATE PL_REQUEST_PROCESS SET [STATUS]='P',CHECKER_ID=@p_CHECKER_ID,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103)
WHERE REQ_ID=@p_REQ_ID AND [STATUS]='C' AND PROCESS_ID='QLTS_N'
IF((SELECT COUNT(*) FROM TR_REQUEST_SHOP_COSTCENTER TRSC WHERE TRSC.REQ_ID = @p_REQ_ID) = 0)
BEGIN
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID,DEP_ID, PROCESS_TYPE)
VALUES(@p_REQ_ID,'QLTS_NL','C','QLTS','DV0001','QLTS_N',@DEP_QLTS, 'Update')
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID,DEP_ID,PROCESS_TYPE)
VALUES(@p_REQ_ID,'TBP_D','U','TBP_QLTS','DV0001','QLTS_NL',@DEP_QLTS, 'Approve')
-- DUYỆT
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID,DEP_ID,PROCESS_TYPE)
VALUES(@p_REQ_ID,'QLTS_D','U','GDDV_QLTS','DV0001','TBP_D',@DEP_QLTS, 'Approve')
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],PARENT_PROCESS_ID)
VALUES(@p_REQ_ID,'APPROVE','U','QLTS_D')
-- HOÀN TẤT
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],PARENT_PROCESS_ID)
VALUES(@p_REQ_ID,'DONE','U','APPROVE')
UPDATE TR_REQUEST_SHOP_DOC SET [STATUS]='QLTS_NL' , SEND_APP_DT = CONVERT(DATETIME, @p_APPROVE_DT, 103) WHERE REQ_ID=@p_REQ_ID
UPDATE TR_REQUEST_SHOP_DOC SET HO_NOTES = N'- Kế hoạch (Trong/Ngoài NS): ' + CHAR(10) + N'- Nội dung cấp: ' + CHAR(10) + N'- Ghi chú khác: ' WHERE REQ_ID=@p_REQ_ID
INSERT INTO @usersToNotify
SELECT DISTINCT U.TLNANME FROM TL_USER u
LEFT JOIN AbpUserRoles ur ON ur.UserId = u.ID
LEFT JOIN AbpRoles r ON ur.RoleId = r.Id
INNER JOIN
(
SELECT CC.COST_ID AS DEP_ID,CD.BRANCH_ID FROM dbo.PL_REQUEST_PROCESS PL
LEFT JOIN dbo.TR_REQUEST_SHOP_COSTCENTER CC ON CC.COST_ID=pl.COST_ID
LEFT JOIN CM_DEPARTMENT CD ON CC.COST_ID = CD.DEP_ID
WHERE PL.REQ_ID=@p_REQ_ID AND PL.PROCESS_ID='DVCM'
) T ON T.DEP_ID=u.DEP_ID AND T.BRANCH_ID=u.TLSUBBRID
where r.DisplayName = @ROLE AND u.TLNANME != @p_USERNAME
IF @@Error <> 0 GOTO ABORT
SET @COMPLETE=1
SET @p_NOTES = N'Bộ phận QLTS gửi đến Trưởng Bộ phận QLTS phê duyệt'
SET @NOTIFATION= N'Bộ phận QLTS đã tiếp nhận phiếu'
SET @NOTIFY_TO_USER = 'UD_REQ_S_APP'
SET @EMAIL_CONTENT = 'TYPE_PROCESS_REQ_S_APPP';
SET @PROCESS_DES=N'QLTS tiếp nhận và đang kiểm duyệt'
END
ELSE
BEGIN
--UPDATE PL_REQUEST_PROCESS SET [STATUS]='C', RECEPTION_DT = CONVERT(DATETIME, @p_APPROVE_DT, 103) WHERE PROCESS_ID = 'DVCM' AND REQ_ID=@p_REQ_ID
SELECT TOP 1 @PROCESS_NEXT=PROCESS_ID,@ROLE=ROLE_USER FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS='C'
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID,DEP_ID, PROCESS_TYPE)
SELECT trsc.REQ_ID, 'DVCM', 'C', 'DVCM', 'DV0001', 'QLTS_N', trsc.COST_ID,'Update' FROM TR_REQUEST_SHOP_COSTCENTER trsc
WHERE trsc.REQ_ID = @p_REQ_ID
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID,DEP_ID,PROCESS_TYPE)
SELECT trsc.REQ_ID, 'DVCM_D', 'U', 'GDDV', 'DV0001', 'DVCM', trsc.COST_ID, 'Approve' FROM TR_REQUEST_SHOP_COSTCENTER trsc
WHERE trsc.REQ_ID = @p_REQ_ID
--
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID,DEP_ID,PROCESS_TYPE)
VALUES(@p_REQ_ID,'QLTS_NL','U','QLTS','DV0001','DVCM_D',@DEP_QLTS, 'Update')
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID,DEP_ID,PROCESS_TYPE)
VALUES(@p_REQ_ID,'TBP_D','U','TBP_QLTS','DV0001','QLTS_NL',@DEP_QLTS, 'Approve')
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID,DEP_ID,PROCESS_TYPE)
VALUES(@p_REQ_ID,'QLTS_D','U','GDDV_QLTS','DV0001','TBP_D',@DEP_QLTS, 'Approve')
-- DUYỆT
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],PARENT_PROCESS_ID)
VALUES(@p_REQ_ID,'APPROVE','U','QLTS_D')
-- HOÀN TẤT
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],PARENT_PROCESS_ID)
VALUES(@p_REQ_ID,'DONE','U','APPROVE')
UPDATE TR_REQUEST_SHOP_DOC SET [STATUS]='DVCM' WHERE REQ_ID=@p_REQ_ID
INSERT INTO @usersToNotify
SELECT DISTINCT U.TLNANME FROM TL_USER u
LEFT JOIN AbpUserRoles ur ON ur.UserId = u.ID
LEFT JOIN AbpRoles r ON ur.RoleId = r.Id
INNER JOIN
(
SELECT CC.COST_ID AS DEP_ID,CD.BRANCH_ID FROM dbo.PL_REQUEST_PROCESS PL
LEFT JOIN dbo.TR_REQUEST_SHOP_COSTCENTER CC ON CC.COST_ID=pl.COST_ID
LEFT JOIN CM_DEPARTMENT CD ON CC.COST_ID = CD.DEP_ID
WHERE PL.REQ_ID=@p_REQ_ID AND PL.PROCESS_ID='DVCM'
) T ON T.DEP_ID=u.DEP_ID AND T.BRANCH_ID=u.TLSUBBRID
where r.DisplayName = @ROLE AND u.TLNANME != @p_USERNAME
IF @@Error <> 0 GOTO ABORT
SET @COMPLETE=1
SET @NOTIFATION= N'Gửi ĐVCM thành công'
SET @PROCESS_DES=N'Gửi ĐVCM'
SET @NOTIFY_TO_USER = 'UD_REQ_S_DVCM'
SET @EMAIL_CONTENT = 'TYPE_PROCESS_REQ_S_DVCM';
SET @PROCESS_DES=N'QLTS tiếp nhận và gửi đến ĐVCM'
END
END
ELSE IF(@p_TYPE_PROCESS='S_TDVCM')
BEGIN
DECLARE @USERDVCM VARCHAR(15) = ''
SELECT @USERDVCM = TU.SECUR_CODE FROM TL_USER TU WHERE TU.TLNANME = @p_CHECKER_ID
IF(EXISTS(SELECT * FROM dbo.TR_REQUEST_SHOP_COSTCENTER TRSC WHERE REQ_ID = @p_REQ_ID AND TRSC.COST_ID = @USERDVCM AND (TRSC.RE_CONTENT IS NULL OR TRSC.RE_CONTENT = '')))
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' WH_O_HCQT_MUL_ID, N'Chưa nhập ý kiến bộ phận Đơn vị chuyên môn' ErrorDesc
RETURN '-1'
END
UPDATE PL_REQUEST_PROCESS SET STATUS = 'P', APPROVE_DT = GETDATE(), CHECKER_ID = @p_CHECKER_ID, NOTES = N'Đơn vị chuyên môn đã xác nhận'
WHERE REQ_ID = @p_REQ_ID AND PROCESS_ID = 'DVCM' AND STATUS = 'C' AND DEP_ID = @USERDVCM
UPDATE TR_REQUEST_SHOP_COSTCENTER SET AUTH_STATUS = 'U' WHERE REQ_ID = @p_REQ_ID AND COST_ID = @USERDVCM
UPDATE PL_REQUEST_PROCESS SET STATUS = 'C' WHERE REQ_ID = @p_REQ_ID AND PROCESS_ID = 'DVCM_D' AND DEP_ID = @USERDVCM
-- INSERT INTO @usersToNotify
-- SELECT DISTINCT U.TLNANME FROM TL_USER u
-- LEFT JOIN AbpUserRoles ur ON ur.UserId = u.ID
-- LEFT JOIN AbpRoles r ON ur.RoleId = r.Id
-- INNER JOIN
-- (
-- SELECT CC.COST_ID AS DEP_ID,CD.BRANCH_ID FROM dbo.PL_REQUEST_PROCESS PL
-- LEFT JOIN dbo.TR_REQUEST_SHOP_COSTCENTER CC ON CC.COST_ID=pl.COST_ID
-- LEFT JOIN CM_DEPARTMENT CD ON CC.COST_ID = CD.DEP_ID
-- WHERE PL.REQ_ID=@p_REQ_ID AND PL.PROCESS_ID='DVCM'
-- ) T ON T.DEP_ID=u.DEP_ID AND T.BRANCH_ID=u.TLSUBBRID
-- where r.DisplayName = @ROLE AND u.TLNANME != @p_USERNAME
IF @@Error <> 0 GOTO ABORT
BEGIN
SET @COMPLETE=1
SET @NOTIFATION= N'Gửi Trưởng ĐVCM duyệt thành công'
SET @PROCESS_DES=N'Gửi Trưởng ĐVCM duyệt'
SET @NOTIFY_TO_USER = 'UD_REQ_S_DVCM'
SET @EMAIL_CONTENT = 'TYPE_PROCESS_REQ_S_DVCM';
END
END
ELSE IF(@p_TYPE_PROCESS='DVCM_D')
BEGIN
IF(@PROCESS_CURR='DVCM_D')
BEGIN
UPDATE PL_REQUEST_PROCESS SET [STATUS]='P', CHECKER_ID=@p_USERNAME, APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103),
NOTES = @p_NOTES
WHERE REQ_ID=@p_REQ_ID AND STATUS='C' AND PROCESS_ID = 'DVCM_D' AND DEP_ID = @DEP_ID
UPDATE TR_REQUEST_SHOP_COSTCENTER SET AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID WHERE REQ_ID = @p_REQ_ID AND COST_ID = @DEP_ID
IF(NOT EXISTS(SELECT REQ_COST_ID FROM dbo.TR_REQUEST_SHOP_COSTCENTER WHERE REQ_ID=@p_REQ_ID AND AUTH_STATUS <> 'A'))
BEGIN
UPDATE PL_REQUEST_PROCESS SET [STATUS]='C' WHERE REQ_ID=@p_REQ_ID AND PARENT_PROCESS_ID=@PROCESS_CURR
-- CẬP NHẬT TRẠNG THÁI CHO REQUEST_PROCESS
SELECT @PROCESS_NEXT=PROCESS_ID,@ROLE=ROLE_USER,@BRANCH_NEXT=BRANCH_ID,@DEP_NEXT=DEP_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS='C'
UPDATE TR_REQUEST_SHOP_DOC SET [STATUS]= @PROCESS_NEXT WHERE REQ_ID=@p_REQ_ID
UPDATE TR_REQUEST_SHOP_DOC SET HO_NOTES = N'- Kế hoạch (Trong/Ngoài NS): ' + CHAR(10) + N'- Nội dung cấp: ' + CHAR(10) + N'- Ghi chú khác: '
, SEND_APP_DT = CONVERT(DATETIME, @p_APPROVE_DT, 103)
WHERE REQ_ID=@p_REQ_ID
IF @@Error <> 0 GOTO ABORT
SET @COMPLETE=1
END
END
SET @NOTIFATION= N'Duyệt thành công'
SET @NOTIFY_TO_USER = 'UD_REQ_DVCM_XN'
SET @EMAIL_CONTENT = 'TYPE_PROCESS_REQ_DVCM_XN';
SET @PROCESS_DES=N'Trưởng đơn vị chuyển môn duyệt'
END
ELSE IF(@p_TYPE_PROCESS='QLTS_NL')
BEGIN
-- Bắt buộc nhập ý kiến phòng hành chính
IF( NOT EXISTS (SELECT HO_NOTES FROM dbo.TR_REQUEST_SHOP_DOC WHERE REQ_ID = @p_REQ_ID AND HO_NOTES IS NOT NULL AND HO_NOTES <> ''))
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' WH_O_HCQT_MUL_ID, N'Chưa nhập ý kiến bộ phận Quản lý tài sản' ErrorDesc
RETURN '-1'
END
-- Check có chọn loại ts ở lưới QLTS chưa, ko thì ko cho gửi
IF( NOT EXISTS (SELECT * FROM dbo.TR_REQUEST_SHOP_DOC_DT WHERE REQ_DOC_ID = @p_REQ_ID AND REQ_DT_TYPE IN ('BUYNEW','XKSD')))
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' WH_O_HCQT_MUL_ID, N'Thông tin ở lưới CHI TIẾT LOẠI TÀI SẢN CẤP PHÁT - QLTS đang trống' ErrorDesc
RETURN '-1'
END
UPDATE PL_REQUEST_PROCESS SET [STATUS]='P', CHECKER_ID=@p_USERNAME, APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103)
WHERE REQ_ID=@p_REQ_ID AND STATUS='C' AND PROCESS_ID = 'QLTS_NL'
UPDATE PL_REQUEST_PROCESS SET [STATUS]='C' WHERE REQ_ID=@p_REQ_ID AND PARENT_PROCESS_ID=@PROCESS_CURR
UPDATE TR_REQUEST_SHOP_DOC SET [STATUS]= 'TBP_D' WHERE REQ_ID=@p_REQ_ID
SET @COMPLETE=1
SET @p_NOTES = N'Bộ phận QLTS gửi đến Trưởng Bộ phận QLTS phê duyệt'
SET @NOTIFATION= N'Trưởng bộ phận QLTS đã tiếp nhận phiếu'
SET @NOTIFY_TO_USER = 'UD_REQ_S_APP'
SET @EMAIL_CONTENT = 'TYPE_PROCESS_REQ_S_APPP';
SET @PROCESS_DES=N'Trưởng Bộ phận QLTS tiếp nhận và đang kiểm duyệt'
END
ELSE IF(@p_TYPE_PROCESS='QLTS_D')
BEGIN
-- IF(@p_DVKD_USER_APP IS NULL OR @p_DVKD_USER_APP = '')
-- BEGIN
-- ROLLBACK TRANSACTION
-- SELECT '-1' as Result, '' WH_O_HCQT_MUL_ID, N'Chưa chọn TT. QLTS để gửi duyệt' ErrorDesc
-- RETURN '-1'
-- END
-- IF(@p_DVKD_USER_APP IS NOT NULL OR @p_DVKD_USER_APP <> '')
BEGIN
INSERT INTO PL_REQUEST_PROCESS (REQ_ID, [PROCESS_ID], [STATUS], ROLE_USER, BRANCH_ID, PARENT_PROCESS_ID, DEP_ID, DVKD_USER_APP,PROCESS_TYPE)
VALUES (@p_REQ_ID, 'TTQLTS_D', 'C', 'GDDV_QLTS', 'DV0001', 'QLTS_D', @DEP_DVNB, @p_DVKD_USER_APP, 'Approve') --DVKD USER APP TẠI BƯƠC NÀY LÀ TT QLTS USER
UPDATE PL_REQUEST_PROCESS SET [STATUS]='P',CHECKER_ID=@p_USERNAME,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103)
WHERE REQ_ID=@p_REQ_ID AND STATUS='C' AND PROCESS_ID = 'QLTS_D'
UPDATE PL_REQUEST_PROCESS SET PARENT_PROCESS_ID = 'TTQLTS_D' WHERE REQ_ID = @p_REQ_ID AND PROCESS_ID = 'APPROVE'
UPDATE TR_REQUEST_SHOP_DOC SET [STATUS]= 'TTQLTS_D' WHERE REQ_ID=@p_REQ_ID
IF @@Error <> 0 GOTO ABORT
SET @COMPLETE=1
SET @NOTIFATION= N'QLTS gửi đến Trung Tâm QLTS duyệt'
SET @NOTIFY_TO_USER = 'QLTS_S_TTQLTS'
SET @EMAIL_CONTENT = 'TYPE_PROCESS_REQ_QLTS_S_TTQLTS';
SET @PROCESS_DES=N'QLTS gửi đến Trung Tâm QLTS duyệt'
END
END
ELSE IF(@p_TYPE_PROCESS='TBP_D')
BEGIN
UPDATE PL_REQUEST_PROCESS SET [STATUS]='P',CHECKER_ID=@p_USERNAME,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103), NOTES = @p_NOTES
WHERE REQ_ID=@p_REQ_ID AND STATUS='C' AND PROCESS_ID = @PROCESS_CURR
UPDATE PL_REQUEST_PROCESS SET [STATUS]='C' WHERE REQ_ID=@p_REQ_ID AND PARENT_PROCESS_ID=@PROCESS_CURR
UPDATE TR_REQUEST_SHOP_DOC SET [STATUS]= 'QLTS_D' WHERE REQ_ID=@p_REQ_ID
IF @@Error <> 0 GOTO ABORT
SET @COMPLETE=1
SET @NOTIFATION= N'Trưởng Bộ Phận QLTS phê duyệt và gửi đến Trưởng đơn vị QLTS duyệt'
SET @NOTIFY_TO_USER = 'QLTS_S_TTQLTS'
SET @EMAIL_CONTENT = 'TYPE_PROCESS_REQ_QLTS_S_TTQLTS';
SET @PROCESS_DES=N'Trưởng Bộ Phận QLTS phê duyệt và gửi đến Trưởng đơn vị QLTS duyệt'
END
ELSE IF(@p_TYPE_PROCESS='QLTS_A')
BEGIN
IF(EXISTS(SELECT * FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID = @p_REQ_ID AND STATUS = 'CANCEL'))
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' WH_O_HCQT_MUL_ID, N'Phiếu yêu cầu đã bị hủy' ErrorDesc
RETURN '-1'
END
BEGIN
UPDATE PL_REQUEST_PROCESS SET [STATUS]='P',CHECKER_ID=@p_USERNAME,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103), NOTES = @p_NOTES
WHERE REQ_ID=@p_REQ_ID AND [STATUS]='C'
AND PROCESS_ID='QLTS_D'
AND (ROLE_USER IN (SELECT ROLE_ID FROM dbo.TL_USER_GET_ROLES(@p_USERNAME)))
IF @@Error <> 0 GOTO ABORT
UPDATE PL_REQUEST_PROCESS SET [STATUS]='C', RECEPTION_DT = CONVERT(DATETIME, @p_APPROVE_DT, 103), CHECKER_ID=@p_USERNAME,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103)
, NOTES = @p_NOTES
WHERE PROCESS_ID = 'APPROVE' AND REQ_ID=@p_REQ_ID
SELECT @PROCESS_NEXT=PROCESS_ID,@ROLE=ROLE_USER,@BRANCH_NEXT=BRANCH_ID,@DEP_NEXT=DEP_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS='C'
UPDATE TR_REQUEST_SHOP_DOC SET [STATUS]='APPROVE', AUTH_STATUS = 'A' WHERE REQ_ID=@p_REQ_ID
IF @@Error <> 0 GOTO ABORT
SET @COMPLETE=1
END
SET @NOTIFATION= N'Duyệt thành công phiếu yêu cầu'
SET @PROCESS_DES=N'QLTS duyệt'
SET @NOTIFY_TO_USER = 'UD_REQ_S_HCQT'
SET @EMAIL_CONTENT = 'TYPE_PROCESS_REQ_QLTS_APP';
SET @PROCESS_DES=N'Bộ phận QLTS đã phê duyệt'
END
ELSE IF(@p_TYPE_PROCESS='CANCEL')
BEGIN
IF(EXISTS(SELECT * FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID = @p_REQ_ID AND STATUS = 'CANCEL'))
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' WH_O_HCQT_MUL_ID, N'Phiếu yêu cầu đã bị hủy' ErrorDesc
RETURN '-1'
END
UPDATE TR_REQUEST_SHOP_DOC SET STATUS = 'CANCEL', AUTH_STATUS = 'D' WHERE REQ_ID = @p_REQ_ID
-- INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
-- VALUES (@p_REQ_ID, 'CANCEL', @p_CHECKER_ID, GETDATE(), N'Chuyên viên QLTS huỷ phiếu.', @p_NOTES);
-- DELETE PL_REQUEST_PROCESS
-- WHERE REQ_ID = @p_REQ_ID AND STATUS = 'C' AND PROCESS_ID IN ('QLTS_N','QLTS_NL')
DELETE PL_REQUEST_PROCESS WHERE REQ_ID = @p_REQ_ID AND ((STATUS = 'C' AND PROCESS_ID IN ('QLTS_N','QLTS_NL'))
OR STATUS = 'U')
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,NOTES,BRANCH_ID,DEP_ID)
VALUES(@p_REQ_ID,'CANCEL','C','QLTS',@p_CHECKER_ID,GETDATE(),@PROCESS_CURR,'Y',N'Chuyên viên QLTS huỷ phiếu',@BRANCHID,@DEP_ID)
--SET @p_NOTES = N'Huỷ phiếu thành công'
SET @NOTIFATION= N'Huỷ phiếu thành công'
SET @COMPLETE=1
END
-- NOTIFATIONS
IF(@COMPLETE=1)
BEGIN
DECLARE @BXL NVARCHAR(MAX) = ''
IF(@p_TYPE_PROCESS = 'S_TDV') SET @BXL = N'Gửi Trưởng đơn vị phê duyệt'
IF(@p_TYPE_PROCESS = 'S_QLTS') SET @BXL = N'Trưởng đơn vị phê duyệt'
IF(@p_TYPE_PROCESS = 'S_DVCM') SET @BXL = N'Bộ phận QLTS nhận phiếu'
IF(@p_TYPE_PROCESS = 'S_TDVCM') SET @BXL = N'Bộ phận ĐVCM xử lý phiếu'
IF(@p_TYPE_PROCESS = 'DVCM_D') SET @BXL = N'Trưởng đơn vị chuyên môn duyệt'
IF(@p_TYPE_PROCESS = 'QLTS_NL') SET @BXL = N'Bộ phận QLTS xác nhận'
IF(@p_TYPE_PROCESS = 'TBP_D') SET @BXL = N'Trưởng Bộ phận QLTS phê duyệt'
IF(@p_TYPE_PROCESS = 'QLTS_A') SET @BXL = N'Bộ phận QLTS phê duyệt'
IF(@p_TYPE_PROCESS = 'QLTS_D') SET @BXL = N'Gửi Trung Tâm QLTS phê duyệt'
IF(@p_TYPE_PROCESS = 'CANCEL') SET @BXL = N'Chuyên viên QLTS huỷ phiếu'
IF(@p_TYPE_PROCESS = 'CANCEL') SET @PROCESS_CURR = 'CANCEL'
IF(@p_TYPE_PROCESS = 'S_TDV' AND @p_NOTES IS NULL) SET @p_NOTES = N'Nhân viên tạo phiếu và gửi đến Trưởng đơn vị phê duyệt'
IF(@p_TYPE_PROCESS = 'S_TDVCM' AND @p_NOTES IS NULL) SET @p_NOTES = N'Nhân viên ĐVCM gửi Trưởng ĐCVM vị phê duyệt'
IF(@p_TYPE_PROCESS = 'QLTS_NL' AND @p_NOTES IS NULL) SET @p_NOTES = N'QLTS gửi đến Trưởng bộ phận QLTS duyệt'
IF(@p_TYPE_PROCESS = 'QLTS_D' AND @p_NOTES IS NULL) SET @p_NOTES = N'QLTS gửi đến Trung Tâm QLTS duyệt'
IF(@p_TYPE_PROCESS = 'QLTS_A' AND @p_NOTES IS NULL) SET @p_NOTES = N'Trung Tâm Dịch Vụ Nội Bộ phê duyệt phiếu thành công'
-- insert log
INSERT INTO dbo.PL_PROCESS
(
REQ_ID,
PROCESS_ID,
CHECKER_ID,
APPROVE_DT,
PROCESS_DESC,
NOTES
)
VALUES
( @p_REQ_ID, -- REQ_ID - varchar(15)
@PROCESS_CURR, -- PROCESS_ID - varchar(10)
@p_USERNAME, -- CHECKER_ID - varchar(100)
CONVERT(DATETIME, @p_APPROVE_DT, 103), -- APPROVE_DT - datetime
@BXL, -- PROCESS_DESC - nvarchar(1000)
@p_NOTES -- NOTES - nvarchar(1000)
)
DECLARE @ID_PROCESS INT
IF(@p_TYPE_PROCESS='REJECT' OR @p_TYPE_PROCESS='REJECT_DVCM' OR @p_TYPE_PROCESS='REJECT_CVMS' OR @p_TYPE_PROCESS='REJECT_QLTS' )
BEGIN
SET @ID_PROCESS=(SELECT TOP 1 ID FROM dbo.PL_PROCESS WHERE REQ_ID=@p_REQ_ID AND PROCESS_DESC=@p_TYPE_PROCESS ORDER BY ID DESC)
END
IF NOT EXISTS (SELECT 1 FROM @usersToNotify)
BEGIN
--INSERT INTO @usersToNotify
--SELECT U.TLNANME FROM TL_USER u
-- LEFT JOIN AbpUserRoles ur ON ur.UserId = u.ID
-- LEFT JOIN AbpRoles r ON ur.RoleId = r.Id
-- where r.DisplayName = @ROLE and u.TLNANME != @p_USERNAME
INSERT INTO @usersToNotify
SELECT U.TLNANME FROM TL_USER u
WHERE u.TLNANME != @p_USERNAME
and U.ID IN (SELECT ur.UserId FROM AbpUserRoles ur
LEFT JOIN AbpRoles r ON ur.RoleId = r.Id
where r.DisplayName = @ROLE)
END
Declare @C_TLNAME VARCHAR(100)
-- declare a cursor
DECLARE insert_cursor CURSOR FOR SELECT TLNANME FROM @usersToNotify WHERE TLNANME IS NOT NULL AND TLNANME <>''
-- open cursor and fetch first row into variables
OPEN insert_cursor
UPDATE dbo.TL_ROLE_NOTIFICATION SET RECORD_STATUS = '0' WHERE PO_ID = @p_REQ_ID AND RECORD_STATUS = '1'
FETCH NEXT FROM insert_cursor into @C_TLNAME
WHILE @@FETCH_STATUS=0
BEGIN
DECLARE @NOTIFI_ID VARCHAR(15)
EXEC SYS_CodeMasters_Gen 'TL_ROLE_NOTIFICATION', @NOTIFI_ID OUT
INSERT INTO [dbo].[TL_ROLE_NOTIFICATION]
([NOTIFI_ID]
,[NOTIFI_CODE]
,[NOTIFI_NAME]
,[TYPE]
,[PO_ID]
,[TL_NAME]
,[BRANCH_ID]
,[RECORD_STATUS]
,[AUTH_STATUS]
,[EDITOR_ID]
,[EDIT_DT]
,[NOTES]
,[MAKER_ID]
,[CREATE_DT])
VALUES
(@NOTIFI_ID
,NULL
,NULL
,'UD_REQ'
,@p_REQ_ID
,@C_TLNAME
,@BRANCHID
,'1'
,'U'
,@C_TLNAME
,CONVERT(DATETIME,GETDATE(),103)
,NULL
,@C_TLNAME
,CONVERT(DATETIME,GETDATE(),103))
-- Thông báo email
DECLARE @NFM_ID VARCHAR(15)
EXEC SYS_CodeMasters_Gen 'NF_MESSAGE', @NFM_ID OUT
INSERT INTO dbo.NF_MESSAGE
(
MESSAGE_ID,
SENDER_ID,
RECIPIENT_ID,
TARGET_ID,
MESSAGE_CONTENT,
CREATE_DATE,
SEND_DATE,
MESSAGE_STATUS,
READ_STATUS,
PAGE_OCCUR,
RECORD_ID,
DATATYPE_NAME
)
VALUES
( @NOTIFI_ID, -- MESSAGE_ID - varchar(15)
NULL, -- SENDER_ID - varchar(100)
'UD_REQ', -- RECIPIENT_ID - varchar(100)
@p_REQ_ID, -- TARGET_ID --
@EMAIL_CONTENT, -- MESSAGE_CONTENT - nvarchar(1000)
GETDATE(), -- CREATE_DATE - datetime
NULL, -- SEND_DATE - datetime
'NS', -- MESSAGE_STATUS - varchar(100)
NULL, -- READ_STATUS - varchar(100)
@p_CURRENT_URI, --'http://localhost:4200/app/admin/trade-request-doc-edit;id=' + @p_REQ_ID, -- PAGE_OCCUR - varchar(100)
@NFM_ID, -- RECORD_ID - varchar(100)
@ID_PROCESS -- DATATYPE_NAME - varchar(100)
)
print @C_TLNAME
IF @@ERROR <> 0 GOTO ABORT
-- check for a new row
-- do complex operation here
FETCH NEXT FROM insert_cursor into @C_TLNAME
END
close insert_cursor
Deallocate insert_cursor
DECLARE @NOTIFI_ID_MAKER VARCHAR(15)
DECLARE @NFM_ID_MAKER VARCHAR(15)
IF(@p_TYPE_PROCESS <> 'S_DVKD' AND (NOT EXISTS (SELECT * FROM @usersToNotify N WHERE N.TLNANME = @p_MAKERID)))
BEGIN
EXEC SYS_CodeMasters_Gen 'TL_ROLE_NOTIFICATION', @NOTIFI_ID_MAKER OUT
INSERT INTO [dbo].[TL_ROLE_NOTIFICATION]
([NOTIFI_ID]
,[NOTIFI_CODE]
,[NOTIFI_NAME]
,[TYPE]
,[PO_ID]
,[TL_NAME]
,[BRANCH_ID]
,[RECORD_STATUS]
,[AUTH_STATUS]
,[EDITOR_ID]
,[EDIT_DT]
,[NOTES]
,[MAKER_ID]
,[CREATE_DT])
VALUES
(@NOTIFI_ID_MAKER
,NULL
,NULL
,'UD_REQ_MAKER'
,@p_REQ_ID
,@p_MAKERID --@C_TLNAME
,@BRANCHID
,'1'
,'U'
,@p_MAKERID
,CONVERT(DATETIME,GETDATE(),103)
,NULL
,@p_MAKERID
,CONVERT(DATETIME,GETDATE(),103))
-- Thông báo email
EXEC SYS_CodeMasters_Gen 'NF_MESSAGE', @NFM_ID_MAKER OUT
INSERT INTO dbo.NF_MESSAGE
(
MESSAGE_ID,
SENDER_ID,
RECIPIENT_ID,
TARGET_ID,
MESSAGE_CONTENT,
CREATE_DATE,
SEND_DATE,
MESSAGE_STATUS,
READ_STATUS,
PAGE_OCCUR,
RECORD_ID,
DATATYPE_NAME
)
VALUES
( @NOTIFI_ID_MAKER, -- MESSAGE_ID - varchar(15)
NULL, -- SENDER_ID - varchar(100)
'UD_REQ_MAKER', -- RECIPIENT_ID - varchar(100)
@p_REQ_ID, -- TARGET_ID --
@EMAIL_CONTENT, -- MESSAGE_CONTENT - nvarchar(1000)
GETDATE(), -- CREATE_DATE - datetime
NULL, -- SEND_DATE - datetime
'NS', -- MESSAGE_STATUS - varchar(100)
NULL, -- READ_STATUS - varchar(100)
@p_CURRENT_URI, --'http://localhost:4200/app/admin/trade-request-doc-edit;id=' + @p_REQ_ID, -- PAGE_OCCUR - varchar(100)
@NFM_ID_MAKER, -- RECORD_ID - varchar(100)
@ID_PROCESS -- DATATYPE_NAME - varchar(100)
)
END
ELSE
BEGIN
EXEC SYS_CodeMasters_Gen 'TL_ROLE_NOTIFICATION', @NOTIFI_ID_MAKER OUT
INSERT INTO [dbo].[TL_ROLE_NOTIFICATION]
([NOTIFI_ID]
,[NOTIFI_CODE]
,[NOTIFI_NAME]
,[TYPE]
,[PO_ID]
,[TL_NAME]
,[BRANCH_ID]
,[RECORD_STATUS]
,[AUTH_STATUS]
,[EDITOR_ID]
,[EDIT_DT]
,[NOTES]
,[MAKER_ID]
,[CREATE_DT])
VALUES
(@NOTIFI_ID_MAKER
,NULL
,NULL
,'UD_REQ_MAKER'
,@p_REQ_ID
,'app.qlts' --@C_TLNAME
,@BRANCHID
,'1'
,'U'
,'app.qlts'
,CONVERT(DATETIME,GETDATE(),103)
,NULL
,'app.qlts'
,CONVERT(DATETIME,GETDATE(),103))
-- Thông báo email
EXEC SYS_CodeMasters_Gen 'NF_MESSAGE', @NFM_ID_MAKER OUT
INSERT INTO dbo.NF_MESSAGE
(
MESSAGE_ID,
SENDER_ID,
RECIPIENT_ID,
TARGET_ID,
MESSAGE_CONTENT,
CREATE_DATE,
SEND_DATE,
MESSAGE_STATUS,
READ_STATUS,
PAGE_OCCUR,
RECORD_ID,
DATATYPE_NAME
)
VALUES
( @NOTIFI_ID_MAKER, -- MESSAGE_ID - varchar(15)
NULL, -- SENDER_ID - varchar(100)
'UD_REQ_MAKER', -- RECIPIENT_ID - varchar(100)
@p_REQ_ID, -- TARGET_ID --
@EMAIL_CONTENT, -- MESSAGE_CONTENT - nvarchar(1000)
GETDATE(), -- CREATE_DATE - datetime
NULL, -- SEND_DATE - datetime
'NS', -- MESSAGE_STATUS - varchar(100)
NULL, -- READ_STATUS - varchar(100)
@p_CURRENT_URI, --'http://localhost:4200/app/admin/trade-request-doc-edit;id=' + @p_REQ_ID, -- PAGE_OCCUR - varchar(100)
@NFM_ID_MAKER, -- RECORD_ID - varchar(100)
@ID_PROCESS -- DATATYPE_NAME - varchar(100)
)
END
END
COMMIT TRANSACTION
SELECT '0' as Result, @NOTIFATION AS NOTIFATION, '' ErrorDesc, @NOTIFY_TO_USER AS NEXT_USER_NOTIFI, @COMPLETE COMPLETE
RETURN '0'
ABORT:
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' AS RESULT
RETURN '-1'
End
END
GO
IF @@ERROR <> 0 SET NOEXEC ON
GO
PRINT N'Altering [dbo].[ASS_ADDNEW_BVB_Ins]'
GO
ALTER PROCEDURE [dbo].[ASS_ADDNEW_BVB_Ins]
@p_BUY_DATE VARCHAR(10) = NULL,
@p_TYPE_ID varchar(15) = NULL,
@p_GROUP_ID varchar(15) = NULL,
@p_ASSET_NAME nvarchar(1000) = NULL,
@p_ASSET_SERIAL_NO nvarchar(max) = NULL,
@p_ASSET_DESC nvarchar(max) = NULL,
@p_BRANCH_ID varchar(15) = NULL,
@p_DEPT_ID varchar(15) = NULL,---------Them ma phong ban
@p_EMP_ID varchar(15) = NULL,-----------Them Nguoi su dung
@p_DIVISION_ID varchar(15) = NULL,----------Them co so
@p_AMORT_START_DATE varchar(20) = NULL,------------THEM NGAY BD KHAU HAO
@p_AMORT_END_DATE varchar(20) = NULL,------------THEM NGAY KT KHAU HAO
@p_BUY_PRICE decimal(18) = NULL,
@p_AMORT_AMT decimal(18) = NULL,
@p_AMORT_MONTH decimal(18,2) = NULL,
@p_AMORT_RATE decimal(18,2) = NULL,
@p_IS_MULTIPLE varchar(1) = NULL,
@p_QTY int = NULL,
@p_PO_ID varchar(15) = NULL,
@p_PD_ID varchar(15) = NULL, --Them de luu chi tiet PO
@p_REF_ASSET_ID varchar(15) = NULL,
@p_REF_AMORTIZED_AMT decimal(18) = NULL,
@p_WARRANTY_MONTHS int = NULL,
@p_NOTES nvarchar(1000) = NULL,
@p_CORE_NOTE nvarchar(500) = NULL,
@p_ENTRY_BOOKED varchar(1) = NULL, --Them de kiem tra co hach toan tai san khi nhap ts khong (Y/N)?
@p_ADDNEW_DT XML = NULL,
@p_RECORD_STATUS varchar(1) = NULL,
@p_AUTH_STATUS varchar(1) = NULL,
@p_MAKER_ID varchar(15) = NULL,
@p_CREATE_DT VARCHAR(20) = NULL,
@p_CHECKER_ID varchar(15) = NULL,
@p_APPROVE_DT VARCHAR(20) = NULL,
@p_CONSTRUCT_ID VARCHAR(15) = NULL,
@p_POSTED_STATUS VARCHAR(1) = 'Y',
@p_BRANCH_CREATE VARCHAR(15) = NULL,
@p_ACCOUNT_GL VARCHAR(50),
@VAT DECIMAL(18,2),
@PRICE_VAT DECIMAL(18,2),
@p_ADDNEW_PO XML = NULL,
@p_ADDNEW_GD XML = NULL,
--/************ LUCTV ***************/
@p_ASS_PO_ID VARCHAR(15) = NULL,
@p_ADDNEW_ID VARCHAR(15) = NULL,
@p_PO_CODE VARCHAR(500) = NULL,
@p_INVOICE_NO VARCHAR(500) = NULL,
@p_INVOICE_SYMPOL VARCHAR(500) = NULL,
@p_INVOICE_DT VARCHAR(20) = NULL
--/************ khiemchg ***************/
,@p_CONTRACT_ID VARCHAR(15) NULL
,@p_SUP_ID VARCHAR(15) NULL
,@p_ASS_STATUS VARCHAR(50) NULL
,@p_PL_CODE VARCHAR(50) NULL
,@p_WAR_EXPIRE_DT VARCHAR(50) NULL
,@p_REQ_ID VARCHAR(15) NULL
,@p_REQ_CODE VARCHAR(50) NULL
,@p_PR_CODE VARCHAR(250) NULL
,@p_UNIT VARCHAR(50) NULL
,@p_WIN VARCHAR(1) NULL
,@p_OFFICE VARCHAR(1) NULL
,@p_FORWARD_CONTENT NVARCHAR(MAX) NULL
AS
DECLARE @l_ADDNEW_ID VARCHAR(15)
DECLARE @l_ADDNEWDT_ID VARCHAR(15)
Declare @hdoc INT
DECLARE @l_ASSET_ID VARCHAR(15)
DECLARE @l_WAR_DT nvarchar(25)
DECLARE @l_WAR_CONTENT nvarchar(1000)
DECLARE @l_DEPT_CREATE VARCHAR(15) = (SELECT SECUR_CODE FROM dbo.TL_USER WHERE TLNANME = @p_MAKER_ID)
/************ Vadilation here ***************/
DECLARE @ERRORSYS NVARCHAR(15) = ''
BEGIN TRY
/*** so thang khau hao phai lon hon 0 ************/
IF (@p_AMORT_MONTH < 0)
SET @ERRORSYS = 'ASS-00016'
--/****KIEM TRA NHAP SO TIEN > 0****/
--IF (@p_BUY_PRICE <= 0)
-- SET @ERRORSYS = 'ASS-99995'
IF @ERRORSYS <> ''
BEGIN
SELECT ErrorCode Result, '' ADDNEW_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
RETURN '-1'
END
/***KIEM TRA NEU LA CCLD THI GIA TRI SAU THUE < 30TR ***/
IF @p_TYPE_ID = 'CCLD' AND (ISNULL(@p_BUY_PRICE,0) + ISNULL(@PRICE_VAT,0)) >= 30000000
BEGIN
SELECT 'CCLD01' Result, '' ADDNEW_ID, N'Giá trị CCLĐ sau thuế phải nhỏ hơn 30 triệu.' ErrorDesc
RETURN '-1'
END
--IF(@p_PO_CODE IS NULL OR @p_PO_CODE ='')
--BEGIN
-- SELECT '-1' Result, '' ASS_PO_ID, N'Số PO không được để trống' ErrorDesc
-- RETURN '-1'
--END
--IF(@p_INVOICE_NO IS NULL OR @p_INVOICE_NO ='')
--BEGIN
-- SELECT '-1' Result, '' ASS_PO_ID, N'Số hóa đơn không được để trống' ErrorDesc
-- RETURN '-1'
--END
--IF(@p_INVOICE_DT IS NULL OR @p_INVOICE_DT ='')
--BEGIN
-- SELECT '-1' Result, '' ASS_PO_ID, N'Ngày hóa đơn không được để trống' ErrorDesc
-- RETURN '-1'
--END
/*******************End validaiton **************/
Exec sp_xml_preparedocument @hdoc Output, @p_ADDNEW_DT
DECLARE AddnewDT CURSOR LOCAL FOR
SELECT *
FROM OPENXML(@hdoc,'/Root/ADDNEWDT',2)
WITH
(
WAR_DT varchar(20),
WAR_CONTENT nvarchar(1000)
)
OPEN AddnewDT
Exec sp_xml_preparedocument @hdoc Output, @p_ADDNEW_PO
DECLARE AddnewPO CURSOR LOCAL FOR
SELECT *
FROM OPENXML(@hdoc,'/Root/ADDNEWDT',2)
WITH
(
ADDNEW_PO_ID varchar(15),
PO_ID varchar(15) ,
PO_CODE varchar(15) --,
--INVOICE_NO varchar(200),
--INVOICE_DT VARCHAR(20)
)
Exec sp_xml_preparedocument @hdoc Output, @p_ADDNEW_GD
DECLARE AddnewGD CURSOR LOCAL FOR
SELECT *
FROM OPENXML(@hdoc,'/Root/ADDNEWDT',2)
WITH
(
TRPO_ID varchar(15),--PD_ID
ADDNEW_GD_ID varchar(15),
GOOD_ID varchar(15),
GOOD_NAME nvarchar(500),
PRICE decimal(18, 0),
VAT decimal(18, 2),
PRICE_VAT decimal(18, 0),
QUANTITY int ,
INVOICE_NO varchar(200),
INVOICE_DT NVARCHAR(25),
PO_ID VARCHAR(15)
)
BEGIN TRANSACTION
SET @p_ACCOUNT_GL = (SELECT ParaValue FROM SYS_PARAMETERS WHERE ParaKey = 'ASSET_SUPPEND_GL')
IF @p_QTY = '0' OR @p_IS_MULTIPLE = '0'
BEGIN
SET @p_QTY = '1'
SET @p_IS_MULTIPLE = '0'
END
IF(@p_BRANCH_ID IS NULL)
BEGIN
SELECT @p_BRANCH_ID = CE.BRANCH_ID, @p_DEPT_ID = CE.DEP_ID FROM CM_EMPLOYEE CE WHERE CE.EMP_ID = @p_EMP_ID
END
DECLARE @l_SL_IN_PYC INT =(SELECT ISNULL(SUM(TRSDD.QTY_ETM),0) FROM TR_REQUEST_SHOP_DOC_DT TRSDD
LEFT JOIN TR_REQUEST_SHOP_DOC TRSD ON TRSD.REQ_ID = TRSDD.REQ_DOC_ID
WHERE TRSD.REQ_CODE = @p_REQ_CODE AND TRSDD.ASS_GROUP_ID = @p_GROUP_ID AND TRSDD.REQ_DT_TYPE = 'BUYNEW')
IF (@p_ASSET_NAME = '' OR @p_ASSET_NAME IS NULL)
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' ADDNEW_ID, N'Tên tài sản không được để trống.' ErrorDesc
RETURN '-1'
END
IF (@p_REQ_CODE <> '' OR @p_REQ_CODE IS NOT NULL)
BEGIN
IF ((SELECT COUNT(*) FROM TR_REQUEST_SHOP_DOC WHERE REQ_CODE = @p_REQ_CODE) = 0)
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' ADDNEW_ID, N'Số PYC nhập không hợp lệ.' ErrorDesc
RETURN '-1'
END
--kiem tra so luong so voi PYC
IF(@p_QTY > @l_SL_IN_PYC)
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' ADDNEW_ID, N'Số lượng tài sản không được lớn hơn số lượng tài sản có cùng loại được thêm mới theo Phiếu yêu cầu' ErrorDesc
RETURN '-1'
END
END
SET @p_REQ_ID = (SELECT REQ_ID FROM TR_REQUEST_SHOP_DOC WHERE REQ_CODE = @p_REQ_CODE)
DECLARE @BRANCH_TYPE VARCHAR(15) = (SELECT CB.BRANCH_TYPE FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @p_BRANCH_CREATE)
DECLARE @BRANCH_TYPE_XSD VARCHAR(15) = (SELECT CB.BRANCH_TYPE FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @p_BRANCH_ID)
IF (@BRANCH_TYPE <> 'HS')
BEGIN
IF (@p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
BEGIN
--Kiểm tra nếu là đơn vị kinh doanh tạo thì buộc nhập PYC
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' ADDNEW_ID, N'Bạn phải chọn phiếu yêu cầu để thực hiện tạo nhập mới' ErrorDesc
RETURN '-1'
END
END
IF (@BRANCH_TYPE_XSD = 'HS' AND (@p_DEPT_ID IS NULL OR @p_DEPT_ID = ''))
BEGIN
--Kiểm tra nếu là đơn vị Hội sở tạo chọn PYC
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' ADDNEW_ID, N'Bạn phải chọn phòng ban để thực hiện xuất sử dụng' ErrorDesc
RETURN '-1'
END
IF(@p_REQ_CODE = '')
BEGIN
SET @p_REQ_CODE = NULL
END
EXEC SYS_CodeMasters_Gen 'ASS_ADDNEW', @l_ADDNEW_ID out
IF @l_ADDNEW_ID='' OR @l_ADDNEW_ID IS NULL GOTO ABORT
DECLARE @l_AMORT_START_DATE_CV NVARCHAR(25) = NULL
DECLARE @l_AMORT_END_DATE_CV NVARCHAR(25) = NULL
IF @p_AMORT_START_DATE IS NOT NULL AND @p_AMORT_START_DATE <> ''
BEGIN
SET @l_AMORT_START_DATE_CV = CONVERT(DATETIME, @p_AMORT_START_DATE, 103)
END
IF @p_AMORT_END_DATE IS NOT NULL AND @p_AMORT_END_DATE <> ''
BEGIN
SET @l_AMORT_END_DATE_CV = CONVERT(DATETIME, @p_AMORT_END_DATE, 103)
END
INSERT INTO ASS_ADDNEW
(
[ADDNEW_ID],
[BUY_DATE],
[TYPE_ID],
[GROUP_ID],
[ASSET_NAME],
[ASSET_SERIAL_NO],
[ASSET_DESC],
[BRANCH_ID],
[DEPT_ID],------------------Them
[EMP_ID],--------------------------Them
[DIVISION_ID],-----------------Them
[AMORT_START_DATE],-----------Them
[BUY_PRICE],
[AMORT_AMT],
[AMORT_MONTH],
[AMORT_RATE],
[IS_MULTIPLE],
[QTY],
[PO_ID],
PD_ID,
[REF_ASSET_ID],
[REF_AMORTIZED_AMT],
[WARRANTY_MONTHS],
[NOTES],
[CORE_NOTE],
[ENTRY_BOOKED],
[RECORD_STATUS],
[AUTH_STATUS],
[MAKER_ID],
[CREATE_DT],
[CHECKER_ID],
[APPROVE_DT],
[CONSTRUCT_ID], ----------------Them
POSTED_STATUS,--THEM 14/04/2014
[BRANCH_CREATE],--THEM 14/04/2014
[AUTH_STATUS_KT], -- THEM 08/05/2014,
[REPORT_STATUS],
[AMORT_END_DATE],
[ACCOUNT_GL],
[VAT],
[PRICE_VAT],
[DEPT_CREATE],
CONTRACT_ID, SUP_ID, ASS_STATUS, PL_CODE, WAR_EXPIRE_DT,REQ_ID, REQ_CODE, PR_CODE, UNIT, WIN_CRACK, OFFICE_CRACK, FORWARD_CONTENT
)
VALUES
(
@l_ADDNEW_ID ,
CONVERT(DATETIME, @p_BUY_DATE, 103) ,
@p_TYPE_ID ,
@p_GROUP_ID ,
@p_ASSET_NAME ,
@p_ASSET_SERIAL_NO ,
@p_ASSET_DESC ,
@p_BRANCH_ID ,
@p_DEPT_ID,----------------Them
@p_EMP_ID,---------------Them
@p_DIVISION_ID,---------Them
@l_AMORT_START_DATE_CV,--CONVERT(DATETIME, @p_AMORT_START_DATE, 103), -------------Them
ISNULL(@p_BUY_PRICE, 0),
@p_AMORT_AMT ,
@p_AMORT_MONTH ,
@p_AMORT_RATE ,
@p_IS_MULTIPLE ,
@p_QTY ,
@p_PO_ID ,
@p_PD_ID,
@p_REF_ASSET_ID ,
@p_REF_AMORTIZED_AMT ,
@p_WARRANTY_MONTHS ,
@p_NOTES ,
@p_CORE_NOTE,
@p_ENTRY_BOOKED,
@p_RECORD_STATUS ,
@p_AUTH_STATUS ,
@p_MAKER_ID ,
CONVERT(DATETIME, @p_CREATE_DT, 103) ,
@p_CHECKER_ID ,
CASE WHEN @p_APPROVE_DT = '' OR @p_APPROVE_DT IS NULL THEN NULL ELSE CONVERT(DATETIME, @p_APPROVE_DT, 103) END,
@p_CONSTRUCT_ID,
@p_POSTED_STATUS,
@p_BRANCH_CREATE,
'E','N',@l_AMORT_END_DATE_CV,
@p_ACCOUNT_GL ,
@VAT ,
@PRICE_VAT,
@l_DEPT_CREATE
,@p_CONTRACT_ID
,@p_SUP_ID
,@p_ASS_STATUS
,@p_PL_CODE
,CONVERT(DATETIME, @p_WAR_EXPIRE_DT, 103)
,@p_REQ_ID
,@p_REQ_CODE
,@p_PR_CODE
,@p_UNIT, @p_WIN, @p_OFFICE, @p_FORWARD_CONTENT
)
IF @@Error <> 0 GOTO ABORT
--INSERT VAO BANG ASS_PO --------------------------------
EXEC SYS_CodeMasters_Gen 'ASS_PO', @p_ASS_PO_ID out
IF @p_ASS_PO_ID='' OR @p_ASS_PO_ID IS NULL GOTO ABORT
INSERT INTO dbo.ASS_PO
(
ASSPO_ID,ADDNEW_ID,PO_CODE,INVOICE_NO,INVOICE_DATE,NOTES,RECORD_STATUS,AUTH_STATUS,MAKER_ID,CREATE_DT,
CHECKER_ID,APPROVE_DT,BRANCH_ID, INVOICE_SYMPOL
)
VALUES (@p_ASS_PO_ID,@l_ADDNEW_ID,@p_PO_CODE,@p_INVOICE_NO,CONVERT(DATETIME,@p_INVOICE_DT,103),NULL,'1','A',@p_MAKER_ID,CONVERT(DATETIME, @p_CREATE_DT, 103),@p_CHECKER_ID,CONVERT(DATETIME, @p_APPROVE_DT, 103),@p_BRANCH_CREATE,@p_INVOICE_SYMPOL)
-- BO SUNG THEM DOAN CODE INSERT PO_ID CHO BANG ADD_NEW - LUCTV - 09-11-2018
UPDATE ASS_ADDNEW SET PO_ID = @p_ASS_PO_ID WHERE ADDNEW_ID =@l_ADDNEW_ID
IF @@Error <> 0 GOTO ABORT
------------------------------------------------------------
FETCH NEXT FROM AddnewDT INTO @l_WAR_DT, @l_WAR_CONTENT
WHILE @@FETCH_STATUS = 0
BEGIN
IF(NOT EXISTS (SELECT * FROM ASS_ADDNEW_DT WHERE ADDNEW_ID=@p_ADDNEW_ID AND CONVERT(DATE,WAR_DT, 103) = CONVERT(DATE,@l_WAR_DT,103)))
BEGIN
IF(@l_WAR_DT IS NULL OR @l_WAR_DT = '')
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' ADDNEW_ID, N'Thời gian bảo hành không được để trống' ErrorDesc
RETURN '-1'
END
EXEC SYS_CodeMasters_Gen 'ASS_ADDNEW_DT', @l_ADDNEWDT_ID out
IF @l_ADDNEWDT_ID='' OR @l_ADDNEWDT_ID IS NULL GOTO ABORT
INSERT INTO ASS_ADDNEW_DT(ADDNEWDT_ID, ADDNEW_ID , WAR_DT, WAR_CONTENT)
VALUES(@l_ADDNEWDT_ID, @l_ADDNEW_ID, CONVERT(DATETIME, @l_WAR_DT, 103), @l_WAR_CONTENT)
END
IF @@Error <> 0 GOTO ABORT
FETCH NEXT FROM AddnewDT INTO @l_WAR_DT, @l_WAR_CONTENT
PRINT @l_WAR_DT
END
CLOSE AddnewDT
DEALLOCATE AddnewDT
--INSERT DANH SACH PO
DECLARE @PO_ID varchar(15) , @ADD_PO_ID VARCHAR(15),
@PO_CODE varchar(15) ,
@INVOICE_NO varchar(200),
@INVOICE_DT NVARCHAR(25)
OPEN AddnewPO
FETCH NEXT FROM AddnewPO INTO @ADD_PO_ID, @PO_ID, @PO_CODE--, @INVOICE_NO, @INVOICE_DT
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC SYS_CodeMasters_Gen 'ASS_ADDNEW_PO', @ADD_PO_ID out
INSERT INTO ASS_ADDNEW_PO VALUES (@ADD_PO_ID,@l_ADDNEW_ID, @PO_ID, @PO_CODE, '',NULL, '',@p_INVOICE_SYMPOL)
FETCH NEXT FROM AddnewPO INTO @ADD_PO_ID, @PO_ID, @PO_CODE--, @INVOICE_NO, @INVOICE_DT
END
CLOSE AddnewPO
DEALLOCATE AddnewPO
--INSERT DANH SACH THAM CHIEU HANG HOA
DECLARE @GOOD_ID varchar(15), @ADD_GD_ID VARCHAR(15),@TRPO_ID VARCHAR(15),
@GOOD_NAME nvarchar(500),
@PRICE decimal(18, 0),
@VAT_DT decimal(18, 2),
@PRICE_VAT_DT decimal(18, 0),
@QUANTITY int , @GD_PO_ID VARCHAR(15)
OPEN AddnewGD
FETCH NEXT FROM AddnewGD INTO @TRPO_ID, @ADD_GD_ID, @GOOD_ID, @GOOD_NAME, @PRICE, @VAT_DT, @PRICE_VAT_DT, @QUANTITY, @INVOICE_NO, @INVOICE_DT, @GD_PO_ID
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC SYS_CodeMasters_Gen 'ASS_ADDNEW_GD', @ADD_GD_ID out
IF @INVOICE_DT = '' SET @INVOICE_DT = NULL
INSERT INTO ASS_ADDNEW_GD VALUES (@ADD_GD_ID,@l_ADDNEW_ID,@TRPO_ID, @GOOD_ID, @GOOD_NAME, @PRICE, @VAT_DT, @PRICE_VAT_DT, @QUANTITY, '', @INVOICE_NO,CONVERT(DATETIME, @INVOICE_DT, 103), @GD_PO_ID,@p_INVOICE_SYMPOL)
FETCH NEXT FROM AddnewGD INTO @TRPO_ID, @ADD_GD_ID, @GOOD_ID, @GOOD_NAME, @PRICE, @VAT_DT, @PRICE_VAT_DT, @QUANTITY, @INVOICE_NO, @INVOICE_DT, @GD_PO_ID
END
CLOSE AddnewGD
DEALLOCATE AddnewGD
-- GIANT Insert to table PL_PROCESS
--INSERT INTO dbo.PL_PROCESS
-- (
-- REQ_ID,
-- PROCESS_ID,
-- CHECKER_ID,
-- APPROVE_DT,
-- PROCESS_DESC,
-- NOTES
-- )
-- VALUES
-- ( @l_ADDNEW_ID,
-- 'INSERT',
-- @p_MAKER_ID,
-- GETDATE(),
-- N'Thêm mới phiếu nhập kho thành công' ,
-- N'Đơn vị tạo phiếu nhập kho'
-- )
COMMIT TRANSACTION
SELECT '0' as Result, @l_ADDNEW_ID ADDNEW_ID, '' ErrorDesc
RETURN '0'
ABORT:
BEGIN
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' ADDNEW_ID, '' ErrorDesc
RETURN '-1'
End
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION
SELECT '-1' as Result, '' ADDNEW_ID, ERROR_MESSAGE() ErrorDesc
RETURN '-1'
END CATCH