ALTER FUNCTION [dbo].[FN_GET_USER_BY_ROLE] ( @ROLE_NAME VARCHAR(MAX), @BRANCH_ID VARCHAR(20) = NULL, @DEPT_ID VARCHAR(20) = NULL) RETURNS @result TABLE ( TLNANME VARCHAR(100), TLFullName NVARCHAR(200), BRANCH_ID VARCHAR(15), DEP_ID VARCHAR(50), ROLE_OLD VARCHAR(100), ROLE_NEW VARCHAR(100), EFF_DATE DATETIME, EXP_DATE DATETIME ) AS BEGIN DECLARE @ROLES TABLE(RoleName VARCHAR(20)) INSERT @ROLES(RoleName) SELECT VALUE FROM wsiSplit(@ROLE_NAME,',') DECLARE @BRANCH_TYPE VARCHAR(15) = (SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID = @BRANCH_ID) INSERT INTO @result SELECT * FROM ( SELECT TU.TLNANME, TU.TLFullName, TU.TLSUBBRID AS BRANCH_ID, TU.SECUR_CODE AS DEP_ID, R.DisplayName AS ROLE_OLD, TRM.ROLE_NEW,NULL AS EFF_DATE, NULL AS EXP_DATE FROM dbo.TL_USER TU LEFT JOIN dbo.AbpUserRoles UR ON TU.ID = UR.UserId INNER JOIN dbo.AbpRoles R ON R.Id = UR.RoleId LEFT JOIN (SELECT * FROM dbo.TL_SYS_ROLE_MAPPING RM WHERE RM.TLNAME IS NULL OR RM.TLNAME = '') TRM ON (TRM.ROLE_OLD = R.DisplayName) UNION ALL SELECT TU.TLNANME, TU.TLFullName, RM.BRANCH_ID, RM.DEP_ID, RM.ROLE_OLD, RM.ROLE_NEW, RM.EFF_DATE,RM.EXP_DATE FROM dbo.TL_USER TU LEFT JOIN dbo.TL_SYS_ROLE_MAPPING RM ON TU.TLNANME = RM.TLNAME WHERE CAST(RM.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE) ) TMP WHERE 1 = 1 AND ((TMP.ROLE_OLD IN (SELECT * FROM @ROLES) OR TMP.ROLE_NEW IN (SELECT * FROM @ROLES)) OR @ROLE_NAME IS NULL OR @ROLE_NAME = '') AND ((@BRANCH_TYPE = 'HS' AND TMP.BRANCH_ID = @BRANCH_ID AND TMP.DEP_ID = @DEPT_ID) OR (@BRANCH_TYPE <> 'HS' AND TMP.BRANCH_ID = @BRANCH_ID) OR (@BRANCH_ID IS NULL OR @BRANCH_ID = '') ) RETURN; END GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_MASTER_VIEW]' GO ALTER VIEW [dbo].[ASS_MASTER_VIEW] AS SELECT dbo.CM_SUPPLIER.SUP_NAME ,dbo.CM_SUPPLIER.SUP_CODE ,dbo.CM_SUPPLIER.SUP_TYPE_ID ,dbo.CM_SUPPLIER.ADDR ,dbo.CM_SUPPLIER.EMAIL ,dbo.ASS_GROUP.GROUP_CODE ,dbo.ASS_GROUP.GROUP_NAME ,dbo.CM_EMPLOYEE.EMP_NAME ,dbo.CM_EMPLOYEE.EMP_CODE ,dbo.CM_DIVISION.DIV_CODE ,dbo.CM_DIVISION.DIV_NAME ,dbo.CM_DEPARTMENT.DEP_CODE ,dbo.CM_DEPARTMENT.DEP_NAME ,dbo.CM_BRANCH.BRANCH_CODE ,dbo.CM_BRANCH.BRANCH_NAME ,dbo.ASS_MASTER.ASSET_ID ,dbo.ASS_MASTER.TYPE_ID ,dbo.ASS_MASTER.GROUP_ID ,dbo.ASS_MASTER.ASSET_CODE ,dbo.ASS_MASTER.ASSET_NAME ,dbo.ASS_MASTER.ASSET_SERIAL_NO ,dbo.ASS_MASTER.ASSET_DESC ,dbo.ASS_MASTER.SUP_ID ,dbo.ASS_MASTER.BUY_PRICE ,dbo.ASS_MASTER.AMORT_AMT ,dbo.ASS_MASTER.ASS_TYPE ,dbo.ASS_MASTER.BRANCH_ID ,dbo.ASS_MASTER.DEPT_ID ,dbo.ASS_MASTER.EMP_ID ,dbo.ASS_MASTER.DIVISION_ID ,dbo.ASS_MASTER.BUY_DATE ,dbo.ASS_MASTER.USE_DATE ,dbo.ASS_MASTER.SPECIAL_ASS ,dbo.ASS_MASTER.AMORT_MONTH ,dbo.ASS_MASTER.AMORT_RATE ,dbo.ASS_MASTER.AMORT_START_DATE ,dbo.ASS_MASTER.AMORT_END_DATE ,dbo.ASS_MASTER.FIRST_AMORT_AMT ,dbo.ASS_MASTER.MONTHLY_AMORT_AMT ,dbo.ASS_MASTER.AMORTIZED_MONTH ,dbo.ASS_MASTER.AMORTIZED_AMT ,dbo.ASS_MASTER.LIQUIDATION_DT ,dbo.ASS_MASTER.PO_ID ,dbo.ASS_MASTER.PD_ID ,dbo.ASS_MASTER.WAREHOUSE_ID ,dbo.ASS_MASTER.LOCATION ,dbo.ASS_MASTER.REF_ASSET_ID ,dbo.ASS_MASTER.REF_AMORTIZED_AMT ,dbo.ASS_MASTER.WARRANTY_MONTHS ,dbo.ASS_MASTER.NOTES ,dbo.ASS_MASTER.AMORT_STATUS ,dbo.ASS_MASTER.ASS_STATUS ,dbo.ASS_MASTER.ASS_STATUS_DESC ,dbo.ASS_MASTER.RECORD_STATUS ,dbo.ASS_MASTER.AUTH_STATUS ,dbo.ASS_MASTER.MAKER_ID ,dbo.ASS_MASTER.CREATE_DT ,dbo.ASS_MASTER.CHECKER_ID ,dbo.ASS_MASTER.APPROVE_DT ,dbo.ASS_PO.PO_CODE ,dbo.TR_PO_MASTER.PO_NAME ,ISNULL(dbo.ASS_MASTER.BUY_PRICE - dbo.ASS_MASTER.AMORTIZED_AMT, 0) AS REMAIN_VALUE ,ISNULL(dbo.ASS_MASTER.AMORT_AMT - dbo.ASS_MASTER.AMORTIZED_AMT, 0) AS REMAIN_AMORT_AMT ,dbo.ASS_TYPE.TYPE_CODE ,dbo.ASS_TYPE.TYPE_NAME ,dbo.ASS_AMORT_STATUS.STATUS_NAME AS AMORT_STATUS_NAME --,dbo.ASS_STATUS.STATUS_NAME AS ASS_STATUS_NAME, ,CASE WHEN ASS_MASTER.LIQ_W_STATUS = '1' AND ASS_MASTER.AMORT_STATUS = 'DTL' THEN N'Đã thanh lý' ELSE ASS_STATUS.STATUS_NAME END AS ASS_STATUS_NAME ,RA.ASSET_CODE AS REF_ASSET_CODE ,RA.ASSET_NAME AS REF_ASSET_NAME ,dbo.ASS_MASTER.USE_DATE_KT ,dbo.ASS_MASTER.BUY_DATE_KT ,dbo.ASS_MASTER.USE_STATUS ,dbo.ASS_MASTER.BRANCH_CREATE ,BRCR.BRANCH_NAME AS BRANCH_CREATE_NAME ,BRCR.BRANCH_CODE AS BRANCH_CREATE_CODE ,dbo.ASS_MASTER.ACCOUNT_GL ,dbo.ASS_MASTER.VAT ,dbo.ASS_MASTER.PRICE_VAT ,OS.CONTENT AS IS_OS ,LICENSE.CONTENT AS IS_MO_LICENSE ,ASS_MASTER.OS ,ASS_MASTER.MO_LICENSE, --RG.GROUP_CODE AS REF_GROUP_CODE, RG.GROUP_NAME AS REF_GROUP_NAME, --RT.TYPE_CODE AS REF_TYPE_CODE, RT.TYPE_NAME AS REF_TYPE_NAME --dbo.FN_GET_CHINHANH(dbo.ASS_MASTER.BRANCH_ID,'KV') KHU_VUC, --dbo.FN_GET_CHINHANH(dbo.ASS_MASTER.BRANCH_ID,'CN') CHI_NHANH, --D.BRANCH_NAME PGD AN.PR_CODE, --SỐ PR AN.CONTRACT_ID AS ASS_CONTRACT_CODE, -- SỐ HỢP ĐỒNG AN.PL_CODE, --SỐ TỜ TRÌNH AP.INVOICE_NO --SỐ HOÁ ĐƠN FROM dbo.ASS_MASTER LEFT OUTER JOIN dbo.ASS_GROUP ON dbo.ASS_MASTER.GROUP_ID = dbo.ASS_GROUP.GROUP_ID LEFT OUTER JOIN dbo.CM_SUPPLIER ON dbo.ASS_MASTER.SUP_ID = dbo.CM_SUPPLIER.SUP_ID LEFT OUTER JOIN dbo.CM_EMPLOYEE ON dbo.ASS_MASTER.EMP_ID = dbo.CM_EMPLOYEE.EMP_ID LEFT OUTER JOIN dbo.CM_BRANCH ON dbo.ASS_MASTER.BRANCH_ID = dbo.CM_BRANCH.BRANCH_ID LEFT OUTER JOIN dbo.CM_AUTH_STATUS ON dbo.ASS_MASTER.AUTH_STATUS = dbo.CM_AUTH_STATUS.AUTH_STATUS LEFT OUTER JOIN dbo.CM_DEPARTMENT ON dbo.ASS_MASTER.DEPT_ID = dbo.CM_DEPARTMENT.DEP_ID LEFT OUTER JOIN dbo.CM_DIVISION ON dbo.ASS_MASTER.DIVISION_ID = dbo.CM_DIVISION.DIV_ID LEFT OUTER JOIN dbo.TR_PO_MASTER ON dbo.TR_PO_MASTER.PO_ID = dbo.ASS_MASTER.PO_ID LEFT OUTER JOIN dbo.ASS_TYPE ON dbo.ASS_TYPE.TYPE_ID = dbo.ASS_MASTER.TYPE_ID LEFT OUTER JOIN dbo.ASS_AMORT_STATUS ON dbo.ASS_AMORT_STATUS.STATUS_CODE = dbo.ASS_MASTER.AMORT_STATUS LEFT OUTER JOIN dbo.ASS_STATUS ON dbo.ASS_STATUS.STATUS_ID = dbo.ASS_MASTER.ASS_STATUS LEFT OUTER JOIN dbo.ASS_MASTER RA ON RA.ASSET_ID = dbo.ASS_MASTER.REF_ASSET_ID LEFT OUTER JOIN dbo.ASS_PO ON dbo.ASS_MASTER.PO_ID = dbo.ASS_PO.ASSPO_ID LEFT OUTER JOIN dbo.CM_BRANCH BRCR ON dbo.ASS_MASTER.BRANCH_CREATE = BRCR.BRANCH_ID LEFT JOIN CM_ALLCODE OS ON ASS_MASTER.OS = OS.CDVAL AND OS.CDNAME = 'OS_LICENSE' AND OS.CDTYPE = 'STATUS' LEFT JOIN CM_ALLCODE LICENSE ON ASS_MASTER.MO_LICENSE = LICENSE.CDVAL AND LICENSE.CDNAME = 'OS_LICENSE' AND LICENSE.CDTYPE = 'STATUS' LEFT JOIN ASS_TRANSACTIONS AT ON AT.ASSET_ID = dbo.ASS_MASTER.ASSET_ID AND AT.TRN_TYPE = 'ADD_NEW' LEFT JOIN ASS_ADDNEW AN ON AT.TRN_ID = AN.ADDNEW_ID AND AT.TRN_TYPE = 'ADD_NEW' LEFT JOIN ASS_PO AP ON AN.ADDNEW_ID = AP.ADDNEW_ID --dbo.ASS_GROUP RG ON RG.GROUP_ID = RA.GROUP_ID AND RA.ASSET_ID = dbo.ASS_MASTER.REF_ASSET_ID LEFT JOIN --dbo.ASS_TYPE RT ON RG.TYPE_ID = RA.TYPE_ID AND RA.ASSET_ID = dbo.ASS_MASTER.REF_ASSET_ID -- LEFT JOIN CM_BRANCH D ON D.BRANCH_ID = dbo.ASS_MASTER.BRANCH_ID GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_LIQUIDDETAIL_BVB_ById]' GO ALTER PROCEDURE [dbo].[ASS_LIQUIDDETAIL_BVB_ById] @p_LIQ_ID varchar(15) = NULL AS BEGIN SELECT A.LIQDT_ID,A.LIQ_ID,A.ASSET_ID,A.LIQ_PRICE,A.LIQ_TYPE,A.AUTH_STATUS,A.MAKER_ID, A.NOTE, A.CREATE_DT,A.CHECKER_ID,A.APPROVE_DT, B.ASSET_NAME, B.ASSET_CODE, B.BUY_PRICE, A.REMAIN_AMORTIZED_AMT, A.BUY_PRICE, A.BUY_PRICE_LIQ, A.REMAIN_VALUE, A.LIQ_AMT, CASE WHEN A.ASS_STATUS IS NULL OR A.ASS_STATUS = '' THEN ASS.STATUS_NAME ELSE ASS2.STATUS_NAME END AS ASS_STATUS_NAME, --Tinh trang tai san B.ASS_STATUS_DESC, B.AMORT_STATUS, CASE WHEN A.AMORT_STATUS IS NULL OR A.AMORT_STATUS = '' THEN AAS.STATUS_NAME ELSE AAS2.STATUS_NAME END AS AMORT_STATUS_NAME, -- Trang thai khau hao CB.BRANCH_NAME AS BRANCH_NAME_USE, CB.BRANCH_ID AS BRANCH_ID_USE, CD.DEP_NAME AS DEPT_NAME_USE, CD.DEP_ID AS DEPT_ID_USE , AZ.LIST_LIQ_REQUEST , A.LIQ_REQ_ID, CASE WHEN A.ASS_AMORTIZED_MONTH IS NULL THEN ISNULL(B.AMORTIZED_MONTH,0) ELSE ISNULL(A.ASS_AMORTIZED_MONTH,0) END ASS_AMORTIZED_MONTH, CASE WHEN A.ASS_AMORTIZED_AMT IS NULL THEN ISNULL(B.AMORTIZED_AMT,0) ELSE ISNULL(A.ASS_AMORTIZED_AMT,0) END ASS_AMORTIZED_AMT , CASE WHEN A.LIQ_VAT IS NULL THEN 0 ELSE A.LIQ_VAT END AS LIQ_VAT , CASE WHEN A.LIQ_VAT IS NULL THEN 0 ELSE A.LIQ_PRICE_VAT END AS LIQ_PRICE_VAT ,A.REQ_AMT -- ,A.REQ_AMT - ISNULL(A.LIQ_PRICE_VAT, 0) AS LIQ_AMT_BE_VAT , A.LIQ_AMT_BE_VAT ,A.LIQ_REASON FROM ASS_LIQUIDATION_DT A LEFT JOIN ASS_MASTER B ON A.ASSET_ID=B.ASSET_ID LEFT JOIN ASS_AMORT_STATUS AAS ON AAS.STATUS_CODE = B.AMORT_STATUS LEFT JOIN ASS_STATUS ASS ON B.ASS_STATUS = ASS.STATUS_ID LEFT JOIN ASS_AMORT_STATUS AAS2 ON AAS.STATUS_CODE = A.AMORT_STATUS LEFT JOIN ASS_STATUS ASS2 ON A.ASS_STATUS = ASS.STATUS_ID LEFT JOIN CM_BRANCH CB ON A.BRANCH_ID_USE = CB.BRANCH_ID LEFT JOIN CM_DEPARTMENT CD ON CD.DEP_ID = A.DEP_ID_USE LEFT JOIN ASS_LIQUIDATION AZ ON A.LIQ_ID = AZ.LIQ_ID WHERE 1 = 1 AND A.LIQ_ID = @p_LIQ_ID END GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_COST_ALLOCATION_Byid]' GO ALTER PROC [dbo].[ASS_COST_ALLOCATION_Byid] @p_COS_ID VARCHAR(15) AS SELECT A.*,B.BRANCH_CODE, B.BRANCH_NAME, ISNULL(C.DEP_CODE,B.BRANCH_CODE) DEP_CODE, ISNULL(C.DEP_NAME,B.BRANCH_NAME) DEP_NAME FROM ASS_COST_ALLOC_DT A LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID LEFT JOIN CM_DEPARTMENT C ON A.DEPT_ID = C.DEP_ID WHERE 1=1 AND(A.COS_ID =@p_COS_ID) AND A.RECORD_STATUS <>'D' GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_MASTER_Search]' GO ALTER PROCEDURE [dbo].[ASS_MASTER_Search] @p_ASSET_ID varchar(15) = NULL, @p_TYPE_ID varchar(15) = NULL, @p_GROUP_ID varchar(15) = NULL, @p_ASSET_CODE nvarchar(MAX) = NULL, @p_ASSET_NAME nvarchar(1000) = NULL, @p_ASSET_SERIAL_NO nvarchar(MAX) = NULL, @p_ASSET_DESC nvarchar(MAX) = NULL, @p_SUP_ID varchar(15) = NULL, @p_BUY_PRICE decimal(18,2) = NULL, @p_AMORT_AMT decimal(18,2) = NULL, @p_ASS_TYPE varchar(1) = NULL, @p_ASS_CAT varchar(10) = NULL, @p_BRANCH_ID varchar(15) = NULL, @p_BRANCH_LOGIN varchar(15) = NULL, @p_DEPT_ID varchar(15) = NULL, @p_EMP_ID varchar(15) = NULL, @p_DIVISION_ID varchar(15) = NULL, @p_BUY_DATE varchar(10) = NULL, @p_USE_DATE varchar(10) = NULL, @p_SPECIAL_ASS varchar(1) = NULL, @p_AMORT_MONTH decimal(18,2) = NULL, @p_AMORT_RATE decimal(18,2) = NULL, @p_AMORT_START_DATE varchar(10) = NULL, @p_AMORT_END_DATE varchar(10) = NULL, @p_FIRST_AMORT_AMT decimal(18,2) = NULL, @p_AMORTIZED_MONTH decimal(18,2)= NULL, @p_REMAIN_MONTH decimal(18,2) = NULL, --so thang khau hao con lai @p_AMORTIZED_AMT decimal(18,2) = NULL, @p_PO_ID varchar(15) = NULL, @p_WAREHOUSE_ID varchar(15) = NULL, @p_LOCATION nvarchar(500) = NULL, @p_REF_ASSET_ID varchar(15) = NULL, @p_REF_AMORTIZED_AMT decimal(18,2) = NULL, @p_WARRANTY_MONTHS INT = NULL, @p_NOTES nvarchar(1000) = NULL, @p_AMORT_STATUS nvarchar(50) = NULL, --Neu muon list nhieu trang thai thi trueyn vao nhieu status cach dau bang dau , vidu: 'VNM,CKH' @p_ASS_STATUS nvarchar(20) = NULL, @p_ASS_STATUS_DESC nvarchar(1000) = NULL, @p_TOP INT = NULL, @p_ORDER_BY varchar(500) = 1, @p_LEVEL varchar(10) = NULL, @p_USE_STATUS varchar(15) = NULL, --- LUCTV 22-03-2019 BO SUNG 1 SO FIELD HO TRO TIM KIEM @p_EMP_CODE NVARCHAR(500) = NULL, @p_EMP_NAME NVARCHAR(500) = NULL, @p_ADDNEWID VARCHAR(20) = NULL, @p_ADDNEW_NOTES NVARCHAR(1000) = NULL, @p_USE_MASTER_ID VARCHAR(50) = NULL, @P_YEAR VARCHAR(5) = NULL, @P_UNUSED_ASSET VARCHAR(5) = NULL, --PHUCVH 31-10-22 BỔ SUNG TÌM THEO HỆ ĐIỀU HÀNH VÀ BẢN QUYỀN MICROSOFT OFFICE @P_OS VARCHAR(10) = NULL, @P_MO_LICENSE VARCHAR(10) = NULL, @P_REQ_ID VARCHAR(15) = NULL, --Tìm kiếm TS theo PYC @P_REQ_DT_TYPE VARCHAR(15) = NULL, --Tìm kiếm TS theo loại tài sản trong PYC @P_BRANCH_PYC VARCHAR(15) = NULL, --TÌM KIẾM @P_USER_LOGIN VARCHAR(50), @p_IS_FIND_REQ_ID VARCHAR(5) = NULL, -- TÌM THEO TÀI SẢN NHẬP MỚI (VALLUE = 1) @p_FROM_BUY_DATE VARCHAR(50) = NULL, --Ngày nhập tài sản (từ ngày) @p_TO_BUY_DATE VARCHAR(50) = NULL, --Ngày nhập tài sản (đến ngày) @p_FROM_USE_DATE_KT VARCHAR(50) = NULL, --Ngày xuất tài sản (từ ngày) @p_TO_USE_DATE_KT VARCHAR(50) = NULL, --Ngày xuất tài sản (đến ngày) @p_PR_CODE VARCHAR(100) = NULL, --Số PR @p_PL_CODE VARCHAR(100) = NULL, --SỐ TỜ TRÌNH @p_INVOICE_NO VARCHAR(100) = NULL, -- SỐ HOÁ ĐƠN @p_INVOICE_SYMPOL VARCHAR(100) = NULL, -- KÝ HIỆU HOÁ ĐƠN @p_ASS_CONTRACT_CODE VARCHAR(100) = NULL, --SỐ HỢP ĐỒNG @p_REQ_CODE VARCHAR(100) = NULL --Thêm trường tìm kiếm số PYC AS --thieuvq 19/7/2016 - DOC DU LIEU BO QUA COMMIT TRANSACTION SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED -- --gan tam sau khi golive thi xoa thieuvq 05082015 --IF @p_ASSET_NAME = 'khoinm15479' OR @p_ASSET_NAME = 'nghiann17858' --BEGIN -- SET @p_ASSET_NAME = '' -- SET @p_LEVEL = 'ALL' --END DECLARE @l_LSTASSETCODE TABLE ( [ID] [int] IDENTITY(1,1) NOT NULL, [VALUE] [VARCHAR](MAX) NULL) INSERT INTO @l_LSTASSETCODE SELECT VALUE FROM WSISPLIT(@p_ASSET_CODE,',') --DIEU CHINH CHO PHEP SEARCH TOAN HANG - CHI THAO - 5/9/2016 --IF @p_ASS_CAT = 'CAR' BEGIN SET @p_LEVEL = 'ALL' END BEGIN -- PAGING declare @tmp1 table(BRANCH_ID varchar(15)) insert into @tmp1 SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID) declare @tmp2 table(BRANCH_ID varchar(15)) insert into @tmp2 SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN) --IF @p_TOP = '' SET @p_TOP = 1000000 DECLARE @P_TARGET_BRANCH_ID VARCHAR(15), @DEP_LOGIN VARCHAR(20) SELECT @DEP_LOGIN = tu.DEP_ID FROM TL_USER tu WHERE tu.TLNANME = @P_USER_LOGIN IF @p_TOP IS NULL OR @p_TOP = '' BEGIN -- PAGING BEGIN SELECT MK.TLSUBBRID,A.MONTHLY_AMORT_AMT, A.ASSET_ID, A.[TYPE_ID],C.[TYPE_CODE], C.[TYPE_NAME], A.GROUP_ID,B.GROUP_CODE, B.GROUP_NAME, B.ASS_CAT, CASE WHEN A.ASSET_CODE IS NULL OR A.ASSET_CODE = '' THEN A.ASS_CODE_TMP ELSE A.ASSET_CODE END AS ASSET_CODE, A.ASSET_NAME, A.ASSET_SERIAL_NO, A.ASSET_DESC, A.SUP_ID, A.BUY_PRICE, A.AMORT_AMT, A.ASS_TYPE, A.BRANCH_ID,BR.BRANCH_CODE,BR.BRANCH_NAME,A.DEPT_ID,DP.DEP_CODE,DP.DEP_NAME, A.EMP_ID,EM.EMP_CODE AS EMP_CODE,EM.EMP_NAME AS EMP_NAME, A.DIVISION_ID, A.BUY_DATE, A.USE_DATE, A.SPECIAL_ASS, A.AMORT_MONTH, A.AMORT_RATE, A.AMORT_START_DATE, A.AMORT_END_DATE, A.FIRST_AMORT_AMT, A.AMORTIZED_MONTH, (A.AMORT_MONTH - A.AMORTIZED_MONTH) AS REMAIN_MONTH, A.AMORTIZED_AMT, ISNULL((A.AMORT_AMT - A.AMORTIZED_AMT), ISNULL(A.AMORT_AMT,0)) AS REMAIN_AMORTIZED_AMT, --So tien khau hao con lai A.PO_ID,A.PD_ID, A.WAREHOUSE_ID, A.LOCATION, A.REF_ASSET_ID, A.REF_AMORTIZED_AMT, A.WARRANTY_MONTHS, A.NOTES, A.AMORT_STATUS, D.STATUS_NAME AMORT_STATUS_NAME, A.ASS_STATUS, CASE WHEN A.LIQ_W_STATUS = '1' AND A.AMORT_STATUS = 'DTL' THEN N'Đã thanh lý' ELSE E.STATUS_NAME END AS ASS_STATUS_NAME, --Tinh trang tai san A.ASS_STATUS_DESC, A.RECORD_STATUS, A.AUTH_STATUS, ZZ.AUTH_STATUS_NAME, A.MAKER_ID, A.CREATE_DT, A.CHECKER_ID, A.USE_STATUS,--THIEUVQ 23062015 A.APPROVE_DT, A.ACCOUNT_GL, A.VAT, A.PRICE_VAT, --dbo.FN_GET_CHINHANH(A.BRANCH_ID,'KV') KHU_VUC, NULL AS KHU_VUC, --dbo.FN_GET_CHINHANH(A.BRANCH_ID,'CN') CHI_NHANH, BRCR.BRANCH_NAME CHI_NHANH, BBB.BRANCH_NAME PGD , B.AMORT_MONTH AS GROUP_AMORT_MONTH, BRCR.BRANCH_NAME AS BRANCH_RECIVE, BRCR.BRANCH_NAME AS BRANCH_CREATE_NAME, BRCR.BRANCH_ID AS BRANCH_CREATE_ID, BRCR.BRANCH_CODE AS BRANCH_CREATE_CODE, --LUCTV : 26-12-2018 BO SUNG AMORT MIN - MAX CUA TAI SAN THEO NHOM DE HIEN THI BEN MAN HINH CHINH SUA THONG TIN TAI SAN B.AMORT_MONTH_MAX, B.AMORT_MONTH_MIN, --LUCTV : 22 -03 -19 BO SUNG LEFT JOIN ASS_TRANSACTIONS AN.ADDNEW_ID, AN.NOTES AS ADDNEW_NOTES,AUMD.USER_MASTER_ID AS USE_MASTER_ID, DPT.DEP_ID as DVCM_ID, DPT.DEP_NAME AS DVCM_NAME, AN.WAR_EXPIRE_DT,--Ngày hết hạn bảo hành AN.PR_CODE, --SỐ PR AN.CONTRACT_ID AS ASS_CONTRACT_CODE, -- SỐ HỢP ĐỒNG AN.PL_CODE, --SỐ TỜ TRÌNH AP.INVOICE_NO, --SỐ HOÁ ĐƠN AP.INVOICE_SYMPOL, --SỐ HOÁ ĐƠN ----Start Phucvh 13/10/22 Get khối/Trung tâm/Phòng ban CASE WHEN DP.TYPE = 'K' THEN DP.DEP_ID ELSE K.DEP_ID END AS BLOCK_ID, CASE WHEN DP.TYPE = 'K' THEN DP.DEP_NAME ELSE K.DEP_NAME END AS BLOCK_NAME, CASE WHEN DP.TYPE = 'TT' THEN DP.DEP_ID ELSE TT.DEP_ID END AS CENTER_ID, CASE WHEN DP.TYPE = 'TT' THEN DP.DEP_NAME ELSE TT.DEP_NAME END AS CENTER_NAME, CASE WHEN DP.TYPE = 'PB' THEN DP.DEP_ID ELSE NULL END AS DEPT_ID_1, CASE WHEN DP.TYPE = 'PB' THEN DP.DEP_NAME ELSE NULL END AS DEP_NAME_1, ----End Phucvh 13/10/22 Get khối/Trung tâm/Phòng ban CA.CONTENT AS IS_OS, --Hệ điều hành CA1.CONTENT AS IS_MO_LICENSE, --Bản quyền Microsoft Office A.REQ_ID, A.REQ_CODE, AN.WAR_EXPIRE_DT AS WAR_END_DT, --ngày hết hạn bảo hành (CASE WHEN A.IS_COLLECT <> '1' THEN N'Đang sử dụng' ELSE N'Đã thu hồi' END) AS IS_COLLECT_NAME --Trạng thái tài sản (đang sử dụng || đang thu hồi) , --A.ASS_CONTRACT_CODE, CASE WHEN DEP_CRE.DEP_ID IS NULL AND A.BRANCH_CREATE = 'DV0001' THEN N'PHÒNG QUẢN LÝ TÀI SẢN' ELSE DEP_CRE.DEP_NAME END AS DEP_CREATE_NAME, CU.UNIT_NAME AS UNIT_NAME, CR.REGION_NAME AS REGION_NAME, '1' AS QTY, B1.GROUP_NAME AS GROUP_NAME_1, B2.GROUP_NAME AS GROUP_NAME_2 --KHIEMCHG: LẤY THÔNG TIN TÀI SẢN CHO KẾ TOÁN ,A.AMORT_START_DATE NGAY_BD_KH, ISNULL(A.FIRST_AMORT_AMT,0) SO_TIEN_KH_THANG_DAU_TIEN, ISNULL(A.MONTHLY_AMORT_AMT,0) SO_TIEN_KH_HANG_THANG, A.AMORT_MONTH SO_THANG_KH, ISNULL(A.AMORTIZED_AMT,0) KHAU_HAO_LK, CASE WHEN A.TYPE_ID = 'TSCD' THEN (CASE WHEN A.AMORT_STATUS ='VNM' THEN epa.ACC_NO ELSE ISNULL(agkt3.ASSET_ACCTNO,agkt.ASSET_ACCTNO) END) WHEN A.TYPE_ID = 'CCLD' THEN (CASE WHEN A.AMORT_STATUS ='VNM' THEN agkt.ASSET_ACCTNO WHEN A.AMORT_STATUS ='NKH' OR A.IS_COLLECT = 1 THEN epa2.ACC_NO ELSE agkt.AMORT_ACCTNO END) END AS TK -- SELECT END FROM ASS_MASTER A LEFT JOIN ASS_GROUP B ON A.GROUP_ID = B.GROUP_ID LEFT JOIN ASS_TYPE C ON A.[TYPE_ID] = C.[TYPE_ID] LEFT JOIN ASS_AMORT_STATUS D ON A.AMORT_STATUS = D.STATUS_CODE LEFT JOIN ASS_STATUS E ON A.ASS_STATUS = E.STATUS_ID LEFT JOIN CM_AUTH_STATUS ZZ ON ZZ.AUTH_STATUS = A.AUTH_STATUS LEFT JOIN CM_BRANCH BR ON BR.BRANCH_ID=A.BRANCH_ID LEFT JOIN CM_EMPLOYEE EM ON EM.EMP_ID=A.EMP_ID LEFT JOIN TL_USER MK ON MK.TLNANME = A.MAKER_ID LEFT JOIN CM_BRANCH BBB ON BBB.BRANCH_ID = A.BRANCH_ID LEFT JOIN CM_DEPARTMENT DP ON DP.DEP_ID = A.DEPT_ID LEFT JOIN CM_DEPARTMENT DPT ON DPT.DEP_ID = B.DVCM_ID LEFT JOIN CM_BRANCH BRCR ON BRCR.BRANCH_ID = A.BRANCH_CREATE --LUCTV : 22 -03 -19 BO SUNG LEFT JOIN ASS_TRANSACTIONS LEFT JOIN ASS_TRANSACTIONS AT ON AT.ASSET_ID = A.ASSET_ID AND AT.TRN_TYPE = 'ADD_NEW' LEFT JOIN ASS_ADDNEW AN ON AT.TRN_ID = AN.ADDNEW_ID AND AT.TRN_TYPE = 'ADD_NEW' LEFT JOIN CM_DEPARTMENT DEP_CRE ON AN.DEPT_CREATE = DEP_CRE.DEP_ID LEFT JOIN ASS_PO AP ON AN.ADDNEW_ID = AP.ADDNEW_ID --LUCTV: 26-08-2019 BO SUNG THEM DIEU KIEN KHI NAO NHAP MA PHIEU XUAT THI MOI LEFT JOIN LEFT JOIN ASS_TRANSACTIONS AU ON AU.ASSET_ID = A.ASSET_ID AND AU.TRN_TYPE ='ADD_USE' LEFT JOIN ASS_USE_MULTI_DT AUMD ON AU.TRN_ID = AUMD.USE_MULTI_ID AND AU.TRN_TYPE ='ADD_USE' LEFT JOIN CM_ALLCODE CA ON A.OS = CA.CDVAL AND CA.CDNAME = 'OS_LICENSE' AND CA.CDTYPE = 'STATUS' --HỆ ĐIỀU HÀNH LEFT JOIN CM_ALLCODE CA1 ON A.MO_LICENSE = CA1.CDVAL AND CA1.CDNAME = 'OS_LICENSE' AND CA1.CDTYPE = 'STATUS' --BẢN QUYỀN MICROSOFT OFFICE LEFT JOIN CM_UNIT CU ON B.UNIT = CU.UNIT_ID LEFT JOIN CM_REGIONS CR ON BR.REGION_ID = CR.REGION_ID LEFT JOIN ASS_GROUP B1 ON B1.GROUP_ID = B.PARENT_ID LEFT JOIN ASS_GROUP B2 ON B2.GROUP_ID = B1.PARENT_ID --PHUCVH: GET KHOI/TRUNG TAM/ PHONG BAN CUA TAI SAN LEFT JOIN CM_DEPARTMENT TT ON TT.DEP_ID = DP.FATHER_ID LEFT JOIN CM_DEPARTMENT K ON K.DEP_ID = DP.KHOI_ID LEFT JOIN TR_REQUEST_SHOP_DOC REQ ON A.REQ_ID = REQ.REQ_ID --KHIEMCHG: LẤY THÔNG TIN TÀI SẢN CHO KẾ TOÁN LEFT JOIN ASS_GROUP agkt3 ON A.REF_GROUP_ID = agkt3.GROUP_ID LEFT JOIN ASS_GROUP agkt ON A.GROUP_ID = agkt.GROUP_ID LEFT JOIN ASS_GROUP agkt1 ON agkt1.GROUP_ID=agkt.PARENT_ID LEFT JOIN ASS_GROUP agkt2 ON agkt2.GROUP_ID=agkt1.PARENT_ID LEFT JOIN ENTRIES_POST_ACCNO epa ON ISNULL(A.REF_GROUP_ID,agkt2.GROUP_ID)=epa.GROUP_ID AND epa.ACC_TYPE='BUY_TSCD' LEFT JOIN ENTRIES_POST_ACCNO epa2 ON epa2.ACC_TYPE='BW_AMORT_CCLD' WHERE 1 = 1 AND (A.ASSET_ID = @p_ASSET_ID OR @p_ASSET_ID IS NULL OR @p_ASSET_ID = '') AND (A.[TYPE_ID] = @p_TYPE_ID OR @p_TYPE_ID IS NULL OR @p_TYPE_ID = '') AND (B.[ASS_CAT] = @p_ASS_CAT OR @p_ASS_CAT IS NULL OR @p_ASS_CAT = '') AND (A.GROUP_ID = @p_GROUP_ID OR @p_GROUP_ID IS NULL OR @p_GROUP_ID = '') AND ((A.ASSET_CODE like '%' + @p_ASSET_CODE + '%' OR @p_ASSET_CODE IS NULL OR @p_ASSET_CODE = '') OR (A.ASS_CODE_TMP like '%' + @p_ASSET_CODE + '%' OR @p_ASSET_CODE IS NULL OR @p_ASSET_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.SUP_ID = @p_SUP_ID OR @p_SUP_ID IS NULL OR @p_SUP_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.ASS_TYPE = @p_ASS_TYPE OR @p_ASS_TYPE IS NULL OR @p_ASS_TYPE = '') AND (((A.AMORT_STATUS <> 'VNM' AND A.AMORT_STATUS IS NOT NULL AND ((@p_LEVEL = 'ALL' AND EXISTS(SELECT BRANCH_ID from @tmp1 WHERE BRANCH_ID = A.BRANCH_ID)) OR (@p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID))) OR ((A.AMORT_STATUS = 'VNM' OR ((A.AMORT_STATUS = 'DTL' OR A.AMORT_STATUS IS NULL OR A.AMORT_STATUS = ''))) AND ((@p_LEVEL = 'ALL' AND EXISTS(SELECT BRANCH_ID from @tmp1 WHERE BRANCH_ID = A.BRANCH_CREATE)) OR (@p_LEVEL = 'UNIT' AND ((A.BRANCH_ID IS NOT NULL AND A.BRANCH_ID <>'' AND A.BRANCH_ID =@p_BRANCH_ID) OR A.BRANCH_CREATE = @p_BRANCH_ID))))) OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '' OR (@p_LOCATION = 'ASS_PRIVATE_TF' AND A.AMORT_STATUS <> 'DTL' AND A.BRANCH_ID = @p_BRANCH_ID AND(A.DEPT_ID = @DEP_LOGIN OR @DEP_LOGIN IS NULL OR @DEP_LOGIN = '')) ) AND (((A.AMORT_STATUS <> 'VNM' AND A.AMORT_STATUS IS NOT NULL AND ((@p_LEVEL = 'ALL' AND EXISTS(SELECT BRANCH_ID from @tmp2 WHERE BRANCH_ID = A.BRANCH_ID)) OR (@p_LEVEL = 'UNIT' AND ((A.BRANCH_ID IS NOT NULL AND A.BRANCH_ID <>'' AND A.BRANCH_ID =@p_BRANCH_ID) OR A.BRANCH_CREATE = @p_BRANCH_LOGIN)))) OR ((A.AMORT_STATUS = 'VNM' OR ((A.AMORT_STATUS = 'DTL' OR A.AMORT_STATUS IS NULL OR A.AMORT_STATUS = ''))) AND ((@p_LEVEL = 'ALL' AND EXISTS(SELECT BRANCH_ID from @tmp2 WHERE BRANCH_ID = A.BRANCH_CREATE)) OR (@p_LEVEL = 'UNIT' AND ((A.BRANCH_ID IS NOT NULL AND A.BRANCH_ID <>'' AND A.BRANCH_ID =@p_BRANCH_LOGIN) OR A.BRANCH_CREATE = @p_BRANCH_LOGIN))))) OR @p_BRANCH_LOGIN IS NULL OR @p_BRANCH_LOGIN = '' OR (@p_LOCATION = 'ASS_PRIVATE_TF' AND A.AMORT_STATUS <> 'DTL' AND A.BRANCH_ID = @p_BRANCH_ID AND(A.DEPT_ID = @DEP_LOGIN OR @DEP_LOGIN IS NULL OR @DEP_LOGIN = '')) ) 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 (DATEDIFF(DAYOFYEAR,A.BUY_DATE,CONVERT(datetime, @p_BUY_DATE,103)) = 0 OR @p_BUY_DATE IS NULL OR @p_BUY_DATE = '') -- DuyTN bổ sung điều kiện search theo năm AND (YEAR(A.BUY_DATE) = @P_YEAR OR @P_YEAR = '' OR @P_YEAR IS NULL) --AND (DATEDIFF(DAYOFYEAR,A.USE_DATE,CONVERT(datetime, @p_USE_DATE,103)) = 0 OR @p_USE_DATE IS NULL OR @p_USE_DATE = '') AND (A.SPECIAL_ASS = @p_SPECIAL_ASS OR @p_SPECIAL_ASS IS NULL OR @p_SPECIAL_ASS = '') 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 (DATEDIFF(DAYOFYEAR,A.AMORT_START_DATE,CONVERT(datetime, @p_AMORT_START_DATE,103)) = 0 OR @p_AMORT_START_DATE IS NULL OR @p_AMORT_START_DATE = '') AND (DATEDIFF(DAYOFYEAR,A.AMORT_END_DATE,CONVERT(datetime, @p_AMORT_END_DATE,103)) = 0 OR @p_AMORT_END_DATE IS NULL OR @p_AMORT_END_DATE = '') AND (A.AMORTIZED_MONTH = @p_AMORTIZED_MONTH OR @p_AMORTIZED_MONTH IS NULL) AND ((A.AMORT_MONTH - A.AMORTIZED_MONTH) = @p_REMAIN_MONTH OR @p_REMAIN_MONTH IS NULL) AND (A.PO_ID = @p_PO_ID OR @p_PO_ID IS NULL OR @p_PO_ID = '') AND (A.WAREHOUSE_ID = @p_WAREHOUSE_ID OR @p_WAREHOUSE_ID IS NULL OR @p_WAREHOUSE_ID = '') --AND (A.LOCATION like N'%' + @p_LOCATION + '' OR @p_LOCATION IS NULL OR @p_LOCATION = '') 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.AMORT_STATUS = @p_AMORT_STATUS OR @p_AMORT_STATUS IS NULL OR @p_AMORT_STATUS = '') AND (A.ASS_STATUS = @p_ASS_STATUS OR @p_ASS_STATUS IS NULL OR @p_ASS_STATUS = '') AND (CHARINDEX(ISNULL(A.AMORT_STATUS,''), @p_AMORT_STATUS) <> 0 OR @p_AMORT_STATUS = '' OR @p_AMORT_STATUS IS NULL OR(A.AMORT_STATUS IS NULL AND @p_LOCATION = 'ADD_USE')) AND (A.ASS_STATUS_DESC like N'%' + @p_ASS_STATUS_DESC + '' OR @p_ASS_STATUS_DESC IS NULL OR @p_ASS_STATUS_DESC = '') AND (A.WARRANTY_MONTHS = @p_WARRANTY_MONTHS OR @p_WARRANTY_MONTHS IS NULL) AND (A.NOTES like N'%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '') AND A.RECORD_STATUS = '1' AND (A.USE_STATUS = @p_USE_STATUS OR @p_USE_STATUS IS NULL OR @p_USE_STATUS = '') AND ((@p_LOCATION =N'IS_LIQUID' AND NOT EXISTS(SELECT ASSET_ID FROM ASS_COLLECT_MULTI_DT WHERE AUTH_STATUS='A' AND IS_LIQ ='1' AND A.ASSET_ID = A.ASSET_ID)) OR (@p_LOCATION =N'IS_COL' AND NOT EXISTS(SELECT ASSET_ID FROM ASS_COLLECT_MULTI_DT WHERE AUTH_STATUS='A' AND A.ASSET_ID = A.ASSET_ID)) OR (@p_LOCATION =N'LIQ' AND EXISTS(SELECT ASSET_ID FROM ASS_COLLECT_MULTI_DT WHERE AUTH_STATUS='A' AND IS_LIQ ='1' AND ASSET_ID = A.ASSET_ID)) -- ----26-02-2020 BO SUNG THEM NEU LOCATION TRUYEN XUONG LA PRINT TEMP THI LUC NAY CHI LAY NHUNG TAI SAN <> 'VNM' VA CHI LAY DON VI DOC LAP, KHONG LAY TOAN HANG -- ----VI HIEN TAI DANG MAC DINH LAY TOAN HANG, TRONG KHI IN NHAN DANG MAC DINH IN THEO DON VI DOC LAP OR (@p_LOCATION =N'PRINT_TEMP' AND A.AMORT_STATUS <>'VNM' AND A.BRANCH_ID =@p_BRANCH_ID) --START Phucvh 06/10/22 Tài sản được nhập thông qua PYC thuộc ĐV Xuất có loại tài sản chưa hoàn thành và TYPE_XL: Mua mới - Tài sản không nhập từ PYC OR (@p_LOCATION = N'ADD_USE' AND (A.CURRENT_TRANS IS NULL OR A.CURRENT_TRANS = '') AND (A.BRANCH_ID IS NULL OR A.BRANCH_ID = '') AND ((REQ.BRANCH_ID = @P_BRANCH_PYC AND A.REQ_ID IS NOT NULL AND A.REQ_ID <> '') OR (REQ.REQ_ID IS NULL OR REQ.REQ_ID = ''))) --END Phucvh 06/10/22 Tài sản được nhập thông qua PYC thuộc ĐV Xuất có loại tài sản chưa hoàn thành và TYPE_XL: Mua mới - Tài sản không nhập từ PYC OR (@p_LOCATION = N'TRANSFER' AND A.AMORT_STATUS <> 'DTL') --Start Phucvh 25/10/22 OR (@p_LOCATION = N'ASS_COLLECT' AND A.AUTH_STATUS = 'A' AND A.BRANCH_ID IS NOT NULL AND A.BRANCH_ID <> '')--PYC THU HỒI TÀI SẢN OR (@p_LOCATION = N'ASS_TRANSFER' AND A.AUTH_STATUS = 'A' AND A.BRANCH_ID IS NOT NULL AND A.BRANCH_ID <> '')--PYC ĐIỀU CHUYỂN OR (@p_LOCATION = N'ASS_REPAIR' AND A.AUTH_STATUS = 'A' AND A.BRANCH_ID IS NOT NULL AND A.BRANCH_ID <> '')--PYC SỬA CHỮA --End Phucvh 25/10/22 --Sửa chữa nhiều TS OR (@p_LOCATION = N'ASS_REPAIR_MUL' AND ( (@P_REQ_ID IS NOT NULL AND @P_REQ_ID <> '' AND EXISTS(SELECT DT.ASS_ID FROM TR_REQUEST_SHOP_DOC_DT DT WHERE DT.REQ_DOC_ID = @P_REQ_ID AND DT.IS_DVCM = '0' AND DT.ASS_ID = A.ASSET_ID)) OR((@P_REQ_ID IS NULL OR @P_REQ_ID = '') AND A.AUTH_STATUS = 'A' AND A.BRANCH_ID IS NOT NULL AND A.BRANCH_ID <> ''))) --Điều chuyển tài sản nội bộ OR (@p_LOCATION = N'ASS_PRIVATE_TF' AND A.BRANCH_ID IS NOT NULL AND A.BRANCH_ID <> '' AND A.AUTH_STATUS = 'A') OR (@p_LOCATION = N'ASS_COLLECT_MUL' AND A.BRANCH_ID IS NOT NULL AND A.BRANCH_ID <> '' AND A.AUTH_STATUS = 'A') --KHANHNHD 1/11/2 Tài sản đã thêm vào phiếu đề xuất thì không được tìm thấy -- OR (@p_LOCATION = N'ASS_LIQ' AND( @P_REQ_ID iS NULL OR @P_REQ_ID='') AND A.CURRENT_TRANS IS NULL AND A.ASSET_ID NOT IN (SELECT ASSET_ID -- FROM ASS_LIQ_REQUEST_DT DT -- WHERE (ASSET_ID = @p_ASSET_ID OR @p_ASSET_ID IS NULL OR @p_ASSET_ID = '') -- )) OR (@p_LOCATION = N'ASS_LIQ' AND( @P_REQ_ID iS NULL OR @P_REQ_ID='') AND A.CURRENT_TRANS IS NULL AND NOT EXISTS(SELECT ASSET_ID FROM ASS_LIQ_REQUEST_DT DT WHERE DT.ASSET_ID = A.ASSET_ID)) OR (@p_LOCATION = N'ASS_LIQDATION' AND NOT EXISTS (SELECT ASSET_ID FROM ASS_LIQUIDATION_DT ald WHERE ald.ASSET_ID=A.ASSET_ID)) --KHANHNHD 1/11/2 Tài sản đã thêm vào phiếu đề xuất thì không được tìm thấy --khiemchg TÌM KIẾM THEO LOẠI TS TRONG PYC -- ĐIỀU CHUYỂN TÀI SẢN -- OR (@p_LOCATION = N'ASS_TRANSFER_MULTI' AND CHARINDEX(ISNULL(A.AMORT_STATUS,''), 'CKH,DKH,DPB,KHX,KKH,NKH') <> 0 -- AND A.AUTH_STATUS = 'A' -- AND (@P_REQ_DT_TYPE = 'CPDC' -- AND (A.GROUP_ID IN (SELECT IG.GROUP_ID FROM ASS_GROUP IG WHERE IG.GROUP_CODE IN (SELECT AG.GROUP_CODE FROM ASS_GROUP AG WHERE AG.GROUP_ID IN (SELECT ASS_GROUP_ID FROM TR_REQUEST_SHOP_DOC_DT A -- WHERE REQ_DOC_ID = @P_REQ_ID AND TYPE_XL = @P_REQ_DT_TYPE))) -- AND (A.BRANCH_ID <> (SELECT BRANCH_ID FROM TR_REQUEST_SHOP_DOC A WHERE A.REQ_ID = @P_REQ_ID) -- OR (A.DEPT_ID <> (SELECT A.DEP_ID FROM TR_REQUEST_SHOP_DOC A WHERE A.REQ_ID = @P_REQ_ID) AND A.BRANCH_ID = 'DV0001'))) -- OR (@P_REQ_DT_TYPE = 'DCTS' AND A.ASSET_ID IN (SELECT A.ASS_ID FROM TR_REQUEST_SHOP_DOC_DT A WHERE A.REQ_DOC_ID = @P_REQ_ID)) -- OR @P_REQ_DT_TYPE = '' OR @P_REQ_DT_TYPE IS NULL) -- ) OR (@p_LOCATION = N'ASS_TRANSFER_MULTI' AND CHARINDEX(ISNULL(A.AMORT_STATUS,''), 'CKH,DKH,DPB,KHX,KKH,NKH') <> 0 AND A.AUTH_STATUS = 'A' AND (@P_REQ_DT_TYPE = 'CPDC' AND (EXISTS(SELECT IG.GROUP_ID FROM ASS_GROUP IG WHERE IG.GROUP_ID = A.GROUP_ID AND EXISTS(SELECT AG.GROUP_CODE FROM ASS_GROUP AG WHERE AG.GROUP_CODE = IG.GROUP_CODE AND EXISTS(SELECT ASS_GROUP_ID FROM TR_REQUEST_SHOP_DOC_DT A WHERE REQ_DOC_ID = @P_REQ_ID AND TYPE_XL = @P_REQ_DT_TYPE AND A.ASS_GROUP_ID = AG.GROUP_ID))) AND (A.BRANCH_ID <> (SELECT BRANCH_ID FROM TR_REQUEST_SHOP_DOC A WHERE A.REQ_ID = @P_REQ_ID) OR (A.DEPT_ID <> (SELECT A.DEP_ID FROM TR_REQUEST_SHOP_DOC A WHERE A.REQ_ID = @P_REQ_ID) AND A.BRANCH_ID = 'DV0001'))) OR (@P_REQ_DT_TYPE = 'DCTS' AND EXISTS(SELECT DT.ASS_ID FROM TR_REQUEST_SHOP_DOC_DT DT WHERE DT.REQ_DOC_ID = @P_REQ_ID AND DT.ASS_ID = A.ASSET_ID)) OR @P_REQ_DT_TYPE = '' OR @P_REQ_DT_TYPE IS NULL) ) --khiemchg enD OR @p_LOCATION = 'ASS_INFO' --Tìm tài sản phiếu đề xuất thì range lại trong phạm vi của phiếu //khiemchg -- OR (@p_LOCATION = N'ASS_LIQ' AND @P_REQ_ID IS NOT NULL AND @P_REQ_ID <> '' AND A.ASSET_ID IN (SELECT ASSET_ID -- FROM ASS_LIQ_REQUEST_DT DT -- WHERE DT.LIQ_REQ_ID IN (SELECT value FROM dbo.wsiSplit (@P_REQ_ID, ',')))) OR (@p_LOCATION = N'ASS_LIQ' AND @P_REQ_ID IS NOT NULL AND @P_REQ_ID <> '' AND EXISTS(SELECT ASSET_ID FROM ASS_LIQ_REQUEST_DT DT WHERE DT.ASSET_ID = A.ASSET_ID AND EXISTS(SELECT value FROM dbo.wsiSplit (@P_REQ_ID, ',') WHERE value = DT.LIQ_REQ_ID))) --Tìm tài sản phiếu đề xuất thì range lại trong phạm vi của phiếu //khiemchg OR ((@p_LOCATION IS NULL OR @p_LOCATION='') AND A.AUTH_STATUS = 'A')) ----LUCTV : 22 -03 -19 BO SUNG LEFT JOIN ASS_TRANSACTIONS AND (AN.ADDNEW_ID LIKE N'%'+ @p_ADDNEWID +'%' OR @p_ADDNEWID ='' OR @p_ADDNEWID IS NULL) AND (AN.NOTES LIKE N'%' + @p_ADDNEW_NOTES + '%' OR @p_ADDNEW_NOTES ='' OR @p_ADDNEW_NOTES IS NULL) AND (EM.EMP_NAME LIKE N'%'+ @p_EMP_NAME +'%' OR @p_EMP_NAME ='' OR @p_EMP_NAME IS NULL) AND (EM.EMP_CODE LIKE N'%'+ @p_EMP_CODE +'%' OR @p_EMP_CODE ='' OR @p_EMP_CODE IS NULL) AND (AU.TRN_ID LIKE N'%'+ @p_USE_MASTER_ID +'%' OR @p_USE_MASTER_ID IS NULL OR @p_USE_MASTER_ID ='') AND (@P_UNUSED_ASSET IS NULL OR @P_UNUSED_ASSET = '' OR (@P_UNUSED_ASSET = 'TK' AND (((A.EMP_ID IS NULL OR A.EMP_ID = '') AND (A.BRANCH_ID IS NULL OR A.BRANCH_ID = '')) OR (A.BRANCH_ID IS NOT NULL AND (A.EMP_ID IS NULL OR A.EMP_ID = '')))) OR (@P_UNUSED_ASSET = 'TH' AND A.IS_COLLECT = '1') OR (@P_UNUSED_ASSET = 'DSD' AND A.BRANCH_ID IS NOT NULL AND A.BRANCH_ID <> '' AND a.EMP_ID IS NOT NULL AND A.EMP_ID <> '')) --PHUCVH 05/11/22 TÌM KIẾM THEO HDH VÀ BẢN QUYỀN MICROSOFT AND (A.OS = @P_OS OR @P_OS IS NULL OR @P_OS = '') AND (A.MO_LICENSE = @P_MO_LICENSE OR @P_MO_LICENSE IS NULL OR @P_MO_LICENSE = '') AND ((A.REQ_ID = @P_REQ_ID AND @p_IS_FIND_REQ_ID = '1') OR @p_IS_FIND_REQ_ID = '0' OR @p_IS_FIND_REQ_ID IS NULL OR @p_IS_FIND_REQ_ID = '' OR @P_REQ_ID IS NULL OR @P_REQ_ID = '') AND (CONVERT(DATETIME,A.BUY_DATE,103) >= CONVERT(DATETIME,@p_FROM_BUY_DATE,103) OR @p_FROM_BUY_DATE IS NULL OR @p_FROM_BUY_DATE = '') AND (CONVERT(DATETIME,A.BUY_DATE,103) <= CONVERT(DATETIME,@p_TO_BUY_DATE,103) OR @p_TO_BUY_DATE IS NULL OR @p_TO_BUY_DATE = '') AND (CONVERT(DATETIME,A.USE_DATE_KT,103) >= CONVERT(DATETIME,@p_FROM_USE_DATE_KT,103) OR @p_FROM_USE_DATE_KT IS NULL OR @p_FROM_USE_DATE_KT = '') AND (CONVERT(DATETIME,A.USE_DATE_KT,103) <= CONVERT(DATETIME,@p_TO_USE_DATE_KT,103) OR @p_TO_USE_DATE_KT IS NULL OR @p_TO_USE_DATE_KT = '') AND (AN.PR_CODE like N'%' + @p_PR_CODE + '%' OR @p_PR_CODE IS NULL OR @p_PR_CODE = '') AND (AN.PL_CODE like N'%' + @p_PL_CODE + '%' OR @p_PL_CODE IS NULL OR @p_PL_CODE = '') AND (AN.CONTRACT_ID like N'%' + @p_ASS_CONTRACT_CODE + '%' OR @p_ASS_CONTRACT_CODE IS NULL OR @p_ASS_CONTRACT_CODE = '') AND (AP.INVOICE_NO like N'%' + @p_INVOICE_NO + '%' OR @p_INVOICE_NO IS NULL OR @p_INVOICE_NO = '') AND (AP.INVOICE_SYMPOL like N'%' + @p_INVOICE_SYMPOL + '%' OR @p_INVOICE_SYMPOL IS NULL OR @p_INVOICE_SYMPOL = '') 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 ELSE BEGIN -- PAGING BEGIN SELECT TOP (@p_TOP) MK.TLSUBBRID,A.MONTHLY_AMORT_AMT, A.ASSET_ID, A.[TYPE_ID],C.[TYPE_CODE], C.[TYPE_NAME], A.GROUP_ID,B.GROUP_CODE, B.GROUP_NAME, B.ASS_CAT, CASE WHEN A.ASSET_CODE IS NULL OR A.ASSET_CODE = '' THEN A.ASS_CODE_TMP ELSE A.ASSET_CODE END AS ASSET_CODE, A.ASSET_NAME, A.ASSET_SERIAL_NO, A.ASSET_DESC, A.SUP_ID, A.BUY_PRICE, A.AMORT_AMT, A.ASS_TYPE, A.BRANCH_ID,BR.BRANCH_CODE,BR.BRANCH_NAME,A.DEPT_ID,DP.DEP_CODE,DP.DEP_NAME, A.EMP_ID,EM.EMP_CODE AS EMP_CODE,EM.EMP_NAME AS EMP_NAME, A.DIVISION_ID, A.BUY_DATE, A.USE_DATE, A.SPECIAL_ASS, A.AMORT_MONTH, A.AMORT_RATE, A.AMORT_START_DATE, A.AMORT_END_DATE, A.FIRST_AMORT_AMT, A.AMORTIZED_MONTH, (A.AMORT_MONTH - A.AMORTIZED_MONTH) AS REMAIN_MONTH, A.AMORTIZED_AMT, ISNULL((A.AMORT_AMT - A.AMORTIZED_AMT), ISNULL(A.AMORT_AMT,0)) AS REMAIN_AMORTIZED_AMT, --So tien khau hao con lai A.PO_ID,A.PD_ID, A.WAREHOUSE_ID, A.LOCATION, A.REF_ASSET_ID, A.REF_AMORTIZED_AMT, A.WARRANTY_MONTHS, A.NOTES, A.AMORT_STATUS, D.STATUS_NAME AMORT_STATUS_NAME, A.ASS_STATUS, CASE WHEN A.LIQ_W_STATUS = '1' AND A.AMORT_STATUS = 'DTL' THEN N'Đã thanh lý' ELSE E.STATUS_NAME END AS ASS_STATUS_NAME, --Tinh trang tai san A.ASS_STATUS_DESC, A.RECORD_STATUS, A.AUTH_STATUS, ZZ.AUTH_STATUS_NAME, A.MAKER_ID, A.CREATE_DT, A.CHECKER_ID, A.USE_STATUS,--THIEUVQ 23062015 A.APPROVE_DT, A.ACCOUNT_GL, A.VAT, A.PRICE_VAT, --dbo.FN_GET_CHINHANH(A.BRANCH_ID,'KV') KHU_VUC, NULL AS KHU_VUC, --dbo.FN_GET_CHINHANH(A.BRANCH_ID,'CN') CHI_NHANH, BRCR.BRANCH_NAME CHI_NHANH, BBB.BRANCH_NAME PGD , B.AMORT_MONTH AS GROUP_AMORT_MONTH, BRCR.BRANCH_NAME AS BRANCH_RECIVE, BRCR.BRANCH_NAME AS BRANCH_CREATE_NAME, BRCR.BRANCH_ID AS BRANCH_CREATE_ID, BRCR.BRANCH_CODE AS BRANCH_CREATE_CODE, --LUCTV : 26-12-2018 BO SUNG AMORT MIN - MAX CUA TAI SAN THEO NHOM DE HIEN THI BEN MAN HINH CHINH SUA THONG TIN TAI SAN B.AMORT_MONTH_MAX, B.AMORT_MONTH_MIN, --LUCTV : 22 -03 -19 BO SUNG LEFT JOIN ASS_TRANSACTIONS AN.ADDNEW_ID, AN.NOTES AS ADDNEW_NOTES,AUMD.USER_MASTER_ID AS USE_MASTER_ID, DPT.DEP_ID as DVCM_ID, DPT.DEP_NAME AS DVCM_NAME, AN.WAR_EXPIRE_DT,--Ngày hết hạn bảo hành AN.PR_CODE, --SỐ PR AN.CONTRACT_ID AS ASS_CONTRACT_CODE, -- SỐ HỢP ĐỒNG AN.PL_CODE, --SỐ TỜ TRÌNH AP.INVOICE_NO, --SỐ HOÁ ĐƠN AP.INVOICE_SYMPOL, --SỐ HOÁ ĐƠN ----Start Phucvh 13/10/22 Get khối/Trung tâm/Phòng ban CASE WHEN DP.TYPE = 'K' THEN DP.DEP_ID ELSE K.DEP_ID END AS BLOCK_ID, CASE WHEN DP.TYPE = 'K' THEN DP.DEP_NAME ELSE K.DEP_NAME END AS BLOCK_NAME, CASE WHEN DP.TYPE = 'TT' THEN DP.DEP_ID ELSE TT.DEP_ID END AS CENTER_ID, CASE WHEN DP.TYPE = 'TT' THEN DP.DEP_NAME ELSE TT.DEP_NAME END AS CENTER_NAME, CASE WHEN DP.TYPE = 'PB' THEN DP.DEP_ID ELSE NULL END AS DEPT_ID_1, CASE WHEN DP.TYPE = 'PB' THEN DP.DEP_NAME ELSE NULL END AS DEP_NAME_1, ----End Phucvh 13/10/22 Get khối/Trung tâm/Phòng ban CA.CONTENT AS IS_OS, --Hệ điều hành CA1.CONTENT AS IS_MO_LICENSE, --Bản quyền Microsoft Office A.REQ_ID, A.REQ_CODE, AN.WAR_EXPIRE_DT AS WAR_END_DT, --ngày hết hạn bảo hành (CASE WHEN A.IS_COLLECT <> '1' THEN N'Đang sử dụng' ELSE N'Đã thu hồi' END) AS IS_COLLECT_NAME --Trạng thái tài sản (đang sử dụng || đang thu hồi) , --A.ASS_CONTRACT_CODE, CASE WHEN DEP_CRE.DEP_ID IS NULL AND A.BRANCH_CREATE = 'DV0001' THEN N'PHÒNG QUẢN LÝ TÀI SẢN' ELSE DEP_CRE.DEP_NAME END AS DEP_CREATE_NAME, CU.UNIT_NAME AS UNIT_NAME, CR.REGION_NAME AS REGION_NAME, '1' AS QTY, B1.GROUP_NAME AS GROUP_NAME_1, B2.GROUP_NAME AS GROUP_NAME_2 --KHIEMCHG: LẤY THÔNG TIN TÀI SẢN CHO KẾ TOÁN ,A.AMORT_START_DATE NGAY_BD_KH, ISNULL(A.FIRST_AMORT_AMT,0) SO_TIEN_KH_THANG_DAU_TIEN, ISNULL(A.MONTHLY_AMORT_AMT,0) SO_TIEN_KH_HANG_THANG, A.AMORT_MONTH SO_THANG_KH, ISNULL(A.AMORTIZED_AMT,0) KHAU_HAO_LK, CASE WHEN A.TYPE_ID = 'TSCD' THEN (CASE WHEN A.AMORT_STATUS ='VNM' THEN epa.ACC_NO ELSE ISNULL(agkt3.ASSET_ACCTNO,agkt.ASSET_ACCTNO) END) WHEN A.TYPE_ID = 'CCLD' THEN (CASE WHEN A.AMORT_STATUS ='VNM' THEN agkt.ASSET_ACCTNO WHEN A.AMORT_STATUS ='NKH' OR A.IS_COLLECT = 1 THEN epa2.ACC_NO ELSE agkt.AMORT_ACCTNO END) END AS TK -- SELECT END FROM ASS_MASTER A LEFT JOIN ASS_GROUP B ON A.GROUP_ID = B.GROUP_ID LEFT JOIN ASS_TYPE C ON A.[TYPE_ID] = C.[TYPE_ID] LEFT JOIN ASS_AMORT_STATUS D ON A.AMORT_STATUS = D.STATUS_CODE LEFT JOIN ASS_STATUS E ON A.ASS_STATUS = E.STATUS_ID LEFT JOIN CM_AUTH_STATUS ZZ ON ZZ.AUTH_STATUS = A.AUTH_STATUS LEFT JOIN CM_BRANCH BR ON BR.BRANCH_ID=A.BRANCH_ID LEFT JOIN CM_EMPLOYEE EM ON EM.EMP_ID=A.EMP_ID LEFT JOIN TL_USER MK ON MK.TLNANME = A.MAKER_ID LEFT JOIN CM_BRANCH BBB ON BBB.BRANCH_ID = A.BRANCH_ID LEFT JOIN CM_DEPARTMENT DP ON DP.DEP_ID = A.DEPT_ID LEFT JOIN CM_DEPARTMENT DPT ON DPT.DEP_ID = B.DVCM_ID LEFT JOIN CM_BRANCH BRCR ON BRCR.BRANCH_ID = A.BRANCH_CREATE --LUCTV : 22 -03 -19 BO SUNG LEFT JOIN ASS_TRANSACTIONS LEFT JOIN ASS_TRANSACTIONS AT ON AT.ASSET_ID = A.ASSET_ID AND AT.TRN_TYPE = 'ADD_NEW' LEFT JOIN ASS_ADDNEW AN ON AT.TRN_ID = AN.ADDNEW_ID AND AT.TRN_TYPE = 'ADD_NEW' LEFT JOIN CM_DEPARTMENT DEP_CRE ON AN.DEPT_CREATE = DEP_CRE.DEP_ID LEFT JOIN ASS_PO AP ON AN.ADDNEW_ID = AP.ADDNEW_ID --LUCTV: 26-08-2019 BO SUNG THEM DIEU KIEN KHI NAO NHAP MA PHIEU XUAT THI MOI LEFT JOIN LEFT JOIN ASS_TRANSACTIONS AU ON AU.ASSET_ID = A.ASSET_ID AND AU.TRN_TYPE ='ADD_USE' LEFT JOIN ASS_USE_MULTI_DT AUMD ON AU.TRN_ID = AUMD.USE_MULTI_ID AND AU.TRN_TYPE ='ADD_USE' LEFT JOIN CM_ALLCODE CA ON A.OS = CA.CDVAL AND CA.CDNAME = 'OS_LICENSE' AND CA.CDTYPE = 'STATUS' --HỆ ĐIỀU HÀNH LEFT JOIN CM_ALLCODE CA1 ON A.MO_LICENSE = CA1.CDVAL AND CA1.CDNAME = 'OS_LICENSE' AND CA1.CDTYPE = 'STATUS' --BẢN QUYỀN MICROSOFT OFFICE LEFT JOIN CM_UNIT CU ON B.UNIT = CU.UNIT_ID LEFT JOIN CM_REGIONS CR ON BR.REGION_ID = CR.REGION_ID LEFT JOIN ASS_GROUP B1 ON B1.GROUP_ID = B.PARENT_ID LEFT JOIN ASS_GROUP B2 ON B2.GROUP_ID = B1.PARENT_ID --PHUCVH: GET KHOI/TRUNG TAM/ PHONG BAN CUA TAI SAN LEFT JOIN CM_DEPARTMENT TT ON TT.DEP_ID = DP.FATHER_ID LEFT JOIN CM_DEPARTMENT K ON K.DEP_ID = DP.KHOI_ID LEFT JOIN TR_REQUEST_SHOP_DOC REQ ON A.REQ_ID = REQ.REQ_ID --KHIEMCHG: LẤY THÔNG TIN TÀI SẢN CHO KẾ TOÁN LEFT JOIN ASS_GROUP agkt3 ON A.REF_GROUP_ID = agkt3.GROUP_ID LEFT JOIN ASS_GROUP agkt ON A.GROUP_ID = agkt.GROUP_ID LEFT JOIN ASS_GROUP agkt1 ON agkt1.GROUP_ID=agkt.PARENT_ID LEFT JOIN ASS_GROUP agkt2 ON agkt2.GROUP_ID=agkt1.PARENT_ID LEFT JOIN ENTRIES_POST_ACCNO epa ON ISNULL(A.REF_GROUP_ID,agkt2.GROUP_ID)=epa.GROUP_ID AND epa.ACC_TYPE='BUY_TSCD' LEFT JOIN ENTRIES_POST_ACCNO epa2 ON epa2.ACC_TYPE='BW_AMORT_CCLD' WHERE 1 = 1 AND (A.ASSET_ID = @p_ASSET_ID OR @p_ASSET_ID IS NULL OR @p_ASSET_ID = '') AND (A.[TYPE_ID] = @p_TYPE_ID OR @p_TYPE_ID IS NULL OR @p_TYPE_ID = '') AND (B.[ASS_CAT] = @p_ASS_CAT OR @p_ASS_CAT IS NULL OR @p_ASS_CAT = '') AND (A.GROUP_ID = @p_GROUP_ID OR @p_GROUP_ID IS NULL OR @p_GROUP_ID = '') AND ((A.ASSET_CODE like '%' + @p_ASSET_CODE + '%' OR @p_ASSET_CODE IS NULL OR @p_ASSET_CODE = '') OR (A.ASS_CODE_TMP like '%' + @p_ASSET_CODE + '%' OR @p_ASSET_CODE IS NULL OR @p_ASSET_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.SUP_ID = @p_SUP_ID OR @p_SUP_ID IS NULL OR @p_SUP_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.ASS_TYPE = @p_ASS_TYPE OR @p_ASS_TYPE IS NULL OR @p_ASS_TYPE = '') AND (((A.AMORT_STATUS <> 'VNM' AND A.AMORT_STATUS IS NOT NULL AND ((@p_LEVEL = 'ALL' AND EXISTS(SELECT BRANCH_ID from @tmp1 WHERE BRANCH_ID = A.BRANCH_ID)) OR (@p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID))) OR ((A.AMORT_STATUS = 'VNM' OR ((A.AMORT_STATUS = 'DTL' OR A.AMORT_STATUS IS NULL OR A.AMORT_STATUS = ''))) AND ((@p_LEVEL = 'ALL' AND EXISTS(SELECT BRANCH_ID from @tmp1 WHERE BRANCH_ID = A.BRANCH_CREATE)) OR (@p_LEVEL = 'UNIT' AND ((A.BRANCH_ID IS NOT NULL AND A.BRANCH_ID <>'' AND A.BRANCH_ID =@p_BRANCH_ID) OR A.BRANCH_CREATE = @p_BRANCH_ID))))) OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '' OR (@p_LOCATION = 'ASS_PRIVATE_TF' AND A.AMORT_STATUS <> 'DTL' AND A.BRANCH_ID = @p_BRANCH_ID AND(A.DEPT_ID = @DEP_LOGIN OR @DEP_LOGIN IS NULL OR @DEP_LOGIN = '')) ) AND (((A.AMORT_STATUS <> 'VNM' AND A.AMORT_STATUS IS NOT NULL AND ((@p_LEVEL = 'ALL' AND EXISTS(SELECT BRANCH_ID from @tmp2 WHERE BRANCH_ID = A.BRANCH_ID)) OR (@p_LEVEL = 'UNIT' AND ((A.BRANCH_ID IS NOT NULL AND A.BRANCH_ID <>'' AND A.BRANCH_ID =@p_BRANCH_ID) OR A.BRANCH_CREATE = @p_BRANCH_LOGIN)))) OR ((A.AMORT_STATUS = 'VNM' OR ((A.AMORT_STATUS = 'DTL' OR A.AMORT_STATUS IS NULL OR A.AMORT_STATUS = ''))) AND ((@p_LEVEL = 'ALL' AND EXISTS(SELECT BRANCH_ID from @tmp2 WHERE BRANCH_ID = A.BRANCH_CREATE)) OR (@p_LEVEL = 'UNIT' AND ((A.BRANCH_ID IS NOT NULL AND A.BRANCH_ID <>'' AND A.BRANCH_ID =@p_BRANCH_LOGIN) OR A.BRANCH_CREATE = @p_BRANCH_LOGIN))))) OR @p_BRANCH_LOGIN IS NULL OR @p_BRANCH_LOGIN = '' OR (@p_LOCATION = 'ASS_PRIVATE_TF' AND A.AMORT_STATUS <> 'DTL' AND A.BRANCH_ID = @p_BRANCH_ID AND(A.DEPT_ID = @DEP_LOGIN OR @DEP_LOGIN IS NULL OR @DEP_LOGIN = '')) ) 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 (DATEDIFF(DAYOFYEAR,A.BUY_DATE,CONVERT(datetime, @p_BUY_DATE,103)) = 0 OR @p_BUY_DATE IS NULL OR @p_BUY_DATE = '') -- DuyTN bổ sung điều kiện search theo năm AND (YEAR(A.BUY_DATE) = @P_YEAR OR @P_YEAR = '' OR @P_YEAR IS NULL) --AND (DATEDIFF(DAYOFYEAR,A.USE_DATE,CONVERT(datetime, @p_USE_DATE,103)) = 0 OR @p_USE_DATE IS NULL OR @p_USE_DATE = '') AND (A.SPECIAL_ASS = @p_SPECIAL_ASS OR @p_SPECIAL_ASS IS NULL OR @p_SPECIAL_ASS = '') 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 (DATEDIFF(DAYOFYEAR,A.AMORT_START_DATE,CONVERT(datetime, @p_AMORT_START_DATE,103)) = 0 OR @p_AMORT_START_DATE IS NULL OR @p_AMORT_START_DATE = '') AND (DATEDIFF(DAYOFYEAR,A.AMORT_END_DATE,CONVERT(datetime, @p_AMORT_END_DATE,103)) = 0 OR @p_AMORT_END_DATE IS NULL OR @p_AMORT_END_DATE = '') AND (A.AMORTIZED_MONTH = @p_AMORTIZED_MONTH OR @p_AMORTIZED_MONTH IS NULL) AND ((A.AMORT_MONTH - A.AMORTIZED_MONTH) = @p_REMAIN_MONTH OR @p_REMAIN_MONTH IS NULL) AND (A.PO_ID = @p_PO_ID OR @p_PO_ID IS NULL OR @p_PO_ID = '') AND (A.WAREHOUSE_ID = @p_WAREHOUSE_ID OR @p_WAREHOUSE_ID IS NULL OR @p_WAREHOUSE_ID = '') --AND (A.LOCATION like N'%' + @p_LOCATION + '' OR @p_LOCATION IS NULL OR @p_LOCATION = '') 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.AMORT_STATUS = @p_AMORT_STATUS OR @p_AMORT_STATUS IS NULL OR @p_AMORT_STATUS = '') AND (A.ASS_STATUS = @p_ASS_STATUS OR @p_ASS_STATUS IS NULL OR @p_ASS_STATUS = '') AND (CHARINDEX(ISNULL(A.AMORT_STATUS,''), @p_AMORT_STATUS) <> 0 OR @p_AMORT_STATUS = '' OR @p_AMORT_STATUS IS NULL OR(A.AMORT_STATUS IS NULL AND @p_LOCATION = 'ADD_USE')) AND (A.ASS_STATUS_DESC like N'%' + @p_ASS_STATUS_DESC + '' OR @p_ASS_STATUS_DESC IS NULL OR @p_ASS_STATUS_DESC = '') AND (A.WARRANTY_MONTHS = @p_WARRANTY_MONTHS OR @p_WARRANTY_MONTHS IS NULL) AND (A.NOTES like N'%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '') AND A.RECORD_STATUS = '1' AND (A.USE_STATUS = @p_USE_STATUS OR @p_USE_STATUS IS NULL OR @p_USE_STATUS = '') AND ((@p_LOCATION =N'IS_LIQUID' AND NOT EXISTS(SELECT ASSET_ID FROM ASS_COLLECT_MULTI_DT WHERE AUTH_STATUS='A' AND IS_LIQ ='1' AND A.ASSET_ID = A.ASSET_ID)) OR (@p_LOCATION =N'IS_COL' AND NOT EXISTS(SELECT ASSET_ID FROM ASS_COLLECT_MULTI_DT WHERE AUTH_STATUS='A' AND A.ASSET_ID = A.ASSET_ID)) OR (@p_LOCATION =N'LIQ' AND EXISTS(SELECT ASSET_ID FROM ASS_COLLECT_MULTI_DT WHERE AUTH_STATUS='A' AND IS_LIQ ='1' AND ASSET_ID = A.ASSET_ID)) -- ----26-02-2020 BO SUNG THEM NEU LOCATION TRUYEN XUONG LA PRINT TEMP THI LUC NAY CHI LAY NHUNG TAI SAN <> 'VNM' VA CHI LAY DON VI DOC LAP, KHONG LAY TOAN HANG -- ----VI HIEN TAI DANG MAC DINH LAY TOAN HANG, TRONG KHI IN NHAN DANG MAC DINH IN THEO DON VI DOC LAP OR (@p_LOCATION =N'PRINT_TEMP' AND A.AMORT_STATUS <>'VNM' AND A.BRANCH_ID =@p_BRANCH_ID) --START Phucvh 06/10/22 Tài sản được nhập thông qua PYC thuộc ĐV Xuất có loại tài sản chưa hoàn thành và TYPE_XL: Mua mới - Tài sản không nhập từ PYC OR (@p_LOCATION = N'ADD_USE' AND (A.CURRENT_TRANS IS NULL OR A.CURRENT_TRANS = '') AND (A.BRANCH_ID IS NULL OR A.BRANCH_ID = '') AND ((REQ.BRANCH_ID = @P_BRANCH_PYC AND A.REQ_ID IS NOT NULL AND A.REQ_ID <> '') OR (REQ.REQ_ID IS NULL OR REQ.REQ_ID = ''))) --END Phucvh 06/10/22 Tài sản được nhập thông qua PYC thuộc ĐV Xuất có loại tài sản chưa hoàn thành và TYPE_XL: Mua mới - Tài sản không nhập từ PYC OR (@p_LOCATION = N'TRANSFER' AND A.AMORT_STATUS <> 'DTL') --Start Phucvh 25/10/22 OR (@p_LOCATION = N'ASS_COLLECT' AND A.AUTH_STATUS = 'A' AND A.BRANCH_ID IS NOT NULL AND A.BRANCH_ID <> '')--PYC THU HỒI TÀI SẢN OR (@p_LOCATION = N'ASS_TRANSFER' AND A.AUTH_STATUS = 'A' AND A.BRANCH_ID IS NOT NULL AND A.BRANCH_ID <> '')--PYC ĐIỀU CHUYỂN OR (@p_LOCATION = N'ASS_REPAIR' AND A.AUTH_STATUS = 'A' AND A.BRANCH_ID IS NOT NULL AND A.BRANCH_ID <> '')--PYC SỬA CHỮA --End Phucvh 25/10/22 --Sửa chữa nhiều TS OR (@p_LOCATION = N'ASS_REPAIR_MUL' AND ( (@P_REQ_ID IS NOT NULL AND @P_REQ_ID <> '' AND EXISTS(SELECT DT.ASS_ID FROM TR_REQUEST_SHOP_DOC_DT DT WHERE DT.REQ_DOC_ID = @P_REQ_ID AND DT.IS_DVCM = '0' AND DT.ASS_ID = A.ASSET_ID)) OR((@P_REQ_ID IS NULL OR @P_REQ_ID = '') AND A.AUTH_STATUS = 'A' AND A.BRANCH_ID IS NOT NULL AND A.BRANCH_ID <> ''))) --Điều chuyển tài sản nội bộ OR (@p_LOCATION = N'ASS_PRIVATE_TF' AND A.BRANCH_ID IS NOT NULL AND A.BRANCH_ID <> '' AND A.AUTH_STATUS = 'A') OR (@p_LOCATION = N'ASS_COLLECT_MUL' AND A.BRANCH_ID IS NOT NULL AND A.BRANCH_ID <> '' AND A.AUTH_STATUS = 'A') --KHANHNHD 1/11/2 Tài sản đã thêm vào phiếu đề xuất thì không được tìm thấy -- OR (@p_LOCATION = N'ASS_LIQ' AND( @P_REQ_ID iS NULL OR @P_REQ_ID='') AND A.CURRENT_TRANS IS NULL AND A.ASSET_ID NOT IN (SELECT ASSET_ID -- FROM ASS_LIQ_REQUEST_DT DT -- WHERE (ASSET_ID = @p_ASSET_ID OR @p_ASSET_ID IS NULL OR @p_ASSET_ID = '') -- )) OR (@p_LOCATION = N'ASS_LIQ' AND( @P_REQ_ID iS NULL OR @P_REQ_ID='') AND A.CURRENT_TRANS IS NULL AND NOT EXISTS(SELECT ASSET_ID FROM ASS_LIQ_REQUEST_DT DT WHERE DT.ASSET_ID = A.ASSET_ID)) OR (@p_LOCATION = N'ASS_LIQDATION' AND NOT EXISTS (SELECT ASSET_ID FROM ASS_LIQUIDATION_DT ald WHERE ald.ASSET_ID=A.ASSET_ID)) --KHANHNHD 1/11/2 Tài sản đã thêm vào phiếu đề xuất thì không được tìm thấy --khiemchg TÌM KIẾM THEO LOẠI TS TRONG PYC -- ĐIỀU CHUYỂN TÀI SẢN -- OR (@p_LOCATION = N'ASS_TRANSFER_MULTI' AND CHARINDEX(ISNULL(A.AMORT_STATUS,''), 'CKH,DKH,DPB,KHX,KKH,NKH') <> 0 -- AND A.AUTH_STATUS = 'A' -- AND (@P_REQ_DT_TYPE = 'CPDC' -- AND (A.GROUP_ID IN (SELECT IG.GROUP_ID FROM ASS_GROUP IG WHERE IG.GROUP_CODE IN (SELECT AG.GROUP_CODE FROM ASS_GROUP AG WHERE AG.GROUP_ID IN (SELECT ASS_GROUP_ID FROM TR_REQUEST_SHOP_DOC_DT A -- WHERE REQ_DOC_ID = @P_REQ_ID AND TYPE_XL = @P_REQ_DT_TYPE))) -- AND (A.BRANCH_ID <> (SELECT BRANCH_ID FROM TR_REQUEST_SHOP_DOC A WHERE A.REQ_ID = @P_REQ_ID) -- OR (A.DEPT_ID <> (SELECT A.DEP_ID FROM TR_REQUEST_SHOP_DOC A WHERE A.REQ_ID = @P_REQ_ID) AND A.BRANCH_ID = 'DV0001'))) -- OR (@P_REQ_DT_TYPE = 'DCTS' AND A.ASSET_ID IN (SELECT A.ASS_ID FROM TR_REQUEST_SHOP_DOC_DT A WHERE A.REQ_DOC_ID = @P_REQ_ID)) -- OR @P_REQ_DT_TYPE = '' OR @P_REQ_DT_TYPE IS NULL) -- ) OR (@p_LOCATION = N'ASS_TRANSFER_MULTI' AND CHARINDEX(ISNULL(A.AMORT_STATUS,''), 'CKH,DKH,DPB,KHX,KKH,NKH') <> 0 AND A.AUTH_STATUS = 'A' AND (@P_REQ_DT_TYPE = 'CPDC' AND (EXISTS(SELECT IG.GROUP_ID FROM ASS_GROUP IG WHERE IG.GROUP_ID = A.GROUP_ID AND EXISTS(SELECT AG.GROUP_CODE FROM ASS_GROUP AG WHERE AG.GROUP_CODE = IG.GROUP_CODE AND EXISTS(SELECT ASS_GROUP_ID FROM TR_REQUEST_SHOP_DOC_DT A WHERE REQ_DOC_ID = @P_REQ_ID AND TYPE_XL = @P_REQ_DT_TYPE AND A.ASS_GROUP_ID = AG.GROUP_ID))) AND (A.BRANCH_ID <> (SELECT BRANCH_ID FROM TR_REQUEST_SHOP_DOC A WHERE A.REQ_ID = @P_REQ_ID) OR (A.DEPT_ID <> (SELECT A.DEP_ID FROM TR_REQUEST_SHOP_DOC A WHERE A.REQ_ID = @P_REQ_ID) AND A.BRANCH_ID = 'DV0001'))) OR (@P_REQ_DT_TYPE = 'DCTS' AND EXISTS(SELECT DT.ASS_ID FROM TR_REQUEST_SHOP_DOC_DT DT WHERE DT.REQ_DOC_ID = @P_REQ_ID AND DT.ASS_ID = A.ASSET_ID)) OR @P_REQ_DT_TYPE = '' OR @P_REQ_DT_TYPE IS NULL) ) --khiemchg enD OR @p_LOCATION = 'ASS_INFO' --Tìm tài sản phiếu đề xuất thì range lại trong phạm vi của phiếu //khiemchg -- OR (@p_LOCATION = N'ASS_LIQ' AND @P_REQ_ID IS NOT NULL AND @P_REQ_ID <> '' AND A.ASSET_ID IN (SELECT ASSET_ID -- FROM ASS_LIQ_REQUEST_DT DT -- WHERE DT.LIQ_REQ_ID IN (SELECT value FROM dbo.wsiSplit (@P_REQ_ID, ',')))) OR (@p_LOCATION = N'ASS_LIQ' AND @P_REQ_ID IS NOT NULL AND @P_REQ_ID <> '' AND EXISTS(SELECT ASSET_ID FROM ASS_LIQ_REQUEST_DT DT WHERE DT.ASSET_ID = A.ASSET_ID AND EXISTS(SELECT value FROM dbo.wsiSplit (@P_REQ_ID, ',') WHERE value = DT.LIQ_REQ_ID))) --Tìm tài sản phiếu đề xuất thì range lại trong phạm vi của phiếu //khiemchg OR ((@p_LOCATION IS NULL OR @p_LOCATION='') AND A.AUTH_STATUS = 'A')) ----LUCTV : 22 -03 -19 BO SUNG LEFT JOIN ASS_TRANSACTIONS AND (AN.ADDNEW_ID LIKE N'%'+ @p_ADDNEWID +'%' OR @p_ADDNEWID ='' OR @p_ADDNEWID IS NULL) AND (AN.NOTES LIKE N'%' + @p_ADDNEW_NOTES + '%' OR @p_ADDNEW_NOTES ='' OR @p_ADDNEW_NOTES IS NULL) AND (EM.EMP_NAME LIKE N'%'+ @p_EMP_NAME +'%' OR @p_EMP_NAME ='' OR @p_EMP_NAME IS NULL) AND (EM.EMP_CODE LIKE N'%'+ @p_EMP_CODE +'%' OR @p_EMP_CODE ='' OR @p_EMP_CODE IS NULL) AND (AU.TRN_ID LIKE N'%'+ @p_USE_MASTER_ID +'%' OR @p_USE_MASTER_ID IS NULL OR @p_USE_MASTER_ID ='') AND (@P_UNUSED_ASSET IS NULL OR @P_UNUSED_ASSET = '' OR (@P_UNUSED_ASSET = 'TK' AND (((A.EMP_ID IS NULL OR A.EMP_ID = '') AND (A.BRANCH_ID IS NULL OR A.BRANCH_ID = '')) OR (A.BRANCH_ID IS NOT NULL AND (A.EMP_ID IS NULL OR A.EMP_ID = '')))) OR (@P_UNUSED_ASSET = 'TH' AND A.IS_COLLECT = '1') OR (@P_UNUSED_ASSET = 'DSD' AND A.BRANCH_ID IS NOT NULL AND A.BRANCH_ID <> '' AND a.EMP_ID IS NOT NULL AND A.EMP_ID <> '')) --PHUCVH 05/11/22 TÌM KIẾM THEO HDH VÀ BẢN QUYỀN MICROSOFT AND (A.OS = @P_OS OR @P_OS IS NULL OR @P_OS = '') AND (A.MO_LICENSE = @P_MO_LICENSE OR @P_MO_LICENSE IS NULL OR @P_MO_LICENSE = '') AND ((A.REQ_ID = @P_REQ_ID AND @p_IS_FIND_REQ_ID = '1') OR @p_IS_FIND_REQ_ID = '0' OR @p_IS_FIND_REQ_ID IS NULL OR @p_IS_FIND_REQ_ID = '' OR @P_REQ_ID IS NULL OR @P_REQ_ID = '') AND (CONVERT(DATETIME,A.BUY_DATE,103) >= CONVERT(DATETIME,@p_FROM_BUY_DATE,103) OR @p_FROM_BUY_DATE IS NULL OR @p_FROM_BUY_DATE = '') AND (CONVERT(DATETIME,A.BUY_DATE,103) <= CONVERT(DATETIME,@p_TO_BUY_DATE,103) OR @p_TO_BUY_DATE IS NULL OR @p_TO_BUY_DATE = '') AND (CONVERT(DATETIME,A.USE_DATE_KT,103) >= CONVERT(DATETIME,@p_FROM_USE_DATE_KT,103) OR @p_FROM_USE_DATE_KT IS NULL OR @p_FROM_USE_DATE_KT = '') AND (CONVERT(DATETIME,A.USE_DATE_KT,103) <= CONVERT(DATETIME,@p_TO_USE_DATE_KT,103) OR @p_TO_USE_DATE_KT IS NULL OR @p_TO_USE_DATE_KT = '') AND (AN.PR_CODE like N'%' + @p_PR_CODE + '%' OR @p_PR_CODE IS NULL OR @p_PR_CODE = '') AND (AN.PL_CODE like N'%' + @p_PL_CODE + '%' OR @p_PL_CODE IS NULL OR @p_PL_CODE = '') AND (AN.CONTRACT_ID like N'%' + @p_ASS_CONTRACT_CODE + '%' OR @p_ASS_CONTRACT_CODE IS NULL OR @p_ASS_CONTRACT_CODE = '') AND (AP.INVOICE_NO like N'%' + @p_INVOICE_NO + '%' OR @p_INVOICE_NO IS NULL OR @p_INVOICE_NO = '') AND (AP.INVOICE_SYMPOL like N'%' + @p_INVOICE_SYMPOL + '%' OR @p_INVOICE_SYMPOL IS NULL OR @p_INVOICE_SYMPOL = '') 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 END -- PAGING GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[rpt_TSCD_BC017_Excel_BanViet]' GO ALTER PROCEDURE [dbo].[rpt_TSCD_BC017_Excel_BanViet] -- Add the parameters for the stored procedure here @p_BRANCH_ID varchar(30) = NULL, @p_FromDate varchar(30) = NULL, @p_ToDate varchar(15) = NULL, @p_BRANCH_LOGIN varchar(15) = NULL, @p_LEVEL varchar(10) = 'ALL', @p_ASSET_TYPE varchar(15) = '', -- loai tai san TSCD/CCLD @p_PriceFrom varchar(18) = null, -- nguyen gia tu @p_PriceTo varchar(18) = null, -- nguyen gia den @p_SupplierId varchar(15) = null, -- nha cung cap @p_ASSET_GROUP_ID varchar(15) = null, -- Nhom tai san @p_Branch_ID_Use varchar(15) = null ,-- don vi su dung @p_User_ID varchar(15) = null -- nguoi su dung AS BEGIN -- Do du lieu ao declare @tmp table(BRANCH_ID varchar(15)) insert into @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID) declare @tmp_login table(BRANCH_ID varchar(15)) insert into @tmp_login SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN) if @p_PriceFrom = '0' and @p_PriceTo = '0' begin set @p_PriceFrom = null set @p_PriceTo = null end SELECT Row_number() over(order by L.LIQ_ID) AS STT, [dbo].[FN_GET_GROUPNAME](M.GROUP_ID,'1') AS NHOMTS, -- [dbo].[FN_GET_GROUPNAME](A.GROUP_ID,'1') AS NHOMTSLV1, --EM GOM NHOM THEO 3 CAI THUOC TINH NAY NHA [dbo].[FN_GET_GROUPNAME](M.GROUP_ID,'2') AS NHOM_LV2, [dbo].[FN_GET_GROUPNAME](M.GROUP_ID,'3') AS NHOM_LV3, --G.GROUP_NAME NHOMTS, -- NHOM TAI SAN M.ASSET_CODE MATS, M.ASSET_NAME TENTS, M.BUY_DATE NGAYNHAP, -- NGAY NHAP M.BUY_PRICE NGUYENGIA, --L.APPROVE_DT NGAY_TL, -- NGAY THANH LY L.APPROVE_DT_KT NGAY_TL, -- --M.AMORTIZED_MONTH AS KHLK_NGAY_TL, -- KHAU HAO LUY KE DEN NGAY THANH LY (M.AMORT_AMT - LD.REMAIN_VALUE) KHLK_NGAY_TL, --M.BUY_PRICE - M.AMORTIZED_MONTH AS GTCL_NGAY_TL, -- GIA TRI CON LAI NGAY THANH LY LD.REMAIN_VALUE GTCL_NGAY_TL, LD.LIQ_PRICE GTTH, -- GIA TRI THU HOI --(M.BUY_PRICE - M.AMORTIZED_MONTH - LD.LIQ_PRICE) AS LAI_LO, -- LAI~ HAY LO~ (LD.LIQ_AMT_BE_VAT - LD.REMAIN_VALUE) LAI_LO, LD.LIQ_PRICE AS GT_TL, L.BUY_COMPANY_ID, -- DON VI MUA CASE WHEN M.BRANCH_ID <>'' THEN BR.BRANCH_NAME ELSE BR_CR.BRANCH_NAME END DVSD, -- DON VI SU DUNG CASE WHEN M.BRANCH_ID <>'' THEN BR.BRANCH_CODE ELSE BR_CR.BRANCH_CODE END BRANCH_CODE, -- DON VI SU DUNG DP.DEP_NAME PHONGBAN_SD,DP.DEP_CODE, -- PHONG BAN SU DUNG M.AMORT_START_DATE NGAYBD_KHPB, -- NGAY BAT DAU KHAU HAO PHAN BO M.AMORT_MONTH THOIGIAN_KH,-- THOI GIAN KHAU HAO PHAN BO M.AMORT_MONTH - (M.AMORTIZED_MONTH - ISNULL(AMT.ST_KH_PD_TAM,0)) SOTHANG_KH_CL ,-- SO THANG HAU HAO CON LAI, M.BRANCH_CREATE, M.BRANCH_ID from ASS_LIQUIDATION L LEFT JOIN ASS_LIQUIDATION_DT LD ON L.LIQ_ID = LD.LIQ_ID LEFT JOIN ASS_MASTER M ON LD.ASSET_ID = M.ASSET_ID LEFT JOIN ASS_GROUP G ON M.GROUP_ID =G.GROUP_ID LEFT JOIN CM_BRANCH BR ON M.BRANCH_ID = BR.BRANCH_ID LEFT JOIN CM_BRANCH BR_CR ON M.BRANCH_CREATE = BR_CR.BRANCH_ID LEFT JOIN CM_DEPARTMENT DP ON M.DEPT_ID = DP.DEP_ID -- TINH SO THANG DA KHAU HAO = AMORTED_MONTH - SỐ THÁNG ĐÃ KHẤU HAO : AMORT_DT > TO_DATE LEFT JOIN ( --SELECT AM_DT.ASSET_ID, ISNULL(SUM(ISNULL(AM_DT.AMORT_AMT,0)),0) AS ST_DA_PB FROM ASS_AMORT_DT AM_DT SELECT AM_DT.ASSET_ID, ISNULL(COUNT (*),0) AS ST_KH_PD_TAM FROM ASS_AMORT_DT AM_DT WHERE CONVERT(DATE,AM_DT.AMORT_DT) > CONVERT(DATE,@p_ToDate,103) AND AM_DT.CRDR='C' GROUP BY AM_DT.ASSET_ID ) AMT ON AMT.ASSET_ID = M.ASSET_ID -- END -- SELECT * FROM ASS_LIQUIDATION WHERE --(M.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '') --LUCTV: 26-12-2018: CHUYEN TU APPROVE HANH CHINH SANG APPROVE KE TOAN --LUCTV : 03-12-2018: CHI LAY NHUNG THANH LY DA DUOC DUYET (L.AUTH_STATUS_KT='A') AND(CONVERT(datetime,L.APPROVE_DT_KT,103)>= CONVERT(datetime, @p_FromDate, 103) OR @p_FromDate IS NULL OR @p_FromDate = '') AND (CONVERT(datetime,L.APPROVE_DT_KT,103)<= CONVERT(datetime, @p_ToDate, 103) OR @p_ToDate IS NULL OR @p_ToDate = '') AND (M.TYPE_ID = @p_ASSET_TYPE OR @p_ASSET_TYPE IS NULL OR @p_ASSET_TYPE = '') AND (M.BUY_PRICE >= CONVERT(decimal(18),@p_PriceFrom) OR @p_PriceFrom IS NULL OR @p_PriceFrom = '') AND (M.BUY_PRICE <= CONVERT(decimal(18),@p_PriceTo) OR @p_PriceTo IS NULL OR @p_PriceTo = '') AND (M.SUP_ID = @p_SupplierId OR @p_SupplierId IS NULL OR @p_SupplierId = '') AND (M.GROUP_ID = @p_ASSET_GROUP_ID OR @p_ASSET_GROUP_ID IS NULL OR @p_ASSET_GROUP_ID = '') AND (M.EMP_ID = @p_User_ID OR @p_User_ID IS NULL OR @p_User_ID = '') -- PHAN QUYEN --AND ((@p_LEVEL = 'ALL' AND M.BRANCH_ID IN (select BRANCH_ID from @tmp) or M.BRANCH_ID='' or M.BRANCH_ID is null ) --OR (@p_LEVEL = 'UNIT' AND M.BRANCH_ID = @p_BRANCH_ID) OR @p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL) --AND ((@p_LEVEL = 'ALL' AND M.BRANCH_ID IN (select BRANCH_ID from @tmp_login)or M.BRANCH_ID='' or M.BRANCH_ID is null) --OR (@p_LEVEL = 'UNIT' AND M.BRANCH_ID = @p_BRANCH_LOGIN) OR @p_BRANCH_LOGIN = '' OR @p_BRANCH_LOGIN IS NULL --OR @p_BRANCH_ID IS NOT NULL OR @p_BRANCH_ID <> '') --LUCTV: 04-12-2019 : BỔ SUNG THÊM NẾU CHƯA XUẤT SỬ DỤNG THÌ LỌC TÀI SẢN THEO ĐƠN VỊ TẠO --AND ((@p_LEVEL = 'ALL' AND M.BRANCH_ID IN (select BRANCH_ID from @tmp) OR (M.BRANCH_ID IS NULL OR M.BRANCH_ID ='' AND M.BRANCH_CREATE IN(SELECT BRANCH_ID FROM @tmp))) --OR (@p_LEVEL = 'UNIT' AND M.BRANCH_ID = @p_BRANCH_ID OR (M.BRANCH_ID IS NULL OR M.BRANCH_ID ='' AND M.BRANCH_CREATE = @p_BRANCH_ID))) --AND ((@p_LEVEL = 'ALL' AND M.BRANCH_ID IN (select BRANCH_ID from @tmp_login) OR (M.BRANCH_ID IS NULL OR M.BRANCH_ID ='' AND M.BRANCH_CREATE IN (SELECT BRANCH_ID FROM @tmp_login))) --OR (@p_LEVEL = 'UNIT' AND M.BRANCH_ID = @p_BRANCH_LOGIN OR (M.BRANCH_ID IS NULL OR M.BRANCH_ID ='' AND M.BRANCH_CREATE =@p_BRANCH_LOGIN))) AND ((@p_LEVEL = 'ALL' AND (M.BRANCH_ID IN (select BRANCH_ID from @tmp) OR (M.BRANCH_ID ='' AND M.BRANCH_CREATE IN (SELECT BRANCH_ID FROM @tmp)))) OR (@p_LEVEL = 'UNIT' AND((M.BRANCH_ID ='' AND M.BRANCH_CREATE = @p_BRANCH_ID) OR M.BRANCH_ID = @p_BRANCH_ID))) --AND ((@p_LEVEL = 'ALL' AND (M.BRANCH_ID IN (select BRANCH_ID from @tmp_login) OR (M.BRANCH_ID ='' AND M.BRANCH_CREATE IN (SELECT BRANCH_ID FROM @tmp_login)))) --luctv 01/01/19 bo dieu kien Unit di vi dieu kien nay bi sai. --OR (@p_LEVEL = 'UNIT' AND((M.BRANCH_ID ='' AND M.BRANCH_CREATE = @p_BRANCH_LOGIN)OR M.BRANCH_ID =@p_BRANCH_LOGIN)) --) AND ((M.BRANCH_ID IN (select BRANCH_ID from @tmp_login) OR (M.BRANCH_ID ='' AND M.BRANCH_CREATE IN (SELECT BRANCH_ID FROM @tmp_login)))) --@p_BRANCH_LOGIN varchar(15) = NULL, --@p_LEVEL varchar(10) = 'ALL', --@p_Branch_ID_Use varchar(15) = null ,-- don vi su dung --@p_User_ID varchar(15) = null -- nguoi su dung --SELECT TOP 2 * FROM ASS_MASTER --SELECT * FROM ASS_LIQUIDATION --SELECT * FROM ASS_LIQUIDATION_DT --SELECT * FROM ASS_GROUP IF( SELECT COUNT(M.BRANCH_ID) from ASS_LIQUIDATION L LEFT JOIN ASS_LIQUIDATION_DT LD ON L.LIQ_ID = LD.LIQ_ID LEFT JOIN ASS_MASTER M ON LD.ASSET_ID = M.ASSET_ID LEFT JOIN ASS_GROUP G ON M.GROUP_ID =G.GROUP_ID LEFT JOIN CM_BRANCH BR ON M.BRANCH_ID = BR.BRANCH_ID LEFT JOIN CM_BRANCH BR_CR ON M.BRANCH_CREATE = BR_CR.BRANCH_ID LEFT JOIN CM_DEPARTMENT DP ON M.DEPT_ID = DP.DEP_ID LEFT JOIN ( SELECT AM_DT.ASSET_ID, ISNULL(COUNT (*),0) AS ST_KH_PD_TAM FROM ASS_AMORT_DT AM_DT WHERE CONVERT(DATE,AM_DT.AMORT_DT) > CONVERT(DATE,@p_ToDate,103) AND AM_DT.CRDR='C' GROUP BY AM_DT.ASSET_ID ) AMT ON AMT.ASSET_ID = M.ASSET_ID WHERE (L.AUTH_STATUS_KT='A') AND(CONVERT(datetime,L.APPROVE_DT_KT,103)>= CONVERT(datetime, @p_FromDate, 103) OR @p_FromDate IS NULL OR @p_FromDate = '') AND (CONVERT(datetime,L.APPROVE_DT_KT,103)<= CONVERT(datetime, @p_ToDate, 103) OR @p_ToDate IS NULL OR @p_ToDate = '') AND (M.TYPE_ID = @p_ASSET_TYPE OR @p_ASSET_TYPE IS NULL OR @p_ASSET_TYPE = '') AND (M.BUY_PRICE >= CONVERT(decimal(18),@p_PriceFrom) OR @p_PriceFrom IS NULL OR @p_PriceFrom = '') AND (M.BUY_PRICE <= CONVERT(decimal(18),@p_PriceTo) OR @p_PriceTo IS NULL OR @p_PriceTo = '') AND (M.SUP_ID = @p_SupplierId OR @p_SupplierId IS NULL OR @p_SupplierId = '') AND (M.GROUP_ID = @p_ASSET_GROUP_ID OR @p_ASSET_GROUP_ID IS NULL OR @p_ASSET_GROUP_ID = '') AND (M.EMP_ID = @p_User_ID OR @p_User_ID IS NULL OR @p_User_ID = '') AND ((@p_LEVEL = 'ALL' AND (M.BRANCH_ID IN (select BRANCH_ID from @tmp) OR (M.BRANCH_ID ='' AND M.BRANCH_CREATE IN (SELECT BRANCH_ID FROM @tmp)))) OR (@p_LEVEL = 'UNIT' AND((M.BRANCH_ID ='' AND M.BRANCH_CREATE = @p_BRANCH_ID) OR M.BRANCH_ID = @p_BRANCH_ID))) AND ((M.BRANCH_ID IN (select BRANCH_ID from @tmp_login) OR (M.BRANCH_ID ='' AND M.BRANCH_CREATE IN (SELECT BRANCH_ID FROM @tmp_login)))) GROUP BY M.BRANCH_ID) = 1 BEGIN SELECT TOP 1 L.MAKER_ID_KT AS GDV, L.CHECKER_ID_KT AS KSV from ASS_LIQUIDATION L LEFT JOIN ASS_LIQUIDATION_DT LD ON L.LIQ_ID = LD.LIQ_ID LEFT JOIN ASS_MASTER M ON LD.ASSET_ID = M.ASSET_ID LEFT JOIN ASS_GROUP G ON M.GROUP_ID =G.GROUP_ID LEFT JOIN CM_BRANCH BR ON M.BRANCH_ID = BR.BRANCH_ID LEFT JOIN CM_BRANCH BR_CR ON M.BRANCH_CREATE = BR_CR.BRANCH_ID LEFT JOIN CM_DEPARTMENT DP ON M.DEPT_ID = DP.DEP_ID LEFT JOIN ( SELECT AM_DT.ASSET_ID, ISNULL(COUNT (*),0) AS ST_KH_PD_TAM FROM ASS_AMORT_DT AM_DT WHERE CONVERT(DATE,AM_DT.AMORT_DT) > CONVERT(DATE,@p_ToDate,103) AND AM_DT.CRDR='C' GROUP BY AM_DT.ASSET_ID ) AMT ON AMT.ASSET_ID = M.ASSET_ID WHERE (L.AUTH_STATUS_KT='A') AND(CONVERT(datetime,L.APPROVE_DT_KT,103)>= CONVERT(datetime, @p_FromDate, 103) OR @p_FromDate IS NULL OR @p_FromDate = '') AND (CONVERT(datetime,L.APPROVE_DT_KT,103)<= CONVERT(datetime, @p_ToDate, 103) OR @p_ToDate IS NULL OR @p_ToDate = '') AND (M.TYPE_ID = @p_ASSET_TYPE OR @p_ASSET_TYPE IS NULL OR @p_ASSET_TYPE = '') AND (M.BUY_PRICE >= CONVERT(decimal(18),@p_PriceFrom) OR @p_PriceFrom IS NULL OR @p_PriceFrom = '') AND (M.BUY_PRICE <= CONVERT(decimal(18),@p_PriceTo) OR @p_PriceTo IS NULL OR @p_PriceTo = '') AND (M.SUP_ID = @p_SupplierId OR @p_SupplierId IS NULL OR @p_SupplierId = '') AND (M.GROUP_ID = @p_ASSET_GROUP_ID OR @p_ASSET_GROUP_ID IS NULL OR @p_ASSET_GROUP_ID = '') AND (M.EMP_ID = @p_User_ID OR @p_User_ID IS NULL OR @p_User_ID = '') AND ((@p_LEVEL = 'ALL' AND (M.BRANCH_ID IN (select BRANCH_ID from @tmp) OR (M.BRANCH_ID ='' AND M.BRANCH_CREATE IN (SELECT BRANCH_ID FROM @tmp)))) OR (@p_LEVEL = 'UNIT' AND((M.BRANCH_ID ='' AND M.BRANCH_CREATE = @p_BRANCH_ID) OR M.BRANCH_ID = @p_BRANCH_ID))) AND ((M.BRANCH_ID IN (select BRANCH_ID from @tmp_login) OR (M.BRANCH_ID ='' AND M.BRANCH_CREATE IN (SELECT BRANCH_ID FROM @tmp_login)))) END END GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[CM_REJECT_LOG_Ins]' GO ALTER PROC [dbo].[CM_REJECT_LOG_Ins] @p_LOG_ID varchar(15) = NULL, @p_STAGE varchar(10) = NULL, @p_TRN_ID varchar(15) = NULL, @p_TRN_TYPE nvarchar(100) = NULL, @p_LOG_DT VARCHAR = NULL, @p_AUTH_STAT varchar(3) = NULL, @p_REASON nvarchar(4000) = NULL, @p_IS_LATEST varchar(1) = NULL, @p_REJECTED_BY varchar(20) = NULL, @p_REJECTED_DT VARCHAR = NULL AS BEGIN TRANSACTION DECLARE @TRADED_ID VARCHAR(15), @AMT_EXE DECIMAL(18,0) DECLARE @PAY_ADVANCE_ID VARCHAR(15), @AMT_PAY DECIMAL(18,0), @AMT_REVERT DECIMAL(18,0), @AMT_ADD DECIMAL(18,0) DECLARE @p_MESSAGE NVARCHAR(100) = NULL DECLARE @TBL_GROUP_CODE_ASS_USE TABLE (GROUP_ID VARCHAR(100)) IF(EXISTS (SELECT * FROM CM_REJECT_LOG WHERE TRN_ID = @p_TRN_ID)) BEGIN UPDATE CM_REJECT_LOG SET IS_LATEST ='N' WHERE TRN_ID =@p_TRN_ID END -- Thu hồi tài sản IF(@p_TRN_TYPE ='ASS_COLLECT_MUL') BEGIN IF(@p_STAGE='KT') BEGIN -- KSV trả về GDV IF(EXISTS (SELECT * FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID = @p_TRN_ID AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thu hồi tài sản đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN IF(EXISTS(SELECT * FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>'')) BEGIN UPDATE ASS_COLLECT_MULTI_MASTER SET AUTH_STATUS_KT ='R' WHERE COL_MULTI_MASTER_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin thu hồi tài sản đã được trả về giao dịch viên thành công' -- 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_TRN_ID AND PROCESS_ID = 'UPDATE' -- GiaNT 29/09/2021 INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), N'Từ chối phiếu', @p_REASON ) END ELSE BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thu hồi tài sản chưa được kế toán cập nhật' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END END END ELSE IF(@p_STAGE='KT_HC') BEGIN -- KSV - GDV trả về người tạo IF(EXISTS (SELECT * FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID = @p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT_HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thu hồi tài sản đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN --PHUCVH 16/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 ASSET_ID FROM ASS_COLLECT_MULTI_DT WHERE COL_MULTI_MASTER_ID = @p_TRN_ID) -- Xóa thông tin xác nhận thu hồi DELETE dbo.ASS_COLLECT_CONFIRM_MASTER WHERE COL_MULTI_MASTER_ID = @p_TRN_ID UPDATE ASS_COLLECT_MULTI_MASTER SET AUTH_STATUS ='R',CREATE_DT_KT = NULL,MAKER_ID_KT = NULL,APPROVE_DT_KT = NULL,CHECKER_ID_KT = NULL, CORE_NOTE = NULL WHERE COL_MULTI_MASTER_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin thu hồi tài sản đã được trả về người tạo thành công' -- GiaNT 29/09/2021 INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), N'Từ chối phiếu', @p_REASON ) END END ELSE BEGIN -- TDV trả về người tạo IF(EXISTS (SELECT * FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID = @p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thu hồi tài sản đã được hành chính duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN --PHUCVH 16/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 ASSET_ID FROM ASS_COLLECT_MULTI_DT WHERE COL_MULTI_MASTER_ID = @p_TRN_ID) UPDATE ASS_COLLECT_MULTI_MASTER SET AUTH_STATUS ='R' WHERE COL_MULTI_MASTER_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin thu hồi tài sản đã được trả về người tạo thành công' INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime N'Từ chối phiếu', -- PROCESS_DESC - nvarchar(1000) @p_REASON ) END END END --SỬA CHỮA TÀI SẢN ELSE IF(@p_TRN_TYPE = 'ASS_REPAIR_MUL') BEGIN IF(EXISTS (SELECT REPAIR_MUL_ID FROM ASS_REPAIR_MULTI_MASTER WHERE REPAIR_MUL_ID = @p_TRN_ID AND AUTH_STATUS='A')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin sửa chữa tài sản đã được duyệt.' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN --PHUCVH 16/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 ASSET_ID FROM ASS_REPAIR_MULTI_DT WHERE REPAIR_MUL_ID = @p_TRN_ID) UPDATE ASS_REPAIR_MULTI_MASTER SET AUTH_STATUS ='R' WHERE REPAIR_MUL_ID = @p_TRN_ID SET @p_MESSAGE =N'Thông tin sửa chữa tài sản đã được trả về người tạo thành công' INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime N'Phiếu bị trả về', -- PROCESS_DESC - nvarchar(1000) @p_REASON ) END END -- Điều chuyển tài sản ELSE IF(@p_TRN_TYPE ='ASS_TRANSFER_MUL') BEGIN UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL WHERE ASSET_ID IN (SELECT ASSET_ID FROM ASS_TRANSFER_MULTI_DT WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID) ---- GiaNT 29/09/2021 Sửa IF(@p_STAGE='KT') BEGIN -- KSV trả về GDV IF(EXISTS (SELECT * FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin điều chuyển tài sản đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN IF(EXISTS(SELECT * FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>'')) BEGIN UPDATE ASS_TRANSFER_MULTI_MASTER SET AUTH_STATUS_KT ='R' WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID SET @p_MESSAGE =N'Thông tin điều chuyển tài sản đã được trả về giao dịch viên thành công' -- 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_TRN_ID AND PROCESS_ID = 'UPDATE' -- GiaNT 29/09/2021 INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE() , N'Trả về nhân viên xử lý' , @p_REASON ) END ELSE BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin điều chuyển tài sản chưa được kế toán cập nhật' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END END END ELSE IF(@p_STAGE='KT_HC') BEGIN -- KSV - GDV trả về người tạo IF(EXISTS (SELECT * FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT_HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin điều chuyển tài sản đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN UPDATE ASS_TRANSFER_MULTI_MASTER SET AUTH_STATUS ='R', STATUS = 'REJECT', AUTH_STATUS_KT = NULL, APPROVE_DT = NULL,CHECKER_ID = NULL, MAKER_ID_KT = NULL, CREATE_DT_KT = NULL , CORE_NOTE = NULL WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID -- Xóa thông tin xác nhận điều chuyển DELETE ASS_TRANSFER_CONFIRM_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID --Xoá PL_REQUEST_PROCESS DELETE PL_REQUEST_PROCESS WHERE REQ_ID = @p_TRN_ID INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID) VALUES(@p_TRN_ID,'REJECT','C','QLTS','','') SET @p_MESSAGE =N'Thông tin điều chuyển tài sản đã được trả về người tạo thành công' INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime N'Trả về hành chính' ,@p_REASON -- PROCESS_DESC - nvarchar(1000) ) END END ELSE BEGIN -- TDV trả về người tạo IF(EXISTS (SELECT * FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin điều chuyển tài sản đã được hành chính duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN UPDATE ASS_TRANSFER_MULTI_MASTER SET AUTH_STATUS ='R' WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID SET @p_MESSAGE =N'Thông tin điều chuyển tài sản đã được trả về thành công' INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000) ) END END END -- Xuất sử dụng tài sản ELSE IF(@p_TRN_TYPE ='ASS_USE_MUL') BEGIN IF(@p_STAGE='KT') BEGIN -- KSV trả về GDV IF(EXISTS (SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID =@p_TRN_ID AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng tài sản đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN IF(EXISTS(SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>'')) BEGIN UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS_KT ='R' WHERE USER_MASTER_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin xuất sử dụng tài sản đã được trả về giao dịch viên thành công' -- 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_TRN_ID AND PROCESS_ID = 'UPDATE' -- GiaNT 29/09/2021 INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), N'Trả về GDV', @p_REASON ) END ELSE BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng tài sản chưa được kế toán cập nhật' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END END END ELSE IF(@p_STAGE='KT_HC') BEGIN -- KSV - GDDV nhận - GDV trả về người tạo -- IF(EXISTS (SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT_HC')) -- BEGIN -- SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng tài sản đã được kế toán duyệt' -- ROLLBACK TRANSACTION -- SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc -- RETURN '-1' -- END -- ELSE -- BEGIN -- -- Xóa thông tin xác nhận xuất sử dụng -- DELETE dbo.ASS_USE_CONFIRM_MASTER WHERE USER_MASTER_ID = @p_TRN_ID -- -- UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS ='R',CREATE_DT_KT = NULL,MAKER_ID_KT = NULL,APPROVE_DT_KT = NULL,CHECKER_ID_KT = NULL WHERE USER_MASTER_ID =@p_TRN_ID -- SET @p_MESSAGE =N'Thông tin xuất sử dụng tài sản đã được trả về người tạo thành công' -- -- GiaNT 29/09/2021 -- INSERT INTO dbo.PL_PROCESS -- ( -- REQ_ID, -- PROCESS_ID, -- CHECKER_ID, -- APPROVE_DT, -- PROCESS_DESC,NOTES -- ) -- VALUES -- ( @p_TRN_ID, -- 'REJECT', -- @p_REJECTED_BY, -- GETDATE(), -- @p_REASON , -- N'Từ chối phiếu' -- ) -- END IF(EXISTS (SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng tài sản đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN --PHUCVH 16/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_USE_MULTI_DT A WHERE A.USER_MASTER_ID = @p_TRN_ID) UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS ='R', AUTH_STATUS_KT = 'E', CHECKER_ID = NULL, APPROVE_DT = NULL, CREATE_DT_KT = NULL,MAKER_ID_KT = NULL,APPROVE_DT_KT = NULL,CHECKER_ID_KT = NULL WHERE USER_MASTER_ID =@p_TRN_ID IF(EXISTS(SELECT 1 FROM ASS_USE_CONFIRM_MASTER aucm WHERE aucm.USER_MASTER_ID = @p_TRN_ID)) BEGIN -- Xóa thông tin xác nhận xuất sử dụng DELETE dbo.ASS_USE_CONFIRM_MASTER WHERE USER_MASTER_ID = @p_TRN_ID --UPDATE ASS_MASTER UPDATE ASS_MASTER SET USE_DATE = NULL,USE_DATE_KT = NULL , AMORT_RATE = NULL , BRANCH_ID = NULL, DEPT_ID = NULL, EMP_ID = NULL, DIVISION_ID = NULL WHERE ASSET_ID IN (SELECT aumd.ASSET_ID FROM ASS_USE_MULTI_DT aumd WHERE aumd.USER_MASTER_ID = @p_TRN_ID) --DELETE ASS_MASTER_HIST DELETE ASS_MASTER_HIST WHERE ASSHIST_ID IN (SELECT at.ASSHIST_ID FROM ASS_TRANSACTIONS at LEFT JOIN ASS_USE_MULTI_DT aumd ON at.TRN_ID = aumd.USE_MULTI_ID AND aumd.USER_MASTER_ID = @p_TRN_ID) --UPDATE ASS_WAREHOUSE_DT UPDATE ASS_WAREHOUSE_DT SET OUT_DATE = NULL, STATUS = 'I' WHERE ASSET_ID IN (SELECT A.ASSET_ID FROM ASS_USE_MULTI_DT A WHERE A.USER_MASTER_ID = @p_TRN_ID) --DELETE ASS_LOCATION_HIST DELETE ASS_LOCATION_HIST WHERE LOCHIST_ID IN (SELECT at.LOCHIST_ID FROM ASS_TRANSACTIONS at LEFT JOIN ASS_USE_MULTI_DT aumd ON at.TRN_ID = aumd.USE_MULTI_ID AND aumd.USER_MASTER_ID = @p_TRN_ID) --DELETE ASS_TRANSACTION DELETE ASS_TRANSACTIONS WHERE TRN_ID IN (SELECT aumd.USE_MULTI_ID FROM ASS_USE_MULTI_DT aumd WHERE aumd.USER_MASTER_ID = @p_TRN_ID) --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)) DECLARE @IS_MULTI_GROUP VARCHAR(1) = '0' 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_TRN_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 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 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 = (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_TRN_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_TRN_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 UPDATE TR_REQUEST_SHOP_DOC_DT SET ALLOCATED = ALLOCATED - ISNULL(@ALLOCATED,0) WHERE REQDT_ID = @C_REQDT_ID UPDATE TR_REQUEST_SHOP_DOC SET IS_DONE = 0, STATUS = 'APPROVE' WHERE REQ_ID = @C_REQ_DOC_ID UPDATE PL_REQUEST_PROCESS SET STATUS = 'C' WHERE PROCESS_ID = 'APPROVE' AND REQ_ID = @C_REQ_DOC_ID DELETE PL_REQUEST_PROCESS WHERE REQ_ID = @C_REQ_DOC_ID AND PROCESS_ID = 'DONE' 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 SET @p_MESSAGE =N'Thông tin xuất sử dụng tài sản đã được trả về người tạo thành công' -- GiaNT 29/09/2021 INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), N'Trả về người tạo', @p_REASON ) END END ELSE IF(@p_STAGE='HC') BEGIN IF(EXISTS (SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng tài sản đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN --PHUCVH 16/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_USE_MULTI_DT A WHERE A.USER_MASTER_ID = @p_TRN_ID) UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS ='R',CHECKER_ID = NULL, APPROVE_DT = NULL WHERE USER_MASTER_ID =@p_TRN_ID UPDATE ASS_USE_MULTI_DT SET AUTH_STATUS ='R',CHECKER_ID = NULL, APPROVE_DT = NULL WHERE USER_MASTER_ID =@p_TRN_ID -- -- --UPDATE ASS_MASTER -- UPDATE ASS_MASTER SET USE_DATE = NULL, AMORT_RATE = NULL WHERE ASSET_ID IN (SELECT aumd.ASSET_ID FROM ASS_USE_MULTI_DT aumd WHERE aumd.USER_MASTER_ID = @p_TRN_ID) -- -- --DELETE ASS_MASTER_HIST -- DELETE ASS_MASTER_HIST WHERE ASSHIST_ID IN (SELECT at.ASSHIST_ID -- FROM ASS_TRANSACTIONS at -- LEFT JOIN ASS_USE_MULTI_DT aumd ON at.TRN_ID = aumd.USE_MULTI_ID -- AND aumd.USER_MASTER_ID = @p_TRN_ID) -- -- --UPDATE ASS_WAREHOUSE_DT -- UPDATE ASS_WAREHOUSE_DT SET OUT_DATE = NULL, STATUS = 'I' WHERE ASSET_ID IN (SELECT A.ASSET_ID FROM ASS_USE_MULTI_DT A WHERE A.USER_MASTER_ID = @p_TRN_ID) -- -- --DELETE ASS_LOCATION_HIST -- DELETE ASS_LOCATION_HIST WHERE LOCHIST_ID IN (SELECT at.LOCHIST_ID -- FROM ASS_TRANSACTIONS at -- LEFT JOIN ASS_USE_MULTI_DT aumd ON at.TRN_ID = aumd.USE_MULTI_ID -- AND aumd.USER_MASTER_ID = @p_TRN_ID) -- -- --DELETE ASS_TRANSACTION -- DELETE ASS_TRANSACTIONS WHERE TRN_ID IN (SELECT aumd.USE_MULTI_ID FROM ASS_USE_MULTI_DT aumd WHERE aumd.USER_MASTER_ID = @p_TRN_ID) -- -- --START PHUCVH 07/10/22 UPDATE ALLOCATED PHIẾU YÊU CẦU DT -- DECLARE @TBL_CHECK_UPD_1 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_1 -- 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_TRN_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_1 VARCHAR(15), @C_REQ_DOC_ID_1 VARCHAR(15), @C_ASS_GROUP_ID_1 VARCHAR(15), @C_ASS_ID_1 VARCHAR(15), @C_REQ_DT_TYPE_1 VARCHAR(15), @C_TYPE_XL_1 VARCHAR(20) -- -- DECLARE DATA_CURSOR_CHECK_UPD_1 CURSOR FOR -- SELECT * FROM @TBL_CHECK_UPD_1 -- -- OPEN DATA_CURSOR_CHECK_UPD_1 -- -- FETCH NEXT FROM DATA_CURSOR_CHECK_UPD_1 INTO -- @C_REQDT_ID_1,@C_REQ_DOC_ID_1,@C_ASS_GROUP_ID_1,@C_ASS_ID_1,@C_REQ_DT_TYPE_1,@C_TYPE_XL_1 -- -- DECLARE @ALLOCATED_1 INT -- WHILE @@FETCH_STATUS = 0 -- BEGIN -- 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 = (SELECT B.GROUP_CODE FROM ASS_GROUP B WHERE B.GROUP_ID = @C_ASS_GROUP_ID_1) -- -- IF (@C_REQ_DT_TYPE_1 = 'BUYNEW') -- BEGIN -- SET @ALLOCATED_1 = (SELECT SUM(TMP.COUNT) FROM ( -- (SELECT COUNT(*) AS COUNT -- FROM ASS_USE_MULTI_DT A -- LEFT JOIN ASS_USE_CONFIRM_MASTER B ON A.USER_MASTER_ID = B.USER_MASTER_ID -- LEFT JOIN ASS_MASTER C ON A.ASSET_ID = C.ASSET_ID -- WHERE B.USER_CONFIRM_MASTER_ID IS NOT NULL -- GROUP BY A.REQ_ID, C.GROUP_ID, C.REQ_ID -- HAVING A.REQ_ID = @C_REQ_DOC_ID_1 -- AND C.GROUP_ID IN (SELECT GROUP_ID FROM @TBL_GROUP_CODE_ASS_USE) -- AND ((@C_REQ_DT_TYPE_1 = 'BUYNEW' AND C.REQ_ID = @C_REQ_DOC_ID_1))))TMP) -- END -- ELSE IF (@C_TYPE_XL_1 = 'CPTK') -- BEGIN -- SET @ALLOCATED_1 = (SELECT SUM(TMP.COUNT) FROM ( -- (SELECT COUNT(*) AS COUNT -- FROM ASS_USE_MULTI_DT A -- LEFT JOIN ASS_USE_CONFIRM_MASTER B ON A.USER_MASTER_ID = B.USER_MASTER_ID -- LEFT JOIN ASS_MASTER C ON A.ASSET_ID = C.ASSET_ID -- WHERE B.USER_CONFIRM_MASTER_ID IS NOT NULL -- GROUP BY A.REQ_ID, C.GROUP_ID, C.REQ_ID -- HAVING A.REQ_ID = @C_REQ_DOC_ID_1 -- AND C.GROUP_ID IN (SELECT GROUP_ID FROM @TBL_GROUP_CODE_ASS_USE) -- AND ((@C_TYPE_XL_1 = 'CPTK' AND (C.REQ_ID IS NULL OR C.REQ_ID = '')))))TMP) -- END -- -- UPDATE TR_REQUEST_SHOP_DOC_DT -- SET ALLOCATED = ALLOCATED - ISNULL(@ALLOCATED_1,0) -- WHERE REQDT_ID = @C_REQDT_ID_1 -- -- UPDATE TR_REQUEST_SHOP_DOC SET IS_DONE = 0, STATUS = 'APPROVE' WHERE REQ_ID = @C_REQ_DOC_ID_1 -- UPDATE PL_REQUEST_PROCESS SET STATUS = 'C' WHERE PROCESS_ID = 'APPROVE' AND REQ_ID = @C_REQ_DOC_ID_1 -- DELETE PL_REQUEST_PROCESS WHERE REQ_ID = @C_REQ_DOC_ID_1 AND PROCESS_ID = 'DONE' -- -- FETCH NEXT FROM DATA_CURSOR_CHECK_UPD_1 INTO -- @C_REQDT_ID_1,@C_REQ_DOC_ID_1,@C_ASS_GROUP_ID_1,@C_ASS_ID_1,@C_REQ_DT_TYPE_1,@C_TYPE_XL_1 -- END -- CLOSE DATA_CURSOR_CHECK_UPD_1 -- DEALLOCATE DATA_CURSOR_CHECK_UPD_1 -- --END PHUCVH 07/10/22 UPDATE ALLOCATED PHIẾU YÊU CẦU DT SET @p_MESSAGE =N'Thông tin xuất sử dụng tài sản đã được trả về người tạo thành công' -- GiaNT 29/09/2021 INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), N'Trả về người tạo', @p_REASON ) END END ELSE BEGIN -- TDV trả về người tạo IF(EXISTS (SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng tài sản đã được hành chính duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN --PHUCVH 16/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_USE_MULTI_DT A WHERE A.USER_MASTER_ID = @p_TRN_ID) UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS ='R', CHECKER_ID = NULL, APPROVE_DT = NULL WHERE USER_MASTER_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin xuất sử dụng tài sản đã được trả về người tạo thành công' INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON, N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000) ) END END END -- Thanh lý tài sản ELSE IF(@p_TRN_TYPE ='ASS_LIQ_MUL') BEGIN IF(@p_STAGE='KT') BEGIN -- KSV trả về GDV IF(EXISTS (SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID =@p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thanh lý tài sản đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN IF(EXISTS(SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>'')) BEGIN UPDATE ASS_LIQUIDATION SET AUTH_STATUS_KT ='R', SEND_APP_DT = NULL WHERE LIQ_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin thanh lý tài sản đã được trả về giao dịch viên thành công' -- GiaNT 29/09/2021 INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu' ) END ELSE BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thanh lý tài sản chưa được kế toán cập nhật' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END END END ELSE IF(@p_STAGE='KT_HC') BEGIN -- KSV - GDV trả về người tạo IF(EXISTS (SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID = @p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT_HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thanh lý tài sản đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN UPDATE ASS_LIQUIDATION SET AUTH_STATUS ='R',CREATE_DT_KT = NULL,MAKER_ID_KT = NULL, APPROVE_DT_KT = NULL,CHECKER_ID_KT = NULL, CORE_NOTE = NULL, SEND_APP_DT = NULL WHERE LIQ_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin thanh lý tài sản đã được trả về người tạo thành công' -- GiaNT 29/09/2021 -- CLEAR các trans cho trường hợp trả về người tạo rồi lên cấp tdv duyệt DELETE ASS_TRANSACTIONS WHERE TRN_ID = @p_TRN_ID INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu' ) END END ELSE BEGIN -- TDV trả về người tạo IF(EXISTS (SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID = @p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thanh lý tài sản đã được hành chính duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN UPDATE ASS_LIQUIDATION SET AUTH_STATUS ='R' WHERE LIQ_ID = @p_TRN_ID SET @p_MESSAGE =N'Thông tin thanh lý tài sản đã được trả về người tạo thành công' INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000) ) END END END -- Nhập mới tài sản ELSE IF(@p_TRN_TYPE ='ASS_ADDNEW_MUL') BEGIN IF(@p_STAGE='KT') BEGIN -- KSV trả về GDV IF(EXISTS (SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID =@p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới tài sản đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN IF(EXISTS(SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID =@p_TRN_ID AND (MAKER_ID_KT IS NOT NULL OR MAKER_ID_KT <>'') AND AUTH_STATUS_KT = 'U')) BEGIN UPDATE ASS_ADDNEW SET AUTH_STATUS_KT ='R' WHERE ADDNEW_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin nhập mới tài sản đã được trả về giao dịch viên thành công' -- 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_TRN_ID AND PROCESS_ID = 'UPDATE' -- GiaNT 29/09/2021 INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), N'Từ chối phiếu' , @p_REASON ) END ELSE BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới tài sản chưa được kế toán cập nhật' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END END END ELSE IF(@p_STAGE='KT_HC') BEGIN -- KSV - GDV trả về người tạo IF(EXISTS (SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID = @p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT_HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới tài sản đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN UPDATE ASS_ADDNEW SET AUTH_STATUS ='R',CREATE_DT_KT = NULL,MAKER_ID_KT = NULL,APPROVE_DT_KT = NULL,CHECKER_ID_KT = NULL WHERE ADDNEW_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin nhập mới tài sản đã được trả về người tạo thành công' --khiemchg ROLLBACK DATA khi KT trả về người tạo DECLARE @REQ_ID VARCHAR(15), @REQ_CODE VARCHAR(50) SELECT @REQ_ID = AA.REQ_ID, @REQ_CODE = AA.REQ_CODE FROM ASS_ADDNEW AA WHERE AA.ADDNEW_ID = @p_TRN_ID AND AUTH_STATUS_KT='A' DECLARE @ASS_MASTER_tmp TABLE ( ASS_ID VARCHAR(15) NULL ) INSERT INTO @ASS_MASTER_tmp SELECT AT.ASSET_ID FROM ASS_TRANSACTIONS AT WHERE AT.TRN_ID = @p_TRN_ID AND AT.TRN_TYPE ='ADD_NEW' DECLARE @QTY INT = (SELECT ISNULL(COUNT(ASS_ID), 0) FROM @ASS_MASTER_tmp) DECLARE @GROUP_ID VARCHAR(15) = (SELECT AA.GROUP_ID FROM ASS_ADDNEW AA WHERE AA.ADDNEW_ID = @p_TRN_ID AND AUTH_STATUS_KT='A') DELETE ASS_MASTER WHERE ASSET_ID IN (SELECT ASS_ID FROM @ASS_MASTER_tmp) DELETE ASS_MASTER_HIST WHERE ASSET_ID IN (SELECT ASS_ID FROM @ASS_MASTER_tmp) DELETE ASS_LOCATION_HIST WHERE ASSET_ID IN (SELECT ASS_ID FROM @ASS_MASTER_tmp) DELETE ASS_TRANSACTIONS WHERE ASSET_ID IN (SELECT ASS_ID FROM @ASS_MASTER_tmp) DELETE ASS_WARRANTY_DT WHERE ASSET_ID IN (SELECT ASS_ID FROM @ASS_MASTER_tmp) DELETE ASS_USE_MULTI_DT WHERE ASSET_ID IN (SELECT ASS_ID FROM @ASS_MASTER_tmp) AND REQ_ID = @REQ_ID UPDATE TR_REQUEST_SHOP_DOC SET IS_DONE = '0' WHERE REQ_ID = @REQ_ID AND REQ_CODE = @REQ_CODE UPDATE TR_REQUEST_SHOP_DOC_DT SET ALLOCATED = ALLOCATED - @QTY WHERE REQ_DOC_ID = @REQ_ID AND ASS_GROUP_ID = @GROUP_ID -- khiemchg end -- GiaNT 29/09/2021 INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), N'Từ chối phiếu' , @p_REASON ) END END -- KSV - GDV trả về người tạo ELSE BEGIN -- TDV trả về người tạo IF(EXISTS (SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID = @p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới tài sản đã được hành chính duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN UPDATE ASS_ADDNEW SET AUTH_STATUS ='R' WHERE ADDNEW_ID = @p_TRN_ID SET @p_MESSAGE =N'Thông tin nhập mới tài sản đã được trả về người tạo thành công' INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime N'Từ chối phiếu' ,@p_REASON -- PROCESS_DESC - nvarchar(1000) ) END END END -- Kiểm kê tài sản ELSE IF(@p_TRN_TYPE ='ASS_INV_MUL') BEGIN IF(@p_STAGE='APPROVE') BEGIN -- Trưởng ban kiểm kê trả về người tạo IF(EXISTS (SELECT * FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @p_TRN_ID AND AUTH_STATUS='A')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin kiểm kê tài sản đã được trưởng ban kiểm kê duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN UPDATE ASS_INVENTORY_MASTER SET AUTH_STATUS_DVKD ='R',AUTH_STATUS ='R',APPROVE_DT_DVKD=NULL,CHECKER_ID_DVKD=NULL WHERE INVENT_ID = @p_TRN_ID UPDATE dbo.ASS_INVENTORY_PARTY_DT SET IS_DONE = '0', COMMENT = NULL, CONFIRM_DT = NULL WHERE INVENT_ID = @p_TRN_ID SET @p_MESSAGE =N'Thông tin nhập kiểm kê sản đã được trả về người tạo thành công' INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu' ) END END ELSE IF(@p_STAGE='CONFIRM') BEGIN -- Thành phần ban kiểm kê trả về người tạo IF(EXISTS(SELECT * FROM dbo.ASS_INVENTORY_PARTY_DT WHERE INVENT_ID = @p_TRN_ID AND PARTY_NAME = @p_REJECTED_BY AND IS_DONE = 1)) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin kiểm kê tài sản đã được thành phần ban kiểm kê duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE IF (EXISTS(SELECT * FROM dbo.ASS_INVENTORY_PARTY_DT WHERE INVENT_ID = @p_TRN_ID AND PARTY_NAME = @p_REJECTED_BY AND IS_DONE = 0)) BEGIN UPDATE ASS_INVENTORY_MASTER SET AUTH_STATUS_DVKD ='R',AUTH_STATUS='R',APPROVE_DT_DVKD=NULL,CHECKER_ID_DVKD=NULL WHERE INVENT_ID =@p_TRN_ID UPDATE dbo.ASS_INVENTORY_PARTY_DT SET IS_DONE = '0', COMMENT = NULL, CONFIRM_DT = NULL WHERE INVENT_ID = @p_TRN_ID SET @p_MESSAGE =N'Thông tin kiểm kê tài sản đã được trả về người tạo thành công' INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu' ) END END ELSE BEGIN -- TDV trả về người tạo IF(EXISTS (SELECT * FROM dbo.ASS_INVENTORY_MASTER WHERE INVENT_ID = @p_TRN_ID AND AUTH_STATUS_DVKD='A' AND @p_STAGE ='HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin kiểm kê tài sản đã được trưởng đơn vị duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN UPDATE ASS_INVENTORY_MASTER SET AUTH_STATUS_DVKD ='R',AUTH_STATUS ='R' WHERE INVENT_ID = @p_TRN_ID SET @p_MESSAGE =N'Thông tin kiểm kê tài sản đã được trả về người tạo thành công' INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000) ) END END END ELSE IF(@p_TRN_TYPE ='MW_IN') BEGIN BEGIN IF(@p_STAGE='KT') BEGIN IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới vật liệu đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN --UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID --SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công' IF(EXISTS(SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>'')) BEGIN UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END ELSE BEGIN SET @p_STAGE ='HC' UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về hành chính thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END END END ELSE IF(@p_STAGE='KT_HC') BEGIN BEGIN IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới vật liệu đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN SET @p_STAGE ='HC' UPDATE MW_IN_MASTER SET AUTH_STATUS ='R',CORE_NOTE = NULL , MAKER_ID_KT = NULL, CREATE_DT_KT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL --,CHECKER_ID_KT = @p_REJECTED_BY,APPROVE_DT_KT = GETDATE() WHERE IN_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về hành chính thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END END END ELSE BEGIN IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới vật liệu đã được hành chính duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END END END END --- MW - TRANSFER : ĐIỀU CHUYỂN VẬT LIỆU ELSE IF(@p_TRN_TYPE ='MW_TRANSFER') BEGIN BEGIN IF(@p_STAGE='KT') BEGIN IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin điều chuyển vật liệu đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN --UPDATE MW_TRANSFER SET KT_AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID --SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công' IF(EXISTS(SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>'')) BEGIN UPDATE MW_TRANSFER SET KT_AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END ELSE BEGIN SET @p_STAGE ='HC' UPDATE MW_TRANSFER SET AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về hành chính thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END END END ELSE IF(@p_STAGE='KT_HC') BEGIN IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin điều chuyển vật liệu đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN SET @p_STAGE ='HC' UPDATE MW_TRANSFER SET AUTH_STATUS ='R', CORE_NOTE = NULL , KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL --,KT_CHECKER_ID = @p_REJECTED_BY, KT_APPROVE_DT = GETDATE() WHERE TRANSFER_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về hành chính thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END END ELSE BEGIN IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin điều chuyển vật liệu đã được hành chính duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN UPDATE MW_TRANSFER SET AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END END END END --- MW_OUT : XUẤT VẬT LIỆU ELSE IF(@p_TRN_TYPE ='MW_OUT') BEGIN BEGIN IF(@p_STAGE='KT') BEGIN IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng vật liệu đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN --UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID --SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công' IF(EXISTS(SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>'')) BEGIN UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END ELSE BEGIN SET @p_STAGE ='HC' UPDATE MW_OUT SET AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về hành chính thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END END END ELSE IF(@p_STAGE='KT_HC') BEGIN IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng vật liệu đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN SET @p_STAGE ='HC' UPDATE MW_OUT SET AUTH_STATUS ='R', CORE_NOTE = NULL , KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL --, KT_APPROVE_DT = GETDATE() ,KT_CHECKER_ID = @p_REJECTED_BY WHERE OUT_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về hành chính thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END END ELSE BEGIN IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng vật liệu đã được hành chính duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN UPDATE MW_OUT SET AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END END END END --- MW_OUT : THANH LÝ VẬT LIỆU ELSE IF(@p_TRN_TYPE ='MW_LIQ_MASTER') BEGIN BEGIN IF(@p_STAGE='KT') BEGIN IF(EXISTS (SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thanh lý vật liệu đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN --UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID --SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công' IF(EXISTS(SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>'')) BEGIN UPDATE MW_LIQ_MASTER SET KT_AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END ELSE BEGIN SET @p_STAGE ='HC' UPDATE MW_LIQ_MASTER SET AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về hành chính thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END END END ELSE IF(@p_STAGE='KT_HC') BEGIN IF(EXISTS (SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thanh lý vật liệu đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN SET @p_STAGE ='HC' UPDATE MW_LIQ_MASTER SET AUTH_STATUS ='R', CORE_NOTE = NULL , KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL --,KT_CHECKER_ID = @p_REJECTED_BY, KT_APPROVE_DT = GETDATE() WHERE LIQ_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về hành chính thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END END ELSE BEGIN IF(EXISTS (SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thanh lý vật liệu đã được hành chính duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN UPDATE MW_LIQ_MASTER SET AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về thành công' INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES) VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu') END END END END -- PHIEU DE NGHI TAM UNG 05 11 2019 ELSE IF(@p_TRN_TYPE ='REQ_ADVANCE_PAY') BEGIN IF(@p_STAGE='KT') BEGIN -- doanptt them rang buoc nhap ky do tra ve IF(@p_REASON IS NULL OR @p_REASON = '') BEGIN SET @p_MESSAGE =N'Lý do trả về không được để trống' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END IF(EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Trả về thất bại! Phiếu đề nghị tạm ứng đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END ELSE BEGIN -- NEU DANG O VI TRI TKTGD, TKHDQT IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID AND ROLE_USER IN ('TKTGD','TKHDQT') AND STATUS ='C')) BEGIN IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TYPE_JOB ='KS' AND TLNAME =@p_REJECTED_BY)) BEGIN SET @p_MESSAGE =N'Trả về thất bại! Phiếu đề nghị tạm ứng chưa được điều phối cho nhân viên xử lý' ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '-1' END --UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về nhân viên xử lý thành công' ---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE TLNAME =(SELECT TOP 1 TLNAME FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TYPE_JOB ='XL') AND REQ_ID =@p_TRN_ID -- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME =@p_REJECTED_BY AND REQ_ID =@p_TRN_ID AND TYPE_JOB ='KS' INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'Trưởng văn phòng từ chối nhân viên xử lý' -- PROCESS_DESC - nvarchar(1000) ) EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT INSERT INTO [dbo].[CM_REJECT_LOG] VALUES (@p_LOG_ID,'HC',@p_TRN_ID,@p_TRN_TYPE,CONVERT(DATETIME,GETDATE(),103),'R',@p_REASON,'Y',@p_REJECTED_BY,CONVERT(DATETIME,GETDATE(),103)) COMMIT TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END --UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID --SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công' IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>'')) BEGIN UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về thành công' ---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE TLNAME =(SELECT MAKER_ID_KT FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID) AND REQ_ID =@p_TRN_ID -- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME =@p_REJECTED_BY AND REQ_ID =@p_TRN_ID INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'KSV trả về cho GDV' -- PROCESS_DESC - nvarchar(1000) ) END ELSE BEGIN SET @p_STAGE ='HC' UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS ='R',PROCESS ='',MAKER_ID_KT = NULL, CREATE_DT_KT =NULL, APPROVE_DT = NULL, CHECKER_ID = NULL WHERE REQ_PAY_ID =@p_TRN_ID SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về đơn vị thành công' ---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID -- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON,N'Trả về cho người tạo phiếu' -- PROCESS_DESC - nvarchar(1000) ) END END END ELSE IF(@p_STAGE='KT_HC') BEGIN IF(EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND AUTH_STATUS_KT = 'A')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Phiếu đề nghị tạm ứng đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN SET @p_STAGE ='HC' UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS ='R',PROCESS ='',MAKER_ID_KT = NULL, CREATE_DT_KT =NULL, APPROVE_DT = NULL, CHECKER_ID = NULL WHERE REQ_PAY_ID =@p_TRN_ID SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về đơn vị thành công' ---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID -- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON,N'Trả về cho người tạo phiếu' -- PROCESS_DESC - nvarchar(1000) ) END END ELSE IF(@p_STAGE ='HC') BEGIN IF(EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC' AND (MAKER_ID_KT IS NULL OR MAKER_ID_KT =''))) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại! Phiếu đề nghị tạm ứng đã được duyệt hoàn tất ở cấp độ Hành Chính Quản Trị' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END IF(EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND AUTH_STATUS='R')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại! Phiếu đề nghị tạm ứng đã được trả về trước đó' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS ='R',PROCESS ='',CHECKER_ID ='',APPROVE_DT =NULL, MAKER_ID_KT =NULL, CREATE_DT_KT = NULL, APPROVE_DT_KT =NULL WHERE REQ_PAY_ID =@p_TRN_ID SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng được trả về về thành công' --NEU PHIEU DANG TRONG QUA TRINH PHE DUYET THI XOA TOAN BO PL_PROCESS VA PL_REQUEST_PROCESS -- XOA CAC CAP PHE DUYET, KHI DON VI THUC HIEN CHINH SUA THI HE THONG SE INSERT LAI DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID --DELETE FROM PL_PROCESS WHERE REQ_ID =@p_TRN_ID -- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'Trả về' -- PROCESS_DESC - nvarchar(1000) ) END END ELSE IF(@p_STAGE ='SUG') BEGIN UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_TRN_ID AND TLNAME=@p_REJECTED_BY DECLARE @LEVEL_JOB VARCHAR(5), @LEVEL_JOB_PREV INT SET @LEVEL_JOB =(SELECT LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TLNAME=@p_REJECTED_BY) SET @LEVEL_JOB_PREV = CONVERT(INT,@LEVEL_JOB) -1 UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE REQ_ID=@p_TRN_ID AND LEVEL_JOB = CONVERT(VARCHAR(5),@LEVEL_JOB_PREV) -- CAP NHAT TINH TRANG VE DANG XU LY UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='S' WHERE REQ_PAY_ID =@p_TRN_ID INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'GDV đề xuất từ chối phiếu' -- PROCESS_DESC - nvarchar(1000) ) SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng được đề xuất từ chối thành công' END ELSE IF(@p_STAGE ='DEL') BEGIN UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='D',AUTH_STATUS ='D' WHERE REQ_PAY_ID =@p_TRN_ID UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='D' WHERE REQ_PAY_ID =@p_TRN_ID UPDATE TR_REQ_PAYMENT_DT SET AUTH_STATUS_KT ='D' WHERE PAY_ID =@p_TRN_ID UPDATE TR_REQ_PAY_SCHEDULE SET AUTH_STATUS_KT='D' WHERE PAY_ID =@p_TRN_ID UPDATE TR_REQ_PAY_PERIOD SET AUTH_STATUS_KT ='D' WHERE REQ_PAY_ID =@p_TRN_ID --------------------------------------------------------------------------------------------------------------------- DECLARE CURS_TRADE CURSOR FOR SELECT A.TRADE_ID, A.AMT_EXE FROM TR_REQ_PAY_BUDGET A WHERE A.REQ_PAY_ID =@p_TRN_ID OPEN CURS_TRADE FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE WHILE @@FETCH_STATUS = 0 BEGIN UPDATE PL_TRADEDETAIL SET AMT_EXE = ISNULL(AMT_EXE,0) + @AMT_EXE WHERE TRADE_ID =@TRADED_ID FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE END CLOSE CURS_TRADE DEALLOCATE CURS_TRADE DECLARE CURS CURSOR FOR SELECT A.PAY_ADV_ID,A.AMT_USE,A.AMT_ADD,A.AMT_REVERT FROM TR_REQ_PAYMENT_DT A WHERE A.PAY_ID =@p_TRN_ID OPEN CURS FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT WHILE @@FETCH_STATUS = 0 BEGIN UPDATE TR_REQ_ADVANCE_PAYMENT SET PAY_AMT = ISNULL(PAY_AMT,0) - @AMT_PAY - @AMT_REVERT + @AMT_ADD WHERE REQ_PAY_ID=@PAY_ADVANCE_ID FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT END CLOSE CURS DEALLOCATE CURS INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'DEL', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'KSV hủy phiếu' -- PROCESS_DESC - nvarchar(1000) ) --doanptt ẩn nscp khi hủy hoặc trả phiếu về HC UPDATE TR_REQ_BUDGET_MONTH_LIMIT_DETAIL SET RECORD_STATUS = '0' UPDATE TR_REQ_BUDGET_YEAR_LIMIT_DETAIL SET RECORD_STATUS = '0' SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng được hủy thành công. Bạn vẫn có thể xem thông tin giao dịch với tình trạng đã bị hủy' END END -- END PHIEU DE NGHI TAM UNG 05 11 2019 -- START PHIEU DE THI THANH TOAN 19-11-2019 ELSE IF(@p_TRN_TYPE ='TR_REQ_PAY') BEGIN BEGIN IF(@p_STAGE='KT') BEGIN IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Phiếu đề nghị thanh toán đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN --UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID --SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công' IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>'')) BEGIN UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được trả về thành công' ---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE TLNAME =(SELECT MAKER_ID_KT FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID) AND REQ_ID =@p_TRN_ID UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME =@p_REJECTED_BY AND REQ_ID =@p_TRN_ID -- INSERT VAO BANG LICH SU INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'KSV trả về cho GDV' -- PROCESS_DESC - nvarchar(1000) ) END ELSE BEGIN SET @p_STAGE ='HC' UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R',PROCESS ='',MAKER_ID_KT = NULL, CREATE_DT_KT =NULL, APPROVE_DT = NULL, CHECKER_ID = NULL WHERE REQ_PAY_ID =@p_TRN_ID SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được trả về đơn vị thành công' -- XOA DI DU LIEU DA DIEU PHOI, CHO DON VI XU LY VA DUYET LAI SE DIEU PHOI LAI ---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID -- INSERT VAO BANG LICH SU INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000) ) SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được từ chối thành công' --doanptt 210622 xóa nscp khi hủy hoặc trả phiếu về HC DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_TRN_ID DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_TRN_ID END END END ELSE IF(@p_STAGE='KT_HC') BEGIN IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND AUTH_STATUS_KT = 'A')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Phiếu đề nghị thanh toán đã được kế toán duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN SET @p_STAGE ='HC' UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R',PROCESS ='',MAKER_ID_KT = NULL, CREATE_DT_KT =NULL, APPROVE_DT = NULL, CHECKER_ID = NULL WHERE REQ_PAY_ID =@p_TRN_ID SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được trả về đơn vị thành công' ---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID -- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON,N'Trả về cho người tạo phiếu' -- PROCESS_DESC - nvarchar(1000) ) END END ELSE IF(@p_STAGE ='HC') BEGIN IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC'AND (MAKER_ID_KT IS NULL OR MAKER_ID_KT =''))) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Phiếu đề nghị thanh toán đã được trưởng đơn vị duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R',PROCESS='',CHECKER_ID ='',APPROVE_DT =NULL, MAKER_ID_KT =NULL, CREATE_DT_KT = NULL, APPROVE_DT_KT =NULL WHERE REQ_PAY_ID =@p_TRN_ID DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được trả về thành công' -- INSERT VAO BANG LICH SU INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON,N'Trả về' -- PROCESS_DESC - nvarchar(1000) ) --doanptt xóa nscp khi hủy hoặc trả phiếu về HC DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_TRN_ID DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_TRN_ID END END ELSE IF(@p_STAGE ='SUG') BEGIN UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_TRN_ID AND TLNAME=@p_REJECTED_BY DECLARE @LEVEL_JOB_PAY VARCHAR(5), @LEVEL_JOB_PREV_PAY INT SET @LEVEL_JOB_PAY =(SELECT LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TLNAME=@p_REJECTED_BY) SET @LEVEL_JOB_PREV_PAY = CONVERT(INT,@LEVEL_JOB_PAY) -1 UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE REQ_ID=@p_TRN_ID AND LEVEL_JOB = CONVERT(VARCHAR(5),@LEVEL_JOB_PREV_PAY) UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='S' WHERE REQ_PAY_ID =@p_TRN_ID INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'SUG', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'GDV đề xuất từ chối phiếu' -- PROCESS_DESC - nvarchar(1000) ) SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được đề xuất từ chối thành công' END ELSE IF(@p_STAGE ='DEL') BEGIN UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='D',AUTH_STATUS ='D' WHERE REQ_PAY_ID =@p_TRN_ID UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='D' WHERE REQ_PAY_ID =@p_TRN_ID UPDATE TR_REQ_PAYMENT_DT SET AUTH_STATUS_KT ='D' WHERE PAY_ID =@p_TRN_ID UPDATE TR_REQ_PAY_SCHEDULE SET AUTH_STATUS_KT='D' WHERE PAY_ID =@p_TRN_ID --------------------------------------------------------------------------------------------------------------------- --DECLARE @TRADED_ID VARCHAR(15), @AMT_EXE DECIMAL(18,0) DECLARE CURS_TRADE CURSOR FOR SELECT A.TRADE_ID, A.AMT_EXE FROM TR_REQ_PAY_BUDGET A WHERE A.REQ_PAY_ID =@p_TRN_ID OPEN CURS_TRADE FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE WHILE @@FETCH_STATUS = 0 BEGIN UPDATE PL_TRADEDETAIL SET AMT_EXE = ISNULL(AMT_EXE,0) + @AMT_EXE WHERE TRADE_ID =@TRADED_ID FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE END CLOSE CURS_TRADE DEALLOCATE CURS_TRADE -- XOA NGAN SACH --DELETE FROM TR_REQ_PAY_BUDGET WHERE REQ_PAY_ID= @p_TRN_ID --- NEU LA TAM UNG NOI BO THI PHAI REVERT LAI SO TIEN DA HOAN UNG CUA PHIEU DE NGHI TAM UNG --DECLARE @PAY_ADVANCE_ID VARCHAR(15), @AMT_PAY DECIMAL(18,0), @AMT_REVERT DECIMAL(18,0), @AMT_ADD DECIMAL(18,0) DECLARE CURS CURSOR FOR SELECT A.PAY_ADV_ID,A.AMT_USE,A.AMT_ADD,A.AMT_REVERT FROM TR_REQ_PAYMENT_DT A WHERE A.PAY_ID =@p_TRN_ID OPEN CURS FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT WHILE @@FETCH_STATUS = 0 BEGIN UPDATE TR_REQ_ADVANCE_PAYMENT SET PAY_AMT = ISNULL(PAY_AMT,0) - @AMT_PAY - @AMT_REVERT + @AMT_ADD WHERE REQ_PAY_ID=@PAY_ADVANCE_ID FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT END CLOSE CURS DEALLOCATE CURS ---- XOA DI SO TIEN DA HOAN UNG CUA KI THANH TOAN NEU THANH TOAN NHA CUNG CAP VUA HOAN UNG DOT CŨ VÀ VỪA THANH TOÁN ĐỢT MỚI --DECLARE @REQ_PAY_ID VARCHAR(15), @AMT_REAL DECIMAL(18,0) --DECLARE CURS_SCHE CURSOR FOR SELECT A.REQ_PAY_ID, A.AMT_PAY_REAL FROM TR_REQ_PAY_SCHEDULE A WHERE A.REQ_PAY_ID =@p_TRN_ID --OPEN CURS_SCHE -- FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE -- WHILE @@FETCH_STATUS = 0 -- BEGIN -- UPDATE PL_TRADEDETAIL SET AMT_EXE = ISNULL(AMT_EXE,0) + @AMT_EXE -- WHERE TRADE_ID =@TRADED_ID -- FETCH NEXT FROM CURS_SCHE INTO @TRADED_ID,@AMT_EXE -- END --CLOSE CURS_SCHE --DEALLOCATE CURS_SCHE INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'DEL', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'KSV hủy phiếu' -- PROCESS_DESC - nvarchar(1000) ) SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được hủy thành công. Bạn vẫn có thể xem thông tin giao dịch với tình trạng đã bị hủy' --doanptt ẩn nscp khi hủy hoặc trả phiếu về HC UPDATE TR_REQ_BUDGET_MONTH_LIMIT_DETAIL SET RECORD_STATUS = '0' UPDATE TR_REQ_BUDGET_YEAR_LIMIT_DETAIL SET RECORD_STATUS = '0' END END END -- END PHIEU DE THI THANH TOAN 19-11-2019 --- Tờ trình chủ trương ELSE IF(@p_TRN_TYPE='PL_REQUEST_DOC') BEGIN IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID='APPROVE')) BEGIN SET @p_MESSAGE =N'Trả về thất bại! Tờ trình chủ trương đã được duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN UPDATE dbo.PL_REQUEST_DOC SET PROCESS_ID='REJECT',AUTH_STATUS='R' WHERE REQ_ID=@p_TRN_ID INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000) ) SET @p_MESSAGE =N'Tờ trình chủ trương đã được trả về thành công' -- 28-10-2020 LUCTV, KHI TRA VE PHAI PL_REQUEST_PROCESS UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Tờ trình bị trả về' WHERE PROCESS_ID='APPNEW' AND REQ_ID=@p_TRN_ID UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='SIGN' AND REQ_ID=@p_TRN_ID END END ELSE IF(@p_TRN_TYPE='TR_REQUEST_DOC') BEGIN --IF(@p_STAGE='DVMS') --BEGIN --END IF(@p_STAGE='PDYC' OR @p_STAGE ='DV') BEGIN IF(EXISTS(SELECT * FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID='APPROVE')) BEGIN SET @p_MESSAGE =N'Trả về thất bại! Phiếu yêu cầu đã được duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN UPDATE dbo.TR_REQUEST_DOC SET PROCESS_ID='REJECT', AUTH_STATUS ='R' WHERE REQ_ID=@p_TRN_ID INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000) ) SET @p_MESSAGE =N'Phiếu yêu cầu mua sắm đã được trả về thành công' -- 28-10-2020 LUCTV, KHI TRA VE PHAI PL_REQUEST_PROCESS UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='APPNEW' AND REQ_ID=@p_TRN_ID UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='SIGN' AND REQ_ID=@p_TRN_ID END END END -- END IF -- NEU LA TRA VE CUA HOP DONG ELSE IF(@p_TRN_TYPE='TR_CONTRACT') BEGIN --- CAP NHAT AUTH_STATUS CUA HOP DONG VE R IF(EXISTS(SELECT * FROM TR_CONTRACT WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='R')) BEGIN SET @p_MESSAGE =N'Trả về thất bại! Hợp đồng đã được trả về trước đó. Vui lòng đợi nhân viên cập nhật thông tin và bấm gửi phê duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END IF(EXISTS(SELECT * FROM TR_CONTRACT WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='A')) BEGIN SET @p_MESSAGE =N'Trả về thất bại! Hợp đồng đã được phê duyệt thành công trước đó!' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END UPDATE TR_CONTRACT SET AUTH_STATUS ='R', IS_SEND_APPR = 'N' WHERE CONTRACT_ID =@p_TRN_ID INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000) ) SET @p_MESSAGE =N'Hợp đồng đã được trả về thành công' END -- NEU LA TRA VE CUA HOP DONG ELSE IF(@p_TRN_TYPE='TR_PO') BEGIN --- CAP NHAT AUTH_STATUS CUA HOP DONG VE R IF(EXISTS(SELECT * FROM TR_PO_MASTER WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='R')) BEGIN SET @p_MESSAGE =N'Trả về thất bại! PO đã được trả về trước đó. Vui lòng đợi nhân viên cập nhật thông tin và bấm gửi phê duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END IF(EXISTS(SELECT * FROM TR_PO_MASTER WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='A')) BEGIN SET @p_MESSAGE =N'Trả về thất bại! PO đã được phê duyệt thành công trước đó!' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END UPDATE TR_PO_MASTER SET AUTH_STATUS ='R', IS_SEND_APPR = 'N' WHERE PO_ID =@p_TRN_ID INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, -- REQ_ID - varchar(15) 'REJECT', -- PROCESS_ID - varchar(10) @p_REJECTED_BY, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime @p_REASON ,N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000) ) SET @p_MESSAGE =N'PO đã được trả về thành công' END --- KET THUC TRA VE PO ELSE BEGIN SET @p_MESSAGE =N'Trả về giao dịch thành công' END ---BAODNQ 28/12/2021: Thêm xử lý trả về cho phân hệ quản lý cho thuê------ -------Khai báo DTSD nội bộ------- IF(@p_TRN_TYPE ='BUD_INTERNAL') --BEGIN ELSE IF--- BEGIN IF(EXISTS (SELECT * FROM BUD_CONTRACT_MASTER WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS ='A')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin khai báo DTSD nội bộ đã được duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END UPDATE BUD_CONTRACT_MASTER SET AUTH_STATUS ='R', ---BAODNQ 31/12/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------ IS_SEND_APPR = 'N', CHECKER_ID = NULL, APPROVE_DT = NULL, SEND_APPR_DT = NULL, SIGN_DT = NULL WHERE CONTRACT_ID=@p_TRN_ID SET @p_MESSAGE =N'Thông tin khai báo DTSD nội bộ đã được trả về thành công' --------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý--------- INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu' ) IF @@ERROR <> 0 GOTO ABORT ---END ELSE IF--- END -------Quản lý hợp đồng khách thuê------- ELSE IF(@p_TRN_TYPE ='BUD_RENTAL') --BEGIN ELSE IF--- BEGIN IF(EXISTS (SELECT * FROM BUD_CONTRACT_CUST_MASTER WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS ='A')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin khai báo DT cho khách thuê đã được duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END UPDATE BUD_CONTRACT_CUST_MASTER SET AUTH_STATUS ='R', ---BAODNQ 31/12/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------ IS_SEND_APPR = 'N', CHECKER_ID = NULL, APPROVE_DT = NULL, SEND_APPR_DT = NULL, SIGN_DT = NULL WHERE CONTRACT_ID=@p_TRN_ID SET @p_MESSAGE =N'Thông tin khai báo DT cho khách thuê đã được trả về thành công' --------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý--------- INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu' ) IF @@ERROR <> 0 GOTO ABORT ---END ELSE IF--- END ---datmq 28/12/2021: Thêm xử lý trả về cho phân hệ quản lý cho thuê------ -------Quản lý trụ sở------- ELSE IF(@p_TRN_TYPE ='BUD_MASTER') --BEGIN ELSE IF--- BEGIN IF(EXISTS (SELECT * FROM BUD_MASTER WHERE BUILDING_ID =@p_TRN_ID AND AUTH_STATUS ='A')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin quản lý cho thuê đã được duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ---BAODNQ 26/1/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------ UPDATE BUD_MASTER SET AUTH_STATUS ='R', IS_SEND_APPR = 'N', CHECKER_ID = NULL, APPROVE_DT = NULL, SEND_APPR_DT = NULL, SIGN_DT = NULL WHERE BUILDING_ID=@p_TRN_ID SET @p_MESSAGE =N'Thông tin quản lý trụ sở đã được trả về thành công' --------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý--------- INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu' ) IF @@ERROR <> 0 GOTO ABORT ---END ELSE IF--- END /* ---doanptt 10/02/2022: Thêm xử lý trả về cho phân hệ quản lý thanh toán/ tạm ứng------ ELSE IF(@p_TRN_TYPE ='TR_REQ_PAY') BEGIN IF(@p_STAGE='HC') BEGIN IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND AUTH_STATUS = 'A' AND @p_STAGE ='HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới phiếu đề nghị thanh toán đã được hành chính duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN --UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID --SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công' IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND MAKER_ID IS NOT NULL AND MAKER_ID <>'')) BEGIN UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R' WHERE REQ_PAY_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin nhập mới phiếu đề nghị thanh toán đã được trả về thành công' END END END END ---doanptt 10/02/2022: Thêm xử lý trả về cho phân hệ quản lý thanh toán/ tạm ứng------ ELSE IF(@p_TRN_TYPE ='TR_REQ_ADVACNE_PAY') BEGIN IF(@p_STAGE='HC') BEGIN IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND AUTH_STATUS = 'A' AND @p_STAGE ='HC')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới phiếu đề nghị tạm ứng đã được hành chính duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN --UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID --SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công' IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND MAKER_ID IS NOT NULL AND MAKER_ID <>'')) BEGIN UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R' WHERE REQ_PAY_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin nhập mới phiếu đề nghị tạm ứng đã được trả về thành công' END /*ELSE BEGIN SET @p_STAGE ='HC' UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về hành chính thành công' END*/ END END END */ ------BAODNQ 14/02/2022: Thêm xử lý trả về cho phân hệ quản lý BDS------ -------------Quản lý BDS--------------- ELSE IF(@p_TRN_TYPE = 'RET_MASTER') BEGIN IF(EXISTS(SELECT * FROM RET_MASTER WHERE RET_ID = @p_TRN_ID AND AUTH_STATUS = 'A')) BEGIN SET @p_MESSAGE = N'Hủy trả về thất bại! Thông tin bất động sản đã được duyệt' ROLLBACK TRANSACTION SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc RETURN '0' END UPDATE RET_MASTER SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N', CHECKER_ID = NULL, APPROVE_DT = NULL, SEND_APPR_DT = NULL, SIGN_DT = NULL WHERE RET_ID = @p_TRN_ID SET @p_MESSAGE = N'Thông tin bất động sản đã được trả về thành công' --------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý--------- INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu' ) IF @@ERROR <> 0 GOTO ABORT END -------Thông tin sửa chữa BDS-------------- ELSE IF(@p_TRN_TYPE = 'RET_REPAIR') BEGIN IF(EXISTS(SELECT * FROM RET_REPAIR WHERE RP_ID = @p_TRN_ID AND AUTH_STATUS = 'A')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin sửa chữa BDS đã được duyệt' ROLLBACK TRANSACTION SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc RETURN '0' END UPDATE RET_REPAIR SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N', CHECKER_ID = NULL, APPROVE_DT = NULL, SEND_APPR_DT = NULL, SIGN_DT = NULL WHERE RP_ID = @p_TRN_ID SET @p_MESSAGE = N'Thông tin sửa chữa BDS đã được trả về thành công' --------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý--------- INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu' ) IF @@ERROR <> 0 GOTO ABORT END -----BDS thuê làm trụ sở CN/PGD-------- ELSE IF(@p_TRN_TYPE = 'REAL_ESTATE_R_H') BEGIN IF(EXISTS(SELECT * FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_TRN_ID AND AUTH_STATUS = 'A')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại! BDS thuê làm trụ sở CN/PGD đã được duyệt' ROLLBACK TRANSACTION SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc RETURN '0' END UPDATE REAL_ESTATE_R_H SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N', CHECKER_ID = NULL, APPROVE_DT = NULL, SEND_APPR_DT = NULL, SIGN_DT = NULL WHERE RET_R_H_ID = @p_TRN_ID SET @p_MESSAGE = N'BDS thuê làm trụ sở CN/PGD đã được trả về thành công' --------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý--------- INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu' ) IF @@ERROR <> 0 GOTO ABORT END -----BDS đang hoàn thiện thủ tục pháp lý-------- ELSE IF(@p_TRN_TYPE = 'REAL_ESTATE_L_C') BEGIN IF(EXISTS(SELECT * FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @p_TRN_ID AND AUTH_STATUS = 'A')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại! BDS đang hoàn thiện thủ tục pháp lý đã được duyệt' ROLLBACK TRANSACTION SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc RETURN '0' END UPDATE REAL_ESTATE_L_C SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N', CHECKER_ID = NULL, APPROVE_DT = NULL, SEND_APPR_DT = NULL, SIGN_DT = NULL WHERE RET_L_C_ID = @p_TRN_ID SET @p_MESSAGE = N'BDS đang hoàn thiện thủ tục pháp lý đã được trả về thành công' --------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý--------- INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu' ) IF @@ERROR <> 0 GOTO ABORT END ---------BAODNQ 18/3/2022: Đánh giá NCC-------- -------Đánh giá NCC--------- ELSE IF(@p_TRN_TYPE = 'TR_RATE_SUPPLIER_MASTER') BEGIN IF(EXISTS(SELECT * FROM TR_RATE_SUPPLIER_MASTER WHERE RATE_ID = @p_TRN_ID AND AUTH_STATUS = 'A')) BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại! Biên bản đánh giá NCC đã được duyệt' ROLLBACK TRANSACTION SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc RETURN '0' END UPDATE TR_RATE_SUPPLIER_MASTER SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N', PROCESS_STATUS = 'REJECT' WHERE RATE_ID = @p_TRN_ID SET @p_MESSAGE = N'Biên bản đánh giá NCC đã được trả về thành công' --------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý--------- INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu' ) IF @@ERROR <> 0 GOTO ABORT END ELSE IF(@p_TRN_TYPE ='TR_REQUEST_CAR') BEGIN DECLARE @p_PROCESS_ID VARCHAR(15) SELECT @p_PROCESS_ID=PROCESS_ID FROM TR_REQUEST_CAR WHERE REQ_ID =@p_TRN_ID IF(@p_PROCESS_ID='DONE') BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin phiếu yêu cầu xe đã được duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END IF(@p_PROCESS_ID IN ('SEND','TP_APP')) BEGIN UPDATE TR_REQUEST_CAR SET AUTH_STATUS ='R',PROCESS_ID='REJECT',IS_SEND_APPR = 'N' WHERE REQ_ID=@p_TRN_ID SET @p_MESSAGE =N'Thông tin phiếu yêu cầu xe đã được trả về thành công' IF(@p_PROCESS_ID='SEND') BEGIN UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='SEND' AND REQ_ID=@p_TRN_ID END ELSE BEGIN UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='TP_APP' AND REQ_ID=@p_TRN_ID UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='CV_APP' AND REQ_ID=@p_TRN_ID END END ELSE IF(@p_PROCESS_ID='USER_SEND') BEGIN UPDATE TR_REQUEST_CAR SET AUTH_STATUS ='R',PROCESS_ID='CV_REJECT' WHERE REQ_ID=@p_TRN_ID SET @p_MESSAGE =N'Thông tin phiếu yêu cầu xe đã được trả về thành công' UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='P' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='XL' AND REQ_ID=@p_TRN_ID END ELSE IF(@p_PROCESS_ID IN ('MAKER_APP','CVSENDCONF')) BEGIN UPDATE TR_REQUEST_CAR SET AUTH_STATUS ='R',PROCESS_ID='COSTREJECT',IS_CONFIRM_COST='N' WHERE REQ_ID=@p_TRN_ID SET @p_MESSAGE =N'Thông tin chi phí phiếu yêu cầu xe đã được trả về thành công' IF(@p_PROCESS_ID='MAKER_APP') BEGIN UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C' WHERE PROCESS_ID='CV_XL' AND REQ_ID=@p_TRN_ID UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='MAKER_APP' AND REQ_ID=@p_TRN_ID END ELSE BEGIN UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C' WHERE PROCESS_ID='CV_XL' AND REQ_ID=@p_TRN_ID UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='MAKER_APP' AND REQ_ID=@p_TRN_ID UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='TDV_C_APP' AND REQ_ID=@p_TRN_ID END END INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON, N'Từ chối phiếu' ) END ELSE IF(@p_TRN_TYPE ='TR_REQUEST_JOB_FORM') BEGIN DECLARE @PROCESS_ID VARCHAR(15),@SIGN_USER VARCHAR(50) SELECT @PROCESS_ID=PROCESS_ID,@SIGN_USER=SIGN_USER FROM dbo.TR_REQUEST_JOB_FORM WHERE REQ_ID =@p_TRN_ID IF(@PROCESS_ID='APPROVE') BEGIN SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin phiếu yêu cầu xe đã được duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END IF(@PROCESS_ID IN ('SEND','SIGN')) BEGIN UPDATE dbo.TR_REQUEST_JOB_FORM SET AUTH_STATUS ='R',PROCESS_ID='REJECT',IS_SEND_APPR = 'N' WHERE REQ_ID=@p_TRN_ID SET @p_MESSAGE =N'Thông tin phiếu yêu cầu công tác đã được trả về thành công' IF(@PROCESS_ID='SEND' AND @SIGN_USER IS NOT NULL) BEGIN UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='SIGN' AND REQ_ID=@p_TRN_ID END ELSE BEGIN UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='APPNEW' AND REQ_ID=@p_TRN_ID UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='SIGN' AND REQ_ID=@p_TRN_ID END END ELSE IF(@PROCESS_ID='HO_APP') BEGIN UPDATE dbo.TR_REQUEST_JOB_FORM SET AUTH_STATUS ='R',PROCESS_ID='APPNEW' WHERE REQ_ID=@p_TRN_ID SET @p_MESSAGE =N'Thông tin phiếu yêu cầu công tác đã được trả về thành công' UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='HO_APP' AND REQ_ID=@p_TRN_ID UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='U',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='MAKER_CONF' AND REQ_ID=@p_TRN_ID END ELSE IF(@PROCESS_ID = 'MAKER_APP') BEGIN UPDATE TR_REQUEST_JOB_FORM SET AUTH_STATUS ='R',PROCESS_ID='HCHO_XL' WHERE REQ_ID=@p_TRN_ID SET @p_MESSAGE =N'Thông tin chi phí phiếu yêu cầu công tác đã được trả về thành công' UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='MAKER_APP' AND REQ_ID=@p_TRN_ID UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='U',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='TDV_APP' AND REQ_ID=@p_TRN_ID END INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON, N'Từ chối phiếu' ) END --Phucvh từ chối phiếu yêu cầu sửa chữa ELSE IF(@p_TRN_TYPE ='ASS_REPAIR_ASS') BEGIN IF(EXISTS(SELECT trsd.REQ_ID FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.AUTH_STATUS = 'A' AND trsd.REQ_ID = @p_TRN_ID)) BEGIN SET @p_MESSAGE =N'Trả về thất bại! Thông tin phiếu yêu cầu sửa chữa đã được duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END UPDATE TR_REQUEST_SHOP_DOC SET AUTH_STATUS ='R', STATUS = 'REJECT', CHECKER_ID = NULL, APPROVE_DT = NULL, HO_NOTES = NULL, SEND_APP_DT = NULL WHERE REQ_ID=@p_TRN_ID SET @p_MESSAGE =N'Trả về thành công' --PHUCVH 16/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.ASS_ID FROM TR_REQUEST_SHOP_DOC_DT A WHERE A.REQ_DOC_ID = @p_TRN_ID) UPDATE TR_REQUEST_SHOP_COSTCENTER SET NOTES = NULL, RE_CONTENT = NULL, QUANTITY = 0, ASS_STATUS = NULL, CHECKER_ID = NULL, APPROVE_DT = NULL, AUTH_STATUS = 'E', MAKER_ID = NULL, CREATE_DT = NULL WHERE REQ_ID = @p_TRN_ID DELETE PL_REQUEST_PROCESS WHERE REQ_ID = @p_TRN_ID INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), N'Trả về người tạo', @p_REASON ) END --Phucvh từ chối phiếu yêu cầu điều chuyển ELSE IF(@p_TRN_TYPE ='ASS_TRANSFER') BEGIN IF(EXISTS(SELECT trsd.REQ_ID FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.AUTH_STATUS = 'A' AND trsd.REQ_ID = @p_TRN_ID)) BEGIN SET @p_MESSAGE =N'Trả về thất bại! Thông tin phiếu yêu cầu điều chuyển đã được duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END UPDATE TR_REQUEST_SHOP_DOC SET AUTH_STATUS ='R', STATUS = 'REJECT', CHECKER_ID = NULL, APPROVE_DT = NULL, HO_NOTES = NULL, SEND_APP_DT = NULL WHERE REQ_ID=@p_TRN_ID SET @p_MESSAGE =N'Trả về thành công' --PHUCVH 16/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.ASS_ID FROM TR_REQUEST_SHOP_DOC_DT A WHERE A.REQ_DOC_ID = @p_TRN_ID) UPDATE TR_REQUEST_SHOP_COSTCENTER SET NOTES = NULL, RE_CONTENT = NULL, QUANTITY = 0, ASS_STATUS = NULL, CHECKER_ID = NULL, APPROVE_DT = NULL, AUTH_STATUS = 'E', MAKER_ID = NULL, CREATE_DT = NULL WHERE REQ_ID = @p_TRN_ID DELETE PL_REQUEST_PROCESS WHERE REQ_ID = @p_TRN_ID INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), N'Trả về người tạo', @p_REASON ) END --khiemchg từ chối phiếu yêu cầu cấp phát tài sản ELSE IF(@p_TRN_TYPE ='PYC_CPTS') BEGIN IF(EXISTS(SELECT trsd.REQ_ID FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.AUTH_STATUS = 'A' AND trsd.REQ_ID = @TRADED_ID)) BEGIN SET @p_MESSAGE =N'Trả về thất bại! Thông tin phiếu yêu cầu cấp phát tài sản đã được duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END UPDATE TR_REQUEST_SHOP_DOC SET AUTH_STATUS ='R', STATUS = 'REJECT', SEND_APP_DT = NULL WHERE REQ_ID=@p_TRN_ID SET @p_MESSAGE =N'Trả về thành công' DELETE PL_REQUEST_PROCESS where REQ_ID =@p_TRN_ID UPDATE TR_REQUEST_SHOP_COSTCENTER SET NOTES = NULL, AUTH_STATUS = 'E', CHECKER_ID = NULL WHERE REQ_ID = @p_TRN_ID UPDATE TR_REQUEST_SHOP_DOC SET HO_NOTES = NULL, SEND_APP_DT = NULL WHERE REQ_ID = @p_TRN_ID IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS prp where prp.REQ_ID = @p_TRN_ID AND prp.PROCESS_ID = 'REJECT')) BEGIN UPDATE PL_REQUEST_PROCESS SET STATUS = 'C' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'REJECT' END ELSE BEGIN -- DECLARE @temp TABLE(ID INT IDENTITY,REQDT_ID VARCHAR(15),ASS_GROUP VARCHAR(15),QTY DECIMAL) -- INSERT INTO @temp SELECT REQDT_ID, ASS_GROUP_ID , SUM(ISNULL(QTY_ETM,0)) FROM TR_REQUEST_SHOP_DOC_DT -- WHERE REQ_DOC_ID = @p_TRN_ID AND (TYPE_XL = 'CPDC' OR TYPE_XL = 'CPTK') GROUP BY REQDT_ID, ASS_GROUP_ID -- DECLARE @INTT INT = 1, @COUNTT INT = (SELECT COUNT(*) FROM @TEMP) -- WHILE @INTT <= @COUNTT -- BEGIN -- DECLARE @REQDT VARCHAR(20) = (SELECT REQDT_ID FROM @TEMP WHERE ID = @INTT) -- DECLARE @SL DECIMAL = (SELECT QTY FROM @TEMP WHERE ID = @INTT) -- DECLARE @AG VARCHAR(20) = (SELECT ASS_GROUP FROM @TEMP WHERE ID = @INTT) -- IF(EXISTS(SELECT * FROM TR_REQUEST_SHOP_DOC_DT WHERE REQ_DOC_ID = @p_TRN_ID AND ASS_GROUP_ID = @AG AND REQ_DT_TYPE = 'BUYNEW')) -- BEGIN -- UPDATE TR_REQUEST_SHOP_DOC_DT SET QTY_ETM = QTY_ETM + @SL WHERE REQ_DOC_ID = @p_TRN_ID AND ASS_GROUP_ID = @AG AND REQ_DT_TYPE = 'BUYNEW' -- END -- ELSE -- BEGIN -- DECLARE @l_REQDT_ID VARCHAR(15) -- EXEC SYS_CodeMasters_Gen 'TR_REQUEST_SHOP_DOC_DT', @l_REQDT_ID out -- IF @l_REQDT_ID='' OR @l_REQDT_ID IS NULL GOTO ABORT -- INSERT INTO TR_REQUEST_SHOP_DOC_DT(REQDT_ID, REQ_DOC_ID, -- ASS_GROUP_ID, DESCRIPTION, REASON, UNIT_ID, NOTES, -- RECEIVE_ADDR, RECEIVE_PERSON, RECEIVE_TEL, RECORD_STATUS, MAKER_ID, CREATE_DT, -- AUTH_STATUS, RECEIVE_EMAIL, REQ_DT_TYPE, QTY_ETM, EMP_ID, TYPE_XL) -- SELECT @l_REQDT_ID, @p_TRN_ID, -- ASS_GROUP_ID, DESCRIPTION, REASON, UNIT_ID, NOTES, -- RECEIVE_ADDR, RECEIVE_PERSON, RECEIVE_TEL, RECORD_STATUS, MAKER_ID, CREATE_DT, -- AUTH_STATUS, RECEIVE_EMAIL, 'BUYNEW', QTY_ETM, EMP_ID, 'BUYNEW' -- FROM TR_REQUEST_SHOP_DOC_DT WHERE REQDT_ID = @REQDT AND REQ_DOC_ID = @p_TRN_ID -- END -- DELETE TR_REQUEST_SHOP_DOC_DT WHERE REQDT_ID = @REQDT AND REQ_DOC_ID = @p_TRN_ID -- -- SET @INTT = @INTT + 1 -- END DELETE TR_REQUEST_SHOP_DOC_DT WHERE REQ_DOC_ID = @p_TRN_ID AND REQ_DT_TYPE = 'XKSD' DELETE TR_REQUEST_SHOP_DOC_DT WHERE REQ_DOC_ID = @p_TRN_ID AND REQ_DT_TYPE = 'BUYNEW' INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID, CHECKER_ID, APPROVE_DT, PARENT_PROCESS_ID, IS_LEAF, COST_ID, DVDM_ID, NOTES, IS_HAS_CHILD, DEP_ID, DVKD_USER_APP, RECEPTION_DT) VALUES (@p_TRN_ID, 'REJECT', 'C', 'GDDV', 'DV0001',@p_REJECTED_BY , GETDATE(), '', 'N', '', '', N'Từ chối phiếu', 0, '', '', GETDATE()); END INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), N'Từ chối phiếu', @p_REASON ) END --Phucvh từ chối phiếu yêu cầu thu hồi tài sản ELSE IF(@p_TRN_TYPE ='ASS_COLLECT') BEGIN IF(EXISTS(SELECT trsd.REQ_ID FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.AUTH_STATUS = 'A' AND trsd.REQ_ID = @p_TRN_ID)) BEGIN SET @p_MESSAGE =N'Trả về thất bại! Thông tin phiếu yêu cầu thu hồi đã được duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END --PHUCVH 16/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 TR_REQUEST_DOC_ASSET_DT A WHERE A.REQ_DOC_ID = @p_TRN_ID) UPDATE TR_REQUEST_SHOP_DOC SET AUTH_STATUS ='R', STATUS = 'REJECT', CHECKER_ID = NULL, APPROVE_DT = NULL, HO_NOTES = NULL, SEND_APP_DT = NULL WHERE REQ_ID=@p_TRN_ID SET @p_MESSAGE =N'Trả về thành công' UPDATE TR_REQUEST_SHOP_COSTCENTER SET NOTES = NULL, RE_CONTENT = NULL, QUANTITY = 0, ASS_STATUS = NULL, CHECKER_ID = NULL, APPROVE_DT = NULL, AUTH_STATUS = 'E', MAKER_ID = NULL, CREATE_DT = NULL WHERE REQ_ID = @p_TRN_ID DELETE PL_REQUEST_PROCESS WHERE REQ_ID = @p_TRN_ID INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), N'Trả về người tạo', @p_REASON ) END --PHUCVH 16/01/22 ĐIỀU CHUYỂN TÀI SẢN NỘI BỘ ELSE IF(@p_TRN_TYPE = 'ASS_PRIVATE_TRANSFER_MUL') BEGIN IF(EXISTS(SELECT 1 FROM ASS_PRIVATE_TRANSFER_MASTER aptm WHERE aptm.TRANS_MULTI_MASTER_ID = @p_TRN_ID AND aptm.AUTH_STATUS = 'A')) BEGIN SET @p_MESSAGE =N'Trả về thất bại! Thông tin phiếu điều chuyển đã được duyệt' ROLLBACK TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' END UPDATE ASS_PRIVATE_TRANSFER_MASTER SET AUTH_STATUS = 'R' WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL WHERE ASSET_ID IN (SELECT aptd.ASSET_ID FROM ASS_PRIVATE_TRANSFER_DT aptd WHERE aptd.TRANS_MULTI_MASTER_ID = @p_TRN_ID) INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), N'Trả về người tạo', @p_REASON ) SET @p_MESSAGE =N'Trả về thành công' END --- INSERT VAO BANG CM_REJECT_LOG EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT INSERT INTO [dbo].[CM_REJECT_LOG] VALUES (@p_LOG_ID,@p_STAGE,@p_TRN_ID,@p_TRN_TYPE,CONVERT(DATETIME,GETDATE(),103),'R',@p_REASON,'Y',@p_REJECTED_BY,CONVERT(DATETIME,GETDATE(),103)) IF @@Error <> 0 GOTO ABORT COMMIT TRANSACTION SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc RETURN '0' ABORT: BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' LOG_ID, '' ErrorDesc RETURN '-1' END --06032023_secretkey 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 ,@p_PL_CODE VARCHAR(50) 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, PL_CODE = @p_PL_CODE 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 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 (SELECT ',' + TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('TBP_QLTS,KSV_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',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 (SELECT ',' + TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('TBP_QLTS,KSV_QLTS',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',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 (SELECT ',' + TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('TBP_QLTS,KSV_QLTS',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',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 (SELECT ',' + TLNANME FROM dbo.FN_GET_USER_BY_ROLE_VB('TBP_QLTS,KSV_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',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].[CM_SUPPLIER_Ins]' GO ALTER PROCEDURE [dbo].[CM_SUPPLIER_Ins] @p_SUP_CODE varchar(15) = NULL, @p_SUP_NAME NVARCHAR(300) = NULL, @p_SUP_TYPE_ID varchar(15) = NULL, @p_REGION_ID varchar(15) = NULL, @p_ADDR nvarchar(200) = NULL, @p_EMAIL varchar(50) = NULL, @p_TAX_NO varchar(20) = NULL, @p_TEL varchar(20) = NULL, @p_CONTACT_PERSON nvarchar(200) = NULL, @p_DISCIPLINES VARCHAR(15) = 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_ACC_NUM VARCHAR(100) = NULL, @p_ACC_NAME VARCHAR(100) = NULL, @p_BANK_NAME VARCHAR(200) = NULL, @p_ACC_NUM_OUT VARCHAR(100) = NULL, @p_ACC_NAME_OUT VARCHAR(100) = NULL, @p_BANK_NAME_OUT VARCHAR(200) = NULL AS BEGIN TRANSACTION --Validation is here IF EXISTS(SELECT * FROM CM_SUPPLIER WHERE SUP_NAME = @p_SUP_NAME) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' SUP_ID, N'Thêm mới nhà cung cấp thất bại, tên nhà cung cấp đã tồn tại trong hệ thống' ErrorDesc RETURN '-1' END DECLARE @ERRORSYS NVARCHAR(15) = '' IF ( EXISTS ( SELECT * FROM CM_SUPPLIER WHERE TAX_NO=@p_TAX_NO)) SET @ERRORSYS = 'SUP-0001' IF @ERRORSYS <> '' BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, N'Mã số thuế của nhà cung cấp đã tồn tại.' ErrorDesc RETURN '-1' RETURN '0' END IF (select case when @p_TAX_NO not like '%[^0-9]%' then 0 else 1 end) <> 0 BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, N' Mã số thuế chỉ được phép nhập số' ErrorDesc RETURN '-1' END DECLARE @l_SUP_ID VARCHAR(15) EXEC SYS_CodeMasters_Gen 'CM_SUPPLIER', @l_SUP_ID out IF @l_SUP_ID='' OR @l_SUP_ID IS NULL GOTO ABORT INSERT INTO CM_SUPPLIER([DISCIPLINES],[SUP_ID],[SUP_CODE],[SUP_NAME],[SUP_TYPE_ID],[REGION_ID],[ADDR],[EMAIL],[TAX_NO],[TEL],[CONTACT_PERSON],[NOTES],[RECORD_STATUS],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT],[ACC_NUM],[ACC_NAME],[BANK_NAME],[ACC_NUM_OUT],[ACC_NAME_OUT],[BANK_NAME_OUT]) VALUES(@p_DISCIPLINES, @l_SUP_ID ,@l_SUP_ID ,@p_SUP_NAME ,@p_SUP_TYPE_ID ,@p_REGION_ID ,@p_ADDR ,@p_EMAIL ,@p_TAX_NO ,@p_TEL ,@p_CONTACT_PERSON ,@p_NOTES ,@p_RECORD_STATUS ,@p_MAKER_ID ,CONVERT(DATETIME, @p_CREATE_DT, 103) ,@p_AUTH_STATUS ,@p_CHECKER_ID ,CONVERT(DATETIME, @p_APPROVE_DT, 103),@p_ACC_NUM,@p_ACC_NAME,@p_BANK_NAME,@p_ACC_NUM_OUT,@p_ACC_NAME_OUT,@p_BANK_NAME_OUT) IF @@Error <> 0 GOTO ABORT COMMIT TRANSACTION SELECT 0 as Result, @l_SUP_ID SUP_ID, '' ErrorDesc, @l_SUP_ID id RETURN 0 ABORT: BEGIN ROLLBACK TRANSACTION SELECT -1 as Result, '' SUP_ID, '' ErrorDesc RETURN -1 End GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[rpt_INVENTORY_Search]' GO ALTER PROCEDURE [dbo].[rpt_INVENTORY_Search] @p_FromDate varchar(20) = null, @p_ToDate varchar(20) = null, @p_BRANCH_ID varchar(15) = null, @p_ASS_STATUS NVARCHAR(20)=NULL, @p_BRANCH_LOGIN VARCHAR(15) = NULL, @p_LEVEL VARCHAR(15) = 'ALL', @p_DEP_ID VARCHAR(15) = NULL, @p_TYPE_ID VARCHAR(15) = NULL, @p_IGNORE VARCHAR(10) = NULL,--KHONG TINH DON VI DANG XUAT @l_NGAYSAOKE VARCHAR(25)=NULL,--NGAY KIEM KE @p_TERM_ID VARCHAR(25)=NULL, --DOT KIEM KE @p_IS_REDUNDANT VARCHAR(1)=NULL -- XUAT DU LiEU THUA THIEU AS BEGIN DECLARE @lp_Fromdate varchar(20) = null, @lp_Todate varchar(20) = null, @lp_BRANCH_ID varchar(15) = null, @lp_ASS_STATUS NVARCHAR(20)=NULL, @lp_BRANCH_LOGIN VARCHAR(15) = NULL, @lP_LEVEL VARCHAR(15) = 'ALL', @lp_DEP_ID VARCHAR(15) = NULL, @lp_TYPE_ID VARCHAR(15) = NULL, @lp_IGNORE VARCHAR(10) = NULL,--KHONG TINH DON VI DANG XUAT @ll_NGAYSAOKE VARCHAR(25)=NULL,--NGAY KIEM KE @lp_TERM_ID VARCHAR(25)=NULL --DOT KIEM KE set @lp_Fromdate = @p_FromDate set @lp_Todate = @p_ToDate set @lp_BRANCH_ID = @p_BRANCH_ID set @lp_ASS_STATUS = @p_ASS_STATUS set @lp_BRANCH_LOGIN = @p_BRANCH_LOGIN set @lP_LEVEL = @p_LEVEL set @lp_DEP_ID = @p_DEP_ID set @lp_TYPE_ID = @p_TYPE_ID set @lp_IGNORE = @p_IGNORE set @ll_NGAYSAOKE = @l_NGAYSAOKE set @lp_TERM_ID = @p_TERM_ID DECLARE @DEP_TYPE VARCHAR(20) = (SELECT TYPE FROM CM_DEPARTMENT CD WHERE CD.DEP_ID = @p_DEP_ID) --thieuvq 19/7/2016 - DOC DU LIEU BO QUA COMMIT TRANSACTION SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED -- declare --@ll_NGAYSAOKE varchar(25) = '30/11/2014', @lp_FromdateSK varchar(25) = @ll_NGAYSAOKE declare @ltmp table(BRANCH_ID varchar(15)) insert into @ltmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@lp_BRANCH_ID) declare @ltmp_login table(BRANCH_ID varchar(15)) insert into @ltmp_login SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@lp_BRANCH_LOGIN) declare @statusHistTmp table( ASSET_ID VARCHAR(15), STATUS_ID VARCHAR(15), [ASS_STATUS] [nvarchar](500) NULL, [ASSET_DESC] [nvarchar](500) NULL, NOTES [nvarchar](1000) NULL ) insert into @statusHistTmp(ASSET_ID, STATUS_ID,ASS_STATUS, ASSET_DESC,NOTES) SELECT HIS.ASSET_ID, STAT.STATUS_ID,HIS.ASS_STATUS, HIS.ASSET_DESC, NOTES FROM dbo.GetLatestAssetHis(NULL, @p_ToDate) HIS LEFT JOIN ASS_STATUS STAT ON STAT.STATUS_NAME = HIS.ASS_STATUS DECLARE @tmp TABLE(GROUP_ID VARCHAR(15), LEVEL_CODE NVARCHAR(MAX), ASSET_CODE NVARCHAR(MAX)) INSERT INTO @tmp ( GROUP_ID, LEVEL_CODE, ASSET_CODE ) SELECT GROUP_ID, CASE WHEN TYPE_ID = 'CCLD' THEN [dbo].[FN_GET_GROUPCODE](GROUP_ID,'1') ELSE [dbo].[FN_GET_GROUPCODE](GROUP_ID,'2') END AS LEVEL_CODE, CASE WHEN TYPE_ID = 'CCLD' THEN [dbo].[FN_GET_GROUPNAME](GROUP_ID,'1') ELSE [dbo].[FN_GET_GROUPNAME](GROUP_ID,'2') END AS ASSET_CODE FROM dbo.ASS_GROUP -- SELECT Row_number() over(order by A.ASSET_NAME) AS STT, (CASE C.BRANCH_TYPE WHEN 'PGD' then D.BRANCH_NAME ELSE C.BRANCH_NAME END) CHI_NHANH, (CASE C.BRANCH_TYPE when 'HS' Then F.DEP_NAME ELSE C.BRANCH_NAME END) PGD_PHONG_BAN, AG.GROUP_NAME AS ASSET_GROUP_NAME, A.ASSET_CODE, --MA SO TAI SAN A.ASSET_NAME, --TEN TAI SAN A.ASSET_SERIAL_NO, A.BUY_PRICE, -- NGUYÊN GIÁ (ISNULL(CC.PHAT_SINH_DAU,0) + ISNULL(EE.PHAT_SINH_TANG_TRONG_KHOANG,0) - ISNULL(FF.PHAT_SINH_GIAM_TRONG_KHOANG,0)) AS NGUYEN_GIA, (ISNULL(DD.PHAT_SINH_CUOI,0) - ISNULL(AA.TONG_KH_TRONG_KHOANG,0) - ISNULL(BB.TONG_KH_DAU,0) + ISNULL(DR.TONG_KH_TRONG_KHOANG,0)) AS GTCL, --GIA TRI CON LAI CONVERT(VARCHAR(10),A.USE_DATE,110) AS USE_DATE,--NGAY SU DUNG A.ASSET_DESC, --MO TA PQ.ASSET_DESC AS HIEN_TRANG, --HIEN TRANG CCLD A.NOTES, '' NKSC,--NHAT KY SUA CHUA --'' NQL, -- NGUOI QUAN LY A.USE_STATUS NQL, -- NGUOI QUAN LY ISNULL(KK.ASS_STATUS,N'Chưa kiểm kê') AS TINHTRANGKIEMKE, A.AMORT_RATE AS TLKH, CONVERT(VARCHAR(10),A.AMORT_END_DATE,110) AS AMORT_END_DATE, DD.PHAT_SINH_CUOI - BB.TONG_KH_DAU AS REMAIN_VALUE, '1' AS SL_SS, '' AS SL_TT, '' AS SL_THUA, '' AS SL_THIEU, AST.STATUS_NAME AS ASS_STATUS, CE.EMP_NAME, CE.EMP_CODE, CB.BRANCH_NAME,AG.GROUP_CODE AS ASSET_GROUP_CODE, CASE WHEN CB.BRANCH_TYPE = 'HS' THEN CD.DEP_CODE ELSE CB.BRANCH_CODE END AS BRANCH_DEP_CODE, CD.DEP_NAME, CU.UNIT_NAME, A.TYPE_ID FROM ASS_MASTER A LEFT JOIN @tmp T ON A.GROUP_ID = T.GROUP_ID LEFT JOIN ASS_STATUS AST ON A.ASS_STATUS = AST.STATUS_ID LEFT JOIN ASS_GROUP AG ON A.GROUP_ID = AG.GROUP_ID LEFT JOIN CM_EMPLOYEE CE ON A.EMP_ID = CE.EMP_ID LEFT JOIN CM_BRANCH CB ON A.BRANCH_ID = CB.BRANCH_ID LEFT JOIN CM_DEPARTMENT CD ON A.DEPT_ID = CD.DEP_ID LEFT JOIN CM_UNIT CU ON AG.UNIT = CU.UNIT_ID --LEFT JOIN --( -- SELECT M.ASSET_ID, N.APPROVE_DT, N.ASSET_STATUS, N.INVENT_DESC, N.ASS_STATUS, N.AUTH_STATUS, N.RECORD_STATUS, N.NOTES -- FROM -- ( -- SELECT A.ASSET_ID, MAX(A.INVENTDT_ID) AS INVENTDT_ID -- FROM -- ( -- SELECT A.INVENTDT_ID, A.ASSET_ID, A.ASSET_STATUS, B.APPROVE_DT FROM ASS_INVENTORY_DT A -- LEFT JOIN ASS_INVENTORY_MASTER B ON A.INVENT_ID = B.INVENT_ID -- WHERE -- (CONVERT(DATE,B.APPROVE_DT) >= CONVERT(DATE,@lp_Fromdate,103) OR @lp_Fromdate IS NULL OR @lp_Fromdate = '') -- AND (CONVERT(DATE,B.APPROVE_DT) < CONVERT(DATE,@lp_Todate,103) OR @lp_Todate IS NULL OR @lp_Todate = '') -- AND B.AUTH_STATUS = 'A' -- AND B.RECORD_STATUS = '1' -- --THIEUVQ THEM DIEU KIEN THONG KE THEO DOT KIEM KE -- AND B.TERM = @lp_TERM_ID -- AND CONVERT(DATE,B.INVENTORY_DT) = CONVERT(DATE,@ll_NGAYSAOKE,103) -- --THIEUVQ THEM DIEU KIEN KHONG LAY TAI SAN THUA LEN SAO KE - 02122016 TANPN -- AND A.ASSET_STATUS <> '6' -- GROUP BY A.INVENTDT_ID, A.ASSET_ID, A.ASSET_STATUS, B.APPROVE_DT -- --ORDER BY A.ASSET_ID, B.APPROVE_DT DESC -- ) AS A -- GROUP BY A.ASSET_ID -- ) AS M -- INNER JOIN -- ( -- SELECT A.INVENTDT_ID, A.ASSET_ID, A.ASSET_STATUS, B.APPROVE_DT, A.INVENT_DESC, C.ASS_STATUS, B.AUTH_STATUS, B.RECORD_STATUS , A.NOTES -- FROM ASS_INVENTORY_DT A -- LEFT JOIN ASS_INVENTORY_MASTER B ON A.INVENT_ID = B.INVENT_ID -- --LEFT JOIN ASS_STATUS C ON A.ASSET_STATUS = C.STATUS_ID -- LEFT JOIN -- ( -- SELECT * FROM GetLatestAssetHis(NULL, @p_ToDate) -- ) C ON C.ASSET_ID = A.ASSET_ID -- WHERE -- (CONVERT(DATE,B.APPROVE_DT) >= CONVERT(DATE,@lp_Fromdate,103) OR @lp_Fromdate IS NULL OR @lp_Fromdate = '') -- AND (CONVERT(DATE,B.APPROVE_DT) < CONVERT(DATE,@lp_Todate,103) OR @lp_Todate IS NULL OR @lp_Todate = '') -- AND B.AUTH_STATUS = 'A' -- AND B.RECORD_STATUS = '1' -- --THIEUVQ THEM DIEU KIEN THONG KE THEO DOT KIEM KE -- AND B.TERM = @lp_TERM_ID -- AND CONVERT(DATE,B.INVENTORY_DT) = CONVERT(DATE,@ll_NGAYSAOKE,103) -- --THIEUVQ THEM DIEU KIEN KHONG LAY TAI SAN THUA LEN SAO KE - 02122016 TANPN -- AND A.ASSET_STATUS <> '6' -- GROUP BY A.INVENTDT_ID, A.ASSET_ID, A.ASSET_STATUS, B.APPROVE_DT, A.INVENT_DESC, C.ASS_STATUS, B.AUTH_STATUS, B.RECORD_STATUS, A.NOTES -- ) AS N ON M.ASSET_ID = N.ASSET_ID -- WHERE M.INVENTDT_ID = N.INVENTDT_ID -- --ORDER BY M.ASSET_ID --) AS KK ON A.ASSET_ID = KK.ASSET_ID LEFT JOIN @statusHistTmp KK ON KK.ASSET_ID = A.ASSET_ID LEFT JOIN ASS_STATUS ST ON KK.STATUS_ID = ST.STATUS_ID LEFT JOIN ( SELECT A.ASSET_ID, ISNULL(TR.BRANCH_ID, TRN.BRANCH_ID) AS BRANCH_ID, CASE WHEN TR.BRANCH_ID IS NULL THEN TRN.DEPT_ID ELSE TR.DEPT_ID END AS DEPT_ID, CASE WHEN TR.BRANCH_ID IS NULL THEN TRN.EMP_ID ELSE TR.EMP_ID END AS EMP_ID FROM ASS_MASTER A LEFT JOIN --LAY DON VI MOI NHAT ( SELECT A.ASSET_ID, A.BRANCH_ID, A.DEPT_ID, A.EMP_ID FROM ASS_LOCATION_HIST A INNER JOIN ( SELECT MAX(B.LOCHIST_ID) AS LOCHIST_ID, B.ASSET_ID FROM ASS_LOCATION_HIST B WHERE B.USE_START_DT <= CONVERT(DATE,@ll_NGAYSAOKE,103) GROUP BY B.ASSET_ID ) AS TRN ON TRN.LOCHIST_ID = A.LOCHIST_ID ) AS TR ON TR.ASSET_ID = A.ASSET_ID LEFT JOIN --LAY DON VI CU NHAT ( SELECT A.ASSET_ID, A.BRANCH_ID, A.DEPT_ID, A.EMP_ID FROM ASS_LOCATION_HIST A INNER JOIN ( SELECT MIN(B.LOCHIST_ID) AS LOCHIST_ID, B.ASSET_ID FROM ASS_LOCATION_HIST B WHERE B.USE_START_DT > CONVERT(DATE,@ll_NGAYSAOKE,103) GROUP BY B.ASSET_ID ) AS TRN ON TRN.LOCHIST_ID = A.LOCHIST_ID ) AS TRN ON TRN.ASSET_ID = A.ASSET_ID ) AS BRN_HIST ON BRN_HIST.ASSET_ID = A.ASSET_ID --LEFT JOIN ASS_INVENTORY_DT IDT ON IDT.ASSET_ID = A.ASSET_ID LEFT JOIN ASS_GROUP B ON A.GROUP_ID = B.GROUP_ID LEFT JOIN CM_BRANCH C ON BRN_HIST.BRANCH_ID = C.BRANCH_ID LEFT JOIN CM_BRANCH D ON D.BRANCH_ID = C.FATHER_ID LEFT JOIN CM_EMPLOYEE E ON BRN_HIST.EMP_ID = E.EMP_ID LEFT JOIN CM_DEPARTMENT F ON BRN_HIST.DEPT_ID = F.DEP_ID LEFT JOIN ( SELECT X.ASSET_ID,ISNULL(SUM(X.AMORT_AMT),0) AS TONG_KH_TRONG_KHOANG FROM ASS_AMORT_DT X --INNER JOIN ASS_AMORT Y ON X.AMORT_ID = Y.AMORT_ID WHERE (X.AMORT_DT >= CONVERT(DATE,@lp_FromdateSK,103) OR @lp_FromdateSK IS NULL OR @lp_FromdateSK = '') AND (X.AMORT_DT <= CONVERT(DATE,@ll_NGAYSAOKE,103)OR @ll_NGAYSAOKE IS NULL OR @ll_NGAYSAOKE = '') AND CRDR = 'C' GROUP BY X.ASSET_ID ) AA ON A.ASSET_ID = AA.ASSET_ID LEFT JOIN ( SELECT X.ASSET_ID,ISNULL(SUM(X.AMORT_AMT),0) AS TONG_KH_TRONG_KHOANG FROM ASS_AMORT_DT X --INNER JOIN ASS_AMORT Y ON X.AMORT_ID = Y.AMORT_ID WHERE (X.AMORT_DT >= CONVERT(DATE,@lp_FromdateSK,103) OR @lp_FromdateSK IS NULL OR @lp_FromdateSK = '') AND (X.AMORT_DT <= CONVERT(DATE,@ll_NGAYSAOKE,103)OR @ll_NGAYSAOKE IS NULL OR @ll_NGAYSAOKE = '') AND CRDR = 'D' GROUP BY X.ASSET_ID ) DR ON A.ASSET_ID = DR.ASSET_ID -- SELECT * FROM ASS_AMORT_DT LEFT JOIN ( --SELECT X.ASSET_ID,ISNULL(SUM(X.AMORT_AMT),0) AS TONG_KH_DAU SELECT X.ASSET_ID,ISNULL(SUM(CASE X.CRDR WHEN 'C' THEN X.AMORT_AMT WHEN 'D' THEN -X.AMORT_AMT END),0) AS TONG_KH_DAU FROM ASS_AMORT_DT X --INNER JOIN ASS_AMORT Y ON X.AMORT_ID = Y.AMORT_ID INNER JOIN ASS_MASTER Z ON X.ASSET_ID = Z.ASSET_ID WHERE (X.AMORT_DT >= CONVERT(DATE,Z.AMORT_START_DATE)) AND (CONVERT(DATE,Z.LIQUIDATION_DT) > CONVERT(DATE,@lp_FromdateSK,103) OR Z.LIQUIDATION_DT IS NULL OR Z.LIQUIDATION_DT = '') AND (X.AMORT_DT <= CONVERT(DATE,@ll_NGAYSAOKE,103) OR @ll_NGAYSAOKE IS NULL OR @ll_NGAYSAOKE = '') GROUP BY X.ASSET_ID ) BB ON A.ASSET_ID = BB.ASSET_ID -- SELECT TOP 200 * FROM ASS_MASTER -- PHAT SINH TANG VA GIAM TRONG KHOANG THOI GIAN TU BAT DAU KHAU HAO DEN THOI DIEM FROM -- PHAT SINH TANG VA GIAM TRONG KHOANG THOI GIAN TU THỜI ĐIỂM BAT DAU ĐẾN THỜI ĐIỂM TO -- SELECT * FROM ASS_MASTER LEFT JOIN ( SELECT X.ASSET_ID,ISNULL(SUM(CASE X.CRDR WHEN 'C' THEN X.ASSET_AMT WHEN 'D' THEN -X.ASSET_AMT END),0) AS PHAT_SINH_CUOI FROM ASS_VALUES X INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID WHERE --X.CREATE_DT >= Y.CREATE_DT (X.CREATE_DT <= CONVERT(DATE,@ll_NGAYSAOKE,103) OR @ll_NGAYSAOKE IS NULL OR @ll_NGAYSAOKE = '') GROUP BY X.ASSET_ID ) DD ON A.ASSET_ID = DD.ASSET_ID -- PHAT SINH TANG TRONG KHOANG THOI GIAN TU THỜI ĐIỂM FROM ĐẾN TO -- select * from ass_values where trn_type = 'ass_use' LEFT JOIN ( SELECT X.ASSET_ID,ISNULL(SUM(CASE X.CRDR WHEN 'C' THEN X.ASSET_AMT WHEN 'D' THEN -X.ASSET_AMT END),0) AS PHAT_SINH_DAU FROM ASS_VALUES X INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID WHERE (X.TRN_DT < CONVERT(DATE,@lp_FromdateSK,103) OR @lp_FromdateSK IS NULL OR @lp_FromdateSK = '') --(X.CREATE_DT >= Y.CREATE_DT) --AND (X.CREATE_DT <= CONVERT(DATETIME,@lp_Fromdate,103) OR @lp_Fromdate IS NULL OR @lp_Fromdate = '') GROUP BY X.ASSET_ID ) CC ON A.ASSET_ID = CC.ASSET_ID -- PHAT SINH TANG TRONG KHOANG THOI GIAN TU THỜI ĐIỂM FROM ĐẾN TO -- select * from ass_values where trn_type = 'ass_use' LEFT JOIN ( SELECT X.ASSET_ID,ISNULL(SUM(X.ASSET_AMT),0) AS PHAT_SINH_TANG_TRONG_KHOANG FROM ASS_VALUES X --INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID WHERE (X.CREATE_DT >= CONVERT(DATE,@lp_FromdateSK,103) OR @lp_FromdateSK IS NULL OR @lp_FromdateSK = '') AND (X.CREATE_DT <= CONVERT(DATE,@ll_NGAYSAOKE,103) OR @ll_NGAYSAOKE IS NULL OR @ll_NGAYSAOKE = '') AND X.CRDR = 'C' GROUP BY X.ASSET_ID ) EE ON A.ASSET_ID = EE.ASSET_ID -- PHAT SINH GIAM TRONG KHOANG THOI GIAN TU THỜI ĐIỂM FROM ĐẾN TO LEFT JOIN ( SELECT X.ASSET_ID,ISNULL(SUM(X.ASSET_AMT),0) AS PHAT_SINH_GIAM_TRONG_KHOANG FROM ASS_VALUES X --INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID WHERE (X.CREATE_DT >= CONVERT(DATE,@lp_FromdateSK,103) OR @lp_FromdateSK IS NULL OR @lp_FromdateSK = '') AND (X.CREATE_DT <= CONVERT(DATE,@ll_NGAYSAOKE,103) OR @ll_NGAYSAOKE IS NULL OR @ll_NGAYSAOKE = '') AND X.CRDR = 'D' GROUP BY X.ASSET_ID ) FF ON A.ASSET_ID = FF.ASSET_ID LEFT JOIN -- vietpq join theo ass_status_hist 09-01-20 ( SELECT DISTINCT ASSET_ID, MAX(STATUS_DT) AS STATUS_DT FROM dbo.ASS_STATUS_HIST GROUP BY ASSET_ID ) HST_TEMP ON HST_TEMP.ASSET_ID = A.ASSET_ID LEFT JOIN -- vietpq join theo ass_status_hist 09-01-20 ( SELECT * FROM ASS_STATUS_HIST ) PQ ON PQ.ASSET_ID = HST_TEMP.ASSET_ID AND PQ.STATUS_DT = HST_TEMP.STATUS_DT -- SELECT * FROM ASS_VALUES WHERE A.RECORD_STATUS = '1' AND A.AUTH_STATUS = 'A' AND A.ENTRY_BOOKED = 'Y' -- NHOM TAI SAN AND (A.USE_DATE <= CONVERT(DATE,@ll_NGAYSAOKE,103) OR @ll_NGAYSAOKE IS NULL OR @ll_NGAYSAOKE = '') --THEM 15/04 THIEUVQ AND A.TYPE_ID = @lp_TYPE_ID --THEM 15/04 THIEUVQ AND (BRN_HIST.DEPT_ID = @lp_DEP_ID OR @lp_DEP_ID IS NULL OR @lp_DEP_ID = '') AND ((@lP_LEVEL = 'ALL' AND BRN_HIST.BRANCH_ID IN (SELECT BRANCH_ID from @ltmp)) OR (@lP_LEVEL = 'UNIT' AND BRN_HIST.BRANCH_ID = @lp_BRANCH_ID) OR @lp_BRANCH_ID = '' OR @lp_BRANCH_ID IS NULL) AND ((@lP_LEVEL = 'ALL' AND BRN_HIST.BRANCH_ID IN (SELECT BRANCH_ID from @ltmp_login)) OR (@lP_LEVEL = 'UNIT' AND BRN_HIST.BRANCH_ID = @lp_BRANCH_LOGIN) OR @lp_BRANCH_LOGIN = '' OR @lp_BRANCH_LOGIN IS NULL OR @lp_BRANCH_ID IS NOT NULL OR @lp_BRANCH_ID <> '') AND (CONVERT(DATE,A.LIQUIDATION_DT) > CONVERT(DATE,@lp_FromdateSK,103) OR A.LIQUIDATION_DT IS NULL OR A.LIQUIDATION_DT = '') AND A.AMORT_STATUS <> 'VNM' AND ((@p_IS_REDUNDANT = '1' AND (ST.STATUS_CODE = '05' OR ST.STATUS_CODE = '06')) OR @p_IS_REDUNDANT IS NULL OR @p_IS_REDUNDANT = '' OR @p_IS_REDUNDANT <> '1') ORDER BY A.ASSET_NAME SELECT AT.TYPE_NAME FROM ASS_TYPE AT WHERE AT.TYPE_ID = @lp_TYPE_ID END GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_MASTER_ById]' GO /* [ASS_MASTER_ById] 'ASS000000000001','' SELECT * FROM ASS_MASTER ORDER BY ASSET_CODE */ ALTER PROCEDURE [dbo].[ASS_MASTER_ById] @p_ASSET_ID varchar(15) = NULL, @p_ASSET_CODE varchar(150) = NULL AS declare @l_Asset_ID varchar(15) BEGIN SELECT @l_Asset_ID = ASSET_ID FROM ASS_MASTER WHERE ASSET_CODE = @p_ASSET_CODE SELECT --TOP 1 A.ASSET_ID, A.[TYPE_ID],C.[TYPE_CODE], C.[TYPE_NAME], A.GROUP_ID,B.GROUP_CODE, B.GROUP_NAME,B.EXP_ACCTNO, A.ASSET_CODE, A.ASSET_NAME, A.ASSET_SERIAL_NO, A.ASSET_DESC, A.SUP_ID, A.BUY_PRICE, A.AMORT_AMT, A.ASS_TYPE, A.BRANCH_ID,BR.BRANCH_CODE,BR.BRANCH_NAME,A.DEPT_ID, A.EMP_ID,EM.TLNANME AS EMP_CODE,EM.TLFullName AS EMP_NAME, A.DIVISION_ID,CM.DIV_NAME, CM.ADDR, A.BUY_DATE, A.USE_DATE, A.SPECIAL_ASS, A.AMORT_MONTH, A.AMORT_RATE, A.AMORT_START_DATE, A.AMORT_END_DATE, A.MONTHLY_AMORT_AMT FIRST_AMORT_AMT, A.AMORTIZED_MONTH, (A.AMORT_MONTH - A.AMORTIZED_MONTH) AS REMAIN_MONTH, A.AMORTIZED_AMT, ISNULL((A.AMORT_AMT - A.AMORTIZED_AMT), A.AMORT_AMT) AS REMAIN_AMORTIZED_AMT, --So tien khau hao con lai A.PO_ID,A.PD_ID, A.WAREHOUSE_ID, A.LOCATION, A.REF_ASSET_ID, A.REF_AMORTIZED_AMT, A.WARRANTY_MONTHS, A.NOTES, A.AMORT_STATUS, D.STATUS_NAME AMORT_STATUS_NAME, A.ASS_STATUS, E.STATUS_NAME ASS_STATUS_NAME, --Tinh trang tai san A.ASS_STATUS_DESC, A.RECORD_STATUS, A.AUTH_STATUS, ZZ.AUTH_STATUS_NAME, A.MAKER_ID, A.CREATE_DT, A.CHECKER_ID, A.APPROVE_DT, DP.DEP_ID , DP.DEP_CODE, DP.DEP_NAME,B.EXP_ACCTNO, A.MONTHLY_AMORT_AMT, --luctv:09/01/2019 So tien khau hau 1 thang a.FIRST_AMORT_AMT, --luctv:09/01/2019 So tien khau hao thang dau tien ------------BAODNQ 14/4/2022 : LẤY THÔNG TIN ĐƠN VỊ TẠO------ A.BRANCH_CREATE AS BRANCH_CREATE_ID, BRC.BRANCH_NAME AS BRANCH_CREATE_NAME, ------------END BAODNQ----------------- --khanhnhd B.DVCM_ID --end khanhnhd FROM ASS_MASTER A LEFT JOIN ASS_GROUP B ON A.GROUP_ID = B.GROUP_ID LEFT JOIN ASS_TYPE C ON A.[TYPE_ID] = C.[TYPE_ID] LEFT JOIN ASS_AMORT_STATUS D ON A.AMORT_STATUS = D.STATUS_CODE LEFT JOIN ASS_STATUS E ON A.ASS_STATUS = E.STATUS_ID LEFT JOIN CM_AUTH_STATUS ZZ ON ZZ.AUTH_STATUS = A.AUTH_STATUS LEFT JOIN CM_BRANCH BR ON BR.BRANCH_ID=A.BRANCH_ID LEFT JOIN TL_USER EM ON EM.TLNANME=A.EMP_ID LEFT JOIN CM_DIVISION CM ON CM.DIV_ID=A.DIVISION_ID LEFT JOIN CM_DEPARTMENT DP ON DP.DEP_ID = A.DEPT_ID --------------BAODNQ :14/4/2022: LẤY THÔNG TIN ĐƠN VỊ TẠO--------- LEFT JOIN CM_BRANCH BRC ON A.BRANCH_CREATE = BRC.BRANCH_ID ----------------END BAODNQ------------- WHERE 1 = 1 AND (A.ASSET_ID = @p_ASSET_ID OR @p_ASSET_ID IS NULL OR @p_ASSET_ID = '') AND (A.ASSET_CODE = @p_ASSET_CODE OR @p_ASSET_CODE IS NULL OR @p_ASSET_CODE = '') --SELECT * --FROM ASS_WARRANTY_DT A --WHERE 1=1 -- AND (A.ASSET_ID = @l_Asset_ID OR @l_Asset_ID IS NULL OR @l_Asset_ID = '') END 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'Altering [dbo].[ASS_UPDATE_App]' GO ALTER PROCEDURE [dbo].[ASS_UPDATE_App] @p_UPDATE_ID varchar(15), @P_AUTH_STATUS VARCHAR(1), @p_CHECKER_ID VARCHAR(100), @p_APPROVE_DT varchar(20) AS BEGIN TRY DECLARE @ERRORSYS NVARCHAR(15) = '', @ERROR NVARCHAR(500) = '' declare @l_ASSHIST_ID varchar(15) declare @l_ASSET_ID varchar(15) declare @l_TYPE_ID nvarchar(15) DECLARE @l_MAKER_ID varchar(100) DECLARE @l_BRANCH_CREATE VARCHAR(15), @l_BRANCH_ID VARCHAR(15),@l_DEP_ID VARCHAR(15) declare @l_NEW_GROUP_ID varchar(15), @l_OLD_GROUP_ID varchar(15) declare @l_NEW_ASSET_NAME nvarchar(1000)--, @l_OLD_ASSET_NAME nvarchar(1000) declare @l_NEW_ASSET_SERIAL_NO nvarchar(100)--, @l_OLD_ASSET_SERIAL_NO nvarchar(100) declare @l_NEW_ASSET_DESC nvarchar(max)--, @l_OLD_ASSET_DESC nvarchar(max) declare @l_NEW_BUY_PRICE decimal(18,0), @l_OLD_BUY_PRICE decimal(18,0) declare @l_NEW_AMORT_AMT decimal(18,0), @l_OLD_AMORT_AMT decimal(18,0) declare @l_NEW_AMORT_MONTH decimal(18,2), @l_OLD_AMORT_MONTH decimal(18,2) declare @l_AMORTIZED_MONTH decimal(18,2), @l_AMORTIZED_AMT decimal(18,0) declare @l_SPECIAL_ASS varchar(1) DECLARE @l_AMORT_STATUS VARCHAR(15), @L_AMORT_RATE DECIMAL(18,2) DECLARE @l_AMORT_START_DATE datetime, @l_AMORT_END_DATE datetime DECLARE @l_NEW_FIRST_AMORT_AMT numeric(18,0), @l_OLD_FIRST_AMORT_AMT numeric(18,0) DECLARE @l_NEW_MONTHLY_AMT numeric(18,0), @l_OLD_MONTHLY_AMT numeric(18,0) declare @l_GROUP_ID_UPD varchar(1) = 'N' declare @l_AMORT_AMT_UPD varchar(1) = 'N', @l_AMORT_MONTH_UPD VARCHAR(1) = 'N' declare @l_DO_BRANCH_ID varchar(15) DECLARE @l_VALUE_ID varchar(15) DECLARE @l_HO_BRN_ID varchar(15) declare @l_ET_ID varchar(15) DECLARE @sToday varchar(10) = convert(varchar(10), getdate(), 103) declare @l_TRN_REF_NO varchar(20) DECLARE @l_SUPPEND_GL varchar(50) DECLARE @l_ASSET_GL varchar(50), @l_AMORT_ACCTNO VARCHAR(50) declare @l_ASSET_VALUE decimal(18,0) declare @l_CORE_NOTE NVARCHAR(500) DECLARE @l_DATE1 DATE,@l_DATE2 DATE DECLARE @l_ASSET_CODE VARCHAR(50) -- KHIEMCHG Bo sung ASSETCODE REF cho HACH TOAN DECLARE @l_TRN_NO VARCHAR(15) IF(EXISTS(SELECT * FROM ASS_UPDATE WHERE AUTH_STATUS ='A' AND UPDATE_ID=@p_UPDATE_ID)) BEGIN --ROLLBACK TRANSACTION SELECT '-1' as Result, '' UPDATE_ID, N'Phiếu cập nhật tài sản đã được duyệt.' ErrorDesc RETURN '-1' END EXEC ENTRIES_POST_GEN_NO @p_BRANCH_ID = 'DV0001' ,@p_TRN_DATE = @p_APPROVE_DT ,@p_KeyGen = @l_TRN_NO OUT SELECT @l_ASSET_ID = A.ASSET_ID, @l_NEW_GROUP_ID = A.GROUP_ID, --@l_NEW_AMORT_MONTH = CASE WHEN M.[TYPE_ID] = 'TSCD' THEN G.AMORT_MONTH ELSE A.AMORT_AMT END, @l_NEW_AMORT_MONTH = A.AMORT_MONTH,--THIEUVQ 18/04/2014 @l_NEW_ASSET_NAME = A.ASSET_NAME, @l_NEW_ASSET_SERIAL_NO = A.ASSET_SERIAL_NO, @l_NEW_ASSET_DESC = A.ASSET_DESC, @l_NEW_BUY_PRICE = A.BUY_PRICE, @l_NEW_AMORT_AMT = A.AMORT_AMT, @l_CORE_NOTE = CORE_NOTE, @l_MAKER_ID = A.MAKER_ID, @l_SUPPEND_GL = A.ACCOUNT_GL FROM ASS_UPDATE A INNER JOIN ASS_GROUP G on G.GROUP_ID = A.GROUP_ID INNER JOIN ASS_MASTER M ON M.ASSET_ID = A.ASSET_ID WHERE UPDATE_ID = @p_UPDATE_ID SELECT @l_OLD_GROUP_ID = ISNULL(A.REF_GROUP_ID,A.GROUP_ID), @l_OLD_AMORT_MONTH = AMORT_MONTH, @l_AMORTIZED_MONTH = AMORTIZED_MONTH, --@l_OLD_ASSET_NAME = ASSET_NAME, --@l_OLD_ASSET_SERIAL_NO = ASSET_SERIAL_NO, --@l_OLD_ASSET_DESC = ASSET_DESC, @l_OLD_BUY_PRICE = BUY_PRICE, @l_OLD_FIRST_AMORT_AMT = FIRST_AMORT_AMT, @l_OLD_MONTHLY_AMT = A.MONTHLY_AMORT_AMT, @l_AMORT_START_DATE = AMORT_START_DATE, @l_AMORT_END_DATE = AMORT_END_DATE, @l_OLD_AMORT_AMT = AMORT_AMT, @l_AMORTIZED_AMT = AMORTIZED_AMT, @l_SPECIAL_ASS = SPECIAL_ASS, @l_TYPE_ID = TYPE_ID, @l_AMORT_STATUS = AMORT_STATUS, @L_AMORT_RATE = AMORT_RATE, @l_BRANCH_CREATE = A.BRANCH_CREATE, @l_BRANCH_ID = A.BRANCH_ID, @l_DEP_ID=A.DEPT_ID, @l_ASSET_CODE = A.ASSET_CODE FROM ASS_MASTER A WHERE ASSET_ID = @l_ASSET_ID --Lay branch_id cua user duyet select @l_DO_BRANCH_ID = a.TLSUBBRID from TL_USER a where a.TLNANME = @p_CHECKER_ID --BRN_ID HOI SO SELECT @l_HO_BRN_ID = BRANCH_ID FROM CM_BRANCH A WHERE A.BRANCH_TYPE = 'HS' --Lay suppend GL ---THAY DOI TAI KHOAN HACH TOAN GL THIEUVQ - 09092016 --SET @l_SUPPEND_GL = dbo.fn_replace_acctno(UPPER(@l_SUPPEND_GL) + 'XXXX',@l_DO_BRANCH_ID) SELECT @l_SUPPEND_GL = A.ParaValue FROM SYS_PARAMETERS A WHERE A.ParaKey='ASSET_SUPPEND_GL' --ASSET_GL SELECT @l_ASSET_GL = ASSET_ACCTNO, @l_AMORT_ACCTNO = A.AMORT_ACCTNO FROM ASS_GROUP A WHERE A.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_OLD_GROUP_ID)) IF(@l_ASSET_GL IS NULL OR @l_ASSET_GL = '') SET @l_ASSET_GL = (SELECT ASSET_ACCTNO FROM ASS_GROUP WHERE GROUP_ID = @l_OLD_GROUP_ID) IF(@l_AMORT_ACCTNO IS NULL OR @l_AMORT_ACCTNO = '') SET @l_AMORT_ACCTNO = (SELECT AMORT_ACCTNO FROM ASS_GROUP WHERE GROUP_ID = @l_OLD_GROUP_ID) --Validation is here --Kiem tra so thang khau hao cua nhom moi co lon hon so thang da khau hao ko? IF (@l_NEW_GROUP_ID <> @l_OLD_GROUP_ID AND @l_NEW_AMORT_MONTH <> @l_OLD_AMORT_MONTH) BEGIN --IF @l_NEW_AMORT_MONTH <= @l_AMORTIZED_MONTH IF @l_NEW_AMORT_MONTH <= @l_AMORTIZED_MONTH AND @l_AMORT_STATUS IN ('CKH','DKH') --thieuvq 18/04/2014 BEGIN --SET @ERRORSYS = 'ASS-00009' --CAP NHAT LẠI NGAY KET THUC KHAU HAO --thieuvq 18/04/2014 SET @l_DATE1= CONVERT(DATE,'1/'+CONVERT(VARCHAR(10),MONTH(CONVERT(DATE,@p_APPROVE_DT,103))) +'/'+CONVERT(VARCHAR(10),YEAR(CONVERT(DATE,@p_APPROVE_DT,103))),103) SET @l_DATE2 = CONVERT(DATE,'1/'+CONVERT(VARCHAR(10),MONTH(@l_AMORT_END_DATE)) +'/'+CONVERT(VARCHAR(10),YEAR(@l_AMORT_END_DATE)),103) SET @l_AMORT_END_DATE = DATEADD(MONTH,DATEDIFF(MONTH,@l_DATE2,@l_DATE1),@l_AMORT_END_DATE) SET @L_AMORT_RATE = ROUND((100.00/@l_NEW_AMORT_MONTH)*12,2) END SET @l_GROUP_ID_UPD = 'Y' END --Kiem tra gia tri khau hao moi > so tien da khau hao IF (@l_NEW_AMORT_AMT<=@l_AMORTIZED_AMT AND @l_NEW_AMORT_AMT <> @l_OLD_AMORT_AMT) BEGIN SET @ERRORSYS = 'ASS-00014' END ELSE BEGIN IF (@l_NEW_AMORT_AMT <> @l_OLD_AMORT_AMT) BEGIN SET @l_AMORT_AMT_UPD = 'Y' END END ---KIEM TRA SO THANG KHAU HAO MOI NHO HON SO THANG DA KHAU HAO KHONG - THIEUVQ 210618 ::BEGIN IF @l_NEW_AMORT_MONTH < @l_AMORTIZED_MONTH BEGIN SET @ERRORSYS = 'ASS-99994' END ELSE BEGIN IF @l_NEW_AMORT_MONTH <> @l_OLD_AMORT_MONTH SET @l_AMORT_MONTH_UPD = 'Y' SET @l_AMORT_END_DATE = DATEADD(MONTH,@l_NEW_AMORT_MONTH,@l_AMORT_START_DATE) SET @l_AMORT_END_DATE = DATEADD(DAY,-1,@l_AMORT_END_DATE) END -----::END ----NEU THAY DOI SO KY KHAU HAO => KIEM TRA CHO TRUONG HOP CCLD --IF (@l_GROUP_ID_UPD = 'Y' AND @l_TYPE_ID = 'CCLD') --BEGIN -- RETURN 0 --END --Neu co thay doi gia tri khau hao --IF (@l_TYPE_ID = 'TSCD' AND @l_AMORT_STATUS IN ('CKH','DKH')) IF @l_AMORT_STATUS IN ('CKH','DKH') BEGIN IF (@l_AMORT_AMT_UPD = 'Y' OR @l_AMORT_MONTH_UPD = 'Y') BEGIN IF (@l_AMORTIZED_MONTH = 0) --Chua chay khau hao thi phai tinh lai khau hao cua thang dau tien BEGIN SET @l_NEW_MONTHLY_AMT = ROUND((@l_NEW_AMORT_AMT - ISNULL(@l_AMORTIZED_AMT,0)) / @l_NEW_AMORT_MONTH, 0) SET @l_NEW_FIRST_AMORT_AMT = @l_NEW_MONTHLY_AMT--ROUND(@l_NEW_MONTHLY_AMT/dbo.[FN_GetDaysInMonth](@l_AMORT_START_DATE) * (DATEDIFF(day,@l_AMORT_START_DATE, dbo.FN_GetLastDayOfMonth(@l_AMORT_START_DATE)) + 1), -3) END ELSE BEGIN --thieuvq - sua lai doan tinh khau hao --TINH LAI SO KY KHAU HAO TINH THEO NGAY DUYET DECLARE @l_KY_KHAU_HAO_CL FLOAT --BAN VIET THAY DOI CACH TINH 230119 --DECLARE @l_NGAY_DUYET DATE = CONVERT(DATE,@p_APPROVE_DT,103) ----SET @l_NGAY_DUYET = CONVERT(VARCHAR(10),YEAR(@l_NGAY_DUYET)) + '-'+CONVERT(VARCHAR(10),MONTH(@l_NGAY_DUYET)) + '-'+ '1' ----SET @l_KY_KHAU_HAO_CL = round((datepart(day,@l_AMORT_END_DATE)*1.0/dbo.[FN_GetDaysInMonth](@l_AMORT_END_DATE)),2) ------THIEUVQ COMMENT 29072015 ------IF @l_KY_KHAU_HAO_CL = 1 SET @l_KY_KHAU_HAO_CL = DATEDIFF(MM, @l_NGAY_DUYET, @l_AMORT_END_DATE) ------ELSE --SET @l_KY_KHAU_HAO_CL = DATEDIFF(MM, @l_NGAY_DUYET, @l_AMORT_END_DATE) --+ @l_KY_KHAU_HAO_CL ----KIEM TRA THANG DUYET NAY DA CHAY KHAU HAO CHUA, NEU DA CHAY KHAU HAO ROI THI GIAM DI 1 SO KY KH CON LAI --IF EXISTS (SELECT * FROM ASS_AMORT WHERE AMORT_TERM = CONVERT(VARCHAR(5),MONTH(@l_NGAY_DUYET))+'/'+CONVERT(VARCHAR(5),YEAR(@l_NGAY_DUYET)) -- AND ASSET_TYPE = 'ALL') -- --AND ASSET_TYPE = 'TSCD') --BEGIN SET @l_KY_KHAU_HAO_CL = @l_KY_KHAU_HAO_CL - 1 END SET @l_KY_KHAU_HAO_CL = /*@l_OLD_AMORT_MONTH*/ @l_NEW_AMORT_MONTH - @l_AMORTIZED_MONTH --SET @l_NEW_MONTHLY_AMT = ROUND((@l_NEW_AMORT_AMT - @l_AMORTIZED_AMT)/ @l_NEW_AMORT_MONTH, -3) SET @l_NEW_MONTHLY_AMT = ROUND((@l_NEW_AMORT_AMT - @l_AMORTIZED_AMT)/ @l_KY_KHAU_HAO_CL, 0) SET @l_NEW_FIRST_AMORT_AMT = @l_OLD_FIRST_AMORT_AMT END print 'Y' END ELSE BEGIN SET @l_NEW_FIRST_AMORT_AMT = @l_OLD_FIRST_AMORT_AMT SET @l_NEW_MONTHLY_AMT= @l_OLD_MONTHLY_AMT print 'N' END END ELSE BEGIN --THIEUVQ- DIEPTT 03092015 TRUONG HOP KHAU HAO XONG NHUNG TANG NGUYEN GIA --BAT LAI TINH TRANG TAI SAN DANG KHAU HAO VA SE KHAU HAO HET VAO THANG NAY IF (@l_AMORT_AMT_UPD = 'Y') BEGIN SET @l_AMORT_END_DATE = CONVERT(DATETIME,@p_APPROVE_DT,103) --KIEM TRA NEU NGAY DIEU CHINH DA CHAY KHAU HAO ROI THI CHUYEN KHAU HAO HET VAO THANG SAU IF EXISTS (SELECT * FROM ASS_AMORT WHERE AMORT_TERM = CONVERT(VARCHAR(5),MONTH(@l_AMORT_END_DATE))+'/'+CONVERT(VARCHAR(5),YEAR(@l_AMORT_END_DATE)) AND ASSET_TYPE = 'ALL') BEGIN SET @l_AMORT_END_DATE = DATEADD(MM,1,@l_AMORT_END_DATE ) END SET @l_AMORT_STATUS = 'DKH' END SET @l_NEW_FIRST_AMORT_AMT = @l_OLD_FIRST_AMORT_AMT SET @l_NEW_MONTHLY_AMT= @l_OLD_MONTHLY_AMT print 'N' END IF @ERRORSYS <> '' BEGIN SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS RETURN '0' END BEGIN TRANSACTION --Move to history --Phat sinh Asset_ID EXEC SYS_CodeMasters_Gen 'ASS_MASTER_HIST', @l_ASSHIST_ID out INSERT INTO ASS_MASTER_HIST SELECT @l_ASSHIST_ID, a.* FROM ASS_MASTER a where a.ASSET_ID = @l_ASSET_ID UPDATE ASS_MASTER SET ASSET_NAME = @l_NEW_ASSET_NAME, ASSET_DESC = @l_NEW_ASSET_DESC, ASSET_SERIAL_NO = @l_NEW_ASSET_SERIAL_NO, BUY_PRICE = @l_NEW_BUY_PRICE, AMORT_AMT = @l_NEW_AMORT_AMT, FIRST_AMORT_AMT = @l_NEW_FIRST_AMORT_AMT, MONTHLY_AMORT_AMT = @l_NEW_MONTHLY_AMT, APPROVE_DT = CONVERT(DATETIME, @p_APPROVE_DT, 103), AMORT_END_DATE = @l_AMORT_END_DATE, -- thieuvq them 18/04/2014 AMORT_MONTH = @l_NEW_AMORT_MONTH, AMORT_RATE = @L_AMORT_RATE, --THIEUVQ 03092015 AMORT_STATUS = @l_AMORT_STATUS WHERE ASSET_ID = @l_ASSET_ID -- SỐ TIỀN CẶP BÚT TOÁN SAU KHI GIẢM NGUYÊN GIÁ DECLARE @MONTH_OLD_AMORT DECIMAL= (SELECT COUNT(*) FROM ASS_AMORT_DT AAD WHERE YEAR(AAD.AMORT_DT) <> YEAR(CONVERT(DATETIME,@p_APPROVE_DT,103)) AND AAD.ASSET_ID = @l_ASSET_ID) DECLARE @MONTH_NEW_AMORT DECIMAL= (SELECT COUNT(*) FROM ASS_AMORT_DT AAD WHERE YEAR(AAD.AMORT_DT) = YEAR(CONVERT(DATETIME,@p_APPROVE_DT,103)) AND AAD.ASSET_ID = @l_ASSET_ID) DECLARE @AMT_OLD_AMORT DECIMAL= (SELECT SUM(AAD.AMORT_AMT) FROM ASS_AMORT_DT AAD WHERE YEAR(AAD.AMORT_DT) <> YEAR(CONVERT(DATETIME,@p_APPROVE_DT,103)) AND AAD.ASSET_ID = @l_ASSET_ID) DECLARE @_NEW_AMT_AMORT DECIMAL(18,2) DECLARE @_NEW_AMT_AMORT_RE DECIMAL(18,2) DECLARE @_NEW_AMT_AMORT_RENEW DECIMAL(18,2) DECLARE @_NEW_AMT_AMORT_OLD DECIMAL(18,2) DECLARE @_NEW_AMT_AMORT_LAST DECIMAL(18,2) DECLARE @_NUM_AMT_AMORT_DT DECIMAL(18,2) DECLARE @_CUR_DATE DECIMAL(18,2) = CAST((DAY(CONVERT(DATETIME,@p_APPROVE_DT,103))) AS DECIMAL) + 0.00 DECLARE @_END_OF_MONTH DECIMAL(18,2) = DAY(dbo.FN_GetLastDayOfMonth(CONVERT(DATETIME,@p_APPROVE_DT,103))) --- KHẤU HAO LUỸ KẾ DECLARE @KH_CUM DECIMAL(18,2) = (SELECT ISNULL(AM.AMORTIZED_AMT,0) FROM ASS_MASTER AM WHERE AM.ASSET_ID = @l_ASSET_ID) IF(YEAR(@l_AMORT_START_DATE) <> YEAR(CONVERT(DATETIME,@p_APPROVE_DT,103))) BEGIN -- Số tiền trích khấu hao của tháng mới theo nguyên giá mới SET @_NEW_AMT_AMORT = ROUND((@l_NEW_BUY_PRICE - @AMT_OLD_AMORT)/(@l_NEW_AMORT_MONTH-@MONTH_OLD_AMORT),0) END ELSE BEGIN SET @_NEW_AMT_AMORT = ROUND((@l_NEW_BUY_PRICE - @KH_CUM)/@l_KY_KHAU_HAO_CL,0) END -- Số tiền khấu hao theo tháng tròn hiện tại SELECT @_NEW_AMT_AMORT_RE = AA.TOTAL_AMT FROM ASS_AMORT_DT AAD LEFT JOIN ASS_AMORT AA ON AAD.AMORT_ID = AA.AMORT_ID WHERE AAD.ASSET_ID = @l_ASSET_ID AND AA.IS_LEAF = 'Y' IF(@_NEW_AMT_AMORT_RE IS NULL OR @_NEW_AMT_AMORT_RE = 0) SET @_NEW_AMT_AMORT_RE = (SELECT ISNULL(AM.AMORTIZED_AMT,0) FROM ASS_MASTER AM WHERE AM.ASSET_ID = @l_ASSET_ID) -- Số ngày khấu hao còn lại trong khác sau khi update tăng giảm SET @_NUM_AMT_AMORT_DT = (@_END_OF_MONTH - @_CUR_DATE) + 1.00 -- Số tiền khấu hao theo số ngày còn lại của nguyên giá mới VD: Giảm tài sản A 10tr vào ngày 25-03-2023 thì tính đến cuối tháng là (31 - 25) + (ngày 25 hiện tại) = 7 ngày --SET @_NEW_AMT_AMORT_RENEW = ROUND(@_NEW_AMT_AMORT/@_END_OF_MONTH,0)*@_NUM_AMT_AMORT_DT SET @_NEW_AMT_AMORT_RENEW = ROUND((@_NEW_AMT_AMORT-@l_OLD_MONTHLY_AMT)*@MONTH_NEW_AMORT,0) -- Số tiền khấu hao cũ theo ngày còn lại --SET @_NEW_AMT_AMORT_OLD = ROUND(@_NEW_AMT_AMORT_RE/@_END_OF_MONTH, 0)*@_NUM_AMT_AMORT_DT -- Số tiền trích khấu hao cho cặp hạch toán phát sinh tăng giảm --SET @_NEW_AMT_AMORT_LAST = ROUND(@_NEW_AMT_AMORT_OLD - @_NEW_AMT_AMORT_RENEW,0) IF (@l_NEW_BUY_PRICE <> @l_OLD_BUY_PRICE) --TANG NGUYEN GIA BEGIN SET @_NEW_AMT_AMORT_LAST = @_NEW_AMT_AMORT_RENEW UPDATE ASS_MASTER SET MONTHLY_AMORT_AMT = ISNULL(@_NEW_AMT_AMORT, @l_NEW_MONTHLY_AMT) WHERE ASSET_ID = @l_ASSET_ID IF(@_NEW_AMT_AMORT_LAST < 0) SET @_NEW_AMT_AMORT_LAST = -@_NEW_AMT_AMORT_LAST END --HẠCH TOÁN TĂNG GIẢM NGUYÊN GIÁ DECLARE @AC_TSCD VARCHAR(20) IF(EXISTS(SELECT am.ASSET_ID FROM ASS_MASTER am WHERE am.ASSET_ID=@l_ASSET_ID AND am.ENTRY_BOOKED='Y')) BEGIN SET @AC_TSCD= (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'ASSET_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_OLD_GROUP_ID))) IF(@AC_TSCD IS NULL OR @AC_TSCD = '') SET @AC_TSCD = (SELECT ACC_NO FROM ENTRIES_POST_ACCNO WHERE ACC_TYPE ='ASSET_TSCD' AND GROUP_ID = @l_OLD_GROUP_ID) END ELSE BEGIN SET @AC_TSCD = (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_OLD_GROUP_ID))) IF(@AC_TSCD IS NULL OR @AC_TSCD = '') SET @AC_TSCD = (SELECT ACC_NO FROM ENTRIES_POST_ACCNO WHERE ACC_TYPE ='BUY_TSCD' AND GROUP_ID = @l_OLD_GROUP_ID) END DECLARE @AC_HS_MAIN VARCHAR(20) = (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'PAY_HS') DECLARE @l_EXP_ACCTNO VARCHAR(20), @l_AMORT_BASIC VARCHAR(20) DECLARE @l_ETP_ID VARCHAR(20),@l_D_BRANCH_CODE VARCHAR(25) , @l_C_BRANCH_CODE VARCHAR(25), @l_AC_BRANCH_CODE VARCHAR(25),@l_DEP_CODE VARCHAR(25) --BRN_ID HOI SO SELECT @l_HO_BRN_ID = BRANCH_ID FROM CM_BRANCH A WHERE A.BRANCH_TYPE = 'HS' SET @l_C_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_HO_BRN_ID) SET @l_D_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_CREATE) SET @l_DEP_CODE =(SELECT cd.DEP_CODE FROM CM_DEPARTMENT cd WHERE cd.DEP_ID=@l_DEP_ID) --ASSET_GL SELECT @l_ASSET_GL = ASSET_ACCTNO, @l_AMORT_BASIC = EXP_ACCTNO, @l_AMORT_ACCTNO = AMORT_ACCTNO FROM ASS_GROUP A WHERE A.GROUP_ID = @l_OLD_GROUP_ID --Neu co thay doi nguyen gia IF (@l_NEW_BUY_PRICE <> @l_OLD_BUY_PRICE) BEGIN DECLARE @AMT DECIMAL(18,0) DECLARE @BRN_ID VARCHAR(15) IF @l_BRANCH_ID IS NULL OR @l_BRANCH_ID = '' SET @BRN_ID = @l_BRANCH_CREATE ELSE SET @BRN_ID = @l_BRANCH_ID SET @l_AC_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@BRN_ID) DECLARE @NOTE_AMORT NVARCHAR(500) = N'KHAU HAO TSCD TRICH NGUYEN GIA TANG' DECLARE @NOTE_AMORT2 NVARCHAR(500) = N'KHAU HAO TSCD TRICH NGUYEN GIA GIAM' IF (@l_NEW_BUY_PRICE > @l_OLD_BUY_PRICE) --TANG NGUYEN GIA BEGIN SET @AMT = @l_NEW_BUY_PRICE - @l_OLD_BUY_PRICE --insert dbo.ASS_VALUES EXEC SYS_CodeMasters_Gen 'ASS_VALUES', @l_VALUE_ID out 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, @BRN_ID, CONVERT(datetime, @sToday, 103), 'C', @AMT, N'DIEU CHINH TSCD/CCLD', @p_UPDATE_ID, 'ASS_UPDATE', '1','A',@l_MAKER_ID, CONVERT(datetime, @sToday, 103), @p_CHECKER_ID, CONVERT(datetime, @sToday, 103), @l_NEW_AMORT_AMT - @l_OLD_AMORT_AMT ) IF @l_TYPE_ID = 'TSCD' BEGIN --NO ASSET_ACCTNO - CO ASSET_SUPPEND_GL: GIA TRI CHENH LECH EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ASS_UPDATE', @p_UPDATE_ID,@l_DO_BRANCH_ID, @l_SUPPEND_GL, @BRN_ID, @l_ASSET_GL, @BRN_ID,@AMT ,'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_UPDATE_ID, --N'XUAT SU DUNG TSCD/CCLD' @l_ET_ID OUT --IF @ERROR <> 0 GOTO ABORT_ERROR -- TSCD 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_UPDATE_ID ,@l_AC_BRANCH_CODE , @AC_TSCD, 'VND', 'D', @AMT,1, @AMT, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); -- TRẢ HỘI SỞ 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_UPDATE_ID ,@l_C_BRANCH_CODE , @AC_HS_MAIN, 'VND', 'C', @AMT,1, @AMT, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); --ĐỒNG THỜI TRÍCH BỔ SUNG SỐ TRÍCH KHẤU HAO TRONG NĂM HIỆN HÀNH IF(@_NEW_AMT_AMORT_LAST IS NOT NULL AND @_NEW_AMT_AMORT_LAST <> 0) BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ASS_UPDATE', @p_UPDATE_ID,@l_DO_BRANCH_ID, @l_SUPPEND_GL, @BRN_ID, @l_ASSET_GL, @BRN_ID,@AMT ,'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_UPDATE_ID, --N'XUAT SU DUNG TSCD/CCLD' @l_ET_ID OUT -- Chi phí KH cơ bản 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_UPDATE_ID ,@l_AC_BRANCH_CODE , @l_AMORT_BASIC, 'VND', 'D', @_NEW_AMT_AMORT_LAST,1, @_NEW_AMT_AMORT_LAST, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), NULL, NULL, @l_DEP_CODE, @NOTE_AMORT,@l_TRN_NO); -- Hao mòn TSCD 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_UPDATE_ID ,@l_C_BRANCH_CODE , @l_AMORT_ACCTNO, 'VND', 'C', @_NEW_AMT_AMORT_LAST,1, @_NEW_AMT_AMORT_LAST, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), NULL, NULL, @l_DEP_CODE, @NOTE_AMORT,@l_TRN_NO); END END -- ELSE IF @l_TYPE_ID = 'CCLD' -- BEGIN -- --NO ASSET_ACCTNO - CO ASSET_SUPPEND_GL: GIA TRI CHENH LECH -- EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ASS_UPDATE', @p_UPDATE_ID,@l_DO_BRANCH_ID, @l_SUPPEND_GL, @BRN_ID, @l_AMORT_ACCTNO, @BRN_ID,@AMT ,'Y', -- @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_UPDATE_ID, --N'XUAT SU DUNG TSCD/CCLD' -- @l_ET_ID OUT -- --IF @ERROR <> 0 GOTO ABORT_ERROR -- END END ELSE --GIAM NGUYEN GIA BEGIN SET @AMT = @l_OLD_BUY_PRICE - @l_NEW_BUY_PRICE --insert dbo.ASS_VALUES EXEC SYS_CodeMasters_Gen 'ASS_VALUES', @l_VALUE_ID out 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_HO_BRN_ID, CONVERT(datetime, @sToday, 103), 'D', @l_OLD_BUY_PRICE - @l_NEW_BUY_PRICE, N'DIEU CHINH TSCD/CCLD', @p_UPDATE_ID, 'ASS_UPDATE', '1','A',@l_MAKER_ID, CONVERT(datetime, @sToday, 103), @p_CHECKER_ID, CONVERT(datetime, @sToday, 103), @l_NEW_AMORT_AMT - @l_OLD_AMORT_AMT ) IF @l_TYPE_ID = 'TSCD' BEGIN --NO ASSET_SUPPEND_GL - CO ASSET_ACCTNO: GIA TRI CHENH LECH EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ASS_UPDATE', @p_UPDATE_ID,@l_DO_BRANCH_ID, @l_ASSET_GL, @BRN_ID, @l_SUPPEND_GL , @BRN_ID,@AMT ,'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_UPDATE_ID, --N'XUAT SU DUNG TSCD/CCLD' @l_ET_ID OUT --IF @ERROR <> 0 GOTO ABORT_ERROR -- TRẢ HỘI SỞ 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_UPDATE_ID ,@l_C_BRANCH_CODE , @AC_HS_MAIN, 'VND', 'D', @AMT,1, @AMT, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); -- TSCD 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_UPDATE_ID ,@l_AC_BRANCH_CODE , @AC_TSCD, 'VND', 'C', @AMT,1, @AMT, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); -- --ĐỒNG THỜI LẬP HẠCH TOÁN ĐIỀU CHỈNH GIẢM SỐ TRÍCH KHẤU HAO TRONG NĂM HIỆN HÀNH IF(@_NEW_AMT_AMORT_LAST IS NOT NULL AND @_NEW_AMT_AMORT_LAST <> 0) BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ASS_UPDATE', @p_UPDATE_ID,@l_DO_BRANCH_ID, @l_ASSET_GL, @BRN_ID, @l_SUPPEND_GL , @BRN_ID,@AMT ,'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_UPDATE_ID, --N'XUAT SU DUNG TSCD/CCLD' @l_ET_ID OUT -- Hao mòn TSCD 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_UPDATE_ID ,@l_C_BRANCH_CODE , @l_AMORT_ACCTNO, 'VND', 'D', @_NEW_AMT_AMORT_LAST,1, @_NEW_AMT_AMORT_LAST, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), NULL, NULL, @l_DEP_CODE, @NOTE_AMORT2,@l_TRN_NO); -- Chi phí KH cơ bản 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_UPDATE_ID ,@l_AC_BRANCH_CODE , @l_AMORT_BASIC, 'VND', 'C', @_NEW_AMT_AMORT_LAST,1, @_NEW_AMT_AMORT_LAST, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), NULL, NULL, @l_DEP_CODE, @NOTE_AMORT2,@l_TRN_NO); END END -- ELSE IF @l_TYPE_ID = 'CCLD' -- BEGIN -- --NO ASSET_SUPPEND_GL - CO ASSET_ACCTNO: GIA TRI CHENH LECH -- EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ASS_UPDATE', @p_UPDATE_ID,@l_DO_BRANCH_ID, @l_AMORT_ACCTNO, @BRN_ID, @l_SUPPEND_GL , @BRN_ID,@AMT ,'Y', -- @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_UPDATE_ID, --N'XUAT SU DUNG TSCD/CCLD' -- @ERROR OUT -- --IF @ERROR <> 0 GOTO ABORT_ERROR -- END END END UPDATE ASS_UPDATE SET AUTH_STATUS = @P_AUTH_STATUS, CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103) WHERE UPDATE_ID = @p_UPDATE_ID UPDATE PL_PROCESS SET PROCESS_ID='UPDATE_NT' WHERE REQ_ID = @p_UPDATE_ID AND PROCESS_ID ='UPDATE' INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_UPDATE_ID, -- REQ_ID - varchar(15) 'APPROVE', -- PROCESS_ID - varchar(10) @p_CHECKER_ID, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime N'Phê duyệt phiếu cập nhật tài sản thành công' , N'Phê duyệt phiếu cập nhật tài sản' -- PROCESS_DESC - nvarchar(1000) ) END TRY BEGIN CATCH IF @@TRANCOUNT>0 ROLLBACK TRANSACTION SELECT '-1' as Result, convert(varchar(100),ERROR_NUMBER()) + ' - ' + ERROR_MESSAGE() ErrorDesc RETURN '-1' END CATCH; IF @@TRANCOUNT>0 COMMIT TRANSACTION SELECT '0' as Result, '' ErrorDesc RETURN '-1' ABORT_ERROR: BEGIN IF @@TRANCOUNT>0 ROLLBACK TRANSACTION SELECT '-1' as Result, convert(varchar(100),ERROR_NUMBER()) + ' - ' + ERROR_MESSAGE() + @ERROR ErrorDesc RETURN '-1' END GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_LIQUIDATION_BVB_Export]' GO ALTER PROCEDURE [dbo].[ASS_LIQUIDATION_BVB_Export] @p_LIQ_ID varchar(15) = NULL AS BEGIN SELECT ROW_NUMBER() OVER (ORDER BY A.LIQ_ID) AS STT, A.*, B.ASSET_NAME, B.ASSET_CODE, --A.REMAIN_VALUE AS REMAIN_AMORTIZED_AMT, ISNULL((B.AMORT_AMT - B.AMORTIZED_AMT), B.AMORT_AMT) AS REMAIN_AMORTIZED_AMT, --So tien khau hao con lai E.STATUS_NAME ASS_STATUS_NAME, --Tinh trang tai san BR_C.BRANCH_CODE BRANCH_CODE_CRE, BR_C.BRANCH_NAME BRANCH_NAME_CRE, BR_U.BRANCH_CODE BRANCH_CODE_USE, BR_U.BRANCH_NAME BRANCH_NAME_USE, AMORT_MONTH,ISNULL(AMORT_MONTH-AMORTIZED_MONTH,AMORT_MONTH) AS REMAIN_AMORT_MONTH, DP_U.DEP_CODE AS DEPT_CODE_USE, DP_U.DEP_NAME AS DEPT_NAME_USE,B.BUY_DATE_KT,B.AMORTIZED_MONTH,B.AMORTIZED_AMT, TY.TYPE_NAME,convert(nvarchar(20),convert(INT,AMORT_MONTH/12) ) + N' năm' as R_AMORT_MONTH,CM.TERM_TYPE, BD.CREATE_DT, B.USE_DATE, BR_C.BRANCH_CODE FROM ASS_LIQUIDATION_DT A LEFT JOIN ASS_MASTER B ON A.ASSET_ID=B.ASSET_ID LEFT JOIN ASS_TYPE TY ON B.TYPE_ID=TY.TYPE_ID LEFT JOIN ASS_LIQ_REQUEST BDD ON A.LIQ_ID=BDD.LIQ_ID LEFT JOIN CM_TERM CM ON BDD.TERM_ID=CM.TERM_ID LEFT JOIN ASS_LIQUIDATION BD ON A.LIQ_ID=BD.LIQ_ID LEFT JOIN ASS_STATUS E ON B.ASS_STATUS = E.STATUS_ID --LUCTV: 19-12-2018 BO SUNG LEFT JOIN DE LAY THONG TIN DON VI NHAP TAI SAN, DON VI DANG SU SUNG TAI SAN LEFT JOIN CM_BRANCH BR_C ON B.BRANCH_CREATE = BR_C.BRANCH_ID LEFT JOIN CM_BRANCH BR_U ON B.BRANCH_ID = BR_U.BRANCH_ID LEFT JOIN dbo.CM_DEPARTMENT DP_U ON B.DEPT_ID = DP_U.DEP_ID WHERE 1 = 1 AND A.LIQ_ID = @p_LIQ_ID END GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[CM_EMPLOYEE_LOG_Ins]' GO ALTER PROCEDURE [dbo].[CM_EMPLOYEE_LOG_Ins] @p_EMP_CODE varchar(15) = NULL, @p_EMP_NAME nvarchar(50) = NULL, @p_BRANCH_CODE varchar(15) = NULL, @p_DEP_CODE varchar(15) = NULL, @p_USER_DOMAIN varchar(15) = NULL, @p_POS_CODE varchar(15) = NULL, @p_POS_NAME nvarchar(500) = NULL, @p_CREATE_DT varchar(20) = NULL AS --Validation is here --DECLARE @ERRORSYS NVARCHAR(15) = '' -- IF ( EXISTS ( SELECT 1 FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN = @p_USER_DOMAIN)) -- SET @ERRORSYS = 'EMPLOG-001' --IF @ERRORSYS <> '' --BEGIN -- SELECT ErrorCode Result, '' ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS -- RETURN '0' --END BEGIN TRANSACTION DECLARE @l_EMP_ID VARCHAR(15) INSERT INTO CM_EMPLOYEE_LOG(EMP_CODE, EMP_NAME, BRANCH_CODE, DEP_CODE, USER_DOMAIN, POS_CODE, POS_NAME, CREATE_DT) VALUES(@p_EMP_CODE, @p_EMP_NAME, @p_BRANCH_CODE, @p_DEP_CODE, @p_USER_DOMAIN, @p_POS_CODE, @p_POS_NAME, CONVERT(DATETIME, @p_CREATE_DT, 103)) --PHUCVH 26/12/22 UPDATE CHỨC DANH BẢNG CM_EMPLOYEE. ĐỂ CM_EMPLOYEE VÀ CM_EMPLOYEE_LOG ĐỒNG BỘ DATA VỚI NHAU UPDATE CM_EMPLOYEE SET POS_NAME = @p_POS_NAME, POS_CODE = @p_POS_CODE WHERE EMP_CODE = @p_EMP_CODE IF @@Error <> 0 GOTO ABORT COMMIT TRANSACTION SELECT '0' as Result, @l_EMP_ID ID, '' ErrorDesc RETURN '0' ABORT: BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' ID, '' ErrorDesc RETURN '-1' End GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[CM_SUPPLIER_Upd]' GO ALTER PROCEDURE [dbo].[CM_SUPPLIER_Upd] @p_SUP_ID varchar(15) = null , @p_SUP_CODE varchar(15) = NULL , @p_SUP_NAME Nvarchar(300) = NULL , @p_SUP_TYPE_ID varchar(15) = NULL , @p_REGION_ID varchar(15) = NULL , @p_ADDR nvarchar(200) = NULL , @p_EMAIL varchar(50) = NULL , @p_TAX_NO varchar(20) = NULL , @p_TEL varchar(20) = NULL , @p_CONTACT_PERSON nvarchar(200) = NULL , @p_DISCIPLINES VARCHAR(15) = 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_ACC_NUM VARCHAR(100) = NULL, @p_ACC_NAME VARCHAR(100) = NULL, @p_BANK_NAME VARCHAR(200) = NULL, @p_ACC_NUM_OUT VARCHAR(100) = NULL, @p_ACC_NAME_OUT VARCHAR(100) = NULL, @p_BANK_NAME_OUT VARCHAR(200) = NULL, @p_EDITOR_ID VARCHAR(15) = NULL, @p_EDITOR_DT VARCHAR(15) = NULL AS BEGIN TRANSACTION --Validation is here DECLARE @ERRORSYS NVARCHAR(15) = '' IF (select case when @p_TAX_NO not like '%[^0-9]%' then 0 else 1 end) <> 0 BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, N' Mã số thuế chỉ được phép nhập số' ErrorDesc RETURN '-1' END IF ( EXISTS ( SELECT * FROM CM_SUPPLIER WHERE TAX_NO=@p_TAX_NO AND SUP_ID<>@p_SUP_ID)) SET @ERRORSYS = 'SUP-0001' IF @ERRORSYS <> '' BEGIN SELECT ErrorCode Result, '' SUP_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS RETURN '0' END -- KIEM TRA XEM THONG TIN NGAN HANG CO DANG DUOC THANH TOAN TAM UNG HAY KHONG -- UPDATE CM_SUPPLIER SET [DISCIPLINES] = @p_DISCIPLINES, [SUP_CODE] = @p_SUP_CODE,[SUP_NAME] = @p_SUP_NAME,[SUP_TYPE_ID] = @p_SUP_TYPE_ID,[REGION_ID] = @p_REGION_ID,[ADDR] = @p_ADDR,[EMAIL] = @p_EMAIL,[TAX_NO] = @p_TAX_NO,[TEL] = @p_TEL,[CONTACT_PERSON] = @p_CONTACT_PERSON,[NOTES] = @p_NOTES,[RECORD_STATUS] = @p_RECORD_STATUS,[MAKER_ID] = @p_MAKER_ID,[CREATE_DT] = CONVERT(DATETIME, @p_CREATE_DT, 103), [AUTH_STATUS] = @p_AUTH_STATUS,[CHECKER_ID] = @p_CHECKER_ID,[APPROVE_DT] = CONVERT(DATETIME, @p_APPROVE_DT, 103),EDITOR_ID = @p_EDITOR_ID, EDITOR_DT = GETDATE(), ACC_NUM=@p_ACC_NUM,ACC_NAME = @p_ACC_NAME,BANK_NAME = @p_BANK_NAME, ACC_NUM_OUT=@p_ACC_NUM_OUT,ACC_NAME_OUT = @p_ACC_NAME_OUT,BANK_NAME_OUT = @p_BANK_NAME_OUT WHERE SUP_ID= @p_SUP_ID IF @@Error <> 0 GOTO ABORT COMMIT TRANSACTION SELECT 0 as Result, @p_SUP_ID SUP_ID, '' ErrorDesc, @p_SUP_ID id RETURN 0 ABORT: BEGIN ROLLBACK TRANSACTION SELECT -1 as Result, '' SUP_ID, '' ErrorDesc RETURN -1 End GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_LIQUIDATION_BVB_Import]' GO ALTER PROCEDURE [dbo].[ASS_LIQUIDATION_BVB_Import] @p_BRANCH_ID varchar(15) = NULL, @p_BRANCH_LOGIN varchar(15) = NULL, @p_LEVEL varchar(10) = NULL, @p_XML XML AS SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED BEGIN -- PAGING declare @tmp table(BRANCH_ID varchar(15)) insert into @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID) declare @tmpAssetCode table( STT INT, ASSET_CODE varchar(50), LIQ_AMT decimal(18,0), LIQ_REASON NVARCHAR(1000), LIQ_TYPE nvarchar(max) ) Declare @hdoc INT Exec sp_xml_preparedocument @hdoc Output, @p_XML insert into @tmpAssetCode -- select ROW_NUMBER() OVER(ORDER BY (SELECT 1)), ASSET_CODE,LIQ_AMT,LIQ_REASON, CASE -- WHEN LIQ_TYPE LIKE N'%Toàn%' THEN '1' -- ELSE '0' -- END LIQ_TYPE select ROW_NUMBER() OVER(ORDER BY (SELECT 1)), ASSET_CODE,LIQ_AMT,LIQ_REASON,LIQ_TYPE from OPENXML(@hdoc,'/Root/LiquiDetail',2) WITH ( STT INT, ASSET_CODE varchar(50), LIQ_AMT decimal(18,0), LIQ_REASON NVARCHAR(1000), LIQ_TYPE nvarchar(100) ) -- validate begin DECLARE @ERROR_MESSAGE NVARCHAR(MAX) --valide dup code select @ERROR_MESSAGE = STUFF( ( --select ',' + ASSET_CODE from @tmpAssetCode T SELECT ASSET_CODE, COUNT(ASSET_CODE) FROM @tmpAssetCode GROUP BY ASSET_CODE HAVING COUNT(ASSET_CODE) > 1 FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') IF(LEN(@ERROR_MESSAGE) > 0) BEGIN set @ERROR_MESSAGE = N'Mã tài sản trong file trùng dữ liệu: ' + @ERROR_MESSAGE exec sp_seterrormessage @ERROR_MESSAGE RETURN '-1' END ------- end dup ----- select @ERROR_MESSAGE = STUFF( ( select ',' + ASSET_CODE from @tmpAssetCode T WHERE T.ASSET_CODE IS NOT NULL AND NOT EXISTS( SELECT ASSET_CODE FROM ASS_MASTER A WHERE A.ASSET_CODE = T.ASSET_CODE and A.RECORD_STATUS = '1' AND ( ((A.AMORT_STATUS <> 'VNM' 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 ((A.AMORT_STATUS = 'VNM' OR (A.AMORT_STATUS = 'DTL' AND (A.BRANCH_ID IS NULL OR A.BRANCH_ID = ''))) --AND ((@p_LEVEL = 'ALL' AND MK.TLSUBBRID IN (SELECT BRANCH_ID from @tmp)) -- OR (@p_LEVEL = 'UNIT' AND MK.TLSUBBRID = @p_BRANCH_ID))) ) AND ((@p_LEVEL = 'ALL' AND A.BRANCH_CREATE IN (SELECT BRANCH_ID from @tmp)) OR (@p_LEVEL = 'UNIT' AND A.BRANCH_CREATE = @p_BRANCH_ID))) ) OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '' ) AND ( ((A.AMORT_STATUS <> 'VNM' AND ((@p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)) OR (@p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_LOGIN))) OR ((A.AMORT_STATUS = 'VNM' OR (A.AMORT_STATUS = 'DTL' AND (A.BRANCH_ID IS NULL OR A.BRANCH_ID = ''))) AND ((@p_LEVEL = 'ALL' AND A.BRANCH_CREATE IN (SELECT BRANCH_ID from @tmp)) OR (@p_LEVEL = 'UNIT' AND A.BRANCH_CREATE = @p_BRANCH_LOGIN)))) OR @p_BRANCH_LOGIN IS NULL OR @p_BRANCH_LOGIN = '' ) ) FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') IF(LEN(@ERROR_MESSAGE) > 0) BEGIN set @ERROR_MESSAGE = N'Mã tài sản không thuộc đơn vị hoặc không tồn tại trong hệ thống: ' + @ERROR_MESSAGE exec sp_seterrormessage @ERROR_MESSAGE RETURN '-1' END select @ERROR_MESSAGE = STUFF( ( select ',' + ASSET_CODE from @tmpAssetCode T WHERE T.ASSET_CODE IS NOT NULL AND EXISTS( SELECT ASSET_CODE FROM ASS_MASTER A WHERE A.ASSET_CODE = T.ASSET_CODE and A.RECORD_STATUS = '1' AND A.AMORT_STATUS='DTL' ) FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') -- validate end IF(LEN(@ERROR_MESSAGE) > 0) BEGIN set @ERROR_MESSAGE = N'Mã tài sản đã được thanh lý: ' + @ERROR_MESSAGE exec sp_seterrormessage @ERROR_MESSAGE RETURN '-1' END --------------------------- SELECT A.ASSET_ID, A.ASSET_CODE, A.ASSET_NAME, T.LIQ_AMT AS REQ_AMT, A.BUY_PRICE, ISNULL(ALRD.REQ_AMT, ISNULL((A.AMORT_AMT - A.AMORTIZED_AMT), A.AMORT_AMT)) AS LIQ_AMT, ISNULL((A.AMORT_AMT - A.AMORTIZED_AMT), A.AMORT_AMT) AS REMAIN_AMORTIZED_AMT, --So tien khau hao con lai ISNULL((A.AMORT_AMT - A.AMORTIZED_AMT), A.AMORT_AMT) AS LIQ_PRICE, CASE WHEN A.BUY_PRICE > 0 THEN A.BUY_PRICE ELSE 0 END AS BUY_PRICE_LIQ, E.STATUS_NAME ASS_STATUS_NAME, --Tinh trang tai san A.BRANCH_ID, T.LIQ_TYPE AS NOTE, --(T.BUY_PRICE_LIQ / A.BUY_PRICE) * ISNULL((A.AMORT_AMT - A.AMORTIZED_AMT), A.AMORT_AMT) AS REMAIN_VALUE, T.LIQ_REASON, C.BRANCH_NAME AS BRANCH_NAME_USE, D.DEP_NAME AS DEPT_NAME_USE, F.STATUS_NAME AMORT_STATUS_NAME FROM ASS_MASTER A LEFT JOIN ASS_GROUP B ON A.GROUP_ID = B.GROUP_ID AND B.RECORD_STATUS = '1' LEFT JOIN dbo.CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID LEFT JOIN dbo.CM_DEPARTMENT D ON A.DEPT_ID = D.DEP_ID LEFT JOIN ASS_STATUS E ON A.ASS_STATUS = E.STATUS_ID LEFT JOIN ASS_AMORT_STATUS F ON A.AMORT_STATUS = F.STATUS_CODE INNER JOIN @tmpAssetCode T ON A.ASSET_CODE = T.ASSET_CODE LEFT JOIN ASS_LIQ_REQUEST_DT ALRD ON ALRD.ASSET_ID = A.ASSET_ID ORDER BY STT END GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_LIQ_REQUEST_Search]' GO ALTER PROCEDURE [dbo].[ASS_LIQ_REQUEST_Search] @p_LIQ_REQ_ID varchar(15) = NULL, @p_ASS_TYPE_ID varchar(15) = NULL, @p_REQ_DT VARCHAR(20) = NULL, @p_BRANCH_ID varchar(15) = NULL, @p_NOTES nvarchar(1000) = NULL, @p_RECORD_STATUS varchar(1) = NULL, @p_MAKER_ID varchar(12) = NULL, @p_CREATE_DT VARCHAR(20) = NULL, @p_AUTH_STATUS varchar(50) = NULL, @p_STATUS varchar(50) = NULL, @p_CHECKER_ID varchar(12) = NULL, @p_APPROVE_DT VARCHAR(20) = NULL, @p_TOP INT = 10, @p_BRANCH_CREATE VARCHAR(15) = NULL, @p_LEVEL VARCHAR(50) = 'UNIT', @p_TERM_ID VARCHAR(15) = NULL, @p_USER_LOGIN VARCHAR(20)=NULL AS BEGIN -- PAGING DECLARE @DEP_ID VARCHAR(20),@BRANCH_ID VARCHAR(20) DECLARE @ROLE_LOGIN TABLE(USER_ROLE 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 SET @DEP_ID= (SELECT DEP_ID FROM dbo.TL_USER WHERE TLNANME=@p_USER_LOGIN) SET @BRANCH_ID= (SELECT TLSUBBRID FROM dbo.TL_USER WHERE TLNANME=@p_USER_LOGIN) 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 DECLARE @MAX_ID INT = (SELECT MAX(CRP.ID) FROM CM_REQUEST_PROCESS CRP WHERE CRP.REQ_ID = @p_LIQ_REQ_ID) DECLARE @LIQ_REQ_ID_Temp TABLE(LIQ_REQ_ID VARCHAR(20)) INSERT INTO @LIQ_REQ_ID_Temp SELECT A.LIQ_REQ_ID FROM ASS_LIQ_REQUEST A LEFT JOIN CM_REQUEST_PROCESS B ON A.LIQ_REQ_ID = B.REQ_ID WHERE (EXISTS(SELECT RL.USER_ROLE 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.USER_ROLE = B.ROLE) OR EXISTS(SELECT * FROM @ROLE_LOGIN RL JOIN CM_REQUEST_PROCESS C ON C.REQ_ID = A.LIQ_REQ_ID AND C.ID = @MAX_ID 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.USER_ROLE = C.ROLE) OR A.MAKER_ID = @p_USER_LOGIN) GROUP BY A.LIQ_REQ_ID --SELECT DISTINCT BRANCH_ID,DEP_ID FROM CM_REQUEST_PROCESS WHERE PROCESS_KEY = 'AssLiqRequest' AND REQ_ID = @p_LIQ_REQ_ID IF(@p_TOP IS NULL OR @p_TOP = '' OR @p_TOP = 0) -- PAGING BEGIN SELECT A.*,C.BRANCH_NAME, C.BRANCH_CODE,E.TYPE_NAME, CB.BRANCH_CODE AS BRANCH_CODE_CREATE, CB.BRANCH_NAME AS BRANCH_NAME_CREATE, T.TERM_CODE, T.TERM_TYPE ,CASE WHEN A.IS_REJECTED = 0 AND CRP.STATUS = 'B' THEN N'Mới tạo' WHEN A.IS_REJECTED = 0 THEN CRP.DESCRIBE WHEN A.IS_REJECTED = 1 THEN N'Từ chối' ELSE CRP.DESCRIBE END AS DESCRIBE, CRP.STATUS ,CASE WHEN A.IS_REJECTED = 1 THEN N'Từ chối' WHEN A.IS_REJECTED = 0 AND CRP.STATUS = 'B' THEN N'Lưu nháp' WHEN A.IS_REJECTED = 0 AND CRP.STATUS = 'M' THEN N'Đã duyệt' ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME -- SELECT END FROM ASS_LIQ_REQUEST A LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID LEFT JOIN CM_BRANCH CB ON A.BRANCH_CREATE = CB.BRANCH_ID LEFT JOIN ASS_TYPE E ON A.ASS_TYPE_ID=E.TYPE_ID LEFT JOIN CM_TERM T ON T.TERM_ID = A.TERM_ID LEFT JOIN CM_REQUEST_PROCESS CRP ON CRP.REQ_ID = A.LIQ_REQ_ID AND CRP.DONE = 0 WHERE 1 = 1 AND (A.LIQ_REQ_ID LIKE '%' + @p_LIQ_REQ_ID + '%' OR @p_LIQ_REQ_ID IS NULL OR @p_LIQ_REQ_ID = '') AND (A.ASS_TYPE_ID LIKE '%' + @p_ASS_TYPE_ID + '%' OR @p_ASS_TYPE_ID IS NULL OR @p_ASS_TYPE_ID = '') AND (DATEDIFF(DAYOFYEAR, A.REQ_DT,CONVERT(DATETIME, @p_REQ_DT, 103)) = 0 OR @p_REQ_DT IS NULL OR @p_REQ_DT = '') AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR @p_BRANCH_ID IS NULL OR @p_BRANCH_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.RECORD_STATUS = '1' AND ((@p_AUTH_STATUS = 'A' AND A.AUTH_STATUS = 'L') OR (@p_AUTH_STATUS = 'E' AND A.AUTH_STATUS = 'B') OR (@p_AUTH_STATUS = 'U' AND A.AUTH_STATUS IN (SELECT * FROM STRING_SPLIT('C,E,Z,F,G,H,K', ','))) OR (@p_AUTH_STATUS = 'R' AND (A.AUTH_STATUS = 'R' OR A.IS_REJECTED = 1)) OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '') ) --AND (CRP.PROCESS_ID LIKE '%' + @p_AUTH_STATUS + '%' OR (CRP.PROCESS_ID IS NULL AND @p_AUTH_STATUS<> N'U') OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '') AND (A.TERM_ID = @p_TERM_ID OR @p_TERM_ID IS NULL OR @p_TERM_ID = '') AND ((@p_STATUS = 'Z' AND A.IS_REJECTED = 1) OR (CRP.[STATUS] LIKE '%' + @p_STATUS + '%' OR @p_STATUS IS NULL OR @p_STATUS = '')) AND EXISTS(SELECT * FROM @LIQ_REQ_ID_Temp RL WHERE RL.LIQ_REQ_ID = A.LIQ_REQ_ID) AND CRP.ROLE IN (SELECT USER_ROLE FROM @ROLE_LOGIN) OR A.MAKER_ID = @p_USER_LOGIN ORDER BY A.CREATE_DT DESC -- PAGING END ELSE ---- PAGING BEGIN SELECT TOP(CONVERT(INT,@p_TOP)) A.*,C.BRANCH_NAME, C.BRANCH_CODE,E.TYPE_NAME, CB.BRANCH_CODE AS BRANCH_CODE_CREATE, CB.BRANCH_NAME AS BRANCH_NAME_CREATE, T.TERM_CODE, T.TERM_TYPE ,CASE WHEN A.IS_REJECTED = 0 AND CRP.STATUS = 'B' THEN N'Mới tạo' WHEN A.IS_REJECTED = 0 THEN CRP.DESCRIBE WHEN A.IS_REJECTED = 1 THEN N'Từ chối' ELSE CRP.DESCRIBE END AS DESCRIBE, CRP.STATUS ,CASE WHEN A.IS_REJECTED = 1 THEN N'Từ chối' WHEN A.IS_REJECTED = 0 AND CRP.STATUS = 'B' THEN N'Lưu nháp' WHEN A.IS_REJECTED = 0 AND CRP.STATUS = 'M' THEN N'Đã duyệt' ELSE N'Chờ duyệt' END AS AUTH_STATUS_NAME -- SELECT END FROM ASS_LIQ_REQUEST A LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID LEFT JOIN CM_BRANCH CB ON A.BRANCH_CREATE = CB.BRANCH_ID LEFT JOIN ASS_TYPE E ON A.ASS_TYPE_ID=E.TYPE_ID LEFT JOIN CM_TERM T ON T.TERM_ID = A.TERM_ID LEFT JOIN CM_REQUEST_PROCESS CRP ON CRP.REQ_ID = A.LIQ_REQ_ID AND CRP.DONE = 0 WHERE 1 = 1 AND (A.LIQ_REQ_ID LIKE '%' + @p_LIQ_REQ_ID + '%' OR @p_LIQ_REQ_ID IS NULL OR @p_LIQ_REQ_ID = '') AND (A.ASS_TYPE_ID LIKE '%' + @p_ASS_TYPE_ID + '%' OR @p_ASS_TYPE_ID IS NULL OR @p_ASS_TYPE_ID = '') AND (DATEDIFF(DAYOFYEAR, A.REQ_DT,CONVERT(DATETIME, @p_REQ_DT, 103)) = 0 OR @p_REQ_DT IS NULL OR @p_REQ_DT = '') AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR @p_BRANCH_ID IS NULL OR @p_BRANCH_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 ((@p_AUTH_STATUS = 'A' AND A.AUTH_STATUS = 'L') OR (@p_AUTH_STATUS = 'E' AND A.AUTH_STATUS = 'B') OR (@p_AUTH_STATUS = 'U' AND A.AUTH_STATUS IN (SELECT * FROM STRING_SPLIT('C,E,Z,F,G,H,K', ','))) OR (@p_AUTH_STATUS = 'R' AND (A.AUTH_STATUS = 'R' OR A.IS_REJECTED = 1)) OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '') ) AND A.RECORD_STATUS = '1' --AND (CRP.PROCESS_ID LIKE '%' + @p_AUTH_STATUS + '%' OR (CRP.PROCESS_ID IS NULL AND @p_AUTH_STATUS<> N'U') OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '') AND (A.TERM_ID = @p_TERM_ID OR @p_TERM_ID IS NULL OR @p_TERM_ID = '') AND ((@p_STATUS = 'Z' AND A.IS_REJECTED = 1) OR (CRP.[STATUS] LIKE '%' + @p_STATUS + '%' OR @p_STATUS IS NULL OR @p_STATUS = '')) AND EXISTS(SELECT * FROM @LIQ_REQ_ID_Temp RL WHERE RL.LIQ_REQ_ID = A.LIQ_REQ_ID) AND CRP.ROLE IN (SELECT USER_ROLE FROM @ROLE_LOGIN) OR A.MAKER_ID = @p_USER_LOGIN ORDER BY A.CREATE_DT DESC -- PAGING END END -- PAGING GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[CM_PROCESS_DT_Create]' GO ALTER PROC [dbo].[CM_PROCESS_DT_Create] @p_ID VARCHAR(15) = NULL, @p_REQ_ID VARCHAR(50)=NULL, @p_TLNAME VARCHAR(200)=NULL AS BEGIN DECLARE @BRANCH_ID VARCHAR(20), @DEP_ID VARCHAR(20), @ROLE VARCHAR(20), @CURRENTSTATE VARCHAR(15), @CONDITION_STATUS VARCHAR(1), @DESCRIBE NVARCHAR(MAX), @COUNTDVCM INT, @TEMPDVCM_ID INT DECLARE @TEMPDVCM TABLE ( ID INT NOT NULL IDENTITY(1,1), COST_ID VARCHAR(15), REQ_ID VARCHAR(15) --,RANGE_PROCESS VARCHAR(15) ) BEGIN TRANSACTION SET @CURRENTSTATE = (SELECT TOP 1 crp.[STATUS] FROM CM_REQUEST_PROCESS crp WHERE crp.REQ_ID = @p_REQ_ID AND PROCESS_ID=CONVERT(INT, @p_ID)) SET @CONDITION_STATUS = (SELECT TOP 1 [STATUS] FROM CM_PROCESS WHERE ID=CONVERT(INT, @p_ID)) SET @ROLE = (SELECT TOP 1 ROLE FROM CM_PROCESS cp WHERE CONDITION_STATUS IN (SELECT [STATUS] FROM CM_PROCESS WHERE ID=CONVERT(INT, @p_ID)) AND CONDITION_STATUS<>[STATUS] ) INSERT INTO @TEMPDVCM SELECT trsc.COST_ID, trsc.REQ_ID FROM TR_REQUEST_SHOP_COSTCENTER trsc WHERE trsc.REQ_ID = @p_REQ_ID AND trsc.COST_ID NOT IN (SELECT crp.DEPT_ID FROM CM_REQUEST_PROCESS crp WHERE crp.REQ_ID = @p_REQ_ID AND crp.STATUS = 'G' AND crp.PROCESS_ID = 32) SET @TEMPDVCM_ID = 1 SET @COUNTDVCM = (SELECT COUNT(*) FROM @TEMPDVCM WHERE [@TEMPDVCM].REQ_ID = @p_REQ_ID GROUP BY [@TEMPDVCM].REQ_ID) INSERT INTO [dbo].[PL_PROCESS] ([REQ_ID] ,[PROCESS_ID] ,[CHECKER_ID] ,[APPROVE_DT] ,[PROCESS_DESC] ,[NOTES] ,[AUTH_STATUS]) SELECT @p_REQ_ID ,ID ,@p_TLNAME ,GETDATE() ,UPPER(LEFT(cp.DESCRIPTION,1))+LOWER(SUBSTRING(cp.DESCRIPTION,2,LEN(cp.DESCRIPTION))) --uppercase/capitalize the first letter vs just wanted to change it only for displaying and do not need the actual data in table to change ,cp.NOTES ,[STATUS] FROM CM_PROCESS cp WHERE ID=CONVERT(INT, @p_ID) DECLARE @TABLE VARCHAR(50)=NULL --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ý,... DECLARE @SYS_PREFIX VARCHAR(20) =(SELECT LEFT(Val,PATINDEX('%[^a-z]%', Val+'0')-1) from( SELECT SUBSTRING(@p_REQ_ID, PATINDEX('%[a-z]%', @p_REQ_ID), LEN(@p_REQ_ID)) Val )x) SET @TABLE=(SELECT sp.ID FROM SYS_PREFIX sp WHERE sp.Prefix = @SYS_PREFIX) SELECT @BRANCH_ID=BRANCH_ID,@DEP_ID=DEP_ID FROM ASS_LIQ_REQUEST ALR WHERE ALR.LIQ_REQ_ID = @p_REQ_ID --UPDATE STATUS DONE CM_REQUEST_PROCESS UPDATE CM_REQUEST_PROCESS SET DONE=1 WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID=CONVERT(INT, @p_ID) AND(DEPT_ID=(SELECT DEP_ID FROM TL_USER WHERE TLNANME=@p_TLNAME) OR DEPT_ID IS NULL OR DEPT_ID='') DELETE CM_REQUEST_PROCESS WHERE (DONE<>1 OR DONE IS NULL) AND REQ_ID=@p_REQ_ID AND PROCESS_ID<>CONVERT(INT, @p_ID) AND CONDITION_STATUS=(SELECT TOP 1 CONDITION_STATUS FROM CM_REQUEST_PROCESS WHERE PROCESS_ID=CONVERT(INT, @p_ID) AND REQ_ID=@p_REQ_ID) AND(DEPT_ID=(SELECT DEP_ID FROM TL_USER WHERE TLNANME=@p_TLNAME) OR DEPT_ID IS NULL OR DEPT_ID='') IF @ROLE LIKE '%QLTS' BEGIN SET @BRANCH_ID = 'DV0001' SET @DEP_ID = 'DEP000000000048' END IF(@CURRENTSTATE = 'E' AND NOT EXISTS (SELECT * FROM TR_REQUEST_SHOP_COSTCENTER WHERE REQ_ID=@p_REQ_ID)) BEGIN SET @p_ID = (SELECT cp.ID FROM CM_PROCESS cp WHERE cp.[STATUS] = 'G') SET @BRANCH_ID = 'DV0001' SET @DEP_ID = 'DEP000000000048' SET @CONDITION_STATUS = 'E' SET @ROLE = 'QLTS' END IF @ROLE LIKE '%DVCM' --AND @COUNTDVCM = 1 BEGIN SET @BRANCH_ID = 'DV0001' SET @DEP_ID = (SELECT COST_ID FROM @TEMPDVCM WHERE REQ_ID = @p_REQ_ID AND ID = 1)--(SELECT TRS.COST_ID FROM TR_REQUEST_SHOP_COSTCENTER TRS WHERE TRS.REQ_ID=@p_REQ_ID) END -- IF @ROLE LIKE 'DVCM' AND @COUNTDVCM > 1 AND NOT EXISTS (SELECT * FROM CM_REQUEST_PROCESS crp WHERE crp.REQ_ID = @p_REQ_ID AND crp.STATUS = 'F' AND crp.ROLE LIKE 'DVCM') -- BEGIN -- SET @BRANCH_ID = 'DV0001' -- SET @DEP_ID = (SELECT COST_ID FROM @TEMPDVCM WHERE REQ_ID = @p_REQ_ID AND ID = 1) -- END IF(@ROLE LIKE 'GDDVCM') BEGIN SET @ROLE = 'GDDV' SET @BRANCH_ID = 'DV0001' SET @DEP_ID = (SELECT COST_ID FROM @TEMPDVCM WHERE REQ_ID = @p_REQ_ID AND ID = 1)--(SELECT TRS.COST_ID FROM TR_REQUEST_SHOP_COSTCENTER TRS WHERE TRS.REQ_ID=@p_REQ_ID) END --CHECK STEP DVCM IN PROCESS IF(EXISTS(SELECT * FROM CM_PROCESS WHERE ID=CONVERT(INT,@p_ID) AND [STATUS] IN (SELECT CONDITION_STATUS FROM CM_PROCESS WHERE RANGE_PROCESS='DEPT')) AND NOT EXISTS (SELECT * FROM TR_REQUEST_SHOP_COSTCENTER WHERE REQ_ID=@p_REQ_ID)) BEGIN --CHANGE ID TO NEXT STEP SET @p_ID=(SELECT TOP(1) ID FROM CM_PROCESS WHERE [ORDER]>(SELECT [ORDER] FROM CM_PROCESS WHERE ID=CONVERT(INT, @p_ID)) AND (RANGE_PROCESS='DEPT') ORDER BY [ORDER] DESC) SET @DEP_ID = (SELECT TRS.COST_ID FROM TR_REQUEST_SHOP_COSTCENTER TRS WHERE TRS.REQ_ID=@p_REQ_ID) END IF(@CURRENTSTATE = 'G' AND EXISTS(SELECT * FROM @TEMPDVCM WHERE COST_ID IS NOT NULL AND REQ_ID = @p_REQ_ID)) BEGIN SET @p_ID = (SELECT cp.ID FROM CM_PROCESS cp WHERE cp.[STATUS] = 'E') SET @BRANCH_ID = 'DV0001' SET @DEP_ID = (SELECT COST_ID FROM @TEMPDVCM WHERE REQ_ID = @p_REQ_ID AND ID = 1) SET @CONDITION_STATUS = 'G' SET @ROLE = 'DVCM' END --INSERT INTO PL_REQUEST_PROCESS IF( NOT EXISTS(SELECT * FROM CM_REQUEST_PROCESS WHERE PROCESS_ID=CONVERT(INT,@p_ID) AND REQ_ID=@p_REQ_ID AND (DONE<>1 OR DONE IS NULL OR DONE ='') AND [ACTION]='APPROVE') -- AND -- NOT EXISTS(SELECT * FROM CM_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND [STATUS] IN(SELECT [STATUS] FROM CM_PROCESS WHERE CONDITION_STATUS=(SELECT [STATUS] FROM CM_PROCESS WHERE ID=CONVERT(INT, @p_ID)) AND CONDITION_STATUS<>[STATUS] ) ) ) BEGIN INSERT INTO [dbo].[CM_REQUEST_PROCESS] ([REQ_ID] ,PROCESS_KEY ,[PROCESS_ID] ,[STATUS] ,[ROLE] ,[BRANCH_ID] ,[DEPT_ID] ,[DEP_ID] ,[NOTES] ,[ORDER] ,[ACTION] ,[FROM_STATUS] ,[FROM] ,[CONDITION_STATUS] ,[DESCRIBE] ,[NAME_ACTION] ,[RANGE_PROCESS] ,[MARKER_ID] ,CHECKER_ID ,APPROVE_DT) SELECT @p_REQ_ID ,CP.PROCESS_KEY ,CP.ID ,CP.[STATUS] ,@ROLE ,@BRANCH_ID ,[@TEMPDVCM].COST_ID --TRSC.COST_ID-- ,@DEP_ID ,CP.NOTES ,CP.[ORDER] ,[ACTION] ,FROM_STATUS ,[STATUS] ,@CONDITION_STATUS ,DESCRIBE ,NAME_ACTION ,RANGE_PROCESS ,alr.MAKER_ID ,alr.CHECKER_ID ,CONVERT(DATETIME,GETDATE(),103) FROM CM_PROCESS CP LEFT JOIN ASS_LIQ_REQUEST alr ON alr.LIQ_REQ_ID = @p_REQ_ID --LEFT JOIN TR_REQUEST_SHOP_COSTCENTER TRSC ON TRSC.REQ_ID=@p_REQ_ID AND CP.RANGE_PROCESS='DEPT' LEFT JOIN @TEMPDVCM ON [@TEMPDVCM].REQ_ID = @p_REQ_ID AND CP.RANGE_PROCESS='DEPT' AND [@TEMPDVCM].ID = 1--AND TRSC.COST_ID = [@TEMPDVCM].COST_ID WHERE CONDITION_STATUS IN (SELECT [STATUS] FROM CM_PROCESS WHERE ID=CONVERT(INT, @p_ID)) AND CONDITION_STATUS <> [STATUS] --IF @@ERROR <> 0 GOTO ABORT END -- END INSERT PL_REQUEST_PROCESS COMMIT TRANSACTION SELECT '0' as Result, @p_REQ_ID REQ_ID, '' ErrorDesc, @p_ID ID, @BRANCH_ID BRANCH_ID, @DEP_ID DEP_ID, @ROLE [ROLE], @CURRENTSTATE CURRENTSTATE, @COUNTDVCM COUNTDVCM, @TEMPDVCM_ID TEMPDVCM_ID RETURN '0' ABORT: BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' REQ_ID, '' ErrorDesc RETURN '-1' End END GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[TR_REQUEST_SHOP_DOC_DT_ById]' GO ALTER PROCEDURE [dbo].[TR_REQUEST_SHOP_DOC_DT_ById] @p_REQ_ID varchar(15), @BRANCH_LOGIN varchar(15) = NULL, @ASSET_TYPE varchar(15) = NULL AS DECLARE @l_CCLD_VALUE decimal(18,0) = 0 SET @l_CCLD_VALUE = (SELECT ParaValue FROM SYS_PARAMETERS WHERE ParaKey = 'ASSET_VALUE') IF @@ERROR <> 0 SET @l_CCLD_VALUE = 0 SELECT A.REQDT_ID, A.REQ_DOC_ID, A.PLAN_ID, A.TRADE_ID, A.ASS_GROUP_ID, A.DESCRIPTION, A.REASON, A.UNIT_ID, A.QUANTITY, A.PRICE, A.TOTAL_AMT, A.NOTES, A.RECEIVE_BRANCH, A.RECEIVE_ADDR, A.RECEIVE_PERSON, A.RECEIVE_TEL, A.RECORD_STATUS, A.MAKER_ID, A.CREATE_DT, A.AUTH_STATUS, A.CHECKER_ID, A.APPROVE_DT, A.NOTES_DVCM, A.QUANTITY_USE, A.RECEIVE_SUBBRANCH, A.RECEIVE_DEP, A.RECEIVE_EMAIL, A.REQ_DT_TYPE,A.PRICE AS PRICE_D,E.BRANCH_CODE, E.BRANCH_ID,E.BRANCH_NAME, C.UNIT_CODE, C.UNIT_ID, C.UNIT_NAME, F.PLAN_CODE, F.PLAN_NAME, G.BRANCH_CODE AS R_BRANCH_CODE, G.BRANCH_NAME AS R_BRANCH_NAME,A.QTY_ETM,EMP.EMP_CODE, EMP.EMP_ID,EMP.EMP_NAME, AG.GROUP_CODE AS ASS_GROUP_CODE, AG.GROUP_NAME AS ASS_GROUP_NAME, CASE WHEN A.EMP_ID IS NULL OR A.EMP_ID = '' THEN E.BRANCH_ID ELSE CBE.BRANCH_ID END AS BRANCH_OLD, CASE WHEN A.EMP_ID IS NULL OR A.EMP_ID = '' THEN E.BRANCH_CODE ELSE CBE.BRANCH_CODE END AS BRANCH_OLD_CODE, CASE WHEN A.EMP_ID IS NULL OR A.EMP_ID = '' THEN E.BRANCH_NAME ELSE CBE.BRANCH_NAME END AS BRANCH_OLD_NAME, CASE WHEN A.EMP_ID IS NULL OR A.EMP_ID = '' THEN CDR.DEP_ID ELSE CDE.DEP_ID END AS DEP_OLD, CASE WHEN A.EMP_ID IS NULL OR A.EMP_ID = '' THEN CDR.DEP_CODE ELSE CDE.DEP_CODE END AS DEP_OLD_CODE, CASE WHEN A.EMP_ID IS NULL OR A.EMP_ID = '' THEN CDR.DEP_NAME ELSE CDE.DEP_NAME END AS DEP_OLD_NAME, --CBE.BRANCH_ID AS BRANCH_OLD, CBE.BRANCH_CODE AS BRANCH_OLD_CODE, CBE.BRANCH_NAME AS BRANCH_OLD_NAME, CDE.DEP_ID AS DEP_OLD, CDE.DEP_CODE AS DEP_OLD_CODE, CDE.DEP_NAME AS DEP_OLD_NAME, CD.DEP_CODE AS R_DEP_CODE,CD.DEP_NAME AS R_DEP_NAME, AG.DVCM_ID AS ID_DVCM, R.REQ_CODE, R.REQ_NAME, A.ALLOCATED, (CASE WHEN A.REQ_DT_TYPE = 'BUYNEW' THEN N'Mua mới' WHEN A.TYPE_XL = 'CPTK' THEN N'Xuất kho' WHEN A.TYPE_XL = 'CPDC' THEN N'Tận dụng/Điều chuyển' END) AS REQ_DT_TYPE_NAME FROM TR_REQUEST_SHOP_DOC_DT A LEFT JOIN CM_UNIT C On A.UNIT_ID=C.UNIT_ID LEFT JOIN dbo.TR_REQUEST_SHOP_DOC R ON R.REQ_ID=A.REQ_DOC_ID LEFT JOIN PL_MASTER F ON F.PLAN_ID = A.PLAN_ID LEFT JOIN CM_BRANCH E ON E.BRANCH_ID = R.BRANCH_ID LEFT JOIN dbo.CM_DEPARTMENT CDR ON CDR.DEP_ID=R.DEP_ID LEFT JOIN CM_BRANCH G ON G.BRANCH_ID = A.RECEIVE_BRANCH LEFT JOIN CM_EMPLOYEE EMP ON EMP.EMP_ID = A.EMP_ID LEFT JOIN CM_BRANCH CBE ON CBE.BRANCH_ID = EMP.BRANCH_ID LEFT JOIN dbo.CM_DEPARTMENT CDE ON CDE.DEP_ID=EMP.DEP_ID LEFT JOIN ASS_GROUP AG ON A.ASS_GROUP_ID = AG.GROUP_ID LEFT JOIN dbo.CM_DEPARTMENT CK ON CK.DEP_ID=A.RECEIVE_SUBBRANCH AND CK.KHOI_ID = 'K' LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=A.RECEIVE_SUBBRANCH LEFT JOIN dbo.CM_DEPARTMENT CD ON CD.DEP_ID=A.RECEIVE_DEP WHERE A.REQ_DOC_ID=@p_REQ_ID AND (A.RECEIVE_BRANCH = @BRANCH_LOGIN OR @BRANCH_LOGIN IS NULL OR @BRANCH_LOGIN = '') --AND ((@ASSET_TYPE = 'TSCD' AND A.PRICE >= @l_CCLD_VALUE) OR (@ASSET_TYPE = 'CCLD' AND A.PRICE < @l_CCLD_VALUE) OR @ASSET_TYPE IS NULL OR @ASSET_TYPE = '') ORDER BY A.CREATE_DT DESC --EXEC TR_PO_DETAIL_ById 'TRPM00000000001', 'DV0001' GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_LIQ_REQUEST_App]' GO ALTER PROCEDURE [dbo].[ASS_LIQ_REQUEST_App] @p_LIQ_REQ_ID VARCHAR(15), @p_AUTH_STATUS VARCHAR(1), @p_CHECKER_ID VARCHAR(12), @p_APPROVE_DT VARCHAR(20) AS --Validation is here DECLARE @ERRORSYS NVARCHAR(15) = '' IF ( NOT EXISTS ( SELECT * FROM ASS_LIQ_REQUEST WHERE LIQ_REQ_ID = @p_LIQ_REQ_ID)) SET @ERRORSYS = 'ASSL-00002' IF @ERRORSYS <> '' BEGIN SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS RETURN '0' END --khanhnhd kiểm tra thêm loại thanh lý role 'PHCQT_QLTS' /*IF(EXISTS(SELECT * FROM [dbo].[TL_USER_GET_ROLES] (@p_CHECKER_ID) WHERE ROLE_ID = 'PHCQT_QLTS') AND EXISTS(SELECT * FROM ASS_LIQ_REQUEST WHERE LIQ_REQ_ID = @p_LIQ_REQ_ID AND (TERM_ID IS NULL OR TERM_ID =''))) BEGIN SELECT '-1' as Result, N'Vui lòng chọn loại thanh lý' ErrorDesc RETURN '-1' END */ --end khanhnhd kiểm tra thêm loại thanh lý role 'PHCQT_QLTS' BEGIN TRANSACTION DECLARE @ASSET_ID_LST VARCHAR(MAX), @CURRENT_TRANS_ERROR NVARCHAR(MAX) --KIỂM TRA TÀI SẢN ĐANG TREO TRONG GIAO DỊCH KHÁC SET @ASSET_ID_LST = (SELECT B.ASSET_ID + ',' FROM (SELECT ALD.ASSET_ID FROM ASS_LIQ_REQUEST_DT ALD LEFT JOIN ASS_MASTER AM ON ALD.ASSET_ID = AM.ASSET_ID where ALD.LIQ_REQ_ID = @p_LIQ_REQ_ID AND AM.CURRENT_TRANS <> @p_LIQ_REQ_ID) B FOR XML PATH ('')) IF(@p_AUTH_STATUS = 'B') --IF(EXISTS(SELECT * FROM ASS_MASTER AM WHERE AM.ASSET_ID IN (SELECT * FROM STRING_SPLIT(@ASSET_ID_LST,',')) AND AM.CURRENT_TRANS <> @p_LIQ_REQ_ID)) BEGIN BEGIN SELECT @CURRENT_TRANS_ERROR = dbo.ASSET_CHECK_CURRENT_TRANS(@ASSET_ID_LST) IF(@CURRENT_TRANS_ERROR IS NOT NULL AND @CURRENT_TRANS_ERROR <> '') BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' LIQ_ID, @CURRENT_TRANS_ERROR ErrorDesc RETURN '-1' END END END Declare @ASSET_CODE VARCHAR(30), @CURRENT_TRANS VARCHAR(20), @CURRENT_TRANS_TYPE VARCHAR(20), @ROLEDVCM VARCHAR(5), @ROLEGDDVCM VARCHAR(10) --Declare @ASSET_ID varchar(15) = (select ASSET_ID from ASS_LIQ_REQUEST_DT where LIQ_REQ_ID = @p_LIQ_REQ_ID ) --UPDATE ASS_MASTER SET CURRENT_TRANS = @p_LIQ_REQ_ID, CURRENT_TRANS_TYPE = 'ASS_LIQ' --WHERE ASSET_ID = @ASSET_ID -- KIEM TRA MA TAI SAN SET @ROLEDVCM = (SELECT ROLE_ID FROM [dbo].[TL_USER_GET_ROLES] (@p_CHECKER_ID) WHERE ROLE_ID = 'DVCM') SET @ROLEGDDVCM = (SELECT ROLE_ID FROM [dbo].[TL_USER_GET_ROLES] (@p_CHECKER_ID) WHERE ROLE_ID = 'GDDVCM') IF(@p_AUTH_STATUS = 'F' OR @p_AUTH_STATUS = 'G') BEGIN UPDATE trsc SET AUTH_STATUS ='A' FROM TR_REQUEST_SHOP_COSTCENTER trsc LEFT JOIN CM_DEPARTMENT cd ON cd.DEP_ID = trsc.COST_ID LEFT JOIN TL_USER tu1 ON cd.DEP_ID = tu1.DEP_ID WHERE REQ_ID = @p_LIQ_REQ_ID AND tu1.TLNANME = @p_CHECKER_ID END IF (@ROLEDVCM = 'DVCM' AND (EXISTS ( SELECT trsc.RE_CONTENT FROM TR_REQUEST_SHOP_COSTCENTER trsc LEFT JOIN TL_USER tu ON trsc.COST_ID = tu.DEP_ID WHERE trsc.REQ_ID = @p_LIQ_REQ_ID AND tu.TLNANME = @p_CHECKER_ID AND trsc.RE_CONTENT = ''))) GOTO ABORT2 IF(@ROLEGDDVCM = 'GDDVCM' AND @p_AUTH_STATUS = 'F') GOTO ABORT3 UPDATE ASS_LIQ_REQUEST SET AUTH_STATUS = @p_AUTH_STATUS, CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103), IS_REJECTED = 0 WHERE LIQ_REQ_ID = @p_LIQ_REQ_ID UPDATE ASS_LIQ_REQUEST SET AUTH_STATUS = @p_AUTH_STATUS, CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103), IS_REJECTED = 0 WHERE LIQ_REQ_ID = @p_LIQ_REQ_ID UPDATE CM_REQUEST_PROCESS SET CHECKER_ID = (SELECT alr.CHECKER_ID FROM ASS_LIQ_REQUEST alr WHERE LIQ_REQ_ID = @p_LIQ_REQ_ID) WHERE REQ_ID = @p_LIQ_REQ_ID AND DONE = 0 OR DONE = '' 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_LIQ_REQ_ID, -- 'APPROVE', -- @p_CHECKER_ID, -- GETDATE(), -- N'Trưởng đơn vị phê duyệt thành công' , -- N'Trưởng đơn vị phê duyệt' -- ) IF(@p_AUTH_STATUS = 'B') BEGIN UPDATE ASS_MASTER SET CURRENT_TRANS = @p_LIQ_REQ_ID, CURRENT_TRANS_TYPE = 'ASS_LIQ_REQ' WHERE ASSET_ID IN (SELECT ASSET_ID FROM ASS_LIQ_REQUEST_DT WHERE LIQ_REQ_ID = @p_LIQ_REQ_ID) END COMMIT TRANSACTION SELECT '0' as Result, '' ErrorDesc, @ROLEDVCM RoleDVCM, @ROLEGDDVCM RoleGDDVCM RETURN '0' ABORT: BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' ErrorDesc, @ROLEDVCM RoleDVCM, @ROLEGDDVCM RoleGDDVCM RETURN '-1' END ABORT2: BEGIN ROLLBACK TRANSACTION SELECT '-1' AS Result, N'Nội dung đề xuất không được để trống !' ErrorDesc RETURN '-1' END ABORT3: BEGIN ROLLBACK TRANSACTION SELECT '-1' AS Result, N'Xác nhận thất bại ! Trưởng đơn vị chuyên môn không được quyền xác nhận phiếu này ! Vui lòng chờ chuyên viên đơn vị chuyên môn xác nhận' ErrorDesc RETURN '-1' END GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_PENDING_ITEM_Searchnew]' GO ALTER PROCEDURE [dbo].[ASS_PENDING_ITEM_Searchnew] @p_CREATE_DT varchar(15) = NULL, @p_BRANCH_ID VARCHAR(15) = NULL, @p_BRANCH_LOGIN NVARCHAR(100) = NULL, @p_ASSET_TYPE VARCHAR(15) = NULL, @p_MAKER_ID VARCHAR(100) = NULL, @p_AUTH_STATUS VARCHAR(15) = NULL, @p_MODULE NVARCHAR(500) = NULL, @p_USER_LOGIN varchar(20) = NULL AS DECLARE @l_BRANCH_TYPE VARCHAR(15) SET @l_BRANCH_TYPE = (SELECT A.BRANCH_TYPE FROM CM_BRANCH A WHERE A.BRANCH_ID = @p_BRANCH_LOGIN) declare @tmp table(BRANCH_ID varchar(15)) insert into @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID) DECLARE @LISTTYPE TABLE(TRN_TYPE VARCHAR(50), DUONGDAN VARCHAR(500), PHANHE NVARCHAR(500)) INSERT INTO @LISTTYPE values ('ASS_ADDNEW', '/AssetManager/ASSAddNewList',N'Quản lý TSCĐ/CCLĐ') INSERT INTO @LISTTYPE values('ASS_USE', '/AssetManager/ASSUseList',N'Quản lý TSCĐ/CCLĐ') INSERT INTO @LISTTYPE values('ASS_TRANSFER', '/AssetManager/ASSTransferList',N'Quản lý TSCĐ/CCLĐ') INSERT INTO @LISTTYPE values('ASS_MASTER', '/AssetManager/ASSMasterList',N'Quản lý TSCĐ/CCLĐ') INSERT INTO @LISTTYPE values('ASS_COLLECT', '/AssetManager/ASSCollectList',N'Quản lý TSCĐ/CCLĐ') INSERT INTO @LISTTYPE values('ASS_GROUP', '/AssCommon/AssetGroupList',N'Quản lý danh mục') INSERT INTO @LISTTYPE values('ASS_AMORT', '/AssetManager/ASSAmort',N'Quản lý TSCĐ/CCLĐ') INSERT INTO @LISTTYPE values('ASS_UPDATE', '/AssetManager/ASSUpdateList',N'Quản lý TSCĐ/CCLĐ') BEGIN -- PAGING select A.*, BB.DUONGDAN DUONGDAN, BB.PHANHE PHANHE, CM.BRANCH_NAME -- SELECT END from ASS_PENDING_ITEM A LEFT JOIN CM_BRANCH CM ON A.BRANCH_CREATE= CM.BRANCH_ID LEFT JOIN @LISTTYPE BB ON A.TRAN_TYPE = BB.TRN_TYPE where --A.BRANCH_CREATE LIKE '%'+ @p_BRANCH_CREATE +'%' OR @p_BRANCH_CREATE = '' OR @p_BRANCH_CREATE IS NULL (A.MAKER_ID_KT LIKE '%'+ @p_MAKER_ID +'%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '') --AND(CM.BRANCH_NAME LIKE '%'+@p_BRANCH_NAME +'%' OR @p_BRANCH_NAME IS NULL OR @p_BRANCH_NAME='') AND (CONVERT(DATE,A.CREATE_DT_KT)= CONVERT(DATE,@p_CREATE_DT,103) OR @p_CREATE_DT IS NULL OR @p_CREATE_DT='') AND (A.AUTH_STATUS_KT =@p_AUTH_STATUS OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS ='') AND (BB.PHANHE = @p_MODULE OR @p_MODULE IS NULL OR @p_MODULE = '' OR @p_MODULE = N'---Tất cả---') AND ((A.BRANCH_CREATE IN (SELECT * FROM @tmp) OR @p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL) OR ((A.BRANCH_CREATE IS NULL OR A.BRANCH_CREATE = '') AND @l_BRANCH_TYPE = 'HS')) -- PAGING END END -- PAGING GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_LIQ_REQUEST_Upd]' GO ALTER PROCEDURE [dbo].[ASS_LIQ_REQUEST_Upd] @p_LIQ_REQ_ID VARCHAR(15) = NULL, @p_ASS_TYPE_ID varchar(15) = NULL, @p_REQ_DT VARCHAR(20) = NULL, @p_BRANCH_ID varchar(15) = NULL, @p_NOTES nvarchar(1000) = NULL, @p_RECORD_STATUS varchar(1) = NULL, @p_MAKER_ID varchar(12) = NULL, @p_CREATE_DT VARCHAR(20) = NULL, @p_AUTH_STATUS varchar(50) = NULL, @p_CHECKER_ID varchar(12) = NULL, @p_APPROVE_DT VARCHAR(20) = NULL, @p_LiqDetails XML = NULL, @p_ListCostCenter XML = NULL, @p_BRANCH_CREATE VARCHAR(15) = NULL, @p_DEP_ID VARCHAR(15) = NULL, @p_TERM_ID VARCHAR(15) = NULL, @p_HO_NOTES NVARCHAR(1000) = NULL, @p_USER_LOGIN VARCHAR(15) AS --Validation is here DECLARE @ERRORSYS NVARCHAR(15) = '' IF ( NOT EXISTS ( SELECT * FROM ASS_LIQ_REQUEST WHERE LIQ_REQ_ID= @p_LIQ_REQ_ID)) SET @ERRORSYS = '' IF @ERRORSYS <> '' BEGIN SELECT ErrorCode Result, '' LIQ_REQ_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS RETURN '0' END Declare @hdoc INT Exec sp_xml_preparedocument @hdoc Output,@p_LiqDetails --Them dieu kien kiem tra lý do de xuat khong duoc de trong DECLARE @reason NVARCHAR(max) = '' SELECT @reason = COALESCE(@reason + ', ', '') + ASSET_CODE FROM OPENXML(@hdoc,'/Root/LiquiDetail',2) WITH ( ASSET_ID varchar(15), LIQ_REASON nvarchar(1000), NOTES nvarchar(1000) , REQ_AMT DECIMAL(18,0), LIQ_RECEIVE NVARCHAR(500), BRANCH_USE VARCHAR(15), DEPT_USE VARCHAR(15), REMAIN_VALUE DECIMAL(18,0), ASSET_CODE varchar(100), IS_IMP varchar(15) ) WHERE LIQ_REASON = '' OR LIQ_REASON IS NULL IF @reason <> '' BEGIN SELECT '-1' as Result, '' LIQ_REQ_ID, N'Lý do đề xuất thanh lý không được để trống! DS tài sản: '+ @reason ErrorDesc RETURN '-1' END -------BO SUNG PHAN IMPORT TS TU FILE ----KIEM TRA TS IMPORT PHAI THUOC DON VI DA CHON declare @tmp table(BRANCH_ID varchar(15)) insert into @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID) DECLARE liqDetail CURSOR FOR SELECT B.DETAIL_ID, --A.ASSET_ID, B.ASSET_ID, B.LIQ_REASON, B.NOTES, B.REQ_AMT, B.LIQ_RECEIVE, --khanhnhd --(CASE WHEN IS_IMP = 'N' THEN B.BRANCH_USE ELSE B.ASSET_ID END) BRANCH_USE, --(CASE WHEN IS_IMP = 'N' THEN B.DEPT_USE ELSE B.ASSET_ID END) DEPT_USE, B.BRANCH_USE, B.DEPT_USE, --end khanhnhd B.REMAIN_VALUE FROM OPENXML(@hdoc,'/Root/LiquiDetail',2) WITH ( DETAIL_ID VARCHAR(15), ASSET_ID varchar(15), LIQ_REASON nvarchar(1000), NOTES nvarchar(1000) , REQ_AMT DECIMAL(18,0), LIQ_RECEIVE NVARCHAR(500), BRANCH_USE VARCHAR(15), DEPT_USE VARCHAR(15), REMAIN_VALUE DECIMAL(18,0), ASSET_CODE varchar(100), IS_IMP varchar(15) ) B --LAY MA TAI SAN --LEFT JOIN ASS_MASTER A ON A.ASSET_CODE = B.ASSET_CODE AND A.BRANCH_ID IN (SELECT C.* FROM @tmp C) OPEN liqDetail BEGIN TRANSACTION IF @p_APPROVE_DT = '' SET @p_APPROVE_DT = NULL SET @p_MAKER_ID = (SELECT alr.MAKER_ID FROM ASS_LIQ_REQUEST alr WHERE LIQ_REQ_ID = @p_LIQ_REQ_ID) UPDATE ASS_LIQ_REQUEST SET [ASS_TYPE_ID] = @p_ASS_TYPE_ID,[REQ_DT] = CONVERT(DATETIME, @p_REQ_DT, 103),[BRANCH_ID] = @p_BRANCH_ID,[NOTES] = @p_NOTES,[RECORD_STATUS] = @p_RECORD_STATUS,[CREATE_DT] = CONVERT(DATETIME, @p_CREATE_DT, 103),[AUTH_STATUS] = @p_AUTH_STATUS,[CHECKER_ID] = @p_CHECKER_ID,[APPROVE_DT] = CONVERT(DATETIME, @p_APPROVE_DT, 103), BRANCH_CREATE= @p_BRANCH_CREATE, TERM_ID = @p_TERM_ID,DEP_ID=@p_DEP_ID, HO_NOTES = @p_HO_NOTES WHERE LIQ_REQ_ID= @p_LIQ_REQ_ID IF @@Error <> 0 GOTO ABORT PRINT 'A' DELETE FROM ASS_LIQ_REQUEST_DT WHERE LIQ_REQ_ID = @p_LIQ_REQ_ID PRINT 'B' Declare @DETAIL_ID VARCHAR(15), @ASSET_ID VARCHAR(15), @LIQ_REASON NVARCHAR(1000),@NOTES NVARCHAR(1000), @REQ_AMT DECIMAL(18,0), @LIQ_RECEIVE NVARCHAR(500), @BRANCH_USE VARCHAR(15), @DEPT_USE VARCHAR(15), @REMAIN_VALUE DECIMAL(18,0) FETCH NEXT FROM liqDetail INTO @DETAIL_ID,@ASSET_ID, @LIQ_REASON, @NOTES, @REQ_AMT, @LIQ_RECEIVE,@BRANCH_USE, @DEPT_USE, @REMAIN_VALUE WHILE @@FETCH_STATUS = 0 BEGIN IF LEN (@DETAIL_ID) = 0 BEGIN PRINT 'C' EXEC SYS_CodeMasters_Gen 'ASS_LIQ_REQUEST_DT', @DETAIL_ID out IF @DETAIL_ID='' OR @DETAIL_ID IS NULL GOTO ABORT END PRINT @DETAIL_ID --print 'asset_id: ' + @ASSET_ID INSERT INTO ASS_LIQ_REQUEST_DT([LIQREQDT_ID],[LIQ_REQ_ID],[ASSET_ID],[LIQ_REASON],[NOTES],[RECORD_STATUS], [MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT], [REQ_AMT], [LIQ_RECEIVE], [BRANCH_USE], [DEPT_USE], [REMAIN_VALUE]) VALUES(@DETAIL_ID ,@p_LIQ_REQ_ID ,@ASSET_ID ,@LIQ_REASON ,@NOTES ,@p_RECORD_STATUS ,@p_MAKER_ID , CONVERT(DATETIME, @p_CREATE_DT, 103) ,@p_AUTH_STATUS ,@p_CHECKER_ID ,CONVERT(DATETIME, @p_APPROVE_DT, 103), @REQ_AMT, @LIQ_RECEIVE, @BRANCH_USE, @DEPT_USE, @REMAIN_VALUE ) IF @@Error <> 0 GOTO ABORT FETCH NEXT FROM liqDetail INTO @DETAIL_ID,@ASSET_ID, @LIQ_REASON, @NOTES, @REQ_AMT, @LIQ_RECEIVE,@BRANCH_USE, @DEPT_USE, @REMAIN_VALUE END CLOSE liqDetail DEALLOCATE liqDetail --khanhnhd cập nhật đơn vị chuyên môn Declare @hdocc INT Exec sp_xml_preparedocument @hdocc Output,@p_ListCostCenter DECLARE ConcenterDetaisls CURSOR FOR SELECT D.REQ_COST_ID, D.COST_ID, D.REQ_ID, D.ASS_STATUS, D.RE_CONTENT, D.NOTES, D.AUTH_STATUS FROM OPENXML(@hdocc,'/Root/ListCostCenter',2) WITH ( REQ_COST_ID varchar(15), COST_ID nvarchar(1000), REQ_ID nvarchar(1000), ASS_STATUS NVARCHAR(100), RE_CONTENT NVARCHAR(100), NOTES nvarchar(500), AUTH_STATUS NVARCHAR(500) )D OPEN ConcenterDetaisls Declare @REQ_COST_ID VARCHAR(15), @COST_ID NVARCHAR(1000), @REQ_ID NVARCHAR(1000), @ASS_STATUS NVARCHAR(100), @RE_CONTENT NVARCHAR(100), @AUTH_STATUS NVARCHAR(500) DELETE FROM TR_REQUEST_SHOP_COSTCENTER WHERE REQ_ID =@p_LIQ_REQ_ID FETCH NEXT FROM ConcenterDetaisls INTO @REQ_COST_ID, @COST_ID, @REQ_ID, @ASS_STATUS, @RE_CONTENT, @NOTES, @AUTH_STATUS WHILE @@FETCH_STATUS = 0 BEGIN DECLARE @l_REQ_COST_ID VARCHAR(15) EXEC SYS_CodeMasters_Gen 'TR_REQUEST_SHOP_COSTCENTER', @l_REQ_COST_ID out IF @l_REQ_COST_ID='' OR @l_REQ_COST_ID IS NULL GOTO ABORT IF(EXISTS(SELECT tugr.ROLE_ID FROM dbo.TL_USER_GET_ROLES(@p_USER_LOGIN) tugr WHERE ROLE_ID LIKE 'DVCM') AND @RE_CONTENT IS NULL) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' LIQ_REQ_ID, N'Nội dung đề xuất không được để trống!' ErrorDesc RETURN '-1' END INSERT INTO TR_REQUEST_SHOP_COSTCENTER([REQ_COST_ID],[COST_ID],[ASS_STATUS],[RE_CONTENT],[REQ_ID],[NOTES],[AUTH_STATUS]) VALUES(@l_REQ_COST_ID ,@COST_ID, @ASS_STATUS, @RE_CONTENT, @p_LIQ_REQ_ID, @NOTES, @AUTH_STATUS) IF @@Error <> 0 GOTO ABORT FETCH NEXT FROM ConcenterDetaisls INTO @REQ_COST_ID, @COST_ID, @REQ_ID, @ASS_STATUS, @RE_CONTENT, @NOTES, @AUTH_STATUS END CLOSE ConcenterDetaisls DEALLOCATE ConcenterDetaisls --end khanhnhd --INSERT DETAIL COMMIT TRANSACTION SELECT '0' as Result, @p_LIQ_REQ_ID LIQ_REQ_ID, @l_REQ_COST_ID REQ_COST_ID,'' ErrorDesc RETURN '0' ABORT: BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' LIQ_REQ_ID, '' ErrorDesc RETURN '-1' End GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_LIQUIDATION_BVB_KT_App]' GO ALTER PROCEDURE [dbo].[ASS_LIQUIDATION_BVB_KT_App] @P_LIQ_ID VARCHAR(15), @P_AUTH_STATUS_KT VARCHAR(1), @P_CHECKER_ID_KT VARCHAR(100), @P_APPROVE_DT_KT VARCHAR(20) AS BEGIN 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), getdate(), 103) DECLARE @l_LIQDT_ID VARCHAR(15) declare @l_LIQ_PRICE numeric(18,2) declare @l_DO_BRANCH_ID varchar(15) DECLARE @l_ASSET_CODE VARCHAR(25) declare @l_VALUE_ID varchar(15) DECLARE @l_ET_ID varchar(15) declare @l_TRN_REF_NO varchar(20) DECLARE @l_HO_BRN_ID varchar(15) declare @l_AMORTIZED_AMT numeric(18,2), @l_AMORTIZED_AMT_CL numeric(18,2) declare @l_AMORT_AMT numeric(18,2), @l_AMORT_AMT_CL numeric(18,2) declare @l_AMORT_REMAIN_AMT numeric(18,2) DECLARE @l_BUY_PRICE_REMAIN numeric(18,2) declare @l_BUY_PRICE numeric(18,2), @l_BUY_PRICE_CL numeric(18,2) DECLARE @l_TYPE_ID varchar(15) = NULL declare @l_GROUP_ID varchar(15) = NULL DECLARE @l_SUPPEND_GL varchar(50) DECLARE @l_ASSET_GL varchar(50), @l_LIQ_GL varchar(50), @l_INC_GL varchar(50), @l_AMORT_GL varchar(50) declare @l_ASSET_VALUE decimal(18,0) declare @l_AMORTDT_ID varchar(15) DECLARE @p_CORE_NOTE NVARCHAR(500) DECLARE @l_AMORT_DT_ID VARCHAR(15) DECLARE @l_AMORT_STATUS VARCHAR(20) DECLARE @l_EXP_TO_CORE VARCHAR(20) = 'Y' DECLARE @l_LIQ_TYPE VARCHAR(1), @l_BUY_PRICE_LIQ decimal(18,0)--@l_AMORT_LIQ VARCHAR(15) = 'DTL', DECLARE @l_LIQ_AMT DECIMAL(18,0) DECLARE @l_REQ_AMT DECIMAL(18,2) DECLARE @l_LIQ_PRICE_VAT DECIMAL(18,2) DECLARE @l_MONTLY_AMORT_AMT decimal(18,0), @l_AMORTIZED_MONTH DECIMAL(18,2), @l_NEW_FIRST_AMORT_AMT DECIMAL(18,0), @ERROR NVARCHAR(500) = '', @l_BRANCH_CREATE VARCHAR(15), @l_AMORT_MONTH DECIMAL(18,2), @l_AMORT_START_DATE datetime, @l_AMORT_END_DATE datetime DECLARE @l_GTCL DECIMAL(18,0) = 0 DECLARE @l_PRICE_VAT DECIMAL(18,0) = 0 DECLARE @INDEX INT =0 declare @l_CUR_AMORTIZED_AMT decimal(18,2) declare @l_IS_COLLECT BIT --Validation is here DECLARE @ERRORSYS NVARCHAR(15) = '' IF ( NOT EXISTS ( SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID = @P_LIQ_ID)) SET @ERRORSYS = 'ASSL-00001' IF @ERRORSYS <> '' BEGIN SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS RETURN '0' END ---THANH LY BANG TAY DECLARE @l_LIQ_NOTES NVARCHAR(500), @l_LIQ_DATE DATETIME --LAY DIEN GIAI HACH TOAN SELECT @p_CORE_NOTE = CORE_NOTE, @l_MAKER_ID = MAKER_ID_KT, @l_LIQ_NOTES = NOTES, @l_LIQ_DATE = CREATE_DT FROM ASS_LIQUIDATION WHERE LIQ_ID = @P_LIQ_ID IF (SELECT CHARINDEX('ATGETD',@l_LIQ_NOTES)) > 0 BEGIN SET @sToday = convert(varchar(10), @l_LIQ_DATE, 103) SET @P_APPROVE_DT_KT = @sToday END --BRN_ID HOI SO SELECT @l_HO_BRN_ID = BRANCH_ID FROM CM_BRANCH A WHERE A.BRANCH_TYPE = 'HS' --Lay suppend GL SELECT @l_SUPPEND_GL = A.ParaValue FROM SYS_PARAMETERS A WHERE A.ParaKey='ASSET_SUPPEND_GL' --Lay branch_id cua user duyet select @l_DO_BRANCH_ID = a.TLSUBBRID from TL_USER a where a.TLNANME = @P_CHECKER_ID_KT /***thieuvq 20/01/2015 them kiem tra khong cho CN thuc hien thanh ly TSCD**/ --IF(SELECT BRANCH_ID FROM ASS_LIQUIDATION WHERE LIQ_ID = @P_LIQ_ID) <> @l_HO_BRN_ID --BEGIN -- IF (EXISTS (SELECT * FROM ASS_LIQUIDATION_DT A LEFT JOIN ASS_MASTER B ON A.ASSET_ID = B.ASSET_ID WHERE A.LIQ_ID = @P_LIQ_ID AND B.TYPE_ID = 'TSCD' )) -- BEGIN -- SELECT 'ASSL-TLTSCD' Result, N'ĐƠN VỊ KHÔNG ĐƯỢC PHÉP THANH LÝ TSCĐ, VUI LÒNG XÓA TÀI SẢN LÀ TSCĐ KHỎI ĐỢT THANH LÝ TRƯỚC KHI DUYỆT' ErrorDesc -- RETURN '0' --END --END BEGIN TRANSACTION BEGIN --KIEM TRA NEU TINH TRANG DANG LA 'A' THI KHONG CHO PHEP DUYET IF(EXISTS(SELECT * FROM ASS_LIQUIDATION WHERE AUTH_STATUS_KT ='A' AND LIQ_ID =@P_LIQ_ID)) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' LIQ_ID, N'Phiếu thanh lý đã được duyệt trước đó.' ErrorDesc RETURN '-1' END --KIEM TRA NEU TINH TRANG DANG LA 'R' THI KHONG CHO PHEP DUYET IF(EXISTS(SELECT * FROM ASS_LIQUIDATION WHERE AUTH_STATUS_KT ='R' AND LIQ_ID =@P_LIQ_ID)) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' LIQ_ID, N'Thông tin thanh lý 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 --KIEM TRA NEU TINH TRANG DANG LA 'E' THI KHONG CHO PHEP DUYET IF(EXISTS(SELECT * FROM ASS_LIQUIDATION WHERE AUTH_STATUS_KT ='E' AND LIQ_ID =@P_LIQ_ID)) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' LIQ_ID, N'Thông tin thanh lý tài sản chưa được giao dịch viên xử lý. Vui lòng cập nhật lại thông tin trước khi duyệt' ErrorDesc RETURN '-1' END --APPROVE FOR MASTER UPDATE ASS_LIQUIDATION SET AUTH_STATUS_KT = @P_AUTH_STATUS_KT, CHECKER_ID_KT = @P_CHECKER_ID_KT, APPROVE_DT_KT = CONVERT(DATETIME,@P_APPROVE_DT_KT,103) WHERE LIQ_ID = @P_LIQ_ID --get all liqui detail DECLARE CUR CURSOR FOR SELECT A.LIQDT_ID,A.ASSET_ID FROM ASS_LIQUIDATION_DT A WHERE A.LIQ_ID = @P_LIQ_ID DECLARE @l_TRN_NO VARCHAR(15) EXEC ENTRIES_POST_GEN_NO @p_BRANCH_ID = 'DV0001' ,@p_TRN_DATE = @P_APPROVE_DT_KT ,@p_KeyGen = @l_TRN_NO OUT OPEN CUR FETCH NEXT FROM CUR INTO @l_LIQDT_ID, @l_ASSET_ID WHILE @@FETCH_STATUS = 0 BEGIN --Lay thong tin SELECT @l_ASSET_ID = A.ASSET_ID, --@l_DEPT_ID = DEPT_ID, --@l_EMP_ID = EMP_ID, --@l_LOCATION = LOCATION, @l_LIQ_AMT=A.LIQ_AMT_BE_VAT, @l_LIQ_PRICE = A.LIQ_PRICE, @l_LIQ_TYPE = LIQ_TYPE, @l_BUY_PRICE_LIQ = BUY_PRICE_LIQ, @l_REQ_AMT = A.REQ_AMT, @l_LIQ_PRICE_VAT = A.LIQ_PRICE_VAT FROM ASS_LIQUIDATION_DT A --INNER JOIN ASS_MASTER B ON A.ASSET_ID = B.ASSET_ID WHERE LIQDT_ID = @l_LIQDT_ID --LUCTV : 12-11-2018 KIEM TRA TAI SAN NAY DA DUOC THANH LY TOAN PHAN HAY CHUA SET @INDEX = @INDEX+1 IF(EXISTS(SELECT * FROM ASS_MASTER WHERE ASSET_ID = @l_ASSET_ID AND AMORT_STATUS ='DTL')) BEGIN CLOSE CUR DEALLOCATE CUR ROLLBACK TRANSACTION SELECT '-1' as Result, N' Dòng '+ CONVERT(VARCHAR(15),@INDEX)+N': Tài sản có mã '+ (SELECT ASSET_CODE FROM ASS_MASTER WHERE ASSET_ID = @l_ASSET_ID)+ N' đã được thanh lý' ErrorDesc RETURN '-1' END --lay group_id va type_id select @l_TYPE_ID = A.TYPE_ID, @l_GROUP_ID = ISNULL(A.REF_GROUP_ID,A.GROUP_ID), @l_AMORTIZED_AMT = A.AMORTIZED_AMT, @l_AMORT_AMT = A.AMORT_AMT, @l_BUY_PRICE = A.BUY_PRICE, @l_BRANCH_ID = A.BRANCH_ID, @l_DEPT_ID = A.DEPT_ID, --@l_NEW_MONTHLY_AMT = A.MONTHLY_AMORT_AMT,@l_NEW_FIRST_AMORT_AMT = A.FIRST_AMORT_AMT, @l_AMORT_STATUS = A.AMORT_STATUS,@l_AMORT_START_DATE = A.AMORT_START_DATE, @l_AMORT_END_DATE = A.AMORT_END_DATE, @l_AMORTIZED_MONTH = A.AMORTIZED_MONTH, @l_AMORT_MONTH = A.AMORT_MONTH, @l_BRANCH_CREATE = BRANCH_CREATE, @l_ASSET_CODE=A.ASSET_CODE, @l_PRICE_VAT = A.PRICE_VAT, @l_CUR_AMORTIZED_AMT = (A.AMORT_AMT - ISNULL(A.AMORTIZED_AMT,0)), @l_IS_COLLECT = A.IS_COLLECT from ASS_MASTER A where a.ASSET_ID = @l_ASSET_ID ---------------THIEUVQ 19102016 - TRUONG HOP VNM THANH LY, LAY BRANCH_ID = DV THUC HIEN THANH LY ----------- IF @l_AMORT_STATUS = 'VNM' BEGIN SET @l_BRANCH_ID = @l_BRANCH_CREATE SET @l_EXP_TO_CORE = 'N' END ------------------------------------------- --ASSET_GL SELECT @l_ASSET_GL = ASSET_ACCTNO, @l_LIQ_GL = LIQ_ACCTNO, @l_INC_GL = INC_ACCTNO, @l_AMORT_GL = AMORT_ACCTNO FROM ASS_GROUP A WHERE A.GROUP_ID = @l_GROUP_ID --print 'l1' + @l_ASSET_GL --print 'l2' + @l_AMORT_GL --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 /*************-----------------------THIEUVQ 19102016 - THANH LY 1 PHAN---------------------------*******/ IF @l_LIQ_TYPE = '0' BEGIN --SET @l_AMORT_LIQ = @l_AMORT_STATUS DECLARE @TILE FLOAT = 1.00*@l_BUY_PRICE_LIQ/@l_BUY_PRICE --GIA TRI GIAM SET @l_BUY_PRICE_CL = ROUND(@l_BUY_PRICE*@TILE,0) SET @l_AMORTIZED_AMT_CL = ROUND(@l_AMORTIZED_AMT*@TILE,0) SET @l_AMORT_AMT_CL = ROUND(@l_AMORT_AMT*@TILE,0) --GIA TRI SAU KHI GIAM SET @l_BUY_PRICE = ROUND(@l_BUY_PRICE*(1.00 - @TILE),0) SET @l_AMORTIZED_AMT = ROUND(@l_AMORTIZED_AMT*(1.00 - @TILE),0) SET @l_AMORT_AMT = ROUND(@l_AMORT_AMT*(1.00 - @TILE),0) --NEU CON KHAU HAO THI TINH LAI GIA TRI PHAN BO HANG THANG IF @l_AMORT_STATUS IN ('DKH', 'CKH') BEGIN --IF (@l_AMORTIZED_MONTH = 0) --Chua chay khau hao thi phai tinh lai khau hao cua thang dau tien --BEGIN -- SET @l_MONTLY_AMORT_AMT = ROUND((@l_AMORT_AMT - @l_AMORTIZED_AMT) / @l_AMORT_MONTH, -3) -- SET @l_NEW_FIRST_AMORT_AMT = ROUND(@l_MONTLY_AMORT_AMT/dbo.[FN_GetDaysInMonth](@l_AMORT_START_DATE) * (DATEDIFF(day,@l_AMORT_START_DATE, dbo.FN_GetLastDayOfMonth(@l_AMORT_START_DATE)) + 1), -3) --END --ELSE --BEGIN -- --thieuvq - sua lai doan tinh khau hao -- --TINH LAI SO KY KHAU HAO TINH THEO NGAY DUYET -- DECLARE @l_KY_KHAU_HAO_CL FLOAT -- DECLARE @l_NGAY_DUYET DATE = CONVERT(DATE,@P_APPROVE_DT_KT,103) -- SET @l_NGAY_DUYET = CONVERT(VARCHAR(10),YEAR(@l_NGAY_DUYET)) + '-'+CONVERT(VARCHAR(10),MONTH(@l_NGAY_DUYET)) + '-'+ '1' -- SET @l_KY_KHAU_HAO_CL = round((datepart(day,@l_AMORT_END_DATE)*1.0/dbo.[FN_GetDaysInMonth](@l_AMORT_END_DATE)),2) -- --THIEUVQ COMMENT 29072015 -- --IF @l_KY_KHAU_HAO_CL = 1 SET @l_KY_KHAU_HAO_CL = DATEDIFF(MM, @l_NGAY_DUYET, @l_AMORT_END_DATE) -- --ELSE -- SET @l_KY_KHAU_HAO_CL = DATEDIFF(MM, @l_NGAY_DUYET, @l_AMORT_END_DATE) + @l_KY_KHAU_HAO_CL -- --KIEM TRA THANG DUYET NAY DA CHAY KHAU HAO CHUA, NEU DA CHAY KHAU HAO ROI THI GIAM DI 1 SO KY KH CON LAI -- IF EXISTS (SELECT * FROM ASS_AMORT WHERE AMORT_TERM = CONVERT(VARCHAR(5),MONTH(@l_NGAY_DUYET))+'/'+CONVERT(VARCHAR(5),YEAR(@l_NGAY_DUYET)) -- AND ASSET_TYPE = 'TSCD') -- BEGIN SET @l_KY_KHAU_HAO_CL = @l_KY_KHAU_HAO_CL - 1 END -- --SET @l_NEW_MONTHLY_AMT = ROUND((@l_NEW_AMORT_AMT - @l_AMORTIZED_AMT)/ @l_NEW_AMORT_MONTH, -3) -- SET @l_MONTLY_AMORT_AMT = ROUND((@l_AMORT_AMT - @l_AMORTIZED_AMT)/ @l_KY_KHAU_HAO_CL, -3) -- --SET @l_NEW_FIRST_AMORT_AMT = @l_OLD_FIRST_AMORT_AMT --END ------TINH LAI SO TIEN KHAU HAO HANG THANG DECLARE @l_NGAY_DUYET DATE = CONVERT(DATE,@P_APPROVE_DT_KT,103) DECLARE @l_KY_KHAU_HAO_CL INT = DATEDIFF(MONTH, @l_NGAY_DUYET, @l_AMORT_END_DATE) SET @l_MONTLY_AMORT_AMT = ROUND((@l_AMORT_AMT - @l_AMORTIZED_AMT) / @l_KY_KHAU_HAO_CL, 0) SET @l_NEW_FIRST_AMORT_AMT = @l_MONTLY_AMORT_AMT END IF(@l_BUY_PRICE=0) BEGIN UPDATE ASS_MASTER SET [AMORT_STATUS] ='DTL', LIQ_W_STATUS = '1', AMORTIZED_AMT = @l_AMORTIZED_AMT, LIQUIDATION_DT = CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), APPROVE_DT = CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), BUY_PRICE = @l_BUY_PRICE, AMORT_AMT = @l_AMORT_AMT, MONTHLY_AMORT_AMT = @l_MONTLY_AMORT_AMT, FIRST_AMORT_AMT = @l_NEW_FIRST_AMORT_AMT WHERE ASSET_ID = @l_ASSET_ID END ELSE BEGIN UPDATE ASS_MASTER SET -- [AMORT_STATUS] = @l_AMORT_STATUS, AMORTIZED_AMT = @l_AMORTIZED_AMT, --LIQUIDATION_DT = CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), APPROVE_DT = CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), BUY_PRICE = @l_BUY_PRICE, AMORT_AMT = @l_AMORT_AMT, MONTHLY_AMORT_AMT = @l_MONTLY_AMORT_AMT, FIRST_AMORT_AMT = @l_NEW_FIRST_AMORT_AMT WHERE ASSET_ID = @l_ASSET_ID END IF @@Error <> 0 GOTO ABORT --GAN GIA TRI DE HACH TOAN GIAM SET @l_BUY_PRICE = @l_BUY_PRICE_CL SET @l_AMORTIZED_AMT = @l_AMORTIZED_AMT_CL SET @l_AMORT_AMT = @l_AMORT_AMT_CL SET @l_CUR_AMORTIZED_AMT=@l_AMORT_AMT-@l_AMORTIZED_AMT END ELSE BEGIN UPDATE ASS_MASTER SET [AMORT_STATUS] = 'DTL', LIQ_W_STATUS = '1', AMORTIZED_AMT = @l_AMORT_AMT, --khau hao het, LIQUIDATION_DT = CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), APPROVE_DT = CONVERT(DATETIME, @P_APPROVE_DT_KT, 103) WHERE ASSET_ID = @l_ASSET_ID IF @@Error <> 0 GOTO ABORT END DECLARE @l_BRANCH_CODE VARCHAR(25),@l_PAY_HS_ACCTNO VARCHAR(25),@l_COL_LIQ_ACCTNO VARCHAR(25),@l_ETP_ID VARCHAR(25),@l_PAY_LIQ_ACCTNO VARCHAR(25),@l_COL_LIQ_CCLD VARCHAR(25),@l_PAY_LIQ_CCLD VARCHAR(25) SET @l_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID) SET @l_BUY_PRICE_REMAIN=@l_BUY_PRICE-@l_AMORTIZED_AMT SET @l_PAY_HS_ACCTNO = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='PAY_HS') SET @l_COL_LIQ_ACCTNO = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='LIQ_TSCD') SET @l_PAY_LIQ_ACCTNO = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='LIQ_TSCD_PAY') SET @l_COL_LIQ_CCLD = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='LIQ_CCLD') SET @l_PAY_LIQ_CCLD = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='LIQ_CCLD_PAY') DECLARE @AMORT_CCLD VARCHAR(20) = (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = '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 @VAT_ACCNO VARCHAR(20) = (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'ACC_VAT_NEC') -----------hach toan khi thanh ly TS IF (@l_TYPE_ID = 'TSCD') BEGIN ---- TSCD HẾT KHẤU HAO IF @l_CUR_AMORTIZED_AMT = 0 BEGIN ---- Thanh lý 0 đồng (KHÔNG THU TIỀN) IF(@l_LIQ_AMT = 0) BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'LIQ', @l_LIQDT_ID, @l_DO_BRANCH_ID, @l_ASSET_GL , @l_BRANCH_ID, @l_AMORT_GL, @l_BRANCH_ID , @l_AMORTIZED_AMT, @l_EXP_TO_CORE, @sToday, @p_CORE_NOTE, @l_MAKER_ID, @P_CHECKER_ID_KT,@P_LIQ_ID,--N'THANH LY 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_LIQ_ID ,@l_BRANCH_CODE , @l_AMORT_GL, 'VND', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_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_LIQ_ID ,@l_BRANCH_CODE , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); END ELSE IF(@l_LIQ_AMT > 0) --- -- THANH LÝ CÓ THU TIỀN BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'LIQ', @l_LIQDT_ID, @l_DO_BRANCH_ID, @l_ASSET_GL , @l_BRANCH_ID, @l_AMORT_GL, @l_BRANCH_ID , @l_AMORTIZED_AMT, @l_EXP_TO_CORE, @sToday, @p_CORE_NOTE, @l_MAKER_ID, @P_CHECKER_ID_KT,@P_LIQ_ID,--N'THANH LY 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_LIQ_ID ,@l_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'D', @l_REQ_AMT,1, @l_REQ_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_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_LIQ_ID ,@l_BRANCH_CODE , @l_COL_LIQ_ACCTNO, 'VND', 'C', @l_LIQ_AMT,1, @l_LIQ_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); IF(@l_LIQ_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_LIQ_ID ,@l_BRANCH_CODE , @VAT_ACCNO, 'VND', 'C', @l_LIQ_PRICE_VAT,1, @l_LIQ_PRICE_VAT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); END ---------------------------------- EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'LIQ', @l_LIQDT_ID, @l_DO_BRANCH_ID, @l_ASSET_GL , @l_BRANCH_ID, @l_AMORT_GL, @l_BRANCH_ID , @l_AMORTIZED_AMT, @l_EXP_TO_CORE, @sToday, @p_CORE_NOTE, @l_MAKER_ID, @P_CHECKER_ID_KT,@P_LIQ_ID,--N'THANH LY 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_LIQ_ID ,@l_BRANCH_CODE , @l_AMORT_GL, 'VND', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_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_LIQ_ID ,@l_BRANCH_CODE , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); END END ---- TSCD CÒN KHẤU HAO ELSE IF @l_CUR_AMORTIZED_AMT > 0 BEGIN IF(@l_LIQ_AMT > @l_CUR_AMORTIZED_AMT) --- -- THANH LÝ Lời BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'LIQ', @l_LIQDT_ID, @l_DO_BRANCH_ID, @l_ASSET_GL , @l_BRANCH_ID, @l_AMORT_GL, @l_BRANCH_ID , @l_AMORTIZED_AMT, @l_EXP_TO_CORE, @sToday, @p_CORE_NOTE, @l_MAKER_ID, @P_CHECKER_ID_KT,@P_LIQ_ID,--N'THANH LY 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_LIQ_ID ,@l_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'D', @l_REQ_AMT-@l_CUR_AMORTIZED_AMT,1, @l_REQ_AMT-@l_CUR_AMORTIZED_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_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_LIQ_ID ,@l_BRANCH_CODE , @l_COL_LIQ_ACCTNO, 'VND', 'C', @l_LIQ_AMT - @l_CUR_AMORTIZED_AMT,1, @l_LIQ_AMT - @l_CUR_AMORTIZED_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); IF(@l_LIQ_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_LIQ_ID ,@l_BRANCH_CODE , @VAT_ACCNO, 'VND', 'C', @l_LIQ_PRICE_VAT,1, @l_LIQ_PRICE_VAT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); END ----------------- TẤT TOÁN ------------------------ EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'LIQ', @l_LIQDT_ID, @l_DO_BRANCH_ID, @l_ASSET_GL , @l_BRANCH_ID, @l_AMORT_GL, @l_BRANCH_ID , @l_AMORTIZED_AMT, @l_EXP_TO_CORE, @sToday, @p_CORE_NOTE, @l_MAKER_ID, @P_CHECKER_ID_KT,@P_LIQ_ID,--N'THANH LY 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_LIQ_ID ,@l_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'D', @l_CUR_AMORTIZED_AMT,1, @l_CUR_AMORTIZED_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_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_LIQ_ID ,@l_BRANCH_CODE , @l_AMORT_GL, 'VND', 'D', ISNULL(@l_AMORTIZED_AMT, 0),1, ISNULL(@l_AMORTIZED_AMT, 0), @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_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_LIQ_ID ,@l_BRANCH_CODE , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); END IF(@l_LIQ_AMT < @l_CUR_AMORTIZED_AMT) ------- THanh lý LỖ BEGIN IF(@l_LIQ_PRICE_VAT > 0) BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'LIQ', @l_LIQDT_ID, @l_DO_BRANCH_ID, @l_ASSET_GL , @l_BRANCH_ID, @l_AMORT_GL, @l_BRANCH_ID , @l_AMORTIZED_AMT, @l_EXP_TO_CORE, @sToday, @p_CORE_NOTE, @l_MAKER_ID, @P_CHECKER_ID_KT,@P_LIQ_ID,--N'THANH LY 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_LIQ_ID ,@l_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'D', @l_LIQ_PRICE_VAT,1, @l_LIQ_PRICE_VAT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_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_LIQ_ID ,@l_BRANCH_CODE , @VAT_ACCNO, 'VND', 'C', @l_LIQ_PRICE_VAT,1, @l_LIQ_PRICE_VAT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); END ---------------------------------------- EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'LIQ', @l_LIQDT_ID, @l_DO_BRANCH_ID, @l_ASSET_GL , @l_BRANCH_ID, @l_AMORT_GL, @l_BRANCH_ID , @l_AMORTIZED_AMT, @l_EXP_TO_CORE, @sToday, @p_CORE_NOTE, @l_MAKER_ID, @P_CHECKER_ID_KT,@P_LIQ_ID,--N'THANH LY 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_LIQ_ID ,@l_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'D', @l_BUY_PRICE - (@l_CUR_AMORTIZED_AMT - @l_LIQ_AMT) - (ISNULL(@l_AMORTIZED_AMT, 0)),1, @l_BUY_PRICE - (@l_CUR_AMORTIZED_AMT - @l_LIQ_AMT) - (ISNULL(@l_AMORTIZED_AMT, 0)), @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_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_LIQ_ID ,@l_BRANCH_CODE , @l_AMORT_GL, 'VND', 'D', ISNULL(@l_AMORTIZED_AMT, 0),1, ISNULL(@l_AMORTIZED_AMT, 0), @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_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_LIQ_ID ,@l_BRANCH_CODE , @l_PAY_LIQ_ACCTNO, 'VND', 'D',@l_CUR_AMORTIZED_AMT - @l_LIQ_AMT, 1, @l_CUR_AMORTIZED_AMT - @l_LIQ_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_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_LIQ_ID ,@l_BRANCH_CODE , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); END ELSE IF(@l_LIQ_AMT = @l_CUR_AMORTIZED_AMT) --- -- THANH LÝ = GTCL BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'LIQ', @l_LIQDT_ID, @l_DO_BRANCH_ID, @l_ASSET_GL , @l_BRANCH_ID, @l_AMORT_GL, @l_BRANCH_ID , @l_AMORTIZED_AMT, @l_EXP_TO_CORE, @sToday, @p_CORE_NOTE, @l_MAKER_ID, @P_CHECKER_ID_KT,@P_LIQ_ID,--N'THANH LY 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_LIQ_ID ,@l_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'D', @l_CUR_AMORTIZED_AMT,1, @l_CUR_AMORTIZED_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_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_LIQ_ID ,@l_BRANCH_CODE , @l_AMORT_GL, 'VND', 'D', ISNULL(@l_AMORTIZED_AMT, 0),1, ISNULL(@l_AMORTIZED_AMT, 0), @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_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_LIQ_ID ,@l_BRANCH_CODE , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); IF(@l_LIQ_PRICE_VAT > 0) BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'LIQ', @l_LIQDT_ID, @l_DO_BRANCH_ID, @l_ASSET_GL , @l_BRANCH_ID, @l_AMORT_GL, @l_BRANCH_ID , @l_AMORTIZED_AMT, @l_EXP_TO_CORE, @sToday, @p_CORE_NOTE, @l_MAKER_ID, @P_CHECKER_ID_KT,@P_LIQ_ID,--N'THANH LY 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_LIQ_ID ,@l_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'D', @l_LIQ_PRICE_VAT,1, @l_LIQ_PRICE_VAT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_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_LIQ_ID ,@l_BRANCH_CODE , @VAT_ACCNO, 'VND', 'C', @l_LIQ_PRICE_VAT,1, @l_LIQ_PRICE_VAT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); END END END END ELSE ---- CCLD ---- BEGIN IF((@l_BRANCH_ID IS NOT NULL AND @l_BRANCH_ID <> '') AND (@l_IS_COLLECT = 0 OR @l_IS_COLLECT IS NULL)) ------ CCLD ĐANG SỬ DỤNG BEGIN ------ THANH LÝ CCLD KHÔNG THU TIỀN IF(@l_LIQ_AMT = 0) BEGIN IF @l_CUR_AMORTIZED_AMT = 0 --Neu gia tri khau hao phân bổ hết thì không phát sinh BEGIN PRINT 'KHONG PHAT SINH' END ELSE IF @l_CUR_AMORTIZED_AMT > 0 --Neu gia tri khau hao chưa phân bổ hết BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'LIQ', @l_LIQDT_ID, @l_DO_BRANCH_ID, @l_ASSET_GL , @l_BRANCH_ID, @l_AMORT_GL, @l_BRANCH_ID , @l_AMORTIZED_AMT, @l_EXP_TO_CORE, @sToday, @p_CORE_NOTE, @l_MAKER_ID, @P_CHECKER_ID_KT,@P_LIQ_ID,--N'THANH LY 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_LIQ_ID ,@l_BRANCH_CODE , @l_PAY_LIQ_CCLD, 'VND', 'D', @l_AMORT_AMT - @l_AMORTIZED_AMT,1, @l_AMORT_AMT - @l_AMORTIZED_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_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_LIQ_ID ,@l_BRANCH_CODE , @AMORT_CCLD, 'VND', 'C', @l_AMORT_AMT - @l_AMORTIZED_AMT,1, @l_AMORT_AMT - @l_AMORTIZED_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); END END ELSE IF(@l_LIQ_AMT > 0) --- -- THANH LÝ CÓ THU TIỀN BEGIN IF @l_CUR_AMORTIZED_AMT = 0 --Neu gia tri khau hao phân bổ hết BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'LIQ', @l_LIQDT_ID, @l_DO_BRANCH_ID, @l_ASSET_GL , @l_BRANCH_ID, @l_AMORT_GL, @l_BRANCH_ID , @l_AMORTIZED_AMT, @l_EXP_TO_CORE, @sToday, @p_CORE_NOTE, @l_MAKER_ID, @P_CHECKER_ID_KT,@P_LIQ_ID,--N'THANH LY TSCD/CCLD' @l_ET_ID OUT --- NỢ HS 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_LIQ_ID ,@l_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'D', (@l_LIQ_AMT + @l_LIQ_PRICE_VAT),1, (@l_LIQ_AMT + @l_LIQ_PRICE_VAT), @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); -- CÓ 790001002 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_LIQ_ID ,@l_BRANCH_CODE , @l_COL_LIQ_CCLD, 'VND', 'C', @l_LIQ_AMT,1, @l_LIQ_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); IF(@l_LIQ_PRICE_VAT > 0) BEGIN -- CÓ 453101001 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_LIQ_ID ,@l_BRANCH_CODE , @VAT_ACCNO, 'VND', 'C', @l_LIQ_PRICE_VAT,1, @l_LIQ_PRICE_VAT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); END END ELSE IF @l_CUR_AMORTIZED_AMT > 0 --Neu gia tri khau hao chưa phân bổ hết BEGIN ---- Thanh lý lỗ IF(@l_LIQ_AMT < @l_CUR_AMORTIZED_AMT) BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'LIQ', @l_LIQDT_ID, @l_DO_BRANCH_ID, @l_ASSET_GL , @l_BRANCH_ID, @l_AMORT_GL, @l_BRANCH_ID , @l_AMORTIZED_AMT, @l_EXP_TO_CORE, @sToday, @p_CORE_NOTE, @l_MAKER_ID, @P_CHECKER_ID_KT,@P_LIQ_ID,--N'THANH LY TSCD/CCLD' @l_ET_ID OUT --- NỢ HS 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_LIQ_ID ,@l_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'D', @l_REQ_AMT,1, @l_REQ_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); -- NO 8990 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_LIQ_ID ,@l_BRANCH_CODE , @l_PAY_LIQ_CCLD, 'VND', 'D', (@l_CUR_AMORTIZED_AMT - @l_LIQ_AMT),1, (@l_CUR_AMORTIZED_AMT - @l_LIQ_AMT), @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); -- CÓ 3880 remain value 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_LIQ_ID ,@l_BRANCH_CODE , @AMORT_CCLD, 'VND', 'C', @l_CUR_AMORTIZED_AMT,1, @l_CUR_AMORTIZED_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); --------------------- IF(@l_LIQ_PRICE_VAT > 0) BEGIN EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT -- CÓ 4531 vat dau ra 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_LIQ_ID ,@l_BRANCH_CODE , @VAT_ACCNO, 'VND', 'C', @l_LIQ_PRICE_VAT,1, @l_LIQ_PRICE_VAT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); END END ELSE IF(@l_LIQ_AMT > @l_CUR_AMORTIZED_AMT) ---- Thanh lý lời BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'LIQ', @l_LIQDT_ID, @l_DO_BRANCH_ID, @l_ASSET_GL , @l_BRANCH_ID, @l_AMORT_GL, @l_BRANCH_ID , @l_AMORTIZED_AMT, @l_EXP_TO_CORE, @sToday, @p_CORE_NOTE, @l_MAKER_ID, @P_CHECKER_ID_KT,@P_LIQ_ID,--N'THANH LY TSCD/CCLD' @l_ET_ID OUT --- NỢ HS 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_LIQ_ID ,@l_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'D', @l_REQ_AMT,1, @l_REQ_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); -- NO 7990 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_LIQ_ID ,@l_BRANCH_CODE , @l_COL_LIQ_CCLD, 'VND', 'C', (@l_LIQ_AMT - @l_CUR_AMORTIZED_AMT),1, (@l_LIQ_AMT - @l_CUR_AMORTIZED_AMT), @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); -- CÓ 3880 remain value 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_LIQ_ID ,@l_BRANCH_CODE , @AMORT_CCLD, 'VND', 'C', @l_CUR_AMORTIZED_AMT,1, @l_CUR_AMORTIZED_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); --------------------- IF(@l_LIQ_PRICE_VAT > 0) BEGIN EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT -- CÓ 4531 remain value 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_LIQ_ID ,@l_BRANCH_CODE , @VAT_ACCNO, 'VND', 'C', @l_LIQ_PRICE_VAT,1, @l_LIQ_PRICE_VAT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); END END ELSE IF(@l_LIQ_AMT = @l_CUR_AMORTIZED_AMT) ---- Thanh lý không lời lổ BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'LIQ', @l_LIQDT_ID, @l_DO_BRANCH_ID, @l_ASSET_GL , @l_BRANCH_ID, @l_AMORT_GL, @l_BRANCH_ID , @l_AMORTIZED_AMT, @l_EXP_TO_CORE, @sToday, @p_CORE_NOTE, @l_MAKER_ID, @P_CHECKER_ID_KT,@P_LIQ_ID,--N'THANH LY TSCD/CCLD' @l_ET_ID OUT --- NỢ HS 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_LIQ_ID ,@l_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'D', @l_REQ_AMT,1, @l_REQ_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); -- CÓ 3880 remain value 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_LIQ_ID ,@l_BRANCH_CODE , @AMORT_CCLD, 'VND', 'C', @l_CUR_AMORTIZED_AMT,1, @l_CUR_AMORTIZED_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); IF(@l_LIQ_PRICE_VAT > 0) BEGIN -- CÓ 4531 remain value 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_LIQ_ID ,@l_BRANCH_CODE , @VAT_ACCNO, 'VND', 'C', @l_LIQ_PRICE_VAT,1, @l_LIQ_PRICE_VAT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); END END END END END ELSE IF((@l_BRANCH_ID IS NULL OR @l_BRANCH_ID = '') OR @l_IS_COLLECT = 1)--------- CCLD ĐANG THU HỒI OR TRONG KHO BEGIN ------ THANH LÝ CCLD KHÔNG THU TIỀN IF(@l_LIQ_AMT = 0) BEGIN IF @l_CUR_AMORTIZED_AMT = 0 --Neu gia tri khau hao phân bổ hết thì không phát sinh BEGIN PRINT 'KHONG PHAT SINH' END ELSE IF @l_CUR_AMORTIZED_AMT > 0 --Neu gia tri khau hao chưa phân bổ hết BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'LIQ', @l_LIQDT_ID, @l_DO_BRANCH_ID, @l_ASSET_GL , @l_BRANCH_ID, @l_AMORT_GL, @l_BRANCH_ID , @l_AMORTIZED_AMT, @l_EXP_TO_CORE, @sToday, @p_CORE_NOTE, @l_MAKER_ID, @P_CHECKER_ID_KT,@P_LIQ_ID,--N'THANH LY 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_LIQ_ID ,@l_BRANCH_CODE , @l_PAY_LIQ_CCLD, 'VND', 'D', @l_AMORT_AMT - @l_AMORTIZED_AMT,1, @l_AMORT_AMT - @l_AMORTIZED_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_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_LIQ_ID ,@l_BRANCH_CODE , @BW_AMORT_CCLD, 'VND', 'C', @l_AMORT_AMT - @l_AMORTIZED_AMT,1, @l_AMORT_AMT - @l_AMORTIZED_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); END END ELSE IF(@l_LIQ_AMT > 0) --- -- THANH LÝ CÓ THU TIỀN BEGIN IF @l_CUR_AMORTIZED_AMT = 0 --Neu gia tri khau hao phân bổ hết BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'LIQ', @l_LIQDT_ID, @l_DO_BRANCH_ID, @l_ASSET_GL , @l_BRANCH_ID, @l_AMORT_GL, @l_BRANCH_ID , @l_AMORTIZED_AMT, @l_EXP_TO_CORE, @sToday, @p_CORE_NOTE, @l_MAKER_ID, @P_CHECKER_ID_KT,@P_LIQ_ID,--N'THANH LY TSCD/CCLD' @l_ET_ID OUT --- NỢ HS 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_LIQ_ID ,@l_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'D', (@l_LIQ_AMT + @l_LIQ_PRICE_VAT),1, (@l_LIQ_AMT + @l_LIQ_PRICE_VAT), @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); -- CÓ 790001002 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_LIQ_ID ,@l_BRANCH_CODE , @l_COL_LIQ_CCLD, 'VND', 'C', @l_LIQ_AMT,1, @l_LIQ_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); IF(@l_LIQ_PRICE_VAT > 0) BEGIN -- CÓ 453101001 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_LIQ_ID ,@l_BRANCH_CODE , @VAT_ACCNO, 'VND', 'C', @l_LIQ_PRICE_VAT,1, @l_LIQ_PRICE_VAT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); END END ELSE IF @l_CUR_AMORTIZED_AMT > 0 --Neu gia tri khau hao chưa phân bổ hết BEGIN ---- Thanh lý lỗ IF(@l_LIQ_AMT < @l_CUR_AMORTIZED_AMT) BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'LIQ', @l_LIQDT_ID, @l_DO_BRANCH_ID, @l_ASSET_GL , @l_BRANCH_ID, @l_AMORT_GL, @l_BRANCH_ID , @l_AMORTIZED_AMT, @l_EXP_TO_CORE, @sToday, @p_CORE_NOTE, @l_MAKER_ID, @P_CHECKER_ID_KT,@P_LIQ_ID,--N'THANH LY TSCD/CCLD' @l_ET_ID OUT --- NỢ HS 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_LIQ_ID ,@l_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'D', @l_REQ_AMT,1, @l_LIQ_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); -- NO 8990 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_LIQ_ID ,@l_BRANCH_CODE , @l_PAY_LIQ_CCLD, 'VND', 'D', (@l_CUR_AMORTIZED_AMT - @l_LIQ_AMT),1, (@l_CUR_AMORTIZED_AMT - @l_LIQ_AMT), @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); -- CÓ 3880 remain value 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_LIQ_ID ,@l_BRANCH_CODE , @BW_AMORT_CCLD, 'VND', 'C', @l_CUR_AMORTIZED_AMT,1, @l_CUR_AMORTIZED_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); --------------------- IF(@l_LIQ_PRICE_VAT > 0) BEGIN -- CÓ 4531 vat dau ra 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_LIQ_ID ,@l_BRANCH_CODE , @VAT_ACCNO, 'VND', 'C', @l_LIQ_PRICE_VAT,1, @l_LIQ_PRICE_VAT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); END END ELSE IF(@l_LIQ_AMT > @l_CUR_AMORTIZED_AMT) ---- Thanh lý lời BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'LIQ', @l_LIQDT_ID, @l_DO_BRANCH_ID, @l_ASSET_GL , @l_BRANCH_ID, @l_AMORT_GL, @l_BRANCH_ID , @l_AMORTIZED_AMT, @l_EXP_TO_CORE, @sToday, @p_CORE_NOTE, @l_MAKER_ID, @P_CHECKER_ID_KT,@P_LIQ_ID,--N'THANH LY TSCD/CCLD' @l_ET_ID OUT --- NỢ HS 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_LIQ_ID ,@l_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'D', @l_REQ_AMT,1, @l_REQ_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); -- NO 7990 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_LIQ_ID ,@l_BRANCH_CODE , @l_COL_LIQ_CCLD, 'VND', 'C', (@l_LIQ_AMT - @l_CUR_AMORTIZED_AMT),1, (@l_LIQ_AMT - @l_CUR_AMORTIZED_AMT), @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); -- CÓ 3880 remain value 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_LIQ_ID ,@l_BRANCH_CODE , @BW_AMORT_CCLD, 'VND', 'C', @l_CUR_AMORTIZED_AMT,1, @l_CUR_AMORTIZED_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); --------------------- IF(@l_LIQ_PRICE_VAT > 0) BEGIN -- CÓ 4531 remain value 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_LIQ_ID ,@l_BRANCH_CODE , @VAT_ACCNO, 'VND', 'C', @l_LIQ_PRICE_VAT,1, @l_LIQ_PRICE_VAT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); END END ELSE IF(@l_LIQ_AMT = @l_CUR_AMORTIZED_AMT) ---- Thanh lý không lời lổ BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'LIQ', @l_LIQDT_ID, @l_DO_BRANCH_ID, @l_ASSET_GL , @l_BRANCH_ID, @l_AMORT_GL, @l_BRANCH_ID , @l_AMORTIZED_AMT, @l_EXP_TO_CORE, @sToday, @p_CORE_NOTE, @l_MAKER_ID, @P_CHECKER_ID_KT,@P_LIQ_ID,--N'THANH LY TSCD/CCLD' @l_ET_ID OUT --- NỢ HS 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_LIQ_ID ,@l_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'D', @l_REQ_AMT,1, @l_REQ_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); -- CÓ 3880 remain value 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_LIQ_ID ,@l_BRANCH_CODE , @BW_AMORT_CCLD, 'VND', 'C', @l_CUR_AMORTIZED_AMT,1, @l_CUR_AMORTIZED_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); IF(@l_LIQ_PRICE_VAT > 0) BEGIN -- CÓ 4531 remain value 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_LIQ_ID ,@l_BRANCH_CODE , @VAT_ACCNO, 'VND', 'C', @l_LIQ_PRICE_VAT,1, @l_LIQ_PRICE_VAT, @l_ASSET_CODE,CONVERT(DATETIME, @P_APPROVE_DT_KT, 103), @l_MAKER_ID, @P_CHECKER_ID_KT, '', @p_CORE_NOTE, @l_TRN_NO); END END END END END END --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, @l_LIQDT_ID, 'ASS_LIQ', CONVERT(DATETIME, @sToday, 103), '1', 'A', -- @l_MAKER_ID, CONVERT(DATETIME, @sToday, 103), @P_CHECKER_ID_KT, CONVERT(DATETIME, @P_APPROVE_DT_KT, 103) --) --IF @@Error <> 0 GOTO ABORT --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_HO_BRN_ID, CONVERT(datetime, @sToday, 103), 'D', @l_BUY_PRICE, N'THANH LY TSCD/CCLD', @l_LIQDT_ID, 'ASS_LIQ', '1','A',@l_MAKER_ID, CONVERT(datetime, @sToday, 103), @P_CHECKER_ID_KT, CONVERT(datetime, @sToday, 103), @l_AMORT_AMT ) IF @@Error <> 0 GOTO ABORT --THIEUVQ THEM PHAN NAY PHUC VU BAO CAO TSCD_BC03 --GHI NHAN HET KHAU HAO KHI THUC HIEN THANH LY SET @l_AMORT_DT_ID = '' EXEC SYS_CodeMasters_Gen 'ASS_AMORT_DT', @l_AMORT_DT_ID OUT IF @l_AMORT_DT_ID='' OR @l_AMORT_DT_ID IS NULL GOTO ABORT INSERT INTO ASS_AMORT_DT ( AMORTDT_ID,AMORT_ID,AMORT_DT,CRDR,BRANCH_ID,DEP_ID,ASSET_ID,AMORT_AMT,GROUP_ID,EXECUTED,TRN_TYPE,TRN_DESC ) VALUES ( @l_AMORT_DT_ID,NULL,CONVERT(datetime, @sToday, 103),'D' ,@l_BRANCH_ID, @l_DEPT_ID,@l_ASSET_ID,@l_AMORTIZED_AMT, NULL, --Khong chay khau hao theo group '1', 'AMORT', 'THANH LY TSCD - CCLD' ) IF @@Error <> 0 GOTO ABORT -------- FETCH NEXT FROM CUR INTO @l_LIQDT_ID,@l_ASSET_ID END CLOSE CUR DEALLOCATE CUR END UPDATE ASS_LIQ_REQUEST SET IS_DONE = 1 WHERE LIQ_REQ_ID IN (SELECT * FROM STRING_SPLIT(( SELECT LIST_LIQ_REQUEST FROM ASS_LIQUIDATION WHERE LIQ_ID = @P_LIQ_ID),',')) UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL WHERE ASSET_ID IN (SELECT ALD.ASSET_ID FROM ASS_LIQUIDATION_DT ALD WHERE ALD.LIQ_ID = @P_LIQ_ID) -- GIANT Insert to table PL_PROCESS INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @P_LIQ_ID, 'APPROVE', @P_CHECKER_ID_KT, GETDATE(), N'Kiểm soát viên phê duyệt', N'Kiểm soát viên phê duyệt hoàn tất' ) COMMIT TRANSACTION SELECT '0' as Result, '' ErrorDesc RETURN '0' ABORT: BEGIN CLOSE CUR DEALLOCATE CUR ROLLBACK TRANSACTION SELECT '-1' as Result, @ERROR ErrorDesc RETURN '-1' End END GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_PRIVATE_TRANSFER_MASTER_Ins]' GO ALTER PROCEDURE [dbo].[ASS_PRIVATE_TRANSFER_MASTER_Ins] @p_BRANCH_ID varchar(15) = NULL, @p_TRANSFER_DT VARCHAR(100) = 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(100) = NULL, @p_CHECKER_ID varchar(100) = NULL, @p_APPROVE_DT VARCHAR(100) = NULL, @p_AUTH_STATUS_KT varchar(15) = NULL, @p_CREATE_DT_KT varchar(100) = NULL, @p_APPROVE_DT_KT VARCHAR(100) = 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 /* */ DECLARE @ASSET_ID varchar(15), @BRANCH_ID varchar(15), @DEPT_ID varchar(15), @EMP_ID varchar(15), @LOCATION varchar(500), @DESCRIPTION nvarchar(1000), @BRANCH_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), BRANCH_ID varchar(15), DEPT_ID varchar(15), EMP_ID 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_PRIVATE_TRANSFER_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_PRIVATE_TRANSFER_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]) 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) IF @@Error <> 0 GOTO ABORT DECLARE @COUNT INT; SET @COUNT = 1; --Insert XmlData FETCH NEXT FROM XmlData INTO @ASSET_ID,@BRANCH_ID,@DEPT_ID,@EMP_ID,@LOCATION,@DESCRIPTION, @REMAIN_VALUE, @BUY_PRICE WHILE @@FETCH_STATUS = 0 BEGIN DECLARE @ERRORSYS NVARCHAR(200) = '',@ASSET_CODE nVARCHAR(100) SELECT @EMP_ID_OLD = A.EMP_ID, @BRANCH_ID = A.BRANCH_ID, @DEPT_ID = A.DEPT_ID FROM ASS_MASTER A WHERE A.ASSET_ID = @ASSET_ID DECLARE @l_TRANSFER_MULTI_ID VARCHAR(15) EXEC SYS_CodeMasters_Gen 'ASS_PRIVATE_TRANSFER_DT', @l_TRANSFER_MULTI_ID out IF @l_TRANSFER_MULTI_ID='' OR @l_TRANSFER_MULTI_ID IS NULL GOTO ABORT INSERT INTO ASS_PRIVATE_TRANSFER_DT([TRANSFER_MULTI_ID],[TRANS_MULTI_MASTER_ID],[ASSET_ID],[BRANCH_ID],[DEPT_ID],[EMP_ID],[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], [BRANCH_ID_OLD], [DEPT_ID_OLD], [EMP_ID_OLD], REMAIN_VALUE,BUY_PRICE) VALUES(@l_TRANSFER_MULTI_ID ,@l_TRANS_MULTI_MASTER_ID ,@ASSET_ID ,@BRANCH_ID ,@DEPT_ID ,@EMP_ID ,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', @BRANCH_ID, @DEPT_ID , @EMP_ID_OLD, @REMAIN_VALUE,@BUY_PRICE) IF @@Error <> 0 GOTO ABORT SET @COUNT = @COUNT + 1; FETCH NEXT FROM XmlData INTO @ASSET_ID,@BRANCH_ID,@DEPT_ID,@EMP_ID,@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'Đơn vị tạo phiếu', -- PROCESS_DESC - nvarchar(1000) N'Thêm mới phiều điều chuyển thành công' ) 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_Upd]' GO ALTER PROCEDURE [dbo].[TR_REQUEST_SHOP_DOC_Upd] @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_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_LISTASSET XML = NULL, @p_ListCostCenter XML, @p_REQ_TYPE varchar(10) = NULL, @p_REQ_CONTENT NVARCHAR(1000)=NULL, @p_BRANCH_ID VARCHAR(15)=NULL, @p_DEP_ID VARCHAR(15)=NULL, @p_CURRENT_URI VARCHAR(500)=NULL, @p_PL_CODE VARCHAR(50) = NULL --PHUCVH 14/11/22 BỔ SUNG SỐ TỜ TRÌNH AS DECLARE @sErrorCode VARCHAR(20) IF @sErrorCode <> '' BEGIN SELECT ErrorCode Result, '' REQ_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @sErrorCode RETURN '0' END Declare @hdoc INT Exec sp_xml_preparedocument @hdoc Output,@p_LISTASSET DECLARE AssetDetail CURSOR FOR SELECT * FROM OPENXML(@hdoc,'/Root/AssetDetail',2) WITH ( REQDT_ID VARCHAR(15), PLAN_ID varchar(15) , TRADE_ID varchar(15) , ASS_GROUP_ID varchar(15) , [DESCRIPTION] nvarchar(500), UNIT_ID varchar(15) , QUANTITY decimal(18) , PRICE decimal(18) , TOTAL_AMT decimal(18), NOTES nvarchar(1000), RECEIVE_BRANCH varchar(15), RECEIVE_ADDR nvarchar(1000), RECEIVE_PERSON nvarchar(500), RECEIVE_TEL varchar(100), RECEIVE_SUBBRANCH varchar(20), RECEIVE_DEP varchar(20), RECEIVE_EMAIL nvarchar(200), REQ_DT_TYPE VARCHAR(20), QTY_ETM DECIMAL(18,0), EMP_CODE VARCHAR(15), EMP_ID VARCHAR(15), TYPE_XL VARCHAR(50), DO_EMAIL VARCHAR(200), ASS_ID VARCHAR(20), REASON NVARCHAR(1200) ) OPEN AssetDetail SET @p_DEP_ID=(SELECT SECUR_CODE FROM dbo.TL_USER WHERE TLNANME=@p_MAKER_ID) IF(@p_BRANCH_ID <> 'DV0001') SET @p_DEP_ID = NULL PRINT 'PASS KHOI TAO' DECLARE @STATUS VARCHAR(15) = (SELECT STATUS FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID= @p_REQ_ID) BEGIN TRANSACTION IF(@p_REQ_NAME IS NULL OR @p_REQ_NAME='' ) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' REQ_ID, N'Tên PYC bắt buộc nhập' ErrorDesc RETURN '-1' END -- IF(@p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT='' ) -- BEGIN -- ROLLBACK TRANSACTION -- SELECT '-1' as Result, '' REQ_ID, N'Nội dung PYC bắt buộc nhập' ErrorDesc -- RETURN '-1' -- END --insert master BEGIN IF(@STATUS = 'NEW') SET @p_AUTH_STATUS = 'E' IF(@STATUS = 'QLTS_NL' OR @STATUS = 'QLTS_N') BEGIN UPDATE TR_REQUEST_SHOP_DOC SET [REQ_CONTENT]=@p_REQ_CONTENT ,[REQ_NAME] = @p_REQ_NAME ,[NOTES] = @p_NOTES,[AUTH_STATUS] = 'U' ,PL_CODE = @p_PL_CODE WHERE REQ_ID= @p_REQ_ID END ELSE BEGIN UPDATE TR_REQUEST_SHOP_DOC SET [REQ_TYPE] = @p_REQ_TYPE,[REQ_CONTENT]=@p_REQ_CONTENT,[REQ_NAME] = @p_REQ_NAME, [NOTES] = @p_NOTES,[RECORD_STATUS] = @p_RECORD_STATUS,DEP_ID = @p_DEP_ID,[AUTH_STATUS] = @p_AUTH_STATUS,[CHECKER_ID] = @p_CHECKER_ID,[APPROVE_DT] = CONVERT(DATETIME, @p_APPROVE_DT, 103),[BRANCH_ID]=@p_BRANCH_ID ,PL_CODE = @p_PL_CODE WHERE REQ_ID= @p_REQ_ID END IF (@STATUS = 'REJECT') BEGIN UPDATE TR_REQUEST_SHOP_DOC SET STATUS = 'NEW', AUTH_STATUS = 'E' WHERE REQ_ID= @p_REQ_ID UPDATE PL_REQUEST_PROCESS SET [STATUS]='P' WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID='REJECT' INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],BRANCH_ID,PARENT_PROCESS_ID,DEP_ID, CHECKER_ID) VALUES(@p_REQ_ID,'ADDNEW','C',@p_BRANCH_ID,'',@p_DEP_ID, @p_MAKER_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,'APPNEW','U','GDDV',@p_BRANCH_ID,'ADDNEW',@p_DEP_ID, 'Approve') -- IF(@p_BRANCH_ID='DV0001') -- BEGIN -- UPDATE PL_REQUEST_PROCESS SET [STATUS]='P' WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID='ADDNEW' -- UPDATE PL_REQUEST_PROCESS SET [STATUS]='P' WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID='APPNEW' -- --GỬI QLTS -- INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID, DEP_ID) -- VALUES(@p_REQ_ID,'QLTS_N','C','QLTS','DV0001','APPNEW', 'DEP000000000048') -- UPDATE TR_REQUEST_SHOP_DOC SET [STATUS]='QLTS_N', AUTH_STATUS = 'U' WHERE REQ_ID=@p_REQ_ID -- END INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_REQ_ID, 'UPDATE', @p_MAKER_ID, GETDATE(), N'Cập nhật phiếu bị từ chối', N'Nhân viên tạo phiếu cập nhật sau từ chối' ) END END IF @@Error <> 0 GOTO ABORT PRINT 'UPD MASTER SUCCESS' --insert asset detail tương đương như NỘI DUNG trong bảng contract detail Declare @REQDT_ID VARCHAR(15), @PLAN_ID varchar(15), @TRADE_ID varchar(15), @ASS_GROUP_ID varchar(15), @DESCRIPTION nvarchar(500), @UNIT_ID varchar(15), @QUANTITY decimal(18), @PRICE decimal(18), @TOTAL_AMT decimal(18), @NOTES nvarchar(1000), @REQ_ID varchar(15) = NULL, @RECEIVE_BRANCH varchar(15)=NULL, @RECEIVE_ADDR nvarchar(1000)=NULL, @RECEIVE_PERSON nvarchar(500)=NULL, @RECEIVE_TEL varchar(100)=NULL, @RECEIVE_SUBBRANCH varchar(20), @RECEIVE_DEP varchar(20), @RECEIVE_EMAIL nvarchar(200), @REQ_DT_TYPE VARCHAR(20), @QTY_ETM DECIMAL(18,0), @EMP_CODE VARCHAR(15), @EMP_ID VARCHAR(15), @TYPE_XL VARCHAR(50), @DO_EMAIL VARCHAR(200), @ASS_ID VARCHAR(20), @REASON NVARCHAR(1200) IF(@STATUS = 'QLTS_NL') BEGIN DELETE FROM TR_REQUEST_SHOP_DOC_DT WHERE REQ_DOC_ID = @p_REQ_ID AND (REQ_DT_TYPE = 'BUYNEW' OR REQ_DT_TYPE = 'XKSD') END ELSE IF(@STATUS = 'NEW' OR @STATUS = 'REJECT') BEGIN DELETE FROM TR_REQUEST_SHOP_DOC_DT WHERE REQ_DOC_ID = @p_REQ_ID AND (REQ_DT_TYPE = 'ORGINAL' OR REQ_DT_TYPE = 'ASSET_BROKEN') END ELSE DELETE FROM TR_REQUEST_SHOP_DOC_DT WHERE REQ_DOC_ID = @p_REQ_ID AND REQ_DT_TYPE <> 'ASSET_BROKEN' FETCH NEXT FROM AssetDetail INTO @REQDT_ID,@PLAN_ID,@TRADE_ID,@ASS_GROUP_ID,@DESCRIPTION,@UNIT_ID,@QUANTITY, @PRICE,@TOTAL_AMT,@NOTES, @RECEIVE_BRANCH, @RECEIVE_ADDR, @RECEIVE_PERSON, @RECEIVE_TEL,@RECEIVE_SUBBRANCH ,@RECEIVE_DEP,@RECEIVE_EMAIL,@REQ_DT_TYPE, @QTY_ETM ,@EMP_CODE,@EMP_ID,@TYPE_XL,@DO_EMAIL,@ASS_ID,@REASON WHILE @@FETCH_STATUS = 0 BEGIN DECLARE @l_REQDT_ID VARCHAR(15) EXEC SYS_CodeMasters_Gen 'TR_REQUEST_SHOP_DOC_DT', @l_REQDT_ID out IF @l_REQDT_ID='' OR @l_REQDT_ID IS NULL GOTO ABORT -- IF(@EMP_ID IS NULL OR @EMP_ID='' ) -- BEGIN -- ROLLBACK TRANSACTION -- SELECT '-1' as Result, @p_REQ_ID REQ_ID, N'Người sử dụng bắt buộc nhập' ErrorDesc -- RETURN '-1' -- END -- IF(@RECEIVE_EMAIL IS NULL OR @RECEIVE_EMAIL='' AND @REQ_DT_TYPE <> 'ASSET_BROKEN') -- BEGIN -- ROLLBACK TRANSACTION -- SELECT '-1' as Result, @p_REQ_ID REQ_ID, N'Email người nhận bắt buộc nhập' ErrorDesc -- RETURN '-1' -- END IF(@QTY_ETM IS NULL AND @REQ_DT_TYPE <> 'ASSET_BROKEN') BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, @p_REQ_ID REQ_ID, N'Số lượng bắt buộc nhập' ErrorDesc RETURN '-1' END IF((SELECT COUNT(*) FROM TR_REQUEST_SHOP_DOC_DT WHERE TRADE_ID = @p_REQ_ID AND ASS_GROUP_ID = @ASS_GROUP_ID) > 0) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, @p_REQ_ID REQ_ID, N'Nhóm tài sản chọn không thể trùng nhau' ErrorDesc RETURN '-1' END IF(@REQ_DT_TYPE = 'ASSET_BROKEN' AND NOT EXISTS(SELECT * FROM TR_REQUEST_SHOP_DOC_DT TRSDD WHERE TRSDD.ASS_ID = @ASS_ID AND TRSDD.REQ_DOC_ID = @p_REQ_ID)) BEGIN INSERT INTO TR_REQUEST_SHOP_DOC_DT(REQDT_ID,REQ_DOC_ID,PLAN_ID,TRADE_ID,ASS_GROUP_ID,[DESCRIPTION],UNIT_ID, QUANTITY,PRICE,TOTAL_AMT,NOTES, RECEIVE_BRANCH, RECEIVE_ADDR, RECEIVE_PERSON, RECEIVE_TEL,RECORD_STATUS, MAKER_ID,CREATE_DT,AUTH_STATUS,CHECKER_ID,APPROVE_DT,RECEIVE_SUBBRANCH,RECEIVE_DEP,RECEIVE_EMAIL ,REQ_DT_TYPE,QTY_ETM,EMP_CODE,EMP_ID,TYPE_XL,REASON,ASS_ID) VALUES(@l_REQDT_ID,@p_REQ_ID,@PLAN_ID,@TRADE_ID,@ASS_GROUP_ID,@DESCRIPTION,@UNIT_ID, @QUANTITY,@PRICE,@TOTAL_AMT,@NOTES, @RECEIVE_BRANCH, @RECEIVE_ADDR, @RECEIVE_PERSON, @RECEIVE_TEL,@p_RECORD_STATUS, @p_MAKER_ID,CONVERT(DATETIME, @p_CREATE_DT, 103),@p_AUTH_STATUS,@p_CHECKER_ID,CONVERT(DATETIME, @p_APPROVE_DT, 103) ,@RECEIVE_SUBBRANCH,@RECEIVE_DEP,@RECEIVE_EMAIL,@REQ_DT_TYPE,@QTY_ETM ,@EMP_CODE,@EMP_ID,@TYPE_XL,@REASON,@ASS_ID) END ELSE BEGIN INSERT INTO TR_REQUEST_SHOP_DOC_DT(REQDT_ID,REQ_DOC_ID,PLAN_ID,TRADE_ID,ASS_GROUP_ID,[DESCRIPTION],UNIT_ID, QUANTITY,PRICE,TOTAL_AMT,NOTES, RECEIVE_BRANCH, RECEIVE_ADDR, RECEIVE_PERSON, RECEIVE_TEL,RECORD_STATUS, MAKER_ID,CREATE_DT,AUTH_STATUS,CHECKER_ID,APPROVE_DT,RECEIVE_SUBBRANCH,RECEIVE_DEP,RECEIVE_EMAIL ,REQ_DT_TYPE,QTY_ETM,EMP_CODE,EMP_ID,TYPE_XL,REASON,ASS_ID) VALUES(@l_REQDT_ID,@p_REQ_ID,@PLAN_ID,@TRADE_ID,@ASS_GROUP_ID,@DESCRIPTION,@UNIT_ID, @QUANTITY,@PRICE,@TOTAL_AMT,@NOTES, @RECEIVE_BRANCH, @RECEIVE_ADDR, @RECEIVE_PERSON, @RECEIVE_TEL,@p_RECORD_STATUS, @p_MAKER_ID,CONVERT(DATETIME, @p_CREATE_DT, 103),@p_AUTH_STATUS,@p_CHECKER_ID,CONVERT(DATETIME, @p_APPROVE_DT, 103) ,@RECEIVE_SUBBRANCH,@RECEIVE_DEP,@RECEIVE_EMAIL,@REQ_DT_TYPE,@QTY_ETM ,@EMP_CODE,@EMP_ID,@TYPE_XL,@REASON,@ASS_ID) END IF @@ERROR <> 0 GOTO ABORT -- next Group_Id FETCH NEXT FROM AssetDetail INTO @REQDT_ID,@PLAN_ID,@TRADE_ID,@ASS_GROUP_ID,@DESCRIPTION,@UNIT_ID,@QUANTITY, @PRICE,@TOTAL_AMT,@NOTES, @RECEIVE_BRANCH, @RECEIVE_ADDR, @RECEIVE_PERSON, @RECEIVE_TEL,@RECEIVE_SUBBRANCH ,@RECEIVE_DEP,@RECEIVE_EMAIL,@REQ_DT_TYPE, @QTY_ETM ,@EMP_CODE,@EMP_ID,@TYPE_XL,@DO_EMAIL,@ASS_ID,@REASON END CLOSE AssetDetail DEALLOCATE AssetDetail IF(EXISTS(SELECT * FROM TR_REQUEST_SHOP_DOC TRSD WHERE TRSD.REQ_ID = @p_REQ_ID AND TRSD.STATUS = 'NEW' OR TRSD.STATUS = 'REJECT' OR TRSD.STATUS = 'QLTS_N')) BEGIN IF(@STATUS <> 'QLTS_NL') BEGIN Declare @hdoc2 INT Declare @l_NOTES NVARCHAR(MAX), @l_AUTH_STATUS VARCHAR(5), @COST_ID varchar(15), @REQ_COST_ID varchar(15) Exec sp_xml_preparedocument @hdoc2 Output,@p_ListCostCenter DECLARE ListCostCenters CURSOR FOR SELECT * FROM OPENXML(@hdoc2,'/Root/ListCostCenter',2) WITH ( REQ_COST_ID VARCHAR(15), COST_ID varchar(15), AUTH_STATUS VARCHAR(5), NOTES nvarchar(MAX) ) OPEN ListCostCenters DELETE TR_REQUEST_SHOP_COSTCENTER WHERE REQ_ID = @p_REQ_ID FETCH NEXT FROM ListCostCenters INTO @REQ_COST_ID,@COST_ID,@l_AUTH_STATUS, @l_NOTES WHILE @@FETCH_STATUS = 0 BEGIN BEGIN EXEC SYS_CodeMasters_Gen 'TR_REQUEST_SHOP_COSTCENTER', @REQ_COST_ID out IF @REQ_COST_ID='' OR @REQ_COST_ID IS NULL GOTO ABORT INSERT INTO dbo.TR_REQUEST_SHOP_COSTCENTER ( REQ_COST_ID, COST_ID, REQ_ID, NOTES, AUTH_STATUS, MAKER_ID, CREATE_DT, CHECKER_ID, APPROVE_DT ) VALUES ( @REQ_COST_ID, -- REQ_COST_ID - varchar(15) @COST_ID, -- COST_ID - varchar(15) @p_REQ_ID, -- REQ_ID - varchar(15) @l_NOTES, -- NOTES - nvarchar(500) 'E', -- AUTH_STATUS - varchar(1) NULL, -- MAKER_ID - varchar(15) GETDATE(), -- CREATE_DT - datetime '', -- CHECKER_ID - varchar(15) NULL -- APPROVE_DT - datetime ) END IF @@ERROR <> 0 GOTO ABORT2 -- next Group_Id FETCH NEXT FROM ListCostCenters INTO @REQ_COST_ID,@COST_ID,@l_AUTH_STATUS, @l_NOTES END CLOSE ListCostCenters DEALLOCATE ListCostCenters END END COMMIT TRANSACTION SELECT '0' as Result, @p_REQ_ID REQ_ID, '' ErrorDesc RETURN '0' ABORT: BEGIN CLOSE AssetDetail DEALLOCATE AssetDetail ROLLBACK TRANSACTION SELECT '-1' AS RESULT RETURN '-1' End ABORT2: BEGIN CLOSE ListCostCenters DEALLOCATE ListCostCenters ROLLBACK TRANSACTION SELECT '-1' AS RESULT RETURN '-1' End GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_PRIVATE_TRANSFER_MASTER_Upd]' GO ALTER PROCEDURE [dbo].[ASS_PRIVATE_TRANSFER_MASTER_Upd] @p_TRANS_MULTI_MASTER_ID varchar(15) = null , @p_BRANCH_ID varchar(15) = NULL , @p_TRANSFER_DT VARCHAR(100) = 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(100) = NULL, @p_CHECKER_ID varchar(100) = NULL , @p_APPROVE_DT VARCHAR(100) = NULL, @p_AUTH_STATUS_KT varchar(100) = NULL , @p_CREATE_DT_KT varchar(100) = NULL, @p_APPROVE_DT_KT VARCHAR(100) = 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 DECLARE @TRANSFER_MULTI_ID varchar(15), @ASSET_ID varchar(15), @BRANCH_ID varchar(15), @DEPT_ID varchar(15), @EMP_ID varchar(15), @LOCATION varchar(500), @DESCRIPTION nvarchar(1000), @BRANCH_ID_OLD varchar(15), @DEPT_ID_OLD varchar(15), @EMP_ID_OLD varchar(15), @REMAIN_VALUE DECIMAL(18,0), @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 ( TRANSFER_MULTI_ID varchar(15), ASSET_ID varchar(15), BRANCH_ID varchar(15), DEPT_ID varchar(15), EMP_ID varchar(15), LOCATION varchar(500), [DESCRIPTION] nvarchar(1000), REMAIN_VALUE DECIMAL(18,0), BUY_PRICE DECIMAL(18,0) ) OPEN XmlData DELETE FROM ASS_PRIVATE_TRANSFER_DT WHERE TRANS_MULTI_MASTER_ID = @p_TRANS_MULTI_MASTER_ID BEGIN TRANSACTION UPDATE ASS_PRIVATE_TRANSFER_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),[REPORT_STATUS] = @p_REPORT_STATUS WHERE TRANS_MULTI_MASTER_ID= @p_TRANS_MULTI_MASTER_ID IF @@Error <> 0 GOTO ABORT DECLARE @COUNT INT; SET @COUNT = 1; --Insert XmlData FETCH NEXT FROM XmlData INTO @TRANSFER_MULTI_ID,@ASSET_ID,@BRANCH_ID,@DEPT_ID,@EMP_ID,@LOCATION,@DESCRIPTION, @REMAIN_VALUE, @BUY_PRICE WHILE @@FETCH_STATUS = 0 BEGIN DECLARE @ERRORSYS NVARCHAR(200) = '',@ASSET_CODE nVARCHAR(100) EXEC SYS_CodeMasters_Gen 'ASS_PRIVATE_TRANSFER_DT', @TRANSFER_MULTI_ID out IF @TRANSFER_MULTI_ID='' OR @TRANSFER_MULTI_ID IS NULL GOTO ABORT SELECT @EMP_ID_OLD = A.EMP_ID, @BRANCH_ID = A.BRANCH_ID, @DEPT_ID = A.DEPT_ID FROM ASS_MASTER A WHERE A.ASSET_ID = @ASSET_ID INSERT INTO ASS_PRIVATE_TRANSFER_DT([TRANSFER_MULTI_ID],[TRANS_MULTI_MASTER_ID],[ASSET_ID],[BRANCH_ID],[DEPT_ID],[EMP_ID],[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], [BRANCH_ID_OLD], [DEPT_ID_OLD], [EMP_ID_OLD], [REMAIN_VALUE], BUY_PRICE) VALUES(@TRANSFER_MULTI_ID ,@p_TRANS_MULTI_MASTER_ID ,@ASSET_ID ,@BRANCH_ID ,@DEPT_ID ,@EMP_ID ,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', @BRANCH_ID, @DEPT_ID , @EMP_ID_OLD,@REMAIN_VALUE, @BUY_PRICE) IF @@Error <> 0 GOTO ABORT SET @COUNT = @COUNT + 1; FETCH NEXT FROM XmlData INTO @TRANSFER_MULTI_ID,@ASSET_ID,@BRANCH_ID,@DEPT_ID,@EMP_ID,@LOCATION,@DESCRIPTION, @REMAIN_VALUE, @BUY_PRICE 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, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime N'Đơn vị cập nhật phiếu' , N'Cập nhật phiếu điều chuyể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, '' TRANS_MULTI_MASTER_ID, '' ErrorDesc RETURN '-1' End GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_LIQUIDATION_BVB_KT_Upd]' GO ALTER PROCEDURE [dbo].[ASS_LIQUIDATION_BVB_KT_Upd] @p_LIQUIDATION_ID VARCHAR(15) = NULL, @p_BUY_COMPANY_ID Nvarchar(500) = NULL, @p_BUY_PRICE decimal(18) = NULL, @p_NOTES nvarchar(1000) = NULL, @p_CONTENTSMINUTES nvarchar(1000) = NULL, @p_CORE_NOTE nvarchar(500) = 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_LiqDetails XML = NULL, @p_BRANCH_ID VARCHAR(15) = NULL, @p_AUTH_STATUS_KT varchar(15) = NULL, @p_MAKER_ID_KT varchar(100) = NULL, @p_CREATE_DT_KT varchar(100) = NULL, @p_CHECKER_ID_KT varchar(100) = NULL, @p_APPROVE_DT_KT varchar(20) = NULL AS --IF EXISTS(SELECT * FROM PL_MASTER WHERE [PLAN_CODE]=@p_PLAN_CODE) --BEGIN -- SELECT ErrorCode Result, '' PLAN_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = 'PL-00003' -- RETURN '0' --END Declare @hdoc INT Exec sp_xml_preparedocument @hdoc Output,@p_LiqDetails DECLARE liqDetail CURSOR FOR SELECT * FROM OPENXML(@hdoc,'/Root/LiquiDetail',2) WITH ( LIQDT_ID VARCHAR(15), ASSET_ID varchar(15), LIQ_PRICE decimal(18,0), LIQ_TYPE varchar(1), REMAIN_VALUE decimal(18,0), BUY_PRICE decimal(18,0), BUY_PRICE_LIQ decimal(18,0), LIQ_AMT decimal(18,0), REMAIN_AMORTIZED_AMT decimal(18,0), ASSET_CODE VARCHAR(30), LIQ_REASON NVARCHAR(1000), NOTE NVARCHAR(500), REQ_AMT DECIMAL(18, 0), BRANCH_ID_USE VARCHAR(50), DEPT_ID_USE VARCHAR(50), LIQ_REQ_ID VARCHAR(50), ASS_AMORTIZED_MONTH DECIMAL, ASS_AMORTIZED_AMT DECIMAL, LIQ_VAT DECIMAL, LIQ_PRICE_VAT DECIMAL, LIQ_AMT_BE_VAT DECIMAL ) OPEN liqDetail -- Kiem tra ma ke hoach co ton tai hay chua 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-------------- UPDATE ASS_LIQUIDATION SET [BUY_COMPANY_ID] = @p_BUY_COMPANY_ID,[BUY_PRICE] = @p_BUY_PRICE, [NOTES] = @p_NOTES,CORE_NOTE=@p_CORE_NOTE,[RECORD_STATUS] = @p_RECORD_STATUS, BRANCH_ID=@p_BRANCH_ID,[CONTENTSMINUTES] = @p_CONTENTSMINUTES, --AUTH_STATUS_KT = @p_AUTH_STATUS_KT, MAKER_ID_KT=@p_MAKER_ID_KT, CREATE_DT_KT =CONVERT(DATE,@p_CREATE_DT_KT,103), --CHECKER_ID_KT =CHECKER_ID_KT, --APPROVE_DT_KT =CONVERT(DATE,@p_APPROVE_DT_KT,103), ---LUCTV: 24-12-2018 BO SUNG CAP NHAT AUTH_STATUS =U. AUTH_STATUS_KT='E' WHERE LIQ_ID= @p_LIQUIDATION_ID IF @@Error <> 0 GOTO ABORT1 Declare @LIQDT_ID VARCHAR(15), @ASSET_ID varchar(15), @LIQ_PRICE decimal(18,0),@LIQ_TYPE varchar(1), @REMAIN_VALUE decimal(18,0),@LIQ_REASON NVARCHAR(1000), @BUY_PRICE decimal(18,0),@REQ_AMT decimal(18,0), @BRANCH_ID_USE VARCHAR(50),@DEPT_ID_USE VARCHAR(50),@ASSET_CODE VARCHAR(30),@LIQ_REQ_ID VARCHAR(50), @BUY_PRICE_LIQ decimal(18,0),@LIQ_AMT decimal(18,0),@REMAIN_AMORTIZED_AMT decimal(18,0), @NOTE NVARCHAR(500), @ASS_AMORTIZED_MONTH DECIMAL, @ASS_AMORTIZED_AMT DECIMAL, @LIQ_VAT DECIMAL, @LIQ_PRICE_VAT DECIMAL, @LIQ_AMT_BE_VAT DECIMAL Declare @ASS_STATUS VARCHAR(20) Declare @AMORT_STATUS VARCHAR(20) DELETE FROM ASS_LIQUIDATION_DT WHERE LIQ_ID = @p_LIQUIDATION_ID FETCH NEXT FROM liqDetail INTO @LIQDT_ID,@ASSET_ID, @LIQ_PRICE, @LIQ_TYPE,@REMAIN_VALUE, @BUY_PRICE, @BUY_PRICE_LIQ,@LIQ_AMT, @REMAIN_AMORTIZED_AMT,@ASSET_CODE,@LIQ_REASON,@NOTE,@REQ_AMT, @BRANCH_ID_USE,@DEPT_ID_USE,@LIQ_REQ_ID,@ASS_AMORTIZED_MONTH,@ASS_AMORTIZED_AMT, @LIQ_VAT, @LIQ_PRICE_VAT,@LIQ_AMT_BE_VAT WHILE @@FETCH_STATUS = 0 BEGIN IF ((@LIQ_AMT_BE_VAT + @LIQ_PRICE_VAT > @REQ_AMT) OR (@LIQ_AMT_BE_VAT + @LIQ_PRICE_VAT < @REQ_AMT)) BEGIN CLOSE liqDetail DEALLOCATE liqDetail ROLLBACK TRANSACTION SELECT '-1' as Result, N'Tổng số tiền trước VAT và tiền thuế VAT không được lớn hơn số tiền sau thuế' ErrorDesc, @p_LIQUIDATION_ID LIQUIDATION_ID RETURN '-1' END SELECT @AMORT_STATUS = AM.AMORT_STATUS, @ASS_STATUS = AM.ASS_STATUS FROM ASS_MASTER AM WHERE AM.ASSET_ID = @ASSET_ID IF( LEN(@LIQDT_ID) = 0) BEGIN EXEC SYS_CodeMasters_Gen 'ASS_LIQUIDATION_DT', @LIQDT_ID out IF @LIQDT_ID ='' OR @LIQDT_ID IS NULL GOTO ABORT1 END -- IF (@LIQ_AMT > @REMAIN_AMORTIZED_AMT) -- BEGIN -- ROLLBACK TRANSACTION -- SELECT '-1' as Result, '' LIQ_AMT, N'số tiền thanh lý không được lớn hơn nguyên giá còn lại' ErrorDesc -- RETURN '-1' -- END INSERT INTO ASS_LIQUIDATION_DT([LIQDT_ID],[LIQ_ID],[ASSET_ID],[LIQ_PRICE],[LIQ_TYPE],[REMAIN_VALUE], [BUY_PRICE], [BUY_PRICE_LIQ],[LIQ_AMT],[REMAIN_AMORTIZED_AMT],[LIQ_REASON],[NOTE],REQ_AMT, BRANCH_ID_USE, DEP_ID_USE, ASS_AMORTIZED_MONTH, ASS_AMORTIZED_AMT, LIQ_VAT, LIQ_PRICE_VAT, LIQ_AMT_BE_VAT, LIQ_REQ_ID, ASS_STATUS, AMORT_STATUS) VALUES(@LIQDT_ID,@p_LIQUIDATION_ID,@ASSET_ID,@LIQ_PRICE,@LIQ_TYPE,@REMAIN_VALUE, @BUY_PRICE, @BUY_PRICE_LIQ,@LIQ_AMT,@REMAIN_AMORTIZED_AMT,@LIQ_REASON,@NOTE,@REQ_AMT, @BRANCH_ID_USE, @DEPT_ID_USE,@ASS_AMORTIZED_MONTH,@ASS_AMORTIZED_AMT, @LIQ_VAT, @LIQ_PRICE_VAT,@LIQ_AMT_BE_VAT,@LIQ_REQ_ID, @ASS_STATUS, @AMORT_STATUS) -- next Group_Id IF @@ERROR <> 0 GOTO ABORT1 FETCH NEXT FROM liqDetail INTO @LIQDT_ID,@ASSET_ID, @LIQ_PRICE, @LIQ_TYPE,@REMAIN_VALUE, @BUY_PRICE, @BUY_PRICE_LIQ,@LIQ_AMT, @REMAIN_AMORTIZED_AMT,@ASSET_CODE,@LIQ_REASON,@NOTE,@REQ_AMT, @BRANCH_ID_USE,@DEPT_ID_USE,@LIQ_REQ_ID,@ASS_AMORTIZED_MONTH,@ASS_AMORTIZED_AMT, @LIQ_VAT, @LIQ_PRICE_VAT,@LIQ_AMT_BE_VAT END CLOSE liqDetail DEALLOCATE liqDetail -- GIANT Insert to table PL_PROCESS INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_LIQUIDATION_ID, 'UPDATE', @p_MAKER_ID_KT, GETDATE(), 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' ) COMMIT TRANSACTION SELECT '0' as Result,@LIQ_AMT LIQ_AMT, @p_LIQUIDATION_ID LIQUIDATION_ID, '' ErrorDesc RETURN '0' ABORT: BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LIQUIDATION_ID LIQUIDATION_ID, '' ErrorDesc RETURN '-1' End ABORT1: BEGIN CLOSE liqDetail DEALLOCATE liqDetail ROLLBACK TRANSACTION SELECT '-1' as Result, @p_LIQUIDATION_ID LIQUIDATION_ID, '' ErrorDesc RETURN '-1' End GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_AMORT_DO_ASSCODE]' GO ALTER PROCEDURE [dbo].[ASS_AMORT_DO_ASSCODE] @p_ASSET_CODE varchar(1000) = NULL, @p_sExecDT DATETIME=NULL AS DECLARE @p_ASSET_TYPE VARCHAR(25),@sExecDT DATETIME,@l_LAST_AMORT_ID VARCHAR(25) declare @l_AMORT_ID varchar(15), @l_AMORTDT_ID varchar(15),@p_MAKER_ID VARCHAR(100) ,@p_CHECKER_ID VARCHAR(100) declare @l_AMORT_TERM nvarchar(50) = '' declare @l_ASSET_ID varchar(15) declare @l_AMORTIZED_AMT decimal(18,0) declare @l_AMORTIZED_MONTH int declare @l_AMORT_AMT decimal(18,0) declare @l_AMORT_MONTH decimal(18,2) declare @l_AMORT_END_DATE datetime, @l_AMORT_START_DATE datetime declare @l_FIRST_AMORT_AMT decimal(18,0), @l_MONTHLY_AMORT_AMT decimal(18,0) declare @l_BRANCH_ID varchar(15) declare @l_DEP_ID varchar(15) declare @l_BRANCH_ID_DO varchar(15) = NULL, @l_BRANCH_TYPE_DO VARCHAR(15) declare @l_CURR_AMORT_AMT decimal(18,0) declare @l_TOTAL_AMT decimal(18,0) declare @l_CURR_AMORT_STATUS nvarchar(100) declare @l_DESC nvarchar(1000) SET @l_AMORT_TERM = convert(varchar(2), datepart(month, @sExecDT)) + '/' + convert(varchar(4), datepart(year, @sExecDT)) SET @sExecDT =@p_sExecDT declare pCur cursor for SELECT A.ASSET_ID, A.AMORTIZED_AMT, A.AMORTIZED_MONTH, A.AMORT_AMT, A.AMORT_MONTH, A.AMORT_END_DATE, A.AMORT_START_DATE, A.FIRST_AMORT_AMT, A.MONTHLY_AMORT_AMT, A.BRANCH_ID, A.DEPT_ID FROM ASS_MASTER A WHERE A.AMORT_STATUS IN ('CKH','DKH') AND convert(date, A.AMORT_START_DATE) <= convert(date, @sExecDT) AND A.AMORTIZED_AMT < A.AMORT_AMT AND A.RECORD_STATUS = '1' AND A.AUTH_STATUS = 'A' AND A.ASSET_CODE IN ( SELECT value FROM dbo.wsiSplit(@p_ASSET_CODE,',')) open pCur select @l_LAST_AMORT_ID = AMORT_ID FROM ASS_AMORT WHERE IS_LEAF = 'Y' --Update ky khau hao truoc khong con la nut la IF @l_LAST_AMORT_ID IS NOT NULL BEGIN UPDATE ASS_AMORT SET IS_LEAF = 'N' WHERE AMORT_ID = @l_LAST_AMORT_ID END --set dien giai IF @p_ASSET_TYPE = 'TSCD' SET @l_DESC = N'Khấu hao kỳ ' + @l_AMORT_TERM ELSE SET @l_DESC = N'Phân bổ kỳ ' + @l_AMORT_TERM --Insert ky khau hao moi EXEC SYS_CodeMasters_Gen 'ASS_AMORT', @l_AMORT_ID out INSERT INTO ASS_AMORT ( AMORT_ID, AMORT_TERM, EXECUTE_DT, TOTAL_AMT, IS_LEAF, PARENT_ID, NOTES, PROCESS_STATUS, [RECORD_STATUS], [MAKER_ID], [CREATE_DT], [AUTH_STATUS], [CHECKER_ID], [APPROVE_DT], [BRANCH_ID], [ASSET_TYPE] ) VALUES ( @l_AMORT_ID, @l_AMORT_TERM, CONVERT(datetime, @p_sExecDT, 103), 0, 'Y', @l_LAST_AMORT_ID, @l_DESC,--N'Khấu hao kỳ ' + @l_AMORT_TERM, 'P', --Pending cho chay khau hao '1', @p_MAKER_ID, GETDATE(), 'A', @p_CHECKER_ID, GETDATE(), @l_BRANCH_ID_DO, @p_ASSET_TYPE ) ----------------BO DUNG DANH SACH PGD DUOC CN PHAN BO GIUM THIEUVQ - 28092016------------------ SET @l_TOTAL_AMT = 0 --Tinh khau hao cho tung tai san FETCH NEXT FROM pCur INTO @l_ASSET_ID, @l_AMORTIZED_AMT, @l_AMORTIZED_MONTH, @l_AMORT_AMT, @l_AMORT_MONTH, @l_AMORT_END_DATE, @l_AMORT_START_DATE, @l_FIRST_AMORT_AMT, @l_MONTHLY_AMORT_AMT, @l_BRANCH_ID, @l_DEP_ID WHILE @@FETCH_STATUS = 0 BEGIN --SET @l_DESC = N'Khấu hao kỳ ' + @l_AMORT_TERM IF (@l_AMORTIZED_MONTH = 0) --Khau hao thang dau tien BEGIN SET @l_CURR_AMORT_AMT = @l_FIRST_AMORT_AMT IF(@l_AMORTIZED_AMT>0) SET @l_CURR_AMORT_AMT =@l_MONTHLY_AMORT_AMT --SET @l_CURR_AMORT_STATUS = 'DKH' END ELSE IF dbo.FN_GetLastDayOfMonth(@sExecDT) = dbo.FN_GetLastDayOfMonth(@l_AMORT_END_DATE) --Ky khau hao cuoi cung BEGIN IF(@l_AMORT_AMT - @l_AMORTIZED_AMT > @l_MONTHLY_AMORT_AMT ) SET @l_CURR_AMORT_AMT =@l_MONTHLY_AMORT_AMT ELSE SET @l_CURR_AMORT_AMT = @l_AMORT_AMT - @l_AMORTIZED_AMT --SET @l_CURR_AMORT_STATUS = 'KHX' print 'last amort' + @l_ASSET_ID END ELSE --tai san dang khau hao binh thuong BEGIN SET @l_CURR_AMORT_AMT = @l_MONTHLY_AMORT_AMT --SET @l_CURR_AMORT_STATUS = 'DKH' --THIEUVQ THEM DK KHONG KHAU HAO AM 13112017 IF (@l_AMORTIZED_AMT + @l_CURR_AMORT_AMT) > @l_AMORT_AMT SET @l_CURR_AMORT_AMT = @l_AMORT_AMT - @l_AMORTIZED_AMT END --Insert to bang ASS_AMORT_DT EXEC SYS_CodeMasters_Gen 'ASS_AMORT_DT', @l_AMORTDT_ID out INSERT INTO ASS_AMORT_DT ( AMORTDT_ID, AMORT_ID, AMORT_DT, CRDR, BRANCH_ID, DEP_ID, ASSET_ID, AMORT_AMT, GROUP_ID, EXECUTED, TRN_TYPE, TRN_DESC ) VALUES ( @l_AMORTDT_ID, @l_AMORT_ID, @sExecDT, 'C', @l_BRANCH_ID, @l_DEP_ID, @l_ASSET_ID, @l_CURR_AMORT_AMT, NULL, --Khong chay khau hao theo group '0', 'AMORT', @l_DESC ) SET @l_TOTAL_AMT = @l_TOTAL_AMT + @l_CURR_AMORT_AMT FETCH NEXT FROM pCur INTO @l_ASSET_ID, @l_AMORTIZED_AMT, @l_AMORTIZED_MONTH, @l_AMORT_AMT, @l_AMORT_MONTH, @l_AMORT_END_DATE, @l_AMORT_START_DATE, @l_FIRST_AMORT_AMT, @l_MONTHLY_AMORT_AMT, @l_BRANCH_ID, @l_DEP_ID END UPDATE ASS_AMORT SET TOTAL_AMT = @l_TOTAL_AMT WHERE AMORT_ID = @l_AMORT_ID SELECT @l_AMORT_ID