기본금액 조회 메소드 수정

main
이범준 1 year ago
parent 6aaea248bd
commit 25b353c520

@ -4,14 +4,17 @@ import java.util.List;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.assertj.core.util.Arrays;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import cokr.xit.base.file.FileInfo; import cokr.xit.base.file.FileInfo;
import cokr.xit.base.file.service.bean.FileBean; import cokr.xit.base.file.service.bean.FileBean;
import cokr.xit.fims.crdn.Crdn; import cokr.xit.fims.crdn.Crdn;
import cokr.xit.fims.crdn.CrdnQuery;
import cokr.xit.fims.crdn.dao.Crdn05Mapper; import cokr.xit.fims.crdn.dao.Crdn05Mapper;
import cokr.xit.fims.task.service.bean.BpvServiceBean;
import cokr.xit.fims.task.service.bean.DpvServiceBean;
import cokr.xit.fims.task.service.bean.EcaServiceBean;
import cokr.xit.fims.task.service.bean.PvsServiceBean;
import cokr.xit.fims.task.service.bean.TpvServiceBean;
import cokr.xit.foundation.AbstractComponent; import cokr.xit.foundation.AbstractComponent;
/** Bean /** Bean
@ -19,11 +22,7 @@ import cokr.xit.foundation.AbstractComponent;
*/ */
@Component("crdn05Bean") @Component("crdn05Bean")
public class Crdn05Bean extends AbstractComponent { public class Crdn05Bean extends AbstractComponent {
public String[] SAFE_TAG_AREA = {"03","06","07"}; //안전표지구역
public String[] CAR_GROUP1 = {"12","14","15","21"}; //승합자동차등
public String[] CAR_GROUP2 = {"11","13"}; //승용자동차등
public String[] CAR_GROUP3 = {"31"}; //이륜자동차등
@Resource(name="fileBean") @Resource(name="fileBean")
private FileBean fileBean; private FileBean fileBean;
@ -31,6 +30,16 @@ public class Crdn05Bean extends AbstractComponent {
@Resource(name = "crdn05Mapper") @Resource(name = "crdn05Mapper")
private Crdn05Mapper crdn05Mapper; private Crdn05Mapper crdn05Mapper;
@Resource(name = "pvsService")
private PvsServiceBean pvsService;
@Resource(name = "bpvService")
private BpvServiceBean bpvService;
@Resource(name = "dpvService")
private DpvServiceBean dpvService;
@Resource(name = "ecaService")
private EcaServiceBean ecaService;
@Resource(name = "tpvService")
private TpvServiceBean tpvService;
public boolean create(Crdn crdn, List<FileInfo> fileInfoList) { public boolean create(Crdn crdn, List<FileInfo> fileInfoList) {
crdn.setAtchFileCnt(fileInfoList.size()); crdn.setAtchFileCnt(fileInfoList.size());
@ -52,134 +61,44 @@ public class Crdn05Bean extends AbstractComponent {
if(ifEmpty(crdn.getAtchFileCnt(), () -> 0) == 0) { if(ifEmpty(crdn.getAtchFileCnt(), () -> 0) == 0) {
crdn.setAtchFileCnt(0); crdn.setAtchFileCnt(0);
} }
int[] basicAmt;
int basicAmt = this.getBasicAmt(crdn); switch (crdn.getTaskSeCd()) {
crdn.setFfnlgAmt(basicAmt); case "PVS": {
crdn.setLevyAmt(basicAmt); basicAmt = pvsService.getBasicAmt(crdn);
break;
boolean isPenaltyAmt = crdn.getTaskSeCd().equals("TPV")
&& (crdn.getFfnlgCarmdlCd().equals("13") || crdn.getFfnlgCarmdlCd().equals("14")); //과징금
if(crdn.getTaskSeCd().equals("BPV") || isPenaltyAmt) {
crdn.setAdvntceLevyAmt(basicAmt);
} else {
crdn.setAdvntceLevyAmt((int)(basicAmt * 0.8));
}
if(ifEmpty(crdn.getDoGuidance(), () -> "").equals("on")) {
crdn.setCrdnSttsCd("83");
} else {
crdn.setCrdnSttsCd("01");
}
return crdn05Mapper.insert(crdn);
}
/** .
* @param crdn
* @return
*/
public int getBasicAmt(Crdn crdn) {
int amt = 0;
CrdnQuery query = new CrdnQuery();
query.setTaskSeCd(crdn.getTaskSeCd());
query.setAplcnYmd(crdn.getCrdnYmd());
String ffnlgCarmdlCd = crdn.getFfnlgCarmdlCd();
if(crdn.getTaskSeCd().equals("PVS") || crdn.getTaskSeCd().equals("BPV") || crdn.getTaskSeCd().equals("TPV")) {
if(ifEmpty(ffnlgCarmdlCd, () -> "").equals("")) {
return 0;
}
}
switch(crdn.getTaskSeCd()) {
case "PVS":
query.setAmtDcsnCdGroupId("FIM055");
String crdnSpareaCd = crdn.getCrdnSpareaCd();
if(Arrays.asList(SAFE_TAG_AREA).contains(crdnSpareaCd)) {
query.setAmtDcsnCd("02");
} else {
String crdnTm = crdn.getCrdnTm();
boolean workTimeYn = Integer.parseInt(crdnTm) >= 80000 && Integer.parseInt(crdnTm) <= 200000;
if(crdnSpareaCd.equals("01") && workTimeYn) {
query.setAmtDcsnCd("03");
} else if((crdnSpareaCd.equals("02") || crdnSpareaCd.equals("05")) && workTimeYn) {
query.setAmtDcsnCd("04");
} else {
query.setAmtDcsnCd("01");
}
} }
case "BPV": {
query.setDtlAmtDcsnCdGroupId("FIM056"); basicAmt = bpvService.getBasicAmt(crdn);
if(Arrays.asList(CAR_GROUP1).contains(ffnlgCarmdlCd)) { break;
query.setDtlAmtDcsnCd("01");
} }
if(Arrays.asList(CAR_GROUP2).contains(ffnlgCarmdlCd)) { case "DPV": {
query.setDtlAmtDcsnCd("02"); basicAmt = dpvService.getBasicAmt(crdn);
break;
} }
case "ECA": {
basicAmt = ecaService.getBasicAmt(crdn);
break; break;
case "BPV":
query.setAmtDcsnCdGroupId("FIM056");
if(Arrays.asList(CAR_GROUP1).contains(ffnlgCarmdlCd)) {
query.setAmtDcsnCd("01");
} }
if(Arrays.asList(CAR_GROUP2).contains(ffnlgCarmdlCd)) { case "TPV": {
query.setAmtDcsnCd("02"); basicAmt = tpvService.getBasicAmt(crdn);
break;
} }
if(Arrays.asList(CAR_GROUP3).contains(ffnlgCarmdlCd)) { default:
query.setAmtDcsnCd("03"); throw new IllegalArgumentException("Unexpected value: " + crdn.getTaskSeCd());
} }
break; crdn.setFfnlgAmt(basicAmt[0]);
case "DPV": crdn.setLevyAmt(basicAmt[0]);
crdn.setAdvntceLevyAmt(basicAmt[1]);
query.setAmtDcsnCdGroupId("FIM006");
query.setAmtDcsnCd(crdn.getVltnCd());
break;
case "ECA":
break;
case "TPV":
query.setAmtDcsnCdGroupId("FIM057");
if(ffnlgCarmdlCd.equals("21")) {
query.setAmtDcsnCd("01");
query.setDtlAmtDcsnCdGroupId("FIM059");
String vltnNmtm = crdn.getVltnNmtm(); if(ifEmpty(crdn.getDoGuidance(), () -> "").equals("on")) {
if(vltnNmtm == null || vltnNmtm.equals("") || vltnNmtm.equals("0") || vltnNmtm.equals("1")) { crdn.setCrdnSttsCd("83");
query.setDtlAmtDcsnCd("01");
} else if(vltnNmtm.equals("2")) {
query.setDtlAmtDcsnCd("02");
} else { } else {
query.setDtlAmtDcsnCd("03"); crdn.setCrdnSttsCd("01");
}
}
if(ffnlgCarmdlCd.equals("13") || ffnlgCarmdlCd.equals("14")) {
query.setAmtDcsnCd("02");
query.setDtlAmtDcsnCdGroupId("FIM058");
//query.setDtlAmtDcsnCd(업종); // TODO : 차주 업종
}
break;
} }
amt = crdn05Mapper.selectBasicAmt(query); return crdn05Mapper.insert(crdn);
if(crdn.getTaskSeCd().equals("PVS")) {
if(crdn.getOvtimeYn().equals("Y")) {
amt += 10000;
}
} }
return amt;
}
} }

@ -0,0 +1,12 @@
package cokr.xit.fims.task.service;
import cokr.xit.fims.crdn.Crdn;
public interface TaskService {
/** .
* @param crdn
* @return / ,
*/
public int[] getBasicAmt(Crdn crdn);
}

@ -1,14 +1,62 @@
package cokr.xit.fims.task.service.bean; package cokr.xit.fims.task.service.bean;
import javax.annotation.Resource;
import org.assertj.core.util.Arrays;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import cokr.xit.fims.task.service.taskService; import cokr.xit.fims.crdn.Crdn;
import cokr.xit.fims.crdn.CrdnQuery;
import cokr.xit.fims.crdn.dao.Crdn05Mapper;
import cokr.xit.fims.task.service.TaskService;
import cokr.xit.foundation.component.AbstractServiceBean; import cokr.xit.foundation.component.AbstractServiceBean;
/** /**
* @author leebj * @author leebj
*/ */
@Service("bpvService") @Service("bpvService")
public class BpvServiceBean extends AbstractServiceBean implements taskService { public class BpvServiceBean extends AbstractServiceBean implements TaskService {
public String[] CAR_GROUP1 = {"12","14","15","21"}; //승합자동차등
public String[] CAR_GROUP2 = {"11","13"}; //승용자동차등
public String[] CAR_GROUP3 = {"31"}; //이륜자동차등
@Resource(name = "crdn05Mapper")
private Crdn05Mapper crdn05Mapper;
@Override
public int[] getBasicAmt(Crdn crdn) {
int[] amt = {0, 0};
CrdnQuery query = new CrdnQuery();
query.setTaskSeCd(crdn.getTaskSeCd());
query.setAplcnYmd(crdn.getCrdnYmd());
String ffnlgCarmdlCd = crdn.getFfnlgCarmdlCd();
if(ifEmpty(ffnlgCarmdlCd, () -> "").equals("")) {
return amt;
}
query.setAmtDcsnCdGroupId("FIM056");
if(Arrays.asList(CAR_GROUP1).contains(ffnlgCarmdlCd)) {
query.setAmtDcsnCd("01");
}
if(Arrays.asList(CAR_GROUP2).contains(ffnlgCarmdlCd)) {
query.setAmtDcsnCd("02");
}
if(Arrays.asList(CAR_GROUP3).contains(ffnlgCarmdlCd)) {
query.setAmtDcsnCd("03");
}
int ffnlgAmt = crdn05Mapper.selectBasicAmt(query);
amt[0] = ffnlgAmt;
amt[1] = ffnlgAmt;
return amt;
}
} }

@ -1,14 +1,37 @@
package cokr.xit.fims.task.service.bean; package cokr.xit.fims.task.service.bean;
import javax.annotation.Resource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import cokr.xit.fims.task.service.taskService; import cokr.xit.fims.crdn.Crdn;
import cokr.xit.fims.crdn.CrdnQuery;
import cokr.xit.fims.crdn.dao.Crdn05Mapper;
import cokr.xit.fims.task.service.TaskService;
import cokr.xit.foundation.component.AbstractServiceBean; import cokr.xit.foundation.component.AbstractServiceBean;
/** /**
* @author leebj * @author leebj
*/ */
@Service("dpvService") @Service("dpvService")
public class DpvServiceBean extends AbstractServiceBean implements taskService { public class DpvServiceBean extends AbstractServiceBean implements TaskService {
@Resource(name = "crdn05Mapper")
private Crdn05Mapper crdn05Mapper;
@Override
public int[] getBasicAmt(Crdn crdn) {
int[] amt = {0, 0};
CrdnQuery query = new CrdnQuery();
query.setTaskSeCd(crdn.getTaskSeCd());
query.setAplcnYmd(crdn.getCrdnYmd());
query.setAmtDcsnCdGroupId("FIM006");
query.setAmtDcsnCd(crdn.getVltnCd());
int ffnlgAmt = crdn05Mapper.selectBasicAmt(query);
amt[0] = ffnlgAmt;
amt[1] = (int)(ffnlgAmt * 0.8);
return amt;
}
} }

@ -1,14 +1,34 @@
package cokr.xit.fims.task.service.bean; package cokr.xit.fims.task.service.bean;
import javax.annotation.Resource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import cokr.xit.fims.task.service.taskService; import cokr.xit.fims.crdn.Crdn;
import cokr.xit.fims.crdn.CrdnQuery;
import cokr.xit.fims.crdn.dao.Crdn05Mapper;
import cokr.xit.fims.task.service.TaskService;
import cokr.xit.foundation.component.AbstractServiceBean; import cokr.xit.foundation.component.AbstractServiceBean;
/** /**
* @author leebj * @author leebj
*/ */
@Service("ecaService") @Service("ecaService")
public class EcaServiceBean extends AbstractServiceBean implements taskService { public class EcaServiceBean extends AbstractServiceBean implements TaskService {
@Resource(name = "crdn05Mapper")
private Crdn05Mapper crdn05Mapper;
@Override
public int[] getBasicAmt(Crdn crdn) {
int[] amt = {0, 0};
CrdnQuery query = new CrdnQuery();
query.setTaskSeCd(crdn.getTaskSeCd());
query.setAplcnYmd(crdn.getCrdnYmd());
int ffnlgAmt = crdn05Mapper.selectBasicAmt(query);
amt[0] = ffnlgAmt;
amt[1] = (int)(ffnlgAmt * 0.8);
return amt;
}
} }

@ -1,14 +1,78 @@
package cokr.xit.fims.task.service.bean; package cokr.xit.fims.task.service.bean;
import javax.annotation.Resource;
import org.assertj.core.util.Arrays;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import cokr.xit.fims.task.service.taskService; import cokr.xit.fims.crdn.Crdn;
import cokr.xit.fims.crdn.CrdnQuery;
import cokr.xit.fims.crdn.dao.Crdn05Mapper;
import cokr.xit.fims.task.service.TaskService;
import cokr.xit.foundation.component.AbstractServiceBean; import cokr.xit.foundation.component.AbstractServiceBean;
/** /**
* @author leebj * @author leebj
*/ */
@Service("pvsService") @Service("pvsService")
public class PvsServiceBean extends AbstractServiceBean implements taskService { public class PvsServiceBean extends AbstractServiceBean implements TaskService {
public String[] SAFE_TAG_AREA = {"03","06","07"}; //안전표지구역
public String[] CAR_GROUP1 = {"12","14","15","21"}; //승합자동차등
public String[] CAR_GROUP2 = {"11","13"}; //승용자동차등
@Resource(name = "crdn05Mapper")
private Crdn05Mapper crdn05Mapper;
@Override
public int[] getBasicAmt(Crdn crdn) {
int[] amt = {0, 0};
CrdnQuery query = new CrdnQuery();
query.setTaskSeCd(crdn.getTaskSeCd());
query.setAplcnYmd(crdn.getCrdnYmd());
String ffnlgCarmdlCd = crdn.getFfnlgCarmdlCd();
if(ifEmpty(ffnlgCarmdlCd, () -> "").equals("")) {
return amt;
}
query.setAmtDcsnCdGroupId("FIM055");
String crdnSpareaCd = crdn.getCrdnSpareaCd();
if(Arrays.asList(SAFE_TAG_AREA).contains(crdnSpareaCd)) {
query.setAmtDcsnCd("02");
} else {
String crdnTm = crdn.getCrdnTm();
boolean workTimeYn = Integer.parseInt(crdnTm) >= 80000 && Integer.parseInt(crdnTm) <= 200000;
if(crdnSpareaCd.equals("01") && workTimeYn) {
query.setAmtDcsnCd("03");
} else if((crdnSpareaCd.equals("02") || crdnSpareaCd.equals("05")) && workTimeYn) {
query.setAmtDcsnCd("04");
} else {
query.setAmtDcsnCd("01");
}
}
query.setDtlAmtDcsnCdGroupId("FIM056");
if(Arrays.asList(CAR_GROUP1).contains(ffnlgCarmdlCd)) {
query.setDtlAmtDcsnCd("01");
}
if(Arrays.asList(CAR_GROUP2).contains(ffnlgCarmdlCd)) {
query.setDtlAmtDcsnCd("02");
}
int ffnlgAmt = crdn05Mapper.selectBasicAmt(query);
if(crdn.getOvtimeYn().equals("Y")) {
ffnlgAmt += 10000;
}
amt[0] = ffnlgAmt;
amt[1] = (int)(ffnlgAmt * 0.8);
return amt;
}
} }

@ -1,14 +1,72 @@
package cokr.xit.fims.task.service.bean; package cokr.xit.fims.task.service.bean;
import javax.annotation.Resource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import cokr.xit.fims.task.service.taskService; import cokr.xit.fims.crdn.Crdn;
import cokr.xit.fims.crdn.CrdnQuery;
import cokr.xit.fims.crdn.dao.Crdn05Mapper;
import cokr.xit.fims.task.service.TaskService;
import cokr.xit.foundation.component.AbstractServiceBean; import cokr.xit.foundation.component.AbstractServiceBean;
/** /**
* @author leebj * @author leebj
*/ */
@Service("tpvService") @Service("tpvService")
public class TpvServiceBean extends AbstractServiceBean implements taskService { public class TpvServiceBean extends AbstractServiceBean implements TaskService {
@Resource(name = "crdn05Mapper")
private Crdn05Mapper crdn05Mapper;
@Override
public int[] getBasicAmt(Crdn crdn) {
int[] amt = {0, 0};
CrdnQuery query = new CrdnQuery();
query.setTaskSeCd(crdn.getTaskSeCd());
query.setAplcnYmd(crdn.getCrdnYmd());
String ffnlgCarmdlCd = crdn.getFfnlgCarmdlCd();
if(crdn.getTaskSeCd().equals("PVS") || crdn.getTaskSeCd().equals("BPV") || crdn.getTaskSeCd().equals("TPV")) {
if(ifEmpty(ffnlgCarmdlCd, () -> "").equals("")) {
return amt;
}
}
query.setAmtDcsnCdGroupId("FIM057");
if(ffnlgCarmdlCd.equals("21")) {
query.setAmtDcsnCd("01");
query.setDtlAmtDcsnCdGroupId("FIM059");
String vltnNmtm = crdn.getVltnNmtm();
if(vltnNmtm == null || vltnNmtm.equals("") || vltnNmtm.equals("0") || vltnNmtm.equals("1")) {
query.setDtlAmtDcsnCd("01");
} else if(vltnNmtm.equals("2")) {
query.setDtlAmtDcsnCd("02");
} else {
query.setDtlAmtDcsnCd("03");
}
}
if(ffnlgCarmdlCd.equals("13") || ffnlgCarmdlCd.equals("14")) {
query.setAmtDcsnCd("02");
query.setDtlAmtDcsnCdGroupId("FIM058");
//query.setDtlAmtDcsnCd(업종); // TODO : 차주 업종
}
int ffnlgAmt = crdn05Mapper.selectBasicAmt(query);
amt[0] = ffnlgAmt;
boolean isPenaltyAmt = (crdn.getFfnlgCarmdlCd().equals("13") || crdn.getFfnlgCarmdlCd().equals("14")); //과징금
if(isPenaltyAmt) {
amt[1] = (ffnlgAmt);
} else {
amt[1] = (int)(ffnlgAmt * 0.8);
}
return amt;
}
} }

@ -1,5 +0,0 @@
package cokr.xit.fims.task.service;
public interface taskService {
}
Loading…
Cancel
Save