Kaynağa Gözat

优化抽血费折扣

hurugang 2 yıl önce
ebeveyn
işleme
2f25ff16d1

+ 1 - 1
src/main/java/cn/hnthyy/thmz/controller/api/MedicalViewApiController.java

@@ -559,7 +559,7 @@ public class MedicalViewApiController {
             List<Map<String, Object>> returnList = new ArrayList<>();
             for (MzChargeDetail mzChargeDetail : mzChargeDetailList) {
                 Clinic clinic = clinicService.queryByPatientIdAndTimesAndReceiptNo(mzChargeDetail.getPatientId(), mzChargeDetail.getTimes(), mzChargeDetail.getReceiptNo());
-                if (clinic != null && StringUtils.isNotBlank(clinic.getOpId()) && !whiteList.getOpId().equals(clinic.getOpId())) {
+                if (clinic != null && StringUtils.isNotBlank(clinic.getOpId()) && Constants.HLWYY_CODE.equals(clinic.getOpId()) && !whiteList.getOpId().equals(clinic.getOpId())) {
                     continue;
                 }
                 Map<String, Object> map = new HashMap<>();

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

@@ -2047,6 +2047,9 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
                 BigDecimal xlCode = new BigDecimal(zdChargeItem.getXlCode());
                 if (xlCode != null) {
                     xlCode = xlCode.add(BigDecimal.ONE);
+                    if(newMzChargeDetail.getOrigPrice()!=null && newMzChargeDetail.getOrigPrice().compareTo(newMzChargeDetail.getUnitPrice())==0){
+                        newMzChargeDetail.setOrigPrice(newMzChargeDetail.getUnitPrice());
+                    }
                     newMzChargeDetail.setUnitPrice(newMzChargeDetail.getUnitPrice().multiply(xlCode));
                 }
             }
@@ -5352,6 +5355,8 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
             newMzChargeDetail.setGlPercentFt(BigDecimal.ONE);
             newMzChargeDetail.setReqYj(YesNoEnum.YES.code.toString());
             newMzChargeDetail.setGroupId(YesNoEnum.NO.code);
+            //是否需要加价
+            setUnitPrice(mzPatientMi, zdChargeItem, newMzChargeDetail);
             mzChargeDetails.add(newMzChargeDetail);
         }
         return itemNo;
@@ -5870,7 +5875,9 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
         if(zdUnitCode==null || zdUnitCode.getKsZkl()==null || BigDecimal.ONE.compareTo(zdUnitCode.getKsZkl())==0){
             return;
         }
-        mzChargeDetail.setOrigPrice(mzChargeDetail.getUnitPrice());
+        if(mzChargeDetail.getOrigPrice()!=null && mzChargeDetail.getOrigPrice().compareTo(mzChargeDetail.getUnitPrice())==0){
+            mzChargeDetail.setOrigPrice(mzChargeDetail.getUnitPrice());
+        }
         mzChargeDetail.setUnitPrice(mzChargeDetail.getUnitPrice().multiply(zdUnitCode.getKsZkl()));
     }