고객cs관리 접수자, 조치자 직접 선택, 수량 필수값 제거 등
This commit is contained in:
@@ -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;
|
||||
%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
@@ -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(){
|
||||
<td class="input_title"><label>접수일</label></td>
|
||||
<td>${info.receipt_date}</td>
|
||||
<td class="input_title"><label>접수자</label></td>
|
||||
<td>${info.writer_name}</td>
|
||||
<td>${info.receipt_user_name}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="input_title"><label>고객사</label></td>
|
||||
@@ -432,7 +434,10 @@ function fn_save(){
|
||||
</td>
|
||||
<td class="input_title"><label>조치자 <span style="color:red;">*</span></label></td>
|
||||
<td>
|
||||
<input type="text" name="ACTION_USER_NAME" id="ACTION_USER_NAME" value="<%=actionUserName%>" readonly>
|
||||
<select name="ACTION_USER_ID" id="ACTION_USER_ID" class="select2" required reqTitle="조치자" type="select" style="width:100%;">
|
||||
<option value="">선택</option>
|
||||
${code_map.user_cd}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@@ -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;
|
||||
%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
@@ -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(){
|
||||
<td>
|
||||
<input type="text" name="RECEIPT_DATE" id="RECEIPT_DATE" class="date_icon" required reqTitle="접수일" value="${info.receipt_date}">
|
||||
</td>
|
||||
<td class="input_title"><label>접수자</label></td>
|
||||
<td class="input_title"><label>접수자 <span style="color:red;">*</span></label></td>
|
||||
<td>
|
||||
<input type="text" id="ACTION_USER_NAME" value="<%=writerName%>" readonly>
|
||||
<select name="RECEIPT_USER_ID" id="RECEIPT_USER_ID" class="select2" required reqTitle="접수자" type="select" style="width:100%;">
|
||||
<option value="">선택</option>
|
||||
${code_map.user_cd}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -162,9 +167,9 @@ function fn_save(){
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="input_title"><label>수량 <span style="color:red;">*</span></label></td>
|
||||
<td class="input_title"><label>수량</label></td>
|
||||
<td>
|
||||
<input type="text" name="QTY" id="QTY" value="${info.qty}" required reqTitle="수량">
|
||||
<input type="text" name="QTY" id="QTY" value="${info.qty}" reqTitle="수량">
|
||||
</td>
|
||||
<td class="input_title"><label>제품구분 <span style="color:red;">*</span></label></td>
|
||||
<td>
|
||||
@@ -224,7 +229,7 @@ function fn_save(){
|
||||
<tr>
|
||||
<td class="input_title"><label>이슈내용 <span style="color:red;">*</span></label></td>
|
||||
<td colspan="3">
|
||||
<textarea name="COMPLAINT_CONTENT" id="COMPLAINT_CONTENT" rows="3" style="width:100%;" required reqTitle="불만내용" type="text">${info.complaint_content}</textarea>
|
||||
<textarea name="COMPLAINT_CONTENT" id="COMPLAINT_CONTENT" rows="3" style="width:100%;" required reqTitle="이슈내용" type="text">${info.complaint_content}</textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -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'},
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user