|
|
|
@ -2,9 +2,11 @@ package cokr.xit.fims.crdn.service.bean;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
|
|
|
|
|
import org.assertj.core.util.Arrays;
|
|
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
|
|
|
|
import cokr.xit.fims.crdn.Crdn;
|
|
|
|
|
import cokr.xit.fims.crdn.CrdnQuery;
|
|
|
|
|
import cokr.xit.fims.crdn.dao.Crdn05Mapper;
|
|
|
|
|
import cokr.xit.foundation.AbstractComponent;
|
|
|
|
|
|
|
|
|
@ -13,6 +15,11 @@ 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 = "crdn05Mapper")
|
|
|
|
|
private Crdn05Mapper crdn05Mapper;
|
|
|
|
@ -27,4 +34,112 @@ public class Crdn05Bean extends AbstractComponent {
|
|
|
|
|
public boolean create(Crdn crdn) {
|
|
|
|
|
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");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
query.setDtlAmtDcsnCdGroupId("FIM056");
|
|
|
|
|
if(Arrays.asList(CAR_GROUP1).contains(ffnlgCarmdlCd)) {
|
|
|
|
|
query.setDtlAmtDcsnCd("01");
|
|
|
|
|
}
|
|
|
|
|
if(Arrays.asList(CAR_GROUP2).contains(ffnlgCarmdlCd)) {
|
|
|
|
|
query.setDtlAmtDcsnCd("02");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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");
|
|
|
|
|
}
|
|
|
|
|
if(Arrays.asList(CAR_GROUP3).contains(ffnlgCarmdlCd)) {
|
|
|
|
|
query.setAmtDcsnCd("03");
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "DPV":
|
|
|
|
|
|
|
|
|
|
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(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 : 차주 업종
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
amt = crdn05Mapper.selectBasicAmt(query);
|
|
|
|
|
|
|
|
|
|
if(crdn.getTaskSeCd().equals("PVS")) {
|
|
|
|
|
if(crdn.getOvtimeYn().equals("Y")) {
|
|
|
|
|
amt += 10000;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return amt;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|