기본금액 조회 메소드 수정

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

@ -4,14 +4,17 @@ import java.util.List;
import javax.annotation.Resource;
import org.assertj.core.util.Arrays;
import org.springframework.stereotype.Component;
import cokr.xit.base.file.FileInfo;
import cokr.xit.base.file.service.bean.FileBean;
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.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;
/** Bean
@ -19,11 +22,7 @@ import cokr.xit.foundation.AbstractComponent;
*/
@Component("crdn05Bean")
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")
private FileBean fileBean;
@ -31,6 +30,16 @@ public class Crdn05Bean extends AbstractComponent {
@Resource(name = "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) {
crdn.setAtchFileCnt(fileInfoList.size());
@ -52,134 +61,44 @@ public class Crdn05Bean extends AbstractComponent {
if(ifEmpty(crdn.getAtchFileCnt(), () -> 0) == 0) {
crdn.setAtchFileCnt(0);
}
int basicAmt = this.getBasicAmt(crdn);
crdn.setFfnlgAmt(basicAmt);
crdn.setLevyAmt(basicAmt);
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;
}
}
int[] basicAmt;
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 "PVS": {
basicAmt = pvsService.getBasicAmt(crdn);
break;
}
query.setDtlAmtDcsnCdGroupId("FIM056");
if(Arrays.asList(CAR_GROUP1).contains(ffnlgCarmdlCd)) {
query.setDtlAmtDcsnCd("01");
case "BPV": {
basicAmt = bpvService.getBasicAmt(crdn);
break;
}
if(Arrays.asList(CAR_GROUP2).contains(ffnlgCarmdlCd)) {
query.setDtlAmtDcsnCd("02");
case "DPV": {
basicAmt = dpvService.getBasicAmt(crdn);
break;
}
case "ECA": {
basicAmt = ecaService.getBasicAmt(crdn);
break;
case "BPV":
query.setAmtDcsnCdGroupId("FIM056");
if(Arrays.asList(CAR_GROUP1).contains(ffnlgCarmdlCd)) {
query.setAmtDcsnCd("01");
}
if(Arrays.asList(CAR_GROUP2).contains(ffnlgCarmdlCd)) {
query.setAmtDcsnCd("02");
case "TPV": {
basicAmt = tpvService.getBasicAmt(crdn);
break;
}
if(Arrays.asList(CAR_GROUP3).contains(ffnlgCarmdlCd)) {
query.setAmtDcsnCd("03");
default:
throw new IllegalArgumentException("Unexpected value: " + crdn.getTaskSeCd());
}
break;
case "DPV":
query.setAmtDcsnCdGroupId("FIM006");
query.setAmtDcsnCd(crdn.getVltnCd());
break;
case "ECA":
break;
case "TPV":
crdn.setFfnlgAmt(basicAmt[0]);
crdn.setLevyAmt(basicAmt[0]);
crdn.setAdvntceLevyAmt(basicAmt[1]);
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");
if(ifEmpty(crdn.getDoGuidance(), () -> "").equals("on")) {
crdn.setCrdnSttsCd("83");
} else {
query.setDtlAmtDcsnCd("03");
}
}
if(ffnlgCarmdlCd.equals("13") || ffnlgCarmdlCd.equals("14")) {
query.setAmtDcsnCd("02");
query.setDtlAmtDcsnCdGroupId("FIM058");
//query.setDtlAmtDcsnCd(업종); // TODO : 차주 업종
}
break;
crdn.setCrdnSttsCd("01");
}
amt = crdn05Mapper.selectBasicAmt(query);
if(crdn.getTaskSeCd().equals("PVS")) {
if(crdn.getOvtimeYn().equals("Y")) {
amt += 10000;
}
return crdn05Mapper.insert(crdn);
}
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;
import javax.annotation.Resource;
import org.assertj.core.util.Arrays;
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;
/**
* @author leebj
*/
@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;
import javax.annotation.Resource;
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;
/**
* @author leebj
*/
@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;
import javax.annotation.Resource;
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;
/**
* @author leebj
*/
@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;
import javax.annotation.Resource;
import org.assertj.core.util.Arrays;
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;
/**
* @author leebj
*/
@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;
import javax.annotation.Resource;
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;
/**
* @author leebj
*/
@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