ALTER PROCEDURE [dbo].[PL_REQUEST_DOC_TRANSFER_Upd] @p_REQ_ID varchar(15) = NULL, @p_TYPE_PROCESS varchar(50) = NULL, @p_MAKERID varchar(100)= NULL, @p_AUTH_STATUS VARCHAR(1) = NULL, @p_CHECKER_ID VARCHAR(100) = NULL, @p_APPROVE_DT VARCHAR(50) = NULL, @p_USERNAME varchar(100) = NULL, @p_NOTES NVARCHAR(MAX)= NULL, @p_DVKD_USER_APP NVARCHAR(500)= NULL AS BEGIN DECLARE @NOTIFATION NVARCHAR(100) = NULL, @BRANCHID VARCHAR(20)= NULL, @DEP_ID VARCHAR(20), @NOTIFY_TO_USER VARCHAR(MAX) = '', @COMPLETE BIT = 0, @REQ_TYPE VARCHAR(20) = (SELECT TOP 1 trsd.REQ_TYPE FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.REQ_ID = @p_REQ_ID), @CURR_PROCESS VARCHAR(50) = (SELECT TOP 1 A.PROCESS_ID FROM PL_REQUEST_PROCESS A WHERE A.REQ_ID = @p_REQ_ID AND A.STATUS = 'C') SELECT @BRANCHID = tu.TLSUBBRID, @DEP_ID = tu.DEP_ID FROM TL_USER tu WHERE tu.TLNANME = @p_CHECKER_ID DECLARE @ASSET_ID_LST VARCHAR(MAX), @CURRENT_TRANS_ERROR NVARCHAR(MAX) BEGIN TRANSACTION IF(EXISTS(SELECT REQ_ID FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID = @p_REQ_ID AND STATUS = 'REJECT')) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' WH_O_HCQT_MUL_ID, N'Phiếu yêu cầu đang bị trả về' ErrorDesc RETURN '-1' END -- GỬI TRƯỞNG ĐƠN VỊ IF(@p_TYPE_PROCESS='S_DVKD') BEGIN --PHUCVH 26/12/22 RÀNG BUỘC KHÔNG CHO TẠO 2 PYC CÙNG 1 TÀI SẢN CHƯA HOÀN THÀNH SỬA CHỮA --&& TS ĐÃ ĐƯỢC THÊM Ở LƯỚI TS CẦN THAY THẾ TRÊN PYC CẤP PHÁT KHÔNG ĐƯỢC YÊU CẦU SỬA CHỮA IF(@REQ_TYPE = 'SC') BEGIN DECLARE @MESSAGE_VALIDATION NVARCHAR(MAX) DECLARE @TABLE_ASSCODE_VALIDATION TABLE (ASSET_CODE VARCHAR(100), REQ_CODE VARCHAR(100)) --RÀNG BUỘC TS ĐÃ ĐƯỢC THÊM Ở LƯỚI TS CẦN THAY THẾ TRÊN PYC CẤP PHÁT KHÔNG ĐƯỢC YÊU CẦU SỬA CHỮA INSERT INTO @TABLE_ASSCODE_VALIDATION SELECT ISNULL(G.ASSET_CODE,G.ASS_CODE_TMP) ASSET_CODE, F.REQ_CODE FROM ( SELECT B.ASS_ID, C.REQ_CODE FROM TR_REQUEST_SHOP_DOC_DT B LEFT JOIN TR_REQUEST_SHOP_DOC C ON B.REQ_DOC_ID = C.REQ_ID WHERE C.AUTH_STATUS NOT IN ('E','R','D') AND B.REQ_DT_TYPE = 'ASSET_BROKEN' AND B.ASS_ID IN (SELECT D.ASS_ID FROM TR_REQUEST_SHOP_DOC_DT D WHERE D.REQ_DOC_ID = @p_REQ_ID) GROUP BY B.ASS_ID, C.REQ_CODE ) F LEFT JOIN ASS_MASTER G ON F.ASS_ID = G.ASSET_ID IF(EXISTS(SELECT 1 FROM @TABLE_ASSCODE_VALIDATION)) BEGIN SET @MESSAGE_VALIDATION = (SELECT REPLACE((SELECT CASE WHEN ROW_NUMBER() OVER (ORDER BY (SELECT 0)) = 1 THEN '' ELSE '|' END + N'Tài sản ' + C.ASSET_CODE + N' đã được yêu cầu thay thế trong phiếu số' + C.REQ_CODE FROM ( SELECT ASSET_CODE,REQ_CODE FROM @TABLE_ASSCODE_VALIDATION) C FOR XML PATH ('')) , '|', '
')) ROLLBACK TRANSACTION SELECT '-1' as Result, @MESSAGE_VALIDATION ErrorDesc RETURN '-1' END --RÀNG BUỘC KHÔNG CHO TẠO 2 PYC CÙNG 1 TÀI SẢN CHƯA HOÀN THÀNH SỬA CHỮA INSERT INTO @TABLE_ASSCODE_VALIDATION SELECT ISNULL(C.ASSET_CODE,C.ASS_CODE_TMP),B.REQ_CODE FROM TR_REQUEST_SHOP_DOC_DT A LEFT JOIN TR_REQUEST_SHOP_DOC B ON A.REQ_DOC_ID = B.REQ_ID LEFT JOIN ASS_MASTER C ON A.ASS_ID = C.ASSET_ID WHERE A.ASS_ID IN (SELECT C.ASS_ID FROM TR_REQUEST_SHOP_DOC_DT C WHERE C.REQ_DOC_ID = @p_REQ_ID) AND B.IS_DONE = '0' AND B.REQ_TYPE = 'SC' AND B.AUTH_STATUS NOT IN ('E','D','R') AND A.REQ_DOC_ID <> @p_REQ_ID IF(EXISTS(SELECT 1 FROM @TABLE_ASSCODE_VALIDATION)) BEGIN SET @MESSAGE_VALIDATION = (SELECT REPLACE((SELECT CASE WHEN ROW_NUMBER() OVER (ORDER BY (SELECT 0)) = 1 THEN '' ELSE '|' END + N'Tài sản ' + C.ASSET_CODE + N' trong ' + C.REQ_CODE + N' chưa được hoàn thành sửa chữa' FROM (SELECT ASSET_CODE,REQ_CODE FROM @TABLE_ASSCODE_VALIDATION) C FOR XML PATH ('')) , '|', '
')) ROLLBACK TRANSACTION SELECT '-1' as Result, @MESSAGE_VALIDATION ErrorDesc RETURN '-1' END END IF(@REQ_TYPE = 'TH') BEGIN -- 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 A.ASSET_ID FROM TR_REQUEST_DOC_ASSET_DT A where A.REQ_DOC_ID = @p_REQ_ID) B FOR XML PATH ('')) 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, '' WH_O_HCQT_MUL_ID, @CURRENT_TRANS_ERROR ErrorDesc RETURN '-1' END END ELSE BEGIN -- KIỂM TRA TÀI SẢN ĐANG TREO TRONG GIAO DỊCH KHÁC SET @ASSET_ID_LST = (SELECT B.ASS_ID + '|' FROM (SELECT A.ASS_ID FROM TR_REQUEST_SHOP_DOC_DT A where A.REQ_DOC_ID = @p_REQ_ID) B FOR XML PATH ('')) 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, '' WH_O_HCQT_MUL_ID, @CURRENT_TRANS_ERROR ErrorDesc RETURN '-1' END END --PHUCVH 09/11/22 UPDATE TÀI SẢN TREO GIAO DỊCH IF(@REQ_TYPE = 'TH') BEGIN UPDATE ASS_MASTER SET CURRENT_TRANS = @p_REQ_ID, CURRENT_TRANS_TYPE = (SELECT A.REQ_TYPE FROM TR_REQUEST_SHOP_DOC A WHERE A.REQ_ID = @p_REQ_ID) WHERE ASSET_ID IN (SELECT B.ASSET_ID FROM TR_REQUEST_DOC_ASSET_DT B WHERE B.REQ_DOC_ID = @p_REQ_ID) END ELSE BEGIN UPDATE ASS_MASTER SET CURRENT_TRANS = @p_REQ_ID, CURRENT_TRANS_TYPE = (SELECT A.REQ_TYPE FROM TR_REQUEST_SHOP_DOC A WHERE A.REQ_ID = @p_REQ_ID) WHERE ASSET_ID IN (SELECT B.ASS_ID FROM TR_REQUEST_SHOP_DOC_DT B WHERE B.REQ_DOC_ID = @p_REQ_ID) END INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,DEP_ID,PARENT_PROCESS_ID,IS_LEAF,NOTES,PROCESS_TYPE) VALUES(@p_REQ_ID,'APPNEW','C','GDDV',@BRANCHID,@DEP_ID,'','N',NULL,'Approve') INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES) VALUES (@p_REQ_ID, 'S_DVKD', @p_CHECKER_ID, GETDATE(), N'Gửi trưởng đơn vị', N'Gửi trưởng đơn vị thành công'); UPDATE TR_REQUEST_SHOP_DOC SET [STATUS]='APPNEW', AUTH_STATUS = 'U' WHERE REQ_ID=@p_REQ_ID UPDATE TR_REQUEST_SHOP_DOC_DT SET AUTH_STATUS = 'U' WHERE REQ_DOC_ID = @p_REQ_ID SET @NOTIFATION= N'Gửi trưởng đơn vị thành công' --UPDATE NGÀY GỬI DUYỆT UPDATE TR_REQUEST_SHOP_DOC SET SEND_APP_DT = GETDATE() WHERE REQ_ID = @p_REQ_ID IF @@Error <> 0 GOTO ABORT END -- --QLTS gửi DVCM ELSE IF(@p_TYPE_PROCESS='S_DVCM') BEGIN IF(EXISTS(SELECT REQ_ID FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID = @p_REQ_ID AND STATUS = 'REJECT')) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' WH_O_HCQT_MUL_ID, N'Phiếu yêu cầu đã bị trả về. Gửi duyệt thất bại.' ErrorDesc RETURN '-1' END IF(EXISTS(SELECT REQ_ID FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID = @p_REQ_ID AND (HO_NOTES IS NULL OR HO_NOTES = ''))) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' WH_O_HCQT_MUL_ID, N'Vui lòng nhập ý kiến của bộ phận QLTS trước khi gửi duyệt.' ErrorDesc RETURN '-1' END INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES) VALUES (@p_REQ_ID, 'S_DVCM', @p_CHECKER_ID, GETDATE(), N'Gửi DVCM', N'QLTS gửi DVCM thành công'); UPDATE TR_REQUEST_SHOP_DOC SET STATUS = 'DVCM' WHERE REQ_ID = @p_REQ_ID UPDATE PL_REQUEST_PROCESS SET STATUS = 'P', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103) WHERE REQ_ID = @p_REQ_ID AND PROCESS_ID = 'QLTS_N' UPDATE PL_REQUEST_PROCESS SET STATUS = 'C' WHERE PROCESS_ID = 'DVCM' AND REQ_ID = @p_REQ_ID SET @p_NOTES = N'Gửi DVCM thành công' IF @@Error <> 0 GOTO ABORT --END SET @NOTIFATION= N'Gửi DVCM thành công' --UPDATE NGÀY GỬI DUYỆT UPDATE TR_REQUEST_SHOP_DOC SET SEND_APP_DT = GETDATE() WHERE REQ_ID = @p_REQ_ID END -- QLTS DUYỆT ELSE IF(@p_TYPE_PROCESS='QLTS_D') BEGIN IF(EXISTS(SELECT TOP 1 A.HO_NOTES FROM TR_REQUEST_SHOP_DOC A WHERE A.REQ_ID = @p_REQ_ID AND (A.HO_NOTES IS NULL OR A.HO_NOTES = ''))) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' WH_O_HCQT_MUL_ID, N'QLTS chưa nhập ý kiến. Duyệt thất bại' ErrorDesc RETURN '-1' END IF(EXISTS(SELECT trsd.REQ_ID FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.REQ_ID = @p_REQ_ID AND trsd.MAKER_ID = @p_CHECKER_ID)) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, @p_REQ_ID AS ID, N'Bạn không có quyền duyệt phiếu này' ErrorDesc RETURN '-1' END IF((SELECT TOP 1 STATUS FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID = @p_REQ_ID) = 'TBP_D') BEGIN --TRƯỞNG BỘ PHẬN QLTS DUYỆT UPDATE PL_REQUEST_PROCESS SET [STATUS]='P',NOTES = @p_NOTES ,CHECKER_ID=@p_CHECKER_ID,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103) WHERE REQ_ID=@p_REQ_ID AND [STATUS]='C' AND PROCESS_ID = 'TBP_D' INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES) VALUES (@p_REQ_ID, 'TBP_D', @p_CHECKER_ID, GETDATE(), N'Trưởng bộ phận QLTS duyệt', @p_NOTES); UPDATE TR_REQUEST_SHOP_DOC SET [STATUS]='QLTS_D' WHERE REQ_ID=@p_REQ_ID INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID,DEP_ID,IS_LEAF,NOTES,PROCESS_TYPE) VALUES(@p_REQ_ID,'QLTS_D','C','GDDV_QLTS','DV0001','TBP_D','DEP000000000048','N',NULL,'Approve') SET @NOTIFATION= N'Trưởng bộ phận QLTS duyệt thành công' END ELSE IF((SELECT TOP 1 STATUS FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID = @p_REQ_ID) = 'QLTS_D') BEGIN --TRƯỞNG ĐƠN VỊ QLTS DUYỆT UPDATE PL_REQUEST_PROCESS SET [STATUS]='P', NOTES = @p_NOTES , CHECKER_ID=@p_CHECKER_ID,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103) WHERE REQ_ID=@p_REQ_ID AND [STATUS]='C' IF @@Error <> 0 GOTO ABORT INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES) VALUES (@p_REQ_ID, 'QLTS_D', @p_CHECKER_ID, GETDATE(), N'Trưởng đơn vị QLTS duyệt', @p_NOTES); IF(@REQ_TYPE <> 'DCTS') BEGIN --PHIẾU SỬA CHỮA TÀI SẢN, THU HỒI TÀI SẢN INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],IS_LEAF) VALUES(@p_REQ_ID,'APPROVE','C','N') UPDATE TR_REQUEST_SHOP_DOC SET [STATUS]='APPROVE',AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,GETDATE(),103) WHERE REQ_ID=@p_REQ_ID IF(@REQ_TYPE = 'TH') BEGIN --UPDATE ASS_MASTER 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_REQ_ID) END ELSE BEGIN --UPDATE ASS_MASTER 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_REQ_ID) END SET @NOTIFATION= N'Phê duyệt thành công' END ELSE BEGIN DECLARE @PRICE_OF_ASSET DECIMAL = (SELECT MAX(b.BUY_PRICE) FROM TR_REQUEST_SHOP_DOC_DT A LEFT JOIN ASS_MASTER B ON A.ASS_ID = B.ASSET_ID WHERE A.REQ_DOC_ID = @p_REQ_ID) IF(@PRICE_OF_ASSET > 30000000) BEGIN --LÊN TTDVNB INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID,DEP_ID,IS_LEAF,NOTES,PROCESS_TYPE) VALUES(@p_REQ_ID,'TTQLTS_D','C','GDDV','DV0001','QLTS_D',(SELECT TOP 1 DEP_ID FROM CM_DEPARTMENT WHERE DEP_CODE = '05N20'),'N',NULL,'Approve') UPDATE TR_REQUEST_SHOP_DOC SET STATUS = 'TTQLTS_D' WHERE REQ_ID = @p_REQ_ID SET @NOTIFATION= N'Trưởng đơn vị phê duyệt thành công. Phiếu đã gừi lên Trung tâm dịch vụ nội bộ.' END ELSE BEGIN INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],IS_LEAF) VALUES(@p_REQ_ID,'APPROVE','C','N') UPDATE TR_REQUEST_SHOP_DOC SET [STATUS]='APPROVE',AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,GETDATE(),103) WHERE REQ_ID=@p_REQ_ID --UPDATE ASS_MASTER 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_REQ_ID) SET @NOTIFATION= N'Phê duyệt thành công.' END END END ELSE IF((SELECT TOP 1 STATUS FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID = @p_REQ_ID) = 'TTQLTS_D') BEGIN --TRUNG TÂM DỊCH VỤ NỘI BỘ DUYỆT UPDATE PL_REQUEST_PROCESS SET [STATUS]='P', NOTES = @p_NOTES , CHECKER_ID=@p_CHECKER_ID,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103) WHERE REQ_ID=@p_REQ_ID AND [STATUS]='C' IF @@Error <> 0 GOTO ABORT INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],IS_LEAF) VALUES(@p_REQ_ID,'APPROVE','C','N') INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES) VALUES (@p_REQ_ID, 'TTQLTS_D', @p_CHECKER_ID, GETDATE(), N'Trung tâm dịch vụ nội bộ phê duyệt', @p_NOTES); UPDATE TR_REQUEST_SHOP_DOC SET [STATUS]='APPROVE',AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,GETDATE(),103) WHERE REQ_ID=@p_REQ_ID --UPDATE ASS_MASTER 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_REQ_ID) SET @NOTIFATION= N'Phê duyệt thành công' END --UPDATE NGÀY GỬI DUYỆT UPDATE TR_REQUEST_SHOP_DOC SET SEND_APP_DT = GETDATE() WHERE REQ_ID = @p_REQ_ID IF @@Error <> 0 GOTO ABORT END ELSE IF(@p_TYPE_PROCESS = 'DVCM_D') BEGIN UPDATE TR_REQUEST_SHOP_COSTCENTER SET AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103) WHERE REQ_ID = @p_REQ_ID AND COST_ID = @DEP_ID UPDATE PL_REQUEST_PROCESS SET STATUS = 'P', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103), NOTES = @p_NOTES WHERE REQ_ID = @p_REQ_ID AND PROCESS_ID = 'DVCM_D' AND PARENT_PROCESS_ID = 'DVCM' AND DEP_ID = @DEP_ID INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES) VALUES (@p_REQ_ID, 'DVCM_D', @p_CHECKER_ID, GETDATE(), N'Trưởng bộ phận DVCM duyệt', @p_NOTES); -- CHECK DVCM ĐÃ NHẬP ĐỦ HẾT CHƯA IF(NOT EXISTS(SELECT TOP 1 trsc.REQ_COST_ID FROM TR_REQUEST_SHOP_COSTCENTER trsc WHERE trsc.REQ_ID = @p_REQ_ID AND (trsc.AUTH_STATUS = 'U' OR trsc.AUTH_STATUS = 'E'))) BEGIN IF(@REQ_TYPE = 'SC') BEGIN UPDATE TR_REQUEST_SHOP_DOC SET STATUS = 'QLTS_NL',HO_NOTES = N'- Kế hoạch (Trong/Ngoài NS):' + CHAR(10) + N'- Nội dung đề xuất:' + CHAR(10) + N'- Ghi chú khác:' WHERE REQ_ID = @p_REQ_ID INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID,DEP_ID,IS_LEAF,NOTES,PROCESS_TYPE) VALUES(@p_REQ_ID,'QLTS_NL','C','QLTS','DV0001','DVCM_D','DEP000000000048','N',NULL,'Update') END ELSE BEGIN UPDATE TR_REQUEST_SHOP_DOC SET STATUS = 'TBP_D' WHERE REQ_ID = @p_REQ_ID INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID,DEP_ID,IS_LEAF,NOTES,PROCESS_TYPE) VALUES(@p_REQ_ID,'TBP_D','C','TBP_QLTS','DV0001','DVCM_D','DEP000000000048','N',NULL,'Approve') END --UPDATE NGÀY GỬI DUYỆT UPDATE TR_REQUEST_SHOP_DOC SET SEND_APP_DT = GETDATE() WHERE REQ_ID = @p_REQ_ID END SET @NOTIFATION= N'Trưởng phòng DVCM duyệt thành công' IF @@Error <> 0 GOTO ABORT END ELSE IF(@p_TYPE_PROCESS = 'S_GDDV_QLTS') BEGIN -- GỬI TRƯỞNG BỘ PHẬN QLTS DUYỆT IF(EXISTS(SELECT TOP 1 A.HO_NOTES FROM TR_REQUEST_SHOP_DOC A WHERE A.REQ_ID = @p_REQ_ID AND (A.HO_NOTES IS NULL OR A.HO_NOTES = ''))) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' WH_O_HCQT_MUL_ID, N'Vui lòng nhập ý kiến của bộ phận QLTS trước khi gửi duyệt.' ErrorDesc RETURN '-1' END INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES) VALUES (@p_REQ_ID, 'S_TBP_QLTS', @p_CHECKER_ID, CONVERT(DATETIME,@p_APPROVE_DT,103), N'QLTS gửi phê duyệt', N'QLTS gửi trưởng bộ phận QLTS phê duyệt thành công'); UPDATE PL_REQUEST_PROCESS SET STATUS = 'P', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103) WHERE REQ_ID = @p_REQ_ID AND (PROCESS_ID = 'QLTS_N' OR PROCESS_ID = 'QLTS_NL')--PYC_SC INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID,DEP_ID,IS_LEAF,NOTES,PROCESS_TYPE) VALUES(@p_REQ_ID,'TBP_D','C','TBP_QLTS','DV0001','QLTS_N','DEP000000000048','N',NULL,'Approve') UPDATE TR_REQUEST_SHOP_DOC SET STATUS = 'TBP_D' WHERE REQ_ID = @p_REQ_ID IF @@Error <> 0 GOTO ABORT SET @NOTIFATION= N'Gửi trưởng bộ phận QLTS phê duyệt thành công' --UPDATE NGÀY GỬI DUYỆT UPDATE TR_REQUEST_SHOP_DOC SET SEND_APP_DT = GETDATE() WHERE REQ_ID = @p_REQ_ID END ELSE IF(@p_TYPE_PROCESS = 'S_GDDV_DVCM') BEGIN IF(EXISTS(SELECT 1 FROM TR_REQUEST_SHOP_COSTCENTER trsc WHERE trsc.REQ_ID = @p_REQ_ID AND trsc.COST_ID = @DEP_ID AND trsc.AUTH_STATUS = 'E' AND (trsc.RE_CONTENT IS NULL OR trsc.RE_CONTENT = ''))) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' WH_O_HCQT_MUL_ID, N'Vui lòng nhập Nội Dung Đề Xuất của bạn trước khi gửi Trưởng bộ phận DVCM phê duyệt' ErrorDesc RETURN '-1' END INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES) VALUES (@p_REQ_ID, 'S_GDDVDVCM', @p_CHECKER_ID, CONVERT(DATETIME,@p_APPROVE_DT,103), N'DVCM gửi Trưởng bộ phận DVCM', N'DVCM gửi Trưởng bộ phận DVCM phê duyệt thành công'); UPDATE TR_REQUEST_SHOP_COSTCENTER SET AUTH_STATUS = 'U' WHERE REQ_ID = @p_REQ_ID AND COST_ID = @DEP_ID UPDATE PL_REQUEST_PROCESS SET STATUS = 'P', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103) WHERE REQ_ID = @p_REQ_ID AND DEP_ID = @DEP_ID AND PROCESS_ID = 'DVCM' AND PARENT_PROCESS_ID = 'QLTS_N' UPDATE PL_REQUEST_PROCESS SET STATUS = 'C' WHERE REQ_ID = @p_REQ_ID AND DEP_ID = @DEP_ID AND PROCESS_ID = 'DVCM_D' AND PARENT_PROCESS_ID = 'DVCM' IF @@Error <> 0 GOTO ABORT SET @NOTIFATION= N'Gửi trưởng bộ phận DVCM phê duyệt thành công' END ELSE IF(@p_TYPE_PROCESS = 'S_DVCM_OR_QLTSNL') BEGIN --PYC SỬA CHỮA: NẾU CÓ DVCM THÌ GỬI DVCM. NẾU KO CÓ THÌ QUAY LẠI QLTS_NL IF(EXISTS(SELECT REQ_ID FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID = @p_REQ_ID AND STATUS = 'REJECT')) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' WH_O_HCQT_MUL_ID, N'Phiếu yêu cầu đã bị trả về. Gửi duyệt thất bại.' ErrorDesc RETURN '-1' END IF(EXISTS(SELECT 1 FROM TR_REQUEST_SHOP_COSTCENTER WHERE REQ_ID = @p_REQ_ID)) BEGIN --GỬI DVCM INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES) VALUES (@p_REQ_ID, 'S_DVCM', @p_CHECKER_ID, GETDATE(), N'Gửi DVCM', N'QLTS gửi DVCM thành công'); UPDATE TR_REQUEST_SHOP_DOC SET STATUS = 'DVCM' WHERE REQ_ID = @p_REQ_ID UPDATE PL_REQUEST_PROCESS SET STATUS = 'P', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103) WHERE REQ_ID = @p_REQ_ID AND PROCESS_ID = 'QLTS_N' UPDATE PL_REQUEST_PROCESS SET STATUS = 'C' WHERE PROCESS_ID = 'DVCM' AND REQ_ID = @p_REQ_ID SET @p_NOTES = N'Gửi DVCM thành công' SET @NOTIFATION= N'Gửi DVCM thành công' END ELSE --QUAY LẠI QLTS BEGIN INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES) VALUES (@p_REQ_ID, 'S_QLTS_NL', @p_CHECKER_ID, GETDATE(), N'Gửi bộ phận QLTS xử lý', N'Gửi bộ phận QLTS xử lý thành công'); UPDATE TR_REQUEST_SHOP_DOC SET STATUS = 'QLTS_NL', HO_NOTES = N'- Kế hoạch (Trong/Ngoài NS):' + CHAR(10) + N'- Nội dung đề xuất: ' + CHAR(10) + N'- Ghi chú khác:' WHERE REQ_ID = @p_REQ_ID UPDATE PL_REQUEST_PROCESS SET STATUS = 'P', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103) WHERE REQ_ID = @p_REQ_ID AND PROCESS_ID = 'QLTS_N' INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID,DEP_ID,IS_LEAF,NOTES,PROCESS_TYPE) VALUES(@p_REQ_ID,'QLTS_NL','C','QLTS','DV0001','QLTS_N','DEP000000000048','N',NULL,'Update') SET @p_NOTES = N'Gửi bộ phận QLTS xử lý thành công' SET @NOTIFATION= N'Gửi bộ phận QLTS xử lý thành công' END --UPDATE NGÀY GỬI DUYỆT UPDATE TR_REQUEST_SHOP_DOC SET SEND_APP_DT = GETDATE() WHERE REQ_ID = @p_REQ_ID IF @@Error <> 0 GOTO ABORT END ELSE IF(@p_TYPE_PROCESS = 'CANCEL') BEGIN --QLTS HUỶ PHIẾU IF(NOT EXISTS(SELECT 1 FROM TR_REQUEST_SHOP_DOC A WHERE A.REQ_ID = @p_REQ_ID AND ((A.REQ_TYPE IN ('DCTS','TH') AND A.STATUS = 'QLTS_N') OR(A.REQ_TYPE = 'SC' AND A.STATUS IN ('QLTS_N','QLTS_NL'))))) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' WH_O_HCQT_MUL_ID, N'Huỷ thất phải. Vui lòng kiểm tra lại trạng thái phiếu' ErrorDesc RETURN '-1' END IF(@REQ_TYPE = 'TH') BEGIN 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_REQ_ID) END ELSE IF(@REQ_TYPE IN ('DCTS','SC')) BEGIN 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_REQ_ID) END UPDATE TR_REQUEST_SHOP_DOC SET STATUS = 'CANCEL', AUTH_STATUS = 'D' WHERE REQ_ID = @p_REQ_ID INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES) VALUES (@p_REQ_ID, 'CANCEL', @p_CHECKER_ID, GETDATE(), N'Chuyên viên QLTS huỷ phiếu.', @p_NOTES); -- DELETE PL_REQUEST_PROCESS -- WHERE REQ_ID = @p_REQ_ID AND STATUS = 'C' AND PROCESS_ID IN ('QLTS_N','QLTS_NL') DELETE PL_REQUEST_PROCESS WHERE REQ_ID = @p_REQ_ID AND ((STATUS = 'C' AND PROCESS_ID IN ('QLTS_N','QLTS_NL')) OR STATUS = 'U') INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,NOTES,BRANCH_ID,DEP_ID) VALUES(@p_REQ_ID,'CANCEL','C','QLTS',@p_CHECKER_ID,GETDATE(),@CURR_PROCESS,'Y',N'Chuyên viên QLTS huỷ phiếu',@BRANCHID,@DEP_ID) SET @p_NOTES = N'Huỷ phiếu thành công' SET @NOTIFATION= N'Huỷ phiếu thành công' END COMMIT TRANSACTION SELECT '0' as Result, @NOTIFATION AS NOTIFATION, '' ErrorDesc, @NOTIFY_TO_USER AS NEXT_USER_NOTIFI, @COMPLETE AS COMPLETE RETURN '0' ABORT: BEGIN ROLLBACK TRANSACTION SELECT '-1' AS RESULT, '' ErrorDesc RETURN '-1' End END GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_ADDNEW_BVB_Search]' GO ALTER PROCEDURE [dbo].[ASS_ADDNEW_BVB_Search] @p_ADDNEW_ID varchar(15) = NULL, @p_FR_BUY_DATE VARCHAR(10) = NULL, --Tu ngay nhap @p_TO_BUY_DATE VARCHAR(10) = NULL, --Den ngay nhap @p_TYPE_ID varchar(15) = NULL, @p_GROUP_ID varchar(15) = NULL, @p_ASSET_NAME nvarchar(1000) = NULL, @p_ASSET_SERIAL_NO nvarchar(MAX) = NULL, @p_ASSET_DESC nvarchar(max) = NULL, @p_BRANCH_ID varchar(15) = NULL, @p_DEPT_ID varchar(15) = NULL,---------Them ma phong ban @p_EMP_ID varchar(15) = NULL,-----------Them Nguoi su dung @p_DIVISION_ID varchar(15) = NULL,----------Them co so @p_BUY_PRICE decimal(18) = NULL, @p_AMORT_AMT decimal(18) = NULL, @p_AMORT_MONTH decimal(18,2) = NULL, @p_AMORT_RATE decimal(18,2) = NULL, @p_IS_MULTIPLE varchar(1) = NULL, @p_QTY int = NULL, @p_PO_ID varchar(15) = NULL, @p_TRADE_ID varchar(15) = NULL, --Them de luu chi tiet PO @p_TYPE varchar(10) = 'ADD_NEW', --'ADD_NEW' dung cho nhap moi TS, 'ADD_REF': nhap moi dieu chinh @p_REF_ASSET_ID varchar(15) = NULL, @p_REF_AMORTIZED_AMT decimal(18) = NULL, @p_WARRANTY_MONTHS int = NULL, @p_NOTES nvarchar(1000) = NULL, @p_RECORD_STATUS varchar(1) = NULL, @p_AUTH_STATUS varchar(1) = NULL, @p_MAKER_ID varchar(15) = NULL, @p_CREATE_DT VARCHAR(20) = NULL, @p_CHECKER_ID varchar(15) = NULL, @p_APPROVE_DT VARCHAR(20) = NULL, @p_TOP INT = NULL, @p_CONSTRUCT_ID VARCHAR(15) = NULL, @p_POSTED_STATUS VARCHAR(1) = NULL, @p_BRANCH_CREATE VARCHAR(15) = NULL, @p_LEVEL VARCHAR(10) = NULL, @p_AUTH_STATUS_KT VARCHAR(1) = NULL, @p_KT_IS_DO VARCHAR(1) = NULL, @p_PRICE_TO decimal(18) = NULL, @p_PRICE_FROM decimal(18) = NULL, @p_USER_LOGIN VARCHAR(15),-- 26022020 LUCTV TRUYEN XUONG USER LOGIN DE DO TIM MA PHONG BAN @p_TYPE_SEARCH VARCHAR(10)= NULL, -- 26022020 LUCTV TRUYEN XUONG DAU HIEU DE PHAN BIET TIM KIEM O MAN HINH KE TOAN HAY MAN HINH HCQT @p_REQ_CODE VARCHAR(100) = NULL --Thêm trường tìm kiếm số PYC AS BEGIN -- PAGING SET @p_RECORD_STATUS = '1' declare @tmp table(BRANCH_ID varchar(15)) insert into @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_CREATE) DECLARE @l_GROUP_CODE VARCHAR(100) IF(@p_TYPE_ID='ALL') BEGIN SET @l_GROUP_CODE = (SELECT GROUP_CODE FROM ASS_GROUP WHERE GROUP_ID = @p_GROUP_ID) SET @p_TYPE_ID='' END IF @p_TOP IS NULL OR @p_TOP = '' -- PAGING BEGIN SELECT A.ADDNEW_ID, A.BUY_DATE, A.[TYPE_ID], C.[TYPE_NAME], A.GROUP_ID, D.GROUP_CODE, D.GROUP_NAME, A.ASSET_NAME, A.ASSET_SERIAL_NO, A.ASSET_DESC, A.BRANCH_ID, A.AMORT_START_DATE, A.DEPT_ID, H.DEP_CODE, H.DEP_NAME, A.EMP_ID, G.EMP_CODE, G.EMP_NAME, A.DIVISION_ID, CASE WHEN A.TYPE_ID = 'TSCD' THEN ISNULL(A.BUY_PRICE,0) + ISNULL(A.PRICE_VAT,0) WHEN A.TYPE_ID = 'CCLD' THEN ISNULL(A.BUY_PRICE,0) -- ELSE END AS BUY_PRICE, CASE WHEN A.TYPE_ID = 'TSCD' THEN ISNULL(A.BUY_PRICE,0) + ISNULL(A.PRICE_VAT,0) WHEN A.TYPE_ID = 'CCLD' THEN ISNULL(A.BUY_PRICE,0) -- ELSE END AS AMORT_AMT, -- ISNULL(A.BUY_PRICE,0) + ISNULL(A.PRICE_VAT,0) AS BUY_PRICE, -- ISNULL(A.BUY_PRICE,0) + ISNULL(A.PRICE_VAT,0) AS AMORT_AMT, A.AMORT_MONTH, A.AMORT_RATE, A.IS_MULTIPLE, A.QTY, A.PO_ID, PO.PO_CODE, A.PD_ID, A.REF_ASSET_ID, I.ASSET_CODE AS REF_ASS_CODE, I.ASSET_NAME AS REF_ASS_NAME, A.REF_AMORTIZED_AMT, A.WARRANTY_MONTHS, A.NOTES, A.CORE_NOTE , A.RECORD_STATUS, A.AUTH_STATUS, B.CONTENT AS AUTH_STATUS_NAME,AKT.CONTENT AS AUTH_STATUS_NAME_KT, A.MAKER_ID, UM.TLFullName MAKER_NAME, A.CREATE_DT,--CONVERT(VARCHAR(10), A.CREATE_DT, 103) AS S_CREATE_DT A.CHECKER_ID, A.APPROVE_DT, A.ENTRY_BOOKED, A.CONSTRUCT_ID,A.POSTED_STATUS, A.BRANCH_CREATE,A.MAKER_ID_KT, A.CREATE_DT_KT,A.CHECKER_ID_KT,A.APPROVE_DT_KT,A.AUTH_STATUS_KT, E.BRANCH_CODE, F.DIV_CODE, E.BRANCH_NAME, (ISNULL(E.BRANCH_NAME,'') + ' '+ ISNULL(H.DEP_NAME,'')) AS RECEIVE_BRANCH , CREBRN.BRANCH_CODE AS R_BRANCH_CODE, CREBRN.BRANCH_NAME AS R_BRANCH_NAME, A.AMORT_END_DATE, A.ACCOUNT_GL, A.VAT, A.PRICE_VAT,(ISNULL(A.QTY,0) * ((ISNULL(A.BUY_PRICE,0)) + ISNULL(A.PRICE_VAT,0))) AS TOTAL_AMT --, G.SUP_CODE, G.SUP_NAME ,AP.ASSPO_ID AS ASS_PO_ID, AP.ADDNEW_ID AS ASS_PO_ADDNEWID, AP.PO_CODE AS ASS_PO_CODE, AP.INVOICE_NO AS AS_INVOICE_NO, AP.INVOICE_SYMPOL, AP.INVOICE_DATE AS ASS_INVOICE_DT, CREBRN.BRANCH_CODE+' - '+ CREBRN.BRANCH_NAME AS FULL_BRANCH_NAME, D.GROUP_CODE +' - '+ D.GROUP_NAME GROUP_NAME_FULL, UM2.TLFullName AS CREATE_USER_NAME, UM3.TLFullName AS APPROVE_NAME_KT, UM4.TLFullName AS CREATE_USER_NAME_KT, @p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH, A.REQ_ID, A.REQ_CODE--- TRA VE THAM SO GAN VO CURRENT SEARCH TRANH GAY LOI O CAC MAN HINH -- SELECT END FROM ASS_ADDNEW A --LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS = B.AUTH_STATUS LEFT JOIN dbo.CM_ALLCODE B ON B.CDVAL = A.AUTH_STATUS AND B.CDNAME = 'ASS_ADD_AUTH' AND B.CDTYPE = 'ASS_ADDNEW' LEFT JOIN ASS_TYPE C ON A.[TYPE_ID] = C.[TYPE_ID] LEFT JOIN ASS_GROUP D ON A.GROUP_ID = D.GROUP_ID LEFT JOIN TL_USER UM ON UM.TLNANME = A.CHECKER_ID LEFT JOIN TL_USER UM2 ON UM2.TLNANME = A.MAKER_ID LEFT JOIN TL_USER UM3 ON UM2.TLNANME = A.CHECKER_ID_KT LEFT JOIN TL_USER UM4 ON UM4.TLNANME = A.MAKER_ID_KT LEFT JOIN TR_PO_MASTER PO ON PO.PO_ID = A.PO_ID LEFT JOIN CM_BRANCH E ON E.BRANCH_ID = A.BRANCH_ID LEFT JOIN CM_DIVISION F ON F.DIV_ID = A.DIVISION_ID LEFT JOIN CM_EMPLOYEE G ON G.EMP_ID = A.EMP_ID LEFT JOIN CM_DEPARTMENT H ON H.DEP_ID = A.DEPT_ID LEFT JOIN ASS_MASTER I ON I.ASSET_ID = A.REF_ASSET_ID --LEFT JOIN CM_AUTH_STATUS AKT ON AKT.AUTH_STATUS = A.AUTH_STATUS_KT LEFT JOIN dbo.CM_ALLCODE AKT ON AKT.CDVAL = A.AUTH_STATUS_KT AND AKT.CDNAME = 'ASS_ADD_AUTH' AND AKT.CDTYPE = 'ASS_ADDNEW' LEFT JOIN CM_BRANCH CREBRN ON CREBRN.BRANCH_ID = A.BRANCH_CREATE LEFT JOIN ASS_PO AP ON A.ADDNEW_ID = AP.ADDNEW_ID WHERE (A.ADDNEW_ID = @p_ADDNEW_ID OR @p_ADDNEW_ID IS NULL OR @p_ADDNEW_ID = '') -- TIM KIEM TU NGAY DEN NGAY O HC AND ((@p_TYPE_SEARCH = 'HC' AND (@p_FR_BUY_DATE IS NULL AND @p_FR_BUY_DATE IS NULL OR @p_TO_BUY_DATE IS NULL AND (CONVERT(DATE, A.BUY_DATE, 103)) >= (CONVERT(DATE, @p_FR_BUY_DATE, 103)) OR @p_FR_BUY_DATE IS NULL AND (CONVERT(DATE, A.BUY_DATE, 103)) <= (CONVERT(DATE, @p_TO_BUY_DATE, 103)) OR (CONVERT(DATE, A.BUY_DATE, 103)) >= (CONVERT(DATE, @p_FR_BUY_DATE, 103)) AND (CONVERT(DATE, A.BUY_DATE, 103)) <= (CONVERT(DATE, @p_TO_BUY_DATE, 103)) ) OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')) -- TIM KIEM TU NGAY O KT AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '') AND (((@p_FR_BUY_DATE IS NULL AND @p_FR_BUY_DATE IS NULL OR @p_TO_BUY_DATE IS NULL AND (CONVERT(DATE, A.BUY_DATE, 103)) >= (CONVERT(DATE, @p_FR_BUY_DATE, 103)) OR @p_FR_BUY_DATE IS NULL AND (CONVERT(DATE, A.BUY_DATE, 103)) <= (CONVERT(DATE, @p_TO_BUY_DATE, 103)) OR (CONVERT(DATE, A.BUY_DATE, 103)) >= (CONVERT(DATE, @p_FR_BUY_DATE, 103)) AND (CONVERT(DATE, A.BUY_DATE, 103)) <= (CONVERT(DATE, @p_TO_BUY_DATE, 103)) ))) OR ((A.MAKER_ID_KT IS NOT NULL OR A.MAKER_ID_KT <> '') AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')) OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')) OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')) OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')) OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')))))) OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')) AND (A.REQ_CODE like N'%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '') AND (A.[TYPE_ID] = @p_TYPE_ID OR @p_TYPE_ID IS NULL OR @p_TYPE_ID = '') AND (A.GROUP_ID = @p_GROUP_ID OR @p_GROUP_ID IS NULL OR @p_GROUP_ID = '') AND (D.GROUP_CODE = @l_GROUP_CODE OR @l_GROUP_CODE IS NULL OR @l_GROUP_CODE = '') AND (A.ASSET_NAME like N'%' + @p_ASSET_NAME + '%' OR @p_ASSET_NAME IS NULL OR @p_ASSET_NAME = '') AND (A.ASSET_SERIAL_NO like N'%' + @p_ASSET_SERIAL_NO + '%' OR @p_ASSET_SERIAL_NO IS NULL OR @p_ASSET_SERIAL_NO = '') AND (A.ASSET_DESC like N'%' + @p_ASSET_DESC + '%' OR @p_ASSET_DESC IS NULL OR @p_ASSET_DESC = '') AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '') AND (A.DEPT_ID = @p_DEPT_ID OR @p_DEPT_ID IS NULL OR @p_DEPT_ID = '') AND (A.EMP_ID = @p_EMP_ID OR @p_EMP_ID IS NULL OR @p_EMP_ID = '') AND (A.DIVISION_ID = @p_DIVISION_ID OR @p_DIVISION_ID IS NULL OR @p_DIVISION_ID = '') AND (A.BUY_PRICE = @p_BUY_PRICE OR @p_BUY_PRICE IS NULL) AND (A.AMORT_AMT = @p_AMORT_AMT OR @p_AMORT_AMT IS NULL) AND (A.AMORT_MONTH = @p_AMORT_MONTH OR @p_AMORT_MONTH IS NULL) AND (A.AMORT_RATE = @p_AMORT_RATE OR @p_AMORT_RATE IS NULL) AND (A.IS_MULTIPLE = @p_IS_MULTIPLE OR @p_IS_MULTIPLE IS NULL OR @p_IS_MULTIPLE = '') AND (A.QTY = @p_QTY OR @p_QTY IS NULL OR @p_QTY = 0) AND (A.PO_ID = @p_PO_ID OR @p_PO_ID IS NULL OR @p_PO_ID = '') AND ((@p_TYPE = 'ADD_NEW' AND (A.REF_ASSET_ID IS NULL OR A.REF_ASSET_ID = '')) OR (@p_TYPE = 'ADD_REF' AND A.REF_ASSET_ID IS NOT NULL AND A.REF_ASSET_ID <> '')) AND (A.REF_ASSET_ID = @p_REF_ASSET_ID OR @p_REF_ASSET_ID IS NULL OR @p_REF_ASSET_ID='') AND (A.REF_AMORTIZED_AMT = @p_REF_AMORTIZED_AMT OR @p_REF_AMORTIZED_AMT IS NULL) AND (A.WARRANTY_MONTHS = @p_WARRANTY_MONTHS OR @p_WARRANTY_MONTHS IS NULL OR @p_WARRANTY_MONTHS = 0) AND (A.NOTES like N'%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '') AND (A.RECORD_STATUS = @p_RECORD_STATUS OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '') AND (A.AUTH_STATUS = @p_AUTH_STATUS OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '') AND (A.POSTED_STATUS = @p_POSTED_STATUS OR @p_POSTED_STATUS IS NULL OR @p_POSTED_STATUS = '') --AND (A.BRANCH_CREATE = @p_BRANCH_CREATE OR @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = '') AND (A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '') AND ((A.MAKER_ID_KT IS NOT NULL AND @p_KT_IS_DO = 'Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat OR ((A.MAKER_ID_KT IS NULL AND @p_KT_IS_DO = 'N')) OR @p_KT_IS_DO IS NULL OR @p_KT_IS_DO = '') AND ((ISNULL(A.QTY,0) * ISNULL(A.BUY_PRICE,0)) >= @p_PRICE_FROM OR @p_PRICE_FROM = 0 OR @p_PRICE_FROM IS NULL) AND ((ISNULL(A.QTY,0) * ISNULL(A.BUY_PRICE,0)) <= @p_PRICE_TO OR @p_PRICE_TO = 0 OR @p_PRICE_TO IS NULL) -- 26-02-2020 LUCTV BO SUNG DIEU KIEN TIM KIEM PHIEU NHAP KHO THEO NGUOI TAO PHIEU : THEO YEU CAU BO SUNG CHINH SUA CUA VCCB AND (A.MAKER_ID = @p_MAKER_ID OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '') -- NEW TRANG THAI PHIEU XUAT LA LUU NHAP HOAC TU CHOI THI CHI NGUOI TAO CO THE TIM THAY AND ((A.AUTH_STATUS IN ('E','R') AND A.MAKER_ID = @p_USER_LOGIN) OR (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV,GDDV_QLTS,TBP_QLTS,KSV_QLTS','DV0001','DEP000000000048') US WHERE US.TLNANME = @p_USER_LOGIN)) OR A.AUTH_STATUS NOT IN ('E','R') OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = '') -- 11-03-2022 HUYHT BO SUNG DIEU KIEN TIM KIEM PHIEU NHAP THEO QUYEN KIEM NHIEM AND ((@p_TYPE_SEARCH='HC' -- AND (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV',A.BRANCH_CREATE,A.DEPT_CREATE) US -- WHERE US.TLNANME = @p_USER_LOGIN)) AND (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV,GDDV_QLTS,TBP_QLTS,KSV_QLTS','DV0001','DEP000000000048') US WHERE US.TLNANME = @p_USER_LOGIN)) OR A.MAKER_ID = @p_USER_LOGIN) OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'ALL' AND A.BRANCH_CREATE IN (SELECT BRANCH_ID from @tmp)) OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'UNIT' AND A.BRANCH_CREATE = @p_BRANCH_CREATE) OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH ='') ORDER BY A.CREATE_DT DESC -- PAGING END ELSE -- PAGING BEGIN SELECT TOP (CONVERT(INT, @p_TOP)) A.ADDNEW_ID, A.BUY_DATE, A.[TYPE_ID], C.[TYPE_NAME], A.GROUP_ID, D.GROUP_CODE, D.GROUP_NAME, A.ASSET_NAME, A.ASSET_SERIAL_NO, A.ASSET_DESC, A.BRANCH_ID, A.AMORT_START_DATE, A.DEPT_ID, H.DEP_CODE, H.DEP_NAME, A.EMP_ID, G.EMP_CODE, G.EMP_NAME, A.DIVISION_ID, CASE WHEN A.TYPE_ID = 'TSCD' THEN ISNULL(A.BUY_PRICE,0) + ISNULL(A.PRICE_VAT,0) WHEN A.TYPE_ID = 'CCLD' THEN ISNULL(A.BUY_PRICE,0) -- ELSE END AS BUY_PRICE, CASE WHEN A.TYPE_ID = 'TSCD' THEN ISNULL(A.BUY_PRICE,0) + ISNULL(A.PRICE_VAT,0) WHEN A.TYPE_ID = 'CCLD' THEN ISNULL(A.BUY_PRICE,0) -- ELSE END AS AMORT_AMT, -- ISNULL(A.BUY_PRICE,0) + ISNULL(A.PRICE_VAT,0) AS BUY_PRICE, -- ISNULL(A.BUY_PRICE,0) + ISNULL(A.PRICE_VAT,0) AS AMORT_AMT, A.AMORT_MONTH, A.AMORT_RATE, A.IS_MULTIPLE, A.QTY, A.PO_ID, PO.PO_CODE, A.REF_ASSET_ID, I.ASSET_CODE AS REF_ASS_CODE, I.ASSET_NAME AS REF_ASS_NAME, A.REF_AMORTIZED_AMT, A.WARRANTY_MONTHS, A.NOTES, A.CORE_NOTE, A.RECORD_STATUS, A.AUTH_STATUS, B.CONTENT AS AUTH_STATUS_NAME,AKT.CONTENT AS AUTH_STATUS_NAME_KT, A.MAKER_ID, UM.TLFullName MAKER_NAME, A.CREATE_DT,--CONVERT(VARCHAR(10), A.CREATE_DT, 103) AS S_CREATE_DT A.CHECKER_ID, A.APPROVE_DT, A.ENTRY_BOOKED,A.CONSTRUCT_ID,A.POSTED_STATUS, A.BRANCH_CREATE,A.MAKER_ID_KT, A.CREATE_DT_KT,A.CHECKER_ID_KT,A.APPROVE_DT_KT,A.AUTH_STATUS_KT, E.BRANCH_CODE, F.DIV_CODE, E.BRANCH_NAME, (ISNULL(E.BRANCH_NAME,'') + ' '+ ISNULL(H.DEP_NAME,'')) AS RECEIVE_BRANCH , CREBRN.BRANCH_CODE AS R_BRANCH_CODE, CREBRN.BRANCH_NAME AS R_BRANCH_NAME, A.AMORT_END_DATE, A.ACCOUNT_GL, A.VAT, A.PRICE_VAT, (ISNULL(A.QTY,0) * ((ISNULL(A.BUY_PRICE,0)) + ISNULL(A.PRICE_VAT,0))) AS TOTAL_AMT --, G.SUP_CODE, G.SUP_NAME ,AP.ASSPO_ID AS ASS_PO_ID, AP.ADDNEW_ID AS ASS_PO_ADDNEWID, AP.PO_CODE AS ASS_PO_CODE, AP.INVOICE_NO AS AS_INVOICE_NO, AP.INVOICE_DATE AS ASS_INVOICE_DT,CREBRN.BRANCH_CODE+' - '+ CREBRN.BRANCH_NAME AS FULL_BRANCH_NAME ,D.GROUP_CODE +' - '+ D.GROUP_NAME GROUP_NAME_FULL, UM2.TLFullName AS CREATE_USER_NAME, UM3.TLFullName AS APPROVE_NAME_KT, UM4.TLFullName AS CREATE_USER_NAME_KT, @p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH, A.REQ_ID, A.REQ_CODE--- TRA VE THAM SO GAN VO CURRENT SEARCH TRANH GAY LOI O CAC MAN HINH -- SELECT END FROM ASS_ADDNEW A --LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS = B.AUTH_STATUS LEFT JOIN dbo.CM_ALLCODE B ON B.CDVAL = A.AUTH_STATUS AND B.CDNAME = 'ASS_ADD_AUTH' AND B.CDTYPE = 'ASS_ADDNEW' LEFT JOIN ASS_TYPE C ON A.[TYPE_ID] = C.[TYPE_ID] LEFT JOIN ASS_GROUP D ON A.GROUP_ID = D.GROUP_ID LEFT JOIN TL_USER UM ON UM.TLNANME = A.CHECKER_ID LEFT JOIN TL_USER UM2 ON UM2.TLNANME = A.MAKER_ID LEFT JOIN TL_USER UM3 ON UM2.TLNANME = A.CHECKER_ID_KT LEFT JOIN TL_USER UM4 ON UM4.TLNANME = A.MAKER_ID_KT LEFT JOIN TR_PO_MASTER PO ON PO.PO_ID = A.PO_ID LEFT JOIN CM_BRANCH E ON E.BRANCH_ID = A.BRANCH_ID LEFT JOIN CM_DIVISION F ON F.DIV_ID = A.DIVISION_ID LEFT JOIN CM_EMPLOYEE G ON G.EMP_ID = A.EMP_ID LEFT JOIN CM_DEPARTMENT H ON H.DEP_ID = A.DEPT_ID LEFT JOIN ASS_MASTER I ON I.ASSET_ID = A.REF_ASSET_ID --LEFT JOIN CM_AUTH_STATUS AKT ON AKT.AUTH_STATUS = A.AUTH_STATUS_KT LEFT JOIN dbo.CM_ALLCODE AKT ON AKT.CDVAL = A.AUTH_STATUS_KT AND AKT.CDNAME = 'ASS_ADD_AUTH' AND AKT.CDTYPE = 'ASS_ADDNEW' LEFT JOIN CM_BRANCH CREBRN ON CREBRN.BRANCH_ID = A.BRANCH_CREATE LEFT JOIN ASS_PO AP ON A.ADDNEW_ID = AP.ADDNEW_ID WHERE (A.ADDNEW_ID = @p_ADDNEW_ID OR @p_ADDNEW_ID IS NULL OR @p_ADDNEW_ID = '') -- -- TIM KIEM TU NGAY DEN NGAY O HC -- AND ((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.BUY_DATE,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')) -- OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') -- AND ((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.BUY_DATE,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = '')) -- OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') -- TIM KIEM TU NGAY DEN NGAY O HC AND ((@p_TYPE_SEARCH = 'HC' AND (@p_FR_BUY_DATE IS NULL AND @p_FR_BUY_DATE IS NULL OR @p_TO_BUY_DATE IS NULL AND (CONVERT(DATE, A.BUY_DATE, 103)) >= (CONVERT(DATE, @p_FR_BUY_DATE, 103)) OR @p_FR_BUY_DATE IS NULL AND (CONVERT(DATE, A.BUY_DATE, 103)) <= (CONVERT(DATE, @p_TO_BUY_DATE, 103)) OR (CONVERT(DATE, A.BUY_DATE, 103)) >= (CONVERT(DATE, @p_FR_BUY_DATE, 103)) AND (CONVERT(DATE, A.BUY_DATE, 103)) <= (CONVERT(DATE, @p_TO_BUY_DATE, 103)) ) OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')) -- -- TIM KIEM TU NGAY O KT -- AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '') -- AND (CONVERT(DATE,A.APPROVE_DT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')) -- OR ((A.MAKER_ID_KT IS NOT NULL OR A.MAKER_ID_KT <> '') -- AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')) -- OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')) -- OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')) -- OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')) -- OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')))))) -- OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') -- -- TIM KIEM DEN NGAY O KT -- AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '') -- AND (CONVERT(DATE,A.APPROVE_DT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = '')) -- OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '') -- AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = '')) -- OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = '')) -- OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = '')) -- OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = '')) -- OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = '')))))) -- OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') -- TIM KIEM TU NGAY O KT AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '') AND (((@p_FR_BUY_DATE IS NULL AND @p_FR_BUY_DATE IS NULL OR @p_TO_BUY_DATE IS NULL AND (CONVERT(DATE, A.BUY_DATE, 103)) >= (CONVERT(DATE, @p_FR_BUY_DATE, 103)) OR @p_FR_BUY_DATE IS NULL AND (CONVERT(DATE, A.BUY_DATE, 103)) <= (CONVERT(DATE, @p_TO_BUY_DATE, 103)) OR (CONVERT(DATE, A.BUY_DATE, 103)) >= (CONVERT(DATE, @p_FR_BUY_DATE, 103)) AND (CONVERT(DATE, A.BUY_DATE, 103)) <= (CONVERT(DATE, @p_TO_BUY_DATE, 103)) ))) OR ((A.MAKER_ID_KT IS NOT NULL OR A.MAKER_ID_KT <> '') AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')) OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')) OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')) OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')) OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')))))) OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')) AND (A.REQ_CODE like N'%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '') AND (A.[TYPE_ID] = @p_TYPE_ID OR @p_TYPE_ID IS NULL OR @p_TYPE_ID = '') AND (A.GROUP_ID = @p_GROUP_ID OR @p_GROUP_ID IS NULL OR @p_GROUP_ID = '') AND (D.GROUP_CODE = @l_GROUP_CODE OR @l_GROUP_CODE IS NULL OR @l_GROUP_CODE = '') AND (A.ASSET_NAME like N'%' + @p_ASSET_NAME + '%' OR @p_ASSET_NAME IS NULL OR @p_ASSET_NAME = '') AND (A.ASSET_SERIAL_NO like N'%' + @p_ASSET_SERIAL_NO + '%' OR @p_ASSET_SERIAL_NO IS NULL OR @p_ASSET_SERIAL_NO = '') AND (A.ASSET_DESC like N'%' + @p_ASSET_DESC + '%' OR @p_ASSET_DESC IS NULL OR @p_ASSET_DESC = '') AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '') AND (A.BUY_PRICE = @p_BUY_PRICE OR @p_BUY_PRICE IS NULL) AND (A.AMORT_AMT = @p_AMORT_AMT OR @p_AMORT_AMT IS NULL) AND (A.AMORT_MONTH = @p_AMORT_MONTH OR @p_AMORT_MONTH IS NULL) AND (A.AMORT_RATE = @p_AMORT_RATE OR @p_AMORT_RATE IS NULL) AND (A.IS_MULTIPLE = @p_IS_MULTIPLE OR @p_IS_MULTIPLE IS NULL OR @p_IS_MULTIPLE = '') AND (A.QTY = @p_QTY OR @p_QTY IS NULL OR @p_QTY = 0) AND (A.PO_ID = @p_PO_ID OR @p_PO_ID IS NULL OR @p_PO_ID = '') AND ((@p_TYPE = 'ADD_NEW' AND (A.REF_ASSET_ID IS NULL OR A.REF_ASSET_ID = '')) OR (@p_TYPE = 'ADD_REF' AND A.REF_ASSET_ID IS NOT NULL AND A.REF_ASSET_ID <> '')) AND (A.REF_ASSET_ID = @p_REF_ASSET_ID OR @p_REF_ASSET_ID IS NULL OR @p_REF_ASSET_ID='') AND (A.REF_AMORTIZED_AMT = @p_REF_AMORTIZED_AMT OR @p_REF_AMORTIZED_AMT IS NULL) AND (A.WARRANTY_MONTHS = @p_WARRANTY_MONTHS OR @p_WARRANTY_MONTHS IS NULL OR @p_WARRANTY_MONTHS = 0) AND (A.NOTES like N'%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '') AND (A.RECORD_STATUS = @p_RECORD_STATUS OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '') AND (A.AUTH_STATUS = @p_AUTH_STATUS OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '') AND (A.POSTED_STATUS = @p_POSTED_STATUS OR @p_POSTED_STATUS IS NULL OR @p_POSTED_STATUS = '') --AND (A.BRANCH_CREATE = @p_BRANCH_CREATE OR @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = '') AND (A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '') AND ((A.MAKER_ID_KT IS NOT NULL AND @p_KT_IS_DO = 'Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat OR ((A.MAKER_ID_KT IS NULL AND @p_KT_IS_DO = 'N')) OR @p_KT_IS_DO IS NULL OR @p_KT_IS_DO = '') AND ((ISNULL(A.QTY,0) * ISNULL(A.BUY_PRICE,0)) >= @p_PRICE_FROM OR @p_PRICE_FROM = 0 OR @p_PRICE_FROM IS NULL) AND ((ISNULL(A.QTY,0) * ISNULL(A.BUY_PRICE,0)) <= @p_PRICE_TO OR @p_PRICE_TO = 0 OR @p_PRICE_TO IS NULL) -- 26-02-2020 LUCTV BO SUNG DIEU KIEN TIM KIEM PHIEU NHAP KHO THEO NGUOI TAO PHIEU : THEO YEU CAU BO SUNG CHINH SUA CUA VCCB AND (A.MAKER_ID = @p_MAKER_ID OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '') -- NEW TRANG THAI PHIEU XUAT LA LUU NHAP HOAC TU CHOI THI CHI NGUOI TAO CO THE TIM THAY AND ((A.AUTH_STATUS IN ('E','R') AND A.MAKER_ID = @p_USER_LOGIN) OR (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV,GDDV_QLTS,TBP_QLTS,KSV_QLTS','DV0001','DEP000000000048') US WHERE US.TLNANME = @p_USER_LOGIN)) OR A.AUTH_STATUS NOT IN ('E','R') OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = '') -- 11-03-2022 HUYHT BO SUNG DIEU KIEN TIM KIEM PHIEU NHAP THEO QUYEN KIEM NHIEM AND ((@p_TYPE_SEARCH='HC' AND (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV,GDDV_QLTS,TBP_QLTS,KSV_QLTS','DV0001','DEP000000000048') US WHERE US.TLNANME = @p_USER_LOGIN)) OR A.MAKER_ID = @p_USER_LOGIN) OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'ALL' AND A.BRANCH_CREATE IN (SELECT BRANCH_ID from @tmp)) OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'UNIT' AND A.BRANCH_CREATE = @p_BRANCH_CREATE) OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH ='') ORDER BY A.CREATE_DT DESC -- PAGING END END -- PAGING GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_COLLECT_CONFIRM_MASTER_Search]' GO ALTER PROCEDURE [dbo].[ASS_COLLECT_CONFIRM_MASTER_Search] @p_COL_MULTI_MASTER_ID varchar(15) = NULL, @p_BRANCH_ID varchar(15) = NULL, @p_COLLECT_DT VARCHAR(20) = NULL, @p_USER_COLLECT nvarchar(200) = NULL, @p_USER_COLLECT_NAME nvarchar(200)=NULL, @p_NOTES nvarchar(1000) = NULL, @p_RECORD_STATUS varchar(1) = NULL, @p_AUTH_STATUS varchar(1) = NULL, @p_MAKER_ID varchar(100) = NULL, @p_CREATE_DT VARCHAR(20) = NULL, @p_CHECKER_ID varchar(100) = NULL, @p_APPROVE_DT VARCHAR(20) = NULL, @p_AUTH_STATUS_KT varchar(15) = NULL, @p_CREATE_DT_KT varchar(100) = NULL, @p_APPROVE_DT_KT VARCHAR(20) = NULL, @p_MAKER_ID_KT varchar(100) = NULL, @p_CHECKER_ID_KT varchar(100) = NULL, @p_REPORT_STATUS varchar(15) = NULL, @p_LEVEL VARCHAR(50) = 'UNIT', @p_TOP INT = NULL, @p_FromDate VARCHAR(20) = NULL, @p_TODATE VARCHAR(20) = NULL, @p_IS_UPDATE VARCHAR(1) = NULL, @p_USER_LOGIN VARCHAR(15), @p_TYPE_SEARCH VARCHAR(10)= NULL, @p_COLLECT_DT_FROM VARCHAR(50) = NULL, @p_COLLECT_DT_TO VARCHAR(50) = NULL AS BEGIN -- PAGING SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ---- set @p_RECORD_STATUS = '1' ---- DECLARE @ASSIGN_ROLES TABLE (BRANCH_ID VARCHAR(20), DEPT_ID VARCHAR(15), ROLE_ID VARCHAR(20)) INSERT INTO @ASSIGN_ROLES SELECT * FROM [dbo].[TL_USER_GET_ASSIGNED_BRANCH](@p_USER_LOGIN) -- GiaNT DECLARE @BRANCH_LOGIN VARCHAR(15), @DEP_LOGIN VARCHAR(15) SET @BRANCH_LOGIN = (SELECT TOP 1 TLSUBBRID FROM TL_USER WHERE TLNANME = @p_USER_LOGIN) SET @DEP_LOGIN = (SELECT TOP 1 DEP_ID FROM TL_USER WHERE TLNANME = @p_USER_LOGIN) -- GIANT 11/10/2021 DECLARE @BRANCH_TYPE VARCHAR(5) SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_LOGIN) IF(@p_TOP IS NULL OR @p_TOP = '' OR @p_TOP = 0) begin -- PAGING BEGIN SELECT A.*,C.BRANCH_CODE, C.BRANCH_NAME, F.AUTH_STATUS_NAME, T1.TLFullName AS MAKER_NAME,T2.TLFullName AS MAKER_NAME_KT,T3.TLFullName APPROVE_NAME, T4.TLFullName APPROVE_NAME_KT, ATKT.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_KT, C.BRANCH_CODE +' - '+ C.BRANCH_NAME AS FULL_BRANCH_NAME, @p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH, CASE WHEN ACCM.COL_MULTI_MASTER_CONFIRM_ID IS NOT NULL AND ACCM.COL_MULTI_MASTER_CONFIRM_ID <> '' THEN 'Y' ELSE 'N' END AS CONFIRM_STATUS, ISNULL(CA1.CONTENT,N'Chưa xác nhận') AS CONFIRM_STATUS_NAME, REQ.REQ_CODE, REQ.REQ_NAME -- SELECT END FROM ASS_COLLECT_MULTI_MASTER A LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID LEFT JOIN CM_AUTH_STATUS F ON A.AUTH_STATUS = F.AUTH_STATUS LEFT JOIN CM_AUTH_STATUS ATKT ON ATKT.AUTH_STATUS = A.AUTH_STATUS_KT LEFT JOIN TL_USER T1 ON A.MAKER_ID = T1.TLNANME LEFT JOIN TL_USER T2 ON A.MAKER_ID_KT = T2.TLNANME LEFT JOIN TL_USER T3 ON A.CHECKER_ID = T3.TLNANME LEFT JOIN TL_USER T4 ON A.CHECKER_ID_KT = T4.TLNANME --INNER JOIN (SELECT BRANCH_ID,COL_MULTI_MASTER_ID,COUNT(*) AS SL FROM ASS_COLLECT_MULTI_DT WHERE DEPT_ID_USE = @BRANCH_LOGIN GROUP BY BRANCH_ID,COL_MULTI_MASTER_ID) DTT ON DTT.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID LEFT JOIN TR_REQUEST_SHOP_DOC REQ ON A.REQ_ID = REQ.REQ_ID LEFT JOIN ASS_COLLECT_CONFIRM_MASTER ACCM ON A.COL_MULTI_MASTER_ID = ACCM.COL_MULTI_MASTER_ID LEFT JOIN CM_ALLCODE CA1 ON ACCM.CONFIRM_STATUS = CA1.CDVAL AND CA1.CDNAME = 'WARE_HOUSE_TRAN' AND CA1.CDTYPE = 'MW_TRAN' WHERE 1 = 1 AND (A.COL_MULTI_MASTER_ID LIKE '%' + @p_COL_MULTI_MASTER_ID + '%' OR @p_COL_MULTI_MASTER_ID IS NULL OR @p_COL_MULTI_MASTER_ID = '') AND (CONVERT(DATE,ISNULL(A.CREATE_DT_KT, A.COLLECT_DT),103) >= CONVERT(DATE,@p_FromDate, 103) OR @p_FromDate IS NULL OR @p_FromDate ='') AND (CONVERT(DATE,ISNULL(A.CREATE_DT_KT, A.COLLECT_DT),103) <= CONVERT(DATE,@p_TODATE, 103) OR @p_TODATE IS NULL OR @p_TODATE ='') AND (A.USER_COLLECT LIKE '%' + @p_USER_COLLECT + '%' OR @p_USER_COLLECT IS NULL OR @p_USER_COLLECT = '') AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '') AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '') AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '') AND (A.CREATE_DT =CONVERT(DATETIME, @p_CREATE_DT, 103) OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '') AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '') AND (A.APPROVE_DT =CONVERT(DATETIME, @p_APPROVE_DT, 103) OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '') AND (A.AUTH_STATUS_KT LIKE '%' + @p_AUTH_STATUS_KT + '%' OR @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '') AND (A.CREATE_DT_KT =CONVERT(DATETIME, @p_CREATE_DT_KT, 103) OR @p_CREATE_DT_KT IS NULL OR @p_CREATE_DT_KT = '') AND (A.APPROVE_DT_KT =CONVERT(DATETIME, @p_APPROVE_DT_KT, 103) OR @p_APPROVE_DT_KT IS NULL OR @p_APPROVE_DT_KT = '') AND (A.MAKER_ID_KT LIKE '%' + @p_MAKER_ID_KT + '%' OR @p_MAKER_ID_KT IS NULL OR @p_MAKER_ID_KT = '') AND (A.CHECKER_ID_KT LIKE '%' + @p_CHECKER_ID_KT + '%' OR @p_CHECKER_ID_KT IS NULL OR @p_CHECKER_ID_KT = '') AND (A.REPORT_STATUS LIKE '%' + @p_REPORT_STATUS + '%' OR @p_REPORT_STATUS IS NULL OR @p_REPORT_STATUS = '') AND A.RECORD_STATUS='1' AND (A.REPORT_STATUS LIKE '%' + @p_REPORT_STATUS + '%' OR @p_REPORT_STATUS IS NULL OR @p_REPORT_STATUS = '') -- GiaNT 28/09/2021 AND ( (@p_AUTH_STATUS = 'Y' AND A.COL_MULTI_MASTER_ID IN (SELECT G.COL_MULTI_MASTER_ID FROM ASS_COLLECT_CONFIRM_MASTER G)) OR (@p_AUTH_STATUS = 'N' AND A.COL_MULTI_MASTER_ID NOT IN (SELECT G.COL_MULTI_MASTER_ID FROM ASS_COLLECT_CONFIRM_MASTER G) OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '' ))) AND A.AUTH_STATUS = 'A' -- GiaNT 11/10/2021 --AND ( -- (@BRANCH_TYPE = 'HS' AND EXISTS (SELECT * FROM ASS_COLLECT_MULTI_DT WHERE A.COL_MULTI_MASTER_ID = ASS_COLLECT_MULTI_DT.COL_MULTI_MASTER_ID AND ASS_COLLECT_MULTI_DT.DEPT_ID_USE = @DEP_LOGIN)) -- OR (@BRANCH_TYPE <> 'HS' AND EXISTS (SELECT * FROM ASS_COLLECT_MULTI_DT WHERE A.COL_MULTI_MASTER_ID = ASS_COLLECT_MULTI_DT.COL_MULTI_MASTER_ID AND ASS_COLLECT_MULTI_DT.BRANCH_ID = @BRANCH_LOGIN)) --) -- TIM KIEM THEO TRUONG DON VI GIAO TAI SAN AND (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE_VB('GDDV,GDDV_QLTS,TBP_QLTS,KSV_QLTS', (SELECT TOP 1 DT.BRANCH_ID FROM ASS_COLLECT_MULTI_DT DT WHERE DT.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID ORDER BY COLLECT_MULTI_ID ASC), (SELECT TOP 1 DT.DEPT_ID_USE FROM ASS_COLLECT_MULTI_DT DT WHERE DT.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID ORDER BY COLLECT_MULTI_ID ASC)) US WHERE US.TLNANME = @p_USER_LOGIN)) AND (CONVERT(DATETIME,A.COLLECT_DT,103) >= CONVERT(DATETIME,@p_COLLECT_DT_FROM,103) OR @p_COLLECT_DT_FROM IS NULL OR @p_COLLECT_DT_FROM = '') AND (CONVERT(DATETIME,A.COLLECT_DT,103) <= CONVERT(DATETIME,@p_COLLECT_DT_TO,103) OR @p_COLLECT_DT_TO IS NULL OR @p_COLLECT_DT_TO = '') ORDER BY A.CREATE_DT DESC -- PAGING END end ELSE BEGIN -- PAGING BEGIN SELECT TOP(CONVERT(INT,@p_TOP))A.*,C.BRANCH_CODE, C.BRANCH_NAME, F.AUTH_STATUS_NAME, T1.TLFullName AS MAKER_NAME,T2.TLFullName AS MAKER_NAME_KT,T3.TLFullName APPROVE_NAME, T4.TLFullName APPROVE_NAME_KT, ATKT.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_KT, C.BRANCH_CODE +' - '+ C.BRANCH_NAME AS FULL_BRANCH_NAME, @p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH, CASE WHEN ACCM.COL_MULTI_MASTER_CONFIRM_ID IS NOT NULL AND ACCM.COL_MULTI_MASTER_CONFIRM_ID <> '' THEN 'Y' ELSE 'N' END AS CONFIRM_STATUS, ISNULL(CA1.CONTENT,N'Chưa xác nhận') AS CONFIRM_STATUS_NAME, REQ.REQ_CODE, REQ.REQ_NAME -- SELECT END FROM ASS_COLLECT_MULTI_MASTER A LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID LEFT JOIN CM_AUTH_STATUS F ON A.AUTH_STATUS = F.AUTH_STATUS LEFT JOIN CM_AUTH_STATUS ATKT ON ATKT.AUTH_STATUS = A.AUTH_STATUS_KT LEFT JOIN TL_USER T1 ON A.MAKER_ID = T1.TLNANME LEFT JOIN TL_USER T2 ON A.MAKER_ID_KT = T2.TLNANME LEFT JOIN TL_USER T3 ON A.CHECKER_ID = T3.TLNANME LEFT JOIN TL_USER T4 ON A.CHECKER_ID_KT = T4.TLNANME --INNER JOIN (SELECT BRANCH_ID,COL_MULTI_MASTER_ID,COUNT(*) AS SL FROM ASS_COLLECT_MULTI_DT WHERE DEPT_ID_USE = @BRANCH_LOGIN GROUP BY BRANCH_ID,COL_MULTI_MASTER_ID) DTT ON DTT.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID LEFT JOIN TR_REQUEST_SHOP_DOC REQ ON A.REQ_ID = REQ.REQ_ID LEFT JOIN ASS_COLLECT_CONFIRM_MASTER ACCM ON A.COL_MULTI_MASTER_ID = ACCM.COL_MULTI_MASTER_ID LEFT JOIN CM_ALLCODE CA1 ON ACCM.CONFIRM_STATUS = CA1.CDVAL AND CA1.CDNAME = 'WARE_HOUSE_TRAN' AND CA1.CDTYPE = 'MW_TRAN' WHERE 1 = 1 AND (A.COL_MULTI_MASTER_ID LIKE '%' + @p_COL_MULTI_MASTER_ID + '%' OR @p_COL_MULTI_MASTER_ID IS NULL OR @p_COL_MULTI_MASTER_ID = '') AND (CONVERT(DATE,ISNULL(A.CREATE_DT_KT, A.COLLECT_DT),103) >= CONVERT(DATE,@p_FromDate, 103) OR @p_FromDate IS NULL OR @p_FromDate ='') AND (CONVERT(DATE,ISNULL(A.CREATE_DT_KT, A.COLLECT_DT),103) <= CONVERT(DATE,@p_TODATE, 103) OR @p_TODATE IS NULL OR @p_TODATE ='') AND (A.USER_COLLECT LIKE '%' + @p_USER_COLLECT + '%' OR @p_USER_COLLECT IS NULL OR @p_USER_COLLECT = '') AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '') AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '') AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '') AND (A.CREATE_DT =CONVERT(DATETIME, @p_CREATE_DT, 103) OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '') AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '') AND (A.APPROVE_DT =CONVERT(DATETIME, @p_APPROVE_DT, 103) OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '') AND (A.AUTH_STATUS_KT LIKE '%' + @p_AUTH_STATUS_KT + '%' OR @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '') AND (A.CREATE_DT_KT =CONVERT(DATETIME, @p_CREATE_DT_KT, 103) OR @p_CREATE_DT_KT IS NULL OR @p_CREATE_DT_KT = '') AND (A.APPROVE_DT_KT =CONVERT(DATETIME, @p_APPROVE_DT_KT, 103) OR @p_APPROVE_DT_KT IS NULL OR @p_APPROVE_DT_KT = '') AND (A.MAKER_ID_KT LIKE '%' + @p_MAKER_ID_KT + '%' OR @p_MAKER_ID_KT IS NULL OR @p_MAKER_ID_KT = '') AND (A.CHECKER_ID_KT LIKE '%' + @p_CHECKER_ID_KT + '%' OR @p_CHECKER_ID_KT IS NULL OR @p_CHECKER_ID_KT = '') AND (A.REPORT_STATUS LIKE '%' + @p_REPORT_STATUS + '%' OR @p_REPORT_STATUS IS NULL OR @p_REPORT_STATUS = '') AND A.RECORD_STATUS='1' AND (A.REPORT_STATUS LIKE '%' + @p_REPORT_STATUS + '%' OR @p_REPORT_STATUS IS NULL OR @p_REPORT_STATUS = '') -- GiaNT 28/09/2021 AND ( (@p_AUTH_STATUS = 'Y' AND A.COL_MULTI_MASTER_ID IN (SELECT G.COL_MULTI_MASTER_ID FROM ASS_COLLECT_CONFIRM_MASTER G)) OR (@p_AUTH_STATUS = 'N' AND A.COL_MULTI_MASTER_ID NOT IN (SELECT G.COL_MULTI_MASTER_ID FROM ASS_COLLECT_CONFIRM_MASTER G) OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '' ))) AND A.AUTH_STATUS = 'A' -- GiaNT 11/10/2021 --AND ( -- (@BRANCH_TYPE = 'HS' AND EXISTS (SELECT * FROM ASS_COLLECT_MULTI_DT WHERE A.COL_MULTI_MASTER_ID = ASS_COLLECT_MULTI_DT.COL_MULTI_MASTER_ID AND ASS_COLLECT_MULTI_DT.DEPT_ID_USE = @DEP_LOGIN)) -- OR (@BRANCH_TYPE <> 'HS' AND EXISTS (SELECT * FROM ASS_COLLECT_MULTI_DT WHERE A.COL_MULTI_MASTER_ID = ASS_COLLECT_MULTI_DT.COL_MULTI_MASTER_ID AND ASS_COLLECT_MULTI_DT.BRANCH_ID = @BRANCH_LOGIN)) --) -- TIM KIEM THEO TRUONG DON VI GIAO TAI SAN AND (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE_VB('GDDV,GDDV_QLTS,TBP_QLTS,KSV_QLTS', (SELECT TOP 1 DT.BRANCH_ID FROM ASS_COLLECT_MULTI_DT DT WHERE DT.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID ORDER BY COLLECT_MULTI_ID ASC), (SELECT TOP 1 DT.DEPT_ID_USE FROM ASS_COLLECT_MULTI_DT DT WHERE DT.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID ORDER BY COLLECT_MULTI_ID ASC)) US WHERE US.TLNANME = @p_USER_LOGIN)) AND (CONVERT(DATETIME,A.COLLECT_DT,103) >= CONVERT(DATETIME,@p_COLLECT_DT_FROM,103) OR @p_COLLECT_DT_FROM IS NULL OR @p_COLLECT_DT_FROM = '') AND (CONVERT(DATETIME,A.COLLECT_DT,103) <= CONVERT(DATETIME,@p_COLLECT_DT_TO,103) OR @p_COLLECT_DT_TO IS NULL OR @p_COLLECT_DT_TO = '') ORDER BY A.CREATE_DT DESC -- PAGING END END END -- PAGING GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_ADDNEW_KT_BVB_Appr]' GO ALTER PROCEDURE [dbo].[ASS_ADDNEW_KT_BVB_Appr] @p_ADDNEW_ID VARCHAR(15) = NULL, @p_CHECKER_ID varchar(100) = NULL, @p_APPROVE_DT VARCHAR(20) = NULL AS DECLARE @l_SUP_ID varchar(15) DECLARE @l_BUY_DATE datetime = NULL DECLARE @l_TYPE_ID varchar(15) = NULL DECLARE @l_GROUP_ID varchar(15) = NULL DECLARE @l_ASSET_NAME nvarchar(1000) = NULL DECLARE @l_ASSET_SERIAL_NO nvarchar(max) = NULL DECLARE @l_ASSET_DESC nvarchar(max) = NULL DECLARE @l_BRANCH_ID varchar(15) = NULL DECLARE @l_DEPT_ID varchar(15) = NULL DECLARE @l_EMP_ID varchar(15) = NULL DECLARE @l_DIVISION_ID varchar(15) = NULL DECLARE @l_BUY_PRICE decimal(18) = NULL DECLARE @l_AMORT_AMT decimal(18) = NULL DECLARE @l_AMORT_MONTH decimal(18,2) = NULL DECLARE @l_AMORT_RATE decimal(18,2) = NULL DECLARE @l_IS_MULTIPLE varchar(1) = NULL DECLARE @l_QTY int = NULL DECLARE @l_PO_ID varchar(15) = NULL DECLARE @l_PD_ID varchar(15) = NULL DECLARE @l_REF_ASSET_ID varchar(15) = NULL DECLARE @l_REF_AMORTIZED_AMT decimal(18) = NULL DECLARE @l_WARRANTY_MONTHS int = NULL DECLARE @l_NOTES nvarchar(1000) = NULL DECLARE @l_CORE_NOTE nvarchar(500) = NULL declare @l_ENTRY_BOOKED varchar(1) = null DECLARE @l_MAKER_ID varchar(15) DECLARE @l_AUTH_STATUS_KT varchar(1) declare @l_DO_BRANCH_ID varchar(15) DECLARE @l_CONSTRUCT_ID varchar(15) = NULL DECLARE @l_USE_DATE_KT DATETIME = NULL DECLARE @l_AMORTIZED_AMT DECIMAL = 0 DECLARE @l_AMORTIZED_MONTH DECIMAL = 0 DECLARE @l_AMORT_STATUS nvarchar(20) DECLARE @l_AMORT_START_DATE datetime, @l_AMORT_END_DATE datetime DECLARE @l_FIRST_AMORT_AMT numeric(18,0) DECLARE @l_MONTHLY_AMT numeric(18,0) DECLARE @l_HO_BRN_ID varchar(15) DECLARE @l_WAH_ID varchar(15) DECLARE @sToday varchar(10) = convert(varchar(10), getdate(), 103) DECLARE @l_USE_DATE varchar(15) DECLARE @l_AMORTDT_ID VARCHAR(15) = NULL DECLARE @l_ASS_TYPE varchar(1) = '1' declare @l_TRN_REF_NO varchar(20) DECLARE @l_ET_ID varchar(15) DECLARE @l_VALUE_ID varchar(15) DECLARE @l_ASSET_ID varchar(15) DECLARE @l_ASSET_CODE nvarchar(100) DECLARE @l_WAHDT_ID varchar(15) DECLARE @l_LOCHIST_ID varchar(15) DECLARE @PRICE_NONE_VAT DECIMAL(18,0) DECLARE @PRICE_VAT DECIMAL(18,0) DECLARE @l_SUPPEND_GL varchar(50) DECLARE @l_ASSET_GL varchar(50) declare @l_ASSET_VALUE decimal(18,0) DECLARE @l_EXP_ACCTNO varchar(50)--TK CHI PHI DECLARE @l_AMORT_ACCTNO varchar(50)--TK CHO PHAN BO DECLARE @l_PAY_HS_ACCTNO VARCHAR(50) DECLARE @_BUY_TS_ACCTNO VARCHAR(50) DECLARE @l_WAIT_AMORT VARCHAR(50) DECLARE @l_TRANFER_ACCTNO VARCHAR(50) DECLARE @l_DR_BRANCH VARCHAR(15) -- DV GHI NO DECLARE @ERRORSYS NVARCHAR(15) = '' DECLARE @ACCOUNT_GL VARCHAR(50), @ACCOUNT_VAT VARCHAR(50) DECLARE @i INT, @l_USE_DATE_CUR DATETIME = NULL DECLARE @l_CURR_AMORT_AMT DECIMAL(18,0) = 0 DECLARE @sExecDT DATETIME DECLARE @l_AMORT_TERM VARCHAR(500), @l_AMORT_DESC VARCHAR(500) DECLARE @l_OLD_QT INT, @l_CUR_QT INT -- 26/12/2014 THIEUVQ DECLARE @l_IS_AMORT_WR VARCHAR(1) = '1' --THIEUVQ 27/07/2015 THEM DIEU KIEN KIEM TRA KHI NAO GHI NHAN KHAU HAO DECLARE @l_BRANCH_CREATE VARCHAR(15), @BRN_TYPE_TRN VARCHAR(15), @BRN_TYPE_REC VARCHAR(15), @TCCT_TRN_ACCTNO VARCHAR(50), @TCCT_REC_ACCTNO VARCHAR(50) DECLARE @l_VAT DECIMAL(18,0), @ERROR NVARCHAR(500) = '' DECLARE @l_COST_MASTER_ID VARCHAR(15) DECLARE @l_COSTDT_ID VARCHAR(15) DECLARE @CUR_DATE DATETIME = GETDATE() -- khiemchg bo sung thong tin pyc DECLARE @REQ_ID VARCHAR(15) DECLARE @REQ_CODE VARCHAR(50) DECLARE @ASS_CONTRACT_CODE VARCHAR(50) DECLARE @PL_CODE VARCHAR(50) --check ngày khấu hao null IF (EXISTS(SELECT 1 FROM ASS_ADDNEW WHERE ADDNEW_ID =@p_ADDNEW_ID AND BRANCH_ID IS NOT NULL AND AMORT_START_DATE IS NULL)) BEGIN SELECT '-1' AS Result, '' ADDNEW_ID, N'Thông tin ngày bắt đầu phân bổ không hợp lệ' ErrorDesc RETURN '-1' END --lay thong tin giao dich SELECT @l_BUY_DATE = BUY_DATE, @l_TYPE_ID = A.[TYPE_ID], @l_GROUP_ID = A.GROUP_ID, @l_ASSET_NAME = ASSET_NAME, @l_ASSET_SERIAL_NO = ASSET_SERIAL_NO, @l_ASSET_DESC = ASSET_DESC, @l_CONSTRUCT_ID = CONSTRUCT_ID, @l_BRANCH_ID = BRANCH_ID, @l_DEPT_ID = DEPT_ID, @l_EMP_ID = EMP_ID, @l_DIVISION_ID = DIVISION_ID, @l_BUY_PRICE = BUY_PRICE, @l_AMORT_AMT = AMORT_AMT, @l_AMORT_START_DATE = AMORT_START_DATE, @l_AMORT_MONTH = A.AMORT_MONTH, --@l_AMORT_MONTH = CASE WHEN G.AMORT_MONTH<>0 THEN G.AMORT_MONTH ELSE A.AMORT_MONTH END, @l_AMORT_RATE = A.AMORT_RATE, @l_CORE_NOTE = A.CORE_NOTE, @l_IS_MULTIPLE = IS_MULTIPLE, @l_QTY = QTY, @l_PO_ID = PO_ID,@l_PD_ID=PD_ID, @l_REF_ASSET_ID = REF_ASSET_ID, @l_REF_AMORTIZED_AMT = REF_AMORTIZED_AMT, @l_WARRANTY_MONTHS = WARRANTY_MONTHS, @l_NOTES = A.NOTES, @l_ENTRY_BOOKED = ENTRY_BOOKED, @l_MAKER_ID = A.MAKER_ID_KT, @l_AUTH_STATUS_KT = A.AUTH_STATUS_KT, @ACCOUNT_GL = A.ACCOUNT_GL, @PRICE_VAT = A.PRICE_VAT,@l_BRANCH_CREATE= A.BRANCH_CREATE, @l_VAT = A.VAT ,@REQ_CODE = A.REQ_CODE, @REQ_ID = A.REQ_ID, @ASS_CONTRACT_CODE = A.CONTRACT_ID, @PL_CODE = A.PL_CODE FROM ASS_ADDNEW A INNER JOIN ASS_GROUP G on G.GROUP_ID = A.GROUP_ID WHERE ADDNEW_ID = @p_ADDNEW_ID IF @@Error <> 0 GOTO ABORT ------LUCTV: 21-12-2018KIEM TRA NEU TINH TRANG DANG LA 'R' THI KHONG CHO PHEP DUYET----- IF(EXISTS(SELECT * FROM ASS_ADDNEW WHERE AUTH_STATUS_KT ='R' AND ADDNEW_ID =@p_ADDNEW_ID)) BEGIN --ROLLBACK TRANSACTION SELECT '-1' as Result, '' ADDNEW_ID, N'Thông tin nhập mới tài sản đang bị trả về. Vui lòng cập nhật lại thông tin trước khi duyệt' ErrorDesc RETURN '-1' END IF(EXISTS(SELECT * FROM ASS_ADDNEW WHERE AUTH_STATUS_KT ='A' AND ADDNEW_ID =@p_ADDNEW_ID)) BEGIN --ROLLBACK TRANSACTION SELECT '-1' as Result, '' ADDNEW_ID, N'Phiếu nhập mới đã được duyệt.' ErrorDesc RETURN '-1' END ------LUCTV: 21-12-2021 KIEM TRA NEU GDV CHUA CAP NHAT PHIEU THI KHONG CHO PHEP DUYET----- IF((SELECT MAKER_ID_KT FROM ASS_ADDNEW WHERE ADDNEW_ID =@p_ADDNEW_ID) IS NULL) BEGIN --ROLLBACK TRANSACTION SELECT '-1' as Result, '' ADDNEW_ID, N'Thông tin nhập mới tài sản đang bị trả về. Vui lòng cập nhật lại thông tin trước khi duyệt' ErrorDesc RETURN '-1' END /*******DIEN GIAI PHAN BO CHI PHI ***********/ SET @l_AMORT_DESC = 'PHAN BO CHI PHI CCLD KY ' + convert(varchar(10),month(getdate())) + ' ' + convert(varchar(10),year(getdate())) /********** chekc vadilation ************/ IF (@l_AUTH_STATUS_KT = 'A') SET @ERRORSYS = 'ASS-99998' /*********** Kiem tra gia tri khau hao voi gia tri 30Tr **************/ SELECT @l_ASSET_VALUE = CONVERT(decimal(18,0), ParaValue) FROM SYS_PARAMETERS WHERE ParaKey = 'ASSET_VALUE' IF (@l_TYPE_ID = 'CCLD' AND @l_AMORT_AMT > @l_ASSET_VALUE) SET @ERRORSYS = 'ASS-00011' --IF @l_AMORT_MONTH < 1 AND @l_AMORT_MONTH IS NOT NULL AND @l_AMORT_MONTH <> '' --BEGIN -- SET @ERRORSYS = 'ASS-00020' --END --IF (@l_ASS_TYPE = 'TSCD' AND @l_AMORT_AMT < @l_ASSET_VALUE) -- SET @ERRORSYS = 'ASS-00012' /************ Xuat tai san thi phai hach toan tang tai sai ****************/ --IF (@l_ENTRY_BOOKED = 'N' AND (@l_BRANCH_ID IS NOT NULL OR @l_BRANCH_ID <>'')) -- SET @ERRORSYS = 'ASS-00013' /*************** Doi voi CCLD phai khau hao het trong nam tai chinh ***********/ --Tinh ngay ket thuc khau hao SET @l_AMORT_END_DATE = DATEADD(MONTH, @l_AMORT_MONTH, @l_AMORT_START_DATE) - 1 IF @ERRORSYS <> '' BEGIN SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS RETURN '0' END --Lay thong tin nha cung cap SELECT @l_SUP_ID = SUP_ID FROM TR_PO_MASTER A WHERE A.PO_ID = @l_PO_ID --BRN_ID HOI SO SELECT @l_HO_BRN_ID = BRANCH_ID FROM CM_BRANCH A WHERE A.BRANCH_TYPE = 'HS' --Lay thong tin kho mac dinh --SELECT @l_WAH_ID = P.ParaValue FROM SYS_PARAMETERS P WHERE P.ParaKey='ASSET_WAREHOUSE' SET @l_WAH_ID = @l_BRANCH_CREATE --Lay suppend GL - THIEUVQ 26092016 - GHI NHAN THEO TAI KHOAN NHAP TU PHAN MEM --SET @l_SUPPEND_GL = UPPER(@ACCOUNT_GL) + 'XXXX' --SELECT @l_SUPPEND_GL = A.ParaValue FROM SYS_PARAMETERS A WHERE A.ParaKey='ASSET_SUPPEND_GL' --SELECT * FROM SYS_PARAMETERS A WHERE A.ParaKey='ASSET_SUPPEND_GL' ----THIEUVQ - 30/05/2014 DOI VOI CCLD THI GHI NHAN TAI DON VI --SET @l_SUPPEND_GL = SUBSTRING(@l_SUPPEND_GL,1,LEN(@l_SUPPEND_GL) - 4) + 'XXXX' --TAI KHOAN HACH TOAN VAT SET @ACCOUNT_VAT = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='ACC_VAT') --- TAI KHOAN PHAI TRA HS --NẾU XSD THÌ TĂNG TÀI SẢN IF(@l_TYPE_ID='TSCD') BEGIN IF(@l_BRANCH_ID IS NOT NULL OR @l_BRANCH_ID <> '') BEGIN SET @l_ENTRY_BOOKED = 'Y' END ELSE IF(@l_BRANCH_ID IS NULL OR @l_BRANCH_ID = '') BEGIN SET @l_ENTRY_BOOKED = 'N' END SET @l_BUY_PRICE = @l_BUY_PRICE + @PRICE_VAT SET @l_AMORT_AMT = @l_BUY_PRICE END SET @l_TRANFER_ACCTNO =(SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='TRANSFER') SET @l_PAY_HS_ACCTNO = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='PAY_HS') SET @_BUY_TS_ACCTNO = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='BUY_TSCD' AND epa.GROUP_ID=(SELECT AG.PARENT_ID FROM ASS_GROUP AG WHERE AG.GROUP_ID = (SELECT AG.PARENT_ID FROM ASS_GROUP AG WHERE AG.GROUP_ID = @l_GROUP_ID))) SET @l_WAIT_AMORT = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='AMORT_CCLD') --ASSET_GL SELECT @l_ASSET_GL = ASSET_ACCTNO, @l_EXP_ACCTNO = EXP_ACCTNO, @l_AMORT_ACCTNO = AMORT_ACCTNO FROM ASS_GROUP A WHERE A.GROUP_ID = @l_GROUP_ID --Lay branch_id cua user duyet select @l_DO_BRANCH_ID = a.TLSUBBRID from TL_USER a where a.TLNANME = @p_CHECKER_ID --Trang thai khau hao IF (@l_BRANCH_ID IS NULL OR @l_BRANCH_ID = '') --Chua xuat su dung BEGIN SET @l_AMORT_STATUS = 'VNM' SET @l_AMORT_START_DATE = NULL SET @l_AMORT_END_DATE = NULL SET @l_MONTHLY_AMT = NULL SET @l_FIRST_AMORT_AMT = NULL SET @l_USE_DATE = NULL END ELSE IF @l_AMORT_MONTH = 0 OR @l_AMORT_START_DATE IS NULL OR @l_AMORT_START_DATE = '' BEGIN SET @l_AMORT_STATUS = 'KKH' SET @l_AMORT_START_DATE = NULL SET @l_AMORT_END_DATE = NULL SET @l_MONTHLY_AMT = 0 SET @l_FIRST_AMORT_AMT = 0 SET @l_USE_DATE = @sToday SET @l_USE_DATE_KT = CONVERT(DATETIME, @sToday, 103) END ELSE BEGIN SET @l_AMORT_STATUS = 'CKH' SET @l_USE_DATE = @sToday SET @l_USE_DATE_KT = CONVERT(DATETIME, @sToday, 103) --Ngay bat dau khau hao mac dinh la ngay hien tai IF(@l_AMORT_START_DATE IS NULL) ---THIEUVQ MOI THEM BEGIN SET @l_AMORT_START_DATE = GETDATE() END --Tinh so tien khau hao thang dau tien va so tien khau hao hang thang SET @l_MONTHLY_AMT = ROUND(@l_AMORT_AMT / @l_AMORT_MONTH, 0) --SET @l_FIRST_AMORT_AMT = @l_MONTHLY_AMT -- IF(@l_TYPE_ID='TSCD') --BEGIN DECLARE @AMORT_ON_DAY DECIMAL(18,0) SET @AMORT_ON_DAY = ROUND(@l_MONTHLY_AMT/dbo.[FN_GetDaysInMonth](@l_AMORT_START_DATE),0) SET @l_FIRST_AMORT_AMT = ROUND(@AMORT_ON_DAY * (DATEDIFF(day,@l_AMORT_START_DATE, dbo.FN_GetLastDayOfMonth(@l_AMORT_START_DATE)) + 1), 0) --END IF(DAY(@l_AMORT_START_DATE)=1) SET @l_FIRST_AMORT_AMT=@l_MONTHLY_AMT -- ELSE -- SET @l_FIRST_AMORT_AMT = @l_MONTHLY_AMT END DECLARE @ASSID_TEMP TABLE([ID] [int] IDENTITY(1,1) NOT NULL, ASSET_ID VARCHAR(15)) --INSERT INTO @ASSID_TEMP SELECT A FROM ASS_MASTER AA WHERE AA.ADD = @p_ADDNEW_ID INSERT INTO @ASSID_TEMP SELECT AT.ASSET_ID FROM ASS_TRANSACTIONS AT WHERE AT.TRN_ID = @p_ADDNEW_ID AND AT.TRN_TYPE ='ADD_NEW' BEGIN TRANSACTION --UPDATE GIAO DICH ADDNEW --IF(@l_IS_MULTIPLE = '1') BEGIN--Phân lại seri nếu thêm vào lúc kế toán DECLARE @l_LSTSERI TABLE ( [ID] [int] IDENTITY(1,1) NOT NULL, [VALUE] [NVARCHAR](MAX) NULL) DECLARE @l_SERI VARCHAR(MAX) = NULL INSERT INTO @l_LSTSERI SELECT VALUE FROM WSISPLIT(@l_ASSET_SERIAL_NO,',') --Phân lại seri nếu thêm vào lúc kế toán END UPDATE ASS_ADDNEW SET AUTH_STATUS_KT = 'A', CHECKER_ID_KT = @p_CHECKER_ID, APPROVE_DT_KT = CONVERT(DATETIME, @p_APPROVE_DT, 103) , POSTED_STATUS = 'Y' WHERE ADDNEW_ID = @p_ADDNEW_ID IF @@Error <> 0 GOTO ABORT DECLARE @l_TRN_NO VARCHAR(15), @l_MAKER_KT VARCHAR(100) SET @l_MAKER_KT = (SELECT aa.MAKER_ID_KT FROM ASS_ADDNEW aa WHERE aa.ADDNEW_ID = @p_ADDNEW_ID) EXEC ENTRIES_POST_GEN_NO @p_BRANCH_ID = @l_MAKER_KT ,@p_TRN_DATE = @p_APPROVE_DT ,@p_KeyGen = @l_TRN_NO OUT --IF (@l_IS_MULTIPLE = '0') --nhap tai san don le DECLARE @int INT = 1 WHILE (@int <= (SELECT COUNT(*) FROM @ASSID_TEMP)) BEGIN SET @l_ASSET_ID = (SELECT ASSET_ID FROM @ASSID_TEMP WHERE ID = @int) SET @l_SERI = (SELECT VALUE FROM @l_LSTSERI WHERE ID = @int) --Phat sinh ma tai san EXEC ASS_CODE_Gen_VB @l_ASSET_CODE OUT IF @l_ASSET_CODE = '' OR @l_ASSET_CODE IS NULL GOTO ABORT --Insert bang ASS_MASTER UPDATE ASS_MASTER SET [TYPE_ID] = @l_TYPE_ID, [GROUP_ID] = @l_GROUP_ID, [ASSET_CODE] = @l_ASSET_CODE, [ASSET_NAME] = @l_ASSET_NAME, [ASSET_SERIAL_NO] = @l_SERI, [ASSET_DESC] = @l_ASSET_DESC, [SUP_ID] = @l_SUP_ID, [BUY_PRICE] = @l_BUY_PRICE, [AMORT_AMT] = @l_AMORT_AMT, [ASS_TYPE] = @l_ASS_TYPE, -- [BRANCH_ID] = @l_BRANCH_ID, -- [DEPT_ID] = @l_DEPT_ID, -- [EMP_ID] = @l_EMP_ID, -- [DIVISION_ID] = @l_DIVISION_ID, [BUY_DATE] = CONVERT(DATETIME, @l_BUY_DATE, 103), [USE_DATE] = CONVERT(DATETIME, @l_USE_DATE, 103), [SPECIAL_ASS] = '0', [AMORT_MONTH] = @l_AMORT_MONTH, [AMORT_RATE] = @l_AMORT_RATE, [AMORT_START_DATE] = @l_AMORT_START_DATE, [AMORT_END_DATE] = @l_AMORT_END_DATE, [FIRST_AMORT_AMT] = @l_FIRST_AMORT_AMT, [MONTHLY_AMORT_AMT] = @l_MONTHLY_AMT, [AMORTIZED_MONTH] = 0, [AMORTIZED_AMT] = 0, [PO_ID] = @l_PO_ID, [PD_ID] = @l_PD_ID, [WAREHOUSE_ID] = NULL, [LOCATION] = NULL, [REF_ASSET_ID] = @l_REF_ASSET_ID, [REF_AMORTIZED_AMT] = @l_REF_AMORTIZED_AMT, [WARRANTY_MONTHS] = @l_WARRANTY_MONTHS, [NOTES] = @l_NOTES, [AMORT_STATUS] = @l_AMORT_STATUS, [ASS_STATUS] = '1', [ASS_STATUS_DESC] = N'', [ENTRY_BOOKED] = @l_ENTRY_BOOKED, [RECORD_STATUS] = '1', [AUTH_STATUS] = 'A', [MAKER_ID] = @l_MAKER_ID, [CREATE_DT] = CONVERT(DATETIME, @sToday, 103), [CHECKER_ID] = @p_CHECKER_ID, [APPROVE_DT] = CONVERT(DATETIME, @p_APPROVE_DT, 103), [CONSTRUCT_ID] = @l_CONSTRUCT_ID, [USE_STATUS] = 'BT', [BRANCH_CREATE] = @l_BRANCH_CREATE, [ACCOUNT_GL] = @ACCOUNT_GL, VAT = @l_VAT, PRICE_VAT = @PRICE_VAT, [BUY_DATE_KT] = CONVERT(DATETIME, @sToday, 103), [USE_DATE_KT] = @l_USE_DATE_KT, ASS_CODE_TMP = @l_ASSET_CODE, ASS_CONTRACT_CODE = @ASS_CONTRACT_CODE, PL = @PL_CODE WHERE ASSET_ID = @l_ASSET_ID SET @l_ASSET_CODE= (SELECT am.ASSET_CODE FROM ASS_MASTER am WHERE am.ASSET_ID=@l_ASSET_ID) IF @@Error <> 0 GOTO ABORT DECLARE @l_ETP_ID VARCHAR(20),@l_D_BRANCH_CODE VARCHAR(25) , @l_C_BRANCH_CODE VARCHAR(25), @l_DEP_CODE VARCHAR(20) SET @l_C_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_CREATE) SET @l_D_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_CREATE) --IF (@l_ENTRY_BOOKED = 'Y') --Neu nhap TS va hach toan tang tai san IF (@l_ENTRY_BOOKED = 'Y' ) --Neu nhap TS va hach toan tang tai san thieuvq 15/04/2014 BEGIN --insert dbo.ASS_VALUES EXEC SYS_CodeMasters_Gen 'ASS_VALUES', @l_VALUE_ID out IF @l_VALUE_ID='' OR @l_VALUE_ID IS NULL GOTO ABORT INSERT INTO ASS_VALUES ( VALUE_ID, ASSET_ID, BRANCH_ID, TRN_DT, CRDR, ASSET_AMT, [DESCRIPTION], TRN_ID, TRN_TYPE, RECORD_STATUS, AUTH_STATUS, MAKER_ID, CREATE_DT, CHECKER_ID, APPROVE_DT, AMORT_AMT ) VALUES ( @l_VALUE_ID, @l_ASSET_ID, @l_BRANCH_CREATE, CONVERT(datetime, @sToday, 103), 'C', @l_BUY_PRICE, N'NHAP MOI TSCD/CCLD', @p_ADDNEW_ID, 'ASS_ADDNEW', '1','A',@l_MAKER_ID, CONVERT(datetime, @sToday, 103), @p_CHECKER_ID, CONVERT(datetime, @sToday, 103), @l_AMORT_AMT ) IF @@Error <> 0 GOTO ABORT IF(@l_TYPE_ID='TSCD') BEGIN IF(@l_BRANCH_ID IS NOT NULL OR @l_BRANCH_ID <>'') BEGIN SET @l_C_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID) SET @l_D_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID) SET @l_DEP_CODE = ( SELECT cd.DEP_CODE FROM CM_DEPARTMENT cd WHERE cd.DEP_ID=@l_DEPT_ID) END EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_PAY_HS_ACCTNO, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_CREATE, @l_BUY_PRICE, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID, @l_ET_ID OUT EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_ADDNEW_ID,@l_D_BRANCH_CODE ,@l_ASSET_GL,'VND', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_C_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE,@l_TRN_NO); END ELSE IF (@l_TYPE_ID='CCLD') BEGIN IF(@l_BRANCH_ID IS NOT NULL OR @l_BRANCH_ID <>'') BEGIN SET @l_C_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID) SET @l_D_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID) SET @l_DEP_CODE = ( SELECT cd.DEP_CODE FROM CM_DEPARTMENT cd WHERE cd.DEP_ID=@l_DEPT_ID) END EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_PAY_HS_ACCTNO, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_CREATE, @l_BUY_PRICE, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID, @l_ET_ID OUT --- Hạch toán nhập CCLĐ: EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_ADDNEW_ID,@l_D_BRANCH_CODE ,@l_ASSET_GL,'VND', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_C_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'C', @l_BUY_PRICE + @PRICE_VAT,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE,@l_TRN_NO); IF(@PRICE_VAT >0) BEGIN EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_ADDNEW_ID,@l_D_BRANCH_CODE ,@ACCOUNT_VAT,'VND', 'D', @PRICE_VAT, 1, @PRICE_VAT, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE,@l_TRN_NO); END -- EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_WAIT_AMORT, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', -- @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD' -- @l_ET_ID OUT -- --Đồng thời kết chuyển tài khoản CCLĐ đang dùng sang tài khoản chờ phân bổ: -- EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out -- -- INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS) -- VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_ASSET_GL, 'LCY', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE); -- EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out -- -- INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS) -- VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_WAIT_AMORT, 'LCY', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE); END END ELSE IF @l_TYPE_ID = 'TSCD' BEGIN --Insert vao bang dbo.ASS_ENTRIES_POST EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_PAY_HS_ACCTNO, @l_BRANCH_CREATE, @_BUY_TS_ACCTNO, @l_BRANCH_CREATE, @l_BUY_PRICE, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_ADDNEW_ID,@l_D_BRANCH_CODE ,@_BUY_TS_ACCTNO,'VND', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_C_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE,@l_TRN_NO); END --Insert nhap kho EXEC SYS_CodeMasters_Gen 'ASS_WAREHOUSE_DT', @l_WAHDT_ID out IF @l_WAHDT_ID='' OR @l_WAHDT_ID IS NULL GOTO ABORT INSERT INTO ASS_WAREHOUSE_DT(WAHDT_ID, WAH_ID, ASSET_ID, IN_DATE, OUT_DATE, STATUS) VALUES(@l_WAHDT_ID, @l_WAH_ID, @l_ASSET_ID, GETDATE(), NULL, 'I') IF @@Error <> 0 GOTO ABORT IF @l_BRANCH_ID IS NOT NULL AND @l_BRANCH_ID <> '' BEGIN PRINT 'A' UPDATE ASS_WAREHOUSE_DT SET OUT_DATE = GETDATE(), STATUS = 'O' WHERE WAHDT_ID = @l_WAHDT_ID IF @@Error <> 0 GOTO ABORT IF @l_BRANCH_CREATE <> @l_BRANCH_ID BEGIN SET @l_C_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_CREATE) SET @l_D_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID) SET @l_DEP_CODE = ( SELECT cd.DEP_CODE FROM CM_DEPARTMENT cd WHERE cd.DEP_ID=@l_DEPT_ID) IF @l_TYPE_ID = 'TSCD' BEGIN SELECT @BRN_TYPE_TRN = BRANCH_TYPE,@TCCT_TRN_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_CREATE SELECT @BRN_TYPE_REC = BRANCH_TYPE, @TCCT_REC_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_ID /*****THIEUVQ 211118 - CHAU XAC NHAN KHONG HACH TOAN QUA TK TRUNG GIAN NUA*******/ ----NEU CN XUAT CHO PGD THI KHONG HACH TOAN THONG QUA TK TRUNG GIAN TCCT --IF @BRN_TYPE_TRN = 'CN' AND @BRN_TYPE_REC = 'PGD' --BEGIN -- EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_USE', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_TRANFER_ACCTNO, @l_BRANCH_CREATE, @l_BUY_PRICE, 'Y', -- @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD' -- @l_ET_ID OUT -- -- EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out -- -- INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS) -- VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_C_BRANCH_CODE , @l_ASSET_GL, 'LCY', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE); -- -- EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out -- -- INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS) -- VALUES (@l_ETP_ID, @l_ET_ID, @p_ADDNEW_ID,@l_C_BRANCH_CODE ,@l_TRANFER_ACCTNO,'LCY', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE); -- -- EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_USE', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_TRANFER_ACCTNO, @l_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', -- @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD' -- @l_ET_ID OUT -- -- EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out -- -- INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS) -- VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_TRANFER_ACCTNO, 'LCY', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE); -- -- EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out -- -- INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS) -- VALUES (@l_ETP_ID, @l_ET_ID, @p_ADDNEW_ID,@l_D_BRANCH_CODE ,@l_ASSET_GL,'LCY', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE); -- END ELSE ---CCLD BEGIN SELECT @BRN_TYPE_TRN = BRANCH_TYPE,@TCCT_TRN_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_CREATE SELECT @BRN_TYPE_REC = BRANCH_TYPE, @TCCT_REC_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_ID EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_WAIT_AMORT, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT --Đồng thời kết chuyển tài khoản CCLĐ đang dùng sang tài khoản chờ phân bổ: EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO,TRN_IS_SUM) VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_WAIT_AMORT, 'VND', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO,1); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_IS_SUM,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,1,@l_TRN_NO); END END ELSE IF (@l_TYPE_ID = 'CCLD') BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_WAIT_AMORT, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT --Đồng thời kết chuyển tài khoản CCLĐ đang dùng sang tài khoản chờ phân bổ: EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO,TRN_IS_SUM) VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_WAIT_AMORT, 'VND', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO,1); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_IS_SUM,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,1,@l_TRN_NO); END ---Phong added 17/6/2018: xu ly khao hao ngay qua khu :: ends /***********PHAN BO HOI SO CHIU CHI PHI -- BEGIN 201218**************/ -- SET @l_DEP_CODE = (SELECT A.DEP_CODE FROM CM_DEPARTMENT A WHERE A.DEP_ID = @l_DEPT_ID) -- IF @l_DEP_CODE IS NOT NULL AND @l_DEP_CODE <> '' -- BEGIN -- IF @l_BRANCH_ID <> @l_HO_BRN_ID AND LEFT(@l_DEP_CODE,3) = '069' ------CN NHAP NHUNG HOI SO CHIU CHI PHI -- BEGIN -- --LAY PHONG BAN CUA HOI SO TUONG UNG MA PHONG BAN CN -- SET @l_DEPT_ID = (SELECT DEP_ID FROM CM_DEPARTMENT A WHERE A.DEP_CODE = @l_DEP_CODE AND BRANCH_ID = @l_HO_BRN_ID) -- IF @l_DEPT_ID IS NOT NULL AND @l_DEPT_ID <> '' -- BEGIN -- -----THEM VAO BANG ASS_COST_ALLOCATION -- -- EXEC SYS_CodeMasters_Gen 'ASS_COST_ALLOCATION', @l_COST_MASTER_ID out -- INSERT INTO ASS_COST_ALLOCATION (COS_ID,ASSET_ID,NOTE,TRN_DATE,[RECORD_STATUS],[AUTH_STATUS],[MAKER_ID],[CREATE_DT],EDITOR_ID, EDITOR_DT,[CHECKER_ID],[APPROVE_DT],BRANCH_CREATE,XML_TEMP,SECURE_01,SERCURE_01) -- VALUES(@l_COST_MASTER_ID,@l_ASSET_ID,'AUTO',@CUR_DATE,'1' ,'A',@l_MAKER_ID , -- @CUR_DATE ,NULL, NULL,@p_CHECKER_ID, -- @CUR_DATE,@l_HO_BRN_ID,NULL,NULL,NULL) -- -- -----THEM BANG CHI TIET ASS_COST_ALLOC_DT 100% SO TIEN PHAN BO THANG -- EXEC SYS_CodeMasters_Gen 'ASS_COST_ALLOC_DT', @l_COSTDT_ID out -- -- INSERT INTO ASS_COST_ALLOC_DT -- VALUES(@l_COSTDT_ID,@l_COST_MASTER_ID,@l_HO_BRN_ID,@l_DEPT_ID,@l_MONTHLY_AMT,'100',@l_AMORT_MONTH,@CUR_DATE, @l_AMORT_END_DATE,0,0,@l_EXP_ACCTNO,'','1' ,'A' ,@l_MAKER_ID , -- @CUR_DATE ,NULL, NULL,@p_CHECKER_ID,@CUR_DATE) -- END -- END -- END -- /**************************************************** END 201218************/ DECLARE @l_AMORT_RUN_DATE DATETIME = (SELECT TOP 1 TTS.SENT_DATE FROM THREAD_TIME_SEND TTS WHERE TTS.TIME_VALUE = 'KH') DECLARE @DATE_EXEC DATETIME=CONVERT(DATETIME, @p_APPROVE_DT, 103) IF( DATEDIFF(MONTH, @l_AMORT_START_DATE, @l_AMORT_RUN_DATE)>0) BEGIN EXEC ASS_AMORT_BackDate @p_ASSET_ID = @l_ASSET_ID ,@p_MAKER_ID = @l_MAKER_ID ,@p_CHECKER_ID = @p_CHECKER_ID ,@p_APPROVE_DT = @DATE_EXEC ,@p_TRN_ID = @p_ADDNEW_ID ,@P_TRN_REF_NO = @l_TRN_NO ,@p_TRN_TYPE = 'ADD_NEW' END END --Luctv:End --CAP NHAT LOCATION_HIST - THIEUVQ 11112015 UPDATE ASS_LOCATION_HIST SET BRANCH_ID = @l_BRANCH_ID, DEPT_ID = @l_DEPT_ID WHERE ASSET_ID = @l_ASSET_ID IF @@Error <> 0 GOTO ABORT --END SET @int = @int + 1 END -- KHIEMCHG - Update PYC hoàn tất khi đã đủ số lượng PYC IF(NOT EXISTS(SELECT TOP 1 A.REQDT_ID FROM TR_REQUEST_SHOP_DOC_DT A WHERE A.REQ_DOC_ID = @REQ_ID AND ( A.QTY_ETM <> A.ALLOCATED OR (A.ALLOCATED IS NULL OR A.ALLOCATED = '' OR A.ALLOCATED = 0)) AND ((A.REQ_DT_TYPE = 'XKSD' AND A.TYPE_XL = 'CPDC') OR (A.REQ_DT_TYPE = 'XKSD' AND A.TYPE_XL = 'CPTK') OR (A.REQ_DT_TYPE = 'BUYNEW')) )) BEGIN UPDATE TR_REQUEST_SHOP_DOC SET IS_DONE = '1', STATUS = 'DONE' WHERE REQ_ID = @REQ_ID UPDATE PL_REQUEST_PROCESS SET STATUS = 'P' WHERE PROCESS_ID = 'APPROVE' AND REQ_ID = @REQ_ID UPDATE PL_REQUEST_PROCESS SET STATUS = 'C', RECEPTION_DT = CONVERT(datetime, GETDATE(), 103), APPROVE_DT = CONVERT(datetime, GETDATE(), 103) WHERE PROCESS_ID = 'DONE' AND REQ_ID = @REQ_ID END -- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_HC UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_ADDNEW_ID AND PROCESS_ID = 'UPDATE' -- GIANT Insert to table PL_PROCESS INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_ADDNEW_ID, 'APPROVE', @p_CHECKER_ID, GETDATE(), N'Kiểm soát viên phê duyệt hoàn tất' , N'Kiểm soát viên phê duyệt' ) COMMIT TRANSACTION SELECT '0' as Result, @p_ADDNEW_ID ADDNEW_ID, '' ErrorDesc RETURN '0' ABORT: BEGIN ROLLBACK TRANSACTION --CLOSE pCur --DEALLOCATE pCur SELECT '-1' as Result, '' ADDNEW_ID, @ERROR ErrorDesc RETURN '-1' End GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[TR_REQUEST_REPAIR_ASS_Upd_QLTS]' GO ALTER PROCEDURE [dbo].[TR_REQUEST_REPAIR_ASS_Upd_QLTS] @p_REQ_ID varchar(15) = null , @p_REQ_TYPE VARCHAR(10) = NULL, @p_CHECKER_ID VARCHAR(100) = NULL, @p_APPROVE_DT VARCHAR(100) = NULL, @p_HO_NOTES NVARCHAR(1000) = NULL, @p_NOTES NVARCHAR(MAX) = NULL, @p_ListCostCenter XML AS BEGIN TRANSACTION DECLARE @TYPE_PYC VARCHAR(10) = (SELECT TOP 1 trsd.REQ_TYPE FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.REQ_ID = @p_REQ_ID) IF(@TYPE_PYC <> 'SC') BEGIN --PYC ĐIỀU CHUYỂN && THU HỒI IF(@p_HO_NOTES IS NULL OR @p_HO_NOTES = '') BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, @p_REQ_ID REQ_ID, N'Vui lòng nhập ý kiến của bộ phận QLTS' ErrorDesc RETURN '-1' END IF(ISNULL(@p_NOTES,'') <> 'SKIP_PL_PROCESS') BEGIN INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES) VALUES (@p_REQ_ID, 'QLTS_N', @p_CHECKER_ID, CONVERT(DATETIME,@p_APPROVE_DT,103), N'QLTS nhập ý kiến', N'QLTS nhập ý kiến thành công'); END UPDATE TR_REQUEST_SHOP_DOC SET HO_NOTES = @p_HO_NOTES WHERE REQ_ID = @p_REQ_ID DELETE TR_REQUEST_SHOP_COSTCENTER WHERE REQ_ID = @p_REQ_ID DELETE PL_REQUEST_PROCESS WHERE REQ_ID = @p_REQ_ID AND (PROCESS_ID = 'DVCM' OR PROCESS_ID = 'DVCM_D') --START THÊM DVCM DECLARE @hdoc2 INT Declare @l_NOTES NVARCHAR(MAX), @l_AUTH_STATUS VARCHAR(5), @COST_ID varchar(15), @REQ_COST_ID varchar(15), @MAKER_ID VARCHAR(100), @CREATE_DT VARCHAR(50), @CHECKER_ID VARCHAR(100), @APPROVE_DT VARCHAR(50), @l_ASS_STATUS NVARCHAR(MAX), @l_RE_CONTENT NVARCHAR(MAX), @l_QUANTITY INT 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), MAKER_ID VARCHAR(100), CREATE_DT VARCHAR(50), CHECKER_ID VARCHAR(100), APPROVE_DT VARCHAR(50), ASS_STATUS NVARCHAR(MAX), RE_CONTENT NVARCHAR(MAX), QUANTITY INT ) OPEN ListCostCenters FETCH NEXT FROM ListCostCenters INTO @REQ_COST_ID,@COST_ID,@l_AUTH_STATUS, @l_NOTES, @MAKER_ID, @CREATE_DT, @CHECKER_ID, @APPROVE_DT, @l_ASS_STATUS, @l_RE_CONTENT, @l_QUANTITY WHILE @@FETCH_STATUS = 0 BEGIN IF( NOT EXISTS(SELECT 1 FROM dbo.TR_REQUEST_SHOP_COSTCENTER WHERE COST_ID=@COST_ID AND REQ_ID=@p_REQ_ID)) 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, ASS_STATUS, RE_CONTENT, QUANTITY ) 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) @l_AUTH_STATUS, -- AUTH_STATUS - varchar(1) @MAKER_ID, -- MAKER_ID - varchar(15) CONVERT(DATETIME,@CREATE_DT,103), -- CREATE_DT - datetime @CHECKER_ID, -- CHECKER_ID - varchar(15) CONVERT(DATETIME,@APPROVE_DT,103) -- APPROVE_DT - datetime , @l_ASS_STATUS , @l_RE_CONTENT , @l_QUANTITY ) END IF @@ERROR <> 0 GOTO ABORT2 FETCH NEXT FROM ListCostCenters INTO @REQ_COST_ID,@COST_ID,@l_AUTH_STATUS, @l_NOTES, @MAKER_ID, @CREATE_DT, @CHECKER_ID, @APPROVE_DT, @l_ASS_STATUS, @l_RE_CONTENT, @l_QUANTITY END CLOSE ListCostCenters DEALLOCATE ListCostCenters --END DVCM INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID,DEP_ID, PARENT_PROCESS_ID, IS_LEAF, NOTES, PROCESS_TYPE) SELECT @p_REQ_ID, 'DVCM', 'U', 'DVCM', (CASE WHEN 1=1 THEN (SELECT B.BRANCH_ID FROM CM_DEPARTMENT B WHERE B.DEP_ID = A.COST_ID)END) AS BRANCH_ID, A.COST_ID, --DEP_ID 'QLTS_N', 'N', NULL, 'Update' FROM TR_REQUEST_SHOP_COSTCENTER A WHERE REQ_ID = @p_REQ_ID --TRƯỞNG DVCM CẬP DUYỆT INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID,DEP_ID, PARENT_PROCESS_ID, IS_LEAF, NOTES, PROCESS_TYPE) SELECT @p_REQ_ID, 'DVCM_D', 'U', 'GDDV', (CASE WHEN 1=1 THEN (SELECT B.BRANCH_ID FROM CM_DEPARTMENT B WHERE B.DEP_ID = A.COST_ID)END) AS BRANCH_ID, A.COST_ID, --DEP_ID 'DVCM', 'N', NULL, 'Approve' FROM TR_REQUEST_SHOP_COSTCENTER A WHERE REQ_ID = @p_REQ_ID END ELSE BEGIN --PYC SỬA CHỮA IF(ISNULL(@p_NOTES,'') <> 'SKIP_PL_PROCESS') BEGIN INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES) VALUES (@p_REQ_ID, 'QLTS_N', @p_CHECKER_ID, CONVERT(DATETIME,@p_APPROVE_DT,103), N'QLTS xử lý', N'QLTS xử lý thành công'); END IF(EXISTS(SELECT 1 FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID = @p_REQ_ID AND STATUS = 'QLTS_N')) BEGIN --ĐANG Ở BƯỚC QLTS CHỌN DVCM DELETE TR_REQUEST_SHOP_COSTCENTER WHERE REQ_ID = @p_REQ_ID DELETE PL_REQUEST_PROCESS WHERE REQ_ID = @p_REQ_ID AND (PROCESS_ID = 'DVCM' OR PROCESS_ID = 'DVCM_D') --START THÊM DVCM DECLARE @hdoc3 INT Declare @l_NOTES_1 NVARCHAR(MAX), @l_AUTH_STATUS_1 VARCHAR(5), @COST_ID_1 varchar(15), @REQ_COST_ID_1 varchar(15), @MAKER_ID_1 VARCHAR(100), @CREATE_DT_1 VARCHAR(50), @CHECKER_ID_1 VARCHAR(100), @APPROVE_DT_1 VARCHAR(50), @l_ASS_STATUS_1 NVARCHAR(MAX), @l_RE_CONTENT_1 NVARCHAR(MAX), @l_QUANTITY_1 INT Exec sp_xml_preparedocument @hdoc3 Output,@p_ListCostCenter DECLARE ListCostCenters CURSOR FOR SELECT * FROM OPENXML(@hdoc3,'/Root/ListCostCenter',2) WITH ( REQ_COST_ID VARCHAR(15), COST_ID varchar(15), AUTH_STATUS VARCHAR(5), NOTES nvarchar(MAX), MAKER_ID VARCHAR(100), CREATE_DT VARCHAR(50), CHECKER_ID VARCHAR(100), APPROVE_DT VARCHAR(50), ASS_STATUS NVARCHAR(MAX), RE_CONTENT NVARCHAR(MAX), QUANTITY INT ) OPEN ListCostCenters FETCH NEXT FROM ListCostCenters INTO @REQ_COST_ID_1,@COST_ID_1,@l_AUTH_STATUS_1, @l_NOTES_1, @MAKER_ID_1, @CREATE_DT_1, @CHECKER_ID_1, @APPROVE_DT_1, @l_ASS_STATUS_1, @l_RE_CONTENT_1, @l_QUANTITY_1 WHILE @@FETCH_STATUS = 0 BEGIN IF( NOT EXISTS(SELECT 1 FROM dbo.TR_REQUEST_SHOP_COSTCENTER WHERE COST_ID=@COST_ID_1 AND REQ_ID=@p_REQ_ID)) BEGIN EXEC SYS_CodeMasters_Gen 'TR_REQUEST_SHOP_COSTCENTER', @REQ_COST_ID_1 out IF @REQ_COST_ID_1='' OR @REQ_COST_ID_1 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, ASS_STATUS, RE_CONTENT, QUANTITY ) VALUES ( @REQ_COST_ID_1, -- REQ_COST_ID - varchar(15) @COST_ID_1, -- COST_ID - varchar(15) @p_REQ_ID, -- REQ_ID - varchar(15) @l_NOTES_1, -- NOTES - nvarchar(500) @l_AUTH_STATUS_1, -- AUTH_STATUS - varchar(1) @MAKER_ID_1, -- MAKER_ID - varchar(15) CONVERT(DATETIME,@CREATE_DT_1,103), -- CREATE_DT - datetime @CHECKER_ID_1, -- CHECKER_ID - varchar(15) CONVERT(DATETIME,@APPROVE_DT_1,103) -- APPROVE_DT - datetime , @l_ASS_STATUS_1 , @l_RE_CONTENT_1 , @l_QUANTITY_1 ) END IF @@ERROR <> 0 GOTO ABORT2 FETCH NEXT FROM ListCostCenters INTO @REQ_COST_ID_1,@COST_ID_1,@l_AUTH_STATUS_1, @l_NOTES_1, @MAKER_ID_1, @CREATE_DT_1, @CHECKER_ID_1, @APPROVE_DT_1, @l_ASS_STATUS_1, @l_RE_CONTENT_1, @l_QUANTITY_1 END CLOSE ListCostCenters DEALLOCATE ListCostCenters --END DVCM INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID,DEP_ID, PARENT_PROCESS_ID, IS_LEAF, NOTES, PROCESS_TYPE) SELECT @p_REQ_ID, 'DVCM', 'U', 'DVCM', (CASE WHEN 1=1 THEN (SELECT B.BRANCH_ID FROM CM_DEPARTMENT B WHERE B.DEP_ID = A.COST_ID)END) AS BRANCH_ID, A.COST_ID, --DEP_ID 'QLTS_N', 'N', NULL, 'Update' FROM TR_REQUEST_SHOP_COSTCENTER A WHERE REQ_ID = @p_REQ_ID --TRƯỞNG DVCM CẬP DUYỆT INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID,DEP_ID, PARENT_PROCESS_ID, IS_LEAF, NOTES, PROCESS_TYPE) SELECT @p_REQ_ID, 'DVCM_D', 'U', 'GDDV', (CASE WHEN 1=1 THEN (SELECT B.BRANCH_ID FROM CM_DEPARTMENT B WHERE B.DEP_ID = A.COST_ID)END) AS BRANCH_ID, A.COST_ID, --DEP_ID 'DVCM', 'N', NULL, 'Approve' FROM TR_REQUEST_SHOP_COSTCENTER A WHERE REQ_ID = @p_REQ_ID END ELSE BEGIN IF(@p_HO_NOTES IS NULL OR @p_HO_NOTES = '') BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, @p_REQ_ID REQ_ID, N'Vui lòng nhập ý kiến của bộ phận QLTS' ErrorDesc RETURN '-1' END UPDATE TR_REQUEST_SHOP_DOC SET HO_NOTES = @p_HO_NOTES WHERE REQ_ID = @p_REQ_ID END END COMMIT TRANSACTION SELECT '0' as Result, @p_REQ_ID REQ_ID, '' ErrorDesc, N'QLTS xử lý thành công' Message RETURN '0' ABORT: BEGIN ROLLBACK TRANSACTION SELECT '-1' AS RESULT RETURN '-1' END ABORT2: BEGIN ROLLBACK TRANSACTION CLOSE ListCostCenters DEALLOCATE ListCostCenters SELECT '-1' AS RESULT RETURN '-1' END GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[rpt_ASS_PRINT_TEMP_Excel]' GO ALTER PROCEDURE [dbo].[rpt_ASS_PRINT_TEMP_Excel] @p_ASSET_ID varchar(MAX) = NULL, @p_ASSET_CODE nvarchar(MAX) = NULL, @p_ASSET_NAME nvarchar(MAX) = NULL, @p_BRANCH_ID varchar(15) = NULL, @p_BRANCH_LOGIN varchar(15) = NULL, @p_ASSET_TYPE VARCHAR(15) = NULL,--Them truong hop khong chon nhom tai san @p_ASSET_GROUP VARCHAR(15) = NULL, @p_FROM_NUM VARCHAR(10) = NULL, @p_TO_NUM VARCHAR(10) = NULL, @p_Fromdate varchar(20) = null, @p_Todate VARCHAR(20) = NULL, @p_DEPT_ID varchar(15) = NULL,--thieuvq Search theo phong ban @p_SerialNo VARCHAR(MAX) = NULL,--- luctv search theo ngay nhap @p_AddNewID VARCHAR(20) = NULL,--- luctv search ma phieu nhap 16092019 @p_Use_MasterID VARCHAR(20) = NULL,--- luctv search theo ma phieu xuat 16092019 @p_LEVEL VARCHAR(5) = 'UNIT', @p_NUMQR INT = 1 AS BEGIN SET @p_ASSET_CODE = REPLACE(REPLACE(@p_ASSET_CODE,CHAR(10),''),CHAR(13),'') DECLARE @TBL_NUMQR TABLE(ASSET_CODE VARCHAR(MAX)) IF(@p_ASSET_CODE LIKE '%,%' AND LEFT(@p_ASSET_CODE,1) = ',') BEGIN SET @p_ASSET_CODE = RIGHT(@p_ASSET_CODE,LEN(@p_ASSET_CODE)-1) END WHILE (@p_NUMQR >= 1) BEGIN INSERT INTO @TBL_NUMQR SELECT VALUE FROM dbo.wsiSplit(@p_ASSET_CODE,',') SET @p_NUMQR = @p_NUMQR - 1 END --IF @p_TOP = '' SET @p_TOP = 1000000 declare @tmp table(BRANCH_ID varchar(15)) insert into @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN) --- khai bao table chua ds ma tai san DECLARE @l_LSTASSETCODE TABLE ( [ID] [int] IDENTITY(1,1) NOT NULL, [VALUE] [NVARCHAR](MAX) NULL) INSERT INTO @l_LSTASSETCODE SELECT VALUE FROM WSISPLIT(@p_ASSET_ID,',') -- khai bao table chua ds seria DECLARE @l_LSTSERI TABLE ( [ID] [int] IDENTITY(1,1) NOT NULL, [VALUE] [NVARCHAR](MAX) NULL) INSERT INTO @l_LSTSERI SELECT VALUE FROM WSISPLIT(@p_SerialNo,',') -- MA CODE TAI SAN --- khai bao table chua ds ma code tai san DECLARE @l_LSTASSETCODE_V1 TABLE ( [ID] [int] IDENTITY(1,1) NOT NULL, [VALUE] [VARCHAR](MAX) NULL) INSERT INTO @l_LSTASSETCODE_V1 SELECT VALUE FROM WSISPLIT(@p_ASSET_CODE,',') SELECT ROW_NUMBER() OVER(ORDER BY A.ASSET_ID) AS STT, C.[TYPE_NAME] LOAI_TS, B.GROUP_NAME NHOM_TS, A.ASSET_CODE MA_TS, A.ASSET_NAME, A.ASSET_SERIAL_NO, A.NOTES, BR.BRANCH_NAME, DP.DEP_NAME, ISNULL(DP.DEP_NAME,BR.BRANCH_NAME) DVSD, A.CREATE_DT NGAYNHAP_TS, A.USE_DATE NGAY_SD 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_DEPARTMENT DP ON DP.DEP_ID = A.DEPT_ID LEFT JOIN ASS_TRANSACTIONS AT ON AT.ASSET_ID = A.ASSET_ID AND AT.TRN_TYPE ='ADD_NEW' LEFT JOIN ASS_TRANSACTIONS AT2 ON AT2.ASSET_ID = A.ASSET_ID AND AT2.TRN_TYPE ='ADD_USE' AND @p_Use_MasterID <>'' AND @p_Use_MasterID IS NOT NULL WHERE 1 = 1 --AND (A.ASSET_ID = @p_ASSET_ID OR @p_ASSET_ID IS NULL OR @p_ASSET_ID = '') AND (A.ASSET_ID IN (SELECT VALUE FROM @l_LSTASSETCODE) OR @p_ASSET_ID IS NULL OR @p_ASSET_ID ='') AND (A.ASSET_CODE IN (SELECT VALUE FROM @l_LSTASSETCODE_V1) 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.BRANCH_ID IN (SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@P_BRANCH_ID)) OR @P_BRANCH_ID IS NULL OR @P_BRANCH_ID = '') --AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM @tmp) OR @p_BRANCH_LOGIN IS NULL OR @p_BRANCH_LOGIN = '') AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '') AND (B.GROUP_ID = @p_ASSET_GROUP OR @p_ASSET_GROUP IS NULL OR @p_ASSET_GROUP = '') AND (A.TYPE_ID = @p_ASSET_TYPE OR @p_ASSET_TYPE IS NULL OR @p_ASSET_TYPE = '') --AND ((CONVERT(INT,SUBSTRING(A.ASSET_CODE,2 + LEN(B.GROUP_CODE),LEN(A.ASSET_CODE) - 1 - --LEN(B.GROUP_CODE))) >= CONVERT(INT,@p_FROM_NUM)) OR @p_FROM_NUM = '' OR @p_FROM_NUM IS NULL) --AND ((CONVERT(INT,SUBSTRING(A.ASSET_CODE,2 + LEN(B.GROUP_CODE),LEN(A.ASSET_CODE) - 1 - --LEN(B.GROUP_CODE))) <= CONVERT(INT,@p_TO_NUM)) OR @p_TO_NUM = '' OR @p_TO_NUM IS NULL) -- AND ((CONVERT(DECIMAL,RIGHT(A.ASSET_CODE,4))>= CONVERT(INT,@p_FROM_NUM)) OR @p_FROM_NUM = '' OR @p_FROM_NUM IS NULL) -- AND ((CONVERT(DECIMAL,RIGHT(A.ASSET_CODE,4)) <= CONVERT(INT,@p_TO_NUM)) OR @p_TO_NUM = '' OR @p_TO_NUM IS NULL) AND(A.BUY_DATE_KT <= CONVERT(DATETIME,@p_Todate,103) OR @p_Todate= '' OR @p_Todate IS NULL) AND (A.BUY_DATE_KT >= CONVERT(datetime, @p_Fromdate, 103) OR @p_Fromdate IS NULL OR @p_Fromdate = '') AND A.RECORD_STATUS = '1' AND (A.DEPT_ID = @p_DEPT_ID OR @p_DEPT_ID IS NULL OR @p_DEPT_ID = '')-- THIEUVQ THEM 19_03_2014 --AND (A.ASSET_SERIAL_NO = @p_SerialNo OR @p_SerialNo IS NULL OR @p_SerialNo = '') AND (A.ASSET_SERIAL_NO IN (SELECT VALUE FROM @l_LSTSERI) OR @p_SerialNo IS NULL OR @p_SerialNo ='') AND (AT.TRN_ID = @p_AddNewID OR @p_AddNewID ='' OR @p_AddNewID IS NULL) AND (AT2.TRN_ID = @p_Use_MasterID OR @p_Use_MasterID ='' OR @p_Use_MasterID IS NULL) END 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 ,@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 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 NVARCHAR(200) = NULL, @p_ACC_NUM_OUT VARCHAR(100) = NULL, @p_ACC_NAME_OUT VARCHAR(100) = NULL, @p_BANK_NAME_OUT NVARCHAR(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].[ASS_ADDNEW_QLTS_Appr]' GO ALTER PROCEDURE [dbo].[ASS_ADDNEW_QLTS_Appr] @p_ADDNEW_ID VARCHAR(15) = NULL, @p_CHECKER_ID varchar(100) = NULL, @p_APPROVE_DT VARCHAR(20) = NULL AS IF((SELECT AUTH_STATUS FROM ASS_ADDNEW WHERE ADDNEW_ID = @p_ADDNEW_ID) = 'A') BEGIN SELECT '-1' as Result, '' ADDNEW_ID, N'Dữ liệu đã được duyệt' ErrorDesc RETURN '-1' END DECLARE @l_SUP_ID varchar(15) DECLARE @l_BUY_DATE datetime = NULL DECLARE @l_TYPE_ID varchar(15) = NULL DECLARE @l_GROUP_ID varchar(15) = NULL DECLARE @l_ASSET_NAME nvarchar(1000) = NULL DECLARE @l_ASSET_SERIAL_NO nvarchar(max) = NULL DECLARE @l_ASSET_DESC nvarchar(max) = NULL DECLARE @l_BRANCH_ID varchar(15) = NULL DECLARE @l_DEPT_ID varchar(15) = NULL DECLARE @l_EMP_ID varchar(15) = NULL DECLARE @l_DIVISION_ID varchar(15) = NULL DECLARE @l_BUY_PRICE decimal(18) = NULL DECLARE @l_AMORT_AMT decimal(18) = NULL DECLARE @l_AMORT_MONTH decimal(18,2) = NULL DECLARE @l_AMORT_RATE decimal(18,2) = NULL DECLARE @l_IS_MULTIPLE varchar(1) = NULL DECLARE @l_QTY int = NULL DECLARE @l_PO_ID varchar(15) = NULL DECLARE @l_PD_ID varchar(15) = NULL DECLARE @l_REF_ASSET_ID varchar(15) = NULL DECLARE @l_REF_AMORTIZED_AMT decimal(18) = NULL DECLARE @l_WARRANTY_MONTHS int = NULL DECLARE @l_NOTES nvarchar(1000) = NULL DECLARE @l_CORE_NOTE nvarchar(200) = NULL declare @l_ENTRY_BOOKED varchar(1) = null DECLARE @l_MAKER_ID varchar(15) DECLARE @l_AUTH_STATUS varchar(1) declare @l_DO_BRANCH_ID varchar(15) DECLARE @l_CONSTRUCT_ID varchar(15) = NULL DECLARE @l_AMORT_STATUS nvarchar(20) DECLARE @l_AMORT_START_DATE datetime, @l_AMORT_END_DATE datetime DECLARE @l_FIRST_AMORT_AMT numeric(18,0) DECLARE @l_MONTHLY_AMT numeric(18,0) DECLARE @l_HO_BRN_ID varchar(15) DECLARE @l_WAH_ID varchar(15) DECLARE @sToday varchar(10) = convert(varchar(10), getdate(), 103) DECLARE @l_USE_DATE varchar(15) DECLARE @l_ASS_TYPE varchar(1) = '1' declare @l_TRN_REF_NO varchar(20) DECLARE @l_ET_ID varchar(15) DECLARE @l_VALUE_ID varchar(15) DECLARE @l_ASSET_ID varchar(15) DECLARE @l_ASSET_CODE nvarchar(100) DECLARE @l_WAHDT_ID varchar(15) DECLARE @l_LOCHIST_ID varchar(15) DECLARE @l_SUPPEND_GL varchar(50) DECLARE @l_ASSET_GL varchar(50) declare @l_ASSET_VALUE decimal(18,0) DECLARE @ERRORSYS NVARCHAR(15) = '' DECLARE @BRANCH_CREATE VARCHAR(15) = NULL DECLARE @ACCOUNT_GL VARCHAR(50) DECLARE @VAT DECIMAL(18,2) DECLARE @PRICE_VAT DECIMAL(18,0) DECLARE @REQ_ID VARCHAR(15) DECLARE @REQ_CODE VARCHAR(50) DECLARE @WIN VARCHAR(1) DECLARE @OFFICE VARCHAR(1) DECLARE @ASS_CONTRACT_CODE VARCHAR(50) DECLARE @PL_CODE VARCHAR(50) DECLARE @i INT PRINT 'OK1' --DECLARE @PD_ID VARCHAR(15) --SELECT @PD_ID = PD_ID FROM ASS_ADDNEW WHERE ADDNEW_ID = @p_ADDNEW_ID --DECLARE @TOTAL_TT INT, @TOTAL_PO INT --SET @TOTAL_TT = (SELECT SUM(QTY) FROM ASS_ADDNEW WHERE PD_ID = @PD_ID AND AUTH_STATUS = 'A') + (SELECT QTY FROM ASS_ADDNEW WHERE ADDNEW_ID = @p_ADDNEW_ID) --SET @TOTAL_PO = (SELECT SUM(QUANTITY) FROM TR_PO_DETAIL WHERE PD_ID = @PD_ID) --IF(@TOTAL_TT > @TOTAL_PO) --BEGIN -- SELECT '-1' as Result, '' ADDNEW_ID, N'Số lượng hàng hóa đã nhập vượt quá số lượng PO' ErrorDesc -- RETURN '-1' --END --lay thong tin giao dich SELECT @l_BUY_DATE = BUY_DATE, @l_TYPE_ID = A.[TYPE_ID], @l_GROUP_ID = A.GROUP_ID, @l_ASSET_NAME = ASSET_NAME, @l_ASSET_SERIAL_NO = ASSET_SERIAL_NO, @l_ASSET_DESC = ASSET_DESC, @l_CONSTRUCT_ID = CONSTRUCT_ID, @l_BRANCH_ID = BRANCH_ID, @l_DEPT_ID = DEPT_ID, @l_EMP_ID = EMP_ID, @l_DIVISION_ID = DIVISION_ID, @l_BUY_PRICE = BUY_PRICE, @l_AMORT_AMT = AMORT_AMT, @l_AMORT_START_DATE = AMORT_START_DATE, --@l_AMORT_MONTH = AMORT_MONTH, @l_AMORT_MONTH = CASE WHEN G.AMORT_MONTH<>0 THEN G.AMORT_MONTH ELSE A.AMORT_MONTH END, @l_AMORT_RATE = A.AMORT_RATE, @l_CORE_NOTE = A.CORE_NOTE, @l_IS_MULTIPLE = IS_MULTIPLE, @l_QTY = QTY, @l_PO_ID = PO_ID,@l_PD_ID=PD_ID, @l_REF_ASSET_ID = REF_ASSET_ID, @l_REF_AMORTIZED_AMT = REF_AMORTIZED_AMT, @l_WARRANTY_MONTHS = WARRANTY_MONTHS, @l_NOTES = A.NOTES, @l_ENTRY_BOOKED = ENTRY_BOOKED, @l_MAKER_ID = A.MAKER_ID, @l_AUTH_STATUS = A.AUTH_STATUS, @l_AMORT_END_DATE = AMORT_END_DATE, @BRANCH_CREATE = BRANCH_CREATE, @ACCOUNT_GL = A.ACCOUNT_GL, @VAT = A.VAT, @PRICE_VAT = A.PRICE_VAT, @REQ_CODE = A.REQ_CODE, @REQ_ID = A.REQ_ID, @WIN = A.WIN_CRACK, @OFFICE = A.OFFICE_CRACK , @l_SUP_ID = A.SUP_ID, @ASS_CONTRACT_CODE = A.CONTRACT_ID, @PL_CODE = A.PL_CODE FROM ASS_ADDNEW A INNER JOIN ASS_GROUP G on G.GROUP_ID = A.GROUP_ID WHERE ADDNEW_ID = @p_ADDNEW_ID IF @@Error <> 0 GOTO ABORT /********** chekc vadilation ************/ IF (@l_AUTH_STATUS = 'A') SET @ERRORSYS = 'ASS-99998' IF @ERRORSYS <> '' BEGIN SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS RETURN '0' END BEGIN TRANSACTION IF @l_BRANCH_ID <>'' OR @l_BRANCH_ID IS NOT NULL SET @l_ENTRY_BOOKED = 'Y' IF @l_BRANCH_ID ='' OR @l_BRANCH_ID IS NULL SET @l_AMORT_STATUS = 'VNM' DECLARE @l_SL_IN_PYC INT =(SELECT ISNULL(SUM(TRSDD.QTY_ETM),0) FROM TR_REQUEST_SHOP_DOC_DT TRSDD LEFT JOIN TR_REQUEST_SHOP_DOC TRSD ON TRSD.REQ_ID = TRSDD.REQ_DOC_ID WHERE TRSD.REQ_CODE = @REQ_CODE AND TRSDD.ASS_GROUP_ID = @l_GROUP_ID AND TRSDD.REQ_DT_TYPE = 'BUYNEW') DECLARE @l_SL_ASS_MASTER INT =(SELECT ISNULL(COUNT(*),0) FROM ASS_MASTER AM WHERE AM.GROUP_ID = @l_GROUP_ID AND AM.REQ_CODE = @REQ_CODE) IF (@REQ_CODE IS NOT NULL OR @REQ_CODE <> '') BEGIN --kiem tra so luong so voi PYC IF((SELECT ISNULL(QTY,0) FROM ASS_ADDNEW WHERE ADDNEW_ID = @p_ADDNEW_ID) > (@l_SL_IN_PYC - @l_SL_ASS_MASTER)) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' ADDNEW_ID, N'Số lượng tài sản không được lớn hơn số lượng tài sản có cùng loại được thêm mới theo Phiếu yêu cầu.' ErrorDesc RETURN '-1' END END --INSERT TYPE_XL PYC IF(@REQ_CODE IS NOT NULL OR @REQ_CODE <> '') BEGIN --TĂNG LOCATED NẾU XSD IF(@l_BRANCH_ID IS NOT NULL OR @l_BRANCH_ID <> '') BEGIN SET @l_USE_DATE = convert(varchar(10), getdate(), 103) UPDATE TR_REQUEST_SHOP_DOC_DT SET ALLOCATED = ALLOCATED + @l_QTY WHERE REQDT_ID IN (SELECT TRSDD.REQDT_ID FROM TR_REQUEST_SHOP_DOC_DT TRSDD WHERE TRSDD.REQ_DOC_ID = @REQ_ID AND TRSDD.ASS_GROUP_ID = @l_GROUP_ID AND TRSDD.REQ_DT_TYPE = 'BUYNEW') END END --INSERT TYPE_XL PYC END --UPDATE GIAO DICH ADDNEW UPDATE ASS_ADDNEW SET AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME, @p_APPROVE_DT, 103), AUTH_STATUS_KT = 'E' WHERE ADDNEW_ID = @p_ADDNEW_ID IF @@Error <> 0 GOTO ABORT IF (@l_IS_MULTIPLE = '0') --nhap tai san don le BEGIN --Phat sinh Asset_ID EXEC SYS_CodeMasters_Gen 'ASS_MASTER', @l_ASSET_ID out IF @l_ASSET_ID='' OR @l_ASSET_ID IS NULL GOTO ABORT DECLARE @ASSET_CODE_TMP VARCHAR(50) --Phat sinh ma tai san -- EXEC ASS_CODE_Gen @l_TYPE_ID, @l_GROUP_ID, @ASSET_CODE_TMP OUT -- IF @l_ASSET_CODE='' OR @l_ASSET_CODE IS NULL GOTO ABORT --Insert bang ASS_MASTER INSERT INTO ASS_MASTER ( [ASSET_ID], [TYPE_ID], [GROUP_ID], [ASSET_CODE], [ASSET_NAME], [ASSET_SERIAL_NO], [ASSET_DESC], [SUP_ID], [BUY_PRICE], [AMORT_AMT], [ASS_TYPE], [BRANCH_ID], [DEPT_ID], [EMP_ID], [DIVISION_ID], [BUY_DATE], [USE_DATE], [SPECIAL_ASS], [AMORT_MONTH], [AMORT_RATE], [AMORT_START_DATE], [AMORT_END_DATE], [FIRST_AMORT_AMT], [MONTHLY_AMORT_AMT], [AMORTIZED_MONTH], [AMORTIZED_AMT], [PO_ID], [PD_ID], [WAREHOUSE_ID], [LOCATION], [REF_ASSET_ID], [REF_AMORTIZED_AMT], [WARRANTY_MONTHS], [NOTES], [AMORT_STATUS], [ASS_STATUS], [ASS_STATUS_DESC], [ENTRY_BOOKED], [RECORD_STATUS], [AUTH_STATUS], [MAKER_ID], [CREATE_DT], [CHECKER_ID], [APPROVE_DT], [CONSTRUCT_ID], [USE_STATUS], [BRANCH_CREATE], [ACCOUNT_GL], VAT,PRICE_VAT, LIQ_W_STATUS, -- HUNGDV MAC DINH = '0', REQ_ID, REQ_CODE, -- KHIEMCHG thêm số phiếu yêu cầu để biết tài sản sinh ra từ pyc nào, ASS_CODE_TMP --khiemchg lưu asset code được gen ra lưu tạm ,OS, MO_LICENSE, ASS_CONTRACT_CODE, PL ) VALUES ( @l_ASSET_ID, @l_TYPE_ID , @l_GROUP_ID, @l_ASSET_ID, @l_ASSET_NAME, @l_ASSET_SERIAL_NO, @l_ASSET_DESC, @l_SUP_ID, @l_BUY_PRICE, @l_AMORT_AMT, @l_ASS_TYPE, @l_BRANCH_ID, @l_DEPT_ID, @l_EMP_ID, @l_DIVISION_ID, CONVERT(DATETIME, @l_BUY_DATE, 103), CONVERT(DATETIME, @l_USE_DATE, 103), '0', @l_AMORT_MONTH, @l_AMORT_RATE, @l_AMORT_START_DATE, @l_AMORT_END_DATE, @l_FIRST_AMORT_AMT, @l_MONTHLY_AMT, 0, 0, @l_PO_ID, @l_PD_ID, NULL, NULL, @l_REF_ASSET_ID, @l_REF_AMORTIZED_AMT, @l_WARRANTY_MONTHS, @l_NOTES, @l_AMORT_STATUS, '1', --Mac dinh moi insert vao tinh trang tai san la binh thuong N'', @l_ENTRY_BOOKED, '1', 'U', @l_MAKER_ID, CONVERT(DATETIME, @sToday, 103), @p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103) , @l_CONSTRUCT_ID, 'BT', @BRANCH_CREATE, @ACCOUNT_GL, @VAT,@PRICE_VAT, '0' -- LIQ_W_STATUS HUNGDV MAC DINH = '0' ,@REQ_ID ,@REQ_CODE, @l_ASSET_ID, @WIN, @OFFICE, @ASS_CONTRACT_CODE, @PL_CODE ) IF @@Error <> 0 GOTO ABORT --INSERT CHI TIET TAI SAN INSERT INTO ASS_MASTER_PO SELECT @l_ASSET_ID, POAD.PO_ID, GDDT.TRPO_ID,CONVERT(DATETIME, @sToday, 103) FROM ASS_ADDNEW_PO POAD LEFT JOIN ASS_ADDNEW_GD GDDT ON GDDT.PO_ID = POAD.PO_ID AND GDDT.ADDNEW_ID = @p_ADDNEW_ID WHERE POAD.ADDNEW_ID = @p_ADDNEW_ID --Insert bang ASS_WARRANTY_DET tu bang ASS_ADDNEW_DT insert into ASS_WARRANTY_DT(ASSET_ID, WAR_DT, WAR_CONTENT, WAR_END_DT) select @l_ASSET_ID, A.WAR_DT, A.WAR_CONTENT, WAR_EXPIRED from ASS_ADDNEW_DT A WHERE A.ADDNEW_ID= @p_ADDNEW_ID IF @@Error <> 0 GOTO ABORT --INSERT VAO BANG ASS_TRANSACTIONS INSERT INTO ASS_TRANSACTIONS(ASSET_ID, TRN_ID, TRN_TYPE, TRN_DATE, RECORD_STATUS, AUTH_STATUS, [MAKER_ID], [CREATE_DT], [CHECKER_ID], [APPROVE_DT] )VALUES ( @l_ASSET_ID, @p_ADDNEW_ID, 'ADD_NEW', CONVERT(DATETIME, @sToday, 103), '1', 'A', @l_MAKER_ID, CONVERT(DATETIME, @sToday, 103), @p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103) ) IF @@Error <> 0 GOTO ABORT --Insert bang ASS_LOCATION_HIST EXEC SYS_CodeMasters_Gen 'ASS_LOCATION_HIST', @l_LOCHIST_ID out IF @l_LOCHIST_ID='' OR @l_LOCHIST_ID IS NULL GOTO ABORT INSERT INTO ASS_LOCATION_HIST ( LOCHIST_ID, ASSET_ID, USE_START_DT, USE_END_DT, BRANCH_ID, DEPT_ID, EMP_ID, LOCATION, ISLEAF, PARENT_ID ) VALUES ( @l_LOCHIST_ID, @l_ASSET_ID, GETDATE(), NULL, @l_BRANCH_ID, @l_DEPT_ID, @l_EMP_ID, '', 'Y', NULL ) IF @@Error <> 0 GOTO ABORT END ELSE --- NHẬP LÔ BEGIN IF(EXISTS(SELECT * FROM ASS_TRANSACTIONS AT WHERE AT.TRN_ID = @p_ADDNEW_ID)) BEGIN DELETE ASS_MASTER_PO WHERE ASSET_ID IN (SELECT AT.ASSET_ID FROM ASS_TRANSACTIONS AT WHERE AT.TRN_ID = @p_ADDNEW_ID) DELETE ASS_MASTER WHERE ASSET_ID IN (SELECT AT.ASSET_ID FROM ASS_TRANSACTIONS AT WHERE AT.TRN_ID = @p_ADDNEW_ID) DELETE ASS_LOCATION_HIST WHERE ASSET_ID IN (SELECT AT.ASSET_ID FROM ASS_TRANSACTIONS AT WHERE AT.TRN_ID = @p_ADDNEW_ID) DELETE ASS_WARRANTY_DT WHERE ASSET_ID IN (SELECT AT.ASSET_ID FROM ASS_TRANSACTIONS AT WHERE AT.TRN_ID = @p_ADDNEW_ID) DELETE ASS_TRANSACTIONS WHERE TRN_ID = @p_ADDNEW_ID END ----thieuvq 14/10/2014 nhap seri theo lo --DECLARE @l_LSTSERI TABLE ( -- [ID] [int] NULL, -- [VALUE] [NVARCHAR](MAX) NULL) --DECLARE @l_SERI VARCHAR(MAX) ----LAY THONG TIN SO SERI --INSERT INTO @l_LSTSERI SELECT ROW_NUMBER() OVER (ORDER BY VALUE), VALUE FROM WSISPLIT(@l_ASSET_SERIAL_NO,',') --thieuvq 14/10/2014 nhap seri theo lo DECLARE @l_LSTSERI TABLE ( [ID] [int] IDENTITY(1,1) NOT NULL, [VALUE] [NVARCHAR](MAX) NULL) DECLARE @l_SERI VARCHAR(MAX) --LAY THONG TIN SO SERI --INSERT INTO @l_LSTSERI SELECT ROW_NUMBER() OVER (ORDER BY VALUE), VALUE FROM WSISPLIT(@l_ASSET_SERIAL_NO,',') INSERT INTO @l_LSTSERI SELECT VALUE FROM WSISPLIT(@l_ASSET_SERIAL_NO,',') DECLARE @TBTEMP TABLE(PO_ID VARCHAR(15),PD_ID VARCHAR(15),CREATE_DATE DATETIME) --INSERT CHI TIET TAI SAN INSERT INTO @TBTEMP SELECT POAD.PO_ID, GDDT.TRPO_ID,CONVERT(DATETIME, @sToday, 103) FROM ASS_ADDNEW_PO POAD LEFT JOIN ASS_ADDNEW_GD GDDT ON GDDT.PO_ID = POAD.PO_ID AND GDDT.ADDNEW_ID = @p_ADDNEW_ID WHERE POAD.ADDNEW_ID = @p_ADDNEW_ID -- SET @i = 1 WHILE (@i <= @l_QTY) BEGIN --Phat sinh Asset_ID EXEC SYS_CodeMasters_Gen 'ASS_MASTER', @l_ASSET_ID out IF @l_ASSET_ID='' OR @l_ASSET_ID IS NULL GOTO ABORT --Phat sinh ma tai san -- EXEC ASS_CODE_Gen @l_TYPE_ID, @l_GROUP_ID, @l_ASSET_CODE OUT -- IF @l_ASSET_CODE='' OR @l_ASSET_CODE IS NULL GOTO ABORT --THIEUVQ 14/10/2014 LAY SO SERI SET @l_SERI = (SELECT VALUE FROM @l_LSTSERI WHERE ID = @i) --Insert bang ASS_MASTER INSERT INTO ASS_MASTER ( [ASSET_ID], [TYPE_ID], [GROUP_ID], [ASSET_CODE], [ASSET_NAME], [ASSET_SERIAL_NO], [ASSET_DESC], [SUP_ID], [BUY_PRICE], [AMORT_AMT], [ASS_TYPE], [BRANCH_ID], [DEPT_ID], [EMP_ID], [DIVISION_ID], [BUY_DATE], [USE_DATE], [SPECIAL_ASS], [AMORT_MONTH], [AMORT_RATE], [AMORT_START_DATE], [AMORT_END_DATE], [FIRST_AMORT_AMT], [MONTHLY_AMORT_AMT], [AMORTIZED_MONTH], [AMORTIZED_AMT], [PO_ID], [PD_ID], [WAREHOUSE_ID], [LOCATION], [REF_ASSET_ID], [REF_AMORTIZED_AMT], [WARRANTY_MONTHS], [NOTES], [AMORT_STATUS], [ASS_STATUS], [ASS_STATUS_DESC], [ENTRY_BOOKED], [RECORD_STATUS], [AUTH_STATUS], [MAKER_ID], [CREATE_DT], [CHECKER_ID], [APPROVE_DT], [CONSTRUCT_ID], [USE_STATUS], [BRANCH_CREATE],[ACCOUNT_GL], VAT,PRICE_VAT, LIQ_W_STATUS -- HUNGDV MAC DINH = '0' ,REQ_ID ,REQ_CODE, -- KHIEMCHG thêm số phiếu yêu cầu để biết tài sản sinh ra từ pyc nào ASS_CODE_TMP,OS, MO_LICENSE ) VALUES ( @l_ASSET_ID, @l_TYPE_ID , @l_GROUP_ID, @l_ASSET_ID, @l_ASSET_NAME, @l_SERI, --@l_ASSET_SERIAL_NO, @l_ASSET_DESC, @l_SUP_ID, @l_BUY_PRICE, @l_AMORT_AMT, @l_ASS_TYPE, @l_BRANCH_ID, @l_DEPT_ID, @l_EMP_ID, @l_DIVISION_ID, CONVERT(DATETIME, @l_BUY_DATE, 103), CONVERT(DATETIME, @l_USE_DATE, 103), '0', NULL, --@l_AMORT_MONTH, @l_AMORT_RATE, @l_AMORT_START_DATE, @l_AMORT_END_DATE, @l_FIRST_AMORT_AMT, @l_MONTHLY_AMT, 0, 0, @l_PO_ID, @l_PD_ID, NULL, NULL, @l_REF_ASSET_ID, @l_REF_AMORTIZED_AMT, @l_WARRANTY_MONTHS, @l_NOTES, @l_AMORT_STATUS, '1', --Mac dinh moi insert vao tinh trang tai san la binh thuong N'', @l_ENTRY_BOOKED, '1', 'U', @l_MAKER_ID, CONVERT(DATETIME, @sToday, 103), @p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_CONSTRUCT_ID , 'BT', @BRANCH_CREATE,@ACCOUNT_GL, @VAT,@PRICE_VAT, '0' -- HUNGDV LIQ_W_STATUS MAC DINH = '0' ,@REQ_ID ,@REQ_CODE,@l_ASSET_ID, @WIN, @OFFICE ) IF @@Error <> 0 GOTO ABORT --INSERT CHI TIET TAI SAN INSERT INTO ASS_MASTER_PO SELECT @l_ASSET_ID, * FROM @TBTEMP --Insert bang ASS_WARRANTY_DET tu bang ASS_ADDNEW_DT insert into ASS_WARRANTY_DT(ASSET_ID, WAR_DT, WAR_CONTENT) select @l_ASSET_ID, A.WAR_DT, A.WAR_CONTENT from ASS_ADDNEW_DT A WHERE A.ADDNEW_ID= @p_ADDNEW_ID IF @@Error <> 0 GOTO ABORT --INSERT VAO BANG ASS_TRANSACTIONS INSERT INTO ASS_TRANSACTIONS(ASSET_ID, TRN_ID, TRN_TYPE, TRN_DATE, RECORD_STATUS, AUTH_STATUS, [MAKER_ID], [CREATE_DT], [CHECKER_ID], [APPROVE_DT] )VALUES ( @l_ASSET_ID, @p_ADDNEW_ID, 'ADD_NEW', CONVERT(DATETIME, @sToday, 103), '1', 'A', @l_MAKER_ID, CONVERT(DATETIME, @sToday, 103), @p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103) ) IF @@Error <> 0 GOTO ABORT --Insert bang ASS_LOCATION_HIST EXEC SYS_CodeMasters_Gen 'ASS_LOCATION_HIST', @l_LOCHIST_ID out IF @l_LOCHIST_ID='' OR @l_LOCHIST_ID IS NULL GOTO ABORT INSERT INTO ASS_LOCATION_HIST ( LOCHIST_ID, ASSET_ID, USE_START_DT, USE_END_DT, BRANCH_ID, DEPT_ID, EMP_ID, LOCATION, ISLEAF, PARENT_ID ) VALUES ( @l_LOCHIST_ID, @l_ASSET_ID, GETDATE(), NULL, @l_BRANCH_ID, @l_DEPT_ID, @l_EMP_ID, '', 'Y', NULL ) IF @@Error <> 0 GOTO ABORT SET @i = @i + 1 END END ---- SET VE NULL ĐỂ KT LƯU HIỆN RÀNG BUỘC UPDATE ASS_ADDNEW SET AMORT_MONTH = NULL WHERE ADDNEW_ID = @p_ADDNEW_ID INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_ADDNEW_ID, 'APPROVE', @p_CHECKER_ID, GETDATE(), N'Trưởng đơn vị phê duyệt' , N'Trưởng đơn vị phê duyệt thành công' ) -- ---UPDATE NGAY HOA DON VA SO HOA DON LEN PO -- UPDATE TR_PO_DETAIL SET INVOICENO = A.INVOICE_NO, INVOICE_DT = A.INVOICE_DT -- FROM ASS_ADDNEW_GD A -- WHERE A.TRPO_ID = PD_ID AND A.ADDNEW_ID = @p_ADDNEW_ID -- UPDATE SỐ TỜ TRÌNH VÀO PYC --IF(@REQ_CODE IS NOT NULL AND @REQ_CODE <> '') UPDATE TR_REQUEST_SHOP_DOC SET PL_CODE = @PL_CODE WHERE REQ_CODE = @REQ_CODE COMMIT TRANSACTION SELECT '0' as Result, @p_ADDNEW_ID ADDNEW_ID, @l_TYPE_ID ErrorDesc--LUU TRU TAM DE GUI MAIL THONG BAO -- HUNGDV Them Code de gui notification , (SELECT STUFF((SELECT '; ' + DTA.PO_CODE FROM ASS_ADDNEW_PO DTA WHERE DTA.ADDNEW_ID = @p_ADDNEW_ID FOR XML PATH('') ),1,1,'') ) as CODE RETURN '0' ABORT: BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' ADDNEW_ID, '' ErrorDesc RETURN '-1' End GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_COLLECT_MULTI_MASTER_App]' GO ALTER PROCEDURE [dbo].[ASS_COLLECT_MULTI_MASTER_App] @p_COL_MULTI_MASTER_ID varchar(15), @p_AUTH_STATUS varchar(1) = NULL, @p_CHECKER_ID varchar(100) = NULL, @p_APPROVE_DT VARCHAR(20) = NULL AS BEGIN TRANSACTION --LUCTV: 26/12/2018 BO SUNG KIEM TRA NEU DANG TRA VE THI KHONG CHO HANH CHINH DUYET NUA. IF(EXISTS(SELECT 1 FROM ASS_COLLECT_MULTI_MASTER WHERE AUTH_STATUS ='R' AND COL_MULTI_MASTER_ID =@p_COL_MULTI_MASTER_ID)) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' COL_MULTI_MASTER_ID, N'Thông tin thu hồi tài sản đang bị trả về. Vui lòng cập nhật lại thông tin trước khi duyệt' ErrorDesc RETURN '-1' END IF(EXISTS(SELECT 1 FROM ASS_COLLECT_MULTI_MASTER WHERE AUTH_STATUS ='E' AND COL_MULTI_MASTER_ID =@p_COL_MULTI_MASTER_ID)) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' COL_MULTI_MASTER_ID, N'Thông tin thu hồi tài sản chưa được gửi phê duyệt' ErrorDesc RETURN '-1' END UPDATE ASS_COLLECT_MULTI_MASTER SET AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103),AUTH_STATUS_KT='E',MAKER_ID_KT =NULL,APPROVE_DT_KT=NULL, CHECKER_ID_KT = NULL WHERE COL_MULTI_MASTER_ID = @p_COL_MULTI_MASTER_ID --DECLARE @COLLECT_MULTI_ID varchar(15) -- DECLARE @ASSET_ID varchar(15) -- DECLARE DataCusor SCROLL CURSOR -- FOR -- SELECT A.COLLECT_MULTI_ID,A.ASSET_ID -- FROM [dbo].[ASS_COLLECT_MULTI_DT] A -- WHERE [COL_MULTI_MASTER_ID] = @p_COL_MULTI_MASTER_ID -- OPEN DataCusor -- UPDATE ASS_COLLECT_MULTI_MASTER SET AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103) -- WHERE COL_MULTI_MASTER_ID = @p_COL_MULTI_MASTER_ID --FETCH NEXT FROM DataCusor INTO @COLLECT_MULTI_ID,@ASSET_ID --WHILE @@FETCH_STATUS = 0 --BEGIN -- --THIEUVQ 15062015 -- DECLARE @p_BRANCH_ID_RECEIVE VARCHAR(15) = NULL, @p_DEPT_ID_RECEIVE VARCHAR(15) = NULL, @l_ASSET_ID VARCHAR(15) -- DECLARE @l_LOCHIST_ID VARCHAR(15), @l_OLD_LOCHIST_ID VARCHAR(15), @l_ASSHIST_ID varchar(15) -- SELECT @p_BRANCH_ID_RECEIVE = BRANCH_ID_RECEIVE , @p_DEPT_ID_RECEIVE = DEPT_ID_RECEIVE , @l_ASSET_ID = ASSET_ID -- FROM ASS_COLLECT_MULTI_DT -- WHERE COLLECT_MULTI_ID = @COLLECT_MULTI_ID -- UPDATE ASS_COLLECT_MULTI_DT SET AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103) -- WHERE COLLECT_MULTI_ID = @COLLECT_MULTI_ID -- IF @@Error <> 0 -- BEGIN -- GOTO ABORT -- SELECT '0' as Result, '' ErrorDesc -- END -- --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 -- UPDATE ASS_MASTER SET BRANCH_ID = @p_BRANCH_ID_RECEIVE, DEPT_ID = @p_DEPT_ID_RECEIVE -- WHERE ASSET_ID = @l_ASSET_ID -- IF @@Error <> 0 GOTO ABORT -- --Lay LOCHIST_ID -- SELECT @l_OLD_LOCHIST_ID = LOCHIST_ID FROM ASS_LOCATION_HIST WHERE ASSET_ID = @l_ASSET_ID AND ISLEAF='Y' -- --Uptdae isleaf='N' and END_DATE = ngay hien tai cho record hien tai -- UPDATE ASS_LOCATION_HIST -- SET USE_END_DT = CONVERT(DATETIME,@p_APPROVE_DT,103), -- ISLEAF='N' -- WHERE ASSET_ID = @l_ASSET_ID AND ISLEAF='Y' -- IF @@Error <> 0 GOTO ABORT -- --Insert bang ASS_LOCATION_HIST -- EXEC SYS_CodeMasters_Gen 'ASS_LOCATION_HIST', @l_LOCHIST_ID out -- IF @l_LOCHIST_ID='' OR @l_LOCHIST_ID IS NULL GOTO ABORT -- INSERT INTO ASS_LOCATION_HIST -- ( -- LOCHIST_ID, ASSET_ID, USE_START_DT, USE_END_DT, BRANCH_ID, DEPT_ID, -- EMP_ID, LOCATION, ISLEAF, PARENT_ID -- ) -- VALUES -- ( -- @l_LOCHIST_ID, @l_ASSET_ID, GETDATE(), NULL, @p_BRANCH_ID_RECEIVE, @p_DEPT_ID_RECEIVE, -- NULL, '', 'Y', NULL -- ) -- IF @@Error <> 0 GOTO ABORT -- FETCH NEXT FROM DataCusor INTO @COLLECT_MULTI_ID,@ASSET_ID --END --CLOSE DataCusor --DEALLOCATE DataCusor -- GIANT Insert to table PL_PROCESS INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_COL_MULTI_MASTER_ID, 'APPROVE', @p_CHECKER_ID, GETDATE(), N'Trưởng đơn vị phê duyệt ' , N'Trưởng đơn vị phê duyệt thành công' ) COMMIT TRANSACTION SELECT '0' as Result, @p_COL_MULTI_MASTER_ID COL_MULTI_MASTER_ID, '' ErrorDesc RETURN '0' ABORT: BEGIN CLOSE DataCusor DEALLOCATE DataCusor ROLLBACK TRANSACTION SELECT '-1' as Result, '' COL_MULTI_MASTER_ID, '' ErrorDesc RETURN '-1' End GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_USE_MULTI_HANDOVER_RECORD]' GO ALTER PROC [dbo].[ASS_USE_MULTI_HANDOVER_RECORD] @USER_MASTER_ID VARCHAR(15) = NULL AS BEGIN --Table 0 Nội dung && BRANCH SELECT N'Hội sở - PHÒNG QUẢN LÝ TÀI SẢN' AS BRANCH_NAME, (N'Hôm nay, ngày ' + CONVERT(VARCHAR(5),DAY(GETDATE())) + N' tháng ' + CONVERT(VARCHAR(5),MONTH(GETDATE())) + N' năm ' + CONVERT(VARCHAR(5),YEAR(GETDATE())) + N' tại ') AS DD_MM_YY, A.CONTENT AS TITLE FROM ASS_USE_MULTI_MASTER A WHERE A.USER_MASTER_ID = @USER_MASTER_ID --Table 1 Bên giao SELECT TOP 1 B.TLFullName, B.ADDRESS, B.PHONE, C.POS_NAME, ISNULL(D.BRANCH_NAME,'') + ISNULL(' - ' + E.DEP_NAME,'') AS BRANCH_NAME FROM ASS_USE_MULTI_MASTER A LEFT JOIN TL_USER B ON A.MAKER_ID = B.TLNANME LEFT JOIN CM_EMPLOYEE_LOG C ON B.TLNANME = C.USER_DOMAIN LEFT JOIN CM_BRANCH D ON A.BRANCH_CREATE = D.BRANCH_ID LEFT JOIN CM_DEPARTMENT E ON A.DEPT_CREATE = E.DEP_ID WHERE A.USER_MASTER_ID = @USER_MASTER_ID --Table 2 Bên nhận --Fix tạm UAT IF(EXISTS(SELECT TOP 1 B.TLFullName, B.ADDRESS, B.PHONE, C.POS_NAME FROM ASS_USE_CONFIRM_MASTER A LEFT JOIN TL_USER B ON A.MAKER_ID = B.TLNANME LEFT JOIN CM_EMPLOYEE_LOG C ON B.TLNANME = C.USER_DOMAIN WHERE A.USER_MASTER_ID = @USER_MASTER_ID)) BEGIN SELECT TOP 1 B.TLFullName, B.ADDRESS, B.PHONE, C.POS_NAME, ISNULL(D.BRANCH_NAME,'') + ISNULL(' - ' + E.DEP_NAME,'') AS BRANCH_NAME FROM ASS_USE_CONFIRM_MASTER A LEFT JOIN TL_USER B ON A.MAKER_ID = B.TLNANME LEFT JOIN CM_EMPLOYEE_LOG C ON B.TLNANME = C.USER_DOMAIN LEFT JOIN CM_BRANCH D ON A.BRANCH_ID = D.BRANCH_ID LEFT JOIN CM_DEPARTMENT E ON A.DEP_ID = E.DEP_ID WHERE A.USER_MASTER_ID = @USER_MASTER_ID END ELSE BEGIN SELECT '' TLFullName, '' ADDRESS, '' PHONE, '' POS_NAME END --TABLE 3 DANH SÁCH TÀI SẢN SELECT CASE WHEN B.ASSET_CODE IS NOT NULL AND B.ASSET_CODE <> '' THEN B.ASSET_CODE ELSE B.ASS_CODE_TMP END AS ASSET_CODE, B.ASSET_NAME, D.UNIT_NAME, 1 AS QUANTITY, E.STATUS_NAME, B.ASSET_SERIAL_NO AS SERIAL, R.REQ_CODE + ISNULL(CHAR(10) + CHAR(10) + B.PL,'') AS REQ_CODE, B.NOTES AS QUY_CACH, A.NOTES, ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS STT ,CE.EMP_NAME FROM ASS_USE_MULTI_DT A LEFT JOIN TR_REQUEST_SHOP_DOC R ON A.REQ_ID = R.REQ_ID LEFT JOIN ASS_MASTER B ON A.ASSET_ID = B.ASSET_ID LEFT JOIN ASS_GROUP C ON B.GROUP_ID = C.GROUP_ID LEFT JOIN CM_UNIT D ON C.UNIT = D.UNIT_ID LEFT JOIN ASS_STATUS E ON B.ASS_STATUS = E.STATUS_ID LEFT JOIN CM_EMPLOYEE CE ON A.EMP_ID = CE.EMP_ID WHERE A.USER_MASTER_ID = @USER_MASTER_ID --TABLE 4 CHỮ KÝ SELECT TOP 1 E.TLFullName AS CHECKER_NAME, --BÊN NHẬN ISNULL(C.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.USER_MASTER_ID AND PP.PROCESS_ID = 'CONFIRM' AND PP.CHECKER_ID = B.MAKER_ID ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME_2,--BÊN NHẬN D.TLFullName AS MAKER_NAME, --BÊN GIAO --G.TLFullName AS INTERMEDIATE_UNIT_NAME, --ĐƠN VỊ TRUNG GIAN ISNULL(F.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.USER_MASTER_ID AND PP.PROCESS_ID = 'SEND' AND PP.CHECKER_ID = A.MAKER_ID ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME --BÊN GIAO --H.POS_NAME AS POS_NAME_1 -- ĐƠN VỊ TRUNG GIAN FROM ASS_USE_MULTI_MASTER A LEFT JOIN ASS_USE_CONFIRM_MASTER B ON A.USER_MASTER_ID = B.USER_MASTER_ID LEFT JOIN TL_USER E ON B.MAKER_ID = E.TLNANME --BÊN NHẬN LEFT JOIN CM_EMPLOYEE_LOG C ON B.MAKER_ID = C.USER_DOMAIN --BÊN NHẬN LEFT JOIN TL_USER D ON A.MAKER_ID = D.TLNANME --BÊN GIAO LEFT JOIN CM_EMPLOYEE_LOG F ON D.TLNANME = F.USER_DOMAIN --LEFT JOIN TL_USER G ON A.CHECKER_ID = G.TLNANME -- DVTG --LEFT JOIN CM_EMPLOYEE_LOG H ON A.CHECKER_ID = H.USER_DOMAIN --DVTG WHERE A.USER_MASTER_ID = @USER_MASTER_ID --TABLE 5 SỐ SELECT @USER_MASTER_ID AS NO --TABLE 6 ĐƠN VỊ TRUNG GIAN SELECT '' TLFullName, '' ADDRESS, '' PHONE, '' POS_NAME --SELECT TOP 1 B.TLFullName, B.ADDRESS, B.PHONE, C.POS_NAME, ISNULL(D.BRANCH_NAME,'') + ISNULL(' - ' + E.DEP_NAME,'') AS BRANCH_NAME --FROM ASS_USE_MULTI_MASTER A --LEFT JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME --LEFT JOIN CM_EMPLOYEE_LOG C ON B.TLNANME = C.USER_DOMAIN --LEFT JOIN CM_BRANCH D ON A.BRANCH_CREATE = D.BRANCH_ID --LEFT JOIN CM_DEPARTMENT E ON A.DEPT_CREATE = E.DEP_ID --WHERE A.USER_MASTER_ID = @USER_MASTER_ID END GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[rpt_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 ((@lP_LEVEL = 'ALL' AND A.DEPT_ID IN (SELECT DEP_ID FROM dbo.CM_DEP_GETALL_CHILD_ID(@lp_DEP_ID))) OR (@lP_LEVEL = 'UNIT' AND A.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].[rpt_PYC_CAPPHAT]' GO ALTER PROC [dbo].[rpt_PYC_CAPPHAT] @REQ_ID VARCHAR(15) = NULL AS BEGIN DECLARE @SHOW_TABLE_DVCM_KHAC VARCHAR(1) = NULL,@SHOW_TABLE_DVCM_IT VARCHAR(1) = NULL --TABLE 0 SELECT DISTINCT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS STT, AG.GROUP_NAME AS GR_NAME, AG.GROUP_CODE AS GR_CODE, cd.DEP_NAME, ce.EMP_NAME, trsdd.QTY_ETM, trsdd.REASON, TU.TLFullName AS MAKER, TU2.TLFullName AS TDV FROM TR_REQUEST_SHOP_DOC_DT trsdd LEFT JOIN TR_REQUEST_SHOP_DOC trsd ON trsdd.REQ_DOC_ID = trsd.REQ_ID LEFT JOIN CM_DEPARTMENT cd ON trsd.DEP_ID = cd.DEP_ID LEFT JOIN CM_EMPLOYEE ce ON trsdd.EMP_ID = ce.EMP_ID LEFT JOIN ASS_GROUP AG ON trsdd.ASS_GROUP_ID = AG.GROUP_ID LEFT JOIN TL_USER TU ON TU.TLNANME = trsd.MAKER_ID LEFT JOIN TL_USER TU2 ON TU2.TLNANME = trsd.CHECKER_ID WHERE trsdd.REQ_DOC_ID = @REQ_ID AND REQ_DT_TYPE = 'ORGINAL' --GROUP BY AG.GROUP_NAME, AG.GROUP_CODE, --cd.DEP_NAME, ce.EMP_NAME, trsdd.QTY_ETM, trsdd.REASON, TU.TLFullName, TU2.TLNANME ORDER BY STT --TABLE 1 DVCM KHOI CNTT IF(EXISTS(SELECT 1 FROM TR_REQUEST_SHOP_COSTCENTER A LEFT JOIN CM_DEPARTMENT B ON A.COST_ID = B.DEP_ID WHERE A.REQ_ID = @REQ_ID AND B.DEP_CODE = '05J00')) BEGIN SELECT TOP 1 A.ASS_STATUS, A.RE_CONTENT, A.NOTES, E.TLFullName AS SURVEY_STAFF, ISNULL(B.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(PP.APPROVE_DT, 'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM TR_REQUEST_SHOP_COSTCENTER A LEFT JOIN CM_EMPLOYEE_LOG B ON A.MAKER_ID = B.USER_DOMAIN LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME LEFT JOIN CM_DEPARTMENT cd ON A.COST_ID = cd.DEP_ID LEFT JOIN PL_PROCESS PP ON A.REQ_ID = PP.REQ_ID AND A.MAKER_ID = PP.CHECKER_ID WHERE A.REQ_ID = @REQ_ID AND cd.DEP_CODE = '05J00' ORDER BY PP.APPROVE_DT DESC SET @SHOW_TABLE_DVCM_IT = '1' END ELSE BEGIN SELECT '' ASS_STATUS, '' RE_CONTENT,'' NOTES, ''SURVEY_STAFF, '' POS_NAME END --TABLE 2 DVCM KHAC IF(EXISTS(SELECT 1 FROM TR_REQUEST_SHOP_COSTCENTER A LEFT JOIN CM_DEPARTMENT B ON A.COST_ID = B.DEP_ID WHERE A.REQ_ID = @REQ_ID AND B.DEP_CODE <> '05J00')) BEGIN SELECT A.ASS_STATUS, A.RE_CONTENT, A.NOTES, E.TLFullName AS SURVEY_STAFF, ISNULL(B.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT( (SELECT TOP 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.REQ_ID AND PP.CHECKER_ID = A.MAKER_ID ORDER BY PP.APPROVE_DT DESC) , 'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM TR_REQUEST_SHOP_COSTCENTER A LEFT JOIN CM_EMPLOYEE_LOG B ON A.MAKER_ID = B.USER_DOMAIN LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME LEFT JOIN CM_DEPARTMENT cd ON A.COST_ID = cd.DEP_ID WHERE A.REQ_ID = @REQ_ID AND cd.DEP_CODE <> '05J00' ORDER BY A.COST_ID SET @SHOW_TABLE_DVCM_KHAC = '1' END ELSE BEGIN SELECT '' ASS_STATUS, '' RE_CONTENT,'' NOTES, ''SURVEY_STAFF, '' POS_NAME END --TABLE 3 DANH GIA VA DE XUAT CUA P.QLTS IF(EXISTS(SELECT 1 FROM TR_REQUEST_SHOP_DOC trsd LEFT JOIN CM_DEPARTMENT cd ON trsd.DEP_ID = cd.DEP_ID LEFT JOIN PL_REQUEST_PROCESS PRP ON trsd.REQ_ID = PRP.REQ_ID AND PRP.PROCESS_ID = 'QLTS_NL' LEFT JOIN TL_USER tu ON PRP.CHECKER_ID = tu.TLNANME LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = PRP.CHECKER_ID WHERE trsd.REQ_ID = @REQ_ID)) BEGIN SELECT DISTINCT trsd.HO_NOTES, tu.TLFullName, ISNULL(CE.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT( (SELECT TOP 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = trsd.REQ_ID AND PP.CHECKER_ID = PRP.CHECKER_ID ORDER BY PP.APPROVE_DT DESC) , 'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM TR_REQUEST_SHOP_DOC trsd LEFT JOIN CM_DEPARTMENT cd ON trsd.DEP_ID = cd.DEP_ID LEFT JOIN PL_REQUEST_PROCESS PRP ON trsd.REQ_ID = PRP.REQ_ID AND PRP.PROCESS_ID = 'QLTS_NL' LEFT JOIN TL_USER tu ON PRP.CHECKER_ID = tu.TLNANME LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = PRP.CHECKER_ID WHERE trsd.REQ_ID = @REQ_ID END ELSE BEGIN SELECT N'' NOTES, N'' TLFullName, N'' POS_NAME END --TABLE 4 PHE DUYET DVCM KHOI CNTT IF(@SHOW_TABLE_DVCM_IT IS NOT NULL) BEGIN IF (EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS A LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE = '05J00')) BEGIN SELECT TOP 1 ISNULL(A.NOTES,'') AS NOTES, E.TLFullName, ISNULL(D.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(PP.APPROVE_DT, 'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM PL_REQUEST_PROCESS A LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID LEFT JOIN CM_EMPLOYEE_LOG D ON A.CHECKER_ID = D.USER_DOMAIN LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME LEFT JOIN PL_PROCESS PP ON A.REQ_ID = PP.REQ_ID WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE = '05J00' ORDER BY PP.APPROVE_DT DESC END ELSE BEGIN SELECT '' AS NOTES END END ELSE BEGIN SELECT N'' NOTES END --QTLS_D 5 IF(EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS PRP LEFT JOIN TL_USER tu ON PRP.CHECKER_ID = tu.TLNANME LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = PRP.CHECKER_ID WHERE PRP.REQ_ID = @REQ_ID AND PRP.PROCESS_ID = 'QLTS_D')) BEGIN SELECT DISTINCT PRP.NOTES AS HO_NOTES, tu.TLFullName, ISNULL(CE.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT( (SELECT TOP 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = PRP.REQ_ID AND PP.CHECKER_ID = PRP.CHECKER_ID ORDER BY PP.APPROVE_DT DESC) , 'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM PL_REQUEST_PROCESS PRP LEFT JOIN TL_USER tu ON PRP.CHECKER_ID = tu.TLNANME LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = PRP.CHECKER_ID LEFT JOIN PL_PROCESS PP ON PRP.REQ_ID = PP.REQ_ID AND PRP.CHECKER_ID = PP.CHECKER_ID WHERE PRP.REQ_ID = @REQ_ID AND PRP.PROCESS_ID = 'QLTS_D' END ELSE BEGIN SELECT N'' HO_NOTES, N'' TLFullName, N'' POS_NAME END --TTQTLS_D 6 SELECT DISTINCT ISNULL(PRP.NOTES, '') AS HO_NOTES, ISNULL(tu.TLFullName, '') AS TLFullName , ISNULL(CE.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT( (SELECT TOP 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = PRP.REQ_ID AND PP.CHECKER_ID = PRP.CHECKER_ID ORDER BY PP.APPROVE_DT DESC) , 'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM PL_REQUEST_PROCESS PRP LEFT JOIN TL_USER tu ON PRP.CHECKER_ID = tu.TLNANME LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = PRP.CHECKER_ID --LEFT JOIN PL_PROCESS PP ON PRP.REQ_ID = PP.REQ_ID AND PRP.CHECKER_ID = PP.CHECKER_ID WHERE PRP.REQ_ID = @REQ_ID AND PRP.PROCESS_ID = 'TTQLTS_D' --TABLE 7 SELECT TU.TLFullName AS MAKER, TU2.TLFullName AS TDV, ISNULL(CE.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT( A.CREATE_DT , 'dd/MM/yyyy HH:mm:ss') AS POS_MAKER, ISNULL(CE2.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT( A.APPROVE_DT , 'dd/MM/yyyy HH:mm:ss') AS POS_TDV FROM TR_REQUEST_SHOP_DOC A LEFT JOIN TL_USER TU ON TU.TLNANME = A.MAKER_ID LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = A.MAKER_ID LEFT JOIN TL_USER TU2 ON TU2.TLNANME = A.CHECKER_ID LEFT JOIN CM_EMPLOYEE_LOG CE2 ON CE2.USER_DOMAIN = A.CHECKER_ID WHERE A.REQ_ID = @REQ_ID --TABLE 8 SỐ PYC SELECT trsd.REQ_CODE FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.REQ_ID = @REQ_ID --PHUCVH TABLE 9 NGÀY TDV DUYỆT SELECT TOP 1 N'Ngày ' + CONVERT(VARCHAR(5),DAY(pp.APPROVE_DT)) + N' tháng ' + CONVERT(VARCHAR(5),MONTH(pp.APPROVE_DT)) + N' năm ' + CONVERT(VARCHAR(10),YEAR(pp.APPROVE_DT)) AS APPROVE_DT FROM PL_PROCESS pp WHERE pp.REQ_ID = @REQ_ID AND pp.PROCESS_ID = 'APPNEW' ORDER BY pp.ID DESC --TABLE 10 PHÊ DUYỆT DVCM KHÁC IF(@SHOW_TABLE_DVCM_KHAC IS NOT NULL) BEGIN IF (EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS A LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE <> '05J00')) BEGIN SELECT ISNULL(A.NOTES,'') AS NOTES, E.TLFullName, ISNULL(D.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(A.APPROVE_DT, 'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM PL_REQUEST_PROCESS A LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID LEFT JOIN CM_EMPLOYEE_LOG D ON A.CHECKER_ID = D.USER_DOMAIN LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE <> '05J00' ORDER BY C.DEP_ID END ELSE BEGIN SELECT '' AS NOTES FROM TR_REQUEST_SHOP_COSTCENTER A LEFT JOIN CM_DEPARTMENT C ON A.COST_ID = C.DEP_ID WHERE A.REQ_ID = @REQ_ID AND C.DEP_CODE <> '05J00' END END ELSE BEGIN SELECT N'' NOTES END --TABLE 11 PHÊ DUYỆT TBP_QLTS SELECT DISTINCT ISNULL(PRP.NOTES, ISNULL((SELECT TOP 1 PP.NOTES FROM PL_PROCESS PP WHERE PP.REQ_ID = PRP.REQ_ID AND PP.CHECKER_ID = PRP.CHECKER_ID AND PRP.STATUS = 'P' ORDER BY PP.APPROVE_DT DESC),'')) AS HO_NOTES, ISNULL(tu.TLFullName, '') AS TLFullName , ISNULL(CE.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT( (SELECT TOP 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = PRP.REQ_ID AND PP.CHECKER_ID = PRP.CHECKER_ID ORDER BY PP.APPROVE_DT DESC) , 'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM PL_REQUEST_PROCESS PRP LEFT JOIN TL_USER tu ON PRP.CHECKER_ID = tu.TLNANME LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = PRP.CHECKER_ID --LEFT JOIN PL_PROCESS PP ON PRP.REQ_ID = PP.REQ_ID AND PRP.CHECKER_ID = PP.CHECKER_ID WHERE PRP.REQ_ID = @REQ_ID AND PRP.PROCESS_ID = 'TBP_D' --SHOW TABLE DVCM IT IF(@SHOW_TABLE_DVCM_IT IS NOT NULL) BEGIN SELECT N'DVCMIT' AS MERGE_REGION END --SHOW TABLE DVCM KHÁC IF(@SHOW_TABLE_DVCM_KHAC IS NOT NULL) BEGIN SELECT N'DVCMKHAC' AS MERGE_REGION END --SHOW TITLE ĐÁNH GIÁ CỦA ĐƠN VỊ CHUYÊN MÔN IF(@SHOW_TABLE_DVCM_IT IS NOT NULL OR @SHOW_TABLE_DVCM_KHAC IS NOT NULL) BEGIN SELECT N'TITLEDVCM' AS MERGE_REGION END END GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[rpt_PYC_DIEUCHUYEN]' GO ALTER PROC [dbo].[rpt_PYC_DIEUCHUYEN] @REQ_ID VARCHAR(15) = NULL AS BEGIN DECLARE @SHOW_TABLE_DVCM_KHAC VARCHAR(1) = NULL,@SHOW_TABLE_DVCM_IT VARCHAR(1) = NULL --TABLE 0 SELECT DISTINCT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS STT, am.ASSET_NAME AS ASS_NAME, ISNULL(am.ASSET_CODE,am.ASS_CODE_TMP) AS ASSET_CODE, ISNULL(PB.DEP_NAME,ISNULL(TT.DEP_NAME,K.DEP_NAME)) AS DEP_NAME, ce.EMP_NAME, '1' QTY_ETM, B.REASON AS REQ_CONTENT FROM TR_REQUEST_SHOP_DOC A LEFT JOIN TR_REQUEST_SHOP_DOC_DT B ON A.REQ_ID = B.REQ_DOC_ID LEFT JOIN CM_DEPARTMENT K ON B.SUBBRANCH_OLD = K.DEP_ID LEFT JOIN CM_DEPARTMENT TT ON B.FATHER_OLD = TT.DEP_ID LEFT JOIN CM_DEPARTMENT PB ON B.DEP_OLD = PB.DEP_ID LEFT JOIN ASS_MASTER am ON am.ASSET_ID = B.ASS_ID LEFT JOIN CM_EMPLOYEE ce ON B.EMP_ID = ce.EMP_ID WHERE A.REQ_ID = @REQ_ID --TABLE 1 DVCM KHOI CNTT IF(EXISTS(SELECT 1 FROM TR_REQUEST_SHOP_COSTCENTER A LEFT JOIN CM_DEPARTMENT B ON A.COST_ID = B.DEP_ID WHERE A.REQ_ID = @REQ_ID AND B.DEP_CODE = '05J00')) BEGIN SELECT TOP 1 A.ASS_STATUS, A.RE_CONTENT, A.NOTES, E.TLFullName AS SURVEY_STAFF, ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT(D.APPROVE_DT,'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM TR_REQUEST_SHOP_COSTCENTER A LEFT JOIN CM_EMPLOYEE_LOG B ON A.MAKER_ID = B.USER_DOMAIN LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME LEFT JOIN CM_DEPARTMENT cd ON A.COST_ID = cd.DEP_ID LEFT JOIN PL_PROCESS D ON A.REQ_ID = D.REQ_ID AND D.PROCESS_ID = 'S_GDDVDVCM' AND A.MAKER_ID = D.CHECKER_ID WHERE A.REQ_ID = @REQ_ID AND cd.DEP_CODE = '05J00' ORDER BY D.ID DESC SET @SHOW_TABLE_DVCM_IT = '1' END ELSE BEGIN SELECT '' ASS_STATUS, '' RE_CONTENT,'' NOTES, ''SURVEY_STAFF, '' POS_NAME END --TABLE 2 DVCM KHAC IF(EXISTS(SELECT 1 FROM TR_REQUEST_SHOP_COSTCENTER A LEFT JOIN CM_DEPARTMENT B ON A.COST_ID = B.DEP_ID WHERE A.REQ_ID = @REQ_ID AND B.DEP_CODE <> '05J00')) BEGIN SELECT A.ASS_STATUS, A.RE_CONTENT, A.NOTES, E.TLFullName AS SURVEY_STAFF, ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'S_GDDVDVCM' AND PP.CHECKER_ID = A.MAKER_ID ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM TR_REQUEST_SHOP_COSTCENTER A LEFT JOIN CM_EMPLOYEE_LOG B ON A.MAKER_ID = B.USER_DOMAIN LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME LEFT JOIN CM_DEPARTMENT cd ON A.COST_ID = cd.DEP_ID WHERE A.REQ_ID = @REQ_ID AND cd.DEP_CODE <> '05J00' ORDER BY A.COST_ID SET @SHOW_TABLE_DVCM_KHAC = '1' END ELSE BEGIN SELECT '' ASS_STATUS, '' RE_CONTENT,'' NOTES, ''SURVEY_STAFF, '' POS_NAME END --TABLE 3 DANH GIA VA DE XUAT CUA P.QLTS SELECT TOP 1 A.HO_NOTES, D.TLFullName, ISNULL(C.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.REQ_ID AND (PP.PROCESS_ID = 'S_DVCM' OR PP.PROCESS_ID = 'S_TBP_QLTS') AND PP.CHECKER_ID = PL.CHECKER_ID ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM TR_REQUEST_SHOP_DOC A LEFT JOIN PL_REQUEST_PROCESS PL ON A.REQ_ID = PL.REQ_ID AND PL.PROCESS_ID = 'QLTS_N' LEFT JOIN CM_EMPLOYEE_LOG C ON PL.CHECKER_ID = C.USER_DOMAIN LEFT JOIN TL_USER D ON C.USER_DOMAIN = D.TLNANME WHERE A.REQ_ID = @REQ_ID --TABLE 4 PHE DUYET DVCM KHOI CNTT IF(@SHOW_TABLE_DVCM_IT IS NOT NULL) BEGIN IF (EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS A LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE = '05J00')) BEGIN SELECT TOP 1 ISNULL(A.NOTES,'') AS NOTES, E.TLFullName, ISNULL(D.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'DVCM_D' AND PP.CHECKER_ID = A.CHECKER_ID ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM PL_REQUEST_PROCESS A LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID LEFT JOIN CM_EMPLOYEE_LOG D ON A.CHECKER_ID = D.USER_DOMAIN LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE = '05J00' ORDER BY C.DEP_ID END ELSE BEGIN SELECT '' AS NOTES END END ELSE BEGIN SELECT N'' NOTES END --table 5 PHÊ DUYỆT PHÒNG QLTS IF(EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS A LEFT JOIN CM_EMPLOYEE_LOG B ON A.CHECKER_ID = B.USER_DOMAIN LEFT JOIN TL_USER C ON B.USER_DOMAIN = C.TLNANME WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'QLTS_D')) BEGIN SELECT TOP 1 ISNULL(A.NOTES,'') AS NOTES, C.TLFullName, ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'QLTS_D' AND PP.CHECKER_ID = A.CHECKER_ID ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM PL_REQUEST_PROCESS A LEFT JOIN CM_EMPLOYEE_LOG B ON A.CHECKER_ID = B.USER_DOMAIN LEFT JOIN TL_USER C ON B.USER_DOMAIN = C.TLNANME WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'QLTS_D' END ELSE BEGIN SELECT N'' NOTES, '' TLFullName, '' POS_NAME END --Phucvh table 6 USER TẠO DUYỆT SELECT TOP 1 C.TLFullName AS USER_CREATE, CHAR(13) + ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP1.APPROVE_DT FROM PL_PROCESS PP1 WHERE PP1.REQ_ID = A.REQ_ID AND PP1.PROCESS_ID = 'S_DVKD' AND PP1.CHECKER_ID = A.MAKER_ID ORDER BY PP1.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME, E.TLFullName AS USER_APPROVE, CHAR(13) + ISNULL(D.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP1.APPROVE_DT FROM PL_PROCESS PP1 WHERE PP1.REQ_ID = A.REQ_ID AND PP1.PROCESS_ID = 'DVKD_D' ORDER BY PP1.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME_1 FROM TR_REQUEST_SHOP_DOC A LEFT JOIN CM_EMPLOYEE_LOG B ON A.MAKER_ID = B.USER_DOMAIN --NGƯỜI TẠO LEFT JOIN TL_USER C ON B.USER_DOMAIN = C.TLNANME --NGƯỜI TẠO LEFT JOIN PL_REQUEST_PROCESS PP ON A.REQ_ID = PP.REQ_ID AND PP.PROCESS_ID = 'APPNEW' LEFT JOIN CM_EMPLOYEE_LOG D ON PP.CHECKER_ID = D.USER_DOMAIN --NGƯỜI DUYỆT LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME --NGƯỜI DUYỆT WHERE A.REQ_ID = @REQ_ID --PHUCVH TABLE 7 SỐ PYC SELECT trsd.REQ_CODE FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.REQ_ID = @REQ_ID --PHUCVH TABLE 8 NGÀY TDV DUYỆT SELECT TOP 1 N'Ngày ' + CONVERT(VARCHAR(5),DAY(pp.APPROVE_DT)) + N' tháng ' + CONVERT(VARCHAR(5),MONTH(pp.APPROVE_DT)) + N' năm ' + CONVERT(VARCHAR(10),YEAR(pp.APPROVE_DT)) AS APPROVE_DT FROM PL_REQUEST_PROCESS pp WHERE pp.REQ_ID = @REQ_ID AND pp.PROCESS_ID = 'APPNEW' END --TABLE 9 PHÊ DUYỆT DVCM KHÁC IF(@SHOW_TABLE_DVCM_KHAC IS NOT NULL) BEGIN IF (EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS A LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE <> '05J00')) BEGIN SELECT ISNULL(A.NOTES,'') AS NOTES, E.TLFullName, ISNULL(D.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'DVCM_D' AND PP.CHECKER_ID = A.CHECKER_ID ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM PL_REQUEST_PROCESS A LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID LEFT JOIN CM_EMPLOYEE_LOG D ON A.CHECKER_ID = D.USER_DOMAIN LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE <> '05J00' ORDER BY C.DEP_ID END ELSE BEGIN SELECT '' AS NOTES FROM TR_REQUEST_SHOP_COSTCENTER A LEFT JOIN CM_DEPARTMENT C ON A.COST_ID = C.DEP_ID WHERE A.REQ_ID = @REQ_ID AND C.DEP_CODE <> '05J00' END END ELSE BEGIN SELECT N'' NOTES END --TABLE 10 PHÊ DUYỆT TBP_QLTS IF(EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS WHERE REQ_ID = @REQ_ID AND PROCESS_ID = 'TBP_D')) BEGIN SELECT TOP 1 ISNULL(A.NOTES,'') AS HO_NOTES, C.TLFullName, ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'TBP_D' AND PP.CHECKER_ID = A.CHECKER_ID ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM PL_REQUEST_PROCESS A LEFT JOIN CM_EMPLOYEE_LOG B ON A.CHECKER_ID = B.USER_DOMAIN LEFT JOIN TL_USER C ON B.USER_DOMAIN = C.TLNANME WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'TBP_D' END ELSE BEGIN SELECT N'' HO_NOTES, '' TLFullName, '' POS_NAME END --TABLE 11 PHÊ DUYỆT TRUNG TÂM DỊCH VỤ NỘI BỘ DECLARE @PRICE_OF_ASSET DECIMAL = (SELECT MAX(b.BUY_PRICE) FROM TR_REQUEST_SHOP_DOC_DT A LEFT JOIN ASS_MASTER B ON A.ASS_ID = B.ASSET_ID WHERE A.REQ_DOC_ID = @REQ_ID) IF(@PRICE_OF_ASSET > 30000000) BEGIN IF(EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS prp WHERE prp.REQ_ID = @REQ_ID AND prp.PROCESS_ID = 'TTQLTS_D')) BEGIN SELECT ISNULL(A.NOTES,'') AS NOTES, E.TLFullName, ISNULL(D.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'TTQLTS_D' AND PP.CHECKER_ID = A.CHECKER_ID ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM PL_REQUEST_PROCESS A LEFT JOIN CM_EMPLOYEE_LOG D ON A.CHECKER_ID = D.USER_DOMAIN LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'TTQLTS_D' END END --SHOW TABLE DVCM IT IF(@SHOW_TABLE_DVCM_IT IS NOT NULL) BEGIN SELECT N'DVCMIT' AS MERGE_REGION END --SHOW TABLE DVCM KHÁC IF(@SHOW_TABLE_DVCM_KHAC IS NOT NULL) BEGIN SELECT N'DVCMKHAC' AS MERGE_REGION END --SHOW TITLE ĐÁNH GIÁ CỦA ĐƠN VỊ CHUYÊN MÔN IF(@SHOW_TABLE_DVCM_IT IS NOT NULL OR @SHOW_TABLE_DVCM_KHAC IS NOT NULL) BEGIN SELECT N'TITLEDVCM' AS MERGE_REGION END GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_TRANSFER_MULTI_MASTER_KT_App]' GO ALTER PROCEDURE [dbo].[ASS_TRANSFER_MULTI_MASTER_KT_App] @p_TRANS_MULTI_MASTER_ID varchar(15), @p_AUTH_STATUS varchar(1) = NULL, @p_CHECKER_ID varchar(100) = NULL, @p_APPROVE_DT VARCHAR(20) = NULL AS BEGIN TRANSACTION declare @l_OLD_LOCHIST_ID varchar(15) declare @l_LOCHIST_ID varchar(15) declare @l_ASSHIST_ID varchar(15) declare @l_ASSET_ID varchar(15) declare @l_BRANCH_ID varchar(15) declare @l_DEPT_ID varchar(15) declare @l_EMP_ID varchar(15) declare @l_DESC nvarchar(1000) declare @l_LOCATION nvarchar(500) DECLARE @l_MAKER_ID varchar(15) DECLARE @sToday varchar(10) = convert(varchar(10), @p_APPROVE_DT, 103), @l_ENTRY_BOOKED VARCHAR(1),@l_ASSET_CODE VARCHAR(50) DECLARE @l_CUR_BRANCH_ID VARCHAR(15), @l_ASSET_TYPE VARCHAR(15), @l_AMORT_ACCTNO VARCHAR(50), @l_ASSET_GL VARCHAR(50),@l_TRANSFER_ACCNO VARCHAR(50), @l_ASSET_GROUP VARCHAR(15), @l_ET_ID VARCHAR(15), @l_TRN_REF_NO VARCHAR(15),@l_AMORT_AMT DECIMAL(18,0), @l_DO_BRANCH_ID VARCHAR(15), @l_HO_BRANCH_ID VARCHAR(15), @l_CUR_AMORT_AMT DECIMAL(18), @l_AMORT_STATUS VARCHAR(15), @l_REMAIN_VALUE DECIMAL(18,0) DECLARE @l_BRANCH_CREATE VARCHAR(15),@l_BUY_PRICE DECIMAL(18), @l_CORE_NOTE NVARCHAR(500), @l_AMORTIZED_AMT DECIMAL(18) = 0 DECLARE @NOTE NVARCHAR(500), @CRET DATETIME, @ERROR NVARCHAR(500) = '',@BRN_TYPE_TRN VARCHAR(15), @BRN_TYPE_REC VARCHAR(15), @TCCT_TRN_ACCTNO VARCHAR(50), @TCCT_REC_ACCTNO VARCHAR(50) DECLARE @l_IS_COLLECT BIT DECLARE @l_AMORT_START_DATE DATETIME, @l_AMORT_END_DATE DATETIME, @l_NEW_AMORT_MONTH DECIMAL, @l_RE_AMORT_MONTH DECIMAL DECLARE @l_ETP_ID VARCHAR(20),@l_D_BRANCH_CODE VARCHAR(25) , @l_C_BRANCH_CODE VARCHAR(25) SELECT @NOTE = NOTES, @CRET = CREATE_DT, @l_CORE_NOTE = CORE_NOTE FROM [ASS_TRANSFER_MULTI_MASTER] WHERE [TRANS_MULTI_MASTER_ID] = @p_TRANS_MULTI_MASTER_ID --KIEM TRA NEU TINH TRANG DANG LA 'A' THI KHONG CHO PHEP DUYET IF(EXISTS(SELECT * FROM ASS_TRANSFER_MULTI_MASTER WHERE AUTH_STATUS_KT ='A' AND TRANS_MULTI_MASTER_ID =@p_TRANS_MULTI_MASTER_ID)) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' TRANS_MULTI_MASTER_ID, N'Phiếu điều chuyển đã được duyệt' ErrorDesc RETURN '-1' END --KIEM TRA NEU TINH TRANG DANG LA 'R' THI KHONG CHO PHEP DUYET IF(EXISTS(SELECT * FROM ASS_TRANSFER_MULTI_MASTER WHERE AUTH_STATUS_KT ='R' AND TRANS_MULTI_MASTER_ID =@p_TRANS_MULTI_MASTER_ID)) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' TRANS_MULTI_MASTER_ID, N'Thông tin điều chuyển tài sản đang bị trả về. Vui lòng cập nhật lại thông tin trước khi duyệt' ErrorDesc RETURN '-1' END IF (SELECT CHARINDEX('ATGETD',@NOTE)) > 0 BEGIN SET @sToday = convert(varchar(10), @p_APPROVE_DT, 103) SET @p_APPROVE_DT = @sToday END --APPROVE MASTER UPDATE [dbo].[ASS_TRANSFER_MULTI_MASTER] SET AUTH_STATUS_KT = 'A', CHECKER_ID_KT = @p_CHECKER_ID, APPROVE_DT_KT = CONVERT(datetime, @p_APPROVE_DT, 103) WHERE [TRANS_MULTI_MASTER_ID] = @p_TRANS_MULTI_MASTER_ID DECLARE @l_TRN_NO VARCHAR(15),@l_MAKER_KT VARCHAR(100) SET @l_MAKER_KT = (SELECT atmm.MAKER_ID_KT FROM ASS_TRANSFER_MULTI_MASTER atmm WHERE atmm.TRANS_MULTI_MASTER_ID = @p_TRANS_MULTI_MASTER_ID) EXEC ENTRIES_POST_GEN_NO @p_BRANCH_ID = @l_MAKER_KT ,@p_TRN_DATE = @p_APPROVE_DT ,@p_KeyGen = @l_TRN_NO OUT DECLARE @TRANSFER_MULTI_ID varchar(15) DECLARE @ASSET_ID varchar(15), @BRANCH_ID_OLD VARCHAR(15),@DEP_ID_OLD VARCHAR(15) DECLARE DataCusor CURSOR FOR SELECT A.TRANSFER_MULTI_ID,A.ASSET_ID FROM [dbo].[ASS_TRANSFER_MULTI_DT] A WHERE [TRANS_MULTI_MASTER_ID] = @p_TRANS_MULTI_MASTER_ID OPEN DataCusor FETCH NEXT FROM DataCusor INTO @TRANSFER_MULTI_ID,@ASSET_ID WHILE @@FETCH_STATUS = 0 BEGIN --Lay thong tin SELECT @l_ASSET_ID = ASSET_ID, @l_BRANCH_ID = BRANCH_ID, @l_DEPT_ID = DEPT_ID, @l_EMP_ID = EMP_ID, @l_DESC = [DESCRIPTION], @l_LOCATION = LOCATION, @l_MAKER_ID = MAKER_ID_KT, @BRANCH_ID_OLD = BRANCH_ID_OLD, @DEP_ID_OLD=DEPT_ID_OLD FROM ASS_TRANSFER_MULTI_DT WHERE TRANSFER_MULTI_ID = @TRANSFER_MULTI_ID --Validation is here DECLARE @ERRORSYS NVARCHAR(15) = '' IF ( NOT EXISTS ( SELECT * FROM ASS_TRANSFER_MULTI_DT WHERE TRANSFER_MULTI_ID = @TRANSFER_MULTI_ID)) SET @ERRORSYS = 'ASST-00001' IF @ERRORSYS <> '' BEGIN SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS CLOSE DataCusor DEALLOCATE DataCusor ROLLBACK TRANSACTION RETURN '-1' END --Lay branch_id cua user duyet select @l_DO_BRANCH_ID = a.TLSUBBRID from TL_USER a where a.TLNANME = @p_CHECKER_ID /****LAY THONG TIN HACH TOAN *****/ SELECT @l_CUR_BRANCH_ID = BRANCH_ID, @l_ASSET_TYPE = TYPE_ID, @l_ASSET_GROUP = ISNULL(REF_GROUP_ID,GROUP_ID), @l_CUR_AMORT_AMT = (AMORT_AMT - ISNULL(AMORTIZED_AMT,0)), @l_AMORT_STATUS = AMORT_STATUS, @l_BRANCH_CREATE=BRANCH_CREATE, @l_AMORTIZED_AMT = ISNULL(AMORTIZED_AMT,0), @l_AMORT_AMT = AMORT_AMT, @l_BUY_PRICE = BUY_PRICE, @l_ENTRY_BOOKED = ENTRY_BOOKED,@l_ASSET_CODE=ASSET_CODE, @l_IS_COLLECT = IS_COLLECT,@l_RE_AMORT_MONTH = (AMORT_MONTH - ISNULL(AMORTIZED_MONTH,0)) FROM ASS_MASTER WHERE ASSET_ID = @l_ASSET_ID SET @l_REMAIN_VALUE = @l_CUR_AMORT_AMT DECLARE @TF_ASSET_CCLD VARCHAR(20) = (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'ASSET_CCLD_N') DECLARE @AMORT_CCLD VARCHAR(20) = (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'AMORT_CCLD') DECLARE @BE_AMORT_CCLD VARCHAR(20) = (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'BE_AMORT_CCLD') DECLARE @BW_AMORT_CCLD VARCHAR(20) = (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'BW_AMORT_CCLD') DECLARE @PAY_HS_ACNO VARCHAR(20) = (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'PAY_HS') DECLARE @BRANCH_CODE_OLD VARCHAR (15) = (SELECT CB.BRANCH_CODE FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @BRANCH_ID_OLD) DECLARE @BRANCH_CODE VARCHAR (15) = (SELECT CB.BRANCH_CODE FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @l_BRANCH_ID) DECLARE @DEP_CODE_OLD VARCHAR(15)=(SELECT cd.DEP_CODE FROM CM_DEPARTMENT cd WHERE cd.DEP_ID=@DEP_ID_OLD) DECLARE @DEP_CODE VARCHAR(15)=(SELECT cd.DEP_CODE FROM CM_DEPARTMENT cd WHERE cd.DEP_ID=@l_DEPT_ID) SET @l_TRANSFER_ACCNO = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='TRANSFER') SET @l_HO_BRANCH_ID = (SELECT CB.BRANCH_ID FROM CM_BRANCH CB WHERE CB.BRANCH_TYPE = 'HS') DECLARE @HO_CODE VARCHAR(20) = (SELECT CB.BRANCH_CODE FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @l_HO_BRANCH_ID) SELECT @l_ASSET_GL = ASSET_ACCTNO, @l_AMORT_ACCTNO = AMORT_ACCTNO FROM ASS_GROUP A WHERE A.GROUP_ID = @l_ASSET_GROUP IF @l_AMORT_ACCTNO = '' OR @l_AMORT_ACCTNO IS NULL SET @ERRORSYS = 'ASS-00002' IF @ERRORSYS <> '' BEGIN SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS CLOSE DataCusor DEALLOCATE DataCusor ROLLBACK TRANSACTION RETURN '-1' END UPDATE ASS_TRANSFER_MULTI_DT SET AUTH_STATUS_KT = 'A', CHECKER_ID_KT = @p_CHECKER_ID, APPROVE_DT_KT = CONVERT(DATETIME,@p_APPROVE_DT,103) WHERE TRANSFER_MULTI_ID = @TRANSFER_MULTI_ID IF @@Error <> 0 GOTO ABORT /***************************************DIEU CHUYEN GIUA CAC KHO - CHUA XUAT SU DUNG************************/ IF @BRANCH_ID_OLD IS NULL OR @BRANCH_ID_OLD = '' BEGIN --Phat sinh Asset_ID -- EXEC SYS_CodeMasters_Gen 'ASS_MASTER_HIST', @l_ASSHIST_ID out -- IF @l_ASSHIST_ID='' OR @l_ASSHIST_ID IS NULL GOTO ABORT -- -- INSERT INTO ASS_MASTER_HIST -- SELECT @l_ASSHIST_ID, a.* -- FROM ASS_MASTER a -- where a.ASSET_ID = @l_ASSET_ID -- IF @@Error <> 0 GOTO ABORT --Cap nhat ASS_MASTER UPDATE ASS_MASTER SET BRANCH_CREATE = @l_BRANCH_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103) WHERE ASSET_ID = @l_ASSET_ID IF @@Error <> 0 GOTO ABORT --INSERT VAO BANG ASS_TRANSACTIONS - BO DI VI BEN MAN HINH HCQT DA DUYET ROI INSERT INTO ASS_TRANSACTIONS(ASSET_ID, TRN_ID, TRN_TYPE, TRN_DATE, RECORD_STATUS, AUTH_STATUS, [MAKER_ID], [CREATE_DT], [CHECKER_ID], [APPROVE_DT] )VALUES ( @l_ASSET_ID, @TRANSFER_MULTI_ID, 'TRANSFER', CONVERT(DATETIME, @sToday, 103), '1', 'A', @l_MAKER_ID, CONVERT(DATETIME, @sToday, 103), @p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103) ) IF @@Error <> 0 GOTO ABORT ---THIEUVQ 111018 NEU XUAT KHAC DON VI THI HACH TOAN --BEGIN --Insert vao bang dbo.ASS_ENTRIES_POST IF @l_BRANCH_CREATE <> @l_BRANCH_ID BEGIN SELECT @BRN_TYPE_TRN = BRANCH_TYPE,@TCCT_TRN_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_CREATE SELECT @BRN_TYPE_REC = BRANCH_TYPE, @TCCT_REC_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_ID SET @l_C_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_CREATE) SET @l_D_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID) IF @l_ASSET_TYPE = 'TSCD' BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_TRANSFER', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_TRANS_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT -- BÊN GIAO EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_TRANS_MULTI_MASTER_ID,@BRANCH_CODE_OLD ,@l_TRANSFER_ACCNO,'VND', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE_OLD , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO); -- BÊN NHẬN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_TRANSFER', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_TRANS_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE , @l_ASSET_GL, 'VND', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_TRANS_MULTI_MASTER_ID,@BRANCH_CODE ,@l_TRANSFER_ACCNO,'VND', 'C', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); END END ELSE -- CCLD BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_TRANSFER', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_TRANSFER_ACCNO, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', ---@l_AMORT_ACCTNO thanh @l_ASSET_GL @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_TRANS_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_TRANS_MULTI_MASTER_ID,@BRANCH_CODE_OLD ,@l_TRANSFER_ACCNO,'VND', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE_OLD , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO); ------------------ EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ADD_USE', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_TRANSFER_ACCNO, @l_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @TRANSFER_MULTI_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_TRANS_MULTI_MASTER_ID,@BRANCH_CODE ,@l_ASSET_GL,'VND', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE , @l_TRANSFER_ACCNO, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); END --END END /***************************************DIEU CHUYEN KHI DA XUAT SU DUNG*************************************/ ELSE BEGIN --Move to history --Phat sinh Asset_ID -- EXEC SYS_CodeMasters_Gen 'ASS_MASTER_HIST', @l_ASSHIST_ID out -- IF @l_ASSHIST_ID='' OR @l_ASSHIST_ID IS NULL GOTO ABORT -- -- INSERT INTO ASS_MASTER_HIST -- SELECT @l_ASSHIST_ID, a.* -- FROM ASS_MASTER a -- where a.ASSET_ID = @l_ASSET_ID -- IF @@Error <> 0 GOTO ABORT --Cap nhat ASS_MASTER UPDATE ASS_MASTER SET BRANCH_ID = @l_BRANCH_ID, DEPT_ID = @l_DEPT_ID, EMP_ID = @l_EMP_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103) WHERE ASSET_ID = @l_ASSET_ID IF @@Error <> 0 GOTO ABORT /***THIEUVQ - 10/09/2014 CAP NHAT LAI DON VI KHI XUAT SU DUNG NEU TS LA XE***/ UPDATE CAR_MASTER SET BRANCH_ID = @l_BRANCH_ID WHERE ASSET_ID = @l_ASSET_ID --Xu ly bang ASS_LOCATION_HIST --Lay LOCHIST_ID SELECT @l_OLD_LOCHIST_ID = LOCHIST_ID FROM ASS_LOCATION_HIST WHERE ASSET_ID = @l_ASSET_ID AND ISLEAF='Y' --Uptdae isleaf='N' and END_DATE = ngay hien tai cho record hien tai UPDATE ASS_LOCATION_HIST SET USE_END_DT = CONVERT(DATETIME,@p_APPROVE_DT,103), ISLEAF='N' WHERE ASSET_ID = @l_ASSET_ID AND ISLEAF='Y' -- EXEC SYS_CodeMasters_Gen 'ASS_LOCATION_HIST', @l_LOCHIST_ID out -- IF @l_LOCHIST_ID='' OR @l_LOCHIST_ID IS NULL GOTO ABORT -- -- --insert location moi -- INSERT INTO ASS_LOCATION_HIST -- ( -- LOCHIST_ID, ASSET_ID, USE_START_DT, USE_END_DT, BRANCH_ID, DEPT_ID, -- EMP_ID, LOCATION, ISLEAF, PARENT_ID -- ) -- VALUES -- ( -- @l_LOCHIST_ID, @l_ASSET_ID, CONVERT(DATETIME,@p_APPROVE_DT,103), NULL, @l_BRANCH_ID, @l_DEPT_ID, -- @l_EMP_ID, '', 'Y', @l_OLD_LOCHIST_ID -- ) -- IF @@Error <> 0 GOTO ABORT UPDATE ASS_TRANSFER_MULTI_DT SET AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103) WHERE TRANSFER_MULTI_ID = @TRANSFER_MULTI_ID IF @@Error <> 0 GOTO ABORT --INSERT VAO BANG ASS_TRANSACTIONS -- INSERT INTO ASS_TRANSACTIONS(ASSET_ID, TRN_ID, TRN_TYPE, TRN_DATE, RECORD_STATUS, AUTH_STATUS, -- [MAKER_ID], [CREATE_DT], [CHECKER_ID], [APPROVE_DT] -- )VALUES -- ( -- @l_ASSET_ID, @TRANSFER_MULTI_ID, 'TRANSFER', CONVERT(DATETIME, @sToday, 103), '1', 'A', -- @l_MAKER_ID, CONVERT(DATETIME, @sToday, 103), @p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103) -- ) -- IF @@Error <> 0 GOTO ABORT ---THIEUVQ 111018 NEU XUAT KHAC DON VI THI HACH TOAN --BEGIN --Insert vao bang dbo.ASS_ENTRIES_POST IF @BRANCH_ID_OLD <> @l_BRANCH_ID BEGIN SELECT @BRN_TYPE_TRN = BRANCH_TYPE,@TCCT_TRN_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_ID_OLD SELECT @BRN_TYPE_REC = BRANCH_TYPE, @TCCT_REC_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_ID SET @l_C_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@BRANCH_ID_OLD) SET @l_D_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID) IF @l_ASSET_TYPE = 'TSCD' BEGIN IF (@l_CUR_AMORT_AMT = @l_AMORT_AMT) -- Tài sản mới (chưa khấu hao) BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_TRANSFER', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_TRANS_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT -- BÊN GIAO EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_TRANS_MULTI_MASTER_ID,@BRANCH_CODE_OLD ,@l_TRANSFER_ACCNO,'VND', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE_OLD , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO); -- BÊN NHẬN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_TRANSFER', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_TRANS_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE , @l_ASSET_GL, 'VND', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_TRANS_MULTI_MASTER_ID,@BRANCH_CODE ,@l_TRANSFER_ACCNO,'VND', 'C', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); END ELSE IF (@l_CUR_AMORT_AMT >= 0) -- Tài sản đã qua sử dụng (đang khấu hao) BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_TRANSFER', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_TRANS_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT -- BÊN GIAO EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE_OLD , @l_AMORT_ACCTNO, 'VND', 'D', @l_AMORTIZED_AMT,1, @l_AMORTIZED_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE_OLD , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO); -- BÊN NHẬN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_TRANSFER', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_TRANS_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE , @l_ASSET_GL, 'VND', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE , @l_AMORT_ACCTNO, 'VND', 'C', @l_AMORTIZED_AMT,1, @l_AMORTIZED_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); IF(@l_REMAIN_VALUE>0) BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_TRANSFER', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_TRANS_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_TRANS_MULTI_MASTER_ID,@BRANCH_CODE_OLD ,@l_TRANSFER_ACCNO,'VND', 'D', @l_REMAIN_VALUE, 1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_TRANS_MULTI_MASTER_ID,@BRANCH_CODE ,@l_TRANSFER_ACCNO,'VND', 'C', @l_REMAIN_VALUE, 1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); END END --END END ELSE -- CCLD BEGIN -- TRƯỜNG HỢP ĐÃ PHÂN BỔ HẾT VÀO CHI PHÍ MUA SẮM CCLĐ IF(@l_CUR_AMORT_AMT IS NULL OR @l_CUR_AMORT_AMT = 0) BEGIN PRINT 'KHONG PHAT SINH' END ELSE IF (@l_CUR_AMORT_AMT > 0) -- TRƯỜNG HỢP CHƯA PHÂN BỔ HẾT VÀO CHI PHÍ MUA SẮM CCLĐ BEGIN -- Hạch toán tại đơn vị điều CCLĐ đi -- Tất toán tài khoản CCLĐ IF(@l_IS_COLLECT = 1) BEGIN -- CẬP NHẬT NGÀY BẮT ĐÀU VÀ KẾT THÚC KHẤU HAO MỚI SET @l_AMORT_START_DATE = CONVERT(DATETIME, GETDATE(), 103) SET @l_AMORT_END_DATE = DATEADD(MONTH, @l_RE_AMORT_MONTH, @l_AMORT_START_DATE) IF(@l_AMORT_STATUS = 'NKH') BEGIN UPDATE ASS_MASTER SET IS_COLLECT=0,AMORT_STATUS='DKH' , AMORT_START_DATE = @l_AMORT_START_DATE, AMORT_END_DATE = @l_AMORT_END_DATE WHERE ASSET_ID = @ASSET_ID END EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_TRANSFER', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', ---@l_AMORT_ACCTNO thanh @l_ASSET_GL @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_TRANS_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE_OLD ,@TF_ASSET_CCLD , 'VND', 'D', @l_REMAIN_VALUE,1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE_OLD , @BW_AMORT_CCLD, 'VND', 'C', @l_REMAIN_VALUE,1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO); EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_TRANSFER', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', ---@l_AMORT_ACCTNO thanh @l_ASSET_GL @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_TRANS_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_TRANS_MULTI_MASTER_ID,@BRANCH_CODE , @AMORT_CCLD,'VND', 'D', @l_REMAIN_VALUE, 1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE , @TF_ASSET_CCLD, 'VND', 'C', @l_REMAIN_VALUE,1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); END ELSE BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_TRANSFER', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', ---@l_AMORT_ACCTNO thanh @l_ASSET_GL @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_TRANS_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE_OLD , @TF_ASSET_CCLD, 'VND', 'D', @l_REMAIN_VALUE,1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE_OLD , @AMORT_CCLD, 'VND', 'C', @l_REMAIN_VALUE,1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO); -- Hạch toán Giá trị còn lại chưa phân bổ của CCLĐ EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_TRANSFER', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', ---@l_AMORT_ACCTNO thanh @l_ASSET_GL @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_TRANS_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_TRANS_MULTI_MASTER_ID,@BRANCH_CODE , @AMORT_CCLD,'VND', 'D', @l_REMAIN_VALUE, 1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_TRANS_MULTI_MASTER_ID,@BRANCH_CODE , @TF_ASSET_CCLD,'VND', 'C', @l_REMAIN_VALUE, 1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); END END END END ELSE -- CÙNG ĐƠN VỊ BEGIN IF @l_ASSET_TYPE = 'CCLD' BEGIN IF (@l_CUR_AMORT_AMT > 0) -- TRƯỜNG HỢP CHƯA PHÂN BỔ HẾT VÀO CHI PHÍ MUA SẮM CCLĐ BEGIN -- Hạch toán tại đơn vị điều CCLĐ đi -- Tất toán tài khoản CCLĐ IF(@l_IS_COLLECT = 1) BEGIN IF(@l_AMORT_STATUS = 'NKH') BEGIN UPDATE ASS_MASTER SET IS_COLLECT=0,AMORT_STATUS='DKH' WHERE ASSET_ID = @ASSET_ID END EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_TRANSFER', @TRANSFER_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', ---@l_AMORT_ACCTNO thanh @l_ASSET_GL @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_TRANS_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_TRANS_MULTI_MASTER_ID,@BRANCH_CODE , @AMORT_CCLD,'VND', 'D', @l_REMAIN_VALUE, 1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_TRANS_MULTI_MASTER_ID ,@BRANCH_CODE_OLD , @BW_AMORT_CCLD, 'VND', 'C', @l_REMAIN_VALUE,1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO); END END END END --END END --khiemchg cập nhật unlock treo tài sản khi thực hiện điều chuyển UPDATE ASS_MASTER SET IS_COLLECT=0, CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL WHERE ASSET_ID = @ASSET_ID FETCH NEXT FROM DataCusor INTO @TRANSFER_MULTI_ID,@ASSET_ID END CLOSE DataCusor DEALLOCATE DataCusor -- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_HC UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_TRANS_MULTI_MASTER_ID AND PROCESS_ID = 'UPDATE' -- GIANT 21/09/2021 INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_TRANS_MULTI_MASTER_ID, -- REQ_ID - varchar(15) 'APPROVE', -- PROCESS_ID - varchar(10) @p_CHECKER_ID, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime N'Kiên soát viên phê duyệt', N'Kiên soát viên phê duyệt hoàn tất' -- PROCESS_DESC - nvarchar(1000) ) --START PHUCVH 26/11/22 UPDATE ALLOCATED PHIẾU YÊU CẦU DT DECLARE @REQ_DOC_ID VARCHAR(20) = (SELECT TOP 1 REQ_ID FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRANS_MULTI_MASTER_ID) DECLARE @REQ_TYPE VARCHAR(10) = (SELECT TOP 1 A.REQ_TYPE FROM TR_REQUEST_SHOP_DOC A LEFT JOIN ASS_TRANSFER_MULTI_MASTER B ON A.REQ_ID = B.REQ_ID WHERE B.TRANS_MULTI_MASTER_ID = @p_TRANS_MULTI_MASTER_ID) IF(@REQ_TYPE = 'DCTS') BEGIN --NẾU LÀ PHIẾU YÊU CẦU DCTS UPDATE TR_REQUEST_SHOP_DOC_DT SET ALLOCATED = 1 WHERE REQ_DOC_ID = @REQ_DOC_ID AND ASS_ID IN (SELECT ASSET_ID FROM ASS_TRANSFER_MULTI_DT WHERE TRANS_MULTI_MASTER_ID = @p_TRANS_MULTI_MASTER_ID) IF(NOT EXISTS(SELECT REQDT_ID FROM TR_REQUEST_SHOP_DOC_DT WHERE REQ_DOC_ID = @REQ_DOC_ID AND (ALLOCATED = 0 OR ALLOCATED IS NULL OR ALLOCATED = ''))) BEGIN UPDATE TR_REQUEST_SHOP_DOC SET IS_DONE = '1' WHERE REQ_ID = @REQ_DOC_ID END END ELSE IF(@REQ_TYPE = 'CPTS') BEGIN --NẾU LÀ PHIẾU CPTS && TYPE_XL = 'CPDC' DECLARE @TBL_CHECK_UPD TABLE (REQDT_ID VARCHAR(15), ASS_GROUP_ID VARCHAR(15), REQ_DOC_ID VARCHAR(15)) DECLARE @TBL_GROUP_CODE_ASS_USE TABLE (GROUP_ID VARCHAR(15)) INSERT INTO @TBL_CHECK_UPD SELECT A.REQDT_ID, A.ASS_GROUP_ID,A.REQ_DOC_ID FROM TR_REQUEST_SHOP_DOC_DT A WHERE A.REQ_DOC_ID = @REQ_DOC_ID AND A.REQ_DT_TYPE = 'XKSD' AND A.TYPE_XL = 'CPDC' DECLARE @C_REQDT_ID VARCHAR(15), @C_ASS_GROUP_ID VARCHAR(15), @C_REQ_DOC_ID VARCHAR(15) DECLARE @IS_MULTI_GROUP VARCHAR(1) = '0' DECLARE DATA_CURSOR_CHECK_UPD CURSOR FOR SELECT * FROM @TBL_CHECK_UPD OPEN DATA_CURSOR_CHECK_UPD FETCH NEXT FROM DATA_CURSOR_CHECK_UPD INTO @C_REQDT_ID,@C_ASS_GROUP_ID,@C_REQ_DOC_ID DECLARE @ALLOCATED INT,@ALLOCATED_CURR INT, @ALLOCATED_OLD INT, @QTY_ETM INT WHILE @@FETCH_STATUS = 0 BEGIN SET @IS_MULTI_GROUP = '0' DELETE @TBL_GROUP_CODE_ASS_USE INSERT INTO @TBL_GROUP_CODE_ASS_USE (GROUP_ID) SELECT A.GROUP_ID FROM ASS_GROUP A WHERE A.GROUP_CODE IN (SELECT B.GROUP_CODE FROM ASS_GROUP B WHERE B.GROUP_ID = @C_ASS_GROUP_ID) IF((SELECT COUNT(*) FROM @TBL_GROUP_CODE_ASS_USE WHERE GROUP_ID IN (SELECT trsdd.ASS_GROUP_ID FROM TR_REQUEST_SHOP_DOC_DT trsdd WHERE trsdd.REQ_DOC_ID = @C_REQ_DOC_ID AND trsdd.REQ_DT_TYPE = 'XKSD' AND trsdd.TYPE_XL = 'CPDC')) > 1) BEGIN SET @IS_MULTI_GROUP = '1' END -- SET @ALLOCATED = (SELECT SUM(TMP.COUNT) FROM ( -- (SELECT COUNT(*) AS COUNT -- FROM ASS_TRANSFER_MULTI_DT A -- LEFT JOIN ASS_TRANSFER_MULTI_MASTER B ON A.TRANS_MULTI_MASTER_ID = B.TRANS_MULTI_MASTER_ID -- LEFT JOIN ASS_MASTER C ON A.ASSET_ID = C.ASSET_ID -- WHERE B.AUTH_STATUS_KT = 'A' -- GROUP BY B.REQ_ID, C.GROUP_ID, C.REQ_ID -- HAVING B.REQ_ID = @C_REQ_DOC_ID -- AND C.GROUP_ID IN (SELECT GROUP_ID FROM @TBL_GROUP_CODE_ASS_USE) -- AND (C.REQ_ID IS NULL OR C.REQ_ID = '')))TMP) SET @ALLOCATED_CURR = (SELECT SUM(TMP.COUNT) FROM ( (SELECT COUNT(*) AS COUNT FROM ASS_TRANSFER_MULTI_DT A LEFT JOIN ASS_TRANSFER_MULTI_MASTER B ON A.TRANS_MULTI_MASTER_ID = B.TRANS_MULTI_MASTER_ID LEFT JOIN ASS_MASTER C ON A.ASSET_ID = C.ASSET_ID WHERE A.TRANS_MULTI_MASTER_ID = @p_TRANS_MULTI_MASTER_ID GROUP BY B.REQ_ID, C.GROUP_ID, C.REQ_ID HAVING B.REQ_ID = @C_REQ_DOC_ID AND C.GROUP_ID IN (SELECT GROUP_ID FROM @TBL_GROUP_CODE_ASS_USE WHERE ((@IS_MULTI_GROUP = '1' AND C.GROUP_ID = @C_ASS_GROUP_ID) OR @IS_MULTI_GROUP = '0')) AND (C.REQ_ID IS NULL OR C.REQ_ID = '')))TMP) SELECT TOP 1 @ALLOCATED_OLD = trsdd.ALLOCATED, @QTY_ETM = trsdd.QTY_ETM FROM TR_REQUEST_SHOP_DOC_DT trsdd WHERE trsdd.REQDT_ID = @C_REQDT_ID IF(@QTY_ETM < (ISNULL(@ALLOCATED_OLD,0) + ISNULL(@ALLOCATED_CURR,0))) BEGIN ROLLBACK TRANSACTION CLOSE DATA_CURSOR_CHECK_UPD DEALLOCATE DATA_CURSOR_CHECK_UPD SELECT '-1' as Result, '' USER_MASTER_ID, N'Số lượng cấp phát vượt yêu cầu của đơn vị' ErrorDesc RETURN '-1' END UPDATE TR_REQUEST_SHOP_DOC_DT SET ALLOCATED = ALLOCATED + ISNULL(@ALLOCATED_CURR,0) WHERE REQDT_ID = @C_REQDT_ID FETCH NEXT FROM DATA_CURSOR_CHECK_UPD INTO @C_REQDT_ID,@C_ASS_GROUP_ID,@C_REQ_DOC_ID END CLOSE DATA_CURSOR_CHECK_UPD DEALLOCATE DATA_CURSOR_CHECK_UPD END --DONE PYC IF(NOT EXISTS(SELECT TOP 1 A.REQDT_ID FROM TR_REQUEST_SHOP_DOC_DT A WHERE A.REQ_DOC_ID = @REQ_DOC_ID AND ( A.QTY_ETM <> A.ALLOCATED OR (A.ALLOCATED IS NULL OR A.ALLOCATED = '' OR A.ALLOCATED = 0)) AND ((A.REQ_DT_TYPE = 'XKSD' AND A.TYPE_XL = 'CPDC') OR (A.REQ_DT_TYPE = 'XKSD' AND A.TYPE_XL = 'CPTK') OR (A.REQ_DT_TYPE = 'BUYNEW')) )) BEGIN UPDATE TR_REQUEST_SHOP_DOC SET IS_DONE = '1', STATUS = 'DONE' WHERE REQ_ID = @REQ_DOC_ID UPDATE PL_REQUEST_PROCESS SET STATUS = 'P' WHERE PROCESS_ID = 'APPROVE' AND REQ_ID = @REQ_DOC_ID UPDATE PL_REQUEST_PROCESS SET STATUS = 'C', RECEPTION_DT = CONVERT(datetime, GETDATE(), 103), APPROVE_DT = CONVERT(datetime, GETDATE(), 103) WHERE PROCESS_ID = 'DONE' AND REQ_ID = @REQ_DOC_ID END --END PHUCVH 26/11/22 UPDATE ALLOCATED PHIẾU YÊU CẦU DT COMMIT TRANSACTION SELECT '0' as Result, @p_TRANS_MULTI_MASTER_ID TRANS_MULTI_MASTER_ID, '' ErrorDesc RETURN '0' ABORT: BEGIN ROLLBACK TRANSACTION CLOSE DataCusor DEALLOCATE DataCusor SELECT '-1' as Result, '' TRANS_MULTI_MASTER_ID, ISNULL(@ERROR,ERROR_MESSAGE()) ErrorDesc RETURN '-1' End GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[rpt_PYC_SUACHUA]' GO ALTER PROC [dbo].[rpt_PYC_SUACHUA] @REQ_ID VARCHAR(15) = NULL AS BEGIN DECLARE @SHOW_TABLE_DVCM_KHAC VARCHAR(1) = NULL,@SHOW_TABLE_DVCM_IT VARCHAR(1) = NULL --TABLE 0 SELECT DISTINCT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS STT, am.ASSET_NAME AS ASS_NAME, ISNULL(am.ASSET_CODE,am.ASS_CODE_TMP) AS ASSET_CODE, ISNULL(PB.DEP_NAME,ISNULL(TT.DEP_NAME,K.DEP_NAME)) AS DEP_NAME, ce.EMP_NAME, '1' QTY_ETM, B.REPAIR_REASON AS REQ_CONTENT FROM TR_REQUEST_SHOP_DOC A LEFT JOIN TR_REQUEST_SHOP_DOC_DT B ON A.REQ_ID = B.REQ_DOC_ID LEFT JOIN CM_DEPARTMENT K ON B.SUBBRANCH_OLD = K.DEP_ID LEFT JOIN CM_DEPARTMENT TT ON B.FATHER_OLD = TT.DEP_ID LEFT JOIN CM_DEPARTMENT PB ON B.DEP_OLD = PB.DEP_ID LEFT JOIN ASS_MASTER am ON am.ASSET_ID = B.ASS_ID LEFT JOIN CM_EMPLOYEE ce ON B.EMP_ID = ce.EMP_ID WHERE A.REQ_ID = @REQ_ID --TABLE 1 DVCM KHOI CNTT IF(EXISTS(SELECT 1 FROM TR_REQUEST_SHOP_COSTCENTER A LEFT JOIN CM_DEPARTMENT B ON A.COST_ID = B.DEP_ID WHERE A.REQ_ID = @REQ_ID AND B.DEP_CODE = '05J00')) BEGIN SELECT TOP 1 A.ASS_STATUS, A.RE_CONTENT, A.NOTES, E.TLFullName AS SURVEY_STAFF, ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT(D.APPROVE_DT,'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM TR_REQUEST_SHOP_COSTCENTER A LEFT JOIN CM_EMPLOYEE_LOG B ON A.MAKER_ID = B.USER_DOMAIN LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME LEFT JOIN CM_DEPARTMENT cd ON A.COST_ID = cd.DEP_ID LEFT JOIN PL_PROCESS D ON A.REQ_ID = D.REQ_ID AND D.PROCESS_ID = 'S_GDDVDVCM' AND A.MAKER_ID = D.CHECKER_ID WHERE A.REQ_ID = @REQ_ID AND cd.DEP_CODE = '05J00' SET @SHOW_TABLE_DVCM_IT = '1' END ELSE BEGIN SELECT '' ASS_STATUS, '' RE_CONTENT,'' NOTES, ''SURVEY_STAFF, '' POS_NAME END --TABLE 2 DVCM KHAC IF(EXISTS(SELECT 1 FROM TR_REQUEST_SHOP_COSTCENTER A LEFT JOIN CM_DEPARTMENT B ON A.COST_ID = B.DEP_ID WHERE A.REQ_ID = @REQ_ID AND B.DEP_CODE <> '05J00')) BEGIN SELECT A.ASS_STATUS, A.RE_CONTENT, A.NOTES, E.TLFullName AS SURVEY_STAFF, ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'S_GDDVDVCM' AND PP.CHECKER_ID = A.MAKER_ID ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM TR_REQUEST_SHOP_COSTCENTER A LEFT JOIN CM_EMPLOYEE_LOG B ON A.MAKER_ID = B.USER_DOMAIN LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME LEFT JOIN CM_DEPARTMENT cd ON A.COST_ID = cd.DEP_ID WHERE A.REQ_ID = @REQ_ID AND cd.DEP_CODE <> '05J00' ORDER BY A.COST_ID SET @SHOW_TABLE_DVCM_KHAC = '1' END ELSE BEGIN SELECT '' ASS_STATUS, '' RE_CONTENT,'' NOTES, ''SURVEY_STAFF, '' POS_NAME END --TABLE 3 DANH GIA VA DE XUAT CUA P.QLTS SELECT TOP 1 A.HO_NOTES, D.TLFullName, ISNULL(C.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.REQ_ID AND (PP.PROCESS_ID = 'S_DVCM' OR PP.PROCESS_ID = 'S_TBP_QLTS') AND PP.CHECKER_ID = PL.CHECKER_ID ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM TR_REQUEST_SHOP_DOC A LEFT JOIN PL_REQUEST_PROCESS PL ON A.REQ_ID = PL.REQ_ID AND PL.PROCESS_ID = 'QLTS_NL' LEFT JOIN CM_EMPLOYEE_LOG C ON PL.CHECKER_ID = C.USER_DOMAIN LEFT JOIN TL_USER D ON C.USER_DOMAIN = D.TLNANME --LEFT JOIN CM_EMPLOYEE D ON C.EMP_CODE = D.EMP_CODE WHERE A.REQ_ID = @REQ_ID --table 4 phe duyet dvcm khoi cntt IF(@SHOW_TABLE_DVCM_IT IS NOT NULL) BEGIN IF (EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS A LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE = '05J00')) BEGIN SELECT TOP 1 ISNULL(A.NOTES,'') AS NOTES, E.TLFullName, ISNULL(D.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'DVCM_D' AND PP.CHECKER_ID = A.CHECKER_ID ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM PL_REQUEST_PROCESS A LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID LEFT JOIN CM_EMPLOYEE_LOG D ON A.CHECKER_ID = D.USER_DOMAIN LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE = '05J00' ORDER BY C.DEP_ID END ELSE BEGIN SELECT '' AS NOTES END END ELSE BEGIN SELECT N'' NOTES END --table 5 PHÊ DUYỆT PHÒNG QLTS IF(EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS A LEFT JOIN CM_EMPLOYEE_LOG B ON A.CHECKER_ID = B.USER_DOMAIN LEFT JOIN TL_USER C ON B.USER_DOMAIN = C.TLNANME --LEFT JOIN CM_EMPLOYEE C ON B.EMP_CODE = C.EMP_CODE WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'QLTS_D')) BEGIN SELECT TOP 1 ISNULL(A.NOTES,'') AS NOTES, C.TLFullName, ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'QLTS_D' AND PP.CHECKER_ID = A.CHECKER_ID ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM PL_REQUEST_PROCESS A LEFT JOIN CM_EMPLOYEE_LOG B ON A.CHECKER_ID = B.USER_DOMAIN LEFT JOIN TL_USER C ON B.USER_DOMAIN = C.TLNANME --LEFT JOIN CM_EMPLOYEE C ON B.EMP_CODE = C.EMP_CODE WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'QLTS_D' ORDER BY A.ID DESC END ELSE BEGIN SELECT N'' NOTES END --Phucvh table 6 USER TẠO DUYỆT SELECT TOP 1 C.TLFullName AS USER_CREATE, CHAR(13) + ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP1.APPROVE_DT FROM PL_PROCESS PP1 WHERE PP1.REQ_ID = A.REQ_ID AND PP1.PROCESS_ID = 'S_DVKD' AND PP1.CHECKER_ID = A.MAKER_ID ORDER BY PP1.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME, E.TLFullName AS USER_APPROVE, CHAR(13) + ISNULL(D.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP1.APPROVE_DT FROM PL_PROCESS PP1 WHERE PP1.REQ_ID = A.REQ_ID AND PP1.PROCESS_ID = 'DVKD_D' ORDER BY PP1.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME_1 FROM TR_REQUEST_SHOP_DOC A LEFT JOIN CM_EMPLOYEE_LOG B ON A.MAKER_ID = B.USER_DOMAIN --NGƯỜI TẠO LEFT JOIN TL_USER C ON B.USER_DOMAIN = C.TLNANME --NGƯỜI TẠO LEFT JOIN PL_REQUEST_PROCESS PP ON A.REQ_ID = PP.REQ_ID AND PP.PROCESS_ID = 'APPNEW' LEFT JOIN CM_EMPLOYEE_LOG D ON PP.CHECKER_ID = D.USER_DOMAIN --NGƯỜI DUYỆT LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME --NGƯỜI DUYỆT WHERE A.REQ_ID = @REQ_ID --PHUCVH TABLE 7 SỐ PYC SELECT trsd.REQ_CODE FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.REQ_ID = @REQ_ID --PHUCVH TABLE 8 NGÀY TDV DUYỆT SELECT TOP 1 N'Ngày ' + CONVERT(VARCHAR(5),DAY(pp.APPROVE_DT)) + N' tháng ' + CONVERT(VARCHAR(5),MONTH(pp.APPROVE_DT)) + N' năm ' + CONVERT(VARCHAR(10),YEAR(pp.APPROVE_DT)) AS APPROVE_DT FROM PL_REQUEST_PROCESS pp WHERE pp.REQ_ID = @REQ_ID AND pp.PROCESS_ID = 'APPNEW' ORDER BY pp.ID DESC END --TABLE 9 PHÊ DUYỆT DVCM KHÁC IF(@SHOW_TABLE_DVCM_KHAC IS NOT NULL) BEGIN IF (EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS A LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE <> '05J00')) BEGIN SELECT ISNULL(A.NOTES,'') AS NOTES, E.TLFullName, ISNULL(D.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'DVCM_D' AND PP.CHECKER_ID = A.CHECKER_ID ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM PL_REQUEST_PROCESS A LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID LEFT JOIN CM_EMPLOYEE_LOG D ON A.CHECKER_ID = D.USER_DOMAIN LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE <> '05J00' ORDER BY C.DEP_ID END ELSE BEGIN SELECT '' AS NOTES FROM TR_REQUEST_SHOP_COSTCENTER A LEFT JOIN CM_DEPARTMENT C ON A.COST_ID = C.DEP_ID WHERE A.REQ_ID = @REQ_ID AND C.DEP_CODE <> '05J00' END END ELSE BEGIN SELECT N'' NOTES END --TABLE 10 PHÊ DUYỆT TBP_QLTS SELECT TOP 1 ISNULL(A.NOTES,'') AS HO_NOTES, C.TLFullName, ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'TBP_D' AND PP.CHECKER_ID = A.CHECKER_ID ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM PL_REQUEST_PROCESS A LEFT JOIN CM_EMPLOYEE_LOG B ON A.CHECKER_ID = B.USER_DOMAIN LEFT JOIN TL_USER C ON B.USER_DOMAIN = C.TLNANME --LEFT JOIN CM_EMPLOYEE C ON B.EMP_CODE = C.EMP_CODE WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'TBP_D' ORDER BY A.ID DESC --SHOW TABLE DVCM IT IF(@SHOW_TABLE_DVCM_IT IS NOT NULL) BEGIN SELECT N'DVCMIT' AS MERGE_REGION SET @SHOW_TABLE_DVCM_IT = '1' END --SHOW TABLE DVCM KHÁC IF(@SHOW_TABLE_DVCM_KHAC IS NOT NULL) BEGIN SELECT N'DVCMKHAC' AS MERGE_REGION END --SHOW TITLE ĐÁNH GIÁ CỦA ĐƠN VỊ CHUYÊN MÔN IF(@SHOW_TABLE_DVCM_IT IS NOT NULL OR @SHOW_TABLE_DVCM_KHAC IS NOT NULL) BEGIN SELECT N'TITLEDVCM' AS MERGE_REGION END GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_COLLECT_MULTI_MASTER_Search]' GO ALTER PROCEDURE [dbo].[ASS_COLLECT_MULTI_MASTER_Search] @p_COL_MULTI_MASTER_ID varchar(15) = NULL, @p_BRANCH_ID varchar(15) = NULL, @p_COLLECT_DT VARCHAR(20) = NULL, @p_USER_COLLECT nvarchar(200) = NULL, @p_USER_COLLECT_NAME nvarchar(200)=NULL, @p_NOTES nvarchar(1000) = NULL, @p_RECORD_STATUS varchar(1) = NULL, @p_AUTH_STATUS varchar(1) = NULL, @p_MAKER_ID varchar(100) = NULL, @p_CREATE_DT VARCHAR(20) = NULL, @p_CHECKER_ID varchar(100) = NULL, @p_APPROVE_DT VARCHAR(20) = NULL, @p_AUTH_STATUS_KT varchar(15) = NULL, @p_CREATE_DT_KT varchar(100) = NULL, @p_APPROVE_DT_KT VARCHAR(20) = NULL, @p_MAKER_ID_KT varchar(100) = NULL, @p_CHECKER_ID_KT varchar(100) = NULL, @p_REPORT_STATUS varchar(15) = NULL, @p_LEVEL VARCHAR(50) = 'UNIT', @p_TOP INT = NULL, @p_FromDate VARCHAR(20) = NULL, @p_TODATE VARCHAR(20) = NULL, @p_IS_UPDATE VARCHAR(1) = NULL, @p_USER_LOGIN VARCHAR(15),-- 26022020 LUCTV TRUYEN XUONG USER LOGIN DE DO TIM MA PHONG BAN @p_TYPE_SEARCH VARCHAR(10)= NULL, -- 26022020 LUCTV TRUYEN XUONG DAU HIEU DE PHAN BIET TIM KIEM O MAN HINH KE TOAN HAY MAN HINH HCQT @p_BRANCH_ID_USE VARCHAR(20) = NULL, --Phucvh 08/12/22 Tìm theo đơn vị sử dụng HC @p_DEPT_ID_USE VARCHAR(20) = NULL, --Phucvh 08/12/22 Tìm theo phòng ban sử dụng HC @p_REQ_CODE VARCHAR(100) = NULL --Thêm trường tìm kiếm số PYC AS BEGIN -- PAGING --Luctv Bo Sung Doan Code Doc Du Lieu Bo Qua Commit Transaction SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ---- set @p_RECORD_STATUS = '1' ---- DECLARE @tmp TABLE(BRANCH_ID VARCHAR(15)) INSERT INTO @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID) IF(@p_TOP IS NULL OR @p_TOP = '' OR @p_TOP = 0) begin -- PAGING BEGIN SELECT A.*,C.BRANCH_CODE, C.BRANCH_NAME, F.AUTH_STATUS_NAME, T1.TLFullName AS MAKER_NAME,T2.TLFullName AS MAKER_NAME_KT,T3.TLFullName APPROVE_NAME, T4.TLFullName APPROVE_NAME_KT, ATKT.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_KT, C.BRANCH_CODE +' - '+ C.BRANCH_NAME AS FULL_BRANCH_NAME, @p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH, --- TRA VE THAM SO GAN VO CURRENT SEARCH TRANH GAY LOI O CAC MAN HINH B.CONFIRM_DT CONFIRM_DT,B.MAKER_ID CONFIRM_USER,D.TLFullName CONFIRM_USER_NAME,SK.REQ_CODE -- SELECT END FROM ASS_COLLECT_MULTI_MASTER A LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID LEFT JOIN CM_AUTH_STATUS F ON A.AUTH_STATUS = F.AUTH_STATUS LEFT JOIN CM_AUTH_STATUS ATKT ON ATKT.AUTH_STATUS = A.AUTH_STATUS_KT LEFT JOIN TL_USER T1 ON A.MAKER_ID = T1.TLNANME LEFT JOIN TL_USER T2 ON A.MAKER_ID_KT = T2.TLNANME LEFT JOIN TL_USER T3 ON A.CHECKER_ID = T3.TLNANME LEFT JOIN TL_USER T4 ON A.CHECKER_ID_KT = T4.TLNANME LEFT JOIN ASS_COLLECT_CONFIRM_MASTER B ON A.COL_MULTI_MASTER_ID = B.COL_MULTI_MASTER_ID LEFT JOIN TL_USER D ON B.MAKER_ID = D.TLNANME LEFT JOIN TR_REQUEST_SHOP_DOC SK ON SK.REQ_ID = A.REQ_ID WHERE 1 = 1 AND (A.COL_MULTI_MASTER_ID LIKE '%' + @p_COL_MULTI_MASTER_ID + '%' OR @p_COL_MULTI_MASTER_ID IS NULL OR @p_COL_MULTI_MASTER_ID = '') --AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '') --AND (A.COLLECT_DT =CONVERT(DATETIME, @p_COLLECT_DT, 103) OR @p_COLLECT_DT IS NULL OR @p_COLLECT_DT = '') --LUCTV 19092019 BO SUNG DIEU KIEN NEU KE TOAN DA CAP NHAT THI TIM KIEM THEO NGAY CAP NHAT AND (A.USER_COLLECT LIKE '%' + @p_USER_COLLECT + '%' OR @p_USER_COLLECT IS NULL OR @p_USER_COLLECT = '') AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '') AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '') AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '') AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '') AND (A.CREATE_DT =CONVERT(DATETIME, @p_CREATE_DT, 103) OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '') AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '') AND (A.APPROVE_DT =CONVERT(DATETIME, @p_APPROVE_DT, 103) OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '') AND (A.AUTH_STATUS_KT LIKE '%' + @p_AUTH_STATUS_KT + '%' OR @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '') AND (A.CREATE_DT_KT =CONVERT(DATETIME, @p_CREATE_DT_KT, 103) OR @p_CREATE_DT_KT IS NULL OR @p_CREATE_DT_KT = '') AND (A.APPROVE_DT_KT =CONVERT(DATETIME, @p_APPROVE_DT_KT, 103) OR @p_APPROVE_DT_KT IS NULL OR @p_APPROVE_DT_KT = '') AND (A.MAKER_ID_KT LIKE '%' + @p_MAKER_ID_KT + '%' OR @p_MAKER_ID_KT IS NULL OR @p_MAKER_ID_KT = '') AND (A.CHECKER_ID_KT LIKE '%' + @p_CHECKER_ID_KT + '%' OR @p_CHECKER_ID_KT IS NULL OR @p_CHECKER_ID_KT = '') AND (A.REPORT_STATUS LIKE '%' + @p_REPORT_STATUS + '%' OR @p_REPORT_STATUS IS NULL OR @p_REPORT_STATUS = '') AND A.RECORD_STATUS='1' AND (A.REPORT_STATUS LIKE '%' + @p_REPORT_STATUS + '%' OR @p_REPORT_STATUS IS NULL OR @p_REPORT_STATUS = '') --AND ((@p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)) -- OR ((@p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID) -- OR (@p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL))) AND ((A.MAKER_ID_KT IS NOT NULL AND @p_IS_UPDATE = 'Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat OR ((A.MAKER_ID_KT IS NULL AND @p_IS_UPDATE = 'N')) OR @p_IS_UPDATE IS NULL OR @p_IS_UPDATE='') -- TIM KIEM TU NGAY O HC AND ((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.COLLECT_DT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')) OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') -- TIM KIEM DEN NGAY O HC AND ((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.COLLECT_DT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = '')) OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') -- TIM KIEM TU NGAY O KT AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '') AND (CONVERT(DATE,A.APPROVE_DT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')) OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '') AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')) OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')) OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')) OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))) AND B.CONFIRM_STATUS = 'Y'))) OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') -- TIM KIEM DEN NGAY O KT AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '') AND (CONVERT(DATE,A.APPROVE_DT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = '')) OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '') AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = '')) OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = '')) OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')) OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))) AND B.CONFIRM_STATUS = 'Y'))) OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') --AND ( ( @p_TYPE_SEARCH = 'KT' AND EXISTS (SELECT * FROM ASS_COLLECT_CONFIRM_MASTER WHERE A.COL_MULTI_MASTER_ID = ASS_COLLECT_CONFIRM_MASTER.COL_MULTI_MASTER_ID)) -- OR (@p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '' OR @p_TYPE_SEARCH = 'HC')) -- NEW TRANG THAI PHIEU XUAT LA LUU NHAP HOAC TU CHOI THI CHI NGUOI TAO CO THE TIM THAY AND ((A.AUTH_STATUS IN ('E','R') AND A.MAKER_ID = @p_USER_LOGIN) OR (EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('GDDV,GDDV_QLTS,TBP_QLTS,KSV_QLTS',A.BRANCH_ID,A.DEPT_CREATE) US WHERE US.TLNANME = @p_USER_LOGIN)) OR A.AUTH_STATUS NOT IN ('E','R') OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = '') -- 11-03-2022 HUYHT BO SUNG DIEU KIEN TIM KIEM PHIEU XUAT THEO QUYEN KIEM NHIEM AND ((@p_TYPE_SEARCH='HC' AND (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE_VB('GDDV,GDDV_QLTS,TBP_QLTS,KSV_QLTS',A.BRANCH_ID,A.DEPT_CREATE) US WHERE US.TLNANME = @p_USER_LOGIN)) OR A.MAKER_ID = @p_USER_LOGIN) OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp) AND B.CONFIRM_STATUS = 'Y') OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID AND B.CONFIRM_STATUS = 'Y') OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '' --FIX BYID -- OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'UNIT' AND B.CONFIRM_STATUS = 'Y' AND EXISTS(SELECT ACL.COLLECT_MULTI_ID FROM ASS_COLLECT_MULTI_DT ACL -- WHERE ACL.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID AND ACL.BRANCH_ID = @p_BRANCH_ID)) -- GDV TÌM THẤY PHIẾU CỦA ĐV MÌNH PHIẾU ĐỂ HẠCH TOÁN -- OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'ALL' AND B.CONFIRM_STATUS = 'Y' AND EXISTS(SELECT ACL.COLLECT_MULTI_ID FROM ASS_COLLECT_MULTI_DT ACL -- WHERE ACL.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID AND ACL.BRANCH_ID IN (SELECT BRANCH_ID from @tmp))) -- GDV TÌM THẤY PHIẾU CỦA ĐV MÌNH PHIẾU ĐỂ HẠCH TOÁN -- OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH ='') ) --Phucvh 08/12/22 Tìm theo đơn vị sử dụng HC AND (EXISTS(SELECT 1 FROM ASS_COLLECT_MULTI_DT acmd WHERE acmd.BRANCH_ID = @p_BRANCH_ID_USE AND acmd.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID) OR @p_BRANCH_ID_USE IS NULL OR @p_BRANCH_ID_USE = '') --Phucvh 08/12/22 Tìm theo phòng ban sử dụng HC AND (EXISTS(SELECT 1 FROM ASS_COLLECT_MULTI_DT acmd WHERE acmd.DEPT_ID_USE = @p_DEPT_ID_USE AND acmd.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID) OR @p_DEPT_ID_USE IS NULL OR @p_DEPT_ID_USE = '') AND(SK.REQ_CODE like N'%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '') ORDER BY A.CREATE_DT DESC -- PAGING END end ELSE BEGIN -- PAGING BEGIN SELECT TOP(CONVERT(INT,@p_TOP))A.*,C.BRANCH_CODE, C.BRANCH_NAME, F.AUTH_STATUS_NAME, ATKT.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_KT,T1.TLFullName AS MAKER_NAME,T2.TLFullName AS MAKER_NAME_KT,T3.TLFullName APPROVE_NAME, T4.TLFullName APPROVE_NAME_KT, C.BRANCH_CODE +' - '+ C.BRANCH_NAME AS FULL_BRANCH_NAME, @p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH, --- TRA VE THAM SO GAN VO CURRENT SEARCH TRANH GAY LOI O CAC MAN HINH B.CONFIRM_DT CONFIRM_DT,B.MAKER_ID CONFIRM_USER,D.TLFullName CONFIRM_USER_NAME,SK.REQ_CODE -- SELECT END FROM ASS_COLLECT_MULTI_MASTER A LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID LEFT JOIN CM_AUTH_STATUS F ON A.AUTH_STATUS = F.AUTH_STATUS LEFT JOIN CM_AUTH_STATUS ATKT ON ATKT.AUTH_STATUS = A.AUTH_STATUS_KT LEFT JOIN TL_USER T1 ON A.MAKER_ID = T1.TLNANME LEFT JOIN TL_USER T2 ON A.MAKER_ID_KT = T2.TLNANME LEFT JOIN TL_USER T3 ON A.CHECKER_ID = T3.TLNANME LEFT JOIN TL_USER T4 ON A.CHECKER_ID_KT = T4.TLNANME LEFT JOIN ASS_COLLECT_CONFIRM_MASTER B ON A.COL_MULTI_MASTER_ID = B.COL_MULTI_MASTER_ID LEFT JOIN TL_USER D ON B.MAKER_ID = D.TLNANME LEFT JOIN TR_REQUEST_SHOP_DOC SK ON SK.REQ_ID = A.REQ_ID WHERE 1 = 1 AND (A.COL_MULTI_MASTER_ID LIKE '%' + @p_COL_MULTI_MASTER_ID + '%' OR @p_COL_MULTI_MASTER_ID IS NULL OR @p_COL_MULTI_MASTER_ID = '') --AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '') -- AND (A.COLLECT_DT =CONVERT(DATETIME, @p_COLLECT_DT, 103) OR @p_COLLECT_DT IS NULL OR @p_COLLECT_DT = '') --LUCTV 19092019 BO SUNG DIEU KIEN NEU KE TOAN DA CAP NHAT THI TIM KIEM THEO NGAY CAP NHAT AND (A.USER_COLLECT LIKE '%' + @p_USER_COLLECT + '%' OR @p_USER_COLLECT IS NULL OR @p_USER_COLLECT = '') AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '') AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '') AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '') AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '') AND (A.CREATE_DT =CONVERT(DATETIME, @p_CREATE_DT, 103) OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '') AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '') AND (A.APPROVE_DT =CONVERT(DATETIME, @p_APPROVE_DT, 103) OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '') AND (A.AUTH_STATUS_KT LIKE '%' + @p_AUTH_STATUS_KT + '%' OR @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '') AND (A.CREATE_DT_KT =CONVERT(DATETIME, @p_CREATE_DT_KT, 103) OR @p_CREATE_DT_KT IS NULL OR @p_CREATE_DT_KT = '') AND (A.APPROVE_DT_KT =CONVERT(DATETIME, @p_APPROVE_DT_KT, 103) OR @p_APPROVE_DT_KT IS NULL OR @p_APPROVE_DT_KT = '') AND (A.MAKER_ID_KT LIKE '%' + @p_MAKER_ID_KT + '%' OR @p_MAKER_ID_KT IS NULL OR @p_MAKER_ID_KT = '') AND (A.CHECKER_ID_KT LIKE '%' + @p_CHECKER_ID_KT + '%' OR @p_CHECKER_ID_KT IS NULL OR @p_CHECKER_ID_KT = '') AND (A.REPORT_STATUS LIKE '%' + @p_REPORT_STATUS + '%' OR @p_REPORT_STATUS IS NULL OR @p_REPORT_STATUS = '') AND A.RECORD_STATUS='1' AND (A.REPORT_STATUS LIKE '%' + @p_REPORT_STATUS + '%' OR @p_REPORT_STATUS IS NULL OR @p_REPORT_STATUS = '') --AND ((@p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)) --OR ((@p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID) --OR (@p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL))) AND ((A.MAKER_ID_KT IS NOT NULL AND @p_IS_UPDATE = 'Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat OR ((A.MAKER_ID_KT IS NULL AND @p_IS_UPDATE = 'N')) OR @p_IS_UPDATE IS NULL OR @p_IS_UPDATE='') -- TIM KIEM TU NGAY O HC AND ((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.COLLECT_DT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')) OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') -- TIM KIEM DEN NGAY O HC AND ((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.COLLECT_DT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = '')) OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') -- TIM KIEM TU NGAY O KT AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '') AND (CONVERT(DATE,A.APPROVE_DT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')) OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '') AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')) OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')) OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')) OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))) AND B.CONFIRM_STATUS = 'Y'))) OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') -- TIM KIEM DEN NGAY O KT AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '') AND (CONVERT(DATE,A.APPROVE_DT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = '')) OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '') AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = '')) OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = '')) OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')) OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))) AND B.CONFIRM_STATUS = 'Y'))) OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') --AND ( ( @p_TYPE_SEARCH = 'KT' AND EXISTS (SELECT * FROM ASS_COLLECT_CONFIRM_MASTER WHERE A.COL_MULTI_MASTER_ID = ASS_COLLECT_CONFIRM_MASTER.COL_MULTI_MASTER_ID)) -- OR (@p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '' OR @p_TYPE_SEARCH = 'HC')) -- NEW TRANG THAI PHIEU XUAT LA LUU NHAP HOAC TU CHOI THI CHI NGUOI TAO CO THE TIM THAY AND ((A.AUTH_STATUS IN ('E','R') AND A.MAKER_ID = @p_USER_LOGIN) OR (EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('GDDV,GDDV_QLTS,TBP_QLTS,KSV_QLTS',A.BRANCH_ID,A.DEPT_CREATE) US WHERE US.TLNANME = @p_USER_LOGIN)) OR A.AUTH_STATUS NOT IN ('E','R') OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = '') -- 11-03-2022 HUYHT BO SUNG DIEU KIEN TIM KIEM PHIEU XUAT THEO QUYEN KIEM NHIEM AND ((@p_TYPE_SEARCH='HC' AND (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE_VB('GDDV,GDDV_QLTS,TBP_QLTS,KSV_QLTS',A.BRANCH_ID,A.DEPT_CREATE) US WHERE US.TLNANME = @p_USER_LOGIN)) OR A.MAKER_ID = @p_USER_LOGIN) OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp) AND B.CONFIRM_STATUS = 'Y') OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID AND B.CONFIRM_STATUS = 'Y') OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '' --FIX BYID -- OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'UNIT' AND B.CONFIRM_STATUS = 'Y' AND EXISTS(SELECT ACL.COLLECT_MULTI_ID FROM ASS_COLLECT_MULTI_DT ACL -- WHERE ACL.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID AND ACL.BRANCH_ID = @p_BRANCH_ID)) -- GDV TÌM THẤY PHIẾU CỦA ĐV MÌNH PHIẾU ĐỂ HẠCH TOÁN -- OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'ALL' AND B.CONFIRM_STATUS = 'Y' AND EXISTS(SELECT ACL.COLLECT_MULTI_ID FROM ASS_COLLECT_MULTI_DT ACL -- WHERE ACL.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID AND ACL.BRANCH_ID IN (SELECT BRANCH_ID from @tmp))) -- GDV TÌM THẤY PHIẾU CỦA ĐV MÌNH PHIẾU ĐỂ HẠCH TOÁN -- OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH ='') ) --Phucvh 08/12/22 Tìm theo đơn vị sử dụng HC AND (EXISTS(SELECT 1 FROM ASS_COLLECT_MULTI_DT acmd WHERE acmd.BRANCH_ID = @p_BRANCH_ID_USE AND acmd.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID) OR @p_BRANCH_ID_USE IS NULL OR @p_BRANCH_ID_USE = '') --Phucvh 08/12/22 Tìm theo phòng ban sử dụng HC AND (EXISTS(SELECT 1 FROM ASS_COLLECT_MULTI_DT acmd WHERE acmd.DEPT_ID_USE = @p_DEPT_ID_USE AND acmd.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID) OR @p_DEPT_ID_USE IS NULL OR @p_DEPT_ID_USE = '') AND(SK.REQ_CODE like N'%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '') ORDER BY A.CREATE_DT DESC -- PAGING END END END -- PAGING GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[rpt_PYC_THUHOI]' GO ALTER PROC [dbo].[rpt_PYC_THUHOI] @REQ_ID VARCHAR(15) = NULL AS BEGIN DECLARE @SHOW_TABLE_DVCM_KHAC VARCHAR(1) = NULL,@SHOW_TABLE_DVCM_IT VARCHAR(1) = NULL --TABLE 0 SELECT DISTINCT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS STT, am.ASSET_NAME AS ASS_NAME, ISNULL(am.ASSET_CODE,am.ASS_CODE_TMP) AS ASSET_CODE, ISNULL(PB.DEP_NAME,ISNULL(TT.DEP_NAME,K.DEP_NAME)) AS DEP_NAME, ce.EMP_NAME, '1' QTY_ETM, CA.CONTENT AS REQ_CONTENT FROM TR_REQUEST_SHOP_DOC A LEFT JOIN TR_REQUEST_DOC_ASSET_DT B ON A.REQ_ID = B.REQ_DOC_ID LEFT JOIN CM_ALLCODE CA ON B.REQ_ASSET_REASON = CA.CDVAL AND CA.CDNAME = 'REASON_ASS_REQ' AND CA.CDTYPE = 'REQ_ASSET' LEFT JOIN CM_DEPARTMENT K ON B.SUBBRANCH_OLD = K.DEP_ID LEFT JOIN CM_DEPARTMENT TT ON B.FATHER_OLD = TT.DEP_ID LEFT JOIN CM_DEPARTMENT PB ON B.DEP_OLD = PB.DEP_ID LEFT JOIN ASS_MASTER am ON am.ASSET_ID = B.ASSET_ID LEFT JOIN CM_EMPLOYEE ce ON B.EMP_OLD = ce.EMP_ID WHERE A.REQ_ID = @REQ_ID --TABLE 1 DVCM KHOI CNTT IF(EXISTS(SELECT 1 FROM TR_REQUEST_SHOP_COSTCENTER A LEFT JOIN CM_DEPARTMENT B ON A.COST_ID = B.DEP_ID WHERE A.REQ_ID = @REQ_ID AND B.DEP_CODE = '05J00')) BEGIN SELECT DISTINCT A.ASS_STATUS, A.RE_CONTENT, A.NOTES, E.TLFullName AS SURVEY_STAFF, ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT(D.APPROVE_DT,'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM TR_REQUEST_SHOP_COSTCENTER A LEFT JOIN CM_EMPLOYEE_LOG B ON A.MAKER_ID = B.USER_DOMAIN LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME LEFT JOIN CM_DEPARTMENT cd ON A.COST_ID = cd.DEP_ID LEFT JOIN PL_PROCESS D ON A.REQ_ID = D.REQ_ID AND D.PROCESS_ID = 'S_GDDVDVCM' AND A.MAKER_ID = D.CHECKER_ID WHERE A.REQ_ID = @REQ_ID AND cd.DEP_CODE = '05J00' SET @SHOW_TABLE_DVCM_IT = '1' END ELSE BEGIN SELECT '' ASS_STATUS, '' RE_CONTENT,'' NOTES, ''SURVEY_STAFF, '' POS_NAME END --TABLE 2 DVCM KHAC IF(EXISTS(SELECT 1 FROM TR_REQUEST_SHOP_COSTCENTER A LEFT JOIN CM_DEPARTMENT B ON A.COST_ID = B.DEP_ID WHERE A.REQ_ID = @REQ_ID AND B.DEP_CODE <> '05J00')) BEGIN SELECT A.ASS_STATUS, A.RE_CONTENT, A.NOTES, E.TLFullName AS SURVEY_STAFF, ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'S_GDDVDVCM' AND PP.CHECKER_ID = A.MAKER_ID ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM TR_REQUEST_SHOP_COSTCENTER A LEFT JOIN CM_EMPLOYEE_LOG B ON A.MAKER_ID = B.USER_DOMAIN LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME LEFT JOIN CM_DEPARTMENT cd ON A.COST_ID = cd.DEP_ID WHERE A.REQ_ID = @REQ_ID AND cd.DEP_CODE <> '05J00' ORDER BY A.COST_ID SET @SHOW_TABLE_DVCM_KHAC = '1' END ELSE BEGIN SELECT '' ASS_STATUS, '' RE_CONTENT,'' NOTES, ''SURVEY_STAFF, '' POS_NAME END --TABLE 3 DANH GIA VA DE XUAT CUA P.QLTS SELECT TOP 1 A.HO_NOTES, D.TLFullName, ISNULL(C.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.REQ_ID AND (PP.PROCESS_ID = 'S_DVCM' OR PP.PROCESS_ID = 'S_TBP_QLTS') AND PP.CHECKER_ID = PL.CHECKER_ID ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM TR_REQUEST_SHOP_DOC A LEFT JOIN PL_REQUEST_PROCESS PL ON A.REQ_ID = PL.REQ_ID AND PL.PROCESS_ID = 'QLTS_N' LEFT JOIN CM_EMPLOYEE_LOG C ON PL.CHECKER_ID = C.USER_DOMAIN LEFT JOIN TL_USER D ON C.USER_DOMAIN = D.TLNANME WHERE A.REQ_ID = @REQ_ID --TABLE 4 PHE DUYET DVCM KHOI CNTT IF(@SHOW_TABLE_DVCM_IT IS NOT NULL) BEGIN IF (EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS A LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE = '05J00')) BEGIN SELECT TOP 1 ISNULL(A.NOTES,'') AS NOTES, E.TLFullName, ISNULL(D.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'DVCM_D' AND PP.CHECKER_ID = A.CHECKER_ID ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM PL_REQUEST_PROCESS A LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID LEFT JOIN CM_EMPLOYEE_LOG D ON A.CHECKER_ID = D.USER_DOMAIN LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE = '05J00' ORDER BY C.DEP_ID END ELSE BEGIN SELECT '' AS NOTES END END ELSE BEGIN SELECT N'' NOTES END --table 5 PHÊ DUYỆT PHÒNG QLTS IF(EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS A LEFT JOIN CM_EMPLOYEE_LOG B ON A.CHECKER_ID = B.USER_DOMAIN LEFT JOIN TL_USER C ON B.USER_DOMAIN = C.TLNANME WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'QLTS_D')) BEGIN SELECT TOP 1 ISNULL(A.NOTES,'') AS NOTES, C.TLFullName, ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'QLTS_D' AND PP.CHECKER_ID = A.CHECKER_ID ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM PL_REQUEST_PROCESS A LEFT JOIN CM_EMPLOYEE_LOG B ON A.CHECKER_ID = B.USER_DOMAIN LEFT JOIN TL_USER C ON B.USER_DOMAIN = C.TLNANME WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'QLTS_D' END ELSE BEGIN SELECT N'' NOTES END --Phucvh table 6 USER TẠO DUYỆT SELECT TOP 1 C.TLFullName AS USER_CREATE, CHAR(13) + ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP1.APPROVE_DT FROM PL_PROCESS PP1 WHERE PP1.REQ_ID = A.REQ_ID AND PP1.PROCESS_ID = 'S_DVKD' AND PP1.CHECKER_ID = A.MAKER_ID ORDER BY PP1.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME, E.TLFullName AS USER_APPROVE, CHAR(13) + ISNULL(D.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP1.APPROVE_DT FROM PL_PROCESS PP1 WHERE PP1.REQ_ID = A.REQ_ID AND PP1.PROCESS_ID = 'DVKD_D' ORDER BY PP1.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME_1 FROM TR_REQUEST_SHOP_DOC A LEFT JOIN CM_EMPLOYEE_LOG B ON A.MAKER_ID = B.USER_DOMAIN --NGƯỜI TẠO LEFT JOIN TL_USER C ON B.USER_DOMAIN = C.TLNANME --NGƯỜI TẠO LEFT JOIN PL_REQUEST_PROCESS PP ON A.REQ_ID = PP.REQ_ID AND PP.PROCESS_ID = 'APPNEW' LEFT JOIN CM_EMPLOYEE_LOG D ON PP.CHECKER_ID = D.USER_DOMAIN --NGƯỜI DUYỆT LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME --NGƯỜI DUYỆT WHERE A.REQ_ID = @REQ_ID ORDER BY PP.ID DESC --PHUCVH TABLE 7 SỐ PYC SELECT trsd.REQ_CODE FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.REQ_ID = @REQ_ID --PHUCVH TABLE 8 NGÀY TDV DUYỆT SELECT TOP 1 N'Ngày ' + CONVERT(VARCHAR(5),DAY(pp.APPROVE_DT)) + N' tháng ' + CONVERT(VARCHAR(5),MONTH(pp.APPROVE_DT)) + N' năm ' + CONVERT(VARCHAR(10),YEAR(pp.APPROVE_DT)) AS APPROVE_DT FROM PL_REQUEST_PROCESS pp WHERE pp.REQ_ID = @REQ_ID AND pp.PROCESS_ID = 'APPNEW' ORDER BY pp.ID DESC END --TABLE 9 PHÊ DUYỆT DVCM KHÁC IF(@SHOW_TABLE_DVCM_KHAC IS NOT NULL) BEGIN IF (EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS A LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE <> '05J00')) BEGIN SELECT ISNULL(A.NOTES,'') AS NOTES, E.TLFullName, ISNULL(D.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'DVCM_D' AND PP.CHECKER_ID = A.CHECKER_ID ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM PL_REQUEST_PROCESS A LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID LEFT JOIN CM_EMPLOYEE_LOG D ON A.CHECKER_ID = D.USER_DOMAIN LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE <> '05J00' ORDER BY C.DEP_ID END ELSE BEGIN SELECT '' AS NOTES FROM TR_REQUEST_SHOP_COSTCENTER A LEFT JOIN CM_DEPARTMENT C ON A.COST_ID = C.DEP_ID WHERE A.REQ_ID = @REQ_ID AND C.DEP_CODE <> '05J00' END END ELSE BEGIN SELECT N'' NOTES END --TABLE 10 PHÊ DUYỆT TBP_QLTS SELECT TOP 1 ISNULL(A.NOTES,'') AS HO_NOTES, C.TLFullName, ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'TBP_D' AND PP.CHECKER_ID = A.CHECKER_ID ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME FROM PL_REQUEST_PROCESS A LEFT JOIN CM_EMPLOYEE_LOG B ON A.CHECKER_ID = B.USER_DOMAIN LEFT JOIN TL_USER C ON B.USER_DOMAIN = C.TLNANME WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'TBP_D' --SHOW TABLE DVCM IT IF(@SHOW_TABLE_DVCM_IT IS NOT NULL) BEGIN SELECT N'DVCMIT' AS MERGE_REGION END --SHOW TABLE DVCM KHÁC IF(@SHOW_TABLE_DVCM_KHAC IS NOT NULL) BEGIN SELECT N'DVCMKHAC' AS MERGE_REGION END --SHOW TITLE ĐÁNH GIÁ CỦA ĐƠN VỊ CHUYÊN MÔN IF(@SHOW_TABLE_DVCM_IT IS NOT NULL OR @SHOW_TABLE_DVCM_KHAC IS NOT NULL) BEGIN SELECT N'TITLEDVCM' AS MERGE_REGION END GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_COL_MULTI_HANDOVER_RECORD]' GO ALTER PROC [dbo].[ASS_COL_MULTI_HANDOVER_RECORD] @COL_MULTI_MASTER_ID VARCHAR(15) = NULL AS BEGIN --Table 0 Nội dung && BRANCH SELECT TOP 1 B.BRANCH_NAME + ISNULL(' - ' + C.DEP_NAME,'') AS BRANCH_NAME, D.CONTENT AS TITLE ,(N'Hôm nay, ngày ' + CONVERT(VARCHAR(5),DAY(GETDATE())) + N' tháng ' + CONVERT(VARCHAR(5),MONTH(GETDATE())) + N' năm ' + CONVERT(VARCHAR(5),YEAR(GETDATE())) + N' tại ') AS DD_MM_YY FROM ASS_COLLECT_MULTI_DT A LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID LEFT JOIN CM_DEPARTMENT C ON A.DEPT_ID_USE = C.DEP_ID LEFT JOIN ASS_COLLECT_MULTI_MASTER D ON A.COL_MULTI_MASTER_ID = D.COL_MULTI_MASTER_ID WHERE A.COL_MULTI_MASTER_ID = @COL_MULTI_MASTER_ID --Table 1 Bên giao --Fix tạm UAT IF(EXISTS(SELECT TOP 1 B.TLFullName, B.ADDRESS, B.PHONE, C.POS_NAME FROM ASS_COLLECT_CONFIRM_MASTER A LEFT JOIN TL_USER B ON A.MAKER_ID = B.TLNANME LEFT JOIN CM_EMPLOYEE_LOG C ON B.TLNANME = C.USER_DOMAIN WHERE A.COL_MULTI_MASTER_ID = @COL_MULTI_MASTER_ID)) BEGIN -- IF(EXISTS(SELECT 1 FROM ASS_COLLECT_MULTI_MASTER acmm WHERE acmm.COL_MULTI_MASTER_ID = @COL_MULTI_MASTER_ID AND acmm.REQ_ID IS NOT NULL AND acmm.REQ_ID <> '')) -- BEGIN -- SELECT TOP 1 C.TLFullName, C.ADDRESS, C.PHONE, D.POS_NAME, ISNULL(E.BRANCH_NAME,'') + ISNULL(' - ' + G.DEP_NAME,'') AS BRANCH_NAME -- FROM ASS_COLLECT_MULTI_MASTER A -- LEFT JOIN TR_REQUEST_SHOP_DOC B ON A.REQ_ID = B.REQ_ID -- LEFT JOIN TL_USER C ON B.MAKER_ID = C.TLNANME -- LEFT JOIN CM_EMPLOYEE_LOG D ON B.MAKER_ID = D.USER_DOMAIN -- LEFT JOIN CM_BRANCH E ON C.TLSUBBRID = E.BRANCH_ID -- LEFT JOIN CM_DEPARTMENT G ON C.DEP_ID = G.DEP_ID -- WHERE A.COL_MULTI_MASTER_ID = @COL_MULTI_MASTER_ID -- END -- ELSE -- BEGIN SELECT TOP 1 B.TLFullName, B.ADDRESS, B.PHONE, C.POS_NAME, ISNULL(E.BRANCH_NAME,'') + ISNULL(' - ' + G.DEP_NAME,'') AS BRANCH_NAME FROM ASS_COLLECT_CONFIRM_MASTER A LEFT JOIN TL_USER B ON A.MAKER_ID = B.TLNANME LEFT JOIN CM_EMPLOYEE_LOG C ON B.TLNANME = C.USER_DOMAIN LEFT JOIN CM_BRANCH E ON B.TLSUBBRID = E.BRANCH_ID LEFT JOIN CM_DEPARTMENT G ON B.DEP_ID = G.DEP_ID WHERE A.COL_MULTI_MASTER_ID = @COL_MULTI_MASTER_ID -- END END ELSE BEGIN SELECT '' TLFullName, '' ADDRESS, '' PHONE, '' POS_NAME END --Table 2 Bên nhận SELECT TOP 1 B.TLFullName, B.ADDRESS, B.PHONE, C.POS_NAME, ISNULL(D.BRANCH_NAME,'') + ISNULL(' - ' + E.DEP_NAME,'') AS BRANCH_NAME FROM ASS_COLLECT_MULTI_MASTER A LEFT JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME LEFT JOIN CM_EMPLOYEE_LOG C ON B.TLNANME = C.USER_DOMAIN LEFT JOIN CM_BRANCH D ON A.BRANCH_ID = D.BRANCH_ID LEFT JOIN CM_DEPARTMENT E ON A.DEPT_CREATE = E.DEP_ID WHERE A.COL_MULTI_MASTER_ID = @COL_MULTI_MASTER_ID --TABLE 3 DANH SÁCH TÀI SẢN SELECT CASE WHEN B.ASSET_CODE IS NOT NULL AND B.ASSET_CODE <> '' THEN B.ASSET_CODE ELSE B.ASS_CODE_TMP END AS ASSET_CODE, B.ASSET_NAME, D.UNIT_NAME, 1 AS QUANTITY, E.STATUS_NAME, B.ASSET_SERIAL_NO AS SERIAL, REQ.REQ_CODE + ISNULL(CHAR(10) + CHAR(10) + B.PL,'') AS REQ_CODE,B.NOTES AS QUY_CACH, A.NOTES, --ROW_NUMBER() OVER (PARTITION BY B.ASSET_NAME ORDER BY B.ASSET_NAME) AS STT, ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS STT, CA.CONTENT AS COLLECT_REASON FROM ASS_COLLECT_MULTI_DT A LEFT JOIN ASS_MASTER B ON A.ASSET_ID = B.ASSET_ID LEFT JOIN ASS_GROUP C ON B.GROUP_ID = C.GROUP_ID LEFT JOIN CM_UNIT D ON C.UNIT = D.UNIT_ID LEFT JOIN ASS_STATUS E ON B.ASS_STATUS = E.STATUS_ID LEFT JOIN ASS_COLLECT_MULTI_MASTER F ON A.COL_MULTI_MASTER_ID = F.COL_MULTI_MASTER_ID LEFT JOIN TR_REQUEST_SHOP_DOC REQ ON F.REQ_ID = REQ.REQ_ID LEFT JOIN CM_ALLCODE CA ON A.PURPOSE_ID = CA.CDVAL AND CA.CDNAME = 'REASON_ASS_REQ' AND CA.CDTYPE = 'REQ_ASSET' WHERE A.COL_MULTI_MASTER_ID = @COL_MULTI_MASTER_ID --TABLE 4 CHỮ KÝ --SELECT '' SELECT TOP 1 E.TLFullName AS MAKER_NAME, --BÊN GIAO ISNULL(C.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.COL_MULTI_MASTER_ID AND PP.PROCESS_ID = 'CONFIRM' AND PP.CHECKER_ID = B.MAKER_ID ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME,--BÊN GIAO D.TLFullName AS CHECKER_NAME, --BÊN NHẬN --D.TLFullName AS INTERMEDIATE_UNIT_NAME, --ĐƠN VỊ TRUNG GIAN --F.POS_NAME AS POS_NAME_1, --ĐƠN VỊ TRUNG GIAN ISNULL(F.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.COL_MULTI_MASTER_ID AND PP.PROCESS_ID = 'APPROVE' AND PP.CHECKER_ID = A.CHECKER_ID ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME_2 --BÊN NHẬN FROM ASS_COLLECT_MULTI_MASTER A LEFT JOIN ASS_COLLECT_CONFIRM_MASTER B ON A.COL_MULTI_MASTER_ID = B.COL_MULTI_MASTER_ID LEFT JOIN TL_USER E ON B.MAKER_ID = E.TLNANME --BÊN GIAO LEFT JOIN CM_EMPLOYEE_LOG C ON B.MAKER_ID = C.USER_DOMAIN --BÊN GIAO LEFT JOIN TL_USER D ON A.CHECKER_ID = D.TLNANME --BÊN NHẬN + ĐƠN VỊ TRUNG GIAN LEFT JOIN CM_EMPLOYEE_LOG F ON A.CHECKER_ID = F.USER_DOMAIN --BÊN NHẬN + ĐƠN VỊ TRUNG GIAN WHERE A.COL_MULTI_MASTER_ID = @COL_MULTI_MASTER_ID --TABLE 5 SỐ SELECT @COL_MULTI_MASTER_ID AS NO --TABLE 6 ĐƠN VỊ TRUNG GIAN SELECT '' TLFullName, '' ADDRESS, '' PHONE, '' POS_NAME --SELECT TOP 1 B.TLFullName, B.ADDRESS, B.PHONE, C.POS_NAME,ISNULL(D.BRANCH_NAME,'') + ISNULL(' - ' + E.DEP_NAME,'') AS BRANCH_NAME --FROM ASS_COLLECT_MULTI_MASTER A --LEFT JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME --LEFT JOIN CM_EMPLOYEE_LOG C ON B.TLNANME = C.USER_DOMAIN --LEFT JOIN CM_BRANCH D ON A.BRANCH_ID = D.BRANCH_ID --LEFT JOIN CM_DEPARTMENT E ON A.DEPT_CREATE = E.DEP_ID --WHERE A.COL_MULTI_MASTER_ID = @COL_MULTI_MASTER_ID END GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[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 NVARCHAR(200) = NULL, @p_ACC_NUM_OUT VARCHAR(100) = NULL, @p_ACC_NAME_OUT VARCHAR(100) = NULL, @p_BANK_NAME_OUT NVARCHAR(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_USE_MULTI_BVB_KT_Appr]' GO ALTER PROCEDURE [dbo].[ASS_USE_MULTI_BVB_KT_Appr] @p_USER_MASTER_ID varchar(15) = NULL, --@p_AUTH_STATUS varchar(1) = NULL, @p_CHECKER_ID varchar(100) = NULL, @p_APPROVE_DT VARCHAR(20) = NULL AS DECLARE @l_BRANCH_ID VARCHAR(15) DECLARE @l_DEPT_ID VARCHAR(15) DECLARE @l_EMP_ID VARCHAR(15) DECLARE @l_DIVISION_ID VARCHAR(15) DECLARE @l_VALUE_ID VARCHAR(15) --DECLARE @l_LOCATION nvarchar(500) DECLARE @l_LOCHIST_ID VARCHAR(15) DECLARE @l_ASSET_ID VARCHAR(15) DECLARE @l_WAHDT_ID VARCHAR(15) DECLARE @l_WAH_ID VARCHAR(15) DECLARE @l_MAKER_ID varchar(15) DECLARE @l_AMORT_MONTH decimal(18,2) DECLARE @l_AMORT_START_DATE datetime, @l_AMORT_END_DATE datetime DECLARE @l_FIRST_AMORT_AMT numeric(18,0) DECLARE @l_MONTHLY_AMT numeric(18,0) DECLARE @l_ASS_AMORT_AMT numeric(18,0) DECLARE @sToday varchar(10) = convert(varchar(10), getdate(), 103) DECLARE @l_ENTRY_BOOKED varchar(1) DECLARE @l_HO_BRN_ID varchar(15) DECLARE @l_AMORT_AMT decimal(18) = NULL DECLARE @l_BUY_PRICE decimal(18) = NULL DECLARE @l_ET_ID varchar(15) --DEClare @p_ADDNEW_ID varchar(15) DECLARE @l_SUPPEND_GL varchar(50) DECLARE @l_ASSET_GL varchar(50)--TK TAI SAN DECLARE @l_EXP_ACCTNO varchar(50)--TK CHI PHI DECLARE @l_AMORT_ACCTNO varchar(50)--TK CHO PHAN BO DECLARE @l_PAY_HS_ACCTNO VARCHAR(50) DECLARE @_BUY_TS_ACCTNO VARCHAR(50) DECLARE @l_WAIT_AMORT VARCHAR(50) DECLARE @l_TRANFER_ACCTNO VARCHAR(50) DECLARE @l_DR_BRANCH VARCHAR(15) -- DV GHI NO DECLARE @l_ASSET_VALUE decimal(18,0) DECLARE @l_ASSET_CODE VARCHAR(25) DECLARE @l_GROUP_ID varchar(15) DECLARE @l_CORE_NOTE NVARCHAR(500) DECLARE @l_TYPE_ID varchar(15) = NULL declare @l_TRN_REF_NO varchar(20) declare @l_DO_BRANCH_ID varchar(15) DECLARE @l_AMORT_STATUS VARCHAR(15) = 'CKH' DECLARE @l_AMORT_MONTH_ASS_USE DECIMAL(18,2) = NULL DECLARE @l_AMORT_RATE DECIMAL(18,2) = 0 declare @l_AUTH_STATUS varchar(15) = '' DECLARE @l_CURR_AMORT_AMT DECIMAL(18,0) DECLARE @sExecDT DATE DECLARE @l_AMORT_TERM VARCHAR(500) DECLARE @l_AMORTDT_ID VARCHAR(15) = NULL DECLARE @l_AMORTIZED_MONTH DECIMAL(18,0), @ERROR NVARCHAR(500) = '' DECLARE @l_BRANCH_CREATE VARCHAR(15), @BRN_TYPE_TRN VARCHAR(15), @BRN_TYPE_REC VARCHAR(15), @TCCT_TRN_ACCTNO VARCHAR(50), @TCCT_REC_ACCTNO VARCHAR(50) DECLARE @l_DEP_CODE VARCHAR(15) DECLARE @l_COST_MASTER_ID VARCHAR(15) DECLARE @l_COSTDT_ID VARCHAR(15), @l_REMAIN_VALUE_UPD DECIMAL(18,0), @l_BUY_PRICE_UPD DECIMAL(18,0) DECLARE @CUR_DATE DATETIME = GETDATE() BEGIN TRY BEGIN TRANSACTION IF(EXISTS(SELECT 1 FROM ASS_USE_MULTI_MASTER WHERE AUTH_STATUS_KT ='A' AND USER_MASTER_ID =@p_USER_MASTER_ID)) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, N'Thông tin xuất sử dụng tài sản đã được duyệt' ErrorDesc RETURN '-1' END --LUCTV: 26-20-2018 KIEM TRA NEU TINH TRANG DANG LA 'R' THI KHONG CHO PHEP DUYET IF(EXISTS(SELECT * FROM ASS_USE_MULTI_MASTER WHERE AUTH_STATUS_KT ='R' AND USER_MASTER_ID =@p_USER_MASTER_ID)) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, N'Thông tin xuất sử dụng tài sản đang bị trả về. Vui lòng cập nhật lại thông tin trước khi duyệt' ErrorDesc RETURN '-1' END --APPROVE KT MASTER UPDATE [dbo].[ASS_USE_MULTI_MASTER] SET AUTH_STATUS_KT = 'A', CHECKER_ID_KT = @p_CHECKER_ID, APPROVE_DT_KT = CONVERT(DATETIME, @p_APPROVE_DT, 103) WHERE USER_MASTER_ID= @p_USER_MASTER_ID --thieuvq 260719 lay thong makerid kt-- SET @l_MAKER_ID = (SELECT MAKER_ID_KT FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_USER_MASTER_ID) -- DECLARE @l_TRN_NO VARCHAR(15) EXEC ENTRIES_POST_GEN_NO @p_BRANCH_ID = @l_MAKER_ID ,@p_TRN_DATE = @p_APPROVE_DT ,@p_KeyGen = @l_TRN_NO OUT DECLARE @USE_MULTI_ID varchar(15) DECLARE @ASSET_ID varchar(15) DECLARE XmlData SCROLL CURSOR FOR SELECT A.USE_MULTI_ID,A.ASSET_ID FROM [dbo].[ASS_USE_MULTI_DT] A WHERE USER_MASTER_ID= @p_USER_MASTER_ID AND AUTH_STATUS_KT <> 'A' OPEN XmlData FETCH NEXT FROM XmlData INTO @USE_MULTI_ID,@ASSET_ID WHILE @@FETCH_STATUS = 0 BEGIN --Lay thong tin giao dich SELECT @l_ASSET_ID = ASSET_ID, @l_BRANCH_ID = BRANCH_ID, @l_DEPT_ID = DEPT_ID, @l_EMP_ID = EMP_ID, @l_DIVISION_ID = DIVISION_ID, @l_CORE_NOTE = CORE_NOTE, @l_AUTH_STATUS = AUTH_STATUS_KT, @l_AMORT_START_DATE = AMORT_START_DATE, /*@l_MAKER_ID = MAKER_ID_KT,*/ @l_AMORT_MONTH_ASS_USE = AMORT_MONTH, @l_AMORT_END_DATE = AMORT_END_DATE FROM [ASS_USE_MULTI_DT] WHERE USE_MULTI_ID = @USE_MULTI_ID --Lay thong tin so thang khau hao SELECT @l_AMORT_MONTH = A.AMORT_MONTH, @l_ASS_AMORT_AMT = AMORT_AMT, @l_ENTRY_BOOKED = ENTRY_BOOKED, @l_AMORT_AMT = A.AMORT_AMT, @l_BUY_PRICE = BUY_PRICE, @l_GROUP_ID = ISNULL(A.REF_GROUP_ID,A.GROUP_ID),@l_TYPE_ID = A.[TYPE_ID], @l_BRANCH_CREATE = BRANCH_CREATE,@l_ASSET_CODE=A.ASSET_CODE FROM ASS_MASTER A WHERE A.ASSET_ID = @l_ASSET_ID --TINH THEO SO THANG KHI XUAT SET @l_AMORT_MONTH = @l_AMORT_MONTH_ASS_USE --IF @l_ENTRY_BOOKED = 'N' --BEGIN -- SELECT '-1' as Result, (SELECT S.ErrorDesc FROM SYS_ERROR S WHERE S.ErrorCode = 'ASS-00018') ErrorDesc -- ROLLBACK TRANSACTION -- CLOSE XmlData -- DEALLOCATE XmlData -- RETURN '-1' --END IF (SELECT AMORT_STATUS FROM ASS_MASTER WHERE ASSET_ID = @l_ASSET_ID) NOT IN ('VNM','KKH') BEGIN SELECT '-1' as Result, N'TAI SAN DA DUOC XUAT SU DUNG' ErrorDesc ROLLBACK TRANSACTION CLOSE XmlData DEALLOCATE XmlData RETURN '-1' END UPDATE ASS_USE_MULTI_DT SET AUTH_STATUS_KT = 'A', CHECKER_ID_KT = @p_CHECKER_ID, APPROVE_DT_KT = CONVERT(DATETIME, @p_APPROVE_DT, 103) WHERE USE_MULTI_ID = @USE_MULTI_ID --IF @l_AUTH_STATUS = 'A' --BEGIN -- SELECT '-1' as Result, (SELECT ErrorDesc from SYS_ERROR WHERE ErrorCode = 'ASS-99998') ErrorDesc -- ROLLBACK TRANSACTION -- CLOSE XmlData -- DEALLOCATE XmlData -- RETURN '-1' --END --Lay thong tin kho mac dinh --SELECT @l_WAH_ID = P.ParaValue FROM SYS_PARAMETERS P WHERE P.ParaKey='ASSET_WAREHOUSE' SET @l_WAH_ID = @l_BRANCH_CREATE --BRN_ID HOI SO SELECT @l_HO_BRN_ID = BRANCH_ID FROM CM_BRANCH A WHERE A.BRANCH_TYPE = 'HS' --Lay branch_id cua user duyet select @l_DO_BRANCH_ID = a.TLSUBBRID from TL_USER a where a.TLNANME = @p_CHECKER_ID --Lay suppend GL SELECT @l_SUPPEND_GL = A.ParaValue FROM SYS_PARAMETERS A WHERE A.ParaKey='ASSET_SUPPEND_GL' DECLARE @l_WAIT_AMORT_NEW VARCHAR(50) SET @l_PAY_HS_ACCTNO = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='PAY_HS') SET @_BUY_TS_ACCTNO = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='BUY_TSCD' AND epa.GROUP_ID=(SELECT AG.PARENT_ID FROM ASS_GROUP AG WHERE AG.GROUP_ID = (SELECT AG.PARENT_ID FROM ASS_GROUP AG WHERE AG.GROUP_ID = @l_GROUP_ID))) IF(@_BUY_TS_ACCTNO IS NULL OR @_BUY_TS_ACCTNO = '') SET @_BUY_TS_ACCTNO = (SELECT ACC_NO FROM ENTRIES_POST_ACCNO WHERE ACC_TYPE ='BUY_TSCD' AND GROUP_ID = @l_GROUP_ID) SET @l_WAIT_AMORT = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='AMORT_CCLD') SET @l_TRANFER_ACCTNO =(SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='TRANSFER') SET @l_WAIT_AMORT_NEW =(SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='ASSET_CCLD_N') --SET @l_PAY_HS_ACCTNO = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='PAY_HS') DECLARE @l_ETP_ID VARCHAR(20),@l_D_BRANCH_CODE VARCHAR(25) , @l_C_BRANCH_CODE VARCHAR(25) --ASSET_GL SELECT @l_ASSET_GL = ASSET_ACCTNO, @l_EXP_ACCTNO = EXP_ACCTNO, @l_AMORT_ACCTNO = AMORT_ACCTNO FROM ASS_GROUP A WHERE A.GROUP_ID = @l_GROUP_ID IF @l_AMORT_MONTH_ASS_USE = 0 BEGIN SET @l_AMORT_END_DATE = NULL; SET @l_MONTHLY_AMT = 0; SET @l_FIRST_AMORT_AMT = 0; SET @l_AMORT_STATUS = 'KKH' END ELSE BEGIN --Tinh ngay ket thuc khau hao --IF @l_AMORT_END_DATE IS NULL OR @l_AMORT_END_DATE = '' -- SET @l_AMORT_END_DATE = DATEADD(MONTH, @l_AMORT_MONTH_ASS_USE, @l_AMORT_START_DATE) - 1 IF @l_AMORT_END_DATE IS NULL OR @l_AMORT_END_DATE = '' BEGIN --DECLARE @l_ENDDATE_TEMP DATETIME = (CONVERT(VARCHAR(10),(YEAR(@l_AMORT_START_DATE))) + '-' + CONVERT(VARCHAR(10),MONTH(@l_AMORT_START_DATE))+'-' + '1') --SET @l_AMORT_END_DATE = DATEADD(MONTH, @l_AMORT_MONTH, @l_ENDDATE_TEMP ) - 1 SET @l_AMORT_END_DATE = DATEADD(MONTH, @l_AMORT_MONTH, @l_AMORT_START_DATE) - 1 END --Tinh so tien khau hao thang dau tien va so tien khau hao hang thang SET @l_MONTHLY_AMT = ROUND(@l_ASS_AMORT_AMT / @l_AMORT_MONTH, 0) -- IF(@l_TYPE_ID='TSCD') --BEGIN DECLARE @AMORT_ON_DAY DECIMAL(18,0) SET @AMORT_ON_DAY = ROUND(@l_MONTHLY_AMT/dbo.[FN_GetDaysInMonth](@l_AMORT_START_DATE),0) SET @l_FIRST_AMORT_AMT = ROUND(@AMORT_ON_DAY * (DATEDIFF(day,@l_AMORT_START_DATE, dbo.FN_GetLastDayOfMonth(@l_AMORT_START_DATE)) + 1), 0) IF(DAY(@l_AMORT_START_DATE)=1) SET @l_FIRST_AMORT_AMT=@l_MONTHLY_AMT --END --ELSE -- SET @l_FIRST_AMORT_AMT = @l_MONTHLY_AMT--ROUND(@l_MONTHLY_AMT/dbo.[FN_GetDaysInMonth](@l_AMORT_START_DATE) * (DATEDIFF(day,@l_AMORT_START_DATE, dbo.FN_GetLastDayOfMonth(@l_AMORT_START_DATE)) + 1), -3) --CAP NHAT TRANG THAI KHAU HAO SET @l_AMORT_STATUS = 'CKH' END --IF (@l_ENTRY_BOOKED = 'N') --Neu nhap TS va hach toan tang tai san IF (@l_ENTRY_BOOKED = 'N') --Neu nhap TS va hach toan tang tai san thieuvq 14/05/2014 BEGIN --insert dbo.ASS_VALUES EXEC SYS_CodeMasters_Gen 'ASS_VALUES', @l_VALUE_ID out IF @l_VALUE_ID='' OR @l_VALUE_ID IS NULL GOTO ABORT INSERT INTO ASS_VALUES ( VALUE_ID, ASSET_ID, BRANCH_ID, TRN_DT, CRDR, ASSET_AMT, [DESCRIPTION], TRN_ID, TRN_TYPE, RECORD_STATUS, AUTH_STATUS, MAKER_ID, CREATE_DT, CHECKER_ID, APPROVE_DT, AMORT_AMT ) VALUES ( @l_VALUE_ID, @l_ASSET_ID, @l_BRANCH_CREATE, CONVERT(datetime, @sToday, 103), 'C', @l_BUY_PRICE, N'XUAT SU DUNG '+@l_TYPE_ID, @USE_MULTI_ID, 'ASS_USE', '1','A',@l_MAKER_ID, CONVERT(datetime, @sToday, 103), @p_CHECKER_ID, CONVERT(datetime, @sToday, 103), @l_AMORT_AMT ) IF @@Error <> 0 GOTO ABORT 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) IF(@l_BRANCH_ID = @l_BRANCH_CREATE) SET @l_DEP_CODE =( SELECT cd.DEP_CODE FROM CM_DEPARTMENT cd WHERE cd.DEP_ID=@l_DEPT_ID) ---NEU LA TAI SAN THI GHI TANG - BUT TOAN XUAT O DUOI, CCLD THI 2 BUT TOAN GOM LAI THANH 1 IF @l_TYPE_ID = 'TSCD' BEGIN --Insert vao bang dbo.ASS_ENTRIES_POST EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ASS_USE', @USE_MULTI_ID,@l_DO_BRANCH_ID, @_BUY_TS_ACCTNO, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_CREATE, @l_BUY_PRICE,'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_USER_MASTER_ID, --N'XUAT SU DUNG 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_USER_MASTER_ID ,@l_D_BRANCH_CODE , @l_ASSET_GL, 'VND', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_USER_MASTER_ID,@l_D_BRANCH_CODE ,@_BUY_TS_ACCTNO,'VND', 'C', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE,@l_TRN_NO); END --SET @l_ENTRY_BOOKED = 'Y' END ---THIEUVQ 101018 NEU XUAT KHAC DON VI THI HACH TOAN --BEGIN --Insert vao bang dbo.ASS_ENTRIES_POST SET @l_C_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_CREATE) SET @l_D_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID) SET @l_DEP_CODE = ( SELECT cd.DEP_CODE FROM CM_DEPARTMENT cd WHERE cd.DEP_ID=@l_DEPT_ID) IF @l_BRANCH_CREATE <> @l_BRANCH_ID BEGIN SELECT @BRN_TYPE_TRN = BRANCH_TYPE,@TCCT_TRN_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_CREATE SELECT @BRN_TYPE_REC = BRANCH_TYPE, @TCCT_REC_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_ID IF @l_TYPE_ID = 'TSCD' BEGIN /*****THIEUVQ 211118 - CHAU XAC NHAN KHONG HACH TOAN QUA TK TRUNG GIAN NUA*******/ ----NEU CN XUAT CHO PGD THI KHONG HACH TOAN THONG QUA TK TRUNG GIAN TCCT --IF @BRN_TYPE_TRN = 'CN' AND @BRN_TYPE_REC = 'PGD' --BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ASS_USE', @p_USER_MASTER_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_TRANFER_ACCTNO, @l_BRANCH_CREATE, @l_BUY_PRICE, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_USER_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_USER_MASTER_ID,@l_C_BRANCH_CODE ,@l_TRANFER_ACCTNO,'VND', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_USER_MASTER_ID ,@l_C_BRANCH_CODE , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE,@l_TRN_NO); -------------------------------- EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ASS_USE', @p_USER_MASTER_ID, @l_DO_BRANCH_ID, @l_TRANFER_ACCTNO, @l_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_USER_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_USER_MASTER_ID,@l_D_BRANCH_CODE ,@l_ASSET_GL,'VND', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_USER_MASTER_ID ,@l_D_BRANCH_CODE , @l_TRANFER_ACCTNO, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); END IF @l_TYPE_ID = 'CCLD' BEGIN --CCLD EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ASS_USE', @p_USER_MASTER_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_TRANFER_ACCTNO, @l_BRANCH_CREATE, @l_BUY_PRICE, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_USER_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_USER_MASTER_ID,@l_C_BRANCH_CODE ,@l_WAIT_AMORT_NEW,'VND', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_USER_MASTER_ID ,@l_C_BRANCH_CODE , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE,@l_TRN_NO); --------------------------- EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ASS_USE', @p_USER_MASTER_ID, @l_DO_BRANCH_ID, @l_TRANFER_ACCTNO, @l_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_USER_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_USER_MASTER_ID,@l_D_BRANCH_CODE ,@l_ASSET_GL,'VND', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_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_USER_MASTER_ID ,@l_D_BRANCH_CODE , @l_WAIT_AMORT_NEW, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE,@l_TRN_NO); -------------------------------------- EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ASS_USE', @p_USER_MASTER_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_WAIT_AMORT, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_USER_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT --Đồng thời kết chuyển tài khoản CCLĐ đang dùng sang tài khoản chờ phân bổ: EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO,TRN_IS_SUM) VALUES (@l_ETP_ID, @l_ET_ID,@p_USER_MASTER_ID ,@l_D_BRANCH_CODE , @l_WAIT_AMORT, 'VND', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO,0); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO,TRN_IS_SUM) VALUES (@l_ETP_ID, @l_ET_ID,@p_USER_MASTER_ID ,@l_D_BRANCH_CODE , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO,1); END END ELSE IF @l_TYPE_ID = 'CCLD' BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ASS_USE', @p_USER_MASTER_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_WAIT_AMORT, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_USER_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT --Đồng thời kết chuyển tài khoản CCLĐ đang dùng sang tài khoản chờ phân bổ: EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO,TRN_IS_SUM) VALUES (@l_ETP_ID, @l_ET_ID,@p_USER_MASTER_ID ,@l_D_BRANCH_CODE , @l_WAIT_AMORT, 'VND', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO,0); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO,TRN_IS_SUM) VALUES (@l_ETP_ID, @l_ET_ID,@p_USER_MASTER_ID ,@l_D_BRANCH_CODE , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO,1); END --END --TINH TI LE KHAU HAO IF @l_AMORT_MONTH_ASS_USE IS NOT NULL AND @l_AMORT_MONTH_ASS_USE <> 0 SET @l_AMORT_RATE = ROUND((100*1.0/@l_AMORT_MONTH_ASS_USE)*12, 2) --Update tai san da xuat su dung UPDATE ASS_MASTER SET AMORT_MONTH = @l_AMORT_MONTH_ASS_USE, AMORT_START_DATE = @l_AMORT_START_DATE, AMORT_END_DATE = @l_AMORT_END_DATE, FIRST_AMORT_AMT = @l_FIRST_AMORT_AMT, MONTHLY_AMORT_AMT = @l_MONTHLY_AMT, AMORTIZED_AMT = ISNULL(AMORTIZED_AMT,0), AMORTIZED_MONTH = 0, AMORT_STATUS = @l_AMORT_STATUS,--'CKH', --Update trang thai cho khau hao ENTRY_BOOKED = 'Y', AMORT_RATE = @l_AMORT_RATE, USE_DATE_KT = convert(datetime, @sToday, 103) , BRANCH_ID = @l_BRANCH_ID, DEPT_ID = @l_DEPT_ID, EMP_ID = @l_EMP_ID, DIVISION_ID = @l_DIVISION_ID WHERE ASSET_ID = @l_ASSET_ID IF @@Error <> 0 GOTO ABORT IF @@Error <> 0 GOTO ABORT /***THIEUVQ - 6/11/2018 CAP NHAT LAI DON VI KHI XUAT SU DUNG NEU TS LA XE***/ UPDATE CAR_MASTER SET BRANCH_ID = @l_BRANCH_ID WHERE ASSET_ID = @l_ASSET_ID /***********PHAN BO HOI SO CHIU CHI PHI -- BEGIN 201218**************/ SET @l_DEP_CODE = (SELECT A.DEP_CODE FROM CM_DEPARTMENT A WHERE A.DEP_ID = @l_DEPT_ID) IF @l_DEP_CODE IS NOT NULL AND @l_DEP_CODE <> '' BEGIN IF @l_BRANCH_ID <> @l_HO_BRN_ID AND LEFT(@l_DEP_CODE,3) = '069' ------CN NHAP NHUNG HOI SO CHIU CHI PHI BEGIN --LAY PHONG BAN CUA HOI SO TUONG UNG MA PHONG BAN CN SET @l_DEPT_ID = (SELECT DEP_ID FROM CM_DEPARTMENT A WHERE A.DEP_CODE = @l_DEP_CODE AND BRANCH_ID = @l_HO_BRN_ID) IF @l_DEPT_ID IS NOT NULL AND @l_DEPT_ID <> '' BEGIN -----THEM VAO BANG ASS_COST_ALLOCATION EXEC SYS_CodeMasters_Gen 'ASS_COST_ALLOCATION', @l_COST_MASTER_ID out INSERT INTO ASS_COST_ALLOCATION (COS_ID,ASSET_ID,NOTE,TRN_DATE,[RECORD_STATUS],[AUTH_STATUS],[MAKER_ID],[CREATE_DT],EDITOR_ID, EDITOR_DT,[CHECKER_ID],[APPROVE_DT],BRANCH_CREATE,XML_TEMP,SECURE_01,SERCURE_01) VALUES(@l_COST_MASTER_ID,@l_ASSET_ID,'AUTO',@CUR_DATE,'1' ,'A',@l_MAKER_ID , @CUR_DATE ,NULL, NULL,@p_CHECKER_ID, @CUR_DATE,@l_HO_BRN_ID,NULL,NULL,NULL) -----THEM BANG CHI TIET ASS_COST_ALLOC_DT 100% SO TIEN PHAN BO THANG EXEC SYS_CodeMasters_Gen 'ASS_COST_ALLOC_DT', @l_COSTDT_ID out INSERT INTO ASS_COST_ALLOC_DT VALUES(@l_COSTDT_ID,@l_COST_MASTER_ID,@l_HO_BRN_ID,@l_DEPT_ID,@l_MONTHLY_AMT,'100',@l_AMORT_MONTH_ASS_USE,@CUR_DATE, @l_AMORT_END_DATE,0,0,@l_EXP_ACCTNO,'','1' ,'A' ,@l_MAKER_ID , @CUR_DATE ,NULL, NULL,@p_CHECKER_ID,@CUR_DATE) END END END /**************************************************** END 201218************/ DECLARE @l_AMORT_RUN_DATE DATETIME = (SELECT TOP 1 TTS.SENT_DATE FROM THREAD_TIME_SEND TTS WHERE TTS.TIME_VALUE = 'KH') DECLARE @DATE_EXEC DATETIME=CONVERT(DATETIME, @p_APPROVE_DT, 103) IF( DATEDIFF(MONTH, @l_AMORT_START_DATE, @l_AMORT_RUN_DATE)>0) BEGIN EXEC ASS_AMORT_BackDate @p_ASSET_ID = @l_ASSET_ID , @p_MAKER_ID = @l_MAKER_ID ,@p_CHECKER_ID = @p_CHECKER_ID ,@p_APPROVE_DT = @DATE_EXEC ,@p_TRN_ID = @p_USER_MASTER_ID ,@P_TRN_REF_NO = @l_TRN_NO ,@p_TRN_TYPE = 'ASS_USE' END --PHUCVH 27/02/23 UPDATE BUY_PRICE VÀ REMAIN_VALUE CỦA TÀI SẢN TẠI THỜI ĐIỂM XUẤT SELECT @l_BUY_PRICE_UPD = A.BUY_PRICE, @l_REMAIN_VALUE_UPD = ISNULL((A.AMORT_AMT - A.AMORTIZED_AMT), ISNULL(A.AMORT_AMT,0)) FROM ASS_MASTER A WHERE A.ASSET_ID = @ASSET_ID UPDATE ASS_USE_MULTI_DT SET BUY_PRICE = @l_BUY_PRICE, REMAIN_VALUE = @l_REMAIN_VALUE_UPD WHERE USE_MULTI_ID = @USE_MULTI_ID AND USER_MASTER_ID = @p_USER_MASTER_ID AND ASSET_ID = @ASSET_ID FETCH NEXT FROM XmlData INTO @USE_MULTI_ID,@ASSET_ID END CLOSE XmlData DEALLOCATE XmlData -- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_HC UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_USER_MASTER_ID AND PROCESS_ID = 'UPDATE' -- GIANT 21/09/2021 INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_USER_MASTER_ID, -- REQ_ID - varchar(15) 'APPROVE', -- PROCESS_ID - varchar(10) @p_CHECKER_ID, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime N'Kiểm soát viên phê duyệt ' , N'Kiểm soát viên phê duyệt hoàn tất' -- PROCESS_DESC - nvarchar(1000) ) --PHUCVH 14/11/22 UPDATE TÀI SẢN ĐÃ XONG GIAO DỊCH UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL WHERE ASSET_ID IN (SELECT B.ASSET_ID FROM ASS_USE_MULTI_DT B WHERE B.USER_MASTER_ID = @p_USER_MASTER_ID) COMMIT TRANSACTION SELECT '0' as Result, '' ErrorDesc RETURN '0' END TRY BEGIN CATCH ROLLBACK TRANSACTION CLOSE XmlData DEALLOCATE XmlData SELECT '-1' as Result, (convert(varchar(100),ERROR_NUMBER()) + ' - ' + ERROR_MESSAGE()) ErrorDesc RETURN '-1' END CATCH ABORT: BEGIN ROLLBACK TRANSACTION CLOSE XmlData DEALLOCATE XmlData SELECT '-1' as Result, (convert(varchar(100),ERROR_NUMBER()) + ' - ' + ERROR_MESSAGE() +' - '+ @ERROR) ErrorDesc RETURN '-1' End ABORT2: BEGIN ROLLBACK TRANSACTION CLOSE MYCURSOR DEALLOCATE MYCURSOR 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_PRIVATE_TRANSFER_MULTI_MASTER_BBBG]' GO ALTER PROC [dbo].[ASS_PRIVATE_TRANSFER_MULTI_MASTER_BBBG] @TRANS_MULTI_MASTER_ID varchar(15) = null AS BEGIN DECLARE @EMP_RECEIVER VARCHAR(1) = NULL DECLARE @EMP_HANDOVER VARCHAR(1) = NULL --Table 0 Nội dung && BRANCH SELECT TOP 1 B.BRANCH_NAME + ISNULL(' - ' + C.DEP_NAME,'') BRANCH_NAME, (N'Hôm nay, ngày ' + CONVERT(VARCHAR(5),DAY(GETDATE())) + N' tháng ' + CONVERT(VARCHAR(5),MONTH(GETDATE())) + N' năm ' + CONVERT(VARCHAR(5),YEAR(GETDATE())) + N' tại ') AS DD_MM_YY FROM ASS_PRIVATE_TRANSFER_DT A LEFT JOIN CM_BRANCH B ON A.BRANCH_ID_OLD = B.BRANCH_ID LEFT JOIN CM_DEPARTMENT C ON A.DEPT_ID = C.DEP_ID WHERE A.TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID --Table 1 Bên giao SELECT TOP 1 D.EMP_NAME TLFullName, B.ADDRESS, B.PHONE, C.POS_NAME, ISNULL(E.BRANCH_NAME,'') + ISNULL(' - ' + F.DEP_NAME,'') AS BRANCH_NAME FROM ASS_PRIVATE_TRANSFER_DT A LEFT JOIN CM_EMPLOYEE D ON A.EMP_ID_OLD = D.EMP_ID LEFT JOIN CM_EMPLOYEE_LOG C ON D.EMP_CODE = C.EMP_CODE LEFT JOIN TL_USER B ON C.USER_DOMAIN = B.TLNANME LEFT JOIN CM_BRANCH E ON B.TLSUBBRID = E.BRANCH_ID LEFT JOIN CM_DEPARTMENT F ON B.DEP_ID = F.DEP_ID WHERE A.TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID ORDER BY A.EMP_ID_OLD DESC --Table 2 Bên nhận SELECT TOP 1 D.EMP_NAME TLFullName, B.ADDRESS, B.PHONE, C.POS_NAME, ISNULL(E.BRANCH_NAME,'') + ISNULL(' - ' + F.DEP_NAME,'') AS BRANCH_NAME FROM ASS_PRIVATE_TRANSFER_DT A LEFT JOIN CM_EMPLOYEE D ON A.EMP_ID = D.EMP_ID LEFT JOIN CM_EMPLOYEE_LOG C ON D.EMP_CODE = C.EMP_CODE LEFT JOIN TL_USER B ON C.USER_DOMAIN = B.TLNANME LEFT JOIN CM_BRANCH E ON B.TLSUBBRID = E.BRANCH_ID LEFT JOIN CM_DEPARTMENT F ON B.DEP_ID = F.DEP_ID WHERE A.TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID ORDER BY A.EMP_ID DESC --TABLE 3 DANH SÁCH TÀI SẢN SELECT CASE WHEN B.ASSET_CODE IS NOT NULL AND B.ASSET_CODE <> '' THEN B.ASSET_CODE ELSE B.ASS_CODE_TMP END AS ASSET_CODE, B.ASSET_NAME, D.UNIT_NAME, 1 AS QUANTITY, A.DESCRIPTION AS NOTES, E.STATUS_NAME, B.ASSET_SERIAL_NO AS SERIAL, ISNULL(B.PL,'') REQ_CODE, B.NOTES AS QUY_CACH, ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS STT FROM ASS_PRIVATE_TRANSFER_DT A LEFT JOIN ASS_MASTER B ON A.ASSET_ID = B.ASSET_ID LEFT JOIN ASS_GROUP C ON B.GROUP_ID = C.GROUP_ID LEFT JOIN CM_UNIT D ON C.UNIT = D.UNIT_ID LEFT JOIN ASS_STATUS E ON B.ASS_STATUS = E.STATUS_ID WHERE A.TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID --TABLE 4 CHỮ KÝ SELECT TOP 1 B.EMP_NAME AS MAKER_NAME, --BÊN GIAO ISNULL(B.POS_NAME + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = D.TRANS_MULTI_MASTER_ID AND PP.PROCESS_ID = 'SEND' ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss'),'') AS POS_NAME,--BÊN GIAO C.EMP_NAME AS CHECKER_NAME, --BÊN NHẬN ISNULL(C.POS_NAME + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = D.TRANS_MULTI_MASTER_ID AND PP.PROCESS_ID = 'APPROVE' ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss'),'') AS POS_NAME_2 --BÊN NHẬN FROM ASS_PRIVATE_TRANSFER_DT A LEFT JOIN ASS_PRIVATE_TRANSFER_MASTER D ON A.TRANS_MULTI_MASTER_ID = D.TRANS_MULTI_MASTER_ID LEFT JOIN CM_EMPLOYEE B ON A.EMP_ID_OLD = B.EMP_ID --BÊN GIAO LEFT JOIN CM_EMPLOYEE C ON A.EMP_ID = C.EMP_ID -- BÊN NHẬN WHERE A.TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID --TABLE 5 SỐ SELECT @TRANS_MULTI_MASTER_ID AS NO --TABLE 6 ĐƠN VỊ TRUNG GIAN SELECT '' TLFullName, '' ADDRESS, '' PHONE, '' POS_NAME --SELECT TOP 1 B.TLFullName, B.ADDRESS, B.PHONE, C.POS_NAME --FROM ASS_PRIVATE_TRANSFER_MASTER A --LEFT JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME --LEFT JOIN CM_EMPLOYEE_LOG C ON B.TLNANME = C.USER_DOMAIN --WHERE A.TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID AND A.DEPT_CREATE = 'DEP000000000048' END GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_USE_MULTI_BVB_MASTER_Search]' GO ALTER PROCEDURE [dbo].[ASS_USE_MULTI_BVB_MASTER_Search] @p_USER_MASTER_ID varchar(15) = NULL, @p_BRANCH_ID varchar(15) = NULL, @p_USE_EXPORT_DT VARCHAR(20) = NULL, @p_USER_EXPORT nvarchar(200) = NULL, @p_USER_EXPORT_NAME Nvarchar(200) = NULL, @p_NOTES nvarchar(1000) = NULL, @p_RECORD_STATUS varchar(1) = NULL, @p_AUTH_STATUS varchar(1) = NULL, @p_MAKER_ID varchar(100) = NULL, @p_CREATE_DT VARCHAR(20) = NULL, @p_CHECKER_ID varchar(100) = NULL, @p_APPROVE_DT VARCHAR(20) = NULL, @p_AUTH_STATUS_KT varchar(15) = NULL, @p_CREATE_DT_KT varchar(100) = NULL, @p_APPROVE_DT_KT VARCHAR(20) = NULL, @p_MAKER_ID_KT varchar(100) = NULL, @p_CHECKER_ID_KT varchar(100) = NULL, @p_REPORT_STATUS varchar(15) = NULL, @p_KT_IS_DO VARCHAR(1) = NULL, @p_LEVEL VARCHAR(50) = 'UNIT', @p_TOP INT = 10, @p_FromDate VARCHAR(20) = NULL, @p_TODATE VARCHAR(20) = NULL, @p_USER_LOGIN VARCHAR(15),-- 26022020 LUCTV TRUYEN XUONG USER LOGIN DE DO TIM MA PHONG BAN @p_TYPE_SEARCH VARCHAR(10)= NULL, -- 26022020 LUCTV TRUYEN XUONG DAU HIEU DE PHAN BIET TIM KIEM O MAN HINH KE TOAN HAY MAN HINH HCQT @p_REQ_CODE VARCHAR(100) = NULL --Thêm trường tìm kiếm số PYC AS BEGIN -- PAGING SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ------ SET @p_RECORD_STATUS = '1' ------- declare @tmp table(BRANCH_ID varchar(15)) insert into @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID) IF(@p_TOP = NULL OR @p_TOP = '' OR @p_TOP = 0) -- PAGING BEGIN SELECT A.*,C.BRANCH_CODE, (CASE WHEN A.DEP_ID IS NOT NULL AND A.DEP_ID <> '' THEN DEP.DEP_NAME + ' - ' + C.BRANCH_NAME ELSE C.BRANCH_NAME END) AS BRANCH_NAME, CASE WHEN @p_TYPE_SEARCH = 'KT' THEN ATKT.CONTENT WHEN @p_TYPE_SEARCH = 'HC' THEN F.CONTENT -- ELSE END AS AUTH_STATUS_NAME,C.BRANCH_CODE+' - '+ C.BRANCH_NAME AS FULL_BRANCH_NAME, ATKT.CONTENT AS AUTH_STATUS_NAME_KT, @p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH, --- TRA VE THAM SO GAN VO CURRENT SEARCH TRANH GAY LOI O CAC MAN HINH B.CONFIRM_DT,B.MAKER_ID CONFIRM_USER,D.TLFullName CONFIRM_USER_NAME, --PHUCVH 9/1/22 SELECT TÊN NGƯỜI TẠO QLTS, NGƯỜI DUYỆT QLTS, TẠO KT, DUYỆT KT TU.TLFullName AS MAKER_USER_NAME, E.TLFullName AS CHECKER_USER_NAME, G.TLFullName AS MAKER_USER_NAME_KT, H.TLFullName AS CHECKER_USER_NAME_KT -- SELECT END FROM ASS_USE_MULTI_MASTER A LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID LEFT JOIN CM_DEPARTMENT DEP ON A.DEP_ID = DEP.DEP_ID LEFT JOIN dbo.CM_ALLCODE F ON F.CDVAL = A.AUTH_STATUS AND F.CDNAME = 'ASS_ADD_AUTH' AND F.CDTYPE = 'ASS_ADDNEW' LEFT JOIN dbo.CM_ALLCODE ATKT ON ATKT.CDVAL = A.AUTH_STATUS_KT AND ATKT.CDNAME = 'ASS_ADD_AUTH' AND ATKT.CDTYPE = 'ASS_ADDNEW' LEFT JOIN ASS_USE_CONFIRM_MASTER B ON A.USER_MASTER_ID = B.USER_MASTER_ID LEFT JOIN TL_USER D ON B.MAKER_ID = D.TLNANME LEFT JOIN TL_USER TU ON A.MAKER_ID = TU.TLNANME --NGƯỜI TẠO QLTS LEFT JOIN TL_USER E ON A.CHECKER_ID = E.TLNANME --NGƯỜI DUYỆT QLTS LEFT JOIN TL_USER G ON A.MAKER_ID_KT = G.TLNANME --NGƯỜI TẠO KT LEFT JOIN TL_USER H ON A.CHECKER_ID_KT = H.TLNANME -- NGƯỜI DUYỆT KT WHERE 1 = 1 AND (A.USER_MASTER_ID LIKE '%' + @p_USER_MASTER_ID + '%' OR @p_USER_MASTER_ID IS NULL OR @p_USER_MASTER_ID = '') --AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM @tmp) OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '') --AND (A.USE_EXPORT_DT =CONVERT(DATETIME, @p_USE_EXPORT_DT, 103) OR @p_USE_EXPORT_DT IS NULL OR @p_USE_EXPORT_DT = '') -- TIM KIEM TU NGAY DEN NGAY O HC AND ((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.USE_EXPORT_DT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')) OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') AND ((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.USE_EXPORT_DT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = '')) OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') -- TIM KIEM TU NGAY DEN NGAY O KT AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '') AND (CONVERT(DATE,A.APPROVE_DT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')) OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '') AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')) OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')) OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')) OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')) OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))) AND B.CONFIRM_STATUS = 'Y'))) OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '') AND (CONVERT(DATE,A.APPROVE_DT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = '')) OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '') AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = '')) OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = '')) OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')) OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = '')) OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))) AND B.CONFIRM_STATUS = 'Y'))) OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') AND (A.USER_EXPORT LIKE '%' + @p_USER_EXPORT + '%' OR @p_USER_EXPORT IS NULL OR @p_USER_EXPORT = '') AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '') AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '') AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '') AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '') AND (A.CREATE_DT =CONVERT(DATETIME, @p_CREATE_DT, 103) OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '') AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '') AND (A.APPROVE_DT =CONVERT(DATETIME, @p_APPROVE_DT, 103) OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '') AND (A.AUTH_STATUS_KT LIKE '%' + @p_AUTH_STATUS_KT + '%' OR @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '') AND (A.CREATE_DT_KT =CONVERT(DATETIME, @p_CREATE_DT_KT, 103) OR @p_CREATE_DT_KT IS NULL OR @p_CREATE_DT_KT = '') AND (A.APPROVE_DT_KT =CONVERT(DATETIME, @p_APPROVE_DT_KT, 103) OR @p_APPROVE_DT_KT IS NULL OR @p_APPROVE_DT_KT = '') AND (A.MAKER_ID_KT LIKE '%' + @p_MAKER_ID_KT + '%' OR @p_MAKER_ID_KT IS NULL OR @p_MAKER_ID_KT = '') AND (A.CHECKER_ID_KT LIKE '%' + @p_CHECKER_ID_KT + '%' OR @p_CHECKER_ID_KT IS NULL OR @p_CHECKER_ID_KT = '') AND (A.REPORT_STATUS LIKE '%' + @p_REPORT_STATUS + '%' OR @p_REPORT_STATUS IS NULL OR @p_REPORT_STATUS = '') --AND ((@p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)) -- OR ((@p_LEVEL = 'UNIT' AND ((A.BRANCH_ID = @p_BRANCH_ID) -- OR (A.BRANCH_ID IN (SELECT BRANCH_ID FROM @ASSIGNED_BRANCH))))) -- OR (@p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL)) AND (A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '') AND ((A.MAKER_ID_KT IS NOT NULL AND @p_KT_IS_DO = 'Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat OR ((A.MAKER_ID_KT IS NULL AND @p_KT_IS_DO = 'N')) OR @p_KT_IS_DO IS NULL OR @p_KT_IS_DO = '') -- NEW TRANG THAI PHIEU XUAT LA LUU NHAP HOAC TU CHOI THI CHI NGUOI TAO CO THE TIM THAY AND ((A.AUTH_STATUS IN ('E','R') AND A.MAKER_ID = @p_USER_LOGIN) OR A.AUTH_STATUS NOT IN ('E','R') OR (EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('GDDV,GDDV_QLTS,TBP_QLTS,KSV_QLTS',A.BRANCH_CREATE,A.DEPT_CREATE) US WHERE US.TLNANME = @p_USER_LOGIN)) OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = '') -- 11-03-2022 HUYHT BO SUNG DIEU KIEN TIM KIEM PHIEU XUAT THEO QUYEN KIEM NHIEM AND ((@p_TYPE_SEARCH='HC' AND (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE_VB('GDDV,GDDV_QLTS,TBP_QLTS,KSV_QLTS',A.BRANCH_CREATE,A.DEPT_CREATE) US WHERE US.TLNANME = @p_USER_LOGIN)) OR A.MAKER_ID = @p_USER_LOGIN) OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp) AND B.CONFIRM_STATUS = 'Y' AND NOT EXISTS(SELECT AM.ASSET_ID FROM ASS_USE_MULTI_DT AUMD LEFT JOIN ASS_MASTER AM ON AUMD.ASSET_ID = AM.ASSET_ID WHERE AUMD.USER_MASTER_ID = A.USER_MASTER_ID AND AM.AUTH_STATUS <> 'A')) OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID AND B.CONFIRM_STATUS = 'Y' AND NOT EXISTS(SELECT AM.ASSET_ID FROM ASS_USE_MULTI_DT AUMD LEFT JOIN ASS_MASTER AM ON AUMD.ASSET_ID = AM.ASSET_ID WHERE AUMD.USER_MASTER_ID = A.USER_MASTER_ID AND AM.AUTH_STATUS <> 'A')) OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH ='') AND (@p_REQ_CODE IS NULL OR @p_REQ_CODE = '' OR EXISTS(SELECT 1 FROM ASS_USE_MULTI_DT DT LEFT JOIN TR_REQUEST_SHOP_DOC B ON DT.REQ_ID = B.REQ_ID WHERE DT.USE_MULTI_ID = A.USER_MASTER_ID AND B.REQ_CODE LIKE '%' + @p_REQ_CODE + '%')) ORDER BY A.CREATE_DT DESC -- PAGING END ELSE -- PAGING BEGIN SELECT TOP(CONVERT(INT,@p_TOP))A.*,C.BRANCH_CODE, (CASE WHEN A.DEP_ID IS NOT NULL AND A.DEP_ID <> '' THEN DEP.DEP_NAME + ' - ' + C.BRANCH_NAME ELSE C.BRANCH_NAME END) AS BRANCH_NAME, CASE WHEN @p_TYPE_SEARCH = 'KT' THEN ATKT.CONTENT WHEN @p_TYPE_SEARCH = 'HC' THEN F.CONTENT -- ELSE END AS AUTH_STATUS_NAME , C.BRANCH_CODE+' - '+ C.BRANCH_NAME AS FULL_BRANCH_NAME, ATKT.CONTENT AS AUTH_STATUS_NAME_KT, @p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH, --- TRA VE THAM SO GAN VO CURRENT SEARCH TRANH GAY LOI O CAC MAN HINH B.CONFIRM_DT,B.MAKER_ID CONFIRM_USER,D.TLFullName CONFIRM_USER_NAME, --PHUCVH 9/1/22 SELECT TÊN NGƯỜI TẠO QLTS, NGƯỜI DUYỆT QLTS, TẠO KT, DUYỆT KT TU.TLFullName AS MAKER_USER_NAME, E.TLFullName AS CHECKER_USER_NAME, G.TLFullName AS MAKER_USER_NAME_KT, H.TLFullName AS CHECKER_USER_NAME_KT -- SELECT END FROM ASS_USE_MULTI_MASTER A LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID LEFT JOIN CM_DEPARTMENT DEP ON A.DEP_ID = DEP.DEP_ID LEFT JOIN dbo.CM_ALLCODE F ON F.CDVAL = A.AUTH_STATUS AND F.CDNAME = 'ASS_ADD_AUTH' AND F.CDTYPE = 'ASS_ADDNEW' LEFT JOIN dbo.CM_ALLCODE ATKT ON ATKT.CDVAL = A.AUTH_STATUS_KT AND ATKT.CDNAME = 'ASS_ADD_AUTH' AND ATKT.CDTYPE = 'ASS_ADDNEW' --LEFT JOIN ( SELECT TOP 1 B.USER_MASTER_ID FROM ASS_CONFIRM_USE_MASTER B WHERE B.USER_MASTER_ID = A.USER_MASTER_ID) CF ON A.USER_MASTER_ID = CF.USER_MASTER_ID LEFT JOIN ASS_USE_CONFIRM_MASTER B ON A.USER_MASTER_ID = B.USER_MASTER_ID LEFT JOIN TL_USER D ON B.MAKER_ID = D.TLNANME LEFT JOIN TL_USER TU ON A.MAKER_ID = TU.TLNANME --NGƯỜI TẠO QLTS LEFT JOIN TL_USER E ON A.CHECKER_ID = E.TLNANME --NGƯỜI DUYỆT QLTS LEFT JOIN TL_USER G ON A.MAKER_ID_KT = G.TLNANME --NGƯỜI TẠO KT LEFT JOIN TL_USER H ON A.CHECKER_ID_KT = H.TLNANME -- NGƯỜI DUYỆT KT WHERE 1 = 1 AND (A.USER_MASTER_ID LIKE '%' + @p_USER_MASTER_ID + '%' OR @p_USER_MASTER_ID IS NULL OR @p_USER_MASTER_ID = '') --AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM @tmp) OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '') -- AND (A.USE_EXPORT_DT =CONVERT(DATETIME, @p_USE_EXPORT_DT, 103) OR @p_USE_EXPORT_DT IS NULL OR @p_USE_EXPORT_DT = '') -- TIM KIEM TU NGAY DEN NGAY O HC AND ((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.USE_EXPORT_DT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')) OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') AND ((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.USE_EXPORT_DT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = '')) OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') -- TIM KIEM TU NGAY DEN NGAY O KT AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '') AND (CONVERT(DATE,A.APPROVE_DT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')) OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '') AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')) OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')) OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')) OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')) OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = ''))) AND B.CONFIRM_STATUS = 'Y'))) OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '') AND (CONVERT(DATE,A.APPROVE_DT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = '')) OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '') AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = '')) OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = '')) OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FromDate, 103) OR @p_FromDate is NULL OR @p_FromDate = '')) OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = '')) OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))) AND B.CONFIRM_STATUS = 'Y'))) OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') AND (A.USER_EXPORT LIKE '%' + @p_USER_EXPORT + '%' OR @p_USER_EXPORT IS NULL OR @p_USER_EXPORT = '') AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '') AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '') AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '') AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '') AND (A.CREATE_DT =CONVERT(DATETIME, @p_CREATE_DT, 103) OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '') AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '') AND (A.APPROVE_DT =CONVERT(DATETIME, @p_APPROVE_DT, 103) OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '') AND (A.AUTH_STATUS_KT LIKE '%' + @p_AUTH_STATUS_KT + '%' OR @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '') AND (A.CREATE_DT_KT =CONVERT(DATETIME, @p_CREATE_DT_KT, 103) OR @p_CREATE_DT_KT IS NULL OR @p_CREATE_DT_KT = '') AND (A.APPROVE_DT_KT =CONVERT(DATETIME, @p_APPROVE_DT_KT, 103) OR @p_APPROVE_DT_KT IS NULL OR @p_APPROVE_DT_KT = '') AND (A.MAKER_ID_KT LIKE '%' + @p_MAKER_ID_KT + '%' OR @p_MAKER_ID_KT IS NULL OR @p_MAKER_ID_KT = '') AND (A.CHECKER_ID_KT LIKE '%' + @p_CHECKER_ID_KT + '%' OR @p_CHECKER_ID_KT IS NULL OR @p_CHECKER_ID_KT = '') AND (A.REPORT_STATUS LIKE '%' + @p_REPORT_STATUS + '%' OR @p_REPORT_STATUS IS NULL OR @p_REPORT_STATUS = '') AND (A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '') AND ((A.MAKER_ID_KT IS NOT NULL AND @p_KT_IS_DO = 'Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat OR ((A.MAKER_ID_KT IS NULL AND @p_KT_IS_DO = 'N')) OR @p_KT_IS_DO IS NULL OR @p_KT_IS_DO = '') -- NEW TRANG THAI PHIEU XUAT LA LUU NHAP HOAC TU CHOI THI CHI NGUOI TAO CO THE TIM THAY AND ((A.AUTH_STATUS IN ('E','R') AND A.MAKER_ID = @p_USER_LOGIN) OR A.AUTH_STATUS NOT IN ('E','R') OR (EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('GDDV,GDDV_QLTS,TBP_QLTS,KSV_QLTS',A.BRANCH_CREATE,A.DEPT_CREATE) US WHERE US.TLNANME = @p_USER_LOGIN)) OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = '') -- 11-03-2022 HUYHT BO SUNG DIEU KIEN TIM KIEM PHIEU XUAT THEO QUYEN KIEM NHIEM AND ((@p_TYPE_SEARCH='HC' AND (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE_VB('GDDV,GDDV_QLTS,TBP_QLTS,KSV_QLTS',A.BRANCH_CREATE,A.DEPT_CREATE) US WHERE US.TLNANME = @p_USER_LOGIN)) OR A.MAKER_ID = @p_USER_LOGIN) OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp) AND B.CONFIRM_STATUS = 'Y' AND NOT EXISTS(SELECT AM.ASSET_ID FROM ASS_USE_MULTI_DT AUMD LEFT JOIN ASS_MASTER AM ON AUMD.ASSET_ID = AM.ASSET_ID WHERE AUMD.USER_MASTER_ID = A.USER_MASTER_ID AND AM.AUTH_STATUS <> 'A')) OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID AND B.CONFIRM_STATUS = 'Y' AND NOT EXISTS(SELECT AM.ASSET_ID FROM ASS_USE_MULTI_DT AUMD LEFT JOIN ASS_MASTER AM ON AUMD.ASSET_ID = AM.ASSET_ID WHERE AUMD.USER_MASTER_ID = A.USER_MASTER_ID AND AM.AUTH_STATUS <> 'A')) OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH ='') AND (@p_REQ_CODE IS NULL OR @p_REQ_CODE = '' OR EXISTS(SELECT 1 FROM ASS_USE_MULTI_DT DT LEFT JOIN TR_REQUEST_SHOP_DOC B ON DT.REQ_ID = B.REQ_ID WHERE DT.USE_MULTI_ID = A.USER_MASTER_ID AND B.REQ_CODE LIKE '%' + @p_REQ_CODE + '%')) ORDER BY A.CREATE_DT DESC -- PAGING END END -- PAGING GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_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 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US WHERE US.TLNANME = @p_USER_LOGIN) OR 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 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 A.AUTH_STATUS = 'A' THEN N'Mới tạo' WHEN A.IS_REJECTED = 0 THEN (SELECT CRP.DESCRIBE FROM CM_REQUEST_PROCESS CRP WHERE CRP.REQ_ID = A.LIQ_REQ_ID AND CRP.DONE = 0) 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 A.AUTH_STATUS = 'L' 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 A.AUTH_STATUS = 'A' THEN N'Mới tạo' WHEN A.IS_REJECTED = 0 THEN (SELECT CRP.DESCRIBE FROM CM_REQUEST_PROCESS CRP WHERE CRP.REQ_ID = A.LIQ_REQ_ID AND CRP.DONE = 0) 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 A.AUTH_STATUS = 'L' 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_EMPLOYEE_Search]' GO /* [CM_EMPLOYEE_Search] '','','Nguyễn Minh Tuân','DV0002','','','','','','','','','','100', 'ALL' */ ALTER PROCEDURE [dbo].[CM_EMPLOYEE_Search] @p_EMP_ID varchar(15) = null , @p_EMP_CODE varchar(15) = NULL , @p_EMP_NAME nvarchar(50) = NULL , @p_BRANCH_ID varchar(15) = NULL , @p_BRANCH_CODE varchar(15) = NULL , @p_BRANCH_NAME NVARCHAR(50) = null, @p_DEP_ID varchar(15) = NULL , @p_NOTES nvarchar(1000) = NULL , @p_RECORD_STATUS varchar(1) = NULL , @p_AUTH_STATUS varchar(1) = NULL , @p_MAKER_ID varchar(100) = NULL , @p_CREATE_DT VARCHAR(20) = NULL, @p_CHECKER_ID varchar(100) = NULL , @p_APPROVE_DT VARCHAR(20) = NULL, @p_TOP INT = NULL, @p_LEVEL varchar(10) = NULL AS BEGIN -- PAGING DECLARE @l_HS_ID VARCHAR(15) = (SELECT TOP 1 A.BRANCH_ID FROM CM_BRANCH A WHERE A.BRANCH_TYPE = 'HS') declare @tmp table(BRANCH_ID varchar(15)) insert into @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID) IF (@p_LEVEL = 'ALL' AND @p_BRANCH_ID <> @l_HS_ID) INSERT INTO @tmp SELECT @l_HS_ID IF(@p_TOP IS NULL OR @p_TOP = '' OR @p_TOP = 0) -- PAGING BEGIN SELECT A.*,C.AUTH_STATUS_NAME,B.BRANCH_CODE,B.BRANCH_NAME, --dbo.FN_GET_CHINHANH(B.BRANCH_ID,'KV') KHU_VUC, dbo.FN_GET_CHINHANH(B.BRANCH_ID,'CN') CHI_NHANH, --B.BRANCH_NAME PGD, D.DEP_NAME PGD, CR.REGION_NAME AS KHUVUC, D.DEP_NAME, E.CONTENT AS RECORD_STATUS_NAME --, U.PhoneNumber AS PHONE_NUMBER,L.USER_DOMAIN -- SELECT END FROM CM_EMPLOYEE A LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS=C.AUTH_STATUS LEFT JOIN CM_DEPARTMENT D ON A.DEP_ID=D.DEP_ID LEFT JOIN CM_ALLCODE E ON E.CDNAME = 'RECORD_STATUS' AND E.CDVAL = A.RECORD_STATUS --LEFT JOIN CM_EMPLOYEE_LOG L ON L.EMP_CODE = A.EMP_CODE --LEFT JOIN TL_USER U ON U.TLNANME = L.USER_DOMAIN LEFT JOIN CM_REGIONS CR ON CR.REGION_ID = B.REGION_ID WHERE 1 = 1 AND (A.EMP_ID LIKE '%' + @p_EMP_ID + '%' OR @p_EMP_ID IS NULL OR @p_EMP_ID = '') AND (A.EMP_CODE LIKE '%' + @p_EMP_CODE + '%' OR @p_EMP_CODE IS NULL OR @p_EMP_CODE = '') AND (A.EMP_NAME COLLATE Latin1_general_CI_AI LIKE N'%' + @p_EMP_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_EMP_NAME IS NULL OR @p_EMP_NAME = '') --AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '') AND (B.BRANCH_CODE LIKE '%' + @p_BRANCH_CODE + '%' OR @p_BRANCH_CODE IS NULL OR @p_BRANCH_CODE = '') AND (A.DEP_ID LIKE '%' + @p_DEP_ID + '%' OR @p_DEP_ID IS NULL OR @p_DEP_ID = '') AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '') AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '') AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '') AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '') AND (DATEDIFF(DAY,A.CREATE_DT ,CONVERT(DATETIME, @p_CREATE_DT, 103)) =0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '') AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '') AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '') AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM CM_BRANCH_GETCHILDID(@p_BRANCH_ID))) AND A.RECORD_STATUS = '1' AND ((@p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp) OR (@p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID)) OR @p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL ) -- PAGING END ELSE -- PAGING BEGIN SELECT TOP(CONVERT(INT,@p_TOP))A.*,C.AUTH_STATUS_NAME,B.BRANCH_CODE,B.BRANCH_NAME, --dbo.FN_GET_CHINHANH(B.BRANCH_ID,'KV') KHU_VUC, dbo.FN_GET_CHINHANH(B.BRANCH_ID,'CN') CHI_NHANH, --B.BRANCH_NAME PGD, D.DEP_NAME PGD, CR.REGION_NAME AS KHUVUC, D.DEP_NAME, E.CONTENT AS RECORD_STATUS_NAME --, U.PhoneNumber AS PHONE_NUMBER,L.USER_DOMAIN -- SELECT END FROM CM_EMPLOYEE A LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS=C.AUTH_STATUS LEFT JOIN CM_DEPARTMENT D ON A.DEP_ID=D.DEP_ID LEFT JOIN CM_ALLCODE E ON E.CDNAME = 'RECORD_STATUS' AND E.CDVAL = A.RECORD_STATUS --LEFT JOIN CM_EMPLOYEE_LOG L ON L.EMP_CODE = A.EMP_CODE --LEFT JOIN TL_USER U ON U.TLNANME = L.USER_DOMAIN LEFT JOIN CM_REGIONS CR ON CR.REGION_ID = B.REGION_ID WHERE 1 = 1 AND (A.EMP_ID LIKE '%' + @p_EMP_ID + '%' OR @p_EMP_ID IS NULL OR @p_EMP_ID = '') AND (A.EMP_CODE LIKE '%' + @p_EMP_CODE + '%' OR @p_EMP_CODE IS NULL OR @p_EMP_CODE = '') AND (A.EMP_NAME COLLATE Latin1_general_CI_AI LIKE N'%' + @p_EMP_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_EMP_NAME IS NULL OR @p_EMP_NAME = '') --AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '') AND (B.BRANCH_CODE LIKE '%' + @p_BRANCH_CODE + '%' OR @p_BRANCH_CODE IS NULL OR @p_BRANCH_CODE = '') AND (A.DEP_ID LIKE '%' + @p_DEP_ID + '%' OR @p_DEP_ID IS NULL OR @p_DEP_ID = '') AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '') AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '') AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '') AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '') AND (DATEDIFF(DAY,A.CREATE_DT ,CONVERT(DATETIME, @p_CREATE_DT, 103)) =0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '') AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '') AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '') --AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM CM_BRANCH_GETCHILDID(@p_BRANCH_ID))) AND A.RECORD_STATUS = '1' AND ((@p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp) OR (@p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID)) OR @p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL ) -- PAGING END END -- PAGING GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_USE_MULTI_BVB_MASTER_App]' GO ALTER PROCEDURE [dbo].[ASS_USE_MULTI_BVB_MASTER_App] --@p_USE_ID varchar(15) = NULL, @p_USER_MASTER_ID varchar(15) = NULL, @p_AUTH_STATUS varchar(1) = NULL, @p_CHECKER_ID varchar(100) = NULL, @p_APPROVE_DT VARCHAR(20) = NULL AS BEGIN TRY --DECLARE @l_BRANCH_ID VARCHAR(15) -- DECLARE @l_DEPT_ID VARCHAR(15) -- DECLARE @l_EMP_ID VARCHAR(15) -- DECLARE @l_DIVISION_ID VARCHAR(15) -- DECLARE @l_VALUE_ID VARCHAR(15) -- -- --DECLARE @l_LOCATION nvarchar(500) -- DECLARE @l_LOCHIST_ID VARCHAR(15) -- -- DECLARE @l_ASSET_ID VARCHAR(15) -- DECLARE @l_WAHDT_ID VARCHAR(15) -- DECLARE @l_WAH_ID VARCHAR(15) -- DECLARE @l_MAKER_ID varchar(15) -- -- DECLARE @l_AMORT_MONTH decimal(18,2) -- DECLARE @l_AMORT_START_DATE datetime, @l_AMORT_END_DATE datetime -- DECLARE @l_FIRST_AMORT_AMT numeric(18,0) -- DECLARE @l_MONTHLY_AMT numeric(18,0) -- DECLARE @l_ASS_AMORT_AMT numeric(18,0) -- DECLARE @sToday varchar(10) = convert(varchar(10), getdate(), 103) -- DECLARE @l_ENTRY_BOOKED varchar(1) -- DECLARE @l_HO_BRN_ID varchar(15) -- DECLARE @l_AMORT_AMT decimal(18) = NULL -- DECLARE @l_BUY_PRICE decimal(18) = NULL -- DECLARE @l_ET_ID varchar(15) -- DEClare @p_ADDNEW_ID varchar(15) -- -- DECLARE @l_SUPPEND_GL varchar(50) -- DECLARE @l_ASSET_GL varchar(50) -- declare @l_ASSET_VALUE decimal(18,0) -- DECLARE @l_GROUP_ID varchar(15) -- DECLARE @l_CORE_NOTE NVARCHAR(500) -- DECLARE @l_TYPE_ID varchar(15) = NULL -- declare @l_TRN_REF_NO varchar(20) -- declare @l_DO_BRANCH_ID varchar(15) -- DECLARE @l_AMORT_STATUS VARCHAR(15) = 'CKH' -- DECLARE @l_AMORT_MONTH_ASS_USE DECIMAL(18,2) = NULL -- declare @l_AUTH_STATUS varchar(15) = '' -- declare @l_ASSHIST_ID varchar(15) -- --Lay thong tin kho mac dinh -- SELECT @l_WAH_ID = P.ParaValue FROM SYS_PARAMETERS P WHERE P.ParaKey='ASSET_WAREHOUSE' -- -- --BRN_ID HOI SO -- SELECT @l_HO_BRN_ID = BRANCH_ID FROM CM_BRANCH A WHERE A.BRANCH_TYPE = 'HS' -- -- --Lay branch_id cua user duyet -- select @l_DO_BRANCH_ID = a.TLSUBBRID from TL_USER a where a.TLNANME = @p_CHECKER_ID -- -- --Lay suppend GL -- SELECT @l_SUPPEND_GL = A.ParaValue FROM SYS_PARAMETERS A WHERE A.ParaKey='ASSET_SUPPEND_GL' -- -- --ASSET_GL -- SELECT @l_ASSET_GL = ASSET_ACCTNO FROM ASS_GROUP A WHERE A.GROUP_ID = @l_GROUP_ID IF (SELECT AUTH_STATUS_KT FROM ASS_USE_MULTI_MASTER WHERE [USER_MASTER_ID] = @p_USER_MASTER_ID) = 'A' BEGIN SELECT '-1' as Result, (SELECT ErrorDesc from SYS_ERROR WHERE ErrorCode = 'ASS-99998') ErrorDesc RETURN '-1' END BEGIN TRANSACTION --LUCTV: 26-20-2018 KIEM TRA NEU TINH TRANG DANG LA 'R' THI KHONG CHO PHEP DUYET IF(EXISTS(SELECT * FROM ASS_USE_MULTI_MASTER WHERE AUTH_STATUS ='R' AND USER_MASTER_ID =@p_USER_MASTER_ID)) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, N'Thông tin xuất sử dụng tài sản đang bị trả về. Vui lòng cập nhật lại thông tin trước khi duyệt' ErrorDesc RETURN '-1' END IF(EXISTS(SELECT 1 FROM ASS_USE_MULTI_MASTER WHERE AUTH_STATUS ='E' AND USER_MASTER_ID =@p_USER_MASTER_ID)) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, N'Thông tin xuất sử dụng tài sản chưa được gửi phê duyệt' ErrorDesc RETURN '-1' END --APPROVE MASTER UPDATE [dbo].[ASS_USE_MULTI_MASTER] SET AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID,AUTH_STATUS_KT='E',MAKER_ID_KT= NULL, APPROVE_DT_KT = NULL, CHECKER_ID_KT = NULL,CREATE_DT_KT= NULL, APPROVE_DT = CONVERT(datetime, @p_APPROVE_DT, 103) WHERE [USER_MASTER_ID] = @p_USER_MASTER_ID --Update trang thai cho giao dich xuat su dung UPDATE [dbo].[ASS_USE_MULTI_DT] SET AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME, @p_APPROVE_DT, 103) WHERE USER_MASTER_ID = @p_USER_MASTER_ID -- DECLARE @USE_MULTI_ID varchar(15) -- DECLARE @ASSET_ID varchar(15) -- DECLARE DataCusor SCROLL CURSOR -- FOR -- SELECT A.USE_MULTI_ID,A.ASSET_ID -- FROM [dbo].[ASS_USE_MULTI_DT] A -- WHERE A.USER_MASTER_ID=@p_USER_MASTER_ID -- OPEN DataCusor -- --FETCH NEXT FROM DataCusor INTO @USE_MULTI_ID,@ASSET_ID --WHILE @@FETCH_STATUS = 0 --BEGIN -- -- --Lay thong tin giao dich -- SELECT @l_ASSET_ID = ASSET_ID, @l_BRANCH_ID = BRANCH_ID, @l_DEPT_ID = DEPT_ID, -- @l_EMP_ID = EMP_ID, @l_DIVISION_ID = DIVISION_ID, @l_CORE_NOTE = CORE_NOTE, @l_AUTH_STATUS = AUTH_STATUS, -- @l_AMORT_START_DATE = AMORT_START_DATE, @l_MAKER_ID = MAKER_ID, @l_AMORT_MONTH_ASS_USE = AMORT_MONTH, -- @l_AMORT_END_DATE = AMORT_END_DATE -- FROM [dbo].[ASS_USE_MULTI_DT] -- WHERE [USE_MULTI_ID] = @USE_MULTI_ID -- -- --Lay thong tin so thang khau hao -- SELECT @l_AMORT_MONTH = A.AMORT_MONTH, @l_ASS_AMORT_AMT = AMORT_AMT, @l_ENTRY_BOOKED = ENTRY_BOOKED, -- @l_AMORT_AMT = A.AMORT_AMT, @l_BUY_PRICE = BUY_PRICE, @l_GROUP_ID = GROUP_ID,@l_TYPE_ID = A.[TYPE_ID] -- FROM ASS_MASTER A -- WHERE A.ASSET_ID = @l_ASSET_ID -- -- --TINH SO THANG THEO THUC TE KHI XUAT SU DUNG -- SET @l_AMORT_MONTH = @l_AMORT_MONTH_ASS_USE -- -- --IF @l_AMORT_MONTH_ASS_USE IS NULL--TRUONG HOP CCLD DO PHCQT XUAT -- --BEGIN -- -- SET @l_AMORT_END_DATE = NULL; -- -- SET @l_MONTHLY_AMT = 0; -- -- SET @l_FIRST_AMORT_AMT = 0; -- -- SET @l_AMORT_STATUS = 'VNM' -- --END -- --ELSE -- --IF @l_AMORT_MONTH = 0 -- --BEGIN -- -- SET @l_AMORT_END_DATE = NULL; -- -- SET @l_MONTHLY_AMT = 0; -- -- SET @l_FIRST_AMORT_AMT = 0; -- -- SET @l_AMORT_STATUS = 'KKH' -- --END -- --ELSE -- --BEGIN -- -- --Tinh ngay ket thuc khau hao -- -- IF @l_TYPE_ID = 'TSCD' -- -- BEGIN -- -- IF @l_AMORT_END_DATE IS NULL OR @l_AMORT_END_DATE = '' -- -- SET @l_AMORT_END_DATE = DATEADD(MONTH, @l_AMORT_MONTH, @l_AMORT_START_DATE) - 1 -- -- --CAP NHAT TRANG THAI KHAU HAO -- -- SET @l_AMORT_STATUS = 'CKH' -- -- END -- -- ELSE -- -- BEGIN -- -- DECLARE @l_ENDDATE_TEMP DATETIME = (CONVERT(VARCHAR(10),(YEAR(@l_AMORT_START_DATE))) + '-' + CONVERT(VARCHAR(10),MONTH(@l_AMORT_START_DATE))+'-' + '1') -- -- SET @l_AMORT_END_DATE = DATEADD(MONTH, @l_AMORT_MONTH, @l_ENDDATE_TEMP ) - 1 -- -- -- --CAP NHAT TRANG THAI KHAU HAO -- -- SET @l_AMORT_STATUS = 'VNM' -- -- END -- -- -- --Tinh so tien khau hao thang dau tien va so tien khau hao hang thang -- -- SET @l_MONTHLY_AMT = ROUND(@l_ASS_AMORT_AMT / @l_AMORT_MONTH, -3) -- -- SET @l_FIRST_AMORT_AMT = ROUND(@l_MONTHLY_AMT/dbo.[FN_GetDaysInMonth](@l_AMORT_START_DATE) * (DATEDIFF(day,@l_AMORT_START_DATE, dbo.FN_GetLastDayOfMonth(@l_AMORT_START_DATE)) + 1), -3) -- -- ----CAP NHAT TRANG THAI KHAU HAO -- -- --SET @l_AMORT_STATUS = 'CKH' -- --END -- -- --COMMIT TRANSACTION -- -- --BEGIN TRANSACTION -- -- -- IF @@Error <> 0 GOTO ABORT -- -- -- -- DECLARE @l_AMORT_RATE DECIMAL(18,2) -- IF @l_AMORT_MONTH > 0 AND @l_AMORT_MONTH IS NOT NULL -- SET @l_AMORT_RATE = ROUND((100 /@l_AMORT_MONTH) * 12, 2) -- ELSE -- BEGIN -- SET @l_AMORT_RATE = 0 -- IF(@l_TYPE_ID = 'CCLD') -- SET @l_AMORT_MONTH = 1 -- END -- -- --Update tai san da xuat su dung -- UPDATE ASS_MASTER -- SET BRANCH_ID = @l_BRANCH_ID, -- DEPT_ID = @l_DEPT_ID, -- EMP_ID = @l_EMP_ID, -- DIVISION_ID = @l_DIVISION_ID, -- -- AMORT_START_DATE = @l_AMORT_START_DATE, -- -- AMORT_END_DATE = @l_AMORT_END_DATE, -- -- FIRST_AMORT_AMT = @l_FIRST_AMORT_AMT, -- -- AMORT_MONTH = @l_AMORT_MONTH, -- -- MONTHLY_AMORT_AMT = @l_MONTHLY_AMT, -- -- AMORTIZED_AMT = ISNULL(AMORTIZED_AMT,0), -- -- AMORTIZED_MONTH = 0, -- -- AMORT_STATUS = @l_AMORT_STATUS,--'CKH', --Update trang thai cho khau hao -- USE_DATE = CONVERT(DATETIME, @sToday, 103) -- -- ENTRY_BOOKED = @l_ENTRY_BOOKED, -- -- AMORT_RATE = @l_AMORT_RATE -- WHERE ASSET_ID = @l_ASSET_ID -- ---- UPDATE ASS_MASTER ---- SET USE_DATE = CONVERT(DATETIME, @sToday, 103), ---- ENTRY_BOOKED = @l_ENTRY_BOOKED, ---- AMORT_RATE = @l_AMORT_RATE ---- WHERE ASSET_ID = @l_ASSET_ID -- IF @@Error <> 0 GOTO ABORT -- -- -- --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 - 10/09/2014 CAP NHAT LAI DON VI KHI XUAT SU DUNG NEU TS LA XE***/ -- --UPDATE CAR_MASTER SET BRANCH_ID = @l_BRANCH_ID WHERE ASSET_ID = @l_ASSET_ID -- -- --Insert phan xuat kho -- SELECT @l_WAHDT_ID = WAHDT_ID FROM ASS_WAREHOUSE_DT A WHERE A.ASSET_ID = @l_ASSET_ID AND A.STATUS='I' -- -- UPDATE ASS_WAREHOUSE_DT -- SET OUT_DATE = GETDATE(), -- STATUS = 'O' -- WHERE WAHDT_ID = @l_WAHDT_ID -- IF @@Error <> 0 GOTO ABORT -- -- ----Insert bang ASS_LOCATION_HIST -- EXEC SYS_CodeMasters_Gen 'ASS_LOCATION_HIST', @l_LOCHIST_ID out -- IF @l_LOCHIST_ID='' OR @l_LOCHIST_ID IS NULL GOTO ABORT -- -- INSERT INTO ASS_LOCATION_HIST -- ( -- LOCHIST_ID, ASSET_ID, USE_START_DT, USE_END_DT, BRANCH_ID, DEPT_ID, -- EMP_ID, LOCATION, ISLEAF, PARENT_ID -- ) -- VALUES -- ( -- @l_LOCHIST_ID, @l_ASSET_ID, GETDATE(), NULL, @l_BRANCH_ID, @l_DEPT_ID, -- @l_EMP_ID, '', 'Y', NULL -- ) -- IF @@Error <> 0 GOTO ABORT -- -- --INSERT VAO BANG ASS_TRANSACTIONS -- INSERT INTO ASS_TRANSACTIONS(ASSET_ID, TRN_ID, TRN_TYPE, TRN_DATE, RECORD_STATUS, AUTH_STATUS, -- [MAKER_ID], [CREATE_DT], [CHECKER_ID], [APPROVE_DT],ASSHIST_ID, LOCHIST_ID -- )VALUES -- ( -- @l_ASSET_ID, @USE_MULTI_ID, 'ADD_USE', CONVERT(DATETIME, @sToday, 103), '1', 'A', -- @l_MAKER_ID, CONVERT(DATETIME, @sToday, 103), @p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103) ,@l_ASSHIST_ID,@l_LOCHIST_ID -- ) -- IF @@Error <> 0 GOTO ABORT -- FETCH NEXT FROM DataCusor INTO @USE_MULTI_ID,@ASSET_ID -- END -- CLOSE DataCusor -- DEALLOCATE DataCusor -- -- --START PHUCVH 07/10/22 UPDATE ALLOCATED PHIẾU YÊU CẦU DT -- DECLARE @TBL_CHECK_UPD TABLE (REQDT_ID VARCHAR(15), REQ_DOC_ID VARCHAR(15), ASS_GROUP_ID VARCHAR(15), ASS_ID VARCHAR(15), REQ_DT_TYPE VARCHAR(20), TYPE_XL VARCHAR(20)) -- -- INSERT INTO @TBL_CHECK_UPD -- SELECT DISTINCT A.REQDT_ID, A.REQ_DOC_ID, A.ASS_GROUP_ID, A.ASS_ID, A.REQ_DT_TYPE, A.TYPE_XL -- FROM ASS_USE_MULTI_DT B -- LEFT JOIN TR_REQUEST_SHOP_DOC_DT A ON B.REQ_ID = A.REQ_DOC_ID -- WHERE B.USER_MASTER_ID = @p_USER_MASTER_ID AND B.REQ_ID IS NOT NULL AND B.REQ_ID <> '' -- AND(A.REQ_DT_TYPE = 'BUYNEW' -- OR (A.REQ_DT_TYPE = 'XKSD' AND A.TYPE_XL = 'CPTK')) -- -- DECLARE @C_REQDT_ID VARCHAR(15), @C_REQ_DOC_ID VARCHAR(15), @C_ASS_GROUP_ID VARCHAR(15), @C_ASS_ID VARCHAR(15), @C_REQ_DT_TYPE VARCHAR(15), @C_TYPE_XL VARCHAR(20) -- -- DECLARE 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 @ALLOCATED = (SELECT COUNT(*) -- FROM ASS_USE_MULTI_DT A -- LEFT JOIN ASS_MASTER C ON A.ASSET_ID = C.ASSET_ID -- GROUP BY A.REQ_ID, C.GROUP_ID, C.REQ_ID -- HAVING A.REQ_ID = @C_REQ_DOC_ID -- AND C.GROUP_ID = @C_ASS_GROUP_ID -- AND ((@C_REQ_DT_TYPE = 'BUYNEW' AND C.REQ_ID = @C_REQ_DOC_ID) -- OR (@C_TYPE_XL = 'CPTK' AND (C.REQ_ID IS NULL OR C.REQ_ID = '')))) -- -- UPDATE TR_REQUEST_SHOP_DOC_DT -- SET ALLOCATED = @ALLOCATED -- WHERE REQDT_ID = @C_REQDT_ID -- -- 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 -- GIANT 21/09/2021 INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @p_USER_MASTER_ID, -- REQ_ID - varchar(15) 'APPROVE', -- PROCESS_ID - varchar(10) @p_CHECKER_ID, -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime N'Trưởng đơn vị phê duyệt ' , N'Trưởng đơn vị phê duyệt thành công' -- PROCESS_DESC - nvarchar(1000) ) COMMIT TRANSACTION SELECT '0' as Result, '' ErrorDesc RETURN '0' END TRY BEGIN CATCH ROLLBACK TRANSACTION CLOSE DataCusor DEALLOCATE DataCusor SELECT '-1' as Result, ERROR_MESSAGE() ErrorDesc RETURN '-1' END CATCH ABORT: BEGIN ROLLBACK TRANSACTION CLOSE DataCusor DEALLOCATE DataCusor SELECT '-1' as Result, ERROR_MESSAGE() ErrorDesc RETURN '-1' End GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_TRANSFER_MULTI_MASTER_BBBG]' GO ALTER PROC [dbo].[ASS_TRANSFER_MULTI_MASTER_BBBG] @TRANS_MULTI_MASTER_ID varchar(15) = null AS DECLARE @REQ_ID VARCHAR(20) = (SELECT REQ_ID FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID) DECLARE @REQ_MAKER VARCHAR(110) = (SELECT TRSD.MAKER_ID FROM TR_REQUEST_SHOP_DOC TRSD WHERE TRSD.REQ_ID = @REQ_ID) DECLARE @REQ_MAKER_DT VARCHAR(110) = (SELECT TRSD.CREATE_DT FROM TR_REQUEST_SHOP_DOC TRSD WHERE TRSD.REQ_ID = @REQ_ID) DECLARE @REQ_BRANCH VARCHAR(110) = (SELECT TRSD.BRANCH_ID FROM TR_REQUEST_SHOP_DOC TRSD WHERE TRSD.REQ_ID = @REQ_ID) DECLARE @REQ_DEP VARCHAR(110) = (SELECT TRSD.DEP_ID FROM TR_REQUEST_SHOP_DOC TRSD WHERE TRSD.REQ_ID = @REQ_ID) DECLARE @REQ_DEP_NAME NVARCHAR(510) = (SELECT CD.DEP_NAME FROM CM_DEPARTMENT CD WHERE CD.DEP_ID = @REQ_DEP) DECLARE @REQ_POS NVARCHAR(510) = (SELECT CEL.POS_NAME FROM CM_EMPLOYEE_LOG CEL WHERE CEL.USER_DOMAIN = @REQ_MAKER) DECLARE @REQ_MAKER_NAME NVARCHAR(500) = (SELECT TU.TLFullName FROM TL_USER TU WHERE TU.TLNANME = @REQ_MAKER) DECLARE @REQ_MAKER_PHONE NVARCHAR(500) = (SELECT TU.PHONE FROM TL_USER TU WHERE TU.TLNANME = @REQ_MAKER) DECLARE @REQ_MAKER_ADDR NVARCHAR(500) = (SELECT TU.ADDRESS FROM TL_USER TU WHERE TU.TLNANME = @REQ_MAKER) --Khiemchg lấy danh sách đơn vị nhận và cho DECLARE @INFO_TRANSFER_RECIEVE TABLE ( BRN_SD VARCHAR(50), BRN_SD_NAME NVARCHAR(500), K_SD VARCHAR(50), K_SD_NAME NVARCHAR(500), TT_SD VARCHAR(50), TT_SD_NAME NVARCHAR(500), DEP_SD VARCHAR(50), DEP_SD_NAME NVARCHAR(500), PER_SD VARCHAR(50), BRN_N VARCHAR(50), BRN_N_NAME NVARCHAR(500), K_N VARCHAR(50), K_N_NAME NVARCHAR(500), TT_N VARCHAR(50), TT_N_NAME NVARCHAR(500), DEP_N VARCHAR(50), DEP_N_NAME NVARCHAR(500), PER_N VARCHAR(50) ) INSERT INTO @INFO_TRANSFER_RECIEVE SELECT DISTINCT BRANCH_ID_OLD, BB.BRANCH_NAME, KHOI_ID_OLD, BD.DEP_NAME, CENTER_ID_OLD, BF.DEP_NAME, DEPT_ID_OLD, BE.DEP_NAME, EMP_ID_OLD, A.BRANCH_ID, CB.BRANCH_NAME, A.KHOI_ID, CD.DEP_NAME, CENTER_ID, CF.DEP_NAME, DEPT_ID, CE.DEP_NAME, EMP_ID FROM ASS_TRANSFER_MULTI_DT A LEFT JOIN CM_BRANCH BB ON A.BRANCH_ID_OLD = BB.BRANCH_ID LEFT JOIN CM_DEPARTMENT BD ON BD.DEP_ID = A.KHOI_ID_OLD LEFT JOIN CM_DEPARTMENT BE ON BE.DEP_ID = A.DEPT_ID_OLD LEFT JOIN CM_DEPARTMENT BF ON BF.DEP_ID = A.CENTER_ID_OLD LEFT JOIN CM_BRANCH CB ON A.BRANCH_ID = CB.BRANCH_ID LEFT JOIN CM_DEPARTMENT CD ON CD.DEP_ID = A.KHOI_ID LEFT JOIN CM_DEPARTMENT CE ON CE.DEP_ID = A.DEPT_ID LEFT JOIN CM_DEPARTMENT CF ON CF.DEP_ID = A.CENTER_ID WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID GROUP BY BRANCH_ID_OLD, BB.BRANCH_NAME, KHOI_ID_OLD, BD.DEP_NAME, CENTER_ID_OLD, BF.DEP_NAME, DEPT_ID_OLD, BE.DEP_NAME, EMP_ID_OLD, A.BRANCH_ID, CB.BRANCH_NAME, A.KHOI_ID, CD.DEP_NAME, CENTER_ID, CF.DEP_NAME, DEPT_ID, CE.DEP_NAME, EMP_ID --DELETE @INFO_TRANSFER_RECIEVE WHERE (BRN_SD = BRN_N AND DEP_SD = DEP_N) DECLARE @SIGN_QLTS_NAME NVARCHAR(500) = '' DECLARE @SIGN_QLTS_PHONE NVARCHAR(500) = '' DECLARE @SIGN_QLTS_ADDR NVARCHAR(500) = '' DECLARE @SIGN_QLTS_POS NVARCHAR(500) = '' DECLARE @SIGN_QLTS NVARCHAR(100) = (SELECT ATMM.CHECKER_ID FROM ASS_TRANSFER_MULTI_MASTER ATMM WHERE ATMM.TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID) DECLARE @SIGN_QLTS_DT DATETIME = (SELECT TOP 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = @TRANS_MULTI_MASTER_ID AND PP.PROCESS_ID = 'QLTS_D' ORDER BY PP.APPROVE_DT DESC) DECLARE @MAKER_ID NVARCHAR(100) = (SELECT ATMM.MAKER_ID FROM ASS_TRANSFER_MULTI_MASTER ATMM WHERE ATMM.TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID) DECLARE @MAKER_ID_DT DATETIME = (SELECT TOP 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = @TRANS_MULTI_MASTER_ID AND PP.PROCESS_ID = 'SEND' ORDER BY PP.APPROVE_DT DESC) DECLARE @SIGN_QLTS_BR NVARCHAR(500) = (SELECT CB.BRANCH_NAME FROM CM_BRANCH CB WHERE CB.BRANCH_ID = (SELECT TU.TLSUBBRID FROM TL_USER TU WHERE TU.TLNANME = @SIGN_QLTS)) DECLARE @SIGN_QLTS_DEP NVARCHAR(500) = (SELECT CD.DEP_NAME FROM CM_DEPARTMENT CD WHERE CD.DEP_ID = (SELECT TU.SECUR_CODE FROM TL_USER TU WHERE TU.TLNANME = @SIGN_QLTS)) DECLARE @MAKER_NAME NVARCHAR(500) = (SELECT TU.TLFullName FROM TL_USER TU WHERE TU.TLNANME = @MAKER_ID) DECLARE @MAKER_POS NVARCHAR(500) = (SELECT TOP 1 POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@MAKER_ID) IF(EXISTS (SELECT * FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS', 'DV0001', 'DEP000000000048') FGUBRV WHERE FGUBRV.TLNANME = @SIGN_QLTS)) BEGIN SELECT @SIGN_QLTS_NAME = TU.TLFullName, @SIGN_QLTS_PHONE = TU.PHONE, @SIGN_QLTS_ADDR = TU.ADDRESS FROM TL_USER TU WHERE TU.TLNANME = @SIGN_QLTS SET @SIGN_QLTS_POS = (SELECT POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN = @SIGN_QLTS) END -- Thông tin chữ kí DECLARE @SIGN_CHECKER_ID_KT VARCHAR(100),@SIGN_MAKER_ID VARCHAR(100),@SIGN_APPROVE_DT_KT DATETIME,@SIGN_CREATE_DT DATETIME,@SIGN_APPROVE_ID VARCHAR(20),@SIGN_APPROVE_DT DATETIME, @SIGN_RECEVI_MAKER_ID VARCHAR(100),@SIGN_RECEVI_DT DATETIME,@SIGN_MAKER_ID_KT VARCHAR(100),@SIGN_MAKER_ID_CREATE VARCHAR(50),@AUTH_STATUS VARCHAR(50) -- Thông tin bên giao DECLARE @DEP_TRANSFER NVARCHAR(1500) = (SELECT TOP 1 DEP_SD FROM @INFO_TRANSFER_RECIEVE) DECLARE @BRANCH_TRANSFER NVARCHAR(500) = (SELECT TOP 1 BRN_SD FROM @INFO_TRANSFER_RECIEVE) DECLARE @KHOI_TRANSFER NVARCHAR(500) = (SELECT TOP 1 K_SD FROM @INFO_TRANSFER_RECIEVE) DECLARE @TT_TRANSFER NVARCHAR(500) = (SELECT TOP 1 TT_SD FROM @INFO_TRANSFER_RECIEVE) DECLARE @POSITION NVARCHAR(500) --= (SELECT * FROM @INFO_TRANSFER_RECIEVE) DECLARE @TRANSFER_MAKER_ID VARCHAR(100) = (SELECT TOP 1 PER_SD FROM @INFO_TRANSFER_RECIEVE) DECLARE @CREATE_DT NVARCHAR(500) = (SELECT FORMAT(ATMM.CREATE_DT, 'dd/MM/yyyy') FROM ASS_TRANSFER_MULTI_MASTER ATMM WHERE ATMM.TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID) DECLARE @TRANSFER_CONFIRM NVARCHAR(500) = (SELECT TOP 1 PRP.CHECKER_ID FROM PL_REQUEST_PROCESS PRP WHERE PRP.PROCESS_ID = 'XNGN' AND PRP.REQ_ID = @TRANS_MULTI_MASTER_ID AND PRP.BRANCH_ID = @BRANCH_TRANSFER AND PRP.DEP_ID = ISNULL(@DEP_TRANSFER, NULL)) DECLARE @TRANSFER_CONFIRM_DT NVARCHAR(500) = (SELECT TOP 1 PRP.APPROVE_DT FROM PL_PROCESS PRP WHERE PRP.PROCESS_ID = 'XNGN' AND PRP.REQ_ID = @TRANS_MULTI_MASTER_ID AND PRP.CHECKER_ID = @TRANSFER_CONFIRM ORDER BY PRP.APPROVE_DT DESC) DECLARE @NAME_TRANSFER NVARCHAR(500) = (SELECT TU.TLFullName FROM TL_USER TU WHERE TU.TLNANME = @TRANSFER_CONFIRM) DECLARE @POS_TRANSFER NVARCHAR(500) = (SELECT CEL.POS_NAME FROM CM_EMPLOYEE_LOG CEL WHERE CEL.USER_DOMAIN = @TRANSFER_CONFIRM) DECLARE @PHONE_TRANSFER NVARCHAR(500) = (SELECT TU.PHONE FROM TL_USER TU WHERE TU.TLNANME = @TRANSFER_CONFIRM) DECLARE @ADDR_TRANSFER NVARCHAR(500) = (SELECT TU.ADDRESS FROM TL_USER TU WHERE TU.TLNANME = @TRANSFER_CONFIRM) -- Thông tin bên nhận DECLARE @DEP_RECIVE NVARCHAR(1500) = (SELECT TOP 1 DEP_N FROM @INFO_TRANSFER_RECIEVE) DECLARE @BRANCH_RECIVE NVARCHAR(500) = (SELECT TOP 1 BRN_N FROM @INFO_TRANSFER_RECIEVE) DECLARE @KHOI_RECIVE NVARCHAR(500) = (SELECT TOP 1 K_N FROM @INFO_TRANSFER_RECIEVE) DECLARE @TT_RECIVE NVARCHAR(500) = (SELECT TOP 1 TT_N FROM @INFO_TRANSFER_RECIEVE) DECLARE @POSITION_RECIVE NVARCHAR(500) DECLARE @RECIVE_MAKER_ID VARCHAR(100) = (SELECT TOP 1 PER_N FROM @INFO_TRANSFER_RECIEVE) DECLARE @RECEIVE_CONFIRM NVARCHAR(500) = (SELECT TOP 1 PRP.CHECKER_ID FROM PL_REQUEST_PROCESS PRP WHERE PRP.PROCESS_ID = 'XNGN' AND PRP.REQ_ID = @TRANS_MULTI_MASTER_ID AND PRP.BRANCH_ID = @BRANCH_RECIVE AND PRP.DEP_ID = ISNULL(@DEP_RECIVE, NULL)) DECLARE @RECEIVE_CONFIRM_DT DATETIME = (SELECT TOP 1 PRP.APPROVE_DT FROM PL_PROCESS PRP WHERE PRP.PROCESS_ID = 'CONFIRM' AND PRP.REQ_ID = @TRANS_MULTI_MASTER_ID AND PRP.CHECKER_ID = @RECEIVE_CONFIRM ORDER BY PRP.APPROVE_DT DESC) DECLARE @NAME_RECIVE NVARCHAR(500) = (SELECT TU.TLFullName FROM TL_USER TU WHERE TU.TLNANME = @RECEIVE_CONFIRM) DECLARE @POS_RECIVE NVARCHAR(500) = (SELECT CEL.POS_NAME FROM CM_EMPLOYEE_LOG CEL WHERE CEL.USER_DOMAIN = @RECEIVE_CONFIRM) DECLARE @PHONE_RECIVE NVARCHAR(500) = (SELECT TU.PHONE FROM TL_USER TU WHERE TU.TLNANME = @RECEIVE_CONFIRM) DECLARE @ADDR_RECIVE NVARCHAR(500) = (SELECT TU.ADDRESS FROM TL_USER TU WHERE TU.TLNANME = @RECEIVE_CONFIRM) -- Thông tin Ngày điều chuyển DECLARE @TRANSFER_DT DATETIME, @CREATE_DT_TRANSFER DATETIME SELECT @TRANSFER_DT=TRANSFER_DT,@CREATE_DT_TRANSFER =CREATE_DT FROM dbo.ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID -- BÊN GIAO -- Thông tin chữ kí SET @SIGN_MAKER_ID = ( SELECT MAKER_ID_BG FROM ASS_TRANSFER_CONFIRM_MASTER A WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID) SET @SIGN_CREATE_DT = ( SELECT CONFIRM_DT_BG FROM ASS_TRANSFER_CONFIRM_MASTER A WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID) SET @SIGN_APPROVE_ID = (SELECT CHECKER_ID FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID) SET @SIGN_APPROVE_DT = (SELECT APPROVE_DT FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID) -- Thông tin bên giao --SET @BRANCH_TRANSFER = ISNULL((SELECT TOP 1 A.BRANCH_NAME FROM dbo.CM_BRANCH A JOIN dbo.ASS_TRANSFER_MULTI_DT B ON A.BRANCH_ID = B.BRANCH_ID_OLD WHERE B.TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID ORDER BY B.TRANSFER_MULTI_ID ASC), '') -- + ISNULL((SELECT TOP 1 ' - ' + A.DEP_NAME FROM dbo.CM_DEPARTMENT A JOIN dbo.ASS_TRANSFER_MULTI_DT B ON A.DEP_ID = B.DEPT_ID_OLD WHERE B.TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID ORDER BY B.TRANSFER_MULTI_ID ASC), '') --SET @NAME_TRANSFER =(SELECT TLFullName FROM TL_USER WHERE TLNANME =@TRANSFER_MAKER_ID) SET @POSITION = (SELECT TOP 1 POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@TRANSFER_CONFIRM) SET @CREATE_DT = N'Ngày ' + CAST((SELECT DAY(APPROVE_DT_KT) FROM dbo.ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID) AS VARCHAR(500)) + N' tháng ' + CAST((SELECT MONTH(APPROVE_DT_KT) FROM dbo.ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID) AS VARCHAR(500)) + N' năm ' + CAST((SELECT YEAR(APPROVE_DT_KT) FROM dbo.ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID) AS VARCHAR(500)) + N' tại ' + (SELECT B.BRANCH_NAME FROM dbo.ASS_TRANSFER_MULTI_MASTER A JOIN dbo.CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID) -- BÊN NHẬN -- Thông tin chữ kí SET @SIGN_RECEVI_MAKER_ID = ( SELECT MAKER_ID_BN FROM ASS_TRANSFER_CONFIRM_MASTER A WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID) SET @SIGN_RECEVI_DT = ( SELECT CONFIRM_DT_BN FROM ASS_TRANSFER_CONFIRM_MASTER A WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID) -- Thông tin bên nhận SET @RECIVE_MAKER_ID = (SELECT TOP 1 MAKER_ID_BN FROM ASS_TRANSFER_CONFIRM_MASTER WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID) --SET @BRANCH_RECIVE = ISNULL((SELECT TOP 1 A.BRANCH_NAME FROM dbo.CM_BRANCH A JOIN dbo.ASS_TRANSFER_MULTI_DT B ON A.BRANCH_ID = B.BRANCH_ID WHERE B.TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID ORDER BY B.TRANSFER_MULTI_ID ASC), '') -- + ISNULL((SELECT TOP 1 ' - ' + A.DEP_NAME FROM dbo.CM_DEPARTMENT A JOIN dbo.ASS_TRANSFER_MULTI_DT B ON A.DEP_ID = B.DEPT_ID WHERE B.TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID ORDER BY B.TRANSFER_MULTI_ID ASC), '') --SET @DEP_RECIVE = (SELECT TOP 1 DEPT_ID FROM ASS_TRANSFER_MULTI_DT WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID) --SET @NAME_RECIVE= (SELECT TLFullName FROM TL_USER WHERE TLNANME = @RECIVE_MAKER_ID) SET @POSITION_RECIVE = (SELECT POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN = @RECEIVE_CONFIRM) --SET @KHOI_RECIVE= (SELECT TOP 1 DVDM_NAME FROM CM_DVDM WHERE DVDM_ID IN (SELECT DVDM_ID FROM PL_COSTCENTER WHERE COST_ID IN (SELECT COST_ID FROM PL_COSTCENTER_DT -- WHERE DEP_ID =@DEP_RECIVE)) AND IS_KHOI ='1') -- KẾ TOÁN SET @SIGN_MAKER_ID_CREATE = ( SELECT A.MAKER_ID FROM ASS_TRANSFER_MULTI_MASTER A WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID) SET @SIGN_CHECKER_ID_KT = ( SELECT CHECKER_ID_KT FROM ASS_TRANSFER_MULTI_MASTER A WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID) SET @SIGN_APPROVE_DT_KT = ( SELECT APPROVE_DT_KT FROM ASS_TRANSFER_MULTI_MASTER A WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID) SET @SIGN_MAKER_ID_KT = ( SELECT A.MAKER_ID_KT FROM ASS_TRANSFER_MULTI_MASTER A WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID) -- DANH SÁCH TÀI SẢN SELECT ROW_NUMBER()OVER(ORDER BY A.ASSET_ID) AS STT, A.ASSET_ID, A.[TYPE_ID],C.[TYPE_CODE], C.[TYPE_NAME], A.GROUP_ID,B.GROUP_CODE, B.GROUP_NAME, A.ASSET_NAME, A.ASSET_DESC, A.SUP_ID, FORMAT(tmp.BUY_PRICE, '#,#') AS BUY_PRICE, A.AMORT_AMT, A.ASS_TYPE, TR.BRANCH_ID,BR_R.BRANCH_CODE,BR_R.BRANCH_NAME,H.DEP_ID, H.DEP_CODE, H.DEP_NAME, A.EMP_ID,EM_R.EMP_CODE,EM_R.EMP_NAME, A.BUY_DATE, A.USE_DATE, A.SPECIAL_ASS, CAST(A.AMORT_MONTH AS INT) AS AMORT_MONTH, A.AMORT_RATE, A.AMORT_START_DATE, A.AMORT_END_DATE, A.FIRST_AMORT_AMT, --CAST(A.AMORTIZED_MONTH AS INT) AS AMORTIZED_MONTH, CAST((A.AMORT_MONTH - A.AMORTIZED_MONTH) AS INT) AS REMAIN_MONTH, -- CASE WHEN DATEDIFF(month,A.AMORT_START_DATE,@TRANSFER_DT) > A.AMORT_MONTH THEN CAST(A.AMORT_MONTH AS INT) ELSE CAST(DATEDIFF(month,A.AMORT_START_DATE,@TRANSFER_DT)AS INT) END AS AMORTIZED_MONTH, --CAST(DATEDIFF(month,A.AMORT_START_DATE,tmp2.AMORT_DT)AS INT) AS AMORTIZED_MONTH, ISNULL(CAST(tmp2.AMORTIZED_MONTH AS INT),0) AS AMORTIZED_MONTH, A.AMORTIZED_AMT, FORMAT(tmp.BUY_PRICE - ISNULL(tmp1.AMORTIZED_AMT,0) , '#,#') AS GT_CL, --So tien khau hao con lai A.PO_ID, A.WAREHOUSE_ID, A.LOCATION, A.REF_ASSET_ID, A.REF_AMORTIZED_AMT, A.WARRANTY_MONTHS, A.AMORT_STATUS, D.STATUS_NAME AMORT_STATUS_NAME, A.ASS_STATUS, CU.UNIT_NAME, 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, convert(varchar, A.CREATE_DT, 103) as CREATE_DT_ASS, convert(varchar, TR.CREATE_DT, 103) as CREATE_DT, A.CHECKER_ID, A.APPROVE_DT, TR.[DESCRIPTION], TR.BRANCH_CREATE,TR.LOCATION,TR.[DESCRIPTION],TR.TRANSFER_MULTI_ID, A.AMORT_AMT-A.AMORTIZED_AMT ASREMAIN_AMT, convert(varchar, B.CREATE_DT, 103) as CREATE_DT_ASS, 1 AS SOLUONG, TR.DESCRIPTION AS NOTES, A.ASSET_CODE, -- CASE -- WHEN A.REQ_CODE IS NOT NULL AND A.PL IS NOT NULL THEN A.REQ_CODE + '/' + A.PL -- WHEN A.REQ_CODE IS NOT NULL AND A.PL IS NULL THEN A.REQ_CODE -- WHEN A.REQ_CODE IS NULL AND A.PL IS NOT NULL THEN A.PL ELSE NULL -- END AS PYC_PL ATMM.REQ_CODE + ISNULL(CHAR(10) + CHAR(10) + A.PL,'') AS PYC_PL FROM [dbo].[ASS_TRANSFER_MULTI_DT] TR LEFT JOIN [ASS_TRANSFER_MULTI_MASTER] ATMM ON TR.TRANS_MULTI_MASTER_ID = ATMM.TRANS_MULTI_MASTER_ID LEFT JOIN ASS_MASTER A ON A.ASSET_ID = TR.ASSET_ID 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 CM_UNIT CU ON B.UNIT = CU.UNIT_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 = TR.AUTH_STATUS LEFT JOIN CM_BRANCH BR_R ON BR_R.BRANCH_ID=TR.BRANCH_ID LEFT JOIN CM_EMPLOYEE EM_R ON EM_R.EMP_ID=TR.EMP_ID LEFT JOIN CM_DEPARTMENT H ON H.DEP_ID = TR.DEPT_ID -- PHONGNT 4/9/22 LẤY GIÁ TRỊ NGUYÊN GIÁ, KHẤU HAO TẠI THỜI ĐIỂM NGÀY ĐIỀU CHUYỂN LEFT JOIN (SELECT ASSET_ID,(SUM(CASE WHEN CRDR='C' AND TRN_DT < @TRANSFER_DT AND ASSET_AMT IS NOT NULL THEN ASSET_AMT END) - ISNULL(SUM(CASE WHEN CRDR='D' AND TRN_DT < @TRANSFER_DT AND ASSET_AMT IS NOT NULL THEN ASSET_AMT END),0)) AS BUY_PRICE FROM dbo.ASS_VALUES GROUP BY ASSET_ID) tmp ON A.ASSET_ID=tmp.ASSET_ID LEFT JOIN (SELECT ASSET_ID,(SUM(CASE WHEN CRDR='C' AND AMORT_DT < @TRANSFER_DT AND AMORT_AMT IS NOT NULL THEN AMORT_AMT END) - ISNULL(SUM(CASE WHEN CRDR='D' AND AMORT_DT < @TRANSFER_DT AND AMORT_AMT IS NOT NULL THEN AMORT_AMT END),0)) AS AMORTIZED_AMT FROM dbo.ASS_AMORT_DT GROUP BY ASSET_ID) tmp1 ON A.ASSET_ID=tmp1.ASSET_ID -- LEFT JOIN (SELECT ASSET_ID,max(AMORT_DT) AS AMORT_DT FROM ASS_AMORT_DT WHERE CRDR ='C' AND AMORT_DT<@TRANSFER_DT GROUP BY ASSET_ID) tmp2 ON tmp2.ASSET_ID = A.ASSET_ID LEFT JOIN (SELECT ASSET_ID,COUNT(*) AS AMORTIZED_MONTH FROM ASS_AMORT_DT WHERE CRDR ='C' AND AMORT_DT<@TRANSFER_DT GROUP BY ASSET_ID) tmp2 ON tmp2.ASSET_ID = A.ASSET_ID -- END WHERE 1=1 AND TR.TRANS_MULTI_MASTER_ID= @TRANS_MULTI_MASTER_ID IF(CONVERT(VARCHAR,@CREATE_DT_TRANSFER,103) '') --BEGIN -- SELECT -- IIF((SELECT CB.BRANCH_TYPE FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @REQ_BRANCH) = 'HS', (SELECT CB.BRANCH_NAME FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @REQ_BRANCH) + ' - ' + ISNULL(@REQ_DEP_NAME,''), (SELECT CB.BRANCH_NAME FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @REQ_BRANCH)) -- AS KHOI_TRANSFER, (SELECT CD.BRANCH_NAME FROM CM_BRANCH CD WHERE CD.BRANCH_ID = @REQ_BRANCH) AS BRANCH_TRANSFER, @REQ_MAKER_NAME AS NAME_TRANSFER, @REQ_MAKER_ADDR AS ADDR_TRANSFER, @REQ_MAKER_PHONE AS PHONE_TRANSFER, @REQ_POS AS POSITION_SEND, @CREATE_DT AS A1 -- --END --ELSE BEGIN SELECT IIF((SELECT CB.BRANCH_TYPE FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @BRANCH_TRANSFER) = 'HS', (SELECT CB.BRANCH_NAME FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @BRANCH_TRANSFER) + ' - ' + ISNULL(@GIAO,''), (SELECT CB.BRANCH_NAME FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @BRANCH_TRANSFER)) AS KHOI_TRANSFER, (SELECT CD.BRANCH_NAME FROM CM_BRANCH CD WHERE CD.BRANCH_ID = @BRANCH_TRANSFER) AS BRANCH_TRANSFER, @MAKER_NAME AS NAME_TRANSFER, @ADDR_TRANSFER AS ADDR_TRANSFER, @PHONE_TRANSFER AS PHONE_TRANSFER, @MAKER_POS AS POSITION_SEND, @CREATE_DT AS A1 END --CHECK XEM CÓ K/PB/TT NHẬN không, không có thì lấy BRANCH DECLARE @NHAN NVARCHAR(500) IF(@KHOI_RECIVE IS NOT NULL AND @DEP_RECIVE IS NOT NULL AND @TT_RECIVE IS NOT NULL) BEGIN SET @NHAN = (SELECT CD.DEP_NAME FROM CM_DEPARTMENT CD WHERE CD.DEP_ID = @DEP_RECIVE) END ELSE IF(@KHOI_RECIVE IS NULL AND @DEP_RECIVE IS NULL AND @TT_RECIVE IS NULL) BEGIN SET @NHAN = (SELECT CD.BRANCH_NAME FROM CM_BRANCH CD WHERE CD.BRANCH_ID = @BRANCH_RECIVE) END ELSE IF(@KHOI_RECIVE IS NULL AND @DEP_RECIVE IS NULL AND @TT_RECIVE IS NOT NULL) BEGIN SET @NHAN = (SELECT CD.DEP_NAME FROM CM_DEPARTMENT CD WHERE CD.DEP_ID = @TT_RECIVE) END ELSE IF(@KHOI_RECIVE IS NULL AND @DEP_RECIVE IS NOT NULL AND @TT_RECIVE IS NULL) BEGIN SET @NHAN = (SELECT CD.DEP_NAME FROM CM_DEPARTMENT CD WHERE CD.DEP_ID = @DEP_RECIVE) END ELSE IF(@KHOI_RECIVE IS NOT NULL AND @DEP_RECIVE IS NULL AND @TT_RECIVE IS NULL) BEGIN SET @NHAN = (SELECT CD.DEP_NAME FROM CM_DEPARTMENT CD WHERE CD.DEP_ID = @KHOI_RECIVE) END -- THÔNG TIN BÊN NHẬN Table2 SELECT IIF((SELECT CB.BRANCH_TYPE FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @BRANCH_RECIVE) = 'HS', (SELECT CB.BRANCH_NAME FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @BRANCH_RECIVE) + ' - ' + ISNULL(@NHAN,''), (SELECT CB.BRANCH_NAME FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @BRANCH_RECIVE)) AS KHOI_RECEIVE, (SELECT CD.BRANCH_NAME FROM CM_BRANCH CD WHERE CD.BRANCH_ID = @BRANCH_RECIVE) AS BRANCH_RECIVE, @NAME_RECIVE AS NAME_RECIVE, @ADDR_RECIVE AS ADDR_RECIVE, @PHONE_RECIVE AS PHONE_RECIVE, @POSITION_RECIVE AS POSTION_RECIVE -- CHỮ KÍ DECLARE @S1 NVARCHAR(500),@S2 NVARCHAR(500),@S3 NVARCHAR(500),@S4 NVARCHAR(500),@S5 NVARCHAR(500),@S6 NVARCHAR(500) SET @S1 = (SELECT TLFullName FROM TL_USER WHERE TLNANME = @SIGN_MAKER_ID) + CHAR(10) + N' Đã xác nhận vào lúc ' + ISNULL(FORMAT(@SIGN_CREATE_DT,'dd/MM/yyyy,hh:mm:ss tt'),'') SET @S2 = N'Người duyệt'+ CHAR(10) + (SELECT TLFullName FROM TL_USER WHERE TLNANME = @SIGN_APPROVE_ID) + CHAR(10) + N' Đã xác nhận vào lúc ' + ISNULL(FORMAT(@SIGN_APPROVE_DT,'dd/MM/yyyy,hh:mm:ss tt'),'') --PHONGNT bổ sung người nhập KT SET @S3 =N'Người nhập'+ CHAR(10) + (SELECT TLFullName FROM TL_USER WHERE TLNANME = @SIGN_MAKER_ID_KT) + CHAR(10) SET @S6 =N'Người duyệt'+ CHAR(10) + (SELECT TLFullName FROM TL_USER WHERE TLNANME = @SIGN_CHECKER_ID_KT) + CHAR(10) + N' Đã xác nhận vào lúc ' + ISNULL(FORMAT(@SIGN_APPROVE_DT_KT,'dd/MM/yyyy,hh:mm:ss tt'),'') SET @S4 =(SELECT TLFullName FROM TL_USER WHERE TLNANME = @SIGN_RECEVI_MAKER_ID) + CHAR(10) + N' Đã xác nhận vào lúc ' + ISNULL(FORMAT(@SIGN_RECEVI_DT,'dd/MM/yyyy,hh:mm:ss tt'),'') --PHONGNT bổ sung người nhập SET @S5 =N'Người nhập'+ CHAR(10) + (SELECT TLFullName FROM TL_USER WHERE TLNANME = @SIGN_MAKER_ID_CREATE) + CHAR(10) ; -- Table-3 Chữ ký SELECT @MAKER_NAME AS S1, ISNULL(@MAKER_POS, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(@MAKER_ID_DT, 'dd/MM/yyyy HH:mm:ss') AS S1_POS, @SIGN_QLTS_NAME AS S2, ISNULL(@SIGN_QLTS_POS, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(@SIGN_QLTS_DT, 'dd/MM/yyyy HH:mm:ss') AS S2_POS, --'' AS S2, --'' AS S2_POS, @NAME_RECIVE AS S3,@S4 AS S4, ISNULL(@POS_RECIVE,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT(@RECEIVE_CONFIRM_DT, 'dd/MM/yyyy HH:mm:ss') AS S3_POS, IIF(NOT EXISTS(SELECT 1 FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID=@TRANS_MULTI_MASTER_ID AND AUTH_STATUS ='E'),@S5,NULL) AS S5, @S6 AS S6 -- TABLE4 thông tin trung gian *(nếu có) SELECT @SIGN_QLTS_BR+ ' - ' + ISNULL(@SIGN_QLTS_DEP,'') AS KHOI_MID, @SIGN_QLTS_BR AS BRANCH_MID, @SIGN_QLTS_NAME AS MID_NAME, @SIGN_QLTS_ADDR AS MID_ADDR, @SIGN_QLTS_PHONE AS MID_PHONE, @SIGN_QLTS_POS AS MID_POS --SELECT '' AS MID_NAME, '' AS MID_ADDR, '' AS MID_PHONE, '' AS MID_POS --TABLE 5 NỘI DUNG BIÊN BẢN SELECT TRANSFER_CONTENT AS TITLE FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID --TABLE 6 SỐ SELECT @TRANS_MULTI_MASTER_ID AS NO SELECT CB.BRANCH_NAME FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @BRANCH_RECIVE 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),@l_MAKER_KT VARCHAR(100) SET @l_MAKER_KT = (SELECT alI.MAKER_ID_KT FROM ASS_LIQUIDATION alI WHERE alI.LIQ_ID = @P_LIQ_ID) EXEC ENTRIES_POST_GEN_NO @p_BRANCH_ID = @l_MAKER_KT ,@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].[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 IF (@REQ_DT_TYPE <> 'ASSET_BROKEN') 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].[TR_REQUEST_SHOP_DOC_Search]' GO ALTER PROCEDURE [dbo].[TR_REQUEST_SHOP_DOC_Search] @p_REQ_ID varchar(15) = NULL, @p_REQ_CODE nvarchar(100) = NULL, @p_REQ_NAME nvarchar(200) = NULL, @p_REQ_DT VARCHAR(20) = NULL, @p_REQ_TYPE varchar(20) = NULL, @p_REQ_CONTENT NVARCHAR(1000)=NULL, @p_TOTAL_AMT decimal = NULL, @p_NOTES nvarchar(1000) = NULL, @p_RECORD_STATUS varchar(1) = NULL, @p_MAKER_ID NVARCHAR(100) = NULL, @p_CREATE_DT VARCHAR(20) = NULL, @p_AUTH_STATUS varchar(50) = NULL, @p_CHECKER_ID VARCHAR(100) = NULL, @p_APPROVE_DT VARCHAR(20) = NULL, @p_RECEIVE_BRANCH VARCHAR(15) = NULL, @p_USERNAME VARCHAR(100) = NULL, @p_BRANCH_ID VARCHAR(15)=NULL, @p_DEP_ID VARCHAR(15)=NULL, @p_STATUS VARCHAR(15)=NULL, @p_TOP INT = 10, @p_DVKD_MANAGE_APP_FROM VARCHAR(20) = NULL, @p_DVKD_MANAGE_APP_TO VARCHAR(20) = NULL, @p_REGION_ID varchar(15) = NULL, @p_CDTYPE_PYC VARCHAR(20) = NULL --Phucvh Truyền thêm CDTYPE để xác định loại PYC AS BEGIN -- PAGING DECLARE @ROLE_KT VARCHAR(50) = (SELECT TU.RoleName FROM TL_USER TU WHERE TU.TLNANME = @p_USERNAME) DECLARE @DEP_ID VARCHAR(20),@BRANCH_ID VARCHAR(20) DECLARE @ROLE_LOGIN TABLE(ROLE_USER VARCHAR(20), BRANCH_ID VARCHAR(20), DEP_ID VARCHAR(20)) -- INSERT INTO @ROLE_LOGIN SELECT DisplayName AS ROLE_USER FROM AbpRoles WHERE Id IN (SELECT A.RoleId FROM AbpUserRoles A -- LEFT JOIN TL_USER B ON A.UserId = B.ID -- WHERE B.TLNANME = @p_USERNAME) INSERT INTO @ROLE_LOGIN SELECT tugr.ROLE_ID, tugr.BRANCH_ID, tugr.DEPT_ID FROM dbo.TL_USER_GET_ROLES(@p_USERNAME) tugr SET @DEP_ID= (SELECT DEP_ID FROM dbo.TL_USER WHERE TLNANME=@p_USERNAME) SET @BRANCH_ID= (SELECT TLSUBBRID FROM dbo.TL_USER WHERE TLNANME=@p_USERNAME) DECLARE @lstCOST TABLE ( COST_ID VARCHAR(20) ) INSERT INTO @lstCOST SELECT COST_ID FROM dbo.CM_COSTCENTER_DT WHERE BRANCH_ID=@BRANCH_ID AND DEP_ID=@DEP_ID -- TienLee 11/14/21 -- -- DECLARE @TempSTATUS TABLE ( STATUS VARCHAR(20) ) IF(EXISTS(SELECT ROLE_USER FROM @ROLE_LOGIN WHERE ROLE_USER ='QLTS' )) BEGIN INSERT INTO @TempSTATUS VALUES('DVKD') INSERT INTO @TempSTATUS VALUES('DVCM') END ELSE IF(EXISTS(SELECT ROLE_USER FROM @ROLE_LOGIN WHERE ROLE_USER ='DVCM' )) BEGIN INSERT INTO @TempSTATUS VALUES('QLTS_N') INSERT INTO @TempSTATUS VALUES('DVCM') END ELSE IF(EXISTS(SELECT ROLE_USER FROM @ROLE_LOGIN WHERE ROLE_USER ='CVMS' )) BEGIN INSERT INTO @TempSTATUS VALUES('QLTS_N') INSERT INTO @TempSTATUS VALUES('QLTS_XL') INSERT INTO @TempSTATUS VALUES('DVCM') END DECLARE @lstBRANCH_DEP TABLE ( BRANCH_ID VARCHAR(20), DEP_ID VARCHAR(20) ) -- IF(NOT EXISTS(SELECT ROLE_USER FROM @ROLE_LOGIN WHERE ROLE_USER ='DVCM' OR ROLE_USER='CVMS_TBP' )) -- BEGIN -- INSERT INTO @lstBRANCH_DEP -- (BRANCH_ID,DEP_ID) -- SELECT TLSUBBRID,DEP_ID FROM dbo.TL_USER WHERE TLNANME=@p_USERNAME -- -- INSERT INTO @lstBRANCH_DEP -- (BRANCH_ID,DEP_ID) -- SELECT BRANCH_ID,DEP_ID FROM dbo.CM_KHOI_DT -- WHERE KHOI_ID IN (SELECT KHOI_ID FROM dbo.CM_KHOI_DT WHERE DEP_ID= @DEP_ID AND BRANCH_ID=@BRANCH_ID) -- END -- -- -- -- DECLARE @tbDep TABLE(DEP_ID VARCHAR(20)) --INSERT INTO @tbDep --SELECT ckd.DEP_ID FROM CM_DEPARTMENT cd ----LEFT JOIN CM_KHOI ck ON cd.DEP_CODE=ck.KHOI_CODE ----LEFT JOIN CM_KHOI_DT ckd ON ck.KHOI_ID = ckd.KHOI_ID --WHERE cd.DEP_ID=@p_DEP_ID DECLARE @REQ_ID_Temp TABLE(REQ_ID VARCHAR(20)) INSERT INTO @REQ_ID_Temp SELECT A.REQ_ID FROM TR_REQUEST_SHOP_DOC A LEFT JOIN PL_REQUEST_PROCESS B ON A.REQ_ID = B.REQ_ID AND B.STATUS = 'C' WHERE (EXISTS(SELECT RL.ROLE_USER FROM @ROLE_LOGIN RL WHERE RL.BRANCH_ID = B.BRANCH_ID AND (B.BRANCH_ID = 'DV0001' AND B.DEP_ID = RL.DEP_ID OR B.BRANCH_ID <> 'DV0001') AND RL.ROLE_USER = B.ROLE_USER) OR EXISTS(SELECT * FROM @ROLE_LOGIN RL JOIN PL_REQUEST_PROCESS C ON C.REQ_ID = A.REQ_ID AND C.STATUS = 'P' AND RL.BRANCH_ID = C.BRANCH_ID AND (C.BRANCH_ID = 'DV0001' AND C.DEP_ID = RL.DEP_ID OR C.BRANCH_ID <> 'DV0001') AND RL.ROLE_USER = C.ROLE_USER) OR A.MAKER_ID = @p_USERNAME) GROUP BY A.REQ_ID IF((EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_SLAS' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN)))) BEGIN IF(@p_TOP IS NULL OR @p_TOP = '' OR @p_TOP = 0) BEGIN -- PAGING BEGIN SELECT A.REQ_ID, A.REQ_CODE, A.REQ_NAME, --ISNULL(PRP.APPROVE_DT,PRP2.APPROVE_DT) AS REQ_DT, A.REQ_DT, A.REQ_TYPE, A.REQ_CONTENT, A.TOTAL_AMT, A.NOTES, A.RECORD_STATUS, A.MAKER_ID, A.CREATE_DT, A.AUTH_STATUS, A.CHECKER_ID, A.APPROVE_DT, A.BRANCH_ID, CASE WHEN A.REQ_TYPE = 'CPTS' AND A.IS_DONE = '1' AND A.STATUS = 'DONE' THEN 'APPROVE' ELSE A.STATUS END AS STATUS, A.DEP_ID, A.HO_NOTES, K.CONTENT AS REQ_TYPE_NAME, --I.CONTENT AS REQ_STATUS_NAME, CASE WHEN A.IS_DONE = '1' AND A.STATUS = 'APPROVE' THEN N'Hoàn tất' ELSE I.CONTENT END REQ_STATUS_NAME, @p_RECEIVE_BRANCH AS RECEIVE_BRANCH,G.BRANCH_CODE, CASE WHEN A.DEP_ID IS NOT NULL AND A.DEP_ID <> '' THEN G.BRANCH_NAME + ' - ' + CD.DEP_NAME ELSE G.BRANCH_NAME END AS BRANCH_NAME, --CASE WHEN RQT.STATUS = 'C' OR RQT.STATUS = 'U' THEN N'Chờ duyệt' --ELSE N'Đã duyệt' END AS AUTH_STATUS_NAME D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME, I.CONTENT AS REQ_TYPE_NAME, CASE WHEN A.STATUS = 'APPROVE'AND A.AUTH_STATUS = 'A' AND DATEDIFF(DAY,GETDATE(),DATEADD(DAY,CONVERT(INT,SP.ParaValue),A.SEND_APP_DT)) < 0 THEN '#f2dede' ELSE '' END AS COLOR --D.AUTH_STATUS_NAME -- SELECT END FROM TR_REQUEST_SHOP_DOC A LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID LEFT JOIN CM_ALLCODE K ON K.CDNAME = 'TRREQASSTYPE' AND K.CDVAL = A.REQ_TYPE LEFT JOIN CM_ALLCODE I ON I.CDNAME = 'TRREQSTATUS' AND I.CDVAL = A.[STATUS] AND I.CDTYPE = @p_CDTYPE_PYC -- LEFT JOIN PL_REQUEST_PROCESS prp1 ON prp1.REQ_ID = A.REQ_ID AND prp1.STATUS = 'C' --LEFT JOIN dbo.CM_AUTH_STATUS AUTH ON AUTH.AUTH_STATUS = A.AUTH_STATUS --LEFT JOIN dbo.PL_REQUEST_PROCESS RQT ON RQT.REQ_ID = A.REQ_ID --AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR (RQT.PROCESS_ID = A.STATUS AND EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN)))) --LEFT JOIN dbo.PL_REQUEST_PROCESS PRP1 ON PRP1.REQ_ID = A.REQ_ID AND PRP1.PROCESS_ID = 'CVMS_N' --LEFT JOIN dbo.PL_REQUEST_PROCESS PRP2 ON PRP2.REQ_ID = A.REQ_ID AND PRP2.PROCESS_ID = 'DVKD' LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=A.MAKER_ID LEFT JOIN SYS_PARAMETERS SP ON 1=1 AND SP.ParaKey = 'NUM_OF_DAYS_LATE' LEFT JOIN CM_DEPARTMENT CD ON A.DEP_ID = CD.DEP_ID WHERE 1 = 1 AND (G.REGION_ID LIKE '%' + @p_REGION_ID + '%' OR @p_REGION_ID IS NULL OR @p_REGION_ID = '') -- AND (CONVERT(DATETIME,@p_DVKD_MANAGE_APP_FROM,103) <= CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_FROM IS NULL OR @p_DVKD_MANAGE_APP_FROM = '') -- AND (DATEADD(day,1,CONVERT(DATETIME,@p_DVKD_MANAGE_APP_TO,103)) > CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_TO IS NULL OR @p_DVKD_MANAGE_APP_TO = '') AND (@p_DVKD_MANAGE_APP_FROM IS NULL AND @p_DVKD_MANAGE_APP_TO IS NULL OR @p_DVKD_MANAGE_APP_TO IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) OR @p_DVKD_MANAGE_APP_FROM IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103)) OR (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103)) ) --AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN))) --AND ((@p_AUTH_STATUS = 'U' AND (RQT.STATUS = 'C' OR RQT.STATUS = 'U')) OR (@p_AUTH_STATUS = 'A' AND (RQT.STATUS = 'P' OR RQT.STATUS IS NULL))OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')) AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' --OR A.REQ_ID LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '') AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '') AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '') AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0) --AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '') AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '') AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '') AND (DATEDIFF(DAY,A.CREATE_DT , CONVERT(DATETIME,@p_CREATE_DT,103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '') -- AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '') AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '') AND (DATEDIFF(DAY,A.APPROVE_DT , CONVERT(DATETIME,@p_APPROVE_DT,103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '') AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE = '') AND (A.STATUS IN ('NEW','REJECT') AND A.MAKER_ID = @p_USERNAME OR A.STATUS NOT IN ('NEW','REJECT') OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US WHERE US.TLNANME = @p_USERNAME)) AND (@p_STATUS IS NULL OR @p_STATUS = '' OR A.STATUS = @p_STATUS) AND (EXISTS(SELECT 1 FROM @REQ_ID_Temp RL WHERE RL.REQ_ID = A.REQ_ID) OR (@ROLE_KT IN ('GDV','KSV') AND A.AUTH_STATUS = 'A' ) OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US WHERE US.TLNANME = @p_USERNAME)) AND A.RECORD_STATUS = '1' AND (@p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '' OR A.BRANCH_ID = @p_BRANCH_ID) AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '') AND( TU.TLFullName COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI OR TU.TLNANME COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '') ORDER BY A.REQ_DT DESC -- PAGING END END ELSE BEGIN -- PAGING BEGIN SELECT TOP(CONVERT(INT,@p_TOP)) A.REQ_ID, A.REQ_CODE, A.REQ_NAME, --ISNULL(PRP.APPROVE_DT,PRP2.APPROVE_DT) AS REQ_DT, A.REQ_DT, A.REQ_TYPE, A.REQ_CONTENT, A.TOTAL_AMT, A.NOTES, A.RECORD_STATUS, A.MAKER_ID, A.CREATE_DT, A.AUTH_STATUS, A.CHECKER_ID, A.APPROVE_DT, A.BRANCH_ID, CASE WHEN A.REQ_TYPE = 'CPTS' AND A.IS_DONE = '1' AND A.STATUS = 'DONE' THEN 'APPROVE' ELSE A.STATUS END AS STATUS, A.DEP_ID, A.HO_NOTES, K.CONTENT AS REQ_TYPE_NAME, --I.CONTENT AS REQ_STATUS_NAME, CASE WHEN A.IS_DONE = '1' AND A.STATUS = 'APPROVE' THEN N'Hoàn tất' ELSE I.CONTENT END REQ_STATUS_NAME, @p_RECEIVE_BRANCH AS RECEIVE_BRANCH,G.BRANCH_CODE, CASE WHEN A.DEP_ID IS NOT NULL AND A.DEP_ID <> '' THEN G.BRANCH_NAME + ' - ' + CD.DEP_NAME ELSE G.BRANCH_NAME END AS BRANCH_NAME, --CASE WHEN RQT.STATUS = 'C' OR RQT.STATUS = 'U' THEN N'Chờ duyệt' --ELSE N'Đã duyệt' END AS AUTH_STATUS_NAME D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME, I.CONTENT AS REQ_TYPE_NAME, CASE WHEN A.STATUS = 'APPROVE'AND A.AUTH_STATUS = 'A' AND DATEDIFF(DAY,GETDATE(),DATEADD(DAY,CONVERT(INT,SP.ParaValue),A.SEND_APP_DT)) < 0 THEN '#f2dede' ELSE '' END AS COLOR --D.AUTH_STATUS_NAME -- SELECT END FROM TR_REQUEST_SHOP_DOC A LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID LEFT JOIN CM_ALLCODE K ON K.CDNAME = 'TRREQASSTYPE' AND K.CDVAL = A.REQ_TYPE LEFT JOIN CM_ALLCODE I ON I.CDNAME = 'TRREQSTATUS' AND I.CDVAL = A.[STATUS] AND I.CDTYPE = @p_CDTYPE_PYC -- LEFT JOIN PL_REQUEST_PROCESS prp1 ON prp1.REQ_ID = A.REQ_ID AND prp1.STATUS = 'C' --LEFT JOIN dbo.CM_AUTH_STATUS AUTH ON AUTH.AUTH_STATUS = A.AUTH_STATUS --LEFT JOIN dbo.PL_REQUEST_PROCESS RQT ON RQT.REQ_ID = A.REQ_ID --AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR (RQT.PROCESS_ID = A.STATUS AND EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN)))) --LEFT JOIN dbo.PL_REQUEST_PROCESS PRP1 ON PRP1.REQ_ID = A.REQ_ID AND PRP1.PROCESS_ID = 'CVMS_N' LEFT JOIN dbo.PL_REQUEST_PROCESS PRP2 ON PRP2.REQ_ID = A.REQ_ID AND PRP2.PROCESS_ID = 'DVKD' LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=A.MAKER_ID LEFT JOIN SYS_PARAMETERS SP ON 1=1 AND SP.ParaKey = 'NUM_OF_DAYS_LATE' LEFT JOIN CM_DEPARTMENT CD ON A.DEP_ID = CD.DEP_ID WHERE 1 = 1 AND (G.REGION_ID LIKE '%' + @p_REGION_ID + '%' OR @p_REGION_ID IS NULL OR @p_REGION_ID = '') -- AND (CONVERT(DATETIME,@p_DVKD_MANAGE_APP_FROM,103) <= CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_FROM IS NULL OR @p_DVKD_MANAGE_APP_FROM = '') -- AND (DATEADD(day,1,CONVERT(DATETIME,@p_DVKD_MANAGE_APP_TO,103)) > CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_TO IS NULL OR @p_DVKD_MANAGE_APP_TO = '') AND (@p_DVKD_MANAGE_APP_FROM IS NULL AND @p_DVKD_MANAGE_APP_TO IS NULL OR @p_DVKD_MANAGE_APP_TO IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) OR @p_DVKD_MANAGE_APP_FROM IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103)) OR (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103)) ) --AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN))) --AND ((@p_AUTH_STATUS = 'U' AND (RQT.STATUS = 'C' OR RQT.STATUS = 'U')) OR (@p_AUTH_STATUS = 'A' AND (RQT.STATUS = 'P' OR RQT.STATUS IS NULL))OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')) AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' --OR A.REQ_ID LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '') AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '') AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '') AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0) --AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '') AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '') AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '') AND (DATEDIFF(DAY,A.CREATE_DT , CONVERT(DATETIME,@p_CREATE_DT,103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '') -- AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '') AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '') AND (DATEDIFF(DAY,A.APPROVE_DT , CONVERT(DATETIME,@p_APPROVE_DT,103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '') AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE = '') AND (A.STATUS IN ('NEW','REJECT') AND A.MAKER_ID = @p_USERNAME OR A.STATUS NOT IN ('NEW','REJECT') OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US WHERE US.TLNANME = @p_USERNAME)) AND (@p_STATUS IS NULL OR @p_STATUS = '' OR A.STATUS = @p_STATUS) AND (EXISTS(SELECT 1 FROM @REQ_ID_Temp RL WHERE RL.REQ_ID = A.REQ_ID) OR (@ROLE_KT IN ('GDV','KSV') AND A.AUTH_STATUS = 'A' ) OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US WHERE US.TLNANME = @p_USERNAME)) AND A.RECORD_STATUS = '1' AND (@p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '' OR A.BRANCH_ID = @p_BRANCH_ID) AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '') AND( TU.TLFullName COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI OR TU.TLNANME COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '') ORDER BY A.REQ_DT DESC -- PAGING END END END ELSE BEGIN IF(@p_TOP IS NULL OR @p_TOP = '' OR @p_TOP = 0) BEGIN -- PAGING BEGIN SELECT A.REQ_ID, A.REQ_CODE, A.REQ_NAME, --ISNULL(PRP.APPROVE_DT,PRP2.APPROVE_DT) AS REQ_DT, A.REQ_DT, A.REQ_TYPE, A.REQ_CONTENT, A.TOTAL_AMT, A.NOTES, A.RECORD_STATUS, A.MAKER_ID, A.CREATE_DT, A.AUTH_STATUS, A.CHECKER_ID, A.APPROVE_DT, A.BRANCH_ID, CASE WHEN A.REQ_TYPE = 'CPTS' AND A.IS_DONE = '1' AND A.STATUS = 'DONE' THEN 'APPROVE' ELSE A.STATUS END AS STATUS, A.DEP_ID, A.HO_NOTES, K.CONTENT AS REQ_TYPE_NAME, --I.CONTENT AS REQ_STATUS_NAME, CASE WHEN A.IS_DONE = '1' AND A.STATUS = 'APPROVE' THEN N'Hoàn tất' ELSE I.CONTENT END REQ_STATUS_NAME, @p_RECEIVE_BRANCH AS RECEIVE_BRANCH,G.BRANCH_CODE, CASE WHEN A.DEP_ID IS NOT NULL AND A.DEP_ID <> '' THEN G.BRANCH_NAME + ' - ' + CD.DEP_NAME ELSE G.BRANCH_NAME END AS BRANCH_NAME, --CASE WHEN RQT.STATUS = 'C' OR RQT.STATUS = 'U' THEN N'Chờ duyệt' --ELSE N'Đã duyệt' END AS AUTH_STATUS_NAME D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME, CASE WHEN A.STATUS = 'APPROVE'AND A.AUTH_STATUS = 'A' AND DATEDIFF(DAY,GETDATE(),DATEADD(DAY,CONVERT(INT,SP.ParaValue),A.SEND_APP_DT)) < 0 THEN '#f2dede' ELSE '' END AS COLOR --D.AUTH_STATUS_NAME -- SELECT END FROM TR_REQUEST_SHOP_DOC A LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID LEFT JOIN CM_ALLCODE K ON K.CDNAME = 'TRREQASSTYPE' AND K.CDVAL = A.REQ_TYPE LEFT JOIN CM_ALLCODE I ON I.CDNAME = 'TRREQSTATUS' AND I.CDVAL = A.[STATUS] AND I.CDTYPE = @p_CDTYPE_PYC -- LEFT JOIN PL_REQUEST_PROCESS prp1 ON prp1.REQ_ID = A.REQ_ID AND prp1.STATUS = 'C' --LEFT JOIN dbo.CM_AUTH_STATUS AUTH ON AUTH.AUTH_STATUS = A.AUTH_STATUS --LEFT JOIN dbo.PL_REQUEST_PROCESS RQT ON RQT.REQ_ID = A.REQ_ID --AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR (RQT.PROCESS_ID = A.STATUS AND EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN)))) --LEFT JOIN dbo.PL_REQUEST_PROCESS PRP1 ON PRP1.REQ_ID = A.REQ_ID AND PRP1.PROCESS_ID = 'CVMS_N' LEFT JOIN dbo.PL_REQUEST_PROCESS PRP2 ON PRP2.REQ_ID = A.REQ_ID AND PRP2.PROCESS_ID = 'DVKD' LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=A.MAKER_ID LEFT JOIN SYS_PARAMETERS SP ON 1=1 AND SP.ParaKey = 'NUM_OF_DAYS_LATE' LEFT JOIN CM_DEPARTMENT CD ON A.DEP_ID = CD.DEP_ID WHERE 1 = 1 AND (G.REGION_ID LIKE '%' + @p_REGION_ID + '%' OR @p_REGION_ID IS NULL OR @p_REGION_ID = '') -- AND (CONVERT(DATETIME,@p_DVKD_MANAGE_APP_FROM,103) <= CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_FROM IS NULL OR @p_DVKD_MANAGE_APP_FROM = '') -- AND (DATEADD(day,1,CONVERT(DATETIME,@p_DVKD_MANAGE_APP_TO,103)) > CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_TO IS NULL OR @p_DVKD_MANAGE_APP_TO = '') AND (@p_DVKD_MANAGE_APP_FROM IS NULL AND @p_DVKD_MANAGE_APP_TO IS NULL OR @p_DVKD_MANAGE_APP_TO IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) OR @p_DVKD_MANAGE_APP_FROM IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103)) OR (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103)) ) --AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN))) --AND ((@p_AUTH_STATUS = 'U' AND (RQT.STATUS = 'C' OR RQT.STATUS = 'U')) OR (@p_AUTH_STATUS = 'A' AND (RQT.STATUS = 'P' OR RQT.STATUS IS NULL))OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')) AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' --OR A.REQ_ID LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '') AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '') AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '') AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0) --AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '') AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '') AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '') AND (DATEDIFF(DAY,A.CREATE_DT , CONVERT(DATETIME,@p_CREATE_DT,103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '') -- AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '') AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '') AND (DATEDIFF(DAY,A.APPROVE_DT , CONVERT(DATETIME,@p_APPROVE_DT,103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '') AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE = '') AND (A.STATUS IN ('NEW','REJECT') AND A.MAKER_ID = @p_USERNAME OR A.STATUS NOT IN ('NEW','REJECT') OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US WHERE US.TLNANME = @p_USERNAME)) AND (@p_STATUS IS NULL OR @p_STATUS = '' OR A.STATUS = @p_STATUS) AND (EXISTS(SELECT 1 FROM @REQ_ID_Temp RL WHERE RL.REQ_ID = A.REQ_ID) OR (@ROLE_KT IN ('GDV','KSV') AND A.AUTH_STATUS = 'A' ) OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US WHERE US.TLNANME = @p_USERNAME)) AND A.RECORD_STATUS = '1' AND (@p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '' OR A.BRANCH_ID = @p_BRANCH_ID) AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '') AND( TU.TLFullName COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI OR TU.TLNANME COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '') ORDER BY A.REQ_DT DESC -- PAGING END END ELSE BEGIN -- PAGING BEGIN SELECT TOP(CONVERT(INT,@p_TOP)) A.REQ_ID, A.REQ_CODE, A.REQ_NAME, --ISNULL(PRP.APPROVE_DT,PRP2.APPROVE_DT) AS REQ_DT, A.REQ_DT, A.REQ_TYPE, A.REQ_CONTENT, A.TOTAL_AMT, A.NOTES, A.RECORD_STATUS, A.MAKER_ID, A.CREATE_DT, A.AUTH_STATUS, A.CHECKER_ID, A.APPROVE_DT, A.BRANCH_ID, CASE WHEN A.REQ_TYPE = 'CPTS' AND A.IS_DONE = '1' AND A.STATUS = 'DONE' THEN 'APPROVE' ELSE A.STATUS END AS STATUS, A.DEP_ID, A.HO_NOTES, K.CONTENT AS REQ_TYPE_NAME, --I.CONTENT AS REQ_STATUS_NAME, CASE WHEN A.IS_DONE = '1' AND A.STATUS = 'APPROVE' THEN N'Hoàn tất' ELSE I.CONTENT END REQ_STATUS_NAME, @p_RECEIVE_BRANCH AS RECEIVE_BRANCH,G.BRANCH_CODE, CASE WHEN A.DEP_ID IS NOT NULL AND A.DEP_ID <> '' THEN G.BRANCH_NAME + ' - ' + CD.DEP_NAME ELSE G.BRANCH_NAME END AS BRANCH_NAME, --CASE WHEN RQT.STATUS = 'C' OR RQT.STATUS = 'U' THEN N'Chờ duyệt' --ELSE N'Đã duyệt' END AS AUTH_STATUS_NAME D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME, CASE WHEN A.STATUS = 'APPROVE'AND A.AUTH_STATUS = 'A' AND DATEDIFF(DAY,GETDATE(),DATEADD(DAY,CONVERT(INT,SP.ParaValue),A.SEND_APP_DT)) < 0 THEN '#f2dede' ELSE '' END AS COLOR --D.AUTH_STATUS_NAME -- SELECT END FROM TR_REQUEST_SHOP_DOC A LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID LEFT JOIN CM_ALLCODE K ON K.CDNAME = 'TRREQASSTYPE' AND K.CDVAL = A.REQ_TYPE LEFT JOIN CM_ALLCODE I ON I.CDNAME = 'TRREQSTATUS' AND I.CDVAL = A.[STATUS] AND I.CDTYPE = @p_CDTYPE_PYC -- LEFT JOIN PL_REQUEST_PROCESS prp1 ON prp1.REQ_ID = A.REQ_ID AND prp1.STATUS = 'C' --LEFT JOIN dbo.CM_AUTH_STATUS AUTH ON AUTH.AUTH_STATUS = A.AUTH_STATUS --LEFT JOIN dbo.PL_REQUEST_PROCESS RQT ON RQT.REQ_ID = A.REQ_ID --AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR (RQT.PROCESS_ID = A.STATUS AND EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN)))) --LEFT JOIN dbo.PL_REQUEST_PROCESS PRP1 ON PRP1.REQ_ID = A.REQ_ID AND PRP1.PROCESS_ID = 'CVMS_N' LEFT JOIN dbo.PL_REQUEST_PROCESS PRP2 ON PRP2.REQ_ID = A.REQ_ID AND PRP2.PROCESS_ID = 'DVKD' LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=A.MAKER_ID LEFT JOIN SYS_PARAMETERS SP ON 1=1 AND SP.ParaKey = 'NUM_OF_DAYS_LATE' LEFT JOIN CM_DEPARTMENT CD ON A.DEP_ID = CD.DEP_ID WHERE 1 = 1 AND (G.REGION_ID LIKE '%' + @p_REGION_ID + '%' OR @p_REGION_ID IS NULL OR @p_REGION_ID = '') --AND (CONVERT(DATETIME,@p_DVKD_MANAGE_APP_FROM,103) <= CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_FROM IS NULL OR @p_DVKD_MANAGE_APP_FROM = '') --AND (DATEADD(day,1,CONVERT(DATETIME,@p_DVKD_MANAGE_APP_TO,103)) > CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_TO IS NULL OR @p_DVKD_MANAGE_APP_TO = '') AND (@p_DVKD_MANAGE_APP_FROM IS NULL AND @p_DVKD_MANAGE_APP_TO IS NULL OR @p_DVKD_MANAGE_APP_TO IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) OR @p_DVKD_MANAGE_APP_FROM IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103)) OR (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103)) ) --AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN))) --AND ((@p_AUTH_STATUS = 'U' AND (RQT.STATUS = 'C' OR RQT.STATUS = 'U')) OR (@p_AUTH_STATUS = 'A' AND (RQT.STATUS = 'P' OR RQT.STATUS IS NULL))OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')) AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' --OR A.REQ_ID LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '') AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '') AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '') AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0) --AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '') AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '') AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '') AND (DATEDIFF(DAY,A.CREATE_DT , CONVERT(DATETIME,@p_CREATE_DT,103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '') -- AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '') AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '') AND (DATEDIFF(DAY,A.APPROVE_DT , CONVERT(DATETIME,@p_APPROVE_DT,103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '') AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE = '') AND (A.STATUS IN ('NEW','REJECT') AND A.MAKER_ID = @p_USERNAME OR A.STATUS NOT IN ('NEW','REJECT') OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US WHERE US.TLNANME = @p_USERNAME)) AND (@p_STATUS IS NULL OR @p_STATUS = '' OR A.STATUS = @p_STATUS) AND (EXISTS(SELECT 1 FROM @REQ_ID_Temp RL WHERE RL.REQ_ID = A.REQ_ID) OR (@ROLE_KT IN ('GDV','KSV') AND A.AUTH_STATUS = 'A' ) OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US WHERE US.TLNANME = @p_USERNAME)) AND A.RECORD_STATUS = '1' AND (@p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '' OR A.BRANCH_ID = @p_BRANCH_ID) AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '') AND( TU.TLFullName COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI OR TU.TLNANME COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '') ORDER BY A.REQ_DT DESC -- PAGING END END END END GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_COLLECT_MULTI_MASTER_KT_App]' GO ALTER PROCEDURE [dbo].[ASS_COLLECT_MULTI_MASTER_KT_App] @p_COL_MULTI_MASTER_ID varchar(15), @p_AUTH_STATUS varchar(1) = NULL, @p_CHECKER_ID varchar(100) = NULL, @p_APPROVE_DT VARCHAR(20) = NULL AS BEGIN TRANSACTION IF(EXISTS(SELECT 1 FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID = @p_COL_MULTI_MASTER_ID AND AUTH_STATUS_KT = 'A')) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, @p_COL_MULTI_MASTER_ID COL_MULTI_MASTER_ID, N'Thông tin phiếu thu hồi tài sản đã được duyệt.' ErrorDesc RETURN '-1' END --KIEM TRA NEU TINH TRANG DANG LA 'R' THI KHONG CHO PHEP DUYET IF(EXISTS(SELECT * FROM ASS_COLLECT_MULTI_MASTER WHERE AUTH_STATUS_KT ='R' AND COL_MULTI_MASTER_ID =@p_COL_MULTI_MASTER_ID)) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' COL_MULTI_MASTER_ID, N'Thông tin thu hồi tài sản đang bị trả về. Vui lòng cập nhật lại thông tin trước khi duyệt' ErrorDesc RETURN '-1' END IF(EXISTS(SELECT 1 FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID = @p_COL_MULTI_MASTER_ID AND AUTH_STATUS_KT = 'E')) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, @p_COL_MULTI_MASTER_ID COL_MULTI_MASTER_ID, N'Duyệt thất bại. Nhân viên kế toán chưa nhập diễn giải hạch toán' ErrorDesc RETURN '-1' END DECLARE @COLLECT_MULTI_ID varchar(15) DECLARE @ASSET_ID varchar(15) DECLARE DataCusor SCROLL CURSOR FOR SELECT A.COLLECT_MULTI_ID,A.ASSET_ID FROM [dbo].[ASS_COLLECT_MULTI_DT] A WHERE [COL_MULTI_MASTER_ID] = @p_COL_MULTI_MASTER_ID OPEN DataCusor UPDATE ASS_COLLECT_MULTI_MASTER SET AUTH_STATUS_KT = 'A', CHECKER_ID_KT = @p_CHECKER_ID, APPROVE_DT_KT = CONVERT(DATETIME,@p_APPROVE_DT,103) WHERE COL_MULTI_MASTER_ID = @p_COL_MULTI_MASTER_ID --THIEUVQ 15062015 DECLARE @p_BRANCH_ID_RECEIVE VARCHAR(15) = NULL, @p_DEPT_ID_RECEIVE VARCHAR(15) = NULL, @l_ASSET_ID VARCHAR(15) DECLARE @l_LOCHIST_ID VARCHAR(15), @l_ASSHIST_ID varchar(15) ,@l_OLD_LOCHIST_ID VARCHAR(15) DECLARE @BRANCH_ID_OLD VARCHAR(15),@DEP_ID_OLD VARCHAR(15), @l_BRANCH_ID VARCHAR(15), @BRN_TYPE_TRN VARCHAR(15), @BRN_TYPE_REC VARCHAR(15), @l_ASSET_TYPE VARCHAR(15) DECLARE @NOTE NVARCHAR(500), @CRET DATETIME, @ERROR NVARCHAR(500) = '', @TCCT_TRN_ACCTNO VARCHAR(50), @TCCT_REC_ACCTNO VARCHAR(50) --KHIEMCHG HACH TOAN DECLARE @sToday varchar(10) = convert(varchar(10), @p_APPROVE_DT, 103), @l_ENTRY_BOOKED VARCHAR(1),@l_ASSET_CODE VARCHAR(50) DECLARE @l_CUR_BRANCH_ID VARCHAR(15), @l_AMORT_ACCTNO VARCHAR(50), @l_ASSET_GL VARCHAR(50),@l_COLLECT_ACCNO VARCHAR(50), @l_ASSET_GROUP VARCHAR(15), @l_ET_ID VARCHAR(15), @l_TRN_REF_NO VARCHAR(15), @l_CORE_NOTE NVARCHAR(500),@l_BRANCH_CREATE VARCHAR(15), @l_HO_BRANCH_ID VARCHAR(15), @l_BUY_PRICE DECIMAL(18),@l_CUR_AMORT_AMT DECIMAL(18),@l_AMORTIZED_AMT DECIMAL(18) = 0,@l_AMORT_AMT DECIMAL(18,0), @l_REMAIN_VALUE DECIMAL(18,0) DECLARE @l_ETP_ID VARCHAR(20),@l_D_BRANCH_CODE VARCHAR(25) , @l_C_BRANCH_CODE VARCHAR(25),@l_MAKER_ID VARCHAR(250) , @l_DO_BRANCH_ID VARCHAR(25) DECLARE @l_TRN_NO VARCHAR(15),@l_MAKER_KT VARCHAR(100) SET @l_MAKER_KT = (SELECT aa.MAKER_ID_KT FROM ASS_COLLECT_MULTI_MASTER aa WHERE aa.COL_MULTI_MASTER_ID = @p_COL_MULTI_MASTER_ID) DECLARE @emp_ID_OLD VARCHAR(15) EXEC ENTRIES_POST_GEN_NO @p_BRANCH_ID = @l_MAKER_KT ,@p_TRN_DATE = @p_APPROVE_DT ,@p_KeyGen = @l_TRN_NO OUT --PHUCVH 07/12/22 NẾU THU HỒI TÀI SẢN LOẠI CCLD THÌ NHƯNG KHẤU HAO DECLARE @l_AMORT_STATUS NVARCHAR(20) DECLARE @l_IS_COLLECT BIT SELECT @l_CORE_NOTE = CORE_NOTE, @l_MAKER_ID = MAKER_ID_KT, @CRET = CREATE_DT FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID = @p_COL_MULTI_MASTER_ID SELECT @l_DO_BRANCH_ID = a.TLSUBBRID from TL_USER a where a.TLNANME = @p_CHECKER_ID FETCH NEXT FROM DataCusor INTO @COLLECT_MULTI_ID,@ASSET_ID WHILE @@FETCH_STATUS = 0 BEGIN SELECT @p_BRANCH_ID_RECEIVE = BRANCH_ID_RECEIVE , @p_DEPT_ID_RECEIVE = DEPT_ID_RECEIVE,@DEP_ID_OLD=DEPT_ID_USE , @l_ASSET_ID = ASSET_ID, @l_BRANCH_ID = BRANCH_ID_RECEIVE,@BRANCH_ID_OLD=BRANCH_ID FROM ASS_COLLECT_MULTI_DT WHERE COLLECT_MULTI_ID = @COLLECT_MULTI_ID SELECT @l_ASSET_TYPE = A.TYPE_ID, @l_CUR_BRANCH_ID = A.BRANCH_ID , @l_ASSET_GROUP = ISNULL(A.REF_GROUP_ID,A.GROUP_ID), @l_AMORT_AMT = AMORT_AMT, @l_CUR_AMORT_AMT = (A.AMORT_AMT - ISNULL(A.AMORTIZED_AMT,0)), @l_BUY_PRICE = BUY_PRICE,@l_CUR_AMORT_AMT = (AMORT_AMT - ISNULL(AMORTIZED_AMT,0)), @l_BRANCH_CREATE = A.BRANCH_CREATE ,@l_AMORTIZED_AMT = AMORTIZED_AMT, @l_AMORT_STATUS = A.AMORT_STATUS, @l_ENTRY_BOOKED = A.ENTRY_BOOKED, @l_ASSET_CODE = A.ASSET_CODE, @l_REMAIN_VALUE = A.AMORT_AMT - ISNULL(A.AMORTIZED_AMT,0), @l_IS_COLLECT = A.IS_COLLECT ,@emp_ID_OLD = a.EMP_ID FROM ASS_MASTER A WHERE A.ASSET_ID = @l_ASSET_ID /********** LAY THONG TIN HACH TOAN ***********/ --DECLARE @ASSET_CCLD VARCHAR(20) = (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'ASSET_CCLD') DECLARE @TF_ASSET_CCLD VARCHAR(20) = (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'ASSET_CCLD_N') DECLARE @AMORT_CCLD VARCHAR(20) = (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'AMORT_CCLD') DECLARE @BE_AMORT_CCLD VARCHAR(20) = (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'BE_AMORT_CCLD') DECLARE @BW_AMORT_CCLD VARCHAR(20) = (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'BW_AMORT_CCLD') DECLARE @PAY_HS_ACNO VARCHAR(20) = (SELECT EPA.ACC_NO FROM ENTRIES_POST_ACCNO EPA WHERE EPA.ACC_TYPE = 'PAY_HS') DECLARE @l_TRANSFER_ACCNO VARCHAR(20) =(SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='TRANSFER') DECLARE @BRANCH_CODE_OLD VARCHAR (15) = (SELECT CB.BRANCH_CODE FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @BRANCH_ID_OLD) DECLARE @BRANCH_CODE VARCHAR (15) = (SELECT CB.BRANCH_CODE FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @l_BRANCH_ID) DECLARE @DEP_CODE_OLD VARCHAR(25) =(SELECT cd.DEP_CODE FROM CM_DEPARTMENT cd WHERE cd.DEP_ID=@DEP_ID_OLD) DECLARE @DEP_CODE VARCHAR(25) = (SELECT cd.DEP_CODE FROM CM_DEPARTMENT cd WHERE cd.DEP_ID=@p_DEPT_ID_RECEIVE) SET @l_HO_BRANCH_ID = (SELECT CB.BRANCH_ID FROM CM_BRANCH CB WHERE CB.BRANCH_TYPE = 'HS') DECLARE @HO_CODE VARCHAR(20) = (SELECT CB.BRANCH_CODE FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @l_HO_BRANCH_ID) SET @l_COLLECT_ACCNO = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='ACC_COL_1') SELECT @l_AMORT_ACCTNO = AMORT_ACCTNO, @l_ASSET_GL = ASSET_ACCTNO FROM ASS_GROUP WHERE GROUP_ID = @l_ASSET_GROUP IF @l_AMORT_ACCTNO = '' OR @l_AMORT_ACCTNO IS NULL BEGIN SET @ERROR = (SELECT ErrorDesc FROM SYS_ERROR WHERE ErrorCode = 'ASS-00002') GOTO ABORT END UPDATE ASS_COLLECT_MULTI_DT SET AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103) WHERE COLLECT_MULTI_ID = @COLLECT_MULTI_ID IF @@Error <> 0 BEGIN GOTO ABORT SELECT '-1' as Result, ERROR_MESSAGE() ErrorDesc END ---HACH TOAN THU HOI TAI SAN --BEGIN --Insert vao bang dbo.ASS_ENTRIES_POST IF @BRANCH_ID_OLD <> @l_BRANCH_ID --AND @l_ENTRY_BOOKED = 'Y' -- HACH TOAN KHAC DON VI, và TĂNG TÀI SẢN BEGIN SELECT @BRN_TYPE_TRN = BRANCH_TYPE,@TCCT_TRN_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_ID_OLD SELECT @BRN_TYPE_REC = BRANCH_TYPE, @TCCT_REC_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_ID SET @l_C_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_CREATE) SET @l_D_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID) IF @l_ASSET_TYPE = 'TSCD' BEGIN IF (@l_CUR_AMORT_AMT = @l_AMORT_AMT) -- Tài sản mới (chưa khấu hao) BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_COLLECT', @COLLECT_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_COL_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT -- BÊN GIAO EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_COL_MULTI_MASTER_ID,@BRANCH_CODE_OLD ,@l_TRANSFER_ACCNO,'VND', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_COL_MULTI_MASTER_ID ,@BRANCH_CODE_OLD , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO); -- BÊN NHẬN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_COLLECT', @COLLECT_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_COL_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_COL_MULTI_MASTER_ID ,@BRANCH_CODE , @l_ASSET_GL, 'VND', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_COL_MULTI_MASTER_ID,@BRANCH_CODE ,@l_TRANSFER_ACCNO,'VND', 'C', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); END ELSE IF (@l_CUR_AMORT_AMT >= 0) -- Tài sản đã qua sử dụng (đang khấu hao) BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_COLLECT', @COLLECT_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_COL_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT -- BÊN GIAO EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_COL_MULTI_MASTER_ID ,@BRANCH_CODE_OLD , @l_AMORT_ACCTNO, 'VND', 'D', @l_AMORTIZED_AMT,1, @l_AMORTIZED_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_COL_MULTI_MASTER_ID ,@BRANCH_CODE_OLD , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO); -- BÊN NHẬN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_COLLECT', @COLLECT_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_COL_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_COL_MULTI_MASTER_ID ,@BRANCH_CODE , @l_ASSET_GL, 'VND', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_COL_MULTI_MASTER_ID ,@BRANCH_CODE , @l_AMORT_ACCTNO, 'VND', 'C', @l_AMORTIZED_AMT,1, @l_AMORTIZED_AMT, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); ----------- IF(@l_REMAIN_VALUE > 0) BEGIN EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_COLLECT', @COLLECT_MULTI_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_COL_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_COL_MULTI_MASTER_ID,@BRANCH_CODE_OLD ,@l_TRANSFER_ACCNO,'VND', 'D', @l_REMAIN_VALUE, 1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_COL_MULTI_MASTER_ID,@BRANCH_CODE ,@l_TRANSFER_ACCNO,'VND', 'C', @l_REMAIN_VALUE, 1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); END END END ELSE -- CCLD BEGIN -- TRƯỜNG HỢP ĐÃ PHÂN BỔ HẾT VÀO CHI PHÍ MUA SẮM CCLĐ IF(@l_CUR_AMORT_AMT = 0) BEGIN PRINT 'KHONG PHAT SINH' END ELSE IF (@l_CUR_AMORT_AMT > 0) -- TRƯỜNG HỢP CHƯA PHÂN BỔ HẾT VÀO CHI PHÍ MUA SẮM CCLĐ BEGIN -- ------------------------------------ EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_COLLECT', @COLLECT_MULTI_ID, @l_DO_BRANCH_ID, @l_AMORT_ACCTNO, @l_BRANCH_CREATE, @l_AMORT_ACCTNO, @l_BRANCH_ID, @l_CUR_AMORT_AMT, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_COL_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_COL_MULTI_MASTER_ID,@BRANCH_CODE_OLD , @TF_ASSET_CCLD,'VND', 'D', @l_REMAIN_VALUE, 1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_COL_MULTI_MASTER_ID ,@BRANCH_CODE_OLD , @AMORT_CCLD, 'VND', 'C', @l_REMAIN_VALUE,1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO); -- ------------------------------------ EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_COLLECT', @COLLECT_MULTI_ID, @l_DO_BRANCH_ID, @l_AMORT_ACCTNO, @l_BRANCH_CREATE, @l_AMORT_ACCTNO, @l_BRANCH_ID, @l_CUR_AMORT_AMT, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_COL_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_COL_MULTI_MASTER_ID ,@BRANCH_CODE ,@BW_AMORT_CCLD , 'VND', 'D', @l_REMAIN_VALUE,1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_COL_MULTI_MASTER_ID,@BRANCH_CODE , @TF_ASSET_CCLD,'VND', 'C', @l_REMAIN_VALUE, 1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); END END END ELSE BEGIN IF (@l_ASSET_TYPE = 'CCLD') BEGIN IF (@l_CUR_AMORT_AMT > 0) -- TRƯỜNG HỢP CHƯA PHÂN BỔ HẾT VÀO CHI PHÍ MUA SẮM CCLĐ BEGIN -- Hạch toán tại đơn vị điều CCLĐ đi -- Tất toán tài khoản CCLĐ EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_ASSET_TYPE, @l_ASSET_ID, 'ASS_COLLECT', @COLLECT_MULTI_ID, @l_DO_BRANCH_ID, @l_AMORT_ACCTNO, @l_BRANCH_CREATE, @l_AMORT_ACCTNO, @l_BRANCH_ID, @l_CUR_AMORT_AMT, 'Y', @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID,@p_COL_MULTI_MASTER_ID,--N'NHAP MOI TSCD/CCLD' @l_ET_ID OUT EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID, @p_COL_MULTI_MASTER_ID,@BRANCH_CODE , @BW_AMORT_CCLD,'VND', 'D', @l_REMAIN_VALUE, 1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE, @l_CORE_NOTE,@l_TRN_NO); EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO) VALUES (@l_ETP_ID, @l_ET_ID,@p_COL_MULTI_MASTER_ID ,@BRANCH_CODE_OLD ,@AMORT_CCLD , 'VND', 'C', @l_REMAIN_VALUE,1, @l_REMAIN_VALUE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @DEP_CODE_OLD, @l_CORE_NOTE,@l_TRN_NO); END END END --END HACH TOAN --Move to history --Phat sinh Asset_ID EXEC SYS_CodeMasters_Gen 'ASS_MASTER_HIST', @l_ASSHIST_ID out IF @l_ASSHIST_ID='' OR @l_ASSHIST_ID IS NULL GOTO ABORT INSERT INTO ASS_MASTER_HIST SELECT @l_ASSHIST_ID, a.* FROM ASS_MASTER a where a.ASSET_ID = @l_ASSET_ID IF @@Error <> 0 GOTO ABORT --PHUCVH 07/12/22 NẾU THU HỒI TS LÀ CCLD THÌ NGƯNG KHẤU HAO IF @l_ASSET_TYPE = 'CCLD' BEGIN IF((@l_AMORT_STATUS <> 'CKH') AND (@l_AMORT_STATUS <> 'KHX') AND (@l_AMORT_STATUS <> 'KKH')) SET @l_AMORT_STATUS = 'NKH' END --update ass_master UPDATE ASS_MASTER SET BRANCH_ID = @p_BRANCH_ID_RECEIVE, DEPT_ID = @p_DEPT_ID_RECEIVE, EMP_ID = NULL , AMORT_STATUS = @l_AMORT_STATUS, IS_COLLECT = '1' --TRẠNG THÁI THU HỒI TÀI SẢN WHERE ASSET_ID = @l_ASSET_ID --Lay LOCHIST_ID SELECT @l_OLD_LOCHIST_ID = LOCHIST_ID FROM ASS_LOCATION_HIST WHERE ASSET_ID = @l_ASSET_ID AND ISLEAF='Y' --Uptdae isleaf='N' and END_DATE = ngay hien tai cho record hien tai UPDATE ASS_LOCATION_HIST SET USE_END_DT = CONVERT(DATETIME,@p_APPROVE_DT,103), ISLEAF='N' WHERE ASSET_ID = @l_ASSET_ID AND ISLEAF='Y' IF @@Error <> 0 GOTO ABORT --Insert bang ASS_LOCATION_HIST EXEC SYS_CodeMasters_Gen 'ASS_LOCATION_HIST', @l_LOCHIST_ID out IF @l_LOCHIST_ID='' OR @l_LOCHIST_ID IS NULL GOTO ABORT INSERT INTO ASS_LOCATION_HIST ( LOCHIST_ID, ASSET_ID, USE_START_DT, USE_END_DT, BRANCH_ID, DEPT_ID, EMP_ID, LOCATION, ISLEAF, PARENT_ID ) VALUES ( @l_LOCHIST_ID, @l_ASSET_ID, GETDATE(), NULL, @p_BRANCH_ID_RECEIVE, @p_DEPT_ID_RECEIVE, NULL, '', 'Y', @l_OLD_LOCHIST_ID ) IF @@Error <> 0 GOTO ABORT --INSERT VAO BANG ASS_TRANSACTIONS INSERT INTO ASS_TRANSACTIONS(ASSET_ID, TRN_ID, TRN_TYPE, TRN_DATE, RECORD_STATUS, AUTH_STATUS, [MAKER_ID], [CREATE_DT], [CHECKER_ID], [APPROVE_DT],ASSHIST_ID,LOCHIST_ID )VALUES ( @l_ASSET_ID, @COLLECT_MULTI_ID, 'ASS_COLLECT', CONVERT(DATETIME, @sToday, 103), '1', 'A', @l_MAKER_ID, CONVERT(DATETIME, @sToday, 103), @p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103) ,@l_ASSHIST_ID,@l_LOCHIST_ID ) IF @@Error <> 0 GOTO ABORT FETCH NEXT FROM DataCusor INTO @COLLECT_MULTI_ID,@ASSET_ID END CLOSE DataCusor DEALLOCATE DataCusor -- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_KT UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_COL_MULTI_MASTER_ID AND PROCESS_ID = 'UPDATE' -- GIANT Insert to table PL_PROCESS INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_COL_MULTI_MASTER_ID, 'APPROVE', @p_CHECKER_ID, GETDATE(), N'Kiểm soát viên phê duyệt hoàn tất' , N'Kiểm soát viên phê duyệt' ) --CHECK PHIẾU SỬA CHỮA CÓ PYC HAY KHÔNG DECLARE @REQ_ID VARCHAR(20) = (SELECT TOP 1 A.REQ_ID FROM ASS_COLLECT_MULTI_MASTER A WHERE A.COL_MULTI_MASTER_ID = @p_COL_MULTI_MASTER_ID) IF(@REQ_ID IS NOT NULL AND @REQ_ID <> '') BEGIN --UPDATE TS TRONG PYC ĐÃ SỬA CHỮA UPDATE TR_REQUEST_DOC_ASSET_DT SET ALLOCATED = '1' WHERE REQ_DOC_ID = @REQ_ID AND ASSET_ID IN (SELECT A.ASSET_ID FROM ASS_COLLECT_MULTI_DT A WHERE A.COL_MULTI_MASTER_ID = @p_COL_MULTI_MASTER_ID) IF(EXISTS(SELECT A.REQDT_ID FROM TR_REQUEST_SHOP_DOC_DT A WHERE A.REQ_DOC_ID = @REQ_ID AND A.ALLOCATED <> '1')) BEGIN --DONE PYC UPDATE TR_REQUEST_SHOP_DOC SET IS_DONE = '1', STATUS = 'DONE' WHERE REQ_ID = @REQ_ID AND REQ_TYPE = 'TH' UPDATE PL_REQUEST_PROCESS SET STATUS = 'P' WHERE PROCESS_ID = 'APPROVE' AND REQ_ID = @REQ_ID INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, IS_LEAF) VALUES (@REQ_ID,'DONE','C','Y') END END --PHUCVH 14/11/22 UPDATE TÀI SẢN XONG GIAO DỊCH UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL WHERE ASSET_ID IN (SELECT B.ASSET_ID FROM ASS_COLLECT_MULTI_DT B WHERE B.COL_MULTI_MASTER_ID = @p_COL_MULTI_MASTER_ID) COMMIT TRANSACTION SELECT '0' as Result, @p_COL_MULTI_MASTER_ID COL_MULTI_MASTER_ID, '' ErrorDesc RETURN '0' ABORT: BEGIN CLOSE DataCusor DEALLOCATE DataCusor ROLLBACK TRANSACTION SELECT '-1' as Result, '' COL_MULTI_MASTER_ID, @ERROR ErrorDesc RETURN '-1' End GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Altering [dbo].[ASS_LIQUIDATION_BVB_Search]' GO ALTER PROCEDURE [dbo].[ASS_LIQUIDATION_BVB_Search] @p_LIQ_ID varchar(15) = NULL, @p_BUY_COMPANY_ID Nvarchar(500) = NULL, @p_BUY_PRICE decimal = NULL, @p_NOTES Nvarchar(4000) = NULL, @p_RECORD_STATUS varchar(1) = NULL, @p_AUTH_STATUS varchar(1) = NULL, @p_AUTH_STATUS_KT varchar(1)= NULL, @p_APPROVE_DT_KT 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 = 10, @p_BRANCH_ID VARCHAR(15) = NULL, @p_LEVEL VARCHAR(50) = 'UNIT', @p_FR_BUY_DATE VARCHAR(10) = NULL, --Tu ngay nhap @p_TO_BUY_DATE VARCHAR(10) = NULL, --Den ngay nhap @p_FR_LIQ_AMT DECIMAL(18) = NULL, --Tu ngay nhap @p_TO_LIQ_AMT DECIMAL(18) = NULL,--Den ngay nhap, @p_IS_UPDATE VARCHAR(1) = NULL, -- DA DUOC KT CAP NHAT THONG TIN HAY CHUA @p_USER_LOGIN VARCHAR(15),-- 26022020 LUCTV TRUYEN XUONG USER LOGIN DE DO TIM MA PHONG BAN @p_TYPE_SEARCH VARCHAR(10)= NULL -- 26022020 LUCTV TRUYEN XUONG DAU HIEU DE PHAN BIET TIM KIEM O MAN HINH KE TOAN HAY MAN HINH HCQT AS BEGIN -- PAGING SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ---- SET @p_RECORD_STATUS = '1' ------ declare @tmp table(BRANCH_ID varchar(15)) insert into @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID) IF(@p_TOP IS NULL OR @p_TOP = '' OR @p_TOP = 0) BEGIN -- PAGING BEGIN SELECT A.*,A.BUY_COMPANY_ID AS BUY_COMPANY_NAME,B.CONTENT AS AUTH_STATUS_NAME, B1.CONTENT AS AUTH_STATUS_NAME_KT, T1.TLFullName MAKER_NAME, T2.TLFullName MAKER_NAME_KT, T3.TLFullName APPROVE_NAME, T4.TLFullName APPROVE_NAME_KT, BR.BRANCH_CODE, BR.BRANCH_NAME, BR.BRANCH_CODE +' - '+ BR.BRANCH_NAME AS FULL_BRANCH_NAME, @p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH --- TRA VE THAM SO GAN VO CURRENT SEARCH TRANH GAY LOI O CAC MAN HINH -- SELECT END FROM ASS_LIQUIDATION A --LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS = B.AUTH_STATUS --LEFT JOIN CM_AUTH_STATUS B1 ON A.AUTH_STATUS_KT = B1.AUTH_STATUS LEFT JOIN dbo.CM_ALLCODE B ON B.CDVAL = A.AUTH_STATUS AND B.CDNAME = 'ASS_ADD_AUTH' AND B.CDTYPE = 'ASS_ADDNEW' LEFT JOIN dbo.CM_ALLCODE B1 ON B1.CDVAL = A.AUTH_STATUS_KT AND B1.CDNAME = 'ASS_ADD_AUTH' AND B1.CDTYPE = 'ASS_ADDNEW' ---luctv: 09/01/2019 bo sung left join cm branch LEFT JOIN CM_BRANCH BR ON A.BRANCH_ID = BR.BRANCH_ID LEFT JOIN TL_USER T1 ON A.MAKER_ID = T1.TLNANME LEFT JOIN TL_USER T2 ON A.MAKER_ID_KT = T2.TLNANME LEFT JOIN TL_USER T3 ON A.CHECKER_ID = T3.TLNANME LEFT JOIN TL_USER T4 ON A.CHECKER_ID_KT = T4.TLNANME WHERE 1 = 1 AND (A.LIQ_ID LIKE '%' + @p_LIQ_ID + '%' OR @p_LIQ_ID IS NULL OR @p_LIQ_ID = '') AND (A.BUY_COMPANY_ID LIKE '%' + @p_BUY_COMPANY_ID + '%' OR @p_BUY_COMPANY_ID IS NULL OR @p_BUY_COMPANY_ID = '') -- AND (A.BUY_PRICE = @p_BUY_PRICE OR @p_BUY_PRICE IS NULL) 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(DAYOFYEAR,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(DAYOFYEAR,A.APPROVE_DT,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '') -- AND A.RECORD_STATUS = '1' -- AND (A.BUY_PRICE >= @p_FR_LIQ_AMT OR @p_FR_LIQ_AMT is NULL OR @p_FR_LIQ_AMT = 0) -- AND (A.BUY_PRICE <= @p_TO_LIQ_AMT OR @p_TO_LIQ_AMT is NULL OR @p_TO_LIQ_AMT = 0) AND (A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '') AND ((A.MAKER_ID_KT IS NOT NULL AND @p_IS_UPDATE= 'Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat OR ((A.MAKER_ID_KT IS NULL AND @p_IS_UPDATE = 'N')) OR @p_IS_UPDATE ='' OR @p_IS_UPDATE IS NULL) -- -- NEW TRANG THAI PHIEU XUAT LA LUU NHAP HOAC TU CHOI THI CHI NGUOI TAO CO THE TIM THAY AND ((A.AUTH_STATUS IN ('E','R') AND A.MAKER_ID = @p_USER_LOGIN) OR A.AUTH_STATUS NOT IN ('E','R') OR (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV,GDDV_QLTS,TBP_QLTS,KSV_QLTS','DV0001','DEP000000000048') US WHERE US.TLNANME = @p_USER_LOGIN)) OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = '') -- -- 11-03-2022 HUYHT BO SUNG DIEU KIEN TIM KIEM PHIEU XUAT THEO QUYEN KIEM NHIEM /*AND ((@p_TYPE_SEARCH='HC' AND (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV',A.BRANCH_ID,A.DEPT_ID) US WHERE US.TLNANME = @p_USER_LOGIN)) OR A.MAKER_ID = @p_USER_LOGIN) OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)) OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID) OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH ='')*/ --TIM KIEM TU NGAY O HC AND ((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.CREATE_DT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')) OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') -- TIM KIEM DEN NGAY O HC AND ((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.CREATE_DT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = '')) OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') --TIM KIEM TU NGAY O KT AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '') AND (CONVERT(DATE,A.APPROVE_DT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')) OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '') AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')) OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')) OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')) OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')) OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')))))) OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') -- TIM KIEM DEN NGAY O KT AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '') AND (CONVERT(DATE,A.APPROVE_DT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = '')) OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '') AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = '')) OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = '')) OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = '')) OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = '')) OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = '')))))) OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') ORDER BY A.APPROVE_DT_KT, A.CREATE_DT DESC -- PAGING END END ELSE BEGIN -- PAGING BEGIN SELECT TOP(CONVERT(INT,@p_TOP))A.*,A.BUY_COMPANY_ID AS BUY_COMPANY_NAME,B.CONTENT AS AUTH_STATUS_NAME, B1.CONTENT AS AUTH_STATUS_NAME_KT,T1.TLFullName MAKER_NAME, T2.TLFullName MAKER_NAME_KT, T3.TLFullName APPROVE_NAME, T4.TLFullName APPROVE_NAME_KT,BR.BRANCH_CODE +' - '+ BR.BRANCH_NAME AS FULL_BRANCH_NAME, @p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH --- TRA VE THAM SO GAN VO CURRENT SEARCH TRANH GAY LOI O CAC MAN HINH -- SELECT END FROM ASS_LIQUIDATION A LEFT JOIN CM_BRANCH BR ON A.BRANCH_ID = BR.BRANCH_ID --LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS = B.AUTH_STATUS --LEFT JOIN CM_AUTH_STATUS B1 ON A.AUTH_STATUS_KT = B1.AUTH_STATUS LEFT JOIN dbo.CM_ALLCODE B ON B.CDVAL = A.AUTH_STATUS AND B.CDNAME = 'ASS_ADD_AUTH' AND B.CDTYPE = 'ASS_ADDNEW' LEFT JOIN dbo.CM_ALLCODE B1 ON B1.CDVAL = A.AUTH_STATUS_KT AND B1.CDNAME = 'ASS_ADD_AUTH' AND B1.CDTYPE = 'ASS_ADDNEW' LEFT JOIN TL_USER T1 ON A.MAKER_ID = T1.TLNANME LEFT JOIN TL_USER T2 ON A.MAKER_ID_KT = T2.TLNANME LEFT JOIN TL_USER T3 ON A.CHECKER_ID = T3.TLNANME LEFT JOIN TL_USER T4 ON A.CHECKER_ID_KT = T4.TLNANME WHERE 1 = 1 AND (A.LIQ_ID LIKE '%' + @p_LIQ_ID + '%' OR @p_LIQ_ID IS NULL OR @p_LIQ_ID = '') AND (A.BUY_COMPANY_ID LIKE '%' + @p_BUY_COMPANY_ID + '%' OR @p_BUY_COMPANY_ID IS NULL OR @p_BUY_COMPANY_ID = '') -- AND (A.BUY_PRICE = @p_BUY_PRICE OR @p_BUY_PRICE IS NULL) 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(DAYOFYEAR,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(DAYOFYEAR,A.APPROVE_DT,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '') -- AND A.RECORD_STATUS = '1' -- AND (A.BUY_PRICE >= @p_FR_LIQ_AMT OR @p_FR_LIQ_AMT is NULL OR @p_FR_LIQ_AMT = 0) -- AND (A.BUY_PRICE <= @p_TO_LIQ_AMT OR @p_TO_LIQ_AMT is NULL OR @p_TO_LIQ_AMT = 0) AND (A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '') AND ((A.MAKER_ID_KT IS NOT NULL AND @p_IS_UPDATE= 'Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat OR ((A.MAKER_ID_KT IS NULL AND @p_IS_UPDATE = 'N')) OR @p_IS_UPDATE ='' OR @p_IS_UPDATE IS NULL) -- -- NEW TRANG THAI PHIEU XUAT LA LUU NHAP HOAC TU CHOI THI CHI NGUOI TAO CO THE TIM THAY AND ((A.AUTH_STATUS IN ('E','R') AND A.MAKER_ID = @p_USER_LOGIN) OR A.AUTH_STATUS NOT IN ('E','R') OR (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV,GDDV_QLTS,TBP_QLTS,KSV_QLTS','DV0001','DEP000000000048') US WHERE US.TLNANME = @p_USER_LOGIN)) OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = '') -- -- 11-03-2022 HUYHT BO SUNG DIEU KIEN TIM KIEM PHIEU XUAT THEO QUYEN KIEM NHIEM -- AND ((@p_TYPE_SEARCH='HC' -- AND (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV',A.BRANCH_ID,A.DEPT_ID) US -- WHERE US.TLNANME = @p_USER_LOGIN)) -- OR A.MAKER_ID = @p_USER_LOGIN) -- OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)) -- OR (@p_TYPE_SEARCH='KT' AND @p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID) -- OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH ='') --TIM KIEM TU NGAY O HC AND ((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.CREATE_DT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')) OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') -- TIM KIEM DEN NGAY O HC AND ((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.CREATE_DT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = '')) OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') --TIM KIEM TU NGAY O KT AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '') AND (CONVERT(DATE,A.APPROVE_DT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')) OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '') AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')) OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')) OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')) OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')) OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')))))) OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') --TIM KIEM DEN NGAY O KT AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '') AND (CONVERT(DATE,A.APPROVE_DT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = '')) OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '') AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = '')) OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = '')) OR (@p_AUTH_STATUS_KT = 'E' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = '')) OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = '')) OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = '')))))) OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '') ORDER BY A.APPROVE_DT_KT, A.CREATE_DT DESC -- PAGING END END END -- PAGING GO ALTER PROCEDURE dbo.ASS_TRANSFER_MULTI_Master_SendAppr @p_TRANSFER_MULTI_ID VARCHAR(15) = NULL, @p_TYPE_APP NVARCHAR(15) = NUll, @p_USER_LOGIN VARCHAR(15) = NULL, @p_DESC NVARCHAR(max) = NULL AS DECLARE @ASSET_ID_LST VARCHAR(MAX), @CURRENT_TRANS_ERROR NVARCHAR(MAX) BEGIN TRANSACTION DECLARE @PRICE_OF_ASSET DECIMAL = (SELECT MAX(A.BUY_PRICE) FROM ASS_TRANSFER_MULTI_DT ATMD LEFT JOIN ASS_MASTER A ON A.ASSET_ID = ATMD.ASSET_ID WHERE ATMD.TRANS_MULTI_MASTER_ID = @p_TRANSFER_MULTI_ID) DECLARE @BRANCH_ID VARCHAR(15) = (SELECT TU.TLSUBBRID FROM TL_USER TU WHERE TU.TLNANME = @p_USER_LOGIN) DECLARE @DEP_ID VARCHAR(15) = (SELECT TU.SECUR_CODE FROM TL_USER TU WHERE TU.TLNANME = @p_USER_LOGIN) DECLARE @NOTISENDAPP NVARCHAR(MAX) = N' đã được gửi phê duyệt thành công. Vui lòng đợi bộ phận phê duyệt xác nhận.' DECLARE @NOTISENDAPPZ NVARCHAR(MAX) = N'Trưởng đơn vị ' + (SELECT CB.BRANCH_NAME FROM TL_USER TU LEFT JOIN CM_BRANCH CB ON TU.TLSUBBRID = CB.BRANCH_ID WHERE TU.TLNANME = @p_USER_LOGIN) + N' xác nhận điều chuyển' DECLARE @SL_PYC INT DECLARE @TYPE_PYC VARCHAR(15) = (SELECT TOP 1 B.TYPE_XL FROM ASS_TRANSFER_MULTI_MASTER A LEFT JOIN TR_REQUEST_SHOP_DOC_DT B ON A.REQ_ID = B.REQ_DOC_ID WHERE TRANS_MULTI_MASTER_ID=@p_TRANSFER_MULTI_ID) DECLARE @PROCESS_C VARCHAR(20) = (SELECT TOP 1 PROCESS_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_TRANSFER_MULTI_ID AND STATUS='C') DECLARE @PARENT_ID VARCHAR(20) DECLARE @DEP_QLTS VARCHAR(20), @DEP_DVNB VARCHAR(20), @DEP_HTKD VARCHAR(20) SET @DEP_QLTS = (SELECT TOP 1 sp.ParaValue FROM SYS_PARAMETERS sp WHERE sp.ParaKey = 'DEP_QLTS') SET @DEP_DVNB = (SELECT TOP 1 sp.ParaValue FROM SYS_PARAMETERS sp WHERE sp.ParaKey = 'DEP_TTQLTS') SET @DEP_HTKD = (SELECT TOP 1 sp.ParaValue FROM SYS_PARAMETERS sp WHERE sp.ParaKey = 'DEP_KQLTS') IF (@p_TYPE_APP = 'S_TDV') BEGIN -- 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 A.ASSET_ID FROM ASS_TRANSFER_MULTI_DT A where A.TRANS_MULTI_MASTER_ID = @p_TRANSFER_MULTI_ID) B FOR XML PATH ('')) 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, '' WH_O_HCQT_MUL_ID, @CURRENT_TRANS_ERROR ErrorDesc RETURN '-1' END --CHECK MAPPING TT/PB/K DECLARE @HS TABLE(ID INT IDENTITY, DEP VARCHAR(50), KHOI VARCHAR(50), TT VARCHAR(50)) INSERT INTO @HS SELECT A.DEPT_ID, A.KHOI_ID, A.CENTER_ID FROM ASS_TRANSFER_MULTI_DT A LEFT JOIN CM_BRANCH CB ON A.BRANCH_ID = CB.BRANCH_ID WHERE A.TRANS_MULTI_MASTER_ID = @p_TRANSFER_MULTI_ID AND CB.BRANCH_TYPE ='HS' IF(EXISTS(SELECT * FROM @HS WHERE 1=1 AND (DEP IS NULL OR DEP = '' ) AND (KHOI IS NULL OR KHOI = '' ) AND (TT IS NULL OR TT = '' ))) BEGIN ROLLBACK TRANSACTION SELECT '-1' Result, N'Gửi duyệt thất bại! Thông tin điều chuyển phiếu số: '+@p_TRANSFER_MULTI_ID+ N'
Đơn vị nhận Hội sở cần chọn Phòng ban nhận hoặc Khối nhận hoặc Trung tâm nhận. Vui lòng xử lý phiếu' ErrorDesc RETURN '-1' END UPDATE ASS_TRANSFER_MULTI_MASTER SET AUTH_STATUS = 'U' WHERE TRANS_MULTI_MASTER_ID = @p_TRANSFER_MULTI_ID IF @@ERROR <> 0 GOTO ABORT --khiemchg tạo bảng tạm chứa các loại tài sản điều chuyển sai số lượng -- DECLARE @check_QTY TABLE(QTY_DC DECIMAL, GROUP_CODE NVARCHAR(MAX),GROUP_NAME NVARCHAR(MAX), QTY_PYC DECIMAL) -- INSERT INTO @check_QTY SELECT A.QTY AS QTY_DC,A.GROUP_CODE, A.GROUP_NAME, ISNULL(B.QTY_ETM, 0.00) AS QTY_PYC -- FROM -- (SELECT COUNT(A.ASSET_ID) AS QTY, AG.GROUP_CODE, AG.GROUP_NAME -- FROM ASS_TRANSFER_MULTI_DT A -- LEFT JOIN ASS_MASTER AM ON A.ASSET_ID = AM.ASSET_ID -- LEFT JOIN ASS_GROUP AG ON AM.GROUP_ID = AG.GROUP_ID -- LEFT JOIN ASS_TRANSFER_MULTI_MASTER ATMM ON A.TRANS_MULTI_MASTER_ID = ATMM.TRANS_MULTI_MASTER_ID -- WHERE ATMM.REQ_ID = (SELECT ATM.REQ_ID FROM ASS_TRANSFER_MULTI_MASTER ATM WHERE ATM.TRANS_MULTI_MASTER_ID = @p_TRANSFER_MULTI_ID) -- AND (ATMM.AUTH_STATUS <> 'E' OR ATMM.AUTH_STATUS <> 'R') -- GROUP BY AG.GROUP_CODE, AG.GROUP_NAME) A -- LEFT JOIN (SELECT TRSDD.QTY_ETM, AG2.GROUP_CODE, AG2.GROUP_NAME FROM TR_REQUEST_SHOP_DOC_DT TRSDD -- LEFT JOIN ASS_GROUP AG2 ON TRSDD.ASS_GROUP_ID = AG2.GROUP_ID -- WHERE -- TRSDD.REQ_DOC_ID = (SELECT ATMM.REQ_ID FROM ASS_TRANSFER_MULTI_MASTER ATMM WHERE ATMM.TRANS_MULTI_MASTER_ID = @p_TRANSFER_MULTI_ID) -- AND TRSDD.TYPE_XL = 'CPDC') B ON A.GROUP_CODE = B.GROUP_CODE -- WHERE A.QTY > B.QTY_ETM -- -- DECLARE @QTY_ERROR NVARCHAR(MAX) = (SELECT STUFF((SELECT ', ' + GROUP_NAME FROM @check_QTY FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '')) -- IF((SELECT COUNT(*) FROM @check_QTY) > 0) -- BEGIN -- ROLLBACK TRANSACTION -- SELECT '-1' Result, N'Gửi duyệt thất bại! Thông tin điều chuyển phiếu số: '+@p_TRANSFER_MULTI_ID + '
' + -- N' Số lượng tài sản thuộc loại: "'+ @QTY_ERROR + N'" không được lớn hơn số lượng tài sản được cấp điều chuyển theo Phiếu yêu cầu.' -- + N' Vui lòng xử lý phiếu' ErrorDesc -- RETURN '-1' -- END --khiemchg. IF(EXISTS(SELECT 1 FROM dbo.ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID=@p_TRANSFER_MULTI_ID AND AUTH_STATUS='R')) BEGIN ROLLBACK TRANSACTION SELECT '-1' Result, N'Gửi duyệt thất bại! Thông tin điều chuyển phiếu số: '+@p_TRANSFER_MULTI_ID+ N' đang bị từ chối. Vui lòng xử lý phiếu' ErrorDesc RETURN '-1' END IF(EXISTS(SELECT 1 FROM dbo.ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID=@p_TRANSFER_MULTI_ID AND AUTH_STATUS='R')) BEGIN ROLLBACK TRANSACTION SELECT '-1' Result, N'Gửi duyệt thất bại! Thông tin điều chuyển phiếu số: '+@p_TRANSFER_MULTI_ID+ N' đang bị từ chối. Vui lòng xử lý phiếu' ErrorDesc RETURN '-1' END IF(@TYPE_PYC = 'CPDC') BEGIN SET @SL_PYC = (SELECT SUM(ISNULL(B.QTY_ETM, 0)) FROM ASS_TRANSFER_MULTI_MASTER A LEFT JOIN TR_REQUEST_SHOP_DOC_DT B ON A.REQ_ID = B.REQ_DOC_ID WHERE TRANS_MULTI_MASTER_ID=@p_TRANSFER_MULTI_ID) IF((SELECT COUNT(ASSET_ID) FROM ASS_TRANSFER_MULTI_DT WHERE TRANS_MULTI_MASTER_ID = @p_TRANSFER_MULTI_ID) > @SL_PYC) BEGIN ROLLBACK TRANSACTION SELECT '-1' Result, N'Gửi duyệt thất bại! Thông tin điều chuyển phiếu số: '+@p_TRANSFER_MULTI_ID+ N' sai số lượng so với PYC được chọn. Vui lòng xử lý phiếu' ErrorDesc RETURN '-1' END END UPDATE ASS_TRANSFER_MULTI_MASTER SET AUTH_STATUS = 'U' WHERE TRANS_MULTI_MASTER_ID = @p_TRANSFER_MULTI_ID IF @@ERROR <> 0 GOTO ABORT -- HUYHT 06/05/2022: THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_HC UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_HC' WHERE REQ_ID = @p_TRANSFER_MULTI_ID AND PROCESS_ID = 'UPDATE' UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C', RECEPTION_DT=GETDATE() WHERE REQ_ID=@p_TRANSFER_MULTI_ID AND PROCESS_ID='QLTS_D' INSERT INTO dbo.PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES) VALUES(@p_TRANSFER_MULTI_ID, 'SEND', @p_USER_LOGIN, GETDATE(), N'Gửi Trưởng đơn vị phê duyệt', N'Nhân viên tạo phiếu và gửi phê duyệt thành công') UPDATE PL_REQUEST_PROCESS SET STATUS = 'P' WHERE REQ_ID = @p_TRANSFER_MULTI_ID AND PROCESS_ID = 'ADDNEW' UPDATE ASS_TRANSFER_MULTI_MASTER SET STATUS = 'QLTS_D' WHERE TRANS_MULTI_MASTER_ID = @p_TRANSFER_MULTI_ID --khiemchg update treo tài sản khi thực hiện điều chuyển UPDATE ASS_MASTER SET CURRENT_TRANS = @p_TRANSFER_MULTI_ID, CURRENT_TRANS_TYPE = 'ASS_TF_MUL' WHERE ASSET_ID IN (SELECT ASSET_ID FROM ASS_TRANSFER_MULTI_DT WHERE TRANS_MULTI_MASTER_ID = @p_TRANSFER_MULTI_ID) IF @@ERROR <> 0 GOTO ABORT BEGIN -- IF(@PRICE_OF_ASSET <= 30000000) -- BEGIN --SET @PARENT_ID = 'QLTS_D' -- END --IF(@PRICE_OF_ASSET > 30000000 AND @PRICE_OF_ASSET <= 50000000) -- IF(@PRICE_OF_ASSET > 30000000) -- BEGIN -- INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID, DEP_ID) -- VALUES(@p_TRANSFER_MULTI_ID,'TT_DVNB','U','GDDV_QLTS','DV0001','QLTS_D', @DEP_DVNB) -- SET @PARENT_ID = 'TT_DVNB' -- END -- ELSE IF (@PRICE_OF_ASSET > 50000000 AND @PRICE_OF_ASSET <= 100000000) -- BEGIN -- INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID, DEP_ID) -- VALUES(@p_TRANSFER_MULTI_ID,'TT_DVNB','C','GDDV_QLTS','DV0001','QLTS_D', @DEP_DVNB) -- ---- INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID, DEP_ID) ---- VALUES(@p_TRANSFER_MULTI_ID,'K_HTKD','U','GDDV','DV0001','TT_DVNB', @DEP_HTKD) -- -- SET @PARENT_ID = 'TT_DVNB' -- END -- ELSE IF (@PRICE_OF_ASSET > 100000000) -- BEGIN -- INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID, DEP_ID) -- VALUES(@p_TRANSFER_MULTI_ID,'TT_DVNB','C','GDDV_QLTS','DV0001','QLTS_D', @DEP_DVNB) -- ---- INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID, DEP_ID) ---- VALUES(@p_TRANSFER_MULTI_ID,'K_HTKD','U','GDDV','DV0001','TT_DVNB', @DEP_HTKD) ---- ---- INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID) ---- VALUES(@p_TRANSFER_MULTI_ID,'TGD','U','TGD','DV0001','K_HTKD') -- -- SET @PARENT_ID = 'TT_DVNB' -- END SET @PARENT_ID = 'QLTS_D' --Khiemchg lấy danh sách đơn vị nhận và cho DECLARE @lstBranch TABLE ( ID INT IDENTITY, Branch_Id VARCHAR(50), Dep_Id VARCHAR(50), Center_Id VARCHAR(50), Khoi_Id VARCHAR(50) ) DECLARE @temp TABLE ( BRN_SD VARCHAR(50), K_SD VARCHAR(50), TT_SD VARCHAR(50), DEP_SD VARCHAR(50), BRN_N VARCHAR(50), K_N VARCHAR(50), TT_N VARCHAR(50), DEP_N VARCHAR(50) ) INSERT INTO @temp SELECT DISTINCT BRANCH_ID_OLD, KHOI_ID_OLD, CENTER_ID_OLD, DEPT_ID_OLD, BRANCH_ID, KHOI_ID, CENTER_ID, DEPT_ID FROM ASS_TRANSFER_MULTI_DT WHERE TRANS_MULTI_MASTER_ID = @p_TRANSFER_MULTI_ID -- DELETE @temp WHERE (BRN_SD = BRN_N AND DEP_SD = DEP_N AND K_SD = K_N AND TT_SD = TT_N) -- OR (BRN_SD = BRN_N AND DEP_SD = DEP_N AND K_SD = K_N AND TT_SD = TT_N) DELETE @temp WHERE (BRN_SD = BRN_N AND DEP_SD = DEP_N) INSERT INTO @lstBranch(Branch_Id, Dep_Id, Center_Id, Khoi_Id) SELECT DISTINCT BRN_SD, DEP_SD, TT_SD, K_SD FROM @temp INSERT INTO @lstBranch(Branch_Id, Dep_Id, Center_Id, Khoi_Id) SELECT DISTINCT BRN_N, DEP_N, TT_N, K_N FROM @temp DECLARE @int INT = 1 DECLARE @countt INT = (SELECT COUNT(ID) FROM @lstBranch) --IF(@count > 1) BEGIN WHILE @int <= @countt BEGIN DECLARE @BRANCH VARCHAR(20) = (SELECT Branch_Id FROM @lstBranch WHERE ID = @int) DECLARE @DEPT VARCHAR(20) = (SELECT Dep_Id FROM @lstBranch WHERE ID = @int) DECLARE @CENTER VARCHAR(20) = (SELECT Center_Id FROM @lstBranch WHERE ID = @int) DECLARE @KHOI VARCHAR(20) = (SELECT Khoi_Id FROM @lstBranch WHERE ID = @int) IF(@BRANCH <> '' OR @BRANCH IS NOT NULL) BEGIN IF((@KHOI IS NOT NULL AND @KHOI <> '') AND (@CENTER IS NOT NULL AND @CENTER <> '') AND (@DEPT IS NOT NULL AND @DEPT <> '')) BEGIN INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID, DEP_ID) VALUES(@p_TRANSFER_MULTI_ID,'XNGN','U','GDDV',@BRANCH,@PARENT_ID, @DEPT) END ELSE IF((@KHOI IS NOT NULL AND @KHOI <> '') AND (@CENTER IS NOT NULL AND @CENTER <> '') AND (@DEPT IS NULL OR @DEPT = '')) BEGIN INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID, DEP_ID) VALUES(@p_TRANSFER_MULTI_ID,'XNGN','U','GDDV',@BRANCH,@PARENT_ID, @CENTER) END ELSE IF((@KHOI IS NOT NULL AND @KHOI <> '') AND (@CENTER IS NULL OR @CENTER = '') AND (@DEPT IS NULL OR @DEPT = '')) BEGIN INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID, DEP_ID) VALUES(@p_TRANSFER_MULTI_ID,'XNGN','U','GDDV',@BRANCH,@PARENT_ID, @KHOI) END ELSE BEGIN INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID, DEP_ID) VALUES(@p_TRANSFER_MULTI_ID,'XNGN','U','GDDV',@BRANCH,@PARENT_ID, @DEPT) END END SET @int = @int + 1 END END IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS PRP WHERE PRP.REQ_ID = @p_TRANSFER_MULTI_ID AND PRP.PROCESS_ID = 'XNGN')) SET @PARENT_ID = 'XNGN' INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],PARENT_PROCESS_ID) VALUES(@p_TRANSFER_MULTI_ID,'APPROVE','U',@PARENT_ID) END END ELSE IF (@p_TYPE_APP = 'CONFIRM') BEGIN IF (@PROCESS_C = 'XNGN') BEGIN IF((SELECT CB.BRANCH_TYPE FROM TL_USER TU LEFT JOIN CM_BRANCH CB ON TU.TLSUBBRID = CB.BRANCH_ID WHERE TU.TLNANME = @p_USER_LOGIN) = 'HS') BEGIN SET @NOTISENDAPP = N' Trưởng đơn vị ' + (SELECT CB.DEP_NAME FROM TL_USER TU LEFT JOIN CM_DEPARTMENT CB ON TU.SECUR_CODE = CB.DEP_ID WHERE TU.TLNANME = @p_USER_LOGIN) + N' đã xác nhận điều chuyển thành công' SET @NOTISENDAPPZ = N' Trưởng đơn vị ' + (SELECT CB.DEP_NAME FROM TL_USER TU LEFT JOIN CM_DEPARTMENT CB ON TU.SECUR_CODE = CB.DEP_ID WHERE TU.TLNANME = @p_USER_LOGIN) + N' đã xác nhận điều chuyển' END UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='P', CHECKER_ID = @p_USER_LOGIN, APPROVE_DT=GETDATE() WHERE REQ_ID = @p_TRANSFER_MULTI_ID AND PROCESS_ID='XNGN' AND ((@BRANCH_ID = 'DV0001' AND BRANCH_ID = @BRANCH_ID AND DEP_ID = @DEP_ID) OR (@BRANCH_ID <> 'DV0001' AND BRANCH_ID = @BRANCH_ID)) AND STATUS = 'C' INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_TRANSFER_MULTI_ID, 'CONFIRM', @p_USER_LOGIN, GETDATE(), N'Trưởng đơn vị xác nhận thành công' , @NOTISENDAPPZ ) IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE PROCESS_ID = 'XNGN' AND STATUS = 'C' AND REQ_ID = @p_TRANSFER_MULTI_ID) AND (SELECT ATMM.AUTH_STATUS FROM ASS_TRANSFER_MULTI_MASTER ATMM WHERE ATMM.TRANS_MULTI_MASTER_ID = @p_TRANSFER_MULTI_ID) = 'U') BEGIN UPDATE ASS_TRANSFER_MULTI_MASTER SET STATUS = 'APPROVE' , AUTH_STATUS = 'A' WHERE [TRANS_MULTI_MASTER_ID] = @p_TRANSFER_MULTI_ID UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C', APPROVE_DT=GETDATE() WHERE REQ_ID = @p_TRANSFER_MULTI_ID AND PROCESS_ID = 'APPROVE' AND STATUS = 'U' INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_TRANSFER_MULTI_ID, 'CONFIRMED', GETDATE(), N'Hoàn thành xác nhận tài sản', N'Phiếu hoàn thành xác nhận tài sản sau khi Trưởng đơn vị bên cho và nhận xác nhận' ) END END END ELSE IF (@p_TYPE_APP = 'KT') BEGIN IF((SELECT CORE_NOTE FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRANSFER_MULTI_ID) IS NULL OR (SELECT CORE_NOTE FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRANSFER_MULTI_ID) = '') BEGIN ROLLBACK TRANSACTION SELECT '-1' Result, N'Gửi duyệt thất bại! Thông tin điều chuyển phiếu số: '+@p_TRANSFER_MULTI_ID+ N' đang trống diễn giải hạch toán' ErrorDesc RETURN '-1' END UPDATE ASS_TRANSFER_MULTI_MASTER SET AUTH_STATUS_KT = 'U' WHERE TRANS_MULTI_MASTER_ID = @p_TRANSFER_MULTI_ID INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @p_TRANSFER_MULTI_ID, 'GDV', @p_USER_LOGIN, GETDATE(), N'Giao dịch viên Kế toán gửi Kiểm soát viên phê duyệt' , N'Giao dịch viên Kế toán gửi duyệt' ) END --PHUCVH 06/03/23 BỔ SUNG MESSAGE DECLARE @MESSAGE NVARCHAR(MAX) IF (@p_TYPE_APP = 'S_TDV') BEGIN DECLARE @REQ_DOC_ID VARCHAR(15) = (SELECT TOP 1 atmm.REQ_ID FROM ASS_TRANSFER_MULTI_MASTER atmm WHERE atmm.TRANS_MULTI_MASTER_ID = @p_TRANSFER_MULTI_ID) IF(@REQ_DOC_ID IS NOT NULL AND @REQ_DOC_ID <> '') BEGIN SET @MESSAGE = '

' + ( SELECT REPLACE( (SELECT STUFF((SELECT ' ' + DDDD.MESSAGE FROM ( SELECT CASE WHEN ROW_NUMBER() OVER (ORDER BY (SELECT 0)) = 1 THEN ''ELSE '/' END + N'Loại tài sản: ' + ISNULL(BB.GROUP_NAME,'') + N' | Số lượng yêu cầu: ' + CONVERT(VARCHAR(10),ISNULL(AA.QTY_ETM,0)) + N' | Số lượng đã điều chuyển: ' + CONVERT(VARCHAR(10),ISNULL(AA.ALLOCATED,0)) + N' | Số lượng điều chuyển trong phiếu hiện tại: ' + CONVERT(VARCHAR(10),ISNULL((SELECT SUM(TMP.COUNT) FROM ( (SELECT COUNT(*) AS COUNT FROM ASS_TRANSFER_MULTI_DT A LEFT JOIN ASS_TRANSFER_MULTI_MASTER B ON A.TRANS_MULTI_MASTER_ID = B.TRANS_MULTI_MASTER_ID LEFT JOIN ASS_MASTER C ON A.ASSET_ID = C.ASSET_ID WHERE A.TRANS_MULTI_MASTER_ID = @p_TRANSFER_MULTI_ID GROUP BY B.REQ_ID, C.GROUP_ID, C.REQ_ID HAVING B.REQ_ID = @REQ_DOC_ID AND ((C.GROUP_ID = BB.GROUP_ID AND (SELECT COUNT(*) FROM ASS_GROUP ag WHERE ag.GROUP_CODE = BB.GROUP_CODE AND ag.GROUP_ID IN (SELECT trsdd.ASS_GROUP_ID FROM TR_REQUEST_SHOP_DOC_DT trsdd WHERE trsdd.REQ_DOC_ID = AA.REQ_DOC_ID AND trsdd.REQ_DT_TYPE = 'XKSD' AND trsdd.TYPE_XL = 'CPDC'))>1 ) OR C.GROUP_ID IN (SELECT ag.GROUP_ID FROM ASS_GROUP ag WHERE ag.GROUP_CODE = BB.GROUP_CODE)) AND (C.REQ_ID IS NULL OR C.REQ_ID = '')))TMP),0)) AS MESSAGE FROM TR_REQUEST_SHOP_DOC_DT AA LEFT JOIN ASS_GROUP BB ON AA.ASS_GROUP_ID = BB.GROUP_ID WHERE AA.REQ_DOC_ID = @REQ_DOC_ID AND AA.REQ_DT_TYPE = 'XKSD' AND AA.TYPE_XL = 'CPDC') DDDD FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '')),'/','
')) END --CHECK ALLOCATED DECLARE @TBL_CHECK_UPD TABLE (REQDT_ID VARCHAR(15), ASS_GROUP_ID VARCHAR(15), REQ_DOC_ID VARCHAR(15)) DECLARE @TBL_GROUP_CODE_ASS_USE TABLE (GROUP_ID VARCHAR(15)) INSERT INTO @TBL_CHECK_UPD SELECT A.REQDT_ID, A.ASS_GROUP_ID,A.REQ_DOC_ID FROM TR_REQUEST_SHOP_DOC_DT A WHERE A.REQ_DOC_ID = @REQ_DOC_ID AND A.REQ_DT_TYPE = 'XKSD' AND A.TYPE_XL = 'CPDC' DECLARE @C_REQDT_ID VARCHAR(15), @C_ASS_GROUP_ID VARCHAR(15), @C_REQ_DOC_ID VARCHAR(15) DECLARE @IS_MULTI_GROUP VARCHAR(1) = '0' DECLARE DATA_CURSOR_CHECK_UPD CURSOR FOR SELECT * FROM @TBL_CHECK_UPD OPEN DATA_CURSOR_CHECK_UPD FETCH NEXT FROM DATA_CURSOR_CHECK_UPD INTO @C_REQDT_ID,@C_ASS_GROUP_ID,@C_REQ_DOC_ID DECLARE @ALLOCATED INT,@ALLOCATED_CURR INT, @ALLOCATED_OLD INT, @QTY_ETM INT WHILE @@FETCH_STATUS = 0 BEGIN SET @IS_MULTI_GROUP = '0' DELETE @TBL_GROUP_CODE_ASS_USE INSERT INTO @TBL_GROUP_CODE_ASS_USE (GROUP_ID) SELECT A.GROUP_ID FROM ASS_GROUP A WHERE A.GROUP_CODE IN (SELECT B.GROUP_CODE FROM ASS_GROUP B WHERE B.GROUP_ID = @C_ASS_GROUP_ID) IF((SELECT COUNT(*) FROM @TBL_GROUP_CODE_ASS_USE WHERE GROUP_ID IN (SELECT trsdd.ASS_GROUP_ID FROM TR_REQUEST_SHOP_DOC_DT trsdd WHERE trsdd.REQ_DOC_ID = @C_REQ_DOC_ID AND trsdd.REQ_DT_TYPE = 'XKSD' AND trsdd.TYPE_XL = 'CPDC')) > 1) BEGIN SET @IS_MULTI_GROUP = '1' END SET @ALLOCATED_CURR = (SELECT SUM(TMP.COUNT) FROM ( (SELECT COUNT(*) AS COUNT FROM ASS_TRANSFER_MULTI_DT A LEFT JOIN ASS_TRANSFER_MULTI_MASTER B ON A.TRANS_MULTI_MASTER_ID = B.TRANS_MULTI_MASTER_ID LEFT JOIN ASS_MASTER C ON A.ASSET_ID = C.ASSET_ID WHERE A.TRANS_MULTI_MASTER_ID = @p_TRANSFER_MULTI_ID GROUP BY B.REQ_ID, C.GROUP_ID, C.REQ_ID HAVING B.REQ_ID = @C_REQ_DOC_ID AND C.GROUP_ID IN (SELECT GROUP_ID FROM @TBL_GROUP_CODE_ASS_USE WHERE ((@IS_MULTI_GROUP = '1' AND C.GROUP_ID = @C_ASS_GROUP_ID) OR @IS_MULTI_GROUP = '0')) AND (C.REQ_ID IS NULL OR C.REQ_ID = '')))TMP) SELECT TOP 1 @ALLOCATED_OLD = trsdd.ALLOCATED, @QTY_ETM = trsdd.QTY_ETM FROM TR_REQUEST_SHOP_DOC_DT trsdd WHERE trsdd.REQDT_ID = @C_REQDT_ID IF(@QTY_ETM < (ISNULL(@ALLOCATED_OLD,0) + ISNULL(@ALLOCATED_CURR,0))) BEGIN ROLLBACK TRANSACTION CLOSE DATA_CURSOR_CHECK_UPD DEALLOCATE DATA_CURSOR_CHECK_UPD SELECT '-1' as Result, '' USER_MASTER_ID, N'Số lượng cấp phát vượt yêu cầu của đơn vị' +ISNULL(@MESSAGE,',') ErrorDesc RETURN '-1' END FETCH NEXT FROM DATA_CURSOR_CHECK_UPD INTO @C_REQDT_ID,@C_ASS_GROUP_ID,@C_REQ_DOC_ID END CLOSE DATA_CURSOR_CHECK_UPD DEALLOCATE DATA_CURSOR_CHECK_UPD END COMMIT TRANSACTION SELECT '0' as Result, N'Hồ sơ số: '+@p_TRANSFER_MULTI_ID+@NOTISENDAPP + ISNULL(@MESSAGE,'') ErrorDesc, @p_TRANSFER_MULTI_ID TRANS_MULTI_MASTER_ID RETURN '0' ABORT: BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' TRANS_MULTI_MASTER_ID, '' ErrorDesc RETURN '-1' END