diff --git a/src/main/java/com/interplug/qcast/biz/user/UserMapper.java b/src/main/java/com/interplug/qcast/biz/user/UserMapper.java index 26ea7cb4..aa862d29 100644 --- a/src/main/java/com/interplug/qcast/biz/user/UserMapper.java +++ b/src/main/java/com/interplug/qcast/biz/user/UserMapper.java @@ -54,6 +54,24 @@ public interface UserMapper { */ int setUserSave(UserRequest userReqList) throws Exception; + /** + * 판매점의 정가가격 등록 여부 체크(2차점이상인 판매점만 해당) + * + * @param storeReq + * @return + * @throws Exception + */ + int getStoreUnitPriceChk(StoreRequest storeReq) throws Exception; + + /** + * 판매점의 정가가격 등록 + * + * @param storeReq + * @return + * @throws Exception + */ + int setStoreUnitPrice(StoreRequest storeReq) throws Exception; + /** * 영업사원 삭제 * diff --git a/src/main/java/com/interplug/qcast/biz/user/UserService.java b/src/main/java/com/interplug/qcast/biz/user/UserService.java index 74bb9e32..dbad77a2 100644 --- a/src/main/java/com/interplug/qcast/biz/user/UserService.java +++ b/src/main/java/com/interplug/qcast/biz/user/UserService.java @@ -74,6 +74,14 @@ public class UserService { userMapper.setStoreInfoSave(storeRequest); userMapper.setStoreSapCdSave(storeRequest); userMapper.setStoreNorthModuleSave(storeRequest); + + // 2차점 이상인 판매점 신규 등록시 판매점에 정가 가격 추가 + if ("1".equals(storeRequest.getSecondAgentFlg())) { + if (userMapper.getStoreUnitPriceChk(storeRequest) == 0) { + // 등록된 가격이 없는경우 정가 가격 등록 + userMapper.setStoreUnitPrice(storeRequest); + } + } } catch (Exception e) { log.error(e.getMessage()); } diff --git a/src/main/resources/mappers/user/userMapper.xml b/src/main/resources/mappers/user/userMapper.xml index 3b81b23e..c6c201dc 100644 --- a/src/main/resources/mappers/user/userMapper.xml +++ b/src/main/resources/mappers/user/userMapper.xml @@ -87,8 +87,9 @@ , DISP_FAX = #{dispFax} , DISP_MAIL = #{dispMail} , SALE_STORE_LEVEL = #{saleStoreLevel} + , PRICE_PATTERN = (CASE WHEN ISNULL(PRICE_PATTERN, '') = '' AND #{secondAgentFlg} = '1' THEN '510' ELSE PRICE_PATTERN END) , DEL_FLG = #{delFlg} - , LAST_EDIT_DATETIME = #{lastEditDatetime} + , LAST_EDIT_DATETIME = GETDATE() , LAST_EDIT_USER = #{lastEditUser} WHEN NOT MATCHED THEN INSERT ( @@ -107,6 +108,7 @@ , SECOND_AGENT_FLG , FIRST_AGENT_ID , PARENT_SALE_AGENT_ID + , PRICE_PATTERN , OUTPUT_COMP_CLASS -- 출력 대비표 분류 , INDUSTRIAL_OUTPUT_COMP_CLASS -- 산업출력 대비표 출력 , FIXED_PRICE_FLG -- 정가 표시 @@ -143,6 +145,7 @@ , #{secondAgentFlg} , #{firstAgentId} , #{parentSaleAgentId} + , (CASE WHEN #{secondAgentFlg} = '1' THEN '510' ELSE NULL END) , 0 -- 출력 대비표 분류 , 0 -- 산업출력 대비표 출력 , 0 -- 정가 표시 @@ -161,7 +164,7 @@ , #{registDatetime} , 0 , 0 -- 적설 - , #{lastEditDatetime} + , GETDATE() , #{lastEditUser} ); @@ -175,7 +178,7 @@ WHEN MATCHED THEN UPDATE SET BIZ_NO = #{bizNo} - , LAST_EDIT_DATETIME = (CASE WHEN #{lastEditDatetime} != '' THEN #{lastEditDatetime} ELSE #{registDatetime} END) + , LAST_EDIT_DATETIME = GETDATE() WHEN NOT MATCHED THEN INSERT ( SALE_STORE_ID @@ -184,7 +187,7 @@ ) VALUES ( #{saleStoreId} , #{bizNo} - , (CASE WHEN #{lastEditDatetime} != '' THEN #{lastEditDatetime} ELSE #{registDatetime} END) + , GETDATE() ); @@ -207,7 +210,7 @@ , TEL = #{tel} , FAX = #{fax} , MAIL = #{mail} - , LAST_EDIT_DATETIME = #{lastEditDatetime} + , LAST_EDIT_DATETIME = GETDATE() , LAST_EDIT_USER = #{lastEditUser} -- , GROUP_ID -- '70000' , '60000' -- , MODULE_SELECT_GROUP_ID -- 모듈 선택 그룹 ('G1','GA' ,'G2') @@ -226,6 +229,8 @@ , FAX , MAIL , GROUP_ID + , MODULE_SELECT_GROUP_ID + , VERSION_MANAGEMENT_ID , DISP_COST_PRICE , DISP_SELLING_PRICE , REGIST_DATETIME @@ -242,14 +247,47 @@ , #{fax} , #{mail} , #{groupId} + , 'G1' /* 일반 공개용 */ + , 'hanbaiten' /* 일반 판매점 */ , 0 , 0 - , #{registDatetime} - , #{lastEditDatetime} + , GETDATE() + , GETDATE() , #{lastEditUser} ); + + + + /* sqlid : com.interplug.qcast.user.setStoreUnitPrice */ + INSERT INTO M_SALE_STORE_PRICE( + SALE_STORE_ID + , ITEM_ID + , COST_PRICE + , SALE_PRICE + , DISP_FLG + , LAST_EDIT_DATETIME + , LAST_EDIT_USER + ) + SELECT #{saleStoreId} + , ITEM_ID + , COST_PRICE + , SALE_PRICE + , '1' + , GETDATE() + , #{lastEditUser} + FROM M_PRICE_PATTERN_MONEY + WHERE PRICE_PATTERN = '510' + + /* sqlid : com.interplug.qcast.user.setStoreNorthModuleSave */ MERGE INTO M_SALES_STORE_NORTH_MODULE AS A