diff --git a/WebContent/WEB-INF/view/project/WBSExcelImportPopUp.jsp b/WebContent/WEB-INF/view/project/WBSExcelImportPopUp.jsp index 707837a..273a2d7 100644 --- a/WebContent/WEB-INF/view/project/WBSExcelImportPopUp.jsp +++ b/WebContent/WEB-INF/view/project/WBSExcelImportPopUp.jsp @@ -7,283 +7,408 @@ <%=Constants.SYSTEM_NAME%> +
- - - + +

- WBS Excel Upload + ${empty templateObjId ? 'WBS 템플릿 등록' : 'WBS 템플릿 수정'}

@@ -291,28 +416,20 @@ $(document).ready(function(){ - + - + - + - - - - - - - - @@ -320,7 +437,9 @@ $(document).ready(function(){
- + + +
@@ -335,31 +454,42 @@ $(document).ready(function(){
- -
- - - - - - - - - - - -
UNIT NameUNIT No
-
- -
- - - - - - -
-
+ +
+ + + + + + + + + + + + + + + + + + + + +
선택수준Unit Name / 공정
123
+
+
+ + + + + + + + + +
+
diff --git a/WebContent/WEB-INF/view/project/wbsTemplateMngList.jsp b/WebContent/WEB-INF/view/project/wbsTemplateMngList.jsp index aa92765..d481235 100644 --- a/WebContent/WEB-INF/view/project/wbsTemplateMngList.jsp +++ b/WebContent/WEB-INF/view/project/wbsTemplateMngList.jsp @@ -92,14 +92,14 @@ $(document).ready(function(){ var columns = [ {headerHozAlign : 'center', hozAlign : 'left', width : '250', title : '제품구분', field : 'PRODUCT_NAME' }, - {headerHozAlign : 'center', hozAlign : 'left', width : '250', title : '기계형식', field : 'TITLE' }, - {headerHozAlign : 'center', hozAlign : 'left', /* width : '250', */ title : '고객사_장비목적', field : 'CUSTOMER_PRODUCT', - formatter:fnc_createGridAnchorTag, - cellClick:function(e, cell){ - var objid = fnc_checkNull(cell.getData().OBJID); - fn_openTemplateMasterPopUp(objid); - } - }, + {headerHozAlign : 'center', hozAlign : 'left', /* width : '250', */ title : '제목', field : 'TITLE' }, + // {headerHozAlign : 'center', hozAlign : 'left', /* width : '250', */ title : '고객사_장비목적', field : 'CUSTOMER_PRODUCT', + // formatter:fnc_createGridAnchorTag, + // cellClick:function(e, cell){ + // var objid = fnc_checkNull(cell.getData().OBJID); + // fn_openTemplateMasterPopUp(objid); + // } + // }, {headerHozAlign : 'center', hozAlign : 'center', width : '250', title : 'UNIT', field : 'WBS_TASK_CNT0', formatter:fnc_getFolderIcon, cellClick:function(e, cell){ @@ -130,18 +130,12 @@ function fn_openTemplateMasterPopUp(objId){ } function fn_openWBSTaskListPopUp(objId){ - var hiddenForm = document.hiddenForm; - var popup_width = 800; - var popup_height = 700; - var url = "/project/wbsTemplateTaskListDetailPopUp.do"; + var popup_width = 1340; + var popup_height = 700; + var url = "/project/WBSExcelImportPopUp.do?templateObjId=" + objId; var target = "openWBSTaskListPopUp"; - + fn_centerPopup(popup_width, popup_height, url, target); - - hiddenForm.action = url; - hiddenForm.OBJID.value = objId; - hiddenForm.target = target; - hiddenForm.submit(); } function _fnc_datepick(){ diff --git a/src/com/pms/controller/ProjectController.java b/src/com/pms/controller/ProjectController.java index 8aedd0e..b237a43 100644 --- a/src/com/pms/controller/ProjectController.java +++ b/src/com/pms/controller/ProjectController.java @@ -2282,14 +2282,27 @@ public class ProjectController { @RequestMapping("/project/WBSExcelImportPopUp.do") public String partMngExcelImportPopUp(HttpServletRequest request, @RequestParam Map paramMap){ String objid = CommonUtils.createObjId(); + String templateObjId = CommonUtils.nullToEmpty((String)paramMap.get("templateObjId")); Map code_map = new HashMap(); try{ - code_map.put("product_cd", commonService.bizMakeOptionList("0000001", CommonUtils.nullToEmpty((String)paramMap.get("product")),"common.getCodeselect")); //공장 - + code_map.put("product_cd", commonService.bizMakeOptionList("0000001", CommonUtils.nullToEmpty((String)paramMap.get("product")),"common.getCodeselect")); + + if(!"".equals(templateObjId)){ + Map templateParam = new HashMap(); + templateParam.put("OBJID", templateObjId); + Map masterInfo = service.getWBSTemplateMasterInfo(request, templateParam); + List taskList = service.getWBSTemplateTaskList(request, templateParam); + request.setAttribute("masterInfo", masterInfo); + request.setAttribute("taskList", taskList); + request.setAttribute("templateObjId", templateObjId); + + String productObjId = CommonUtils.nullToEmpty((String)masterInfo.get("PRODUCT_OBJID")); + code_map.put("product_cd", commonService.bizMakeOptionList("0000001", productObjId, "common.getCodeselect")); + } }catch(Exception e){ e.printStackTrace(); } - + request.setAttribute("OBJID",objid); request.setAttribute("code_map",code_map); return "/project/WBSExcelImportPopUp"; diff --git a/src/com/pms/mapper/project.xml b/src/com/pms/mapper/project.xml index fce4c42..535257b 100644 --- a/src/com/pms/mapper/project.xml +++ b/src/com/pms/mapper/project.xml @@ -5611,29 +5611,38 @@ ,PARENT_OBJID ,TASK_NAME ,TASK_SEQ + ,TASK_LEVEL ,USER_ID ,WRITER ,REG_DATE ,UNIT_NO + ,UPPER_TASK_OBJID ) VALUES ( #{objid} ,#{parent_objid} ,#{task_name} ,#{task_seq} + ,#{task_level} ,#{user_id} ,#{writer} - ,now() + ,now() ,#{unit_no} + ,#{upper_task_objid} ) ON CONFLICT (OBJID) DO UPDATE SET - TASK_NAME = #{task_name} - ,TASK_SEQ = #{task_seq} - ,USER_ID = #{user_id} - ,UNIT_NO = #{unit_no} + TASK_NAME = #{task_name} + ,TASK_SEQ = #{task_seq} + ,TASK_LEVEL = #{task_level} + ,USER_ID = #{user_id} + ,UNIT_NO = #{unit_no} + ,UPPER_TASK_OBJID = #{upper_task_objid} - - + + + DELETE FROM PMS_WBS_TASK_STANDARD WHERE PARENT_OBJID = #{parent_objid} + + diff --git a/src/com/pms/service/ProjectService.java b/src/com/pms/service/ProjectService.java index f8801a8..a5170ac 100644 --- a/src/com/pms/service/ProjectService.java +++ b/src/com/pms/service/ProjectService.java @@ -2940,51 +2940,54 @@ public class ProjectService { try{ PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); String writer = CommonUtils.checkNull(person.getUserId()); - + String product = CommonUtils.checkNull(request.getParameter("product")); String title = CommonUtils.checkNull(request.getParameter("title")); String customer_product = CommonUtils.checkNull(request.getParameter("customer_product")); - - Map templateMapsterSqlParamMap = new HashMap(); - - String wbsMasterObjId = CommonUtils.createObjId(); - - templateMapsterSqlParamMap.put("objid" , wbsMasterObjId); - templateMapsterSqlParamMap.put("product" , product); - templateMapsterSqlParamMap.put("title" , title); - templateMapsterSqlParamMap.put("writer" , writer); - templateMapsterSqlParamMap.put("customer_product" , customer_product); - - //템플릿 마스터를 저장한다. - sqlSession.insert("project.saveWBSTaskTemp",templateMapsterSqlParamMap); - + String templateObjId = CommonUtils.checkNull(request.getParameter("templateObjId")); + + String wbsMasterObjId; + + if(!"".equals(templateObjId)){ + wbsMasterObjId = templateObjId; + Map deleteParam = new HashMap(); + deleteParam.put("parent_objid", wbsMasterObjId); + sqlSession.delete("project.deleteWBSTemplateTaskByMaster", deleteParam); + } else { + wbsMasterObjId = CommonUtils.createObjId(); + Map templateMasterSqlParamMap = new HashMap(); + templateMasterSqlParamMap.put("objid", wbsMasterObjId); + templateMasterSqlParamMap.put("product", product); + templateMasterSqlParamMap.put("title", title); + templateMasterSqlParamMap.put("writer", writer); + templateMasterSqlParamMap.put("customer_product", customer_product); + sqlSession.insert("project.saveWBSTaskTemp", templateMasterSqlParamMap); + } + String[] wbsObjIdList = request.getParameterValues("WBS_TASK_OBJID"); - - if(null != wbsObjIdList || 0 < wbsObjIdList.length){ - + + if(null != wbsObjIdList && 0 < wbsObjIdList.length){ + for(int i = 0;i