단속정보(장비/장소코드 추가) 수정, 차적정보 설정 수정

master
mjkhan21 1 month ago
parent 7b22db05a9
commit 1d213250f0

@ -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"); // 부과제외(일반차량)
*/
}
}

@ -180,23 +180,26 @@ let cctv = {
}
wait(false);
let content = "<ul>" + [
"업로드 파일: " + result.received,
"처리 대상: " + result.divided,
"정상: " + result.normal,
"메타파일 누락: " + result.malformed,
"",
"단속 등록: " + result.success,
"중복 제외: " + result.duplicates
]
.map(str => "<li>" + str + "</li>")
.join("") + "</ul>";
let items = [
"업로드 파일: " + numberFormat.format(result.received),
"처리 대상: " + numberFormat.format(result.divided),
"정상: " + numberFormat.format(result.normal),
"단속 등록: " + numberFormat.format(result.success)
];
if (result.malformed || result.duplicates || result.invalidPlace)
items.push("");
if (result.malformed)
items.push("메타파일 누락: " + numberFormat.format(result.malformed));
if (result.duplicates)
items.push("중복 제외: " + numberFormat.format(result.duplicates));
if (result.invalidPlace)
items.push("단속장소 오류: " + numberFormat.format(result.invalidPlace));
dialog.alert({
content: content,
content: "<ul class='text-start'>" + items.map(str => "<li>" + str + "</li>").join("") + "</ul>",
onOK: () => {},
onClose: () => $C.getFiles(cctv.dir)
});
}
};

@ -197,22 +197,25 @@ let localFiles = {
}
wait(false);
let content = "<ul>" + [
"업로드 파일: " + result.received,
"처리 대상: " + result.divided,
"정상: " + result.normal,
"메타파일 누락: " + result.malformed,
"",
"단속 등록: " + result.success,
"중복 제외: " + result.duplicates
]
.map(str => "<li>" + str + "</li>")
.join("") + "</ul>";
let items = [
"업로드 파일: " + numberFormat.format(result.received),
"처리 대상: " + numberFormat.format(result.divided),
"정상: " + numberFormat.format(result.normal),
"단속 등록: " + numberFormat.format(result.success)
];
if (result.malformed || result.duplicates || result.invalidPlace)
items.push("");
if (result.malformed)
items.push("메타파일 누락: " + numberFormat.format(result.malformed));
if (result.duplicates)
items.push("중복 제외: " + numberFormat.format(result.duplicates));
if (result.invalidPlace)
items.push("단속장소 오류: " + numberFormat.format(result.invalidPlace));
dialog.alert({
content: content,
content: "<ul class='text-start'>" + items.map(str => "<li>" + str + "</li>").join("") + "</ul>",
onOK: () => {uploadSet.clear();},
});
}
};

Loading…
Cancel
Save