diff --git a/WebContent/WEB-INF/view/quality/customerCsActionFormPopUp.jsp b/WebContent/WEB-INF/view/quality/customerCsActionFormPopUp.jsp
index 8293bbb..8fedda8 100644
--- a/WebContent/WEB-INF/view/quality/customerCsActionFormPopUp.jsp
+++ b/WebContent/WEB-INF/view/quality/customerCsActionFormPopUp.jsp
@@ -22,8 +22,8 @@ String actionDate = CommonUtils.checkNull(info.get("action_date"));
if(actionDate.isEmpty()) actionDate = today;
// 조치자
-String actionUserName = CommonUtils.checkNull(info.get("action_user_name"));
-if(actionUserName.isEmpty()) actionUserName = connectUserName;
+String actionUserId = CommonUtils.checkNull(info.get("action_user_id"));
+if(actionUserId.isEmpty()) actionUserId = connectUserId;
%>
@@ -56,8 +56,10 @@ $(document).ready(function(){
// 기존 값 선택
var savedBlameDecision = "${info.blame_decision}";
var savedStatus = "${info.status}";
+ var savedActionUserId = "<%=actionUserId%>";
if(savedBlameDecision) $("#BLAME_DECISION").val(savedBlameDecision).trigger('change');
if(savedStatus) $("#STATUS").val(savedStatus).trigger('change');
+ if(savedActionUserId) $("#ACTION_USER_ID").val(savedActionUserId).trigger('change');
// 뷰 모드일 경우 입력 필드 비활성화
if(isViewMode){
@@ -336,7 +338,7 @@ function fn_save(){
|
${info.receipt_date} |
|
- ${info.writer_name} |
+ ${info.receipt_user_name} |
|
@@ -432,7 +434,10 @@ function fn_save(){
|
-
+
|
diff --git a/WebContent/WEB-INF/view/quality/customerCsDefectFormPopUp.jsp b/WebContent/WEB-INF/view/quality/customerCsDefectFormPopUp.jsp
index 4c42664..9ca42cf 100644
--- a/WebContent/WEB-INF/view/quality/customerCsDefectFormPopUp.jsp
+++ b/WebContent/WEB-INF/view/quality/customerCsDefectFormPopUp.jsp
@@ -22,8 +22,8 @@ if(objId.isEmpty()){
}
// 접수자/작성자
-String writerName = CommonUtils.checkNull(info.get("writer_name"));
-if(writerName.isEmpty()) writerName = connectUserName;
+String receiptUserId = CommonUtils.checkNull(info.get("receipt_user_id"));
+if(receiptUserId.isEmpty()) receiptUserId = connectUserId;
%>
@@ -43,8 +43,10 @@ $(document).ready(function(){
// 수정 모드인 경우 기존 값 선택
var savedBlameDecision = "${info.blame_decision}";
var savedStatus = "${info.status}";
+ var savedWriter = "<%=receiptUserId%>";
if(savedBlameDecision) $("#BLAME_DECISION").val(savedBlameDecision).trigger('change');
if(savedStatus) $("#STATUS").val(savedStatus).trigger('change');
+ if(savedWriter) $("#RECEIPT_USER_ID").val(savedWriter).trigger('change');
// 저장
@@ -147,9 +149,12 @@ function fn_save(){
|
|
- |
+ |
-
+
|
@@ -162,9 +167,9 @@ function fn_save(){
- |
+ |
-
+
|
|
@@ -224,7 +229,7 @@ function fn_save(){
|
|
-
+
|
diff --git a/WebContent/WEB-INF/view/quality/customerCsList.jsp b/WebContent/WEB-INF/view/quality/customerCsList.jsp
index 2662b1b..dfa769c 100644
--- a/WebContent/WEB-INF/view/quality/customerCsList.jsp
+++ b/WebContent/WEB-INF/view/quality/customerCsList.jsp
@@ -103,7 +103,7 @@ var columns = [
{headerHozAlign:'center', hozAlign:'right', minWidth:70, widthGrow:1, title:'수량', field:'QTY',
formatter:"money", formatterParams:{thousand:",", precision:false}
},
- {headerHozAlign:'center', hozAlign:'center', minWidth:80, widthGrow:1, title:'접수자', field:'WRITER_NAME'},
+ {headerHozAlign:'center', hozAlign:'center', minWidth:80, widthGrow:1, title:'접수자', field:'RECEIPT_USER_NAME'},
//{headerHozAlign:'center', hozAlign:'left', minWidth:100, widthGrow:1, title:'모델명', field:'MODEL_NAME'},
//{headerHozAlign:'center', hozAlign:'left', minWidth:100, widthGrow:1, title:'부품품명', field:'PART_NAME'},
diff --git a/src/com/pms/controller/QualityController.java b/src/com/pms/controller/QualityController.java
index 2a7c9a5..67afadb 100644
--- a/src/com/pms/controller/QualityController.java
+++ b/src/com/pms/controller/QualityController.java
@@ -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();
}
diff --git a/src/com/pms/mapper/quality.xml b/src/com/pms/mapper/quality.xml
index 7010232..ed91339 100644
--- a/src/com/pms/mapper/quality.xml
+++ b/src/com/pms/mapper/quality.xml
@@ -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()
)
@@ -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}
diff --git a/src/com/pms/service/QualityService.java b/src/com/pms/service/QualityService.java
index 0c7dd6d..8d5ff31 100644
--- a/src/com/pms/service/QualityService.java
+++ b/src/com/pms/service/QualityService.java
@@ -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);