과태료 차적망 이력 테이블 조회로 지역주민 샘플데이터 생성

main
이범준 7 months ago
parent 42611f3d02
commit af74b288aa

@ -1,8 +1,20 @@
package cfs.schd.dao;
import java.util.Map;
import org.springframework.stereotype.Repository;
@Repository("schdDao")
public interface SchdDao {
public String selectRunWas(String schdulName);
public String selectMaxCntcMastrIdFromTfcb(String str);
public String selectMaxCntcMastrId(String str);
public Map<String,Object> selectCarNoFromTfcb(String num);
public int mergeLocalResidents(Map<String,Object> map);
public void updateSampleSeq(String maxCntcMastrId);
}

@ -7,4 +7,60 @@ SELECT RUN_WAS
FROM TB_CFS_SCHDUL_RUN_INFO
WHERE SCHDUL_NAME = #{schdulName};
</select>
<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="selectMaxCntcMastrId" parameterType="java.lang.String" resultType="java.lang.String">
SELECT MAX_CNTC_MASTR_ID
FROM TB_CFS_LOCAL_RESIDENTS_CAR_SAMPLE
</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},'0',12)
</select>
<insert id="mergeLocalResidents" parameterType="java.util.Map">
MERGE INTO TB_CFS_LOCAL_RESIDENTS_CAR_MST
USING DUAL ON (
CAR_NO = #{carNo}
)
WHEN MATCHED THEN
UPDATE SET
APPLY_DATE = #{levyStdde}
, PROC_CMPT_YN = 'Y'
, PROC_STRT_DTTM = SYSDATE
, UPDATER = 'admin'
, UPDATE_DATE = SYSDATE
WHERE CAR_NO = #{carNo} AND TO_CHAR(APPLY_DATE,'YYYYMMDD') <![CDATA[ < ]]> #{levyStdde}
WHEN NOT MATCHED THEN
INSERT (
CAR_NO
, APPLY_DATE
, PROC_CMPT_YN
, PROC_STRT_DTTM
, CREATER, CREATE_DATE, UPDATER, UPDATE_DATE
) VALUES (
#{carNo}
, #{levyStdde}
, 'Y'
, SYSDATE
, 'admin', SYSDATE, 'admin', SYSDATE
)
</insert>
<update id="updateSampleSeq" parameterType="java.lang.String">
UPDATE TB_CFS_LOCAL_RESIDENTS_CAR_SAMPLE SET MAX_CNTC_MASTR_ID = #{maxCntcMastrId}
</update>
</mapper>

@ -1,11 +1,15 @@
package cfs.trsmrcv.web;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
@ -14,7 +18,9 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import cfs.common.util.ResultSmartPlatform;
import cfs.schd.dao.SchdDao;
import cfs.trsmrcv.dao.TrsmrcvDao;
import websquare.util.StringUtil;
@Controller
public class TrsmrcvController {
@ -24,6 +30,9 @@ public class TrsmrcvController {
@Resource(name = "trsmrcvDao")
private TrsmrcvDao trsmrcvDao;
@Resource(name = "schdDao")
private SchdDao schdDao;
@RequestMapping(value="/cfs/trsmrcv/sleep.do", method=RequestMethod.GET)
public @ResponseBody Map<String, Object> sleep(HttpServletRequest request) throws Exception {
@ -47,7 +56,57 @@ public class TrsmrcvController {
Map result = new HashMap();
result.put("res", "ok");
return result;
return result;
}
/**
*
* <pre></pre>
*/
@RequestMapping(value="/cfs/trsmrcv/initLocalResidents.do", method=RequestMethod.GET)
public @ResponseBody Map<String, Object> initLocalResidents(HttpServletRequest request) throws Exception {
SimpleDateFormat sdf8 = (new SimpleDateFormat("yyyyMMdd"));
Date now = new Date();
String curYmd = sdf8.format(now);
String maxCntcMastrId_current = schdDao.selectMaxCntcMastrIdFromTfcb("");
String maxCntcMastrId_lastWork = schdDao.selectMaxCntcMastrId("");
long max = Long.parseLong(maxCntcMastrId_current);
long min = Long.parseLong(maxCntcMastrId_lastWork);
for(long i = max; i >= min; i--){
Map<String, Object> map = new HashMap<String, Object>();
Map<String,Object> carInfo = schdDao.selectCarNoFromTfcb(Long.toString(i));
if(carInfo == null || carInfo.isEmpty()){
continue;
}
String creatDt = carInfo.get("CREAT_DT").toString();
try {
long diff = sdf8.parse(curYmd).getTime() - sdf8.parse(creatDt).getTime();
long diffDays = diff / 86400000L;
if(diffDays > 7 && maxCntcMastrId_lastWork.equals("000000000001")){
break;
}
} catch (ParseException e) {
e.printStackTrace();
}
if(carInfo.get("CAR_NO") == null || carInfo.get("CAR_NO").toString().equals("")){
continue;
}
map.put("carNo", carInfo.get("CAR_NO").toString());
map.put("levyStdde", carInfo.get("LEVY_STDDE").toString());
schdDao.mergeLocalResidents(map);
}
schdDao.updateSampleSeq(maxCntcMastrId_current);
Map<String, Object> result = new HashMap<String, Object>();
result.put("result", "ok");
return result;
}
}

Loading…
Cancel
Save