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 ,@p_UNIT 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 , UNIT = @p_UNIT 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