|
|
|
|
@ -101,6 +101,14 @@ public class ChongnoTaskProcessor extends TaskProcessor {
|
|
|
|
|
|
|
|
|
|
private int capacity = -1;
|
|
|
|
|
|
|
|
|
|
private int getCapacity() {
|
|
|
|
|
if (capacity < 0) {
|
|
|
|
|
CommonCode code = codeMapper.getCode("FIM022", "114");
|
|
|
|
|
capacity = toInt(notEmpty(code, "capacity").getEtc1());
|
|
|
|
|
}
|
|
|
|
|
return capacity;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Map<Crdn, LevyExcl> getExcluded(List<Crdn> crdns) {
|
|
|
|
|
Map<Crdn, LevyExcl> excluded = super.getExcluded(crdns);
|
|
|
|
|
@ -108,10 +116,7 @@ public class ChongnoTaskProcessor extends TaskProcessor {
|
|
|
|
|
if (!TASK_SE_CD.equals(first.getTaskSeCd()))
|
|
|
|
|
return excluded;
|
|
|
|
|
|
|
|
|
|
if (capacity < 0) {
|
|
|
|
|
CommonCode code = codeMapper.getCode("FIM022", "114");
|
|
|
|
|
capacity = toInt(notEmpty(code, "capacity").getEtc1());
|
|
|
|
|
}
|
|
|
|
|
int capacity = getCapacity();
|
|
|
|
|
if (capacity == 0)
|
|
|
|
|
return excluded;
|
|
|
|
|
|
|
|
|
|
@ -119,6 +124,11 @@ public class ChongnoTaskProcessor extends TaskProcessor {
|
|
|
|
|
for (Crdn crdn: crdns) {
|
|
|
|
|
if (excluded.containsKey(crdn)) continue;
|
|
|
|
|
|
|
|
|
|
LevyExcl levyExcl = getLevyExcl(capacity, vhrno, crdn);
|
|
|
|
|
if (levyExcl != null)
|
|
|
|
|
excluded.put(crdn, levyExcl); // 정원초과 -> 계도(시범운영)
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
int vhclCpct = crdn.getVhclCpct();
|
|
|
|
|
if (vhclCpct == 0) {
|
|
|
|
|
// 정원미확인 -> 초기상태
|
|
|
|
|
@ -131,23 +141,46 @@ public class ChongnoTaskProcessor extends TaskProcessor {
|
|
|
|
|
} else
|
|
|
|
|
excluded.put(crdn, newLevyExcl(crdn, "1", "103")); // 부과제외(일반차량)
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return excluded;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**차량이 승합차거나 일반 운수사업용인지 반환한다.
|
|
|
|
|
/**차량이 승합차이고 일반 운수사업용인지 반환한다.
|
|
|
|
|
* @param vhrno Vhrno
|
|
|
|
|
* @param crdn 단속정보
|
|
|
|
|
* @return 차량이 승합차거나 일반 운수사업용인지 여부
|
|
|
|
|
*/
|
|
|
|
|
* @return 차량이 승합차이고 일반 운수사업용인지 여부
|
|
|
|
|
private boolean isTarget(Vhrno vhrno, Crdn crdn) {
|
|
|
|
|
return true;
|
|
|
|
|
/*
|
|
|
|
|
vhrno.setFullNumber(crdn.getVhrno());
|
|
|
|
|
return Vhrno.VAN.equals(vhrno.getVehicleType())
|
|
|
|
|
|| vhrno.isCommercial();
|
|
|
|
|
*/
|
|
|
|
|
&& vhrno.isCommercial();
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
private LevyExcl getLevyExcl(int capacity, Vhrno vhrno, Crdn crdn) {
|
|
|
|
|
int vhclCpct = crdn.getVhclCpct();
|
|
|
|
|
if (vhclCpct == 0) // 정원미확인 -> 초기상태
|
|
|
|
|
return null; //newLevyExcl(crdn, "1", "115");
|
|
|
|
|
|
|
|
|
|
if (vhrno == null)
|
|
|
|
|
vhrno = new Vhrno();
|
|
|
|
|
vhrno.setFullNumber(crdn.getVhrno());
|
|
|
|
|
|
|
|
|
|
// 일반 운수사업용 승합차면 단속대상
|
|
|
|
|
boolean target =
|
|
|
|
|
Vhrno.VAN.equals(vhrno.getVehicleType())
|
|
|
|
|
&& vhrno.isCommercial();
|
|
|
|
|
|
|
|
|
|
if (!target)
|
|
|
|
|
return newLevyExcl(crdn, "1", "103"); // 부과제외(일반차량)
|
|
|
|
|
|
|
|
|
|
if (vhclCpct < capacity) // 정원미만
|
|
|
|
|
return newLevyExcl(crdn, "1", "114");
|
|
|
|
|
|
|
|
|
|
// 정원초과, 승합차, 운수사업 일반 -> 단속대상: 계도(시범운영)
|
|
|
|
|
// 계도기간 종료 후 단속대상은 null return
|
|
|
|
|
return newLevyExcl(crdn, "2", "206");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@ -158,24 +191,25 @@ public class ChongnoTaskProcessor extends TaskProcessor {
|
|
|
|
|
if (excl != null)
|
|
|
|
|
return excl;
|
|
|
|
|
|
|
|
|
|
if (capacity < 0) {
|
|
|
|
|
CommonCode code = codeMapper.getCode("FIM022", "114");
|
|
|
|
|
capacity = toInt(notEmpty(code, "capacity").getEtc1());
|
|
|
|
|
}
|
|
|
|
|
if (capacity == 0)
|
|
|
|
|
return null;
|
|
|
|
|
|
|
|
|
|
int capacity = getCapacity();
|
|
|
|
|
return capacity != 0 ?
|
|
|
|
|
getLevyExcl(capacity, null, crdn) :
|
|
|
|
|
null;
|
|
|
|
|
/*
|
|
|
|
|
int vhclCpct = crdn.getVhclCpct();
|
|
|
|
|
if (vhclCpct == 0) // 정원미확인 -> 초기상태
|
|
|
|
|
return null; //newLevyExcl(crdn, "1", "115");
|
|
|
|
|
|
|
|
|
|
boolean target = isTarget(new Vhrno(), crdn);
|
|
|
|
|
|
|
|
|
|
if (vhclCpct < capacity) // 정원미만
|
|
|
|
|
return newLevyExcl(crdn, "1", "114");
|
|
|
|
|
|
|
|
|
|
boolean enforce = vhclCpct >= capacity && isTarget(new Vhrno(), crdn);
|
|
|
|
|
boolean enforce = vhclCpct >= capacity && target;
|
|
|
|
|
if (enforce) // 정원초과, 승합차, 운수사업 일반 -> 단속대상: 계도(시범운영)
|
|
|
|
|
return newLevyExcl(crdn, "2", "206");
|
|
|
|
|
else
|
|
|
|
|
return newLevyExcl(crdn, "1", "103"); // 부과제외(일반차량)
|
|
|
|
|
*/
|
|
|
|
|
}
|
|
|
|
|
}
|