Merge pull request '신규 판매점 등록시 2차이상인경우 정가 가격 등록' (#343) from feature/rjy-0113 into dev

Reviewed-on: #343
This commit is contained in:
RyuJeYoung 2026-01-23 15:15:59 +09:00
commit 33d92eb56d
3 changed files with 71 additions and 7 deletions

View File

@ -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;
/**
* 영업사원 삭제
*

View File

@ -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());
}

View File

@ -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}
);
</insert>
@ -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()
);
</insert>
@ -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}
);
</insert>
<select id="getStoreUnitPriceChk" parameterType="com.interplug.qcast.biz.user.dto.StoreRequest" resultType="Integer">
/* sqlid : com.interplug.qcast.user.getStoreUnitPriceChk */
SELECT
COUNT(1)
FROM M_SALE_STORE_PRICE
WHERE
SALE_STORE_ID = #{saleStoreId}
</select>
<insert id="setStoreUnitPrice" parameterType="com.interplug.qcast.biz.user.dto.StoreRequest" >
/* 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'
</insert>
<insert id="setStoreNorthModuleSave" parameterType="com.interplug.qcast.biz.user.dto.StoreRequest" >
/* sqlid : com.interplug.qcast.user.setStoreNorthModuleSave */
MERGE INTO M_SALES_STORE_NORTH_MODULE AS A