Browse Source

科室打折

hurugang 2 years ago
parent
commit
b0a944190d

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

@@ -567,6 +567,7 @@ public class MedicalViewApiController {
                 map.put("patName", mzChargeDetail.getName());
                 map.put("payName", "");
                 map.put("deptName", mzChargeDetail.getWarnDept());
+                map.put("doctorCode", mzChargeDetail.getRealDoctorCode());
                 map.put("doctorName", mzChargeDetail.getDoctorCode());
                 BigDecimal totalAmount = mzChargeDetail.getAmount().multiply(BigDecimal.valueOf(100));
                 map.put("totalAmt", totalAmount);

+ 2 - 0
src/main/java/cn/hnthyy/thmz/entity/his/mz/MzChargeDetail.java

@@ -235,6 +235,8 @@ public class MzChargeDetail implements Serializable,Comparable<MzChargeDetail> {
     private Integer mztcbl;
     //药房发药药品批次
     private String manuNo;
+    //原来医生工号 医生编码替换成医生名称了
+    private String realDoctorCode;
     public MzChargeDetail(String patientId, Integer times) {
         this.patientId = patientId;
         this.times = times;

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

@@ -1051,6 +1051,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
                 mzChargeDetail.setWarnDept(zdUnitCodeService.queryDeptNameByIdInCache(mzChargeDetail.getWarnDept()));
                 if (employeeMap != null) {
                     String doctorCode = employeeMap.get(mzChargeDetail.getDoctorCode());
+                    mzChargeDetail.setRealDoctorCode(mzChargeDetail.getDoctorCode());
                     mzChargeDetail.setDoctorCode(doctorCode == null ? "" : doctorCode);
                 }
                 if (mzChargeDetail.getAmount() != null) {
@@ -5149,7 +5150,9 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
                 }
                 //进行营销折扣计算并写入库 优先申请科室的折扣率  医生系统做完移走开始
                 if (needDiscount) {
-                    mzChargeDetail.setOrigPrice(unitPrice);
+                    if(mzChargeDetail.getOrigPrice()!=null && mzChargeDetail.getOrigPrice().compareTo(mzChargeDetail.getUnitPrice())==0){
+                        mzChargeDetail.setOrigPrice(unitPrice);
+                    }
                     Discount discount = null;
                     if (StringUtils.isNotBlank(mzChargeDetail.getWarnDept())) {
                         discount = discountService.getDiscountRate(YesNoEnum.NO.code, mzChargeDetail.getWarnDept(), mzChargeDetail.getChargeItemCode());
@@ -5867,6 +5870,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
         if(zdUnitCode==null || zdUnitCode.getKsZkl()==null || BigDecimal.ONE.compareTo(zdUnitCode.getKsZkl())==0){
             return;
         }
+        mzChargeDetail.setOrigPrice(mzChargeDetail.getUnitPrice());
         mzChargeDetail.setUnitPrice(mzChargeDetail.getUnitPrice().multiply(zdUnitCode.getKsZkl()));
     }