고객cs관리 접수자, 조치자 직접 선택, 수량 필수값 제거 등

This commit is contained in:
2026-01-15 14:19:17 +09:00
parent cdb6c0a3fc
commit 6b2108e93c
6 changed files with 42 additions and 18 deletions

View File

@@ -798,7 +798,9 @@ public class QualityController {
// 고객사
code_map.put("customer_cd", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("customer_objid")), "common.getClientMngSupplySelect"));
// 제품구분
code_map.put("product_cd", commonService.bizMakeOptionList("0000001", CommonUtils.nullToEmpty((String)info.get("product_type")), "common.getCodeselect"));
code_map.put("product_cd", commonService.bizMakeOptionList("0000001", CommonUtils.nullToEmpty((String)info.get("product_type")), "common.getCodeselect"));
// 접수자 (사용자 목록)
code_map.put("user_cd", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("receipt_user_id")), "common.getUserselect"));
} catch(Exception e) {
e.printStackTrace();
}
@@ -828,6 +830,8 @@ public class QualityController {
info = service.getCustomerCsInfo(paramMap);
// 조치구분
code_map.put("action_type", commonService.bizMakeOptionList("0001835", CommonUtils.nullToEmpty((String)info.get("action_type")), "common.getCodeselect"));
// 조치자 (사용자 목록)
code_map.put("user_cd", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("action_user_id")), "common.getUserselect"));
} catch(Exception e) {
e.printStackTrace();
}

View File

@@ -1938,13 +1938,15 @@
, CODE_NAME(CCS.ACTION_TYPE) AS ACTION_TYPE_NAME
, CCS.ACTION_CONTENT
, CCS.BLAME_DECISION
, CASE CCS.BLAME_DECISION WHEN 'R' THEN 'RPS' WHEN 'C' THEN '고객사' WHEN 'O' THEN '외주업체' ELSE CCS.BLAME_DECISION END AS BLAME_DECISION_NAME
, CASE CCS.BLAME_DECISION WHEN 'R' THEN 'RPS' WHEN 'C' THEN '고객사' WHEN 'O' THEN '외주업체' WHEN 'E' THEN '단순문의' ELSE CCS.BLAME_DECISION END AS BLAME_DECISION_NAME
, CCS.STATUS
, CCS.REMARK
, CCS.ACTION_DATE
, CCS.ACTION_USER_ID
, CCS.WRITER
, USER_NAME(CCS.WRITER) as WRITER_NAME
, CCS.RECEIPT_USER_ID
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = CCS.RECEIPT_USER_ID) AS RECEIPT_USER_NAME
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = CCS.ACTION_USER_ID) AS ACTION_USER_NAME
, (SELECT COUNT(*) FROM ATTACH_FILE_INFO AFI WHERE AFI.TARGET_OBJID = CCS.OBJID AND AFI.DOC_TYPE = 'CUSTOMER_CS_IMAGE' AND STATUS = 'Active') AS IMAGE_FILE
, (SELECT COUNT(*) FROM ATTACH_FILE_INFO AFI WHERE AFI.TARGET_OBJID = CCS.OBJID AND AFI.DOC_TYPE = 'CUSTOMER_CS_ACTION' AND STATUS = 'Active') AS ATTACH_FILE
@@ -2033,6 +2035,8 @@
, CCS.ATTACH_FILE_OBJID
, CCS.WRITER
, USER_NAME(CCS.WRITER) AS WRITER_NAME
, CCS.RECEIPT_USER_ID
, (SELECT USER_NAME FROM USER_INFO WHERE USER_ID = CCS.RECEIPT_USER_ID) AS RECEIPT_USER_NAME
, TO_CHAR(CCS.REG_DATE, 'YYYY-MM-DD') AS REG_DATE
FROM CUSTOMER_CS CCS
WHERE CCS.OBJID = #{OBJID}
@@ -2069,6 +2073,7 @@
, STATUS
, REMARK
, WRITER
, RECEIPT_USER_ID
, REG_DATE
) VALUES (
#{OBJID}
@@ -2090,6 +2095,7 @@
, #{STATUS}
, #{REMARK}
, #{WRITER}
, #{RECEIPT_USER_ID}
, NOW()
)
</insert>
@@ -2110,6 +2116,7 @@
, SERIAL_NO = #{SERIAL_NO}
, MANUFACTURER = #{MANUFACTURER}
, COMPLAINT_CONTENT = #{COMPLAINT_CONTENT}
, RECEIPT_USER_ID = #{RECEIPT_USER_ID}
, MOD_DATE = NOW()
WHERE OBJID = #{OBJID}
</update>

View File

@@ -1585,10 +1585,13 @@ public class QualityService extends BaseService{
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
PersonBean person = (PersonBean) request.getSession().getAttribute(Constants.PERSON_BEAN);
String actionUserId = person != null ? person.getUserId() : "";
paramMap.put("ACTION_USER_ID", actionUserId);
// 조치자가 선택되지 않은 경우에만 접속자 ID 사용
String actionUserId = CommonUtils.checkNull(paramMap.get("ACTION_USER_ID"));
if(actionUserId.isEmpty()){
PersonBean person = (PersonBean) request.getSession().getAttribute(Constants.PERSON_BEAN);
actionUserId = person != null ? person.getUserId() : "";
paramMap.put("ACTION_USER_ID", actionUserId);
}
sqlSession.update("quality.updateCustomerCsAction", paramMap);