E-BOM List, part 등록 수정
This commit is contained in:
@@ -455,6 +455,38 @@ public class PartMngController {
|
||||
|
||||
return "/partMng/partMngDetailPopUp";
|
||||
}
|
||||
|
||||
/**
|
||||
* PART Detail 수정 저장
|
||||
* @param request
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/partMng/updatePartDetail.do")
|
||||
@ResponseBody
|
||||
public Map<String, Object> updatePartDetail(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
|
||||
try{
|
||||
// 품목 정보 업데이트
|
||||
int result = partMngService.updatePartDetail(request, paramMap);
|
||||
|
||||
if(result > 0){
|
||||
resultMap.put("result", "success");
|
||||
resultMap.put("message", "저장되었습니다.");
|
||||
}else{
|
||||
resultMap.put("result", "fail");
|
||||
resultMap.put("message", "저장에 실패했습니다.");
|
||||
}
|
||||
|
||||
}catch(Exception e){
|
||||
e.printStackTrace();
|
||||
resultMap.put("result", "error");
|
||||
resultMap.put("message", "저장 중 오류가 발생했습니다.");
|
||||
}
|
||||
|
||||
return resultMap;
|
||||
}
|
||||
/**
|
||||
* PART Detail PopUp
|
||||
* @param request
|
||||
@@ -1717,6 +1749,45 @@ public class PartMngController {
|
||||
CommonUtils.setReqResult(request, "", "F", e, resultMap);
|
||||
}
|
||||
//return result;
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* 품번 중복 체크 (PART_BOM_REPORT 테이블)
|
||||
* @param request
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/partMng/checkDuplicatePartNo.do")
|
||||
@ResponseBody
|
||||
public Map<String, Object> checkDuplicatePartNo(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
|
||||
try{
|
||||
String partNo = CommonUtils.checkNull(paramMap.get("partNo"));
|
||||
String bomReportObjid = CommonUtils.checkNull(paramMap.get("bomReportObjid"));
|
||||
|
||||
if(!"".equals(partNo)){
|
||||
paramMap.put("partNo", partNo.trim());
|
||||
paramMap.put("bomReportObjid", bomReportObjid);
|
||||
|
||||
// DB에서 중복 체크
|
||||
int count = partMngService.checkDuplicatePartNo(request, paramMap);
|
||||
|
||||
resultMap.put("isDuplicate", count > 0);
|
||||
}else{
|
||||
resultMap.put("isDuplicate", false);
|
||||
}
|
||||
|
||||
resultMap.put("result", "success");
|
||||
|
||||
}catch(Exception e){
|
||||
e.printStackTrace();
|
||||
resultMap.put("result", "error");
|
||||
resultMap.put("message", "품번 중복 체크 중 오류가 발생했습니다.");
|
||||
resultMap.put("isDuplicate", false);
|
||||
}
|
||||
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
|
||||
@@ -2610,6 +2610,32 @@ SELECT T1.LEV, T1.BOM_REPORT_OBJID, T1.ROOT_PART_NO, T1.PATH, T1.LEAF, T2.*
|
||||
AND T.OBJID = #{OBJID}
|
||||
</select>
|
||||
|
||||
<!-- PART Detail 수정 저장 -->
|
||||
<update id="updatePartDetail" parameterType="map">
|
||||
UPDATE PART_MNG
|
||||
SET
|
||||
PART_NAME = #{PART_NAME},
|
||||
MATERIAL = #{MATERIAL},
|
||||
HEAT_TREATMENT_HARDNESS = #{HEAT_TREATMENT_HARDNESS},
|
||||
HEAT_TREATMENT_METHOD = #{HEAT_TREATMENT_METHOD},
|
||||
SURFACE_TREATMENT = #{SURFACE_TREATMENT},
|
||||
SUPPLY_CODE = #{SUPPLY_CODE},
|
||||
PART_TYPE = #{PART_TYPE},
|
||||
REMARK = #{REMARK},
|
||||
EDIT_DATE = NOW()
|
||||
WHERE OBJID = #{OBJID}
|
||||
</update>
|
||||
|
||||
<!-- 품번 중복 체크 (PART_BOM_REPORT 테이블 - 헤더 품번) -->
|
||||
<select id="checkDuplicatePartNo" parameterType="map" resultType="int">
|
||||
SELECT COUNT(*)
|
||||
FROM PART_BOM_REPORT
|
||||
WHERE PART_NO = #{partNo}
|
||||
<if test="bomReportObjid != null and bomReportObjid != ''">
|
||||
AND OBJID != #{bomReportObjid}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<!-- //구조등록 목록조회 -->
|
||||
<select id="getBOMStandardStructureList" parameterType="map" resultType="map">
|
||||
SELECT * FROM
|
||||
@@ -2679,7 +2705,7 @@ SELECT T1.LEV, T1.BOM_REPORT_OBJID, T1.ROOT_PART_NO, T1.PATH, T1.LEAF, T2.*
|
||||
</if>
|
||||
<if test="SEARCH_DEPLOY_DATE_TO != null and SEARCH_DEPLOY_DATE_TO != ''">
|
||||
AND T.DEPLOY_DATE IS NOT NULL
|
||||
AND TO_DATE(T.DEPLOY_DATE,'YYYY-MM-DD') <![CDATA[ <= ]]> #{SEARCH_DEPLOY_DATE_TO}::TIMESTAMP
|
||||
AND T.DEPLOY_DATE::DATE <![CDATA[ <= ]]> #{SEARCH_DEPLOY_DATE_TO}::TIMESTAMP
|
||||
</if>
|
||||
|
||||
<if test="status != null and !''.equals(status)">
|
||||
@@ -2751,6 +2777,22 @@ SELECT T1.LEV, T1.BOM_REPORT_OBJID, T1.ROOT_PART_NO, T1.PATH, T1.LEAF, T2.*
|
||||
FROM
|
||||
PART_BOM_REPORT AS T
|
||||
WHERE 1=1
|
||||
<if test="SEARCH_PART_NO != null and !''.equals(SEARCH_PART_NO)">
|
||||
AND UPPER(T.PART_NO) LIKE UPPER('%${SEARCH_PART_NO}%')
|
||||
</if>
|
||||
<if test="SEARCH_PART_NAME != null and !''.equals(SEARCH_PART_NAME)">
|
||||
AND UPPER(T.PART_NAME) LIKE UPPER('%${SEARCH_PART_NAME}%')
|
||||
</if>
|
||||
<if test="product_cd != null and product_cd != ''">
|
||||
AND T.PRODUCT_CD = #{product_cd}
|
||||
</if>
|
||||
<if test="search_fromDate != null and search_fromDate != ''">
|
||||
AND REGDATE::DATE <![CDATA[ >= ]]> TO_DATE(#{search_fromDate}, 'YYYY-MM-DD')
|
||||
</if>
|
||||
<if test="search_toDate != null and search_toDate != ''">
|
||||
AND REGDATE::DATE <![CDATA[ <= ]]> TO_DATE(#{search_toDate}, 'YYYY-MM-DD')
|
||||
</if>
|
||||
|
||||
<if test="customer_cd != null and customer_cd != ''">
|
||||
AND T.CUSTOMER_OBJID = #{customer_cd}
|
||||
</if>
|
||||
@@ -3278,15 +3320,15 @@ SELECT T1.LEV, T1.BOM_REPORT_OBJID, T1.ROOT_PART_NO, T1.PATH, T1.LEAF, T2.*
|
||||
,P.OUT_DIAMETER
|
||||
,P.IN_DIAMETER
|
||||
,P.LENGTH
|
||||
,P.SOURCING_CODE
|
||||
,P.HEAT_TREATMENT_HARDNESS
|
||||
,P.HEAT_TREATMENT_METHOD
|
||||
,P.SURFACE_TREATMENT
|
||||
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO F WHERE P.OBJID = F.TARGET_OBJID <!--AND STATUS = 'Active'--> AND F.DOC_TYPE IN ('3D_CAD')) AS CU01_CNT
|
||||
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO F WHERE P.OBJID = F.TARGET_OBJID <!--AND STATUS = 'Active'--> AND F.DOC_TYPE IN ('2D_DRAWING_CAD')) AS CU02_CNT
|
||||
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO F WHERE P.OBJID = F.TARGET_OBJID <!--AND STATUS = 'Active'--> AND F.DOC_TYPE IN ('2D_PDF_CAD')) AS CU03_CNT
|
||||
|
||||
,V.LEV
|
||||
,P.SOURCING_CODE
|
||||
,P.HEAT_TREATMENT_HARDNESS
|
||||
,P.HEAT_TREATMENT_METHOD
|
||||
,P.SURFACE_TREATMENT
|
||||
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO F WHERE P.OBJID = F.TARGET_OBJID <!--AND STATUS = 'Active'--> AND F.DOC_TYPE IN ('3D_CAD')) AS CU01_CNT
|
||||
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO F WHERE P.OBJID = F.TARGET_OBJID <!--AND STATUS = 'Active'--> AND F.DOC_TYPE IN ('2D_DRAWING_CAD')) AS CU02_CNT
|
||||
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO F WHERE P.OBJID = F.TARGET_OBJID <!--AND STATUS = 'Active'--> AND F.DOC_TYPE IN ('2D_PDF_CAD')) AS CU03_CNT
|
||||
|
||||
,V.LEV
|
||||
,(SELECT OBJID FROM VIEW_BOM VT WHERE V.BOM_REPORT_OBJID = VT.BOM_REPORT_OBJID AND VT.LEV = 1 ORDER BY SEQ LIMIT 1) AS ROOT_OBJID
|
||||
,(SELECT OBJID FROM VIEW_BOM VT WHERE V.BOM_REPORT_OBJID = VT.BOM_REPORT_OBJID AND VT.LEV = 1 ORDER BY SEQ LIMIT 1) AS SUB_ROOT_OBJID
|
||||
,( SELECT
|
||||
|
||||
@@ -652,6 +652,36 @@ public class PartMngService extends BaseService {
|
||||
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* PART Detail 수정 저장
|
||||
* @param request
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
public int updatePartDetail(HttpServletRequest request, Map paramMap){
|
||||
int result = 0;
|
||||
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
||||
|
||||
try{
|
||||
// 품목 정보 업데이트 (품명, 재료, 열처리경도, 열처리방법, 표면처리, 공급업체, 범주이름, 비고)
|
||||
result = sqlSession.update("partMng.updatePartDetail", paramMap);
|
||||
|
||||
if(result > 0){
|
||||
sqlSession.commit();
|
||||
}else{
|
||||
sqlSession.rollback();
|
||||
}
|
||||
|
||||
}catch(Exception e){
|
||||
e.printStackTrace();
|
||||
sqlSession.rollback();
|
||||
}finally{
|
||||
sqlSession.close();
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 파트 배포
|
||||
@@ -1018,7 +1048,7 @@ public class PartMngService extends BaseService {
|
||||
*/
|
||||
public boolean updateStructureStatus(HttpServletRequest request, Map paramMap){
|
||||
boolean result = false;
|
||||
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
||||
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
||||
//접속자
|
||||
HttpSession session = request.getSession();
|
||||
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
|
||||
@@ -1026,9 +1056,24 @@ public class PartMngService extends BaseService {
|
||||
paramMap.put("EDITER", userId);
|
||||
|
||||
try{
|
||||
// BOM 상태 업데이트
|
||||
int cnt = sqlSession.update("partMng.updateStructureStatus", paramMap);
|
||||
|
||||
// 상태가 Y로 변경되면 연결된 파트들을 확정(release)
|
||||
String status = CommonUtils.checkNull(paramMap.get("status"));
|
||||
if("Y".equals(status)){
|
||||
String objId = CommonUtils.checkNull(paramMap.get("objId"));
|
||||
Map deployParam = new HashMap();
|
||||
deployParam.put("checkArr", objId);
|
||||
|
||||
// BOM에 연결된 파트들의 상태를 create -> release로 변경
|
||||
sqlSession.update("partMng.deployPartInfo", deployParam);
|
||||
}
|
||||
|
||||
sqlSession.commit();
|
||||
if(cnt > 0) result = true;
|
||||
}catch(Exception e){
|
||||
sqlSession.rollback();
|
||||
e.printStackTrace();
|
||||
}finally{
|
||||
sqlSession.close();
|
||||
@@ -4218,6 +4263,30 @@ public class PartMngService extends BaseService {
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 품번 중복 체크 (PART_BOM_REPORT 테이블)
|
||||
* @param request
|
||||
* @param paramMap
|
||||
* @return 중복 개수
|
||||
*/
|
||||
public int checkDuplicatePartNo(HttpServletRequest request, Map paramMap){
|
||||
int count = 0;
|
||||
SqlSession sqlSession = null;
|
||||
|
||||
try{
|
||||
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
||||
count = sqlSession.selectOne("partMng.checkDuplicatePartNo", paramMap);
|
||||
}catch(Exception e){
|
||||
e.printStackTrace();
|
||||
}finally{
|
||||
if(sqlSession != null){
|
||||
sqlSession.close();
|
||||
}
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
//bom 구조등록(엑셀업로드)
|
||||
public void savePartBomMaster(HttpServletRequest request,Map paramMap) throws Exception{
|
||||
SqlSession sqlSession = null;
|
||||
@@ -4396,6 +4465,8 @@ public class PartMngService extends BaseService {
|
||||
insertMap.put("SUPPLY_CODE", CommonUtils.checkNull((String)insertMap.get("SUP_CODE")));
|
||||
insertMap.put("MAKER", CommonUtils.checkNull((String)insertMap.get("MAKER")));
|
||||
insertMap.put("POST_PROCESSING", CommonUtils.checkNull((String)insertMap.get("POST_PROCESSING")));
|
||||
insertMap.put("STATUS", "deploy"); // 엑셀 업로드 시 deploy 상태로 저장
|
||||
insertMap.put("WRITER", CommonUtils.checkNull((String)paramMap.get("CONNECTUSERID")));
|
||||
|
||||
insertMap.put("CONTRACT_OBJID", CommonUtils.checkNull((String)paramMap.get("CONTRACT_OBJID")));
|
||||
insertMap.put("PRODUCT_MGMT_OBJID", CommonUtils.checkNull((String)paramMap.get("product_mgmt_objid")));
|
||||
|
||||
Reference in New Issue
Block a user