개발관리_설계변경리스트
This commit is contained in:
@@ -2107,4 +2107,68 @@ public class ProductionPlanningController extends BaseService {
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* M-BOM 변경이력 목록 페이지
|
||||
*/
|
||||
@RequestMapping("/productionplanning/mBomHistoryList.do")
|
||||
public String mBomHistoryList(HttpServletRequest request, @RequestParam Map paramMap){
|
||||
Map code_map = new HashMap();
|
||||
try {
|
||||
// 주문유형 (0000167)
|
||||
code_map.put("category_cd", commonService.bizMakeOptionList("0000167", (String)paramMap.get("search_category_cd"), "common.getCodeselect"));
|
||||
// 제품구분 (0000001)
|
||||
code_map.put("product_cd", commonService.bizMakeOptionList("0000001", (String)paramMap.get("search_product_cd"), "common.getCodeselect"));
|
||||
// 고객사 (SUPPLY_MNG + CLIENT_MNG)
|
||||
code_map.put("customer_cd", commonService.bizMakeOptionList("", (String)paramMap.get("search_customer_objid"), "common.getAllSupplySelect"));
|
||||
|
||||
request.setAttribute("code_map", code_map);
|
||||
} catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return "/productionplanning/mBomHistoryList";
|
||||
}
|
||||
|
||||
/**
|
||||
* M-BOM 변경이력 그리드 목록 조회 (MBOM_HISTORY 기준)
|
||||
*/
|
||||
@ResponseBody
|
||||
@RequestMapping("/productionplanning/mBomHistoryGridList.do")
|
||||
public Map mBomHistoryGridList(HttpServletRequest request, @RequestParam Map paramMap){
|
||||
commonService.selectListPagingNew("productionplanning.getMbomHistoryGridList", request, paramMap);
|
||||
return paramMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* M-BOM 변경이력 상세 팝업
|
||||
*/
|
||||
@RequestMapping("/productionplanning/mBomHistoryDetailPopup.do")
|
||||
public String mBomHistoryDetailPopup(HttpServletRequest request, @RequestParam Map paramMap){
|
||||
try {
|
||||
String historyObjId = CommonUtils.nullToEmpty((String)paramMap.get("historyObjId"));
|
||||
|
||||
if(!"".equals(historyObjId)) {
|
||||
// 이력 상세 정보 조회
|
||||
Map<String, Object> historyInfo = commonService.selectOne("productionplanning.getMbomHistoryDetail", request, paramMap);
|
||||
|
||||
if(historyInfo != null) {
|
||||
// JSON 데이터 이스케이프 처리 (JSP에서 JavaScript로 전달 시 오류 방지)
|
||||
String beforeData = CommonUtils.nullToEmpty((String)historyInfo.get("BEFORE_DATA"));
|
||||
String afterData = CommonUtils.nullToEmpty((String)historyInfo.get("AFTER_DATA"));
|
||||
|
||||
// 줄바꿈, 작은따옴표 등 이스케이프
|
||||
beforeData = beforeData.replace("\\", "\\\\").replace("'", "\\'").replace("\n", "\\n").replace("\r", "");
|
||||
afterData = afterData.replace("\\", "\\\\").replace("'", "\\'").replace("\n", "\\n").replace("\r", "");
|
||||
|
||||
historyInfo.put("BEFORE_DATA_ESCAPED", beforeData);
|
||||
historyInfo.put("AFTER_DATA_ESCAPED", afterData);
|
||||
|
||||
request.setAttribute("historyInfo", historyInfo);
|
||||
}
|
||||
}
|
||||
} catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return "/productionplanning/mBomHistoryDetailPopup";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -4933,4 +4933,93 @@
|
||||
WHERE PROJECT_OBJID = #{projectObjid}
|
||||
</delete>
|
||||
|
||||
<!-- M-BOM 변경이력 목록 조회 (MBOM_HISTORY 기준) -->
|
||||
<select id="getMbomHistoryGridList" parameterType="map" resultType="com.pms.common.UpperKeyMap">
|
||||
SELECT
|
||||
MH.OBJID AS HISTORY_OBJID,
|
||||
MH.MBOM_HEADER_OBJID,
|
||||
MH.CHANGE_TYPE,
|
||||
--TO_CHAR(MH.CHANGE_DATE, 'YYYY-MM-DD HH24:MI:SS') AS CHANGE_DATE,
|
||||
TO_CHAR(MH.CHANGE_DATE, 'YYYY-MM-DD') AS CHANGE_DATE,
|
||||
MH.CHANGE_USER,
|
||||
COALESCE(
|
||||
(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = MH.CHANGE_USER LIMIT 1),
|
||||
MH.CHANGE_USER
|
||||
) AS CHANGE_USER_NAME,
|
||||
PM.OBJID AS PROJECT_OBJID,
|
||||
PM.PROJECT_NO,
|
||||
PM.PART_NO,
|
||||
PM.PART_NAME,
|
||||
COALESCE(PM.QUANTITY::numeric, 0) AS QUANTITY,
|
||||
COALESCE(PM.DUE_DATE, CM.REQ_DEL_DATE) AS REQ_DEL_DATE,
|
||||
CM.OBJID AS CONTRACT_OBJID,
|
||||
COALESCE((SELECT CODE_NAME FROM COMM_CODE WHERE CODE_ID = CM.CATEGORY_CD LIMIT 1), '') AS CATEGORY_NAME,
|
||||
COALESCE((SELECT CODE_NAME FROM COMM_CODE WHERE CODE_ID = CM.PRODUCT LIMIT 1), '') AS PRODUCT_NAME,
|
||||
COALESCE((SELECT CODE_NAME FROM COMM_CODE WHERE CODE_ID = CM.AREA_CD LIMIT 1), '') AS AREA_NAME,
|
||||
TO_CHAR(PM.REGDATE, 'YYYY-MM-DD') AS RECEIPT_DATE,
|
||||
COALESCE(
|
||||
CASE WHEN CM.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG AS C WHERE 'C_' || C.OBJID::VARCHAR = CM.CUSTOMER_OBJID LIMIT 1) ELSE (SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID::VARCHAR = CM.CUSTOMER_OBJID::VARCHAR LIMIT 1) END,
|
||||
''
|
||||
) AS CUSTOMER_NAME,
|
||||
COALESCE(
|
||||
(SELECT CODE_NAME FROM COMM_CODE WHERE CODE_ID = CM.PAID_TYPE LIMIT 1),
|
||||
CASE
|
||||
WHEN CM.PAID_TYPE = 'paid' THEN '유상'
|
||||
WHEN CM.PAID_TYPE = 'free' THEN '무상'
|
||||
ELSE ''
|
||||
END
|
||||
) AS PAID_TYPE_NAME,
|
||||
COALESCE(CI.CUSTOMER_REQUEST, '') AS CUSTOMER_REQUEST
|
||||
FROM MBOM_HISTORY MH
|
||||
INNER JOIN MBOM_HEADER MHD ON MH.MBOM_HEADER_OBJID = MHD.OBJID
|
||||
INNER JOIN PROJECT_MGMT PM ON MHD.PROJECT_OBJID = PM.OBJID::VARCHAR
|
||||
LEFT OUTER JOIN CONTRACT_ITEM CI ON PM.CONTRACT_OBJID = CI.CONTRACT_OBJID
|
||||
LEFT JOIN CONTRACT_MGMT CM ON PM.CONTRACT_OBJID = CM.OBJID
|
||||
WHERE 1=1
|
||||
<if test="search_category_cd != null and search_category_cd != ''">
|
||||
AND CM.CATEGORY_CD = #{search_category_cd}
|
||||
</if>
|
||||
<if test="search_product_cd != null and search_product_cd != ''">
|
||||
AND CM.PRODUCT = #{search_product_cd}
|
||||
</if>
|
||||
<if test="search_area_cd != null and search_area_cd != ''">
|
||||
AND CM.AREA_CD = #{search_area_cd}
|
||||
</if>
|
||||
<if test="search_customer_objid != null and search_customer_objid != ''">
|
||||
AND CM.CUSTOMER_OBJID = #{search_customer_objid}
|
||||
</if>
|
||||
<if test="search_change_date_from != null and search_change_date_from != ''">
|
||||
AND MH.CHANGE_DATE >= TO_DATE(#{search_change_date_from}, 'YYYY-MM-DD')
|
||||
</if>
|
||||
<if test="search_change_date_to != null and search_change_date_to != ''">
|
||||
AND MH.CHANGE_DATE <= TO_DATE(#{search_change_date_to}, 'YYYY-MM-DD') + INTERVAL '1 day'
|
||||
</if>
|
||||
ORDER BY MH.CHANGE_DATE DESC
|
||||
</select>
|
||||
|
||||
<!-- M-BOM 변경이력 상세 조회 (개별 히스토리 건) -->
|
||||
<select id="getMbomHistoryDetail" parameterType="map" resultType="com.pms.common.UpperKeyMap">
|
||||
SELECT
|
||||
MH.OBJID AS HISTORY_OBJID,
|
||||
MH.MBOM_HEADER_OBJID,
|
||||
MH.CHANGE_TYPE,
|
||||
MH.CHANGE_DESCRIPTION,
|
||||
MH.BEFORE_DATA::TEXT AS BEFORE_DATA,
|
||||
MH.AFTER_DATA::TEXT AS AFTER_DATA,
|
||||
TO_CHAR(MH.CHANGE_DATE, 'YYYY-MM-DD HH24:MI:SS') AS CHANGE_DATE,
|
||||
MH.CHANGE_USER,
|
||||
COALESCE(
|
||||
(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = MH.CHANGE_USER LIMIT 1),
|
||||
MH.CHANGE_USER
|
||||
) AS CHANGE_USER_NAME,
|
||||
-- PROJECT 정보
|
||||
PM.PROJECT_NO,
|
||||
PM.PART_NO,
|
||||
PM.PART_NAME
|
||||
FROM MBOM_HISTORY MH
|
||||
INNER JOIN MBOM_HEADER MHD ON MH.MBOM_HEADER_OBJID = MHD.OBJID
|
||||
INNER JOIN PROJECT_MGMT PM ON MHD.PROJECT_OBJID = PM.OBJID::VARCHAR
|
||||
WHERE MH.OBJID::VARCHAR = #{historyObjId}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user