엑셀 업로드 기능 추가

main
이범준 7 months ago
parent c80b5b37f5
commit 0b21239c6e

@ -118,8 +118,8 @@ public class LocalResidentsCarInfo {
target.put("APPLY_DATE", procStrtDttm);
schdDao.deleteMovingOut(target);
//감면마스터에서 삭제(보류)
//schdDao.deleteGammyeon(target);
//감면마스터에서 삭제
schdDao.deleteGammyeon(target);
} else {
//적용일시 업데이트
@ -127,8 +127,8 @@ public class LocalResidentsCarInfo {
target.put("APPLY_DATE", procStrtDttm);
schdDao.updateApplyDate(target);
//감면마스터에 등록(보류)
//schdDao.insertGammyeon(target);
//감면마스터에 등록
schdDao.insertGammyeon(target);
}
return false;

@ -9,12 +9,7 @@ public interface SchdDao {
public String selectRunWas(String schdulName);
public void updateRunWas(Map<String,String> map);
public String selectMaxCntcMastrIdFromTfcb(String str);
public Map<String,Object> selectCarNoFromTfcb(String num);
public int mergeLocalResidents(Map<String,Object> map);
public Map<String,Object> selectMovingOutCheckTarget(Map<String,String> map);

@ -14,82 +14,40 @@ UPDATE TB_CFS_SCHDUL_RUN_INFO
WHERE SCHDUL_NAME = #{schdulName}
</update>
<select id="selectMaxCntcMastrIdFromTfcb" parameterType="java.lang.String" resultType="java.lang.String">
SELECT MAX(CNTC_MASTR_ID)
FROM DBUSER_FIS.TB_FIS_CAR_BASSMATTER
</select>
<select id="selectCarNoFromTfcb" parameterType="java.lang.String" resultType="java.util.Map">
SELECT (CASE
WHEN OWNER_LEGALDONG_CODE LIKE '11140%' AND REPRSNTOWNER_MBER_SE_CODE = '11'
THEN RESULT_VHCLE_NO
ELSE ''
END) AS CAR_NO
, LEVY_STDDE
, TO_CHAR(CREAT_DT,'YYYYMMDD') AS CREAT_DT
, CNTC_MASTR_ID
FROM DBUSER_FIS.TB_FIS_CAR_BASSMATTER
WHERE CNTC_MASTR_ID = LPAD(#{num},12,'0')
</select>
<insert id="mergeLocalResidents" parameterType="java.util.Map">
MERGE INTO TB_CFS_LOCAL_RESIDENTS_CAR_MST_TEMP
USING DUAL ON (
CAR_NO = #{carNo}
)
WHEN MATCHED THEN
UPDATE SET
APPLY_DATE = #{levyStdde}
, PROC_CMPT_YN = 'Y'
, PROC_STRT_DTTM = SYSDATE
, UPDATER = 'sys'
, UPDATE_DATE = SYSDATE
, DEL_YN = 'N'
, SCAR_SEQ = (CASE WHEN DEL_YN='N' THEN SCAR_SEQ ELSE SEQ_SCAR.NEXTVAL END)
WHERE CAR_NO = #{carNo} AND TO_CHAR(APPLY_DATE,'YYYYMMDD') <![CDATA[ < ]]> #{levyStdde}
WHEN NOT MATCHED THEN
INSERT (
CAR_NO
, CAR_NO_HEX
, APPLY_DATE
, PROC_CMPT_YN
, PROC_STRT_DTTM
, CREATER, CREATE_DATE, UPDATER, UPDATE_DATE, DEL_YN
, SCAR_SEQ
) VALUES (
#{carNo}
, #{carNoHex}
, #{levyStdde}
, 'Y'
, SYSDATE
, 'sys', SYSDATE, 'sys', SYSDATE, 'N'
, SEQ_SCAR.NEXTVAL
)
</insert>
<select id="selectMovingOutCheckTarget" parameterType="java.util.Map" resultType="java.util.Map">
SELECT CAR_NO
, CAR_NO_HEX
, SCAR_SEQ
, APPLY_DATE
, PROC_CMPT_YN
, PROC_STRT_DTTM
, REMARKS
, ORDER_DATE
, PRIORITY_NUM
FROM
(
SELECT CAR_NO
, CAR_NO_HEX
, SCAR_SEQ
, APPLY_DATE
, PROC_CMPT_YN
, PROC_STRT_DTTM
, REMARKS
, ORDER_DATE
, ROW_NUMBER() OVER(ORDER BY PROC_CMPT_YN DESC, ORDER_DATE) AS PRIORITY_NUM
FROM
(
SELECT CAR_NO
, CAR_NO_HEX
, SCAR_SEQ
, APPLY_DATE
, PROC_CMPT_YN
, PROC_STRT_DTTM
, REMARKS
, (CASE
WHEN PROC_CMPT_YN = 'Y'
THEN APPLY_DATE
@ -129,20 +87,13 @@ UPDATE TB_CFS_LOCAL_RESIDENTS_CAR_MST_TEMP
, UPDATER = 'sys'
, UPDATE_DATE = SYSDATE
, DEL_YN = 'N'
, SCAR_SEQ = (CASE WHEN DEL_YN='N' THEN SCAR_SEQ ELSE SEQ_SCAR.NEXTVAL END)
WHERE CAR_NO = #{CAR_NO}
</update>
<update id="deleteMovingOut" parameterType="java.util.Map">
UPDATE TB_CFS_LOCAL_RESIDENTS_CAR_MST_TEMP
SET PROC_CMPT_YN = 'Y'
, PROC_STRT_DTTM = TO_DATE(#{PROC_STRT_DTTM},'YYYYMMDDHH24MISS')
, APPLY_DATE = TO_DATE(#{APPLY_DATE},'YYYYMMDDHH24MISS')
, UPDATER = 'sys'
, UPDATE_DATE = SYSDATE
, DEL_YN = 'Y'
<delete id="deleteMovingOut" parameterType="java.util.Map">
DELETE FROM TB_CFS_LOCAL_RESIDENTS_CAR_MST_TEMP
WHERE CAR_NO = #{CAR_NO}
</update>
</delete>
<delete id="deleteGammyeon" parameterType="java.util.Map">
DELETE
@ -171,18 +122,18 @@ INSERT (
, END_DATE
, REMARKS
) VALUES (
SEQ_SCAR_TEMP.NEXTVAL
#{SCAR_SEQ}
, REPLACE(TRIM(#{CAR_NO}),' ','')
, FUN_CAR_CODE(REPLACE(TRIM(#{CAR_NO}),' ',''))
, REPLACE(TRIM(#{CAR_NO_HEX}),' ','')
, '02'
, SYSDATE
, 'N'
, 'admin'
, 'sys'
, SYSDATE
, 'admin'
, 'sys'
, SYSDATE
, ''
, ''
, #{REMARKS}
)
</insert>

@ -5,6 +5,7 @@ import java.util.Map;
import org.springframework.stereotype.Repository;
import cfs.standard.vo.LocalResidentsExcelUpVO;
import cfs.standard.vo.StandardCodeInfoVO;
@Repository("StandardCodeInfoDao")
@ -91,7 +92,12 @@ public interface StandardCodeInfoDao {
public StandardCodeInfoVO fineExemptCarsChk(StandardCodeInfoVO standardCodeInfoVO);
public List<StandardCodeInfoVO> fineExemptErrorList();
public Map<String,Object> selectLocalResidents(Map<String,Object> map);
public int insertLocalResidents(Map<String, Object> map);
public int updateLocalResidents(Map<String, Object> map);
public void insertGammyeon(Map<String, Object> map);
}

@ -2244,5 +2244,89 @@ INSERT INTO EXEMPT_CARS_INFO
ERROR_RESON
FROM DBUSER_CFS.EXEMPT_EXCEL_ERROR
</select>
<select id="selectLocalResidents" parameterType="java.util.Map" resultType="java.util.Map">
SELECT CAR_NO
, SCAR_SEQ
, TO_CHAR(APPLY_DATE,'YYYYMMDD') AS APPLY_DATE
FROM TB_CFS_LOCAL_RESIDENTS_CAR_MST_TEMP
WHERE CAR_NO = #{carNo}
AND DEL_YN = 'N'
</select>
<insert id="insertLocalResidents" parameterType="java.util.Map">
INSERT
INTO TB_CFS_LOCAL_RESIDENTS_CAR_MST_TEMP (
CAR_NO
, CAR_NO_HEX
, APPLY_DATE
, PROC_CMPT_YN
, PROC_STRT_DTTM
, CREATER, CREATE_DATE, UPDATER, UPDATE_DATE, DEL_YN
, SCAR_SEQ
, REMARKS
) VALUES (
#{carNo}
, #{carNoHex}
, #{levyStdde}
, 'Y'
, SYSDATE
, 'sys', SYSDATE, 'sys', SYSDATE, 'N'
, SEQ_SCAR.NEXTVAL
, #{remarks}
)
<selectKey keyProperty="SCAR_SEQ" resultType="String" order="AFTER">
select SEQ_SCAR.currval FROM DUAL
</selectKey>
</insert>
<update id="updateLocalResidents" parameterType="java.util.Map">
UPDATE TB_CFS_LOCAL_RESIDENTS_CAR_MST_TEMP
SET APPLY_DATE = TO_DATE(#{levyStdde}||'000000','YYYYMMDDHH24MISS')
, PROC_CMPT_YN = 'Y'
, PROC_STRT_DTTM = SYSDATE
, UPDATER = 'sys'
, UPDATE_DATE = SYSDATE
, DEL_YN = 'N'
, REMARKS = #{remarks}
WHERE CAR_NO = #{carNo}
</update>
<insert id="insertGammyeon" parameterType="java.util.Map">
MERGE INTO TB_CFS_SCAR_PL_MST_TEMP
USING DUAL ON (
CAR_NO = #{carNo}
)
WHEN NOT MATCHED THEN
INSERT (
SCAR_SEQ
, CAR_NO
, CAR_NO_HEX
, REDU_CD
, REQ_DATE
, MODI_YN
, CREATER
, CREATE_DATE
, UPDATER
, UPDATE_DATE
, END_DATE
, REMARKS
) VALUES (
#{scarSeq}
, REPLACE(TRIM(#{carNo}),' ','')
, REPLACE(TRIM(#{carNoHex}),' ','')
, '02'
, SYSDATE
, 'N'
, 'sys'
, SYSDATE
, 'sys'
, SYSDATE
, ''
, #{remarks}
)
</insert>
</mapper>

@ -4,6 +4,7 @@ import java.util.List;
import java.util.Map;
import cfs.common.vo.ParamBean;
import cfs.standard.vo.LocalResidentsExcelUpVO;
import cfs.standard.vo.StandardCodeInfoVO;
@ -38,11 +39,15 @@ public interface StandardCodeInfoService {
public int insertExemptCars(List<StandardCodeInfoVO> standardCodeInfoVO) throws Exception;
public int insertLocalResidentsCars(LocalResidentsExcelUpVO localResidentsExcelUpVO) throws Exception;
public Map<String, String> findStandardExemptCarNo(StandardCodeInfoVO standardCodeInfoVO) throws Exception;
public Map<String, String> findStandardExemptCarTypeId(StandardCodeInfoVO standardCodeInfoVO) throws Exception;
public Map<String, String> updateStandardExemptCarNo(StandardCodeInfoVO standardCodeInfoVO) throws Exception;
public Map<String, String> insertManyExemptCarNo(StandardCodeInfoVO standardCodeInfoVO) throws Exception;
List<Map<String, Object>> insertCsvFile(StandardCodeInfoVO standardCodeInfoVO) throws Exception;
void insertStandardExemptCarNo(ParamBean param) throws Exception;
@ -67,6 +72,8 @@ public interface StandardCodeInfoService {
public List<StandardCodeInfoVO> findStandardCardOverlap(StandardCodeInfoVO standardCodeInfoVO) throws Exception;
public List<StandardCodeInfoVO> fineExemptErrorList() throws Exception;
}

@ -1,11 +1,13 @@
package cfs.standard.service.impl;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.YearMonth;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -16,12 +18,15 @@ import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import cfs.common.util.CarNo2Code;
import cfs.common.util.HttpUtil;
import cfs.common.util.ObjectUtil;
import cfs.common.util.StringUtil;
import cfs.common.vo.ParamBean;
import cfs.fine.vo.PenaltyParamVO;
import cfs.standard.dao.StandardCodeInfoDao;
import cfs.standard.service.StandardCodeInfoService;
import cfs.standard.vo.LocalResidentsExcelUpVO;
import cfs.standard.vo.StandardCodeInfoVO;
@Service("StandardCodeInfoService")
@ -179,6 +184,63 @@ public class StandardCodeInfoServiceImpl implements StandardCodeInfoService{
return result;
}
@Override
public int insertLocalResidentsCars(LocalResidentsExcelUpVO param) throws Exception {
String today = (new SimpleDateFormat ("yyyyMMdd")).format(new Date());
int result = 0;
try {
Map<String,Object> map = new HashMap<String,Object>();
map.put("carNo", param.getCarNo());
map.put("carNoHex", CarNo2Code.runCarNo2Code(param.getCarNo()));
String levyStdde = StringUtil.nullToNull(param.getLevyStdde()).replaceAll("-", "").replaceAll("/", "");
if(levyStdde.equals("")){
levyStdde = today;
}
map.put("levyStdde", levyStdde);
String remarks = "";
String remarks1 = StringUtil.nullToNull(param.getRemarks1());
String remarks2 = StringUtil.nullToNull(param.getRemarks1());
if(remarks1.equals("01000000000")){
remarks1 = "";
}
if(remarks2.equals("01000000000")){
remarks2 = "";
}
if(remarks1.equals(remarks2)){
remarks = remarks1;
} else {
remarks = remarks1 + " / "+ remarks2;
}
map.put("remarks", remarks);
String seq = "";
Map<String,Object> existMap = StandardCodeInfoDao.selectLocalResidents(map);
if(existMap == null || existMap.isEmpty()){
StandardCodeInfoDao.insertLocalResidents(map);
seq = map.get("SCAR_SEQ").toString();
} else {
seq = map.get("SCAR_SEQ").toString();
if(Integer.parseInt(existMap.get("APPLY_DATE").toString()) <= Integer.parseInt(map.get("levyStdde").toString())){
StandardCodeInfoDao.updateLocalResidents(map);
}
}
map.put("scarSeq", seq);
StandardCodeInfoDao.insertGammyeon(map);
} catch (Exception e) {
e.printStackTrace();
return result;
}
result = 1;
return result;
}
@Override
public Map<String, String> findStandardExemptCarNo(StandardCodeInfoVO standardCodeInfoVO) throws Exception {
Map<String, String> result = null;
@ -679,6 +741,7 @@ public class StandardCodeInfoServiceImpl implements StandardCodeInfoService{
List<StandardCodeInfoVO> result =StandardCodeInfoDao.fineExemptErrorList();
return result;
}
}

@ -8,6 +8,7 @@ public class LocalResidentsExcelUpVO extends CommonParamVO{
private String carOwnerNm;
private String remarks1;
private String remarks2;
private String levyStdde;
public String getCarNo() {
return carNo;
@ -33,5 +34,11 @@ public class LocalResidentsExcelUpVO extends CommonParamVO{
public void setRemarks2(String remarks2) {
this.remarks2 = remarks2;
}
public String getLevyStdde() {
return levyStdde;
}
public void setLevyStdde(String levyStdde) {
this.levyStdde = levyStdde;
}
}

@ -426,6 +426,27 @@ public class StandardCodeInfoController {
return result.getResult();
}
@RequestMapping(value="/cfs/standard/insertLocalResidentsCars.do", method=RequestMethod.POST)
public @ResponseBody Map<String, Object> insertLocalResidentsCars(@RequestBody ParamBean<List<LocalResidentsExcelUpVO>> param, HttpServletRequest request) {
List<LocalResidentsExcelUpVO> localResidentsExcelUpVOs = param.getParam();
Result result = new Result();
int insResult = 0;
try {
for(LocalResidentsExcelUpVO vo: localResidentsExcelUpVOs){
insResult += StandardCodeInfoService.insertLocalResidentsCars(vo);
}
result.setMsg(Result.STATUS_SUCESS, "저장이 완료되었습니다.");
}catch(RuntimeException e) {
result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE);
} catch (Exception e) {
result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE);
}
return result.getResult();
}
/**
*
*
@ -721,30 +742,7 @@ public class StandardCodeInfoController {
return result.getResult();
}
@RequestMapping(value="/cfs/standard/insertLocalResidentsCars.do", method=RequestMethod.POST)
public @ResponseBody Map<String, Object> insertLocalResidentsCars(@RequestBody ParamBean<List<LocalResidentsExcelUpVO>> param, HttpServletRequest request) {
List<LocalResidentsExcelUpVO> localResidentsExcelUpVO = param.getParam();
Result result = new Result();
int insResult = 0;
try {
result.setMsg(Result.STATUS_SUCESS, "저장이 완료되었습니다.");
}catch(RuntimeException e) {
result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE);
} catch (Exception e) {
result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE);
}
return result.getResult();
}
/**
*

@ -15,8 +15,7 @@ public interface CommCollectServerDao {
public List<Map<String, Object>> selectPreRegistCarInfoMstCount(Map<String, Object> param);
public List<Map<String, Object>> selectPreRegistCarInfoChange(Map<String, String> param);
public List<Map<String, Object>> selectPreRegistCarInfoLive(Map<String, String> param);
public List<Map<String, Object>> selectPreRegistCarInfoLive(Map<String, String> param);
public int insertPreRegistInfoModi(Map<String, Object> param);
public List<Map<String, Object>> selectSendPreRegistCarInfo(Map<String, String> param);

@ -1,6 +1,7 @@
package cfs.trsmrcv.dao;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Repository;
@ -88,4 +89,5 @@ public interface TransManageDao {
*
*/
public List<ExtTransManageInfoVO> findExtTransManageListAll(ExtTransManageInfoVO param);
}

@ -104,9 +104,8 @@
</select>
<select id="selectPassThroughInfo" parameterType="hashmap" resultType="hashmap">
/* 이용료 조회 */
select *
from (
/* 이용료 조회 */
select * from (
select
FUN_GET_INSTTNO_DEFAULT(a.FARE_OFFICE_ID) as insttNo,
a.WORKER_ID,
@ -118,7 +117,7 @@
a.WORK_TIMES,
a.SEQNO,
a.CAR_NO,
(a.PASS_DATE || a.WORK_TIMES) as PASS_DATE,
a.PASS_DATE || a.WORK_TIMES as PASS_DATE,
CASE SUBSTR(a.COLLECT_ID, 1, 1)
WHEN '4' THEN c.LEVY_AMOUNT

@ -350,4 +350,6 @@
WHERE FARE_OFFICE_ID = #{fareOfficeId}
</if>
</select>
</mapper>

@ -10,19 +10,16 @@ public class CommSmartPlatformPRPVO {
private String day;
private String workTimes;
private String seqno;
private String collectIdNew;
private String carNo;
private String amount;
private String collectIdNew;
private String amount;
private String collectId;
private String repayCnt;
private String befCollectId;
private String brsMno;
private String insttNo;
private String befCollectId;
public String getWorkerId() {
return workerId;
}

@ -36,7 +36,7 @@ public class CommCollectServer0Controller {
private TrsmrcvDao trsmrcvDao;
/**
*
* ( 1( ))
* <pre></pre>
*/
@RequestMapping(value = "/rest/broker/brs/getManychild.do", method = RequestMethod.POST)
@ -102,7 +102,7 @@ public class CommCollectServer0Controller {
}
/**
*
* ( 2( /))
* <pre></pre>
*/
@RequestMapping(value = "/cfs/trsmrcv/getChgManychild.do", method = RequestMethod.POST)
@ -161,7 +161,7 @@ public class CommCollectServer0Controller {
/**
*
* ( ( ))
* <pre></pre>
*/
@RequestMapping(value = "/rest/broker/fis/getRdcxptInfoDspsnVhcle.do", method = RequestMethod.POST)
@ -241,7 +241,7 @@ public class CommCollectServer0Controller {
}
/**
*
* ( ( ))
* <pre></pre>
*/
@RequestMapping(value = "/rest/broker/fis/getRdcxptInfoNtttnVhcle.do", method = RequestMethod.POST)
@ -315,46 +315,6 @@ public class CommCollectServer0Controller {
}
/**
*
* <pre></pre>
*/
@RequestMapping(value = "/rest/broker/fis/getLowFPolutVhcle.do", method = RequestMethod.POST)
public @ResponseBody Map<String, Object> callgetLowFPolutVhcle(@RequestBody Map<String, Object> param, HttpServletRequest request) throws Exception {
Map<String,String> susinInfo = TrsmrcvUtil.getInfoMapForConnSusinLog(request);
trsmrcvDao.insertConnSusinLog(susinInfo);
ResultSmartPlatform result = new ResultSmartPlatform();
try {
//파라미터 설정
Map<String, String> pMap = new HashMap<String, String>();
pMap.put("sysId", "11-004");
pMap.put("tranDate", "20240325143122");
pMap.put("transId", "20240325143123");
pMap.put("carNumber", param.get("carNumber").toString());
// 사전등록결제 웹서비스 호출
String url = cfsCommonService.findCommonSecureGet("ITF_FIS_I_011");
CallWebService callWebService = new CallWebService(url);
Map<String, String> map = callWebService.callWebServicePost(pMap);
//결과 수신
logger.info("==== " + map.toString());
result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다.");
}catch(RuntimeException e) {
e.printStackTrace();
result.setErrorMsg(ResultSmartPlatform.STATUS_ERROR_DEFAULT_DETAIL_CODE, null);
} catch (Exception e) {
e.printStackTrace();
result.setErrorMsg(ResultSmartPlatform.STATUS_ERROR_DEFAULT_DETAIL_CODE, null);
}
return result.getResult();
}
}

Loading…
Cancel
Save