Compare commits
4 Commits
eac814bbe0
...
bb04a579ad
| Author | SHA1 | Date | |
|---|---|---|---|
| bb04a579ad | |||
| 1371733a37 | |||
| f4d7d343d9 | |||
| 6b2108e93c |
@@ -47,6 +47,12 @@ body {
|
|||||||
background-color: #fff9c4 !important;
|
background-color: #fff9c4 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 선택된 행 하이라이트 스타일 */
|
||||||
|
.tabulator-row.row-selected {
|
||||||
|
background-color: #b8daff !important;
|
||||||
|
border: 1px solid #007bff !important;
|
||||||
|
}
|
||||||
|
|
||||||
/* Select2 in Tabulator 스타일 */
|
/* Select2 in Tabulator 스타일 */
|
||||||
.tabulator-cell .select2-container {
|
.tabulator-cell .select2-container {
|
||||||
width: 100% !important;
|
width: 100% !important;
|
||||||
@@ -72,6 +78,7 @@ body {
|
|||||||
</style>
|
</style>
|
||||||
<script>
|
<script>
|
||||||
var _tabulGrid;
|
var _tabulGrid;
|
||||||
|
var selectedRowData = null; // 선택된 행 데이터
|
||||||
// 프로젝트 수주수량 (최상위 프레임에서 가져오기)
|
// 프로젝트 수주수량 (최상위 프레임에서 가져오기)
|
||||||
var projectQuantity = 1; // 기본값
|
var projectQuantity = 1; // 기본값
|
||||||
|
|
||||||
@@ -256,7 +263,9 @@ function fn_initGrid() {
|
|||||||
levelColumns.push({
|
levelColumns.push({
|
||||||
headerHozAlign: 'center',
|
headerHozAlign: 'center',
|
||||||
hozAlign: 'center',
|
hozAlign: 'center',
|
||||||
width: 10,
|
width: 25,
|
||||||
|
minWidth: 25,
|
||||||
|
maxWidth: 25,
|
||||||
title: i,
|
title: i,
|
||||||
field: 'LEVEL_' + i,
|
field: 'LEVEL_' + i,
|
||||||
formatter: function(cell) {
|
formatter: function(cell) {
|
||||||
@@ -293,7 +302,7 @@ function fn_initGrid() {
|
|||||||
{
|
{
|
||||||
headerHozAlign: 'center',
|
headerHozAlign: 'center',
|
||||||
hozAlign: 'center',
|
hozAlign: 'center',
|
||||||
width: 60,
|
width: 50,
|
||||||
title: '수량',
|
title: '수량',
|
||||||
field: 'QTY_TEMP',
|
field: 'QTY_TEMP',
|
||||||
visible: true
|
visible: true
|
||||||
@@ -339,7 +348,7 @@ function fn_initGrid() {
|
|||||||
{
|
{
|
||||||
headerHozAlign: 'center',
|
headerHozAlign: 'center',
|
||||||
hozAlign: 'center',
|
hozAlign: 'center',
|
||||||
width: 60,
|
width: 50,
|
||||||
title: '3D',
|
title: '3D',
|
||||||
field: 'CU01_CNT',
|
field: 'CU01_CNT',
|
||||||
visible: true,
|
visible: true,
|
||||||
@@ -351,7 +360,7 @@ function fn_initGrid() {
|
|||||||
{
|
{
|
||||||
headerHozAlign: 'center',
|
headerHozAlign: 'center',
|
||||||
hozAlign: 'center',
|
hozAlign: 'center',
|
||||||
width: 60,
|
width: 50,
|
||||||
title: '2D',
|
title: '2D',
|
||||||
field: 'CU02_CNT',
|
field: 'CU02_CNT',
|
||||||
visible: true,
|
visible: true,
|
||||||
@@ -430,7 +439,7 @@ function fn_initGrid() {
|
|||||||
{
|
{
|
||||||
headerHozAlign: 'center',
|
headerHozAlign: 'center',
|
||||||
hozAlign: 'center',
|
hozAlign: 'center',
|
||||||
width: 100,
|
width: 70,
|
||||||
title: '자급/사급',
|
title: '자급/사급',
|
||||||
field: 'SUPPLY_TYPE',
|
field: 'SUPPLY_TYPE',
|
||||||
titleFormatter: function() { return '<span class="editable-header">자급/사급</span>'; },
|
titleFormatter: function() { return '<span class="editable-header">자급/사급</span>'; },
|
||||||
@@ -877,6 +886,26 @@ function fn_initGrid() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 행 클릭 시 선택 처리 이벤트
|
||||||
|
_tabulGrid.on("rowClick", function(e, row) {
|
||||||
|
// 링크 클릭 시에는 기본 동작 유지
|
||||||
|
if($(e.target).is('a')) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 기존 선택 해제
|
||||||
|
$('.tabulator-row.row-selected').removeClass('row-selected');
|
||||||
|
$('input[name=checkedPartNo]').prop('checked', false);
|
||||||
|
|
||||||
|
// 현재 행 선택
|
||||||
|
$(row.getElement()).addClass('row-selected');
|
||||||
|
var rowData = row.getData();
|
||||||
|
selectedRowData = rowData;
|
||||||
|
|
||||||
|
// 해당 행의 라디오 버튼 선택
|
||||||
|
$(row.getElement()).find('input[name=checkedPartNo]').prop('checked', true);
|
||||||
|
});
|
||||||
|
|
||||||
// 셀 편집 이벤트 등록
|
// 셀 편집 이벤트 등록
|
||||||
_tabulGrid.on("cellEdited", function(cell) {
|
_tabulGrid.on("cellEdited", function(cell) {
|
||||||
var field = cell.getField();
|
var field = cell.getField();
|
||||||
@@ -1016,6 +1045,11 @@ function applyBulkDeadline(processingDeadline, grindingDeadline) {
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// 선택된 행 데이터 가져오기 (Center 프레임에서 사용)
|
||||||
|
function getSelectedRowData() {
|
||||||
|
return selectedRowData;
|
||||||
|
}
|
||||||
|
|
||||||
// M-BOM 트리 데이터 수집 (저장용)
|
// M-BOM 트리 데이터 수집 (저장용)
|
||||||
function getMbomTreeData() {
|
function getMbomTreeData() {
|
||||||
var allData = _tabulGrid.getData();
|
var allData = _tabulGrid.getData();
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ String actionDate = CommonUtils.checkNull(info.get("action_date"));
|
|||||||
if(actionDate.isEmpty()) actionDate = today;
|
if(actionDate.isEmpty()) actionDate = today;
|
||||||
|
|
||||||
// 조치자
|
// 조치자
|
||||||
String actionUserName = CommonUtils.checkNull(info.get("action_user_name"));
|
String actionUserId = CommonUtils.checkNull(info.get("action_user_id"));
|
||||||
if(actionUserName.isEmpty()) actionUserName = connectUserName;
|
if(actionUserId.isEmpty()) actionUserId = connectUserId;
|
||||||
%>
|
%>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
@@ -56,8 +56,10 @@ $(document).ready(function(){
|
|||||||
// 기존 값 선택
|
// 기존 값 선택
|
||||||
var savedBlameDecision = "${info.blame_decision}";
|
var savedBlameDecision = "${info.blame_decision}";
|
||||||
var savedStatus = "${info.status}";
|
var savedStatus = "${info.status}";
|
||||||
|
var savedActionUserId = "<%=actionUserId%>";
|
||||||
if(savedBlameDecision) $("#BLAME_DECISION").val(savedBlameDecision).trigger('change');
|
if(savedBlameDecision) $("#BLAME_DECISION").val(savedBlameDecision).trigger('change');
|
||||||
if(savedStatus) $("#STATUS").val(savedStatus).trigger('change');
|
if(savedStatus) $("#STATUS").val(savedStatus).trigger('change');
|
||||||
|
if(savedActionUserId) $("#ACTION_USER_ID").val(savedActionUserId).trigger('change');
|
||||||
|
|
||||||
// 뷰 모드일 경우 입력 필드 비활성화
|
// 뷰 모드일 경우 입력 필드 비활성화
|
||||||
if(isViewMode){
|
if(isViewMode){
|
||||||
@@ -336,7 +338,7 @@ function fn_save(){
|
|||||||
<td class="input_title"><label>접수일</label></td>
|
<td class="input_title"><label>접수일</label></td>
|
||||||
<td>${info.receipt_date}</td>
|
<td>${info.receipt_date}</td>
|
||||||
<td class="input_title"><label>접수자</label></td>
|
<td class="input_title"><label>접수자</label></td>
|
||||||
<td>${info.writer_name}</td>
|
<td>${info.receipt_user_name}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="input_title"><label>고객사</label></td>
|
<td class="input_title"><label>고객사</label></td>
|
||||||
@@ -413,7 +415,7 @@ function fn_save(){
|
|||||||
<option value="R" ${info.BLAME_DECISION eq 'R' ? 'selected' : ''}>RPS</option>
|
<option value="R" ${info.BLAME_DECISION eq 'R' ? 'selected' : ''}>RPS</option>
|
||||||
<option value="C" ${info.BLAME_DECISION eq 'C' ? 'selected' : ''}>고객사</option>
|
<option value="C" ${info.BLAME_DECISION eq 'C' ? 'selected' : ''}>고객사</option>
|
||||||
<option value="O" ${info.BLAME_DECISION eq 'O' ? 'selected' : ''}>외주업체</option>
|
<option value="O" ${info.BLAME_DECISION eq 'O' ? 'selected' : ''}>외주업체</option>
|
||||||
<option value="O" ${info.BLAME_DECISION eq 'E' ? 'selected' : ''}>단순문의</option>
|
<option value="E" ${info.BLAME_DECISION eq 'E' ? 'selected' : ''}>단순문의</option>
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
<td class="input_title"><label>상태 <span style="color:red;">*</span></label></td>
|
<td class="input_title"><label>상태 <span style="color:red;">*</span></label></td>
|
||||||
@@ -432,7 +434,10 @@ function fn_save(){
|
|||||||
</td>
|
</td>
|
||||||
<td class="input_title"><label>조치자 <span style="color:red;">*</span></label></td>
|
<td class="input_title"><label>조치자 <span style="color:red;">*</span></label></td>
|
||||||
<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>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ if(objId.isEmpty()){
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 접수자/작성자
|
// 접수자/작성자
|
||||||
String writerName = CommonUtils.checkNull(info.get("writer_name"));
|
String receiptUserId = CommonUtils.checkNull(info.get("receipt_user_id"));
|
||||||
if(writerName.isEmpty()) writerName = connectUserName;
|
if(receiptUserId.isEmpty()) receiptUserId = connectUserId;
|
||||||
%>
|
%>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
@@ -43,8 +43,10 @@ $(document).ready(function(){
|
|||||||
// 수정 모드인 경우 기존 값 선택
|
// 수정 모드인 경우 기존 값 선택
|
||||||
var savedBlameDecision = "${info.blame_decision}";
|
var savedBlameDecision = "${info.blame_decision}";
|
||||||
var savedStatus = "${info.status}";
|
var savedStatus = "${info.status}";
|
||||||
|
var savedWriter = "<%=receiptUserId%>";
|
||||||
if(savedBlameDecision) $("#BLAME_DECISION").val(savedBlameDecision).trigger('change');
|
if(savedBlameDecision) $("#BLAME_DECISION").val(savedBlameDecision).trigger('change');
|
||||||
if(savedStatus) $("#STATUS").val(savedStatus).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>
|
<td>
|
||||||
<input type="text" name="RECEIPT_DATE" id="RECEIPT_DATE" class="date_icon" required reqTitle="접수일" value="${info.receipt_date}">
|
<input type="text" name="RECEIPT_DATE" id="RECEIPT_DATE" class="date_icon" required reqTitle="접수일" value="${info.receipt_date}">
|
||||||
</td>
|
</td>
|
||||||
<td class="input_title"><label>접수자</label></td>
|
<td class="input_title"><label>접수자 <span style="color:red;">*</span></label></td>
|
||||||
<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>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -162,9 +167,9 @@ function fn_save(){
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="input_title"><label>수량 <span style="color:red;">*</span></label></td>
|
<td class="input_title"><label>수량</label></td>
|
||||||
<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>
|
||||||
<td class="input_title"><label>제품구분 <span style="color:red;">*</span></label></td>
|
<td class="input_title"><label>제품구분 <span style="color:red;">*</span></label></td>
|
||||||
<td>
|
<td>
|
||||||
@@ -224,7 +229,7 @@ function fn_save(){
|
|||||||
<tr>
|
<tr>
|
||||||
<td class="input_title"><label>이슈내용 <span style="color:red;">*</span></label></td>
|
<td class="input_title"><label>이슈내용 <span style="color:red;">*</span></label></td>
|
||||||
<td colspan="3">
|
<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>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ var columns = [
|
|||||||
{headerHozAlign:'center', hozAlign:'right', minWidth:70, widthGrow:1, title:'수량', field:'QTY',
|
{headerHozAlign:'center', hozAlign:'right', minWidth:70, widthGrow:1, title:'수량', field:'QTY',
|
||||||
formatter:"money", formatterParams:{thousand:",", precision:false}
|
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:'MODEL_NAME'},
|
||||||
|
|
||||||
//{headerHozAlign:'center', hozAlign:'left', minWidth:100, widthGrow:1, title:'부품품명', field:'PART_NAME'},
|
//{headerHozAlign:'center', hozAlign:'left', minWidth:100, widthGrow:1, title:'부품품명', field:'PART_NAME'},
|
||||||
|
|||||||
@@ -77,21 +77,28 @@ $(document).ready(function(){
|
|||||||
|
|
||||||
// 컬럼: ECR No, 요청일, 요청자, 품번, 품명, 이슈사항, 완료요청일, 조치부서, 조치담당자, 조치자, 조치내용, 완료일, 이미지파일, 첨부파일, 설계변경요청서
|
// 컬럼: ECR No, 요청일, 요청자, 품번, 품명, 이슈사항, 완료요청일, 조치부서, 조치담당자, 조치자, 조치내용, 완료일, 이미지파일, 첨부파일, 설계변경요청서
|
||||||
var columns = [
|
var columns = [
|
||||||
{headerHozAlign:'center', hozAlign:'center', minWidth:130, widthGrow:1, title:'ECR No', field:'ECR_NO',
|
{headerHozAlign:'center', hozAlign:'center', minWidth:110, widthGrow:1, title:'ECR No', field:'ECR_NO',
|
||||||
formatter:fnc_createGridAnchorTag,
|
formatter:fnc_createGridAnchorTag,
|
||||||
cellClick: function(e, cell){
|
cellClick: function(e, cell){
|
||||||
var objId = fnc_checkNull(cell.getData().OBJID);
|
var objId = fnc_checkNull(cell.getData().OBJID);
|
||||||
fn_viewEcrPopUp(objId);
|
fn_viewEcrPopUp(objId);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{headerHozAlign:'center', hozAlign:'center', minWidth:100, widthGrow:1, title:'요청일', field:'REQUEST_DATE'},
|
{headerHozAlign:'center', hozAlign:'center', minWidth:90, widthGrow:1, title:'요청일', field:'REQUEST_DATE'},
|
||||||
{headerHozAlign:'center', hozAlign:'center', minWidth:80, widthGrow:1, title:'요청자', field:'REQUESTER_NAME'},
|
{headerHozAlign:'center', hozAlign:'center', minWidth:80, widthGrow:1, title:'요청자', field:'REQUESTER_NAME'},
|
||||||
{headerHozAlign:'center', hozAlign:'left', minWidth:120, widthGrow:2, title:'품번', field:'PART_NO'},
|
{headerHozAlign:'center', hozAlign:'left', minWidth:120, widthGrow:2, title:'품번', field:'PART_NO'},
|
||||||
{headerHozAlign:'center', hozAlign:'left', minWidth:150, widthGrow:2, title:'품명', field:'PART_NAME'},
|
{headerHozAlign:'center', hozAlign:'left', minWidth:150, widthGrow:2, title:'품명', field:'PART_NAME'},
|
||||||
{headerHozAlign:'center', hozAlign:'left', minWidth:150, widthGrow:2, title:'이슈사항', field:'ISSUE_CONTENT'},
|
{headerHozAlign:'center', hozAlign:'left', minWidth:150, widthGrow:2, title:'이슈사항', field:'ISSUE_CONTENT'},
|
||||||
{headerHozAlign:'center', hozAlign:'center', minWidth:100, widthGrow:1, title:'완료요청일', field:'DUE_DATE'},
|
{headerHozAlign:'center', hozAlign:'center', minWidth:100, widthGrow:1, title:'완료요청일', field:'DUE_DATE'},
|
||||||
|
{headerHozAlign:'center', hozAlign:'center', minWidth:120, widthGrow:1, title:'설계변경요청서', field:'ECR_DOC_CNT',
|
||||||
|
formatter:fnc_subInfoValueFormatter,
|
||||||
|
cellClick:function(e, cell){
|
||||||
|
var objid = fnc_checkNull(cell.getData().OBJID);
|
||||||
|
fn_openEcrDocPopUp(objid);
|
||||||
|
}
|
||||||
|
},
|
||||||
{headerHozAlign:'center', hozAlign:'center', minWidth:90, widthGrow:1, title:'조치부서', field:'ACTION_DEPT_NAME'},
|
{headerHozAlign:'center', hozAlign:'center', minWidth:90, widthGrow:1, title:'조치부서', field:'ACTION_DEPT_NAME'},
|
||||||
{headerHozAlign:'center', hozAlign:'center', minWidth:100, widthGrow:1, title:'조치담당자', field:'ACTION_MANAGER_NAME'},
|
//{headerHozAlign:'center', hozAlign:'center', minWidth:100, widthGrow:1, title:'조치담당자', field:'ACTION_MANAGER_NAME'},
|
||||||
{headerHozAlign:'center', hozAlign:'center', minWidth:80, widthGrow:1, title:'조치자', field:'ACTION_USER_NAME'},
|
{headerHozAlign:'center', hozAlign:'center', minWidth:80, widthGrow:1, title:'조치자', field:'ACTION_USER_NAME'},
|
||||||
{headerHozAlign:'center', hozAlign:'left', minWidth:150, widthGrow:2, title:'조치내용', field:'ACTION_CONTENT'},
|
{headerHozAlign:'center', hozAlign:'left', minWidth:150, widthGrow:2, title:'조치내용', field:'ACTION_CONTENT'},
|
||||||
{headerHozAlign:'center', hozAlign:'center', minWidth:100, widthGrow:1, title:'완료일', field:'COMPLETE_DATE'},
|
{headerHozAlign:'center', hozAlign:'center', minWidth:100, widthGrow:1, title:'완료일', field:'COMPLETE_DATE'},
|
||||||
@@ -108,13 +115,6 @@ var columns = [
|
|||||||
var objid = fnc_checkNull(cell.getData().OBJID);
|
var objid = fnc_checkNull(cell.getData().OBJID);
|
||||||
fn_FileRegist(objid,"ECR_RESULT","ECR결과첨부");
|
fn_FileRegist(objid,"ECR_RESULT","ECR결과첨부");
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{headerHozAlign:'center', hozAlign:'center', minWidth:110, widthGrow:1, title:'설계변경요청서', field:'ECR_DOC_CNT',
|
|
||||||
formatter:fnc_subInfoValueFormatter,
|
|
||||||
cellClick:function(e, cell){
|
|
||||||
var objid = fnc_checkNull(cell.getData().OBJID);
|
|
||||||
fn_openEcrDocPopUp(objid);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -340,13 +340,13 @@ function fn_approval(){
|
|||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><label>조치담당자</label></td>
|
<!-- <td><label>조치담당자</label></td>
|
||||||
<td>
|
<td>
|
||||||
<select name="search_action_manager" id="search_action_manager" class="select2" style="width:215px;">
|
<select name="search_action_manager" id="search_action_manager" class="select2" style="width:215px;">
|
||||||
<option value="">전체</option>
|
<option value="">전체</option>
|
||||||
${code_map.action_manager_id}
|
${code_map.action_manager_id}
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td> -->
|
||||||
<td><label>조치자</label></td>
|
<td><label>조치자</label></td>
|
||||||
<td>
|
<td>
|
||||||
<select name="search_action_user" id="search_action_user" class="select2" style="width:150px;">
|
<select name="search_action_user" id="search_action_user" class="select2" style="width:150px;">
|
||||||
|
|||||||
@@ -187,7 +187,7 @@ function fn_save(){
|
|||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<!-- <tr>
|
||||||
<td class="input_title"><label>조치담당자</label></td>
|
<td class="input_title"><label>조치담당자</label></td>
|
||||||
<td>
|
<td>
|
||||||
<select name="ACTION_MANAGER_ID" id="ACTION_MANAGER_ID" class="select2" type="select" style="width:100%;">
|
<select name="ACTION_MANAGER_ID" id="ACTION_MANAGER_ID" class="select2" type="select" style="width:100%;">
|
||||||
@@ -197,7 +197,7 @@ function fn_save(){
|
|||||||
</td>
|
</td>
|
||||||
<td class="input_title"><label></label></td>
|
<td class="input_title"><label></label></td>
|
||||||
<td></td>
|
<td></td>
|
||||||
</tr>
|
</tr> -->
|
||||||
<tr>
|
<tr>
|
||||||
<td class="input_title"><label>이슈사항 <span style="color:red;">*</span></label></td>
|
<td class="input_title"><label>이슈사항 <span style="color:red;">*</span></label></td>
|
||||||
<td colspan="3">
|
<td colspan="3">
|
||||||
|
|||||||
@@ -346,9 +346,9 @@ function fn_save(){
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="input_title"><label>조치부서</label></td>
|
<td class="input_title"><label>조치부서</label></td>
|
||||||
<td>${info.action_dept_name}</td>
|
<td colspan="3">${info.action_dept_name}</td>
|
||||||
<td class="input_title"><label>조치담당자</label></td>
|
<!-- <td class="input_title"><label>조치담당자</label></td>
|
||||||
<td>${info.action_manager_name}</td>
|
<td>${info.action_manager_name}</td> -->
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="input_title"><label>이슈사항</label></td>
|
<td class="input_title"><label>이슈사항</label></td>
|
||||||
|
|||||||
@@ -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("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) {
|
} catch(Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
@@ -828,6 +830,8 @@ public class QualityController {
|
|||||||
info = service.getCustomerCsInfo(paramMap);
|
info = service.getCustomerCsInfo(paramMap);
|
||||||
// 조치구분
|
// 조치구분
|
||||||
code_map.put("action_type", commonService.bizMakeOptionList("0001835", CommonUtils.nullToEmpty((String)info.get("action_type")), "common.getCodeselect"));
|
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) {
|
} catch(Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1938,13 +1938,15 @@
|
|||||||
, CODE_NAME(CCS.ACTION_TYPE) AS ACTION_TYPE_NAME
|
, CODE_NAME(CCS.ACTION_TYPE) AS ACTION_TYPE_NAME
|
||||||
, CCS.ACTION_CONTENT
|
, CCS.ACTION_CONTENT
|
||||||
, CCS.BLAME_DECISION
|
, 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.STATUS
|
||||||
, CCS.REMARK
|
, CCS.REMARK
|
||||||
, CCS.ACTION_DATE
|
, CCS.ACTION_DATE
|
||||||
, CCS.ACTION_USER_ID
|
, CCS.ACTION_USER_ID
|
||||||
, CCS.WRITER
|
, CCS.WRITER
|
||||||
, USER_NAME(CCS.WRITER) as WRITER_NAME
|
, 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 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_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
|
, (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.ATTACH_FILE_OBJID
|
||||||
, CCS.WRITER
|
, CCS.WRITER
|
||||||
, USER_NAME(CCS.WRITER) AS WRITER_NAME
|
, 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
|
, TO_CHAR(CCS.REG_DATE, 'YYYY-MM-DD') AS REG_DATE
|
||||||
FROM CUSTOMER_CS CCS
|
FROM CUSTOMER_CS CCS
|
||||||
WHERE CCS.OBJID = #{OBJID}
|
WHERE CCS.OBJID = #{OBJID}
|
||||||
@@ -2069,6 +2073,7 @@
|
|||||||
, STATUS
|
, STATUS
|
||||||
, REMARK
|
, REMARK
|
||||||
, WRITER
|
, WRITER
|
||||||
|
, RECEIPT_USER_ID
|
||||||
, REG_DATE
|
, REG_DATE
|
||||||
) VALUES (
|
) VALUES (
|
||||||
#{OBJID}
|
#{OBJID}
|
||||||
@@ -2090,6 +2095,7 @@
|
|||||||
, #{STATUS}
|
, #{STATUS}
|
||||||
, #{REMARK}
|
, #{REMARK}
|
||||||
, #{WRITER}
|
, #{WRITER}
|
||||||
|
, #{RECEIPT_USER_ID}
|
||||||
, NOW()
|
, NOW()
|
||||||
)
|
)
|
||||||
</insert>
|
</insert>
|
||||||
@@ -2110,6 +2116,7 @@
|
|||||||
, SERIAL_NO = #{SERIAL_NO}
|
, SERIAL_NO = #{SERIAL_NO}
|
||||||
, MANUFACTURER = #{MANUFACTURER}
|
, MANUFACTURER = #{MANUFACTURER}
|
||||||
, COMPLAINT_CONTENT = #{COMPLAINT_CONTENT}
|
, COMPLAINT_CONTENT = #{COMPLAINT_CONTENT}
|
||||||
|
, RECEIPT_USER_ID = #{RECEIPT_USER_ID}
|
||||||
, MOD_DATE = NOW()
|
, MOD_DATE = NOW()
|
||||||
WHERE OBJID = #{OBJID}
|
WHERE OBJID = #{OBJID}
|
||||||
</update>
|
</update>
|
||||||
|
|||||||
@@ -1585,10 +1585,13 @@ public class QualityService extends BaseService{
|
|||||||
try{
|
try{
|
||||||
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
||||||
|
|
||||||
PersonBean person = (PersonBean) request.getSession().getAttribute(Constants.PERSON_BEAN);
|
// 조치자가 선택되지 않은 경우에만 접속자 ID 사용
|
||||||
String actionUserId = person != null ? person.getUserId() : "";
|
String actionUserId = CommonUtils.checkNull(paramMap.get("ACTION_USER_ID"));
|
||||||
|
if(actionUserId.isEmpty()){
|
||||||
paramMap.put("ACTION_USER_ID", actionUserId);
|
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);
|
sqlSession.update("quality.updateCustomerCsAction", paramMap);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user