소재관리
This commit is contained in:
@@ -24,9 +24,12 @@ import com.pms.common.bean.PersonBean;
|
||||
import com.pms.common.service.BaseService;
|
||||
import com.pms.common.utils.CommonUtils;
|
||||
import com.pms.common.utils.Constants;
|
||||
import com.pms.common.SqlMapConfig;
|
||||
import com.pms.service.AdminService;
|
||||
import com.pms.service.CommonService;
|
||||
|
||||
import org.apache.ibatis.session.SqlSession;
|
||||
|
||||
@Controller
|
||||
public class AdminController extends BaseService {
|
||||
|
||||
@@ -5051,4 +5054,135 @@ public String clientImportFileProc(HttpServletRequest request, HttpSession sessi
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* 소재 목록을 가져온다.
|
||||
* @param request
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/admin/materialMngPagingList.do")
|
||||
public String getMaterialMngPaging(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
||||
return "/admin/material/materialMngList";
|
||||
}
|
||||
|
||||
/**
|
||||
* 소재 목록 관리 - 소재 목록 그리드
|
||||
* @param request
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@ResponseBody
|
||||
@RequestMapping("/admin/materialMngGridList.do")
|
||||
public Map materialMngGridList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
||||
commonService.selectListPagingNew("admin.getMaterialMngGridList", request, paramMap);
|
||||
return paramMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* 소재 등록/수정 팝업
|
||||
* @param request
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/admin/materialRegistPopUp.do")
|
||||
public String materialRegistPopUp(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
||||
Map resultMap = new HashMap();
|
||||
try {
|
||||
String objid = CommonUtils.checkNull(paramMap.get("objid"));
|
||||
if(!"".equals(objid)) {
|
||||
// 기존 소재 정보 조회
|
||||
resultMap = commonService.selectOne("admin.getMaterialMngInfo", request, paramMap);
|
||||
}
|
||||
} catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
request.setAttribute("resultMap", resultMap);
|
||||
return "/admin/material/materialRegistPopUp";
|
||||
}
|
||||
|
||||
/**
|
||||
* 소재 저장 (등록/수정)
|
||||
* @param request
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@ResponseBody
|
||||
@RequestMapping("/admin/saveMaterialMngInfo.do")
|
||||
public Map saveMaterialMngInfo(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
||||
Map resultMap = new HashMap();
|
||||
SqlSession sqlSession = null;
|
||||
|
||||
try {
|
||||
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
||||
|
||||
HttpSession session = request.getSession();
|
||||
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
|
||||
String userId = CommonUtils.checkNull(person.getUserId());
|
||||
|
||||
String objid = CommonUtils.checkNull(paramMap.get("objid"));
|
||||
paramMap.put("userId", userId);
|
||||
|
||||
if("".equals(objid)) {
|
||||
// 신규 등록
|
||||
paramMap.put("objid", CommonUtils.createObjId());
|
||||
sqlSession.insert("admin.insertMaterialMng", paramMap);
|
||||
} else {
|
||||
// 수정
|
||||
sqlSession.update("admin.updateMaterialMng", paramMap);
|
||||
}
|
||||
|
||||
sqlSession.commit();
|
||||
resultMap.put("result", "true");
|
||||
resultMap.put("message", "저장되었습니다.");
|
||||
|
||||
} catch(Exception e) {
|
||||
if(sqlSession != null) sqlSession.rollback();
|
||||
e.printStackTrace();
|
||||
resultMap.put("result", "false");
|
||||
resultMap.put("message", "저장 중 오류가 발생했습니다: " + e.getMessage());
|
||||
} finally {
|
||||
if(sqlSession != null) sqlSession.close();
|
||||
}
|
||||
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* 소재 삭제
|
||||
* @param request
|
||||
* @param paramMap
|
||||
* @return
|
||||
*/
|
||||
@ResponseBody
|
||||
@RequestMapping("/admin/deleteMaterialMngInfo.do")
|
||||
public Map deleteMaterialMngInfo(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
||||
Map resultMap = new HashMap();
|
||||
SqlSession sqlSession = null;
|
||||
|
||||
try {
|
||||
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
||||
|
||||
String objId = CommonUtils.checkNull(paramMap.get("objId"));
|
||||
if(!"".equals(objId)) {
|
||||
Map deleteParam = new HashMap();
|
||||
deleteParam.put("objid", objId);
|
||||
sqlSession.delete("admin.deleteMaterialMng", deleteParam);
|
||||
sqlSession.commit();
|
||||
resultMap.put("result", "true");
|
||||
} else {
|
||||
resultMap.put("result", "false");
|
||||
resultMap.put("message", "삭제할 대상이 없습니다.");
|
||||
}
|
||||
|
||||
} catch(Exception e) {
|
||||
if(sqlSession != null) sqlSession.rollback();
|
||||
e.printStackTrace();
|
||||
resultMap.put("result", "false");
|
||||
resultMap.put("message", "삭제 중 오류가 발생했습니다: " + e.getMessage());
|
||||
} finally {
|
||||
if(sqlSession != null) sqlSession.close();
|
||||
}
|
||||
|
||||
return resultMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9379,4 +9379,97 @@ SELECT
|
||||
ORDER BY SCM.REGDATE DESC
|
||||
</select>
|
||||
|
||||
<!-- ==================== 소재 관리 (MATERIAL_MNG) ==================== -->
|
||||
|
||||
<!-- 소재 목록 조회 (그리드용) -->
|
||||
<select id="getMaterialMngGridList" parameterType="map" resultType="map">
|
||||
SELECT
|
||||
OBJID,
|
||||
MATERIAL_CODE,
|
||||
MATERIAL_NAME,
|
||||
MATERIAL_PART_NO,
|
||||
SIZE_SPEC,
|
||||
REMARK,
|
||||
STATUS,
|
||||
CASE UPPER(STATUS)
|
||||
WHEN 'ACTIVE' THEN '활성'
|
||||
WHEN 'INACTIVE' THEN '비활성'
|
||||
ELSE STATUS
|
||||
END AS STATUS_NAME,
|
||||
WRITER,
|
||||
TO_CHAR(REGDATE, 'YYYY-MM-DD') AS REGDATE
|
||||
FROM MATERIAL_MNG
|
||||
WHERE 1=1
|
||||
<if test="material_name != null and material_name != ''">
|
||||
AND UPPER(MATERIAL_NAME) LIKE UPPER('%' || #{material_name} || '%')
|
||||
</if>
|
||||
<if test="material_code != null and material_code != ''">
|
||||
AND UPPER(MATERIAL_CODE) LIKE UPPER('%' || #{material_code} || '%')
|
||||
</if>
|
||||
ORDER BY REGDATE DESC
|
||||
</select>
|
||||
|
||||
<!-- 소재 상세 조회 -->
|
||||
<select id="getMaterialMngInfo" parameterType="map" resultType="map">
|
||||
SELECT
|
||||
OBJID,
|
||||
MATERIAL_CODE,
|
||||
MATERIAL_NAME,
|
||||
MATERIAL_PART_NO,
|
||||
SIZE_SPEC,
|
||||
REMARK,
|
||||
STATUS,
|
||||
WRITER,
|
||||
TO_CHAR(REGDATE, 'YYYY-MM-DD') AS REGDATE,
|
||||
EDITER,
|
||||
TO_CHAR(EDIT_DATE, 'YYYY-MM-DD') AS EDIT_DATE
|
||||
FROM MATERIAL_MNG
|
||||
WHERE OBJID = #{objid}
|
||||
</select>
|
||||
|
||||
<!-- 소재 등록 -->
|
||||
<insert id="insertMaterialMng" parameterType="map">
|
||||
INSERT INTO MATERIAL_MNG (
|
||||
OBJID,
|
||||
MATERIAL_CODE,
|
||||
MATERIAL_NAME,
|
||||
MATERIAL_PART_NO,
|
||||
SIZE_SPEC,
|
||||
REMARK,
|
||||
STATUS,
|
||||
WRITER,
|
||||
REGDATE
|
||||
) VALUES (
|
||||
#{objid},
|
||||
#{material_code},
|
||||
#{material_name},
|
||||
#{material_part_no},
|
||||
#{size_spec},
|
||||
#{remark},
|
||||
COALESCE(#{status}, 'ACTIVE'),
|
||||
#{userId},
|
||||
NOW()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 소재 수정 -->
|
||||
<update id="updateMaterialMng" parameterType="map">
|
||||
UPDATE MATERIAL_MNG SET
|
||||
MATERIAL_CODE = #{material_code},
|
||||
MATERIAL_NAME = #{material_name},
|
||||
MATERIAL_PART_NO = #{material_part_no},
|
||||
SIZE_SPEC = #{size_spec},
|
||||
REMARK = #{remark},
|
||||
STATUS = #{status},
|
||||
EDITER = #{userId},
|
||||
EDIT_DATE = NOW()
|
||||
WHERE OBJID = #{objid}
|
||||
</update>
|
||||
|
||||
<!-- 소재 삭제 -->
|
||||
<delete id="deleteMaterialMng" parameterType="map">
|
||||
DELETE FROM MATERIAL_MNG
|
||||
WHERE OBJID = #{objid}
|
||||
</delete>
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user