임대기업관리 수정.

main
jjh 4 months ago
parent 1af28bcc7e
commit 20f12d953e

@ -32,6 +32,11 @@ public class RentEnt extends AbstractEntity {
*/
private String entNo;
/**
*
*/
private String rprsvNm;
/**
*
*/
@ -72,4 +77,9 @@ public class RentEnt extends AbstractEntity {
*/
private String delRsn;
/**
* IDs
*/
private String[] entIds;
}

@ -18,12 +18,17 @@ public class RentQuery extends CmmnQuery {
// ID
private String crdnId; // 단속 ID
private String mpngId; // 매핑 ID
private String userId; // 사용자 ID
private String[] entIds; // 기업 Ids
private String[] entIds; // 기업 IDs
private String entId; // 기업 ID
private String hirerId; // 임차인 ID
private String lsctId; // 임대차계약 ID
private String schEntNo; // 기업 번호
private String schEntNm; // 기업 명
private String schRprsvNm; // 대표자 명
// ETC
private String callPurpose; // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정, refresh 재조회).
private String delRsn; // 삭제 사유
@ -37,6 +42,15 @@ public class RentQuery extends CmmnQuery {
return self();
}
public String getMpngId() {
return ifEmpty(mpngId, () -> null);
}
public <T extends RentQuery> T setMpngId(String mpngId) {
this.mpngId = mpngId;
return self();
}
public String getUserId() {
return ifEmpty(userId, () -> null);
}
@ -82,6 +96,34 @@ public class RentQuery extends CmmnQuery {
return self();
}
public String getSchEntNo() {
return ifEmpty(schEntNo, () -> null);
}
public <T extends RentQuery> T setSchEntNo(String schEntNo) {
this.schEntNo = schEntNo;
return self();
}
public String getSchEntNm() {
return ifEmpty(schEntNm, () -> null);
}
public <T extends RentQuery> T setSchEntNm(String schEntNm) {
this.schEntNm = schEntNm;
return self();
}
public String getSchRprsvNm() {
return ifEmpty(schRprsvNm, () -> null);
}
public <T extends RentQuery> T setSchRprsvNm(String schRprsvNm) {
this.schRprsvNm = schRprsvNm;
return self();
}
// ETC /////////////////////////////////////////////////////////////////////
public String getCallPurpose() {
return ifEmpty(callPurpose, () -> null);

@ -12,6 +12,11 @@ import lombok.Setter;
@Setter
public class UserRentEntMpng extends AbstractEntity {
/**
* ID
*/
private String mpngId;
/**
* ID
*/
@ -27,4 +32,9 @@ public class UserRentEntMpng extends AbstractEntity {
*/
private String delYn;
/**
* IDs
*/
private String[] mpngIds;
}

@ -34,6 +34,25 @@ public interface UserRentEntMpngMapper extends AbstractMapper {
*/
List<DataObject> selectUserRentEntMpngs(RentQuery req);
/** .
* @param req
* @return
*/
default DataObject selectUserRentEntMpngInfo(RentQuery req) {
// 삭제 여부 확인
if (req.getDelYn() == null) {
req.setDelYn("N");
}
// 기본 정렬
if (req.getOrderBy() == null) {
req.setOrderBy("UREM.MPNG_ID DESC");
}
List<DataObject> userRentEntMpngs = selectUserRentEntMpngs(req);
return !userRentEntMpngs.isEmpty() ? userRentEntMpngs.get(0) : null;
}
/** .
* @param params
* <ul><li>"userRentEntMpng" - </li>

@ -4,6 +4,7 @@ import java.util.List;
import cokr.xit.fims.rent.RentEnt;
import cokr.xit.fims.rent.RentQuery;
import cokr.xit.fims.rent.UserRentEntMpng;
import cokr.xit.foundation.data.DataObject;
/** .
@ -18,6 +19,36 @@ import cokr.xit.foundation.data.DataObject;
*/
public interface RentEntService {
/** .
* @param req
* @return
*/
List<DataObject> getUserRentEntMpngList(RentQuery req);
/** .
* @param req
* @return
*/
List<DataObject> getUserRentEntMpngs(RentQuery req);
/** .
* @param userRentEntMpng
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
String createUserRentEntMpng(UserRentEntMpng userRentEntMpng);
/** .
* @param userRentEntMpng
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
String removeUserRentEntMpng(UserRentEntMpng userRentEntMpng);
/** .
* @param req
* @return

@ -6,9 +6,12 @@ import javax.annotation.Resource;
import org.springframework.stereotype.Component;
import cokr.xit.fims.cmmn.CmmnUtil;
import cokr.xit.fims.rent.RentEnt;
import cokr.xit.fims.rent.RentQuery;
import cokr.xit.fims.rent.UserRentEntMpng;
import cokr.xit.fims.rent.dao.RentEntMapper;
import cokr.xit.fims.rent.dao.UserRentEntMpngMapper;
import cokr.xit.foundation.component.AbstractBean;
import cokr.xit.foundation.data.DataObject;
@ -25,15 +28,120 @@ import cokr.xit.foundation.data.DataObject;
@Component("rentEntBean")
public class RentEntBean extends AbstractBean {
/** 사용자 임대 기업 매핑 정보 DAO */
@Resource(name = "userRentEntMpngMapper")
private UserRentEntMpngMapper userRentEntMpngMapper;
/** 임대 기업 대장 정보 DAO */
@Resource(name = "rentEntMapper")
private RentEntMapper rentEntMapper;
/** .
* @param req
* @return
*/
public List<DataObject> getUserRentEntMpngList(RentQuery req) {
// 삭제 여부 확인
if (req.getDelYn() == null) {
req.setDelYn("N");
}
// 정렬 확인
if (req.getOrderBy() == null) {
if (req.getBy() == null) {
req.setOrderBy("REG_DT");
} else {
req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy()));
}
}
return userRentEntMpngMapper.selectUserRentEntMpngList(req);
}
/** .
* @param req
* @return
*/
public List<DataObject> getUserRentEntMpngs(RentQuery req) {
// 삭제 여부 확인
if (req.getDelYn() == null) {
req.setDelYn("N");
}
// 정렬 확인
if (req.getOrderBy() == null) {
req.setOrderBy("UREM.MPNG_ID DESC");
}
return userRentEntMpngMapper.selectUserRentEntMpngs(req);
}
/** .
* @param userRentEntMpng
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public String createUserRentEntMpng(UserRentEntMpng userRentEntMpng) {
// 변수 선언
String rtnMsg = ""; // 처리 결과 메시지
RentQuery req = new RentQuery();
req.setUserId(userRentEntMpng.getUserId());
req.setEntId(userRentEntMpng.getEntId());
req.setDelYn("N");
// 사용자 임대 기업 매핑(TB_USER_RENT_ENT_MPNG) 정보를 조회한다.
DataObject userRentEntMpngInfo = userRentEntMpngMapper.selectUserRentEntMpngInfo(req);
if (userRentEntMpngInfo != null) {
rtnMsg = "[F] 작업 중 오류가 발생하였습니다.<br>이미 등록된 매핑 자료가 존재합니다.";
return rtnMsg;
}
// 사용자 임대 기업 매핑(TB_USER_RENT_ENT_MPNG) 대장을 등록한다.
int rtnNocs = userRentEntMpngMapper.insertUserRentEntMpng(userRentEntMpng);
if (rtnNocs != 1) {
throw new RuntimeException("임대기업 매핑 정보 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
return "[S] 작업이 정상 처리 되었습니다.";
}
/** .
* @param userRentEntMpng
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public String removeUserRentEntMpng(UserRentEntMpng userRentEntMpng) {
// 사용자 임대 기업 매핑(TB_USER_RENT_ENT_MPNG) 대장을 삭제한다.
int rtnNocs = userRentEntMpngMapper.deleteUserRentEntMpng(userRentEntMpng);
if (rtnNocs < 1) {
throw new RuntimeException("임대기업 매핑 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
return "[S] 작업이 정상 처리 되었습니다.";
}
/** .
* @param req
* @return
*/
public List<DataObject> getRentEntList(RentQuery req) {
// 삭제 여부 확인
if (req.getDelYn() == null) {
req.setDelYn("N");
}
// 정렬 확인
if (req.getOrderBy() == null) {
if (req.getBy() == null) {
req.setOrderBy("REG_DT");
} else {
req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy()));
}
}
return rentEntMapper.selectRentEntList(req);
}
@ -42,6 +150,15 @@ public class RentEntBean extends AbstractBean {
* @return
*/
public List<DataObject> getRentEnts(RentQuery req) {
// 삭제 여부 확인
if (req.getDelYn() == null) {
req.setDelYn("N");
}
// 정렬 확인
if (req.getOrderBy() == null) {
req.setOrderBy("RE.ENT_ID DESC");
}
return rentEntMapper.selectRentEnts(req);
}

@ -8,6 +8,7 @@ import org.springframework.stereotype.Service;
import cokr.xit.fims.rent.RentEnt;
import cokr.xit.fims.rent.RentQuery;
import cokr.xit.fims.rent.UserRentEntMpng;
import cokr.xit.fims.rent.service.RentEntService;
import cokr.xit.foundation.component.AbstractServiceBean;
import cokr.xit.foundation.data.DataObject;
@ -29,6 +30,26 @@ public class RentEntServiceBean extends AbstractServiceBean implements RentEntSe
@Resource(name = "rentEntBean")
private RentEntBean rentEntBean;
@Override
public List<DataObject> getUserRentEntMpngList(RentQuery req) {
return rentEntBean.getUserRentEntMpngList(req);
}
@Override
public List<DataObject> getUserRentEntMpngs(RentQuery req) {
return rentEntBean.getUserRentEntMpngs(req);
}
@Override
public String createUserRentEntMpng(UserRentEntMpng userRentEntMpng) {
return rentEntBean.createUserRentEntMpng(userRentEntMpng);
}
@Override
public String removeUserRentEntMpng(UserRentEntMpng userRentEntMpng) {
return rentEntBean.removeUserRentEntMpng(userRentEntMpng);
}
@Override
public List<DataObject> getRentEntList(RentQuery req) {
return rentEntBean.getRentEntList(req);

@ -25,6 +25,7 @@ import cokr.xit.fims.cmmn.xls.FormatMaker;
import cokr.xit.fims.cmmn.xls.StyleMaker;
import cokr.xit.fims.rent.RentEnt;
import cokr.xit.fims.rent.RentQuery;
import cokr.xit.fims.rent.UserRentEntMpng;
import cokr.xit.fims.rent.service.RentEntService;
import cokr.xit.fims.task.Task;
import cokr.xit.foundation.data.DataObject;
@ -47,12 +48,15 @@ public class Rent01Controller extends ApplicationController {
public class METHOD_URL {
public static final String
rentEnterpriseMain = "/010/main.do" // 임대 기업 관리 메인 화면
, getRentEnterpriseList = "/010/list.do" // 임대 기업 대장 목록 조회
, removeRentEnterprise = "/010/remove.do" // 임대 기업 대장 삭제
, getRentEnterpriseInfo = "/020/info.do" // 임대 기업 대장 상세 조회
userRentEnterpriseMappingMain = "/010/main.do" // 사용자 임대 기업 매핑 관리 메인 화면
, getUserRentEnterpriseMappingList = "/010/list.do" // 사용자 임대 기업 매핑 대장 목록 조회
, removeUserRentEnterpriseMapping = "/010/removeMpng.do" // 사용자 임대 기업 매핑 대장 삭제
, getUserRentEnterpriseMappingInfo = "/020/info.do" // 사용자 임대 기업 매핑 대장 상세 조회
, createUserRentEnterpriseMapping = "/020/createMpng.do" // 사용자 임대 기업 매핑 대장 등록
, getRentEnterpriseList = "/020/list.do" // 임대 기업 대장 목록 조회
, createRentEnterprise = "/020/create.do" // 임대 기업 대장 등록
, updateRentEnterprise = "/020/update.do" // 임대 기업 대장 수정
, removeRentEnterprise = "/020/remove.do" // 임대 기업 대장 삭제
;
}
@ -68,8 +72,8 @@ public class Rent01Controller extends ApplicationController {
* {@link #getRentEntList(RentEntQuery) } .
* @return /rent/rent01010-main
*/
@RequestMapping(name = "임대기업 대장 메인", value=METHOD_URL.rentEnterpriseMain)
public ModelAndView rentEnterpriseMain() {
@RequestMapping(name = "사용자 임대기업 대장 메인", value=METHOD_URL.userRentEnterpriseMappingMain)
public ModelAndView userRentEnterpriseMappingMain() {
ModelAndView mav = new ModelAndView("fims/rent/rent01010-main");
// 사용자 정보
@ -77,7 +81,7 @@ public class Rent01Controller extends ApplicationController {
return mav
.addObject("pageName", "rent01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "levyExcl") // prefix
.addObject("infoPrefix", "userRentEntMpng") // prefix
.addObject("infoPrefixUrl", CLASS_URL) // prefixUrl
.addObject("sggCd", fimsUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("userId", fimsUser.getId()) // 사용자 ID(USER_ID)
@ -97,11 +101,11 @@ public class Rent01Controller extends ApplicationController {
* }</code></pre>
*/
@Task("CMN")
@RequestMapping(name = "임대기업 대장 조회", value=METHOD_URL.getRentEnterpriseList)
public ModelAndView getRentEnterpriseList(RentQuery req) {
@RequestMapping(name = "사용자 임대기업 대장 조회", value=METHOD_URL.getUserRentEnterpriseMappingList)
public ModelAndView getUserRentEnterpriseMappingList(RentQuery req) {
if (!"xls".equals(req.getDownload())) {
List<?> result = rentEntService.getRentEntList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "rentEnt");
List<?> result = rentEntService.getUserRentEntMpngList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "userRentEntMpng");
} else {
// 현재 날짜 구하기
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
@ -112,51 +116,32 @@ public class Rent01Controller extends ApplicationController {
XLSWriter xlsx = new XLSWriter().worksheet(0);
Format format = new Format(xlsx);
CellStyle center = format.cellStyle(Style.CENTER);
CellStyle numeric = format.n_nn0();
CellStyle dateYMD = format.yyyy_mm_dd();
CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss();
List<DataObject> list = rentEntService.getRentEntList(req.setFetchSize(0));
List<DataObject> list = rentEntService.getUserRentEntMpngList(req.setFetchSize(0));
Map<String,Object> valueMap = new HashMap<String,Object>();
valueMap.put("업무구분", format.of("TASK_SE_NM").style(center));
valueMap.put("부과제외일자", FormatMaker.yyyy_mm_dd(format, "LEVY_EXCL_YMD").style(dateYMD));
valueMap.put("부과제외구분", format.of("LEVY_EXCL_SE_NM").style(center));
valueMap.put("부과제외사유", format.of("LEVY_EXCL_RSN_NM"));
valueMap.put("기타내용", format.of("ETC_CN"));
valueMap.put("민원신청번호", format.of("CVLCPT_APLY_NO").style(center));
valueMap.put("민원접수번호", format.of("CVLCPT_RCPT_NO").style(center));
valueMap.put("민원접수일자", FormatMaker.yyyy_mm_dd(format, "CVLCPT_RCPT_YMD").style(dateYMD));
valueMap.put("단속일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "CRDN_YMD_TM").style(dateDT));
valueMap.put("차량번호", format.of("VHRNO"));
valueMap.put("납부자구분", format.of("RTPYR_SE_NM").style(center));
valueMap.put("납부자번호", format.of("RTPYR_NO").style(center));
valueMap.put("납부자명", format.of("RTPYR_NM"));
valueMap.put("단속법정동", format.of("CRDN_STDG_NM").style(center));
valueMap.put("단속장소", format.of("CRDN_PLC"));
valueMap.put("상세단속장소", format.of("DTL_CRDN_PLC"));
valueMap.put("위반항목", format.of("VLTN_ARTCL"));
valueMap.put("단속원금", format.of("FFNLG_CRDN_AMT").style(numeric));
valueMap.put("처리상태", format.of("CRDN_STTS_NM"));
valueMap.put("단속특별구역", format.of("CRDN_SPAREA_NM").style(center));
valueMap.put("사용연료", format.of("USE_FUEL_NM").style(center));
valueMap.put("주차가능여부", format.of("PRK_PSBLTY_RSLT_NM").style(center));
valueMap.put("우편번호", format.of("ZIP").style(center));
valueMap.put("주소", format.of("ADDR"));
valueMap.put("상세주소", format.of("DTL_ADDR"));
valueMap.put("기업구분", format.of("ENT_SE_NM").style(center));
valueMap.put("기업명", format.of("ENT_NM"));
valueMap.put("법인(사업자)번호", format.of("ENT_NO").style(center));
valueMap.put("대표자명", format.of("RPRSV_NM"));
valueMap.put("전화번호", format.of("ENT_TELNO").style(center));
valueMap.put("팩스번호", format.of("ENT_FXNO").style(center));
valueMap.put("이메일주소", format.of("ENT_EML_ADDR"));
valueMap.put("우편번호", format.of("ENT_ZIP").style(center));
valueMap.put("주소", format.of("ENT_ADDR"));
valueMap.put("상세주소", format.of("ENT_DTL_ADDR"));
valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT));
valueMap.put("등록사용자", format.of("RGTR_NM").style(center));
valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT));
valueMap.put("수정사용자", format.of("MDFR_NM").style(center));
CellDef.setValues(cellDefs, valueMap);
xlsx.cell(0, 0).value("부과제외").value(center).merge(0, cellDefs.size() - 1)
xlsx.cell(0, 0).value("임대기업").value(center).merge(0, cellDefs.size() - 1)
.cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx)))
.cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList()));
return new ModelAndView("downloadView")
.addObject("download", xlsx.getDownloadable().setFilename("부과제외" + "_목록_" + dateTime + ".xlsx"));
.addObject("download", xlsx.getDownloadable().setFilename("임대기업" + "_목록_" + dateTime + ".xlsx"));
}
}
@ -165,25 +150,134 @@ public class Rent01Controller extends ApplicationController {
* @return /rentEnt/rentEnt-main
*/
@Task("CMN")
@RequestMapping(name = "임대기업 정보 상세 조회", value=METHOD_URL.getRentEnterpriseInfo)
public ModelAndView getRentEnterpriseInfo(HttpServletRequest hReq, RentQuery req) {
DataObject info = rentEntService.getRentEntInfo(req);
@RequestMapping(name = "임대 기업 상세 조회", value=METHOD_URL.getUserRentEnterpriseMappingInfo)
public ModelAndView getUserRentEnterpriseMappingInfo(HttpServletRequest hReq, RentQuery req) {
List<DataObject> list = rentEntService.getRentEnts(req);
boolean json = jsonResponse();
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/rent/rent01020-info");
// 사용자 정보
FimsUser fimsUser = (FimsUser)currentUser().getUser();
// View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054");
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM088");
return mav
.addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName
mav.addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName
.addObject("callPurpose", req.getCallPurpose()) // 호출 용도
.addObject("pageName", "rent01020") // jsp pageName
.addObject("infoPrefix", "rentEnt") // prefix
.addObject("infoPrefixUrl", CLASS_URL) // prefixUrl
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
.addObject("rentEntInfo", json ? info : toJson(info)) // 임대기업 정보
.addObject("userId", fimsUser.getId()) // 사용자 ID(USER_ID)
.addObject("FIM088List", commonCodes.get("FIM088")) // 기업 구분 코드(ENT_SE_CD)
;
return setCollectionInfo(mav, list, "rentEnt");
}
/** .
* @param userRentEntMpng
* @return jsonView
* <pre><code> {
* "saved": true, false
* }</code></pre>
*/
@Task("CMN")
@RequestMapping(name = "사용자 임대 기업 매핑 등록", value = METHOD_URL.createUserRentEnterpriseMapping)
public ModelAndView createUserRentEnterpriseMapping(UserRentEntMpng userRentEntMpng) {
boolean saved = false;
String rtnMsg = rentEntService.createUserRentEntMpng(userRentEntMpng);
if (rtnMsg.contains("[S]")) {
saved = true;
} else {
saved = false;
}
return new ModelAndView("jsonView")
.addObject("saved", saved)
.addObject("rtnMsg", rtnMsg);
}
/** .
* @param userRentEntMpngIDs
* @return jsonView
* <pre><code> {
* "affected":
* "saved": true, false
* }</code></pre>
*/
@Task("CMN")
@RequestMapping(name = "사용자 임대 기업 매핑 제거", value = METHOD_URL.removeUserRentEnterpriseMapping)
public ModelAndView removeUserRentEnterpriseMapping(UserRentEntMpng userRentEntMpng) {
boolean saved = false;
String rtnMsg = rentEntService.removeUserRentEntMpng(userRentEntMpng);
if (rtnMsg.contains("[S]")) {
saved = true;
} else {
saved = false;
}
return new ModelAndView("jsonView")
.addObject("saved", saved)
.addObject("rtnMsg", rtnMsg);
}
/** .<br />
* {@link RentEntService#getRentEntList(RentEntQuery)}
* @param req
* @return jsonView
* <pre><code> {
* "rentEntList": [ ]
* "rentEntStart":
* "rentEntFetch":
* "rentEntTotal":
* }</code></pre>
*/
@Task("CMN")
@RequestMapping(name = "임대 기업 대장 조회", value = METHOD_URL.getRentEnterpriseList)
public ModelAndView getRentEnterpriseList(RentQuery req) {
if (!"xls".equals(req.getDownload())) {
List<?> result = rentEntService.getRentEntList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "rentEnt");
} else {
// 현재 날짜 구하기
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
String dateTime = dateFormat.format(System.currentTimeMillis());
List<CellDef> cellDefs = fromJson(req.getCellDefs(), CellDef.listType());
XLSWriter xlsx = new XLSWriter().worksheet(0);
Format format = new Format(xlsx);
CellStyle center = format.cellStyle(Style.CENTER);
CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss();
List<DataObject> list = rentEntService.getRentEntList(req.setFetchSize(0));
Map<String,Object> valueMap = new HashMap<String,Object>();
valueMap.put("기업구분", format.of("ENT_SE_NM").style(center));
valueMap.put("기업명", format.of("ENT_NM"));
valueMap.put("법인(사업자)번호", format.of("ENT_NO").style(center));
valueMap.put("대표자명", format.of("RPRSV_NM"));
valueMap.put("전화번호", format.of("ENT_TELNO").style(center));
valueMap.put("팩스번호", format.of("ENT_FXNO").style(center));
valueMap.put("이메일주소", format.of("ENT_EML_ADDR"));
valueMap.put("우편번호", format.of("ENT_ZIP").style(center));
valueMap.put("주소", format.of("ENT_ADDR"));
valueMap.put("상세주소", format.of("ENT_DTL_ADDR"));
valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT));
valueMap.put("등록사용자", format.of("RGTR_NM").style(center));
CellDef.setValues(cellDefs, valueMap);
xlsx.cell(0, 0).value("임대기업").value(center).merge(0, cellDefs.size() - 1)
.cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx)))
.cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList()));
return new ModelAndView("downloadView")
.addObject("download", xlsx.getDownloadable().setFilename("임대기업" + "_목록_" + dateTime + ".xlsx"));
}
}
/** .
@ -193,7 +287,7 @@ public class Rent01Controller extends ApplicationController {
* "saved": true, false
* }</code></pre>
*/
@Task
@Task("CMN")
@RequestMapping(name = "임대기업 대장 등록", value=METHOD_URL.createRentEnterprise)
public ModelAndView createRentEnterprise(RentEnt rentEnt) {
boolean saved = false;
@ -217,7 +311,7 @@ public class Rent01Controller extends ApplicationController {
* "saved": true, false
* }</code></pre>
*/
@Task
@Task("CMN")
@RequestMapping(name = "임대기업 대장 수정", value=METHOD_URL.updateRentEnterprise)
public ModelAndView updateRentEnterprise(RentEnt rentEnt) {
boolean saved = false;
@ -242,7 +336,7 @@ public class Rent01Controller extends ApplicationController {
* "saved": true, false
* }</code></pre>
*/
@Task
@Task("CMN")
@RequestMapping(name = "임대기업 대장 제거", value=METHOD_URL.removeRentEnterprise)
public ModelAndView removeRentEnterprise(RentEnt rentEnt) {
boolean saved = false;

@ -12,6 +12,7 @@
<result property="entSeCd" column="ENT_SE_CD" /> <!-- 기업 구분 코드 -->
<result property="entNm" column="ENT_NM" /> <!-- 기업 명 -->
<result property="entNo" column="ENT_NO" /> <!-- 기업 번호 -->
<result property="rprsvNm" column="RPRSV_NM" /> <!-- 대표자 명 -->
<result property="entTelno" column="ENT_TELNO" /> <!-- 기업 전화번호 -->
<result property="entFxno" column="ENT_FXNO" /> <!-- 기업 팩스번호 -->
<result property="entEmlAddr" column="ENT_EML_ADDR" /> <!-- 기업 이메일 주소 -->
@ -28,76 +29,94 @@
<result property="delRsn" column="DEL_RSN" /> <!-- 삭제 사유 -->
</resultMap>
<sql id="selectList">
SELECT UREM.USER_ID <!-- 사용자 ID -->
, UREM.ENT_ID <!-- 기업 ID -->
, U.USER_ACNT <!-- 사용자 걔정 -->
, U.USER_NM <!-- 사용자 이름 -->
<sql id="select">
SELECT RE.ENT_ID <!-- 기업 ID -->
, RE.ENT_SE_CD <!-- 기업 구분 코드 -->
, (SELECT GET_CODE_NM('FIM088', RE.ENT_SE_CD) FROM DUAL) AS ENT_SE_NM <!-- 기업 구분 명 -->
, RE.ENT_NM <!-- 기업 명 -->
, RE.ENT_NO <!-- 기업 번호 -->
, RE.RPRSV_NM <!-- 대표자 명 -->
, RE.ENT_TELNO <!-- 기업 전화번호 -->
, RE.ENT_FXNO <!-- 기업 팩스번호 -->
, RE.ENT_EML_ADDR <!-- 기업 이메일 주소 -->
, RE.ENT_ZIP <!-- 기업 우편번호 -->
, RE.ENT_ADDR <!-- 기업 주소 -->
, RE.ENT_DTL_ADDR <!-- 기업 상세 주소 -->
, UREM.DEL_YN <!-- 삭제 여부 -->
, UREM.REG_DT <!-- 등록 일시 -->
, UREM.RGTR <!-- 등록자 -->
FROM TB_USER_RENT_ENT_MPNG UREM
INNER JOIN TB_USER U ON (UREM.USER_ID = U.USER_ID)
INNER JOIN TB_RENT_ENT RE ON (UREM.ENT_ID = RE.ENT_ID)
, RE.DEL_YN <!-- 삭제 여부 -->
, RE.REG_DT <!-- 등록 일시 -->
, RE.RGTR <!-- 등록자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = RE.RGTR) AS RGTR_NM <!-- 등록자 명 -->
, RE.MDFCN_DT <!-- 수정 일시 -->
, RE.MDFR <!-- 수정자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = RE.MDFR) AS MDFR_NM <!-- 수정자 명 -->
FROM TB_RENT_ENT RE
</sql>
<select id="selectRentEntList" parameterType="map" resultType="dataobject">/* 임대 기업 대장 목록 조회(rentEntMapper.selectRentEntList) */
<include refid="utility.paging-prefix" />
<include refid="selectList" />
<include refid="select" />
<where>
<if test="userId != null">
AND UREM.USER_ID = #{userId} <!-- 사용자 ID -->
<if test="entId != null">
AND RE.ENT_ID = #{entId} <!-- 기업 ID -->
</if>
<if test="schEntNo != null">
AND RE.ENT_NO = #{schEntNo} <!-- 기업 번호 -->
</if>
<if test="schEntNm != null">
AND RE.ENT_NM LIKE CONCAT('%', #{schEntNm}, '%') <!-- 기업 명 -->
</if>
<if test="schRprsvNm != null">
AND RE.RPRSV_NM = #{schRprsvNm} <!-- 대표자 명 -->
</if>
AND UREM.DEL_YN = 'N' <!-- 삭제 여부 -->
<choose>
<when test="delYn != null">
AND RE.DEL_YN = #{delYn} <!-- 삭제 여부 -->
</when>
<otherwise>
AND RE.DEL_YN = 'N' <!-- 삭제 여부 -->
</otherwise>
</choose>
</where>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>
<sql id="select">
SELECT ENT_ID <!-- 기업 ID -->
, ENT_SE_CD <!-- 기업 구분 코드 -->
, ENT_NM <!-- 기업 명 -->
, ENT_NO <!-- 기업 번호 -->
, ENT_TELNO <!-- 기업 전화번호 -->
, ENT_FXNO <!-- 기업 팩스번호 -->
, ENT_EML_ADDR <!-- 기업 이메일 주소 -->
, ENT_ZIP <!-- 기업 우편번호 -->
, ENT_ADDR <!-- 기업 주소 -->
, ENT_DTL_ADDR <!-- 기업 상세 주소 -->
, DEL_YN <!-- 삭제 여부 -->
, REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 -->
, MDFCN_DT <!-- 수정 일시 -->
, MDFR <!-- 수정자 -->
, DEL_DT <!-- 삭제 일시 -->
, DLTR <!-- 삭제자 -->
, DEL_RSN <!-- 삭제 사유 -->
FROM TB_RENT_ENT
</sql>
<select id="selectRentEnts" parameterType="map" resultType="dataobject">/* 임대 기업 대장 객체 가져오기(rentEntMapper.selectRentEnts) */
<include refid="select" />
<where></where>
<where>
<if test="entId != null">
AND RE.ENT_ID = #{entId} <!-- 기업 ID -->
</if>
<if test="schEntNo != null">
AND RE.ENT_NO = #{schEntNo} <!-- 기업 번호 -->
</if>
<choose>
<when test="delYn != null">
AND RE.DEL_YN = #{delYn} <!-- 삭제 여부 -->
</when>
<otherwise>
AND RE.DEL_YN = 'N' <!-- 삭제 여부 -->
</otherwise>
</choose>
</where>
<include refid="utility.orderBy" />
</select>
<insert id="insertRentEnt" parameterType="cokr.xit.fims.rent.RentEnt">/* 임대 기업 대장 등록(rentEntMapper.insertRentEnt) */
<selectKey resultType="string" keyProperty="entId" keyColumn="NEW_ID" order="BEFORE">
<include refid="numbering.key">
<property name="TABLE_NAME" value="TB_RENT_ENT" />
<property name="TABLE_KEY" value="ENT_ID" />
<property name="pad" value="10" />
</include>
</selectKey>
INSERT
INTO TB_RENT_ENT (
ENT_ID <!-- 기업 ID -->
, ENT_SE_CD <!-- 기업 구분 코드 -->
, ENT_NM <!-- 기업 명 -->
, ENT_NO <!-- 기업 번호 -->
, ENT_NM <!-- 기업 명 -->
, RPRSV_NM <!-- 대표자 명 -->
, ENT_TELNO <!-- 기업 전화번호 -->
, ENT_FXNO <!-- 기업 팩스번호 -->
, ENT_EML_ADDR <!-- 기업 이메일 주소 -->
@ -116,8 +135,9 @@
VALUES (
#{entId} <!-- 기업 ID -->
, #{entSeCd} <!-- 기업 구분 코드 -->
, #{entNm} <!-- 기업 명 -->
, #{entNo} <!-- 기업 번호 -->
, #{entNm} <!-- 기업 명 -->
, #{rprsvNm} <!-- 대표자 명 -->
, #{entTelno} <!-- 기업 전화번호 -->
, #{entFxno} <!-- 기업 팩스번호 -->
, #{entEmlAddr} <!-- 기업 이메일 주소 -->
@ -129,6 +149,9 @@
, #{createdBy} <!-- 등록자 -->
, <include refid="utility.now" /> <!-- 수정 일시 -->
, #{modifiedBy} <!-- 수정자 -->
, NULL <!-- 삭제 일시 -->
, NULL <!-- 삭제자 -->
, NULL <!-- 삭제 사유 -->
)
</insert>
@ -137,6 +160,7 @@
SET ENT_SE_CD = #{entSeCd} <!-- 기업 구분 코드 -->
, ENT_NM = #{entNm} <!-- 기업 명 -->
, ENT_NO = #{entNo} <!-- 기업 번호 -->
, RPRSV_NM = #{rprsvNm} <!-- 대표자 명 -->
, ENT_TELNO = #{entTelno} <!-- 기업 전화번호 -->
, ENT_FXNO = #{entFxno} <!-- 기업 팩스번호 -->
, ENT_EML_ADDR = #{entEmlAddr} <!-- 기업 이메일 주소 -->

@ -8,6 +8,7 @@
============================ -->
<resultMap id="userRentEntMpngRow" type="cokr.xit.fims.rent.UserRentEntMpng"> <!-- 사용자 임대 기업 매핑 -->
<result property="mpngId" column="MPNG_ID" /> <!-- 매핑 ID -->
<result property="userId" column="USER_ID" /> <!-- 사용자 ID -->
<result property="entId" column="ENT_ID" /> <!-- 기업 ID -->
<result property="delYn" column="DEL_YN" /> <!-- 삭제 여부 -->
@ -20,34 +21,88 @@
</resultMap>
<sql id="select">
SELECT USER_ID <!-- 사용자 ID -->
, ENT_ID <!-- 기업 ID -->
, DEL_YN <!-- 삭제 여부 -->
, REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 -->
, MDFCN_DT <!-- 수정 일시 -->
, MDFR <!-- 수정자 -->
FROM TB_USER_RENT_ENT_MPNG
SELECT UREM.MPNG_ID <!-- 매핑 ID -->
, UREM.USER_ID <!-- 사용자 ID -->
, UREM.ENT_ID <!-- 기업 ID -->
, UREM.DEL_YN <!-- 삭제 여부 -->
, (SELECT GET_CODE_NM('CMN007', UREM.DEL_YN) FROM DUAL) AS DEL_YN_NM <!-- 삭제 여부 명 -->
, UREM.REG_DT <!-- 등록 일시 -->
, UREM.RGTR <!-- 등록자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = UREM.RGTR) AS RGTR_NM <!-- 등록자 명 -->
, U.USER_ACNT <!-- 사용자 계정 -->
, U.USER_NM <!-- 사용자 이름 -->
, RE.ENT_SE_CD <!-- 기업 구분 코드 -->
, (SELECT GET_CODE_NM('FIM088', RE.ENT_SE_CD) FROM DUAL) AS ENT_SE_NM <!-- 기업 구분 명 -->
, RE.ENT_NM <!-- 기업 명 -->
, RE.ENT_NO <!-- 기업 번호 -->
, RE.RPRSV_NM <!-- 대표자 명 -->
, RE.ENT_TELNO <!-- 기업 전화번호 -->
, RE.ENT_FXNO <!-- 기업 팩스번호 -->
, RE.ENT_EML_ADDR <!-- 기업 이메일 주소 -->
, RE.ENT_ZIP <!-- 기업 우편번호 -->
, RE.ENT_ADDR <!-- 기업 주소 -->
, RE.ENT_DTL_ADDR <!-- 기업 상세 주소 -->
FROM TB_USER_RENT_ENT_MPNG UREM
INNER JOIN TB_USER U ON (UREM.USER_ID = U.USER_ID)
INNER JOIN TB_RENT_ENT RE ON (UREM.ENT_ID = RE.ENT_ID)
</sql>
<select id="selectUserRentEntMpngList" parameterType="map" resultType="dataobject">/* 사용자 임대 기업 매핑 목록 조회(userRentEntMpngMapper.selectUserRentEntMpngList) */
<include refid="utility.paging-prefix" />
<include refid="select" />
<where></where>
<where>
<if test="userId != null">
AND UREM.USER_ID = #{userId} <!-- 사용자 ID -->
</if>
<if test="entId != null">
AND UREM.ENT_ID = #{entId} <!-- 기업 ID -->
</if>
<choose>
<when test="delYn != null">
AND UREM.DEL_YN = #{delYn} <!-- 삭제 여부 -->
</when>
<otherwise>
AND UREM.DEL_YN = 'N' <!-- 삭제 여부 -->
</otherwise>
</choose>
</where>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>
<select id="selectUserRentEntMpngs" parameterType="map" resultType="dataobject">/* 사용자 임대 기업 매핑 객체 가져오기(userRentEntMpngMapper.selectUserRentEntMpngs) */
<include refid="select" />
<where></where>
<where>
<if test="userId != null">
AND UREM.USER_ID = #{userId} <!-- 사용자 ID -->
</if>
<if test="entId != null">
AND UREM.ENT_ID = #{entId} <!-- 기업 ID -->
</if>
<choose>
<when test="delYn != null">
AND UREM.DEL_YN = #{delYn} <!-- 삭제 여부 -->
</when>
<otherwise>
AND UREM.DEL_YN = 'N' <!-- 삭제 여부 -->
</otherwise>
</choose>
</where>
<include refid="utility.orderBy" />
</select>
<insert id="insertUserRentEntMpng" parameterType="cokr.xit.fims.rent.UserRentEntMpng">/* 사용자 임대 기업 매핑 등록(userRentEntMpngMapper.insertUserRentEntMpng) */
<selectKey resultType="string" keyProperty="mpngId" keyColumn="NEW_ID" order="BEFORE">
<include refid="numbering.keyByYear">
<property name="TABLE_NAME" value="TB_USER_RENT_ENT_MPNG" />
<property name="TABLE_KEY" value="MPNG_ID" />
<property name="pad" value="20" />
</include>
</selectKey>
INSERT
INTO TB_USER_RENT_ENT_MPNG (
USER_ID <!-- 사용자 ID -->
MPNG_ID <!-- 매핑 ID -->
, USER_ID <!-- 사용자 ID -->
, ENT_ID <!-- 기업 ID -->
, DEL_YN <!-- 삭제 여부 -->
, REG_DT <!-- 등록 일시 -->
@ -56,7 +111,8 @@
, MDFR <!-- 수정자 -->
)
VALUES (
#{userId} <!-- 사용자 ID -->
#{mpngId} <!-- 매핑 ID -->
, #{userId} <!-- 사용자 ID -->
, #{entId} <!-- 기업 ID -->
, 'N' <!-- 삭제 여부 -->
, <include refid="utility.now" /> <!-- 등록 일시 -->
@ -66,24 +122,21 @@
)
</insert>
<update id="updateUserRentEntMpng" parameterType="cokr.xit.fims.rent.UserRentEntMpng">/* 사용자 임대 기업 매핑 수정(userRentEntMpngMapper.updateUserRentEntMpng) */
UPDATE TB_USER_RENT_ENT_MPNG
SET DEL_YN = #{delYn} <!-- 삭제 여부 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{modifiedBy} <!-- 수정자 -->
WHERE USER_ID = #{userId} <!-- 사용자 ID -->
AND ENT_ID = #{entId} <!-- 기업 ID -->
AND DEL_YN = 'N'
</update>
<update id="deleteUserRentEntMpng" parameterType="cokr.xit.fims.rent.UserRentEntMpng">/* 사용자 임대 기업 매핑 삭제(userRentEntMpngMapper.deleteUserRentEntMpng) */
UPDATE TB_USER_RENT_ENT_MPNG
SET DEL_YN = 'Y'
, DEL_DT = <include refid="utility.now" /> <!-- 삭제 일시 -->
, DLTR = #{modifiedBy} <!-- 삭제자 -->
WHERE USER_ID = #{userId} <!-- 사용자 ID -->
AND ENT_ID = #{entId} <!-- 기업 ID -->
AND DEL_YN = 'N'
<choose>
<when test="mpngIds != null">
WHERE MPNG_ID IN ( <!-- 매핑 Ids -->
<foreach collection="mpngIds" item="mpngId" separator=","> #{mpngId} </foreach>
)
</when>
<otherwise>
WHERE MPNG_ID = #{mpngId} <!-- 매핑 ID -->
</otherwise>
</choose>
</update>
</mapper>

Loading…
Cancel
Save