|
|
|
|
@ -42,41 +42,27 @@ import cokr.xit.foundation.data.DataObject;
|
|
|
|
|
*/
|
|
|
|
|
@Component("crdnBean")
|
|
|
|
|
public class CrdnBean extends AbstractBean {
|
|
|
|
|
|
|
|
|
|
@Resource(name = "crdnSttsHstryBean")
|
|
|
|
|
private CrdnSttsHstryBean crdnSttsHstryBean;
|
|
|
|
|
|
|
|
|
|
@Resource(name = "crdnPayerAddrHstryBean")
|
|
|
|
|
private CrdnPayerAddrHstryBean crdnPayerAddrHstryBean;
|
|
|
|
|
|
|
|
|
|
@Resource(name = "fileBean")
|
|
|
|
|
private FileBean fileBean;
|
|
|
|
|
|
|
|
|
|
@Resource(name = "crdnStngBean")
|
|
|
|
|
private CrdnStngBean crdnStngBean;
|
|
|
|
|
|
|
|
|
|
@Resource(name = "crdnInfoMapper")
|
|
|
|
|
private CrdnInfoMapper crdnInfoMapper;
|
|
|
|
|
|
|
|
|
|
@Resource(name = "crdnInstMapper")
|
|
|
|
|
private CrdnInstMapper crdnInstMapper;
|
|
|
|
|
|
|
|
|
|
@Resource(name = "crdnUpdtMapper")
|
|
|
|
|
private CrdnUpdtMapper crdnUpdtMapper;
|
|
|
|
|
|
|
|
|
|
@Resource(name = "crdnTeamMapper")
|
|
|
|
|
private CrdnTeamMapper crdnTeamMapper;
|
|
|
|
|
|
|
|
|
|
@Resource(name = "levyExclBean")
|
|
|
|
|
protected LevyExclBean levyExclBean;
|
|
|
|
|
|
|
|
|
|
public boolean create(Map<String, Object> nonQueryRequest, Crdn crdn, List<FileInfo> fileInfoList) {
|
|
|
|
|
if(fileInfoList != null && !fileInfoList.isEmpty()) {
|
|
|
|
|
crdn.setAtchFileCnt(fileInfoList.size());
|
|
|
|
|
} else {
|
|
|
|
|
crdn.setAtchFileCnt(0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
crdn.setAtchFileCnt(isEmpty(fileInfoList) ? 0 : fileInfoList.size());
|
|
|
|
|
//금액 계산
|
|
|
|
|
int[] basicAmt = crdnStngBean.getBasicAmt(crdn);
|
|
|
|
|
crdn.setFfnlgCrdnAmt(basicAmt[0]);
|
|
|
|
|
@ -84,7 +70,7 @@ public class CrdnBean extends AbstractBean {
|
|
|
|
|
crdn.setAdvntceAmt(basicAmt[1]);
|
|
|
|
|
|
|
|
|
|
//단속팀 정보 갱신
|
|
|
|
|
if(!ifEmpty(crdn.getTeamId(), () -> "").equals("")) {
|
|
|
|
|
if(!isEmpty(crdn.getTeamId())) {
|
|
|
|
|
DataObject teamInfo = crdnTeamMapper.selectTeamInfo(crdn.getTeamId());
|
|
|
|
|
|
|
|
|
|
Team team = new Team();
|
|
|
|
|
@ -101,47 +87,36 @@ public class CrdnBean extends AbstractBean {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//상태코드 설정
|
|
|
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
|
|
|
|
|
if(ifEmpty(crdn.getCrdnSttsCd(), () -> "").equals("")){ //상태코드가 없을경우
|
|
|
|
|
if(ifEmpty(crdn.getCvlcptLinkYn(), () -> "").equals("Y")) { //민원연계자료일 경우
|
|
|
|
|
if(isEmpty(crdn.getCrdnSttsCd())){ //상태코드가 없을경우
|
|
|
|
|
if("Y".equals(crdn.getCvlcptLinkYn())) { //민원연계자료일 경우
|
|
|
|
|
crdn.setCrdnSttsCd("01"); //초기상태
|
|
|
|
|
crdn.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis()));
|
|
|
|
|
} else { //민원연계자료가 아닐 경우
|
|
|
|
|
if(ifEmpty(crdn.getRtpyrId(), () -> "").equals("")) { //납부자가 정보가 없을 경우
|
|
|
|
|
crdn.setCrdnSttsCd("01"); //초기상태
|
|
|
|
|
crdn.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis()));
|
|
|
|
|
} else {
|
|
|
|
|
crdn.setCrdnSttsCd("21"); //납부자등록완료
|
|
|
|
|
crdn.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis()));
|
|
|
|
|
}
|
|
|
|
|
crdn.setCrdnSttsCd(isEmpty(crdn.getRtpyrId()) ? "01" : "21"); // 01: 초기상태 21: 납부자등록완료
|
|
|
|
|
}
|
|
|
|
|
crdn.setCrdnSttsChgDt(new SimpleDateFormat("yyyyMMddHHmmss").format(System.currentTimeMillis()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//단속 대장 등록
|
|
|
|
|
boolean result = this.createLedger(crdn);
|
|
|
|
|
if (!result) {
|
|
|
|
|
if (!result)
|
|
|
|
|
throw new RuntimeException("단속자료 등록 중 단속자료 등록에 실패하였습니다.");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SimpleDateFormat yyyyMMdd = new SimpleDateFormat("yyyyMMdd");
|
|
|
|
|
Date curTime = new Date();
|
|
|
|
|
String strCurrentDate = yyyyMMdd.format(curTime);
|
|
|
|
|
|
|
|
|
|
String today = new SimpleDateFormat("yyyyMMdd").format(new Date());
|
|
|
|
|
String taskDtlId = crdn.getCrdnId();
|
|
|
|
|
|
|
|
|
|
if(crdn.getCrdnSttsCd().equals("83")) {
|
|
|
|
|
// 부과제외(TB_LEVY_EXCL) 대장 등록
|
|
|
|
|
LevyExcl excl01 = new LevyExcl();
|
|
|
|
|
excl01.setCrdnId(crdn.getCrdnId());
|
|
|
|
|
excl01.setLevyExclYmd(strCurrentDate);
|
|
|
|
|
excl01.setSggCd(crdn.getSggCd());
|
|
|
|
|
excl01.setLevyExclYmd(today);
|
|
|
|
|
excl01.setLevyExclSeCd("2");
|
|
|
|
|
excl01.setLevyExclRsnCd("192");
|
|
|
|
|
excl01.setEtcCn("");
|
|
|
|
|
|
|
|
|
|
String rtnScs = levyExclBean.createLevyExcl(excl01);
|
|
|
|
|
if (rtnScs.contains("[F]")) {
|
|
|
|
|
if (rtnScs.contains("[F]"))
|
|
|
|
|
throw new RuntimeException("단속자료 등록 중 부과제외 자료 등록에 실패하였습니다.");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
taskDtlId = excl01.getLevyExclId();
|
|
|
|
|
}
|
|
|
|
|
@ -156,9 +131,8 @@ public class CrdnBean extends AbstractBean {
|
|
|
|
|
crdnSttsHstry.setEtcCn("");
|
|
|
|
|
|
|
|
|
|
result = crdnSttsHstryBean.create(crdnSttsHstry);
|
|
|
|
|
if (!result) {
|
|
|
|
|
if (!result)
|
|
|
|
|
throw new RuntimeException("단속자료 등록 중 단속상태 이력 등록에 실패하였습니다.");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//단속납부자이력(TB_CRDN_PAYER_HSTRY) 대장 등록
|
|
|
|
|
if(!ifEmpty(crdn.getRtpyrId(), () -> "").equals("")) {
|
|
|
|
|
@ -168,19 +142,17 @@ public class CrdnBean extends AbstractBean {
|
|
|
|
|
crdnPayerAddrHstry.setAddrSn(crdn.getAddrSn());
|
|
|
|
|
|
|
|
|
|
// 단속 대장의 납부자ID 수정 및 단속 납부자 이력(TB_CRDN_PAYER_HSTRY) 대장에 등록한다.
|
|
|
|
|
int effected = crdnPayerAddrHstryBean.createCrdnPayerAddrHstry(crdnPayerAddrHstry);
|
|
|
|
|
if(effected != 1) {
|
|
|
|
|
int affected = crdnPayerAddrHstryBean.createCrdnPayerAddrHstry(crdnPayerAddrHstry);
|
|
|
|
|
if(affected != 1)
|
|
|
|
|
throw new RuntimeException("단속자료 등록 중 단속 납부자주소 이력 등록에 실패하였습니다.");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//파일 등록
|
|
|
|
|
if(fileInfoList != null && !fileInfoList.isEmpty()) {
|
|
|
|
|
if(!isEmpty(fileInfoList)) {
|
|
|
|
|
fileInfoList.forEach(fileInfo -> fileInfo.setInfoType(Crdn.INF_TYPE).setInfoKey(crdn.getCrdnId()));
|
|
|
|
|
int effected = fileBean.create(fileInfoList);
|
|
|
|
|
if(effected == 0) {
|
|
|
|
|
int affected = fileBean.create(fileInfoList);
|
|
|
|
|
if(affected == 0)
|
|
|
|
|
throw new RuntimeException("단속자료 등록 중 파일 등록에 실패하였습니다.");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
@ -194,19 +166,8 @@ public class CrdnBean extends AbstractBean {
|
|
|
|
|
* </ul>
|
|
|
|
|
*/
|
|
|
|
|
public boolean createLedger(Crdn crdn) {
|
|
|
|
|
|
|
|
|
|
int effected = crdnInstMapper.insertCrdn(crdn);
|
|
|
|
|
if(effected != 1) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
effected = crdnInstMapper.insertCrdnAddition(crdn);
|
|
|
|
|
if(effected != 1) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
|
|
return crdnInstMapper.insertCrdn(crdn) == 1
|
|
|
|
|
&& crdnInstMapper.insertCrdnAddition(crdn) == 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**단속 정보를 삭제한다.
|
|
|
|
|
@ -224,7 +185,7 @@ public class CrdnBean extends AbstractBean {
|
|
|
|
|
paramMap.put("crdnIds", crdnIdList);
|
|
|
|
|
paramMap.put("removedBy", UserInfo.current().getId());
|
|
|
|
|
|
|
|
|
|
return crdnUpdtMapper.deleteCrdn(paramMap) >= 1 ? true : false;
|
|
|
|
|
return crdnUpdtMapper.deleteCrdn(paramMap) >= 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**단속 자료를 수정한다.
|
|
|
|
|
@ -235,9 +196,6 @@ public class CrdnBean extends AbstractBean {
|
|
|
|
|
* </ul>
|
|
|
|
|
*/
|
|
|
|
|
public String updateCrackdown(Crdn crdn) {
|
|
|
|
|
// 변수 선언
|
|
|
|
|
int effected = 0; // DB 처리 결과
|
|
|
|
|
|
|
|
|
|
//금액 계산
|
|
|
|
|
int[] basicAmt = crdnStngBean.getBasicAmt(crdn);
|
|
|
|
|
crdn.setFfnlgCrdnAmt(basicAmt[0]);
|
|
|
|
|
@ -245,16 +203,14 @@ public class CrdnBean extends AbstractBean {
|
|
|
|
|
crdn.setAdvntceAmt(basicAmt[1]);
|
|
|
|
|
|
|
|
|
|
// 단속(TB_CRDN) 대장을 수정한다.
|
|
|
|
|
effected = crdnUpdtMapper.updateEditCrdn(crdn);
|
|
|
|
|
if (effected != 1) {
|
|
|
|
|
int affected = crdnUpdtMapper.updateEditCrdn(crdn);
|
|
|
|
|
if (affected != 1)
|
|
|
|
|
throw new RuntimeException("단속 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 단속 부가 정보(TB_CRDN_ADI) 대장을 수정한다.
|
|
|
|
|
effected = crdnUpdtMapper.updateCrdnAddition(crdn);
|
|
|
|
|
if (effected != 1) {
|
|
|
|
|
affected = crdnUpdtMapper.updateCrdnAddition(crdn);
|
|
|
|
|
if (affected != 1)
|
|
|
|
|
throw new RuntimeException("단속 부가 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
|
}
|
|
|
|
|
@ -267,10 +223,6 @@ public class CrdnBean extends AbstractBean {
|
|
|
|
|
* </ul>
|
|
|
|
|
*/
|
|
|
|
|
public String removeCrackdown(Crdn crdn) {
|
|
|
|
|
// 변수 선언
|
|
|
|
|
boolean rtnScs = false; // DB 처리 결과
|
|
|
|
|
int effected = 0;
|
|
|
|
|
|
|
|
|
|
// 단속 ID로 단속 정보 조회
|
|
|
|
|
DataObject infoCrdn = crdnInfoMapper.selectCrdnInfo(crdn.getCrdnId());
|
|
|
|
|
|
|
|
|
|
@ -282,10 +234,9 @@ public class CrdnBean extends AbstractBean {
|
|
|
|
|
crdnSttsHstry.setCrdnSttsCd("99");
|
|
|
|
|
|
|
|
|
|
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록한다.
|
|
|
|
|
rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
boolean rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
|
|
|
|
|
if (!rtnScs)
|
|
|
|
|
throw new RuntimeException("단속 삭제 중 단속 대장의 단속상태코드 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Map<String, Object> paramMap = new HashMap<String, Object>();
|
|
|
|
|
List<String> crdnIdList = Arrays.asList(crdn.getCrdnId());
|
|
|
|
|
@ -294,16 +245,14 @@ public class CrdnBean extends AbstractBean {
|
|
|
|
|
paramMap.put("delRsn", crdn.getDelRsn());
|
|
|
|
|
|
|
|
|
|
// 단속(TB_CRDN) 대장을 삭제한다.
|
|
|
|
|
effected = crdnUpdtMapper.deleteCrdn(paramMap);
|
|
|
|
|
if (effected != 1) {
|
|
|
|
|
int affected = crdnUpdtMapper.deleteCrdn(paramMap);
|
|
|
|
|
if (affected != 1)
|
|
|
|
|
throw new RuntimeException("단속 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 단속(TB_CRDN) 대장을 삭제한다.
|
|
|
|
|
effected = crdnUpdtMapper.deleteCrdnAdi(paramMap);
|
|
|
|
|
if (effected != 1) {
|
|
|
|
|
affected = crdnUpdtMapper.deleteCrdnAdi(paramMap);
|
|
|
|
|
if (affected != 1)
|
|
|
|
|
throw new RuntimeException("단속 부가 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
|
}
|
|
|
|
|
@ -320,22 +269,18 @@ public class CrdnBean extends AbstractBean {
|
|
|
|
|
DataObject crdnInfo = crdnInfoMapper.selectCrdnInfo(crdn.getCrdnId());
|
|
|
|
|
|
|
|
|
|
String rtnMsg = ""; // 처리 결과 메시지
|
|
|
|
|
if (crdnInfo == null) {
|
|
|
|
|
if (crdnInfo == null)
|
|
|
|
|
rtnMsg = "[F] 작업중 단속 자료가 조회되지 않습니다.";
|
|
|
|
|
}
|
|
|
|
|
if (!"21,22".contains(crdnInfo.string("CRDN_STTS_CD"))) {
|
|
|
|
|
if (!"21,22".contains(crdnInfo.string("CRDN_STTS_CD")))
|
|
|
|
|
rtnMsg = "[F] 작업은 단속 처리상태가 납부자등록, 사전부과대상 자료만 가능합니다.";
|
|
|
|
|
}
|
|
|
|
|
// 오류메세지가 발생하면 종료..
|
|
|
|
|
if (rtnMsg.contains("[F]")) {
|
|
|
|
|
if (rtnMsg.contains("[F]"))
|
|
|
|
|
return rtnMsg;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 단속(TB_CRDN) 대장에 납부자 ID를 삭제한다.
|
|
|
|
|
int rtnNocs = crdnUpdtMapper.deleteCrdnPayer(crdn);
|
|
|
|
|
if (rtnNocs != 1) {
|
|
|
|
|
if (rtnNocs != 1)
|
|
|
|
|
throw new RuntimeException("단속 대장에 납부자 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 단속 상태 코드 변경
|
|
|
|
|
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
|
|
|
|
|
@ -347,9 +292,8 @@ public class CrdnBean extends AbstractBean {
|
|
|
|
|
|
|
|
|
|
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록한다.
|
|
|
|
|
boolean rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
if (!rtnScs)
|
|
|
|
|
throw new RuntimeException("단속 대장의 단속상태코드 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
|
}
|
|
|
|
|
@ -375,9 +319,8 @@ public class CrdnBean extends AbstractBean {
|
|
|
|
|
|
|
|
|
|
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록한다.
|
|
|
|
|
boolean rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
if (!rtnScs)
|
|
|
|
|
throw new RuntimeException("단속 대장의 단속상태코드 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
|
}
|
|
|
|
|
@ -390,15 +333,13 @@ public class CrdnBean extends AbstractBean {
|
|
|
|
|
boolean saved = false;
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
|
|
Stream<Path> walk = Files.walk(Paths.get(workPath));
|
|
|
|
|
|
|
|
|
|
List<String> deleteFilePaths = new ArrayList<String>();
|
|
|
|
|
|
|
|
|
|
walk.filter(Files::isRegularFile)
|
|
|
|
|
.filter(p -> p.toFile().getName().equalsIgnoreCase(fileName))
|
|
|
|
|
.collect(Collectors.toList())
|
|
|
|
|
.forEach(item -> deleteFilePaths.add(item.toFile().getPath()));
|
|
|
|
|
.filter(p -> p.toFile().getName().equalsIgnoreCase(fileName))
|
|
|
|
|
.collect(Collectors.toList())
|
|
|
|
|
.forEach(item -> deleteFilePaths.add(item.toFile().getPath()));
|
|
|
|
|
|
|
|
|
|
for(String deleteFilePath : deleteFilePaths) {
|
|
|
|
|
saved = (new File(deleteFilePath)).delete();
|
|
|
|
|
@ -406,13 +347,11 @@ public class CrdnBean extends AbstractBean {
|
|
|
|
|
|
|
|
|
|
//빈 디렉토리 삭제
|
|
|
|
|
CmmnUtil.deleteEmptyDir(new File(workPath), false);
|
|
|
|
|
|
|
|
|
|
walk.close();
|
|
|
|
|
|
|
|
|
|
return saved;
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
throw new RuntimeException(e);
|
|
|
|
|
throw runtimeException(e);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return saved;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|