|
diff --git a/home_dir/www/ksvc/site/sts_order_prod/sts_order_prod.ajax.php b/home_dir/www/ksvc/site/sts_order_prod/sts_order_prod.ajax.php
index 543f157..7210920 100644
--- a/home_dir/www/ksvc/site/sts_order_prod/sts_order_prod.ajax.php
+++ b/home_dir/www/ksvc/site/sts_order_prod/sts_order_prod.ajax.php
@@ -31,30 +31,36 @@ if( !_notAuth("R") ){/************ 권한체크*/
$retval['code'] = false;
}
break;
- case "getOrderList":
- $retval['code'] = true;
-// $sql = "USP_B_OPERATION_S10";
+ // 생산오더별 진행현황
+ case 'getStsList':
-// $params = array(
-// "OP_NM" => "",
-// "USE_FLG" => "Y"
-// );
-// $rst = $baseObj->DB->exec($sql,$params);
+ $squl = "USP_P_WO_OPER_RSLT_S40";
-// $rows = array();
-// if( $rst ){
-// $retval['code'] = true;
-// while( $row = $baseObj->DB->fetch_array($rst) ){
-// // $row['OP_CD_OLD'] = $row['OP_CD'];
+ $params = array(
+ "date_st" => $_REQUEST["order_date_st"] ?: "2024-04-01",
+// "date_st" => "2024-04-16" ?: "",
+ "date_ed" => $_REQUEST["order_date_ed"] ?: "2024-05-31",
+ "WO_NO" => $_REQUEST["P_WO_NO"] ?: "",
+ "ITEM_CD" => $_REQUEST["ITEM_CD"] ?: "",
+ "OP_CD" => $_REQUEST["OP_CD"] ?: "",
+ "FACLT_CD " => $_REQUEST["FACLT_CD_P"] ?: "",
+ "EMP_NO" => $_REQUEST["EMP_NO"] ?: ""
+ );
+ $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;
+ }
-// $rows[] = $row;
-// }
-// $retval['data'] = $rows;
-// $retval['mesg'] = "정상적으로 작동하였습니다.";
-// }else{
-// $retval['code'] = false;
-// }
break;
}
}
diff --git a/home_dir/www/ksvc/site/sts_order_prod/sts_order_prod.js b/home_dir/www/ksvc/site/sts_order_prod/sts_order_prod.js
index 78c47b2..c963b1a 100644
--- a/home_dir/www/ksvc/site/sts_order_prod/sts_order_prod.js
+++ b/home_dir/www/ksvc/site/sts_order_prod/sts_order_prod.js
@@ -3,6 +3,7 @@
*/
+
class Tb_oper_class {
constructor(container){
this.ajaxUrl = "./sts_order_prod.ajax.php";
@@ -220,13 +221,13 @@ class Tb_oper_class {
const VueOperStatusCode = createApp({
data(){
return {
- ajaxUrl: './sts_oper_prod.ajax.php',
+ ajaxUrl: './sts_order_prod.ajax.php',
codeList: [],
isHover: {}
}
},
mounted(){
- this.getCodeList();
+ this.getMainList("getStsList", "P_WO_NO");
},
// computed: {
@@ -245,14 +246,14 @@ const VueOperStatusCode = createApp({
if(operData){
finalDataList.push(
{
- 공정명: operData.공정 ,
- 계획수량: operData.계획수량,
- 실적수량 : operData.실적수량,
- 투입시간:operData.투입시간,
- 종료시간 : operData.종료시간,
+ OP_CD: operData.OP_CD ,
+ PLAN_QTY: operData.PLAN_QTY,
+ PRD_QTY : operData.PRD_QTY,
+ ST_TM:operData.ST_TM,
+ ED_TM : operData.ED_TM,
예상종료시간 : operData.예상종료시간 ,
- 설비: operData.설비,
- 작업자: operData.작업자
+ FACLT_CD: operData.FACLT_CD,
+ EMP_NM: operData.EMP_NM
}
)
}else{
@@ -270,25 +271,112 @@ const VueOperStatusCode = createApp({
}
},
- getCodeList() {
- // 임의의 데이터 직접 입력 [데이터 이렇게 php로 전처리...]
- let temp = [
- {생산오더: 'P15998', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 1, 공정 : '소재', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'최창희'}
- ,{생산오더: 'P15998', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 2, 공정 : 'M', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'최창희'}
- ,{생산오더: 'P15998', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 4, 공정 : 'G', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'최창희'}
- ,{생산오더: 'P15998', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 3, 공정 : 'F', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'최창희'}
- ,{생산오더: 'P15998', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 5, 공정 : 'H', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'최창희'}
- ,{생산오더: 'P15998', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 6, 공정 : 'M', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'최창희'}
- ,{생산오더: 'P15968', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 1, 공정 : '소재', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'이창희'}
- ,{생산오더: 'P15968', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 2, 공정 : 'M', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'이창희'}
- ,{생산오더: 'P15968', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 4, 공정 : 'G', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'이창희'}
- ,{생산오더: 'P15968', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 3, 공정 : 'F', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'이창희'}
- ,{생산오더: 'P15968', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 5, 공정 : 'H', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'이창희'}
- ,{생산오더: 'P15968', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 6, 공정 : 'M', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'이창희'}
- ];
- const group = Object.values(Object.groupBy(temp, ({생산오더}) => 생산오더))
- console.log(group);
+
+ // tableBuild 되었을때 getManList
+ getMainList(mode,...test) {
+ const talert= window.setTimeout(()=> { this.tbList.alert("Loading ...") }, 1000);
+ let arr = test;
+ // let testList = new Array();
+ let data = new Object();
+ for(let i=0; i < arr.length; i++){
+ let temp = [arr[i]]
+ console.log();
+ if(document.getElementById(arr[i])?.type !== "checkbox"){
+ data[temp] = document.getElementById(temp)?.value
+ }else{
+ data[temp] = document.getElementById(temp)?.checked?"Y":"N";
+ }
+ }
+ data.mode = mode
+ // let USEFLAG = document.getElementById("USE_FLG").checked?"Y":"N"; //사용여부
+ ajax_json({
+ url: this.ajaxUrl,
+ data: data,
+
+ success: (data) => {
+ if(data.code) {
+ console.log(data.data);
+ this.getCodeList(data.data)
+ }else{
+ kuls_alert(data.mesg);
+ }
+ },
+ error: (req, status, err) => {
+ kuls_alert(err.message);
+ },
+ complete: () => {
+ window.clearTimeout(talert);
+
+ // this.setFilter();
+ // this.tbList.getRows().forEach(row=>{
+ // row.getCell("WO_NO").getElement().addEventListener("click",(e)=>{
+ // this.rowClick(e,row);
+ // })
+ // });
+ },
+ });
+ return true;
+ },
+ getCodeList(temp) {
+ console.log(temp)
+
+
+ let realTemp = [];
+ console.log(Object.values(Object.groupBy(temp,( {WO_NO} )=>WO_NO)));
+ let group = Object.values(Object.groupBy(temp,( {WO_NO,WO_SEQ} )=>WO_NO && WO_SEQ));
+
+ for(let i = 0; i < group.length; i++) {
+
+
+ group[i][0].OP_CD = group[i].map(function (element) {
+ return {
+ OP_CD: element?.OP_CD,
+ 계획수량: element?.계획수량,
+ PRD_QTY: element?.PRD_QTY,
+ ST_TM: element?.ST_TM,
+ ED_TM: element?.ED_TM,
+ 예상종료시간: element?.예상종료시간,
+ FACLT_CD: element?.FACLT_CD,
+ EMP_NM: element?.EMP_NM
+ }
+
+ });
+ console.log(group[i][0]);
+ realTemp.push(group[i][0]);
+
+ }
+
+ // 임의의 데이터 직접 입력 [데이터 이렇게 php로 전처리...]
+ // let temp = [
+ // {생산오더: 'P15998', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 1, 공정 : '소재', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'최창희'}
+ // ,{생산오더: 'P15998', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 2, 공정 : 'M', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'최창희'}
+ // ,{생산오더: 'P15998', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 4, 공정 : 'G', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'최창희'}
+ // ,{생산오더: 'P15998', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 3, 공정 : 'F', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'최창희'}
+ // ,{생산오더: 'P15998', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 5, 공정 : 'H', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'최창희'}
+ // ,{생산오더: 'P15998', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 6, 공정 : 'M', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'최창희'}
+ // ,{생산오더: 'P15968', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 1, 공정 : '소재', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'이창희'}
+ // ,{생산오더: 'P15968', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 2, 공정 : 'M', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'이창희'}
+ // ,{생산오더: 'P15968', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 4, 공정 : 'G', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'이창희'}
+ // ,{생산오더: 'P15968', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 3, 공정 : 'F', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'이창희'}
+ // ,{생산오더: 'P15968', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 5, 공정 : 'H', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'이창희'}
+ // ,{생산오더: 'P15968', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 6, 공정 : 'M', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'이창희'}
+ // ];
+
+ // const group = Object.values(Object.groupBy(temp, ({WO_NO}) => WO_NO))
+
+
+
+
+
+
+
+
+
+
+ this.codeList = realTemp
+
+
this.initData(group);
// 실제 데이터 입력함수
@@ -306,21 +394,23 @@ const VueOperStatusCode = createApp({
// kuls_alert(err.message);
// }
// })
+ return this.codeList;
},
openPop(data, idx) {
- const process = data['공정'][idx]
+ const process = data['OP_CD'][idx]
const bindingData = {
- WO_NO: data['생산오더'],
+ WO_NO: data['WO_NO'],
// 상태: data[상태],
- DRAW_NO: data['도면번호'],
- ITEM_CD: data['품목'],
- OP_CD: process['공정명'],
- EMP_NM: process['작업자'],
- FACLT_CD: process['설비'],
- 종료시간: process['종료시간'],
- 실적수량: process['실적수량'],
+ DRAW_NO: data['DRAW_NO'],
+ ITEM_CD: data['ITEM_CD'],
+ OP_CD: process['OP_CD'],
+ EMP_NO: process['EMP_NO'],
+ FACLT_CD: process['FACLT_CD'],
+ ED_TM: process['ED_TM'],
+ PRD_QTY: process['PRD_QTY'],
}
+ console.log(bindingData)
const pop = new FieldPop(bindingData);
pop.init();
}
@@ -489,7 +579,7 @@ class Tb_order_class {
// 데이터 불러오기
this.tbList.on("tableBuilt", () => {
- this.getMainList();
+ // this.getMainList();
});
// // row 클릭 시에
// this.tbList.on("rowClick", (e, tgt) => {
@@ -521,7 +611,7 @@ class Tb_order_class {
["click", "keypress"].forEach((evt) => {
const filterBtn = document.querySelector("#filter_btn");
filterBtn.addEventListener(evt, () => {
- this.getMainList();
+ // this.getMainList();
});
});
// // 저장
diff --git a/home_dir/www/ksvc/site/sts_order_prod/sts_order_prod.php b/home_dir/www/ksvc/site/sts_order_prod/sts_order_prod.php
index cad3853..96b0e14 100644
--- a/home_dir/www/ksvc/site/sts_order_prod/sts_order_prod.php
+++ b/home_dir/www/ksvc/site/sts_order_prod/sts_order_prod.php
@@ -43,7 +43,7 @@ include_once _SVC_INC_PATH_ . "/header.php";
|