diff --git a/home_dir/www/ksvc/base/dept/dept.js b/home_dir/www/ksvc/base/dept/dept.js
index 5be5eaf..497ff78 100644
--- a/home_dir/www/ksvc/base/dept/dept.js
+++ b/home_dir/www/ksvc/base/dept/dept.js
@@ -375,16 +375,17 @@ class Tb_dept_class {
},
{ field: "DEPT_NM", title: "부서명", width: 150,
editor: tb_custom_editor.upper,
+ hozAlign:"left",
validator:{
type:tb_custom_validator.stringNumeric,
parameters: "특수문자를 입력할 수 없습니다."
}
},
{ field: "PAR_DEPT_CD", title: "상위부서코드", width: 150, cssClass:"editable-cell" },
- { field: "PAR_DEPT_NM", title: "상위부서명", width: 200, },
+ { field: "PAR_DEPT_NM", title: "상위부서명", width: 200, formatter:function(cell){console.log( this.getWidth());} },
{ field: "BIZ_AREA_CD", title: "사업장코드", width: 150, cssClass:"editable-cell" },
{ field: "BIZ_AREA_NM", title: "사업장명", width: 200, },
- { field: "EMP_NO", title: "관리자", width: 100, cssClass:"editable-cell" },
+ { field: "EMP_NO", title: "관리자", width: 100, cssClass:"editable-cell", },
{ field: "USE_FLG", title: "사용", width: 50, cssClass: "editable-cell", formatter: tb_common_funtions.formatterToggleboxGreenIcon, formatterParams: { checkval: "Y" }, },
];
diff --git a/home_dir/www/ksvc/base/insp/insp.js b/home_dir/www/ksvc/base/insp/insp.js
index 39f6947..eb4fa7e 100644
--- a/home_dir/www/ksvc/base/insp/insp.js
+++ b/home_dir/www/ksvc/base/insp/insp.js
@@ -297,12 +297,13 @@ class Tb_insp_class {
},
{ field: "INSP_NAME", title: "검사항목명", width: 500,
editor: "input",
+ hozAlign:"left",
validator:{
type:tb_custom_validator.stringNumeric,
parameters: "특수문자를 입력할 수 없습니다."
},
},
- { field: "INSP_METH", title: "검사유형", width: 100, editor:"input"},
+ { field: "INSP_METH", title: "검사유형",hozAlign:"left", width: 100, editor:"input"},
{ field: "USEFLAG", title: "사용", width: 50, cssClass: "editable-cell", formatter: tb_common_funtions.formatterToggleboxGreenIcon, formatterParams: { checkval: "Y" }, },
];
@@ -377,10 +378,51 @@ class Tb_insp_class {
this.cellEdited && this.cellEdited(cell);
});
+ //엑셀연결
+ document.getElementById('excel_down').addEventListener('click', function (e) {
+ getExcel2();
+ });
+
+ document.getElementById('excel_up').addEventListener('click', function (e) {
+ document.getElementById('fileInput').click();
+ });
+
+ document.getElementById('fileInput').addEventListener('change', function (e) {
+ let file = e.target.files[0];
+ if (!file) {
+ console.log('파일이 선택되지 않았습니다.');
+ return;
+ }
+ let reader = new FileReader();
+ reader.onload = (e) => {
+ let data = e.target.result;
+ let workbook = XLSX.read(data, { type: 'binary' });
+
+ workbook.SheetNames.forEach((sheetName) => {
+ let rows = XLSX.utils.sheet_to_json(workbook.Sheets[sheetName], { header:1 });
+ console.log(rows);
+ rows.slice(1).forEach((row,index) => {
+ let rowToAdd = {
+ INSP_ITEM: row[0],
+ INSP_NAME: row[1],
+ INSP_METH: row[2],
+ USEFLAG: row[3],
+ _STATUS_: "I"
+ };
+ console.log('행추가 ', rowToAdd);
+ Tb_insp.tbList.addRow(rowToAdd);
+ });
+ });
+ };
+ reader.readAsBinaryString(file);
+ });
+
+
+
// 추가
["click", "keypress"].forEach((evt) => {
this.addBtn.addEventListener(evt, () => {
- this.addRow && this.addRow();
+ this.addRow && this.addRow() && this.addRow(rowToAdd);
});
});
// 삭제
diff --git a/home_dir/www/ksvc/base/insp/insp.php b/home_dir/www/ksvc/base/insp/insp.php
index 87c0e90..43400af 100644
--- a/home_dir/www/ksvc/base/insp/insp.php
+++ b/home_dir/www/ksvc/base/insp/insp.php
@@ -35,6 +35,7 @@ include_once _SVC_INC_PATH_ . "/header.php";
+
@@ -98,5 +99,7 @@ include_once _SVC_INC_PATH_ . "/header.php";
+
+
{
+ const blob = new Blob([data], {
+ type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
+ });
+ const url = window.URL.createObjectURL(blob);
+ const anchor = document.createElement("a");
+ anchor.href = url;
+ anchor.download = file_name;
+ anchor.click();
+ window.URL.revokeObjectURL(url);
+ });
+}
diff --git a/home_dir/www/ksvc/base/item/item.js b/home_dir/www/ksvc/base/item/item.js
index f41f668..142228c 100644
--- a/home_dir/www/ksvc/base/item/item.js
+++ b/home_dir/www/ksvc/base/item/item.js
@@ -13,13 +13,13 @@ class Tb_item_class {
let _this = this;
_this.tbList ="";
_this.itemData = "";
+ _this.ITEM_CD = "";
this.ajaxUrl = "./item.ajax.php";
this.container = document.querySelector(container);
this.table = this.container.querySelector(".hy-table");
// this.upBtn = this.container.querySelector(".up-btn") || "";
// this.downBtn = this.container.querySelector(".down-btn") || "";
this.addBtn = this.container.querySelector(".add-btn");
- _this.ITEM_CD = "";
this.removeBtn = this.container.querySelector(".remove-btn");
}
@@ -279,7 +279,7 @@ class Tb_item_class {
},
{ formatter: "rownum", title: "NO", width: 50 },
{ field: "ITEM_CD", title: "품목", width: 150,editor:'input',editable:(cell)=>{ let val = cell.getData(); return val._STATUS_ === 'I' }, }, //품목 코드
- { field: "ITEM_NM", title: "품명", width: 250,editor:'input', }, //품목 코드
+ { field: "ITEM_NM", title: "품명", width: 250,editor:'input', hozAlign:"left" }, //품목 코드
{ field: "DRAW_NO", title: "도면", width: 200,editor:'input' }, //도면 번호 - popup
{ field: "ITEM_GRP", title: "품목 그룹", width: 80,
editor:"list",
@@ -522,7 +522,7 @@ class Tb_routing_class {
_this.fileData = JSON.parse(data).data;
- console.log(_this.fileData);
+
if(rowData._STATUS_ !== "I"){
rowData.FILE_NM = _this.fileData.file_name;
this.tbList.updateData([
@@ -546,7 +546,7 @@ class Tb_routing_class {
]);
}
- console.log(this.tbList.getData());
+
}else{
kuls_alert(data.msg);
}
@@ -1365,8 +1365,8 @@ class Tb_pic_class {
let _this = this;
_this.file = "";
_this.itemData ="";
- this.ajaxUrl = "./item.ajax.php";
_this.download_url = "/include/getFile.php";
+ this.ajaxUrl = "./item.ajax.php";
this.container = document.querySelector(container);
this.table = this.container.querySelector(".hy-table");
this.addBtn = this.container.querySelector(".add-btn");
@@ -1501,7 +1501,7 @@ class Tb_pic_class {
},
complete: () => {
window.clearTimeout(talert);
- this.getMainList();
+
// this.tbList.clearAlert();
// this.setFilter();
},
@@ -1706,11 +1706,11 @@ class Tb_pic_class {
{ field: "SID", visible:false},
{ field: "FILE_ID", visible:false},
{ field: "MAKE_TM", title: "등록일", width: 100, formatter: (cell)=>{
- let dateData = cell.getValue().date.substring(0,10);
- if(dateData == '1900-01-01'){
- dateData = '';
- }
- return dateData;
+ // let dateData = cell.getValue().date.substring(0,10);
+ // if(dateData == '1900-01-01'){
+ // dateData = '';
+ // }
+ return cell;
}
},
{ field: "MAKE_USER_ID",title: "등록자", width: 100 },
diff --git a/home_dir/www/ksvc/faclt/reg_faclt_defect/reg_faclt_defect.js b/home_dir/www/ksvc/faclt/reg_faclt_defect/reg_faclt_defect.js
index 49d7f70..cc41532 100644
--- a/home_dir/www/ksvc/faclt/reg_faclt_defect/reg_faclt_defect.js
+++ b/home_dir/www/ksvc/faclt/reg_faclt_defect/reg_faclt_defect.js
@@ -294,13 +294,14 @@ class Tb_facility_class {
{ formatter: "rownum", title: "NO", width: 50},
{ field: "FACLT_NM", title: "설비", width: 150, editor: "input" , editable:(cell)=>{ let val = cell.getData(); return val._STATUS_ === 'I' },},
{ field: "FACLT_CD", visible: false, width: 150},
- { field: "DEFECT_DT", title: "발생일", width: 150,editor:'date', editorParams:{
- min:"01/01/2000", // the minimum allowed value for the date picker
- max:"02/12/9999", // the maximum allowed value for the date picker
- format:"yyyy-MM-dd", // the format of the date value stored in the cell
- verticalNavigation:"table"}},
- { field: "DEF_TM", title: "발생시간", width: 150, editor: tb_custom_editor.time },
+ // { field: "DEFECT_DT", title: "발생일", width: 150,editor:'date', editorParams:{
+ // min:"01/01/2000", // the minimum allowed value for the date picker
+ // max:"02/12/9999", // the maximum allowed value for the date picker
+ // format:"yyyy-MM-dd", // the format of the date value stored in the cell
+ // verticalNavigation:"table"}},
+ // { field: "DEF_TM", title: "발생시간", width: 150, editor: tb_custom_editor.time },
{ field: "DEFECT_CONTENT", title: "고장내역", width: 300, editor: "input"},
+ { field: "DEFECT_DT", title: "발생일", width: 150},
];
const commonFieldData = {
headerSort: true,
diff --git a/home_dir/www/ksvc/faclt/reg_faclt_repair/reg_faclt_repair.js b/home_dir/www/ksvc/faclt/reg_faclt_repair/reg_faclt_repair.js
index aec2532..856a3a2 100644
--- a/home_dir/www/ksvc/faclt/reg_faclt_repair/reg_faclt_repair.js
+++ b/home_dir/www/ksvc/faclt/reg_faclt_repair/reg_faclt_repair.js
@@ -299,11 +299,12 @@ class Tb_facility_class {
{ field: "FACLT_NM", title: "설비", width: 150,editor: "input", editable:(cell)=>{ let val = cell.getData(); return val._STATUS_ === 'I' }, },
{ field: "FACLT_CD", visible: false, width: 150},
{ field: "REPAIR_NO", visible: false, width: 150},
- { field: "REPAIR_DT", title: "수리일자", width: 150,editor:'date', editorParams: {max:'9999-12-31'} },
{ field: "REPAIR_CONTENT", title: "수리내역", width: 150,editor: "input" },
{ field: "REPAIR_BP_NM", title: "수리업체", width: 100,editor: "input" },
- { field: "REPAIR_AMT", title: "수리금액", width: 150,editor: "input" },
+ { field: "REPAIR_AMT", title: "수리금액", width: 150,editor: "input", formatter:"money", formatterParams:{ decimal:".",precision:0 } },
{ field: "REPAIR_TEL_NO", title: "연락처", width: 200,editor: "input"},
+ // { field: "REPAIR_DT", title: "수리일자", width: 150,editor:'date', editorParams: {max:'9999-12-31'} },
+ { field: "REPAIR_DT", title: "수리일자", width: 150 }
];
const commonFieldData = {
headerSort: true,
diff --git a/home_dir/www/ksvc/inc/common.ajax.php b/home_dir/www/ksvc/inc/common.ajax.php
index 01ffc87..16732ae 100644
--- a/home_dir/www/ksvc/inc/common.ajax.php
+++ b/home_dir/www/ksvc/inc/common.ajax.php
@@ -1,4 +1,9 @@
$_REQUEST['ITEM_CD'],
- // );
- $rst = $baseObj->DB->exec($sql, $params);
-
- $rows = array();
- if ($rst) {
- $retval['code'] = 1;
- while ($row = $baseObj->DB->fetch_array($rst)) {
- $rows[] = $row;
- }
- $retval['data'] = $rows;
- }
- break;
-
- case "getDefList":
- $sql = "USP_P_DEF_RSLT_S20";
- // $params = Array(
- // "ITEM_CD" => $_REQUEST['ITEM_CD'],
- // );
- $rst = $baseObj->DB->exec($sql, $params);
- $rows = array();
- if ($rst) {
- $retval['code'] = 1;
- while ($row = $baseObj->DB->fetch_array($rst)) {
- $rows[] = $row;
- }
- $retval['data'] = $rows;
- }
- break;
-
-
-
+//토큰
case "memberTokenLogin":
if (csrf_check('memberLogin')) {
$retval['mesg'] = cUtil\Mlang::getText("정상적인 접근이 아닙니다.");
@@ -110,16 +80,9 @@ switch ($_REQUEST['mode']) {
$retval['data']['save_id'] = '';
}
}
-
break;
-
-
-
-
-
-
-
+//로그인
case "memberJoin":
$minfo = $baseObj->getMember($_REQUEST['member_id']);
if (csrf_check('memberJoin')) {
@@ -151,29 +114,15 @@ switch ($_REQUEST['mode']) {
$retval['code'] = $baseObj->join($ins_row);
$retval['mesg'] = cUtil\Mlang::getText("등록에 실패하였습니다.");
}
-
break;
-
-
-
-
-
-
-
+//로그아웃
case "memberLogout":
$apiObj->pushApi($GLOBALS['_Umem']['member_id'], "종료");
$retval['code'] = $baseObj->logout();
break;
-
-
-
-
-
-
-
-
+//메뉴리스트
case "getSiteMenuList":
$mnuObj = new Menu(TB_menu_list);
@@ -190,13 +139,12 @@ switch ($_REQUEST['mode']) {
}
break;
-
-
+//거래처목록
case "getPartnerList":
$sql = "USP_B_BIZ_PARTNER_S10";
$params = array(
"P_USE_FLG" => "Y",
- "P_BP_CD" => "",
+ "P_BP_CD" => "",
"P_PUR_FLG" => "",
"P_SAL_FLG" => ""
);
@@ -207,16 +155,16 @@ switch ($_REQUEST['mode']) {
if ($rst) {
$retval['code'] = 1;
while ($row = $baseObj->DB->fetch_array($rst)) {
- // $row['BP_PRSN_CELL_NO'] = $baseObj->lcrypt->dec_secure($row['BP_PRSN_CELL_NO']);
-// $row['BP_PRSN_EMAIL'] = $baseObj->lcrypt->dec_secure($row['BP_PRSN_EMAIL']);
-// $row['BP_PRSN_TEL_NO'] = $baseObj->lcrypt->dec_secure($row['BP_PRSN_TEL_NO']);
+ // $row['BP_PRSN_CELL_NO'] = $baseObj->lcrypt->dec_secure($row['BP_PRSN_CELL_NO']);
+ // $row['BP_PRSN_EMAIL'] = $baseObj->lcrypt->dec_secure($row['BP_PRSN_EMAIL']);
+ // $row['BP_PRSN_TEL_NO'] = $baseObj->lcrypt->dec_secure($row['BP_PRSN_TEL_NO']);
$rows[] = $row;
}
$retval['data'] = $rows;
}
break;
-
+//사업장
case "getBizareaList":
$sql = "USP_B_BIZ_AREA_S10";
$params = Array(
@@ -224,10 +172,7 @@ switch ($_REQUEST['mode']) {
,"BP_NM" => "" //거래처명
,"USEFLAG" => 'Y'
);
-
-
$rst = $baseObj->DB->exec($sql, $params);
-
$rows = array();
if ($rst) {
$retval['code'] = 1;
@@ -240,10 +185,57 @@ switch ($_REQUEST['mode']) {
break;
+// 사원정보
+ case 'getWorkerList':
+ $squl = "USP_B_EMPLOYEE_S10";
+ $params = Array(
+ "EMP_NO" => "",
+ "P_EMP_NM" => "",
+ "P_DEPT_CD" => "",
+ "P_DEPT_NM" => "",
+ "RET_FLG" => "N"
+ );
+ $rst = $baseObj->DB->exec($squl,$params);
+ $rows = array();
+ if( $rst ){
+ $retval['code'] = true;
+ while( $row = $baseObj->DB->fetch_array($rst) ){
+ $rows[] = $row;
+ };
+ $retval['data'] = $rows;
+ $retval['mesg'] = '정상 동작 되었습니다.';
+ }else{
+ $retval['code'] = false;
+ }
+ break;
+// 부서정보
+ case 'getDeptList':
+ $squl = "USP_B_DEPT_S10";
+ $params = Array(
+ "BIZ_AREA_NM" => "",
+ "DEPT_NM" => "",
+ "USE_FLG" => "Y"
+ );
+ $rst = $baseObj->DB->exec($squl, $params);
+ $rows = array();
+ if ($rst) {
+ $retval['code'] = true;
+ while ($row = $baseObj->DB->fetch_array($rst)) {
+ $rows[] = $row;
+ }
+ ;
+ $retval['data'] = $rows;
+ $retval['mesg'] = '정상 동작 되었습니다.';
+ } else {
+ $retval['code'] = false;
+ }
+ break;
+
+//부서 트리
case "getDeptTree":
$sql = "USP_B_DEPT_HISTORY_S11";
$params = array(
@@ -271,62 +263,42 @@ $retval['data'] = $mnuObj->tree_by_parent($rows, 'DEPT_CD', 'PAR_DEPT_CD', '');
}
break;
-
- // 사원정보
- case 'getWorkerList':
- $squl = "USP_B_EMPLOYEE_S10";
- $params = Array(
- "EMP_NO" => "",
- "P_EMP_NM" => "",
- "P_DEPT_CD" => "",
- "P_DEPT_NM" => "",
- "RET_FLG" => "N"
- );
- $rst = $baseObj->DB->exec($squl,$params);
-
- $rows = array();
- if( $rst ){
- $retval['code'] = true;
- while( $row = $baseObj->DB->fetch_array($rst) ){
- $rows[] = $row;
- };
- $retval['data'] = $rows;
- $retval['mesg'] = '정상 동작 되었습니다.';
- }else{
- $retval['code'] = false;
- }
-
-
-
- break;
-
-
- // 부서정보
- case 'getDeptList':
- $squl = "USP_B_DEPT_S10";
-
- $params = Array(
- "BIZ_AREA_NM" => "",
- "DEPT_NM" => "",
- "USE_FLG" => "Y"
- );
- $rst = $baseObj->DB->exec($squl, $params);
+// 품목 정보
+ case "getItemList":
+ $sql = "USP_B_ITEM_S20";
+ $params = Array(
+ "ITEM_NM" => '',
+ );
+ $rst = $baseObj->DB->exec($sql, $params);
$rows = array();
if ($rst) {
- $retval['code'] = true;
+ $retval['code'] = 1;
while ($row = $baseObj->DB->fetch_array($rst)) {
$rows[] = $row;
}
- ;
$retval['data'] = $rows;
- $retval['mesg'] = '정상 동작 되었습니다.';
- } else {
- $retval['code'] = false;
}
break;
- // 생산오더(작업지시)별 공정 정보
+// 불량실적
+ case "getDefList":
+ $sql = "USP_P_DEF_RSLT_S20";
+ // $params = Array(
+ // "ITEM_CD" => $_REQUEST['ITEM_CD'],
+ // );
+ $rst = $baseObj->DB->exec($sql, $params);
+ $rows = array();
+ if ($rst) {
+ $retval['code'] = 1;
+ while ($row = $baseObj->DB->fetch_array($rst)) {
+ $rows[] = $row;
+ }
+ $retval['data'] = $rows;
+ }
+ break;
+
+// 생산오더(작업지시)별 공정 정보
case 'getOrderList':
$squl = "USP_P_WO_S20";
@@ -346,8 +318,7 @@ $retval['data'] = $mnuObj->tree_by_parent($rows, 'DEPT_CD', 'PAR_DEPT_CD', '');
}
break;
-
- // 공정정보
+// 공정정보
case 'getOperList':
$squl = "USP_B_OPERATION_S20";
$rst = $baseObj->DB->exec($squl);
@@ -365,6 +336,7 @@ $retval['data'] = $mnuObj->tree_by_parent($rows, 'DEPT_CD', 'PAR_DEPT_CD', '');
$retval['code'] = false;
}
break;
+
// 특정 품목에 대한 공정정보
case 'getItemOperList':
$squl = "USP_B_OPERATION_S30";
@@ -387,7 +359,7 @@ $retval['data'] = $mnuObj->tree_by_parent($rows, 'DEPT_CD', 'PAR_DEPT_CD', '');
}
break;
- // 설비 정보
+// 설비 정보
case 'getFacilityList':
$squl = "USP_B_FACILITY_S10";
$params = Array(
@@ -412,7 +384,7 @@ $retval['data'] = $mnuObj->tree_by_parent($rows, 'DEPT_CD', 'PAR_DEPT_CD', '');
}
break;
- // 검사항목 정보
+// 검사항목 정보
case "getInspList":
$sql = "USP_B_INSP_ITEM_S10";
@@ -436,26 +408,7 @@ $retval['data'] = $mnuObj->tree_by_parent($rows, 'DEPT_CD', 'PAR_DEPT_CD', '');
}
break;
-
- case "getBasecodeList":
- $where = new DB_Where();
- $where->add("CD.Code_Uid <> ?", $_REQUEST['Bran_Uid']);
- if ($_REQUEST['Group_Uid']) {
- $where->add("CD.Code_Uid <> ?", $_REQUEST['Group_Uid']);
- }
- $where->add("BR.Active = ?", "Y");
- $where->add("GR.Active = ?", "Y");
- $rows = $baseObj->getAllBaseCodeList($_REQUEST['Bran_Uid'], $_REQUEST['Group_Uid'] ?: "", "", $where);
-
- for ($a = 0; $a < count($rows); $a++) {
- $rows[$a]['Code_Uid_Old'] = $rows[$a]['Code_Uid'];
- }
-
- $retval['code'] = 1;
- $retval['data'] = $rows;
- break;
-
- // 생산실적 오더 공정 정보
+// 생산실적 오더 공정 정보
case 'getRegOrderList':
$squl = "USP_P_REG_WO_S20";
@@ -475,7 +428,7 @@ $retval['data'] = $mnuObj->tree_by_parent($rows, 'DEPT_CD', 'PAR_DEPT_CD', '');
}
break;
- // 생산실적 설비 정보
+// 생산실적 설비 정보
case 'getOrderFacilityList':
$squl = "USP_B_REG_FACILITY_S10";
@@ -495,10 +448,27 @@ $retval['data'] = $mnuObj->tree_by_parent($rows, 'DEPT_CD', 'PAR_DEPT_CD', '');
}
break;
+//기초코드
+ case "getBasecodeList":
+ $where = new DB_Where();
+ $where->add("CD.Code_Uid <> ?", $_REQUEST['Bran_Uid']);
+ if ($_REQUEST['Group_Uid']) {
+ $where->add("CD.Code_Uid <> ?", $_REQUEST['Group_Uid']);
+ }
+ $where->add("BR.Active = ?", "Y");
+ $where->add("GR.Active = ?", "Y");
+ $rows = $baseObj->getAllBaseCodeList($_REQUEST['Bran_Uid'], $_REQUEST['Group_Uid'] ?: "", "", $where);
+ for ($a = 0; $a < count($rows); $a++) {
+ $rows[$a]['Code_Uid_Old'] = $rows[$a]['Code_Uid'];
+ }
+ $retval['code'] = 1;
+ $retval['data'] = $rows;
+ break;
+
+//기초코드
case "putBasecode":
-
$_REQUEST['reqdata'] = json_decode($_REQUEST['reqdata']);
$rst = true;
foreach ($_REQUEST['reqdata'] as $data) {
diff --git a/home_dir/www/ksvc/inc/css/scss/component/_search.scss b/home_dir/www/ksvc/inc/css/scss/component/_search.scss
index 170c796..1703041 100644
--- a/home_dir/www/ksvc/inc/css/scss/component/_search.scss
+++ b/home_dir/www/ksvc/inc/css/scss/component/_search.scss
@@ -82,7 +82,7 @@
.table-header .button-container{
width: 100%;
display: flex;
- justify-content: flex-end;
+ justify-content: end;
}
@@ -100,7 +100,7 @@
// table container
.table-container .button-box{
- justify-content: flex-end;
+ justify-content: end;
}
diff --git a/home_dir/www/ksvc/inc/css/scss/component/_sidebar.scss b/home_dir/www/ksvc/inc/css/scss/component/_sidebar.scss
index 3e1f729..6e8aab5 100644
--- a/home_dir/www/ksvc/inc/css/scss/component/_sidebar.scss
+++ b/home_dir/www/ksvc/inc/css/scss/component/_sidebar.scss
@@ -1,59 +1,37 @@
-
.side-nav {
max-width: 280px;
width: 100%;
overflow-y: auto;
height: 100%;
- border-right: solid 1px #e9e9e9;
+
+ border-right: solid 1px $gray-002;
display: flex;
flex-direction: column;
justify-content: space-between;
background: white;
+
+ position: absolute;
+ top: 0;
+ left: 0;
}
-.container.on .side-nav {
- width: 88px;
- overflow-y: visible;
- align-items: center;
-}
-.container.on .side-nav .side-menu ul.fancytree-plain.fancytree-container {
- position: static;
-}
-.container.on .side-nav .side-menu ul.fancytree-plain.fancytree-container > li {
- position: relative;
-}
-.container.on .side-nav .side-menu ul.fancytree-plain.fancytree-container > li span.fancytree-expander, .container.on .side-nav .side-menu ul.fancytree-plain.fancytree-container > li span.fancytree-title {
- display: none;
-}
-.container.on .side-nav .side-menu ul.fancytree-plain.fancytree-container > li span.fancytree-custom-icon {
- margin: 0;
-}
-.container.on .side-nav .side-menu ul.fancytree-plain.fancytree-container > li ul {
- position: absolute;
- display: block;
- left: 56px;
- top: 0;
- width: 250px;
- background: #e9e9e9;
- z-index: 2;
- min-height: 52px;
- max-height: 294px;
- overflow: auto;
-}
-.container.on .side-nav .side-menu ul.fancytree-plain.fancytree-container > li ul li span.fancytree-title {
- color: black;
- display: block;
-}
-.container.on .side-nav .fold-btn-container {
- margin: 0 0 30px 0;
- padding-left: 0;
- width: auto;
-}
-.container.on .side-nav .fold-btn-container .fold-btn {
- transform: rotate(180deg);
-}
-.container.on .main-part {
- width: calc(100% - 88px);
+.container.on {
+ .side-nav {
+ width: 88px;
+
+ .fold-btn-container {
+ padding-left: 25%;
+ width: auto;
+
+ .fold-btn {
+ transform: rotate(180deg);
+ }
+ }
+ }
+
+ .main-part{
+ width: calc(100% - 88px);
+ }
}
.side-nav .fold-btn-container {
@@ -74,66 +52,126 @@
cursor: pointer;
}
-.side-nav .side-menu ul.fancytree-plain.fancytree-container {
- border: none;
- padding: 0px;
+.side-nav .side-menu{
+
+ ul.fancytree-plain.fancytree-container{
+ border: none;
+ padding: 0px;
+
+ > li > span{
+ border-bottom: solid 1px $gray-002;
+ }
+ li {
+ min-height: 72px;
+
+
+ > span{
+ height: 72px;
+ display: inline-flex;
+ align-items: center;
+
+ &:hover, &:active{
+ span.fancytree-title{
+ color: #3c3c3c;
+ background-color: transparent;
+ border: none;
+ }
+ }
+
+ > span{
+ // 글자
+ color: #3c3c3c;
+ font-size: 15px;
+
+ // 아이콘
+ &.fancytree-custom-icon{
+ color: #98A7FA;
+ font-size: 24px;
+ }
+ }
+
+ // 활성화된 메뉴
+ &.fancytree-node.fancytree-active{
+
+ span.fancytree-title{
+ color: #3c3c3c;
+ background-color: transparent;
+ border: none;
+ }
+
+ &:hover, &:active{
+ span.fancytree-title{
+ color: #3c3c3c;
+ background-color: transparent;
+ border: none;
+ }
+ }
+ }
+ }
+
+
+
+ // 서브 메뉴
+ ul{
+ padding: 0px;
+
+ li{
+ min-height: 48px;
+ border-bottom: 1px solid $blue-003;
+
+ > span{
+ height: 48px;
+ width: fit-content;
+ padding-left: 1.5em;
+ span.fancytree-title{
+ font-size: 14px;
+ color: $blue-001;
+ }
+ }
+
+ &:hover{
+ background-color: $blue-003;
+
+ span.fancytree-title{
+ color: $blue-001;
+ }
+ }
+ }
+ }
+
+ }
+ }
+
}
-.side-nav .side-menu ul.fancytree-plain.fancytree-container > li > span {
- border-bottom: solid 1px #e9e9e9;
+
+
+
+.side-nav .side-menu {
}
-.side-nav .side-menu ul.fancytree-plain.fancytree-container li {
- min-height: 72px;
+
+.side-nav .side-menu ul {
}
-.side-nav .side-menu ul.fancytree-plain.fancytree-container li > span {
- height: 72px;
- display: inline-flex;
- align-items: center;
+
+.side-nav .side-menu ul li {
}
-.side-nav .side-menu ul.fancytree-plain.fancytree-container li > span:hover span.fancytree-title, .side-nav .side-menu ul.fancytree-plain.fancytree-container li > span:active span.fancytree-title {
- color: #3c3c3c;
- background-color: transparent;
- border: none;
+
+.side-nav .side-menu ul li span {
}
-.side-nav .side-menu ul.fancytree-plain.fancytree-container li > span > span {
- color: #3c3c3c;
- font-size: 15px;
+
+.side-nav .side-menu > ul {
}
-.side-nav .side-menu ul.fancytree-plain.fancytree-container li > span > span.fancytree-custom-icon {
- color: #98A7FA;
- font-size: 24px;
+
+.side-nav .side-menu > ul li span{
+
}
-.side-nav .side-menu ul.fancytree-plain.fancytree-container li > span.fancytree-node.fancytree-active span.fancytree-title {
- color: #3c3c3c;
- background-color: transparent;
- border: none;
+
+.side-nav .side-menu > ul li.on {
}
-.side-nav .side-menu ul.fancytree-plain.fancytree-container li > span.fancytree-node.fancytree-active:hover span.fancytree-title, .side-nav .side-menu ul.fancytree-plain.fancytree-container li > span.fancytree-node.fancytree-active:active span.fancytree-title {
- color: #3c3c3c;
- background-color: transparent;
- border: none;
-}
-.side-nav .side-menu ul.fancytree-plain.fancytree-container li ul {
- padding: 0px;
-}
-.side-nav .side-menu ul.fancytree-plain.fancytree-container li ul li {
- min-height: 48px;
- border-bottom: 1px solid #E1E4F9;
-}
-.side-nav .side-menu ul.fancytree-plain.fancytree-container li ul li > span {
- height: 48px;
- width: -moz-fit-content;
- width: fit-content;
- padding-left: 1.5em;
-}
-.side-nav .side-menu ul.fancytree-plain.fancytree-container li ul li > span span.fancytree-title {
- font-size: 14px;
- color: #4A5ED2;
-}
-.side-nav .side-menu ul.fancytree-plain.fancytree-container li ul li:hover {
- background-color: #E1E4F9;
-}
-.side-nav .side-menu ul.fancytree-plain.fancytree-container li ul li:hover span.fancytree-title {
- color: #4A5ED2;
+
+
+
+.side-nav .side-menu > ul > li > ul {
+
}
.side-nav .side-menu > ul > li > ul > li {
@@ -141,34 +179,7 @@
}
.side-nav .side-menu > ul > li > ul > li > span {
- color: #4A5ED2;
+ color: $blue-001;
font-size: 14px;
font-weight: 400;
}
-
-.menu-icon {
- background-position: center;
- background-repeat: no-repeat;
- background-size: contain;
-}
-.menu-icon.base-icon {
- background-image: url("../img/icon-shield.png");
-}
-.menu-icon.filed-icon {
- background-image: url("../img/icon-industry.png");
-}
-.menu-icon.production-icon {
- background-image: url("../img/icon-engineering.png");
-}
-.menu-icon.system-icon {
- background-image: url("../img/icon-gear.png");
-}
-.menu-icon.insp-icon {
- background-image: url("../img/icon-clipboard.svg");
- width: 22px;
- height: 22px;
- margin-left: 0.6em;
-}
-.menu-icon.facility-icon {
- background-image: url("../img/icon-cone.svg");
-}
diff --git a/home_dir/www/ksvc/inc/header.php b/home_dir/www/ksvc/inc/header.php
index 85b935b..990c4a5 100644
--- a/home_dir/www/ksvc/inc/header.php
+++ b/home_dir/www/ksvc/inc/header.php
@@ -11,11 +11,11 @@ $later = date('Y-m-d', strtotime('+14 days'));
//if( !$GLOBALS['_Umem']['member_id'] ) {
// move_page(_SVC_URL_, $GLOBALS['_Auth_']['deny_view']);
//}
-//
-////접근 권한(조회) 불가 처리
-//if( !$GLOBALS['_Auth_']['menuObj']->hasMenuAuth("R", $GLOBALS['_Auth_']['cate_id']) ){
-// hback($GLOBALS['_Auth_']['deny_view']);
-//}
+
+//접근 권한(조회) 불가 처리
+if( !$GLOBALS['_Auth_']['menuObj']->hasMenuAuth("R", $GLOBALS['_Auth_']['cate_id']) ){
+ hback($GLOBALS['_Auth_']['deny_view']);
+}
$menu_hist = array();
if( $GLOBALS['_Auth_']['menuObj'] ){
diff --git a/home_dir/www/ksvc/inc/js/popItemOper.js b/home_dir/www/ksvc/inc/js/popItemOper.js
index 6a9ca18..1bdee88 100644
--- a/home_dir/www/ksvc/inc/js/popItemOper.js
+++ b/home_dir/www/ksvc/inc/js/popItemOper.js
@@ -151,6 +151,38 @@ class CreatePopup2 {
},
});
};
+
+ setData(e,tgt){
+ let row = tgt._row;
+ if( this.tabrow ){
+ let uptjson = {_STATUS_:this.tabrow.getData()['_STATUS_']||'U'};
+ Object.keys(this.columns).forEach( key => {
+ // if(!row.data[this.columns[key]]){
+ // row.data[this.columns[key]] = row.data[this.columns[key].replace(/[A-Z]+_/, "")]
+ // }
+ // uptjson[this.columns[key]] = row.data[this.columns[key]]; // 직접 할당
+ uptjson[key] = row.data[this.columns[key]]; // 직접 할당
+ // console.log(key)
+ } );
+ this.tabrow.update(uptjson);
+ }else{
+ Object.keys(this.columns).forEach( key => {
+ document.querySelector("#"+this.columns[key]).value = row.data[key];
+ })
+ }
+ };
+ /*
+ * @Overview 테이블 행 선택 함수
+ * @Parameter 이벤트, 타겟 행
+ */
+ dbClick(e, tgt) {
+ let rowData = tgt._row.data
+ this.setData(e, tgt);
+ console.log(tgt);
+ this.modal.delete();
+ // this.tabrow.updateData({[this.columns.tgt_name]:row.data['BIZ_AREA_NM']});
+ // tabrow.updateData({[tgt_id]:row.data['BIZ_AREA_CD'],[tgt_name]:row.data['BIZ_AREA_NM'],_STATUS_:tabrow.getData()['_STATUS_']||'U'});
+ }
}
diff --git a/home_dir/www/ksvc/inc/js/popup.js b/home_dir/www/ksvc/inc/js/popup.js
index ddb2c01..e70f7e9 100644
--- a/home_dir/www/ksvc/inc/js/popup.js
+++ b/home_dir/www/ksvc/inc/js/popup.js
@@ -262,8 +262,9 @@ class CreatePopup{
*/
dbClick(e, tgt) {
let rowData = tgt._row.data
+
this.setData(e, tgt);
- console.log(tgt);
+
this.modal.delete();
// this.tabrow.updateData({[this.columns.tgt_name]:row.data['BIZ_AREA_NM']});
// tabrow.updateData({[tgt_id]:row.data['BIZ_AREA_CD'],[tgt_name]:row.data['BIZ_AREA_NM'],_STATUS_:tabrow.getData()['_STATUS_']||'U'});
@@ -720,10 +721,8 @@ const popRegOrder = function( columns, tabrow ){
{ field: "ITEM_CD", title: "품목", width: 100, },
{ field: "ITEM_NM", title: "품명", width: 100, },
{ field: "DRAW_NO", title: "도면번호", width: 100, },
- { field: "PRV_OP_CD", title: "이전공정", width: 100, },
- { field: "MAKE_TM", title: "등록시간", width: 100, },
- { field: "FACLT_CD", title: "설비", width: 100, },
- { field: "ORD_QTY", title: "지시수량", width: 150, formatter: "money", formatterParams: { decimal: ",", precision: 0 } },
+ { field: "PRV_OP_CD", title: "이전공정", width: 100, },
+ { field: "ORD_QTY", title: "지시수량", width: 150, formatter: "money", formatterParams: { decimal: ",", precision: 0 } },
{ field: "OP_WRK_QTY", title: "이전공정양품", width: 100, formatter: "money", formatterParams: { decimal: ",", precision: 0 } }
];
@@ -753,10 +752,9 @@ const popRegOrder = function( columns, tabrow ){
*/
const popRegFacility = function( columns, tabrow ){
const fields = [
- { formatter:"rownum", title: "No", width: 50, headerSort: false, hozAlign:'center', },
- { field: "FACLT_CD", title: "설비코드" , width: 150, },
- { field: "FACLT_NM", title: "설비명" , width: 150, },
- { field: "OP_CD" , title:"공정" ,width:100}
+ { formatter:"rownum", title: "No", width: 50, headerSort: false, hozAlign:'center', },
+ { field: "FACLT_CD", title: "설비코드", width: 150, },
+ { field: "FACLT_NM", title: "설비명", width: 150, },
];
const setTableFilter = function(modal){ //검색어 필터 적용
diff --git a/home_dir/www/ksvc/inc/js/vars.js.php b/home_dir/www/ksvc/inc/js/vars.js.php
index c2ed344..56ecfda 100644
--- a/home_dir/www/ksvc/inc/js/vars.js.php
+++ b/home_dir/www/ksvc/inc/js/vars.js.php
@@ -43,5 +43,5 @@ const varsIO_TYPE_FIN = =json_encode($GLOBALS['_IO_TYPE_FIN']?:Array())?>;
const varsNCR_CD = =json_encode($GLOBALS['_NCR_CD']?:Array())?>;
const varsTASK_TYPE = =json_encode($GLOBALS['_TASK_TYPE']?:Array())?>;
const varsSTOP_CD = =json_encode($GLOBALS['_STOP_CD']?:Array())?>;
-const varsDEF_CD = =json_encode($GLOBALS['_DEF_CD']?:Array())?>;
-const varsRSLT_GRP = = json_encode($GLOBALS['_RSLT_GRP'] ?: array()) ?>;
\ No newline at end of file
+const varsDEF_CD = =json_encode($GLOBALS['_DEF_CD']?:Array())?>;
+const varsRSLT_GRP = =json_encode($GLOBALS['_RSLT_GRP']?:Array())?>;
\ No newline at end of file
diff --git a/home_dir/www/ksvc/prod/cnt_ct_worker/cnt_ct_worker.ajax.php b/home_dir/www/ksvc/prod/cnt_ct_worker/cnt_ct_worker.ajax.php
index c16bcdf..32217c6 100644
--- a/home_dir/www/ksvc/prod/cnt_ct_worker/cnt_ct_worker.ajax.php
+++ b/home_dir/www/ksvc/prod/cnt_ct_worker/cnt_ct_worker.ajax.php
@@ -1,5 +1,11 @@
$_REQUEST["EMP_NO"] ?: "",
"P_EMP_NM" => $_REQUEST["EMP_NM"] ?: "",
- "P_START_DATE" => $_REQUEST["date_st"],
- "P_ED_DATE" => $_REQUEST["date_ed"],
+ "P_ST_DATE" => $_REQUEST["date_st"],
+ "P_ED_DATE" => $_REQUEST["date_ed"],
);
$rst = $baseObj->DB->exec($squl, $params);
diff --git a/home_dir/www/ksvc/prod/cnt_ct_worker/cnt_ct_worker.js b/home_dir/www/ksvc/prod/cnt_ct_worker/cnt_ct_worker.js
index ca56707..82aa00a 100644
--- a/home_dir/www/ksvc/prod/cnt_ct_worker/cnt_ct_worker.js
+++ b/home_dir/www/ksvc/prod/cnt_ct_worker/cnt_ct_worker.js
@@ -32,7 +32,6 @@ class Tb_main_class {
}
}
data.mode = mode
- console.log(data)
// let USEFLAG = document.getElementById("USE_FLG").checked?"Y":"N"; //사용여부
ajax_json({
url: this.ajaxUrl,
@@ -43,10 +42,11 @@ class Tb_main_class {
let originData = data.data;
originData = originData.map(el=>{
// 대기시간!!!!!!!! 변경할것
- el[`REAL_RUN_TM_${el['WRK_DT']}`] = el['REAL_RUN_TM']
+ el[`REAL_RUN_TM_${el['WORK_DT']}`] = el['REAL_RUN_TM']
return el;
});
-
+ console.log(data.data);
+ console.log(originData);
originData = originData.reduce((acc, curr)=>{
const key = curr.EMP_NO + curr.WRK_TEAM;
diff --git a/home_dir/www/ksvc/prod/cnt_defect_order/cnt_defect_order.ajax.php b/home_dir/www/ksvc/prod/cnt_defect_order/cnt_defect_order.ajax.php
index 95c700b..f70d33a 100644
--- a/home_dir/www/ksvc/prod/cnt_defect_order/cnt_defect_order.ajax.php
+++ b/home_dir/www/ksvc/prod/cnt_defect_order/cnt_defect_order.ajax.php
@@ -13,11 +13,11 @@ if (!_notAuth("R")) {
case 'getDefOrderList':
- $squl = "USP_P_DEF_RSLT_S10";
+ $squl = "USP_P_CNT_DEF_WO_S10";
$params = array(
"P_ITEM_GRP" => $_REQUEST["ITEM_GRP"] ?: "",
- "P_START_DATE" => $_REQUEST["date_st"],
+ "P_ST_DATE" => $_REQUEST["date_st"],
"P_ED_DATE" => $_REQUEST["date_ed"],
);
$rst = $baseObj->DB->exec($squl, $params);
diff --git a/home_dir/www/ksvc/prod/cnt_defect_order/cnt_defect_order.js b/home_dir/www/ksvc/prod/cnt_defect_order/cnt_defect_order.js
index e4eb65e..12569cf 100644
--- a/home_dir/www/ksvc/prod/cnt_defect_order/cnt_defect_order.js
+++ b/home_dir/www/ksvc/prod/cnt_defect_order/cnt_defect_order.js
@@ -48,7 +48,7 @@ class Tb_main_class {
});
originData = originData.reduce((acc, curr)=>{
- const key = curr.WO_NO;
+ const key = curr.WO_NO ;
if(!acc[key]){
acc[key] = {...curr};
@@ -197,7 +197,7 @@ setFilter() {
// formatterParams: { checkval: "Y" },
// },
{ formatter: "rownum", title: "NO", width: 50 },
- { field: "WO_NO", title: "오더번호", width: 100 },
+ { field: "WO_NO", title: "오더번호", width: 100 ,visible : false},
{ field: "ITEM_CD", title: "품목", width: 100,},
{ field: "ITEM_GRP", title: "품목그룹", width: 100,},
...this.getDate()
diff --git a/home_dir/www/ksvc/prod/cnt_defect_worker/cnt_defect_worker.ajax.php b/home_dir/www/ksvc/prod/cnt_defect_worker/cnt_defect_worker.ajax.php
index ced75a9..3d0f162 100644
--- a/home_dir/www/ksvc/prod/cnt_defect_worker/cnt_defect_worker.ajax.php
+++ b/home_dir/www/ksvc/prod/cnt_defect_worker/cnt_defect_worker.ajax.php
@@ -15,7 +15,7 @@ if(!_notAuth("R")) {
// 생산오더 리스트 조회
case 'getDefectWorker':
- $sql = "USP_P_WO_DEF_RSLT_S20";
+ $sql = "USP_P_CNT_DEF_EMP_S10";
$params = array(
"WRK_EMP_NO" => $_REQUEST['worker_pop'] ?: "",
"WRK_EMP_NM" => $_REQUEST['sub_worker_pop'] ?: "",
diff --git a/home_dir/www/ksvc/prod/cnt_defect_worker/cnt_defect_worker.js b/home_dir/www/ksvc/prod/cnt_defect_worker/cnt_defect_worker.js
index 29e4c62..8eacfef 100644
--- a/home_dir/www/ksvc/prod/cnt_defect_worker/cnt_defect_worker.js
+++ b/home_dir/www/ksvc/prod/cnt_defect_worker/cnt_defect_worker.js
@@ -198,7 +198,7 @@ class Tb_main_class {
// },
// { formatter: "rownum", title: "NO", width: 50 },
{ field: "WRK_TEAM", title: "소속", width: 100 },
- { field: "EMP_NO", title: "성명", width: 100,},
+ { field: "EMP_NM", title: "성명", width: 100,},
...this.getDate()
];
const commonFieldData = {
diff --git a/home_dir/www/ksvc/prod/cnt_faclt_ct/cnt_faclt_ct.ajax.php b/home_dir/www/ksvc/prod/cnt_faclt_ct/cnt_faclt_ct.ajax.php
index a12024c..8610888 100644
--- a/home_dir/www/ksvc/prod/cnt_faclt_ct/cnt_faclt_ct.ajax.php
+++ b/home_dir/www/ksvc/prod/cnt_faclt_ct/cnt_faclt_ct.ajax.php
@@ -13,10 +13,10 @@ if (!_notAuth("R")) {
case 'getFacltCtList':
- $squl = "USP_P_FACLT_OPER_S20";
+ $squl = "USP_P_CNT_FACLT_CT_S10";
$params = array(
- "P_START_DATE" => $_REQUEST["date_st"],
+ "P_ST_DATE" => $_REQUEST["date_st"],
"P_ED_DATE" => $_REQUEST["date_ed"],
"P_FACLT_CD" => $_REQUEST["FACLT_CD"] ?: "",
"P_FACLT_NM" => $_REQUEST["FACLT_NM"] ?: "",
diff --git a/home_dir/www/ksvc/prod/cnt_oper_wt/cnt_oper_wt.ajax.php b/home_dir/www/ksvc/prod/cnt_oper_wt/cnt_oper_wt.ajax.php
index b54fa12..d12577b 100644
--- a/home_dir/www/ksvc/prod/cnt_oper_wt/cnt_oper_wt.ajax.php
+++ b/home_dir/www/ksvc/prod/cnt_oper_wt/cnt_oper_wt.ajax.php
@@ -13,12 +13,12 @@ if (!_notAuth("R")) {
case 'getOperWtList':
- $squl = "USP_P_WO_OPER_S20";
+ $squl = "USP_P_CNT_OPER_WT_S10";
$params = array(
"P_OP_CD" => $_REQUEST["OP_CD"] ?: "",
"P_OP_NM" => $_REQUEST["OP_NM"] ?: "",
- "P_START_DATE" => $_REQUEST["date_st"],
+ "P_ST_DATE" => $_REQUEST["date_st"],
"P_ED_DATE" => $_REQUEST["date_ed"],
);
$rst = $baseObj->DB->exec($squl, $params);
diff --git a/home_dir/www/ksvc/prod/cnt_prod_faclt/cnt_prod_faclt.ajax.php b/home_dir/www/ksvc/prod/cnt_prod_faclt/cnt_prod_faclt.ajax.php
index d9c0cae..7cd3d83 100644
--- a/home_dir/www/ksvc/prod/cnt_prod_faclt/cnt_prod_faclt.ajax.php
+++ b/home_dir/www/ksvc/prod/cnt_prod_faclt/cnt_prod_faclt.ajax.php
@@ -13,7 +13,7 @@ if (!_notAuth("R")) {
case 'getFacltOperList':
- $squl = "USP_P_FACLT_OPER_S30";
+ $squl = "USP_P_CNT_PROD_FACLT_S10";
$params = array(
"P_ST_DATE" => $_REQUEST["date_st"],
diff --git a/home_dir/www/ksvc/prod/cnt_prod_faclt/cnt_prod_faclt.php b/home_dir/www/ksvc/prod/cnt_prod_faclt/cnt_prod_faclt.php
index b1d2cd9..fdb0ed2 100644
--- a/home_dir/www/ksvc/prod/cnt_prod_faclt/cnt_prod_faclt.php
+++ b/home_dir/www/ksvc/prod/cnt_prod_faclt/cnt_prod_faclt.php
@@ -63,7 +63,7 @@ include_once _SVC_INC_PATH_ . "/header.php";
-
+
diff --git a/home_dir/www/ksvc/prod/cnt_prod_worker/cnt_prod_worker.ajax.php b/home_dir/www/ksvc/prod/cnt_prod_worker/cnt_prod_worker.ajax.php
index 6972ecf..7e3fea0 100644
--- a/home_dir/www/ksvc/prod/cnt_prod_worker/cnt_prod_worker.ajax.php
+++ b/home_dir/www/ksvc/prod/cnt_prod_worker/cnt_prod_worker.ajax.php
@@ -19,12 +19,11 @@ if (!_notAuth("R")) {
case 'getProdList':
- $squl = "USP_P_PRD_AMT_S10";
+ $squl = "USP_P_CNT_PROD_WORKER_S10";
$params = array(
-// "P_ITEM_GRP" => $_REQUEST["ITEM_GRP"] ?: "",
- "P_START_DATE" => $_REQUEST["date_st"],
- "P_ED_DATE" => $_REQUEST["date_ed"],
+ "P_ST_DATE" => $_REQUEST["date_st"],
+ "P_ED_DATE" => $_REQUEST["date_ed"],
);
$rst = $baseObj->DB->exec($squl, $params);
diff --git a/home_dir/www/ksvc/prod/cnt_prod_worker/cnt_prod_worker.js b/home_dir/www/ksvc/prod/cnt_prod_worker/cnt_prod_worker.js
index e1aff79..8ff2fe4 100644
--- a/home_dir/www/ksvc/prod/cnt_prod_worker/cnt_prod_worker.js
+++ b/home_dir/www/ksvc/prod/cnt_prod_worker/cnt_prod_worker.js
@@ -218,9 +218,14 @@ setFilter() {
// console.log(avgValue);
// console.log(parseInt(realKeys.length));
let hap = Object.values(otherData).filter(v => {return v !== undefined && v !== null});
+
+
let avgValue = hap.reduce((a, b) => parseInt(a) + parseInt(b), 0) / hap.length;
- console.log(avgValue);
console.log();
+ if(avgValue === NaN){
+
+ return false;
+ }
return avgValue;
}
/*
@@ -239,9 +244,9 @@ setFilter() {
{ field: "DEPT_NM", title: "소속", width: 100 },
{ field: "EMP_NM", title: "작업자", width: 100,},
{ field: "MONTH_AMOUNT", title: "월합계", width: 100, bottomCalc: "sum", formatter:"money", bottomCalcFormatter:"money", bottomCalcFormatterParams:{ precision:0 }, formatterParams:{ precision:0 }},
- { field: "DAY_AVG", title: "일평균", width: 100, bottomCalc: "sum", bottomCalcFormatter:"money", bottomCalcFormatterParams:{ precision:0 },formatter:function(cell){
- return _this.dayAvg(cell);
- },
+ { field: "DAY_AVG", title: "일평균", width: 100, bottomCalc: "sum",formatter:function(cell){
+ return _this.dayAvg(cell) ? _this.dayAvg(cell): "";
+ }, bottomCalcFormatter:"money",formatterParams:{ precision:0 }, bottomCalcFormatterParams:{ precision:0 }
},
...this.getDate()
];
diff --git a/home_dir/www/ksvc/prod/cnt_prod_worker/cnt_prod_worker.php b/home_dir/www/ksvc/prod/cnt_prod_worker/cnt_prod_worker.php
index e24f26d..a22258b 100644
--- a/home_dir/www/ksvc/prod/cnt_prod_worker/cnt_prod_worker.php
+++ b/home_dir/www/ksvc/prod/cnt_prod_worker/cnt_prod_worker.php
@@ -63,7 +63,7 @@ include_once _SVC_INC_PATH_ . "/header.php";
+
diff --git a/home_dir/www/ksvc/prod/reg_order_result/reg_order_result.ajax.php b/home_dir/www/ksvc/prod/reg_order_result/reg_order_result.ajax.php
index 208d819..cfbac48 100644
--- a/home_dir/www/ksvc/prod/reg_order_result/reg_order_result.ajax.php
+++ b/home_dir/www/ksvc/prod/reg_order_result/reg_order_result.ajax.php
@@ -15,7 +15,7 @@ if (!_notAuth("R")) {
$params = array(
"date_st" => $_REQUEST["date_st"] ?: "",
"date_ed" => $_REQUEST["date_ed"] ?: "",
- "WO_NO" => $_REQUEST["WO_NO_P"] ?: "",
+ "WO_NO" => $_REQUEST["WO_NO_P"] ?: "",
"ITEM_CD" => $_REQUEST["ITEM_CD"] ?: "",
"OP_CD" => $_REQUEST["OP_CD"] ?: "",
"FACLT_CD " => $_REQUEST["FACLT_CD_P"] ?: ""
diff --git a/home_dir/www/ksvc/prod/reg_order_result/reg_order_result.js b/home_dir/www/ksvc/prod/reg_order_result/reg_order_result.js
index fc20847..3f6ee90 100644
--- a/home_dir/www/ksvc/prod/reg_order_result/reg_order_result.js
+++ b/home_dir/www/ksvc/prod/reg_order_result/reg_order_result.js
@@ -154,7 +154,6 @@ class Tb_order_class {
*/
addRow() {
this.tbList.addRow({ _STATUS_: "I" });
- this.saveButtonActive(false);
// this.orderModal();
}
/*
@@ -163,15 +162,7 @@ class Tb_order_class {
* @function 선택된 모든 행 삭제
*/
- saveButtonActive(boolean) {
- if (boolean) {
- document.getElementById("put_btn").classList.add("disabled-btn");
- document.getElementById("put_btn").disabled = true;
- } else {
- document.getElementById("put_btn").classList.remove("disabled-btn");
- document.getElementById("put_btn").disabled = false;
- }
- }
+
submitDateTime() {
let dateTimeValue = document.getElementById("MAKE_TM").value;
@@ -179,41 +170,55 @@ class Tb_order_class {
console.log("서버로 보낼 날짜 및 시간: " + formattedDateTime);
}
- removeRow() {
- const selectedRows = this.tbList.getSelectedRows(); // 선택된 모든 행 가져오기
- // 선택된 각 행 삭제
- selectedRows.forEach((row) => {
- // STAUS D로 바꾸기
- row.getData()._STATUS_ = row.getData()._STATUS_ == "I" ? null : "D";
- const rowElement = row.getElement();
- rowElement.classList.add("remove-row");
+
+ removeRow() {
+ const selectedRows = this.tbList.getRows().filter(row=>{
+ return row.getData().check ==="Y"
});
- this.saveButtonActive(false);
+
+ if(selectedRows.length > 0 ){
+
+ kuls_confirm("삭제","하시겠습니까?", ()=>{
+ // 선택된 각 행 삭제
+ selectedRows.forEach((row) => {
+ // STAUS D로 바꾸기
+ row.getData()._STATUS_ = row.getData()._STATUS_=="I"?null:"D";
+
+ const rowElement = row.getElement();
+ rowElement.classList.add("remove-row");
+
+ });
+ })
+ }else{
+ kuls_alert("삭제할 행을 선택해주세요.")
+ }
}
- // removeRow() {
- // const selectedRows = this.tbList.getRows().filter(row=>{
- // return row.getData().check ==="Y"
- // });
+ /*
+ * @Overview 삭제 취소 함수
+ * @Parameter 삭제 행
+ * @function 클릭시 삭제 취소 & STATUS를 공란으로 변경
+ */
+ clearRemove(tgt){
+ if(tgt._row.data._STATUS_ == "D"){
+ // console.log();
+ tgt._row.data._STATUS_ = "";
+ tgt._row.getElement().classList.remove("remove-row")
+ // const selectedRows = this.tbList.getSelectedRows(); // 선택된 모든 행 가져오기
+ }
+ }
- // if(selectedRows.length > 0 ){
- // kuls_confirm("삭제","하시겠습니까?", ()=>{
- // // 선택된 각 행 삭제
- // selectedRows.forEach((row) => {
- // // STAUS D로 바꾸기
- // row.getData()._STATUS_ = row.getData()._STATUS_=="I"?null:"D";
-
- // const rowElement = row.getElement();
- // rowElement.classList.add("remove-row");
-
- // });
- // })
- // }else{
- // kuls_alert("삭제할 행을 선택해주세요.")
- // }
- // }
+ /*
+ * @Overview 테이블 셀 수정 함수
+ * @Parameter 셀
+ * @function 셀 편집이 이후 저장될수 있도록 _STATUS_:U로 데이터 업데이트
+ */
+ cellEdited(cell) {
+ cell.getData()._STATUS_ = cell.getData()._STATUS_ || "U";
+
+ }
/*
* @Overview 테이블 행 선택 함수
@@ -223,14 +228,10 @@ class Tb_order_class {
rowClick(e, tgt) {
if (tgt.isSelected()) {
tgt.deselect();
- this.updateBtn.classList.add("disabled-btn");
- this.updateBtn.disabled = true;
- //this.clearRemove(tgt)
+ this.clearRemove(tgt)
} else {
this.tbList.deselectRow();
tgt.select();
- this.updateBtn.disabled = false;
- this.updateBtn.classList.remove("disabled-btn");
}
}
@@ -264,15 +265,16 @@ class Tb_order_class {
ORD_QTY: 'ORD_QTY',
OP_WRK_QTY: 'OP_WRK_QTY',
MAKE_TM: 'MAKE_TM',
- FACLT_CD: 'FACLT_CD'
+ FACLT_CD: 'FACLT_CD',
+ FACLT_NM: 'FACLT_NM'
},tgt.getRow())
break;
- case "FACLT_CD":
- popRegFacility({
- FACLT_CD: 'FACLT_CD',
- FACLT_NM:'FACLT_NM'
- },tgt.getRow())
- break;
+ // case "FACLT_CD":
+ // popRegFacility({
+ // FACLT_CD: 'FACLT_CD',
+ // FACLT_NM:'FACLT_NM'
+ // },tgt.getRow())
+ // break;
case "EMP_NM":
popWorker({
EMP_NO:'EMP_NO',
@@ -291,11 +293,6 @@ class Tb_order_class {
// break;
}
}
-
- // 셀 수정
- cellEdited(cell) {
- cell.getData()._STATUS_ = cell.getData()._STATUS_ || "U";
- }
putData() {
const _this = this;
// 기본키 중복 확인 및 방지
@@ -327,9 +324,8 @@ class Tb_order_class {
kuls_alert(error.message);
},
complete: function () {
- this.saveButtonActive(true);
- this.updateBtn.disabled = false;
- this.updateBtn.classList.remove("disabled-btn");
+ window.clearTimeout(talert);
+ this.tbList.clearAlert();
},
});
return true;
@@ -350,16 +346,21 @@ class Tb_order_class {
* @Parameter 없음
*/
init() {
+
+
// field 정의
- const fields = [
+ fields = [
// 생산오더, 품목, 도면번호, 거래처, 납기일, 지시일, 지시구분, 지시 수량, 단위, 상태, 작업순서, 비고
{ field:"check", title: "선택", width: 50, headerSort: false,formatter: tb_common_funtions.formatterCheckboxIcon,formatterParams: { checkval: "Y" },},
{ formatter: "rownum", title: "NO", width: 50 },
- { field: "WO_NO", title: "생산오더", width: 100,cssClass: "editable-cell" },
+ { field: "WO_NO", title: "생산오더", width: 100,editor:tb_custom_editor.upper,
+ editable: (cell) => {
+ const val = cell.getData();
+ return val._STATUS_ === "I";
+ }, },
{ field: "WO_SEQ", width: 50, visible: false },
{ field: "RSLT_NO", width: 50, visible: false },
{ field: "ITEM_CD", width: 100, title: "품목"},
- { field: "DEF_NO", width: 50, visible: false },
{ field: "EMP_NO", width: 50, visible: false},
{ field: "ITEM_NM",title: "품목", width: 200,visible: false },
{ field: "DRAW_NO", title: "도면번호", width: 200, hozAlign: "start" },
@@ -369,7 +370,7 @@ class Tb_order_class {
title: "설비",
cssClass: "width-200",
columns: [
- { field: "FACLT_CD", width: 100 ,cssClass: "editable-cell" },
+ { field: "FACLT_CD", width: 100 , },
{ field: "FACLT_NM", width: 100 },
]},
{ field: "ORD_QTY",
@@ -396,53 +397,24 @@ class Tb_order_class {
title: "양품 수량",
width: 80,
formatter: "money",
+ hozAlign:"left",
formatterParams: { decimal: ",", precision: 0 },
editor: "input"
},
{
field: "RSLT_GRP",
- visible: false,
- },
- {
- field: "CODE_VAL",
title: "실적 그룹",
width: 80,
cssClass: "user-list editable-cell",
editor: "list",
editorParams: { values: varsRSLT_GRP },
formatter: tb_common_funtions.formatterSelect,
- formatterParams:{ values : varsRSLT_GRP },
+ formatterParams:{ values : varsRSLT_GRP },
},
{ field: "EMP_NM", title: "작업자", width: 100 ,cssClass: "editable-cell"},
{ field: "MAKE_TM", title: "실적등록시간", width: 120 },
- { field: "", title: "실적일자",width: 120,},
-
- // {
- // field: "DEF_QTY",
- // width: 100,
- // formatter: "money",
- // formatterParams: { decimal: ",", precision: 0 },
- // visible:false
- // },
- // { field: "WRK_DT", title: "작업 일자", width: 80 }, //formatter mm-dd로
- // {
- // field: "ST_TM",
- // title: "시작 시간",
- // width: 120,
- // },
- // {
- // field: "ED_TM",
- // title: "종료 시간",
- // width: 120,
-
- // },
- // {
- // field: "",
- // title: "가동 시간(분)",
- // width: 100,
- // formatter: this.runningTime,
- // },
+ { field: "WRK_DT", title: "실적일자",width: 120,},
];
const commonFieldData = {
headerSort: false,
@@ -526,15 +498,6 @@ class Tb_order_class {
this.putData && this.putData();
});
});
- //수정
- ["click", "keypress"].forEach((evt) => {
- this.updateBtn.addEventListener(evt, () => {
- this.orderModal(this.tbList.getSelectedRows()[0]._row);
- });
- });
-
- // FORM 제출 클릭시
- // document.querySelector("form[name=frmPrslt]").addEventListener("submit", orderPop.putData);
}
}
@@ -553,15 +516,15 @@ Tb_order_report.init();
* @Overview 모달 행 추가 함수
*/
-function addFormRow() {
- document.querySelector(".add-row-container").innerHTML += `
-
`;
+// }
diff --git a/home_dir/www/ksvc/prod/reg_order_result/reg_order_result.php b/home_dir/www/ksvc/prod/reg_order_result/reg_order_result.php
index 45b1ccd..e78ecef 100644
--- a/home_dir/www/ksvc/prod/reg_order_result/reg_order_result.php
+++ b/home_dir/www/ksvc/prod/reg_order_result/reg_order_result.php
@@ -89,7 +89,7 @@ include_once _SVC_INC_PATH_ . "/header.php";
@@ -126,10 +126,6 @@ include_once _SVC_INC_PATH_ . "/header.php";
삭제
-
diff --git a/home_dir/www/ksvc/prod/reg_plan/reg_plan.js b/home_dir/www/ksvc/prod/reg_plan/reg_plan.js
index 1c6dfb7..b4027a1 100644
--- a/home_dir/www/ksvc/prod/reg_plan/reg_plan.js
+++ b/home_dir/www/ksvc/prod/reg_plan/reg_plan.js
@@ -440,15 +440,15 @@ class Tb_main_class {
let fields = "";
// field 정의
fields = [
- { field: "SEQ_NO", title: "id", width: 100, visible: false },
- { field: "WRK_TEAM", title: "팀", width: 100, editor: "input" },
- { field: "PLAN_FACLT_CD", title: "설비", width: 100, editor: "input" },
- { field: "SEPER", title: "구분", width: 100 },
+ {field: "SEQ_NO", title: "id", width: 100, visible: false},
+ {field: "WRK_TEAM", title: "팀", width: 100, editor: "input"},
+ {field: "PLAN_FACLT_CD", title: "설비", width: 100, editor: "input"},
+ {field: "SEPER", title: "구분", width: 100},
// 날짜 필드 동적으로 넣을것 오늘부터 7일까지
...this.getDate(),
];
let commonFieldData = "";
- commonFieldData = {
+ commonFieldData = {
headerSort: false,
vertAlign: "middle",
hozAlign: "center",
@@ -456,7 +456,7 @@ class Tb_main_class {
headerHozAlign: "center", //헤더 정렬
headerSortTristate: true, //데이터 정렬 => 정/역/초기화
};
- this.tbList ="";
+ this.tbList = "";
this.tbList = new Tabulator(this.table, {
layout: "fitColumns",
// data: [
@@ -469,7 +469,8 @@ class Tb_main_class {
columnDefaults: commonFieldData,
groupStartOpen: true,
});
-
+ }
+init2(){
// 데이터 불러오기
this.tbList.on("tableBuilt", () => {
this.getMainList(
@@ -512,7 +513,8 @@ class Tb_main_class {
const filterBtn = document.querySelector("#filter_btn");
filterBtn.addEventListener(evt, () => {
// setFilter 또는 setData
- this.getDate();
+ this.init();
+
this.setFilter();
// this.getMainList("getPlanList","team_pop","product_pop","sub_product_pop");
});
@@ -528,3 +530,4 @@ class Tb_main_class {
}
const Tb_production_plan = new Tb_main_class("#main_table");
Tb_production_plan.init();
+Tb_production_plan.init2();
\ No newline at end of file
diff --git a/home_dir/www/ksvc/site/sts_order_prod/reg_prod_result.js b/home_dir/www/ksvc/site/sts_order_prod/reg_prod_result.js
index 19a52b6..b1904f6 100644
--- a/home_dir/www/ksvc/site/sts_order_prod/reg_prod_result.js
+++ b/home_dir/www/ksvc/site/sts_order_prod/reg_prod_result.js
@@ -60,11 +60,11 @@ class SimpleTable {
kuls_alert(data.mesg);
}
},
- error: function (request, status, error) {
+ error: (request, status, error)=>{
kuls_alert(error.message);
},
- complete: function () {
- pop
+ complete: function(){
+ console.log(this)
}
})
@@ -81,33 +81,7 @@ class SimpleTable {
this.tbList = new Tabulator(this.table, {
layout:'fitColumns',
- data:[
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- ],
+ data:[],
columns: this.field,
columnDefaults: commonFieldData,
selectableRows:1,