Browse Source

修复一个空指针异常

lighter 1 year ago
parent
commit
62353a0cea

+ 8 - 3
src/main/java/cn/hnthyy/thmz/service/impl/his/mz/MzChargeDetailServiceImpl.java

@@ -5830,7 +5830,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
                 }
             }
         }
-        if (mzChargeDetailList != null && mzChargeDetailList.size() > 0) {
+        if (mzChargeDetailList != null && !mzChargeDetailList.isEmpty()) {
             if(needDiscount){
                String zyDiscountGroup = dictDataService.queryDictVlaue("2.0","zy_discount_group","81");
                 List<String> zyDiscountGroups = CollUtil.newArrayList(zyDiscountGroup.split(","));
@@ -5858,8 +5858,9 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
                         mzChargeDetail.setOrigPrice(unitPrice);
                     }
                     if(CollUtil.isNotEmpty(zdDiscountDetailMap)){
-                            ZdDiscountDetail zdDiscountDetail = null;
+                            ZdDiscountDetail zdDiscountDetail;
                             if("1".equals(Convert.toStr(mzChargeDetail.getReqYj(),"0"))){
+
                                  zdDiscountDetail = zdDiscountDetailMap.get(mzChargeDetail.getChargeItemCode()+","+ReqNoGroup.get(mzChargeDetail.getReqNo()).get(0).getOrderCode());
                             }else {
                                 zdDiscountDetail = zdDiscountDetailMap.get(mzChargeDetail.getChargeItemCode());
@@ -5884,7 +5885,11 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
                             }
                             if(CollUtil.isNotEmpty(discountMap)){
                                 if("1".equals(Convert.toStr(mzChargeDetail.getReqYj(),"0"))){
-                                    String tempStr = mzChargeDetail.getChargeItemCode() + "," + ReqNoGroup.get(mzChargeDetail.getReqNo()).get(0).getOrderCode();
+                                    String tempStr = mzChargeDetail.getChargeItemCode();
+                                    List<MzYjReq> reqs = ReqNoGroup.get(mzChargeDetail.getReqNo());
+                                    if (null != reqs && !reqs.isEmpty()) {
+                                        tempStr = tempStr + "," + reqs.get(0).getOrderCode();
+                                    }
                                     if(discountMap.get(tempStr)!=null){
                                         unitPrice = discountMap.get(tempStr).multiply(mzChargeDetail.getUnitPrice()).setScale(2, BigDecimal.ROUND_HALF_UP);
                                         mzChargeDetail.setUnitPrice(unitPrice);