|
|
@@ -250,7 +250,7 @@ public class AfterWaringLogJob implements Job {
|
|
|
while (hospIterator.hasNext()) {
|
|
|
HospitalizatioSettleDetail hospitalizatioSettleDetail = hospIterator.next();
|
|
|
if (hospitalizatioSettleDetail.getNum() < 0) {
|
|
|
- projectCodeHospMap.put(hospitalizatioSettleDetail.getItemId() + "_" + Math.abs(hospitalizatioSettleDetail.getNum()), hospitalizatioSettleDetail);
|
|
|
+ projectCodeHospMap.put(hospitalizatioSettleDetail.getItemId(), hospitalizatioSettleDetail);
|
|
|
hospIterator.remove();
|
|
|
haveSubFlag = true;
|
|
|
}
|
|
|
@@ -259,9 +259,14 @@ public class AfterWaringLogJob implements Job {
|
|
|
Iterator<HospitalizatioSettleDetail> newHospIterator = detailList.iterator();
|
|
|
while (newHospIterator.hasNext()) {
|
|
|
HospitalizatioSettleDetail hospitalizatioSettleDetail = newHospIterator.next();
|
|
|
- String itemIdAndNumKey = hospitalizatioSettleDetail.getItemId() + "_" + hospitalizatioSettleDetail.getNum();
|
|
|
+ String itemIdAndNumKey = hospitalizatioSettleDetail.getItemId();
|
|
|
if (projectCodeHospMap.containsKey(itemIdAndNumKey)) {
|
|
|
- newHospIterator.remove();
|
|
|
+ HospitalizatioSettleDetail subHospitalizatioSettleDetail = projectCodeHospMap.get(itemIdAndNumKey);
|
|
|
+ hospitalizatioSettleDetail.setNum(hospitalizatioSettleDetail.getNum() + subHospitalizatioSettleDetail.getNum());
|
|
|
+ hospitalizatioSettleDetail.setCost(hospitalizatioSettleDetail.getCost() + subHospitalizatioSettleDetail.getCost());
|
|
|
+ if(hospitalizatioSettleDetail.getNum() == 0){
|
|
|
+ newHospIterator.remove();
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|