فهرست منبع

特门收费优化

hurugang 5 سال پیش
والد
کامیت
7ce48fa791

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

@@ -1610,4 +1610,49 @@ public class MedicalViewApiController {
             return results;
         }
     }
+
+
+    /**
+     * 门诊待缴费记录明细查询(原始数据,给特门查询使用)
+     *
+     * @param mzChargeDetail
+     * @return
+     */
+    @RequestMapping(value = "/unPaidToFullChargeDetail", method = {RequestMethod.POST})
+    public Map<String, Object> unPaidToFullChargeDetail(@RequestBody MzChargeDetail mzChargeDetail) {
+        Map<String, Object> results = new HashMap<>();
+        if (mzChargeDetail == null) {
+            results.put("resultCode", -1);
+            results.put("resultMessage", "门诊待缴费记录明细查询参数为空");
+            return results;
+        }
+        if (StringUtils.isBlank(mzChargeDetail.getPatientId())) {
+            results.put("resultCode", -1);
+            results.put("resultMessage", "患者ID不能为空");
+            return results;
+        }
+        if (mzChargeDetail.getTimes()==null) {
+            results.put("resultCode", -1);
+            results.put("resultMessage", "病人就诊次数不能为空");
+            return results;
+        }
+        try {
+            mzChargeDetail.setBillItemCode("100");
+            List<MzChargeDetail> mzChargeDetailList = mzChargeDetailService.getTempMzChargeDetailListForUnPaid(mzChargeDetail);
+            if (mzChargeDetailList == null || mzChargeDetailList.size() == 0) {
+                results.put("resultCode", -1);
+                results.put("resultMessage", "未查询到待缴费明细记录");
+                return results;
+            }
+            results.put("resultCode", 0);
+            results.put("resultMessage", "待缴费记录明细查询成功");
+            results.put("data", mzChargeDetailList);
+            return results;
+        } catch (Exception e) {
+            results.put("resultCode", -1);
+            results.put("resultMessage", "门诊待缴费记录明细查询失败,请联系管理员");
+            log.error("系统异常,错误信息{}", e.getMessage());
+            return results;
+        }
+    }
 }

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

@@ -310,7 +310,10 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
         formatPriceRoundDetail(mzChargeDetail, mzChargeDetails, mzPatientMi, mzChargeDetailList, maxOrderNo, itemNo, receiptNo);
         //yes 预览需要将原数据库中已存在的明细与临时生成的一起返回
         if (YesNoEnum.YES.equals(yesNo)) {
-            mzChargeDetails.addAll(mzChargeDetailList);
+            for (MzChargeDetail mcd:mzChargeDetailList){
+                mcd.setReceiptNo(receiptNo);
+                mzChargeDetails.add(mcd);
+            }
         } else {
             //判断新生产的服务项是否已经入库了,如果存在相同的组合键,则重新生成iemNo
             Set<String> tempSet = new HashSet<>();
@@ -2103,7 +2106,11 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
             newMzChargeDetail.setPatientId(mzChargeDetail.getPatientId());
             newMzChargeDetail.setTimes(mzChargeDetail.getTimes());
             newMzChargeDetail.setReceiptNo(receiptNo);
-            newMzChargeDetail.setOrderNo(maxOrderNo);
+            if(mzYjReq.getOrderNo()!=null && mzYjReq.getOrderNo()>0){
+                newMzChargeDetail.setOrderNo(mzYjReq.getOrderNo());
+            }else {
+                newMzChargeDetail.setOrderNo(maxOrderNo);
+            }
             newMzChargeDetail.setItemNo(itemNo++);
             newMzChargeDetail.setChargeItemCode(Constants.JM_CAI_XUE_CODE);
             if (zdChargeItem.getChargeAmount() == null || zdChargeItem.getPercentag1() == null) {
@@ -2179,7 +2186,11 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
             newMzChargeDetail.setPatientId(mzChargeDetail.getPatientId());
             newMzChargeDetail.setTimes(mzChargeDetail.getTimes());
             newMzChargeDetail.setReceiptNo(receiptNo);
-            newMzChargeDetail.setOrderNo(maxOrderNo);
+            if(mzYjReq.getOrderNo()!=null && mzYjReq.getOrderNo()>0){
+                newMzChargeDetail.setOrderNo(mzYjReq.getOrderNo());
+            }else {
+                newMzChargeDetail.setOrderNo(maxOrderNo);
+            }
             newMzChargeDetail.setItemNo(itemNo++);
             newMzChargeDetail.setChargeItemCode(jyZdTubeCharge.getChargeCode());
             if (zdChargeItem.getChargeAmount() == null || zdChargeItem.getPercentag1() == null) {
@@ -2327,7 +2338,11 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
         newMzChargeDetail.setPatientId(mzChargeDetail.getPatientId());
         newMzChargeDetail.setTimes(mzChargeDetail.getTimes());
         newMzChargeDetail.setReceiptNo(receiptNo);
-        newMzChargeDetail.setOrderNo(maxOrderNo);
+        if(mzYjReq.getOrderNo()!=null && mzYjReq.getOrderNo()>0){
+            newMzChargeDetail.setOrderNo(mzYjReq.getOrderNo());
+        }else {
+            newMzChargeDetail.setOrderNo(maxOrderNo);
+        }
         newMzChargeDetail.setItemNo(itemNo++);
         newMzChargeDetail.setChargeItemCode(tcNo);
         newMzChargeDetail.setBillItemCode(Constants.TC);
@@ -2405,7 +2420,11 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
         newMzChargeDetail.setPatientId(mzChargeDetail.getPatientId());
         newMzChargeDetail.setTimes(mzChargeDetail.getTimes());
         newMzChargeDetail.setReceiptNo(receiptNo);
-        newMzChargeDetail.setOrderNo(maxOrderNo);
+        if(mzYjReq.getOrderNo()!=null && mzYjReq.getOrderNo()>0){
+            newMzChargeDetail.setOrderNo(mzYjReq.getOrderNo());
+        }else {
+            newMzChargeDetail.setOrderNo(maxOrderNo);
+        }
         newMzChargeDetail.setItemNo(itemNo++);
         newMzChargeDetail.setChargeItemCode(jcJyItemCharge.getChargeCode());
 

+ 1 - 1
src/main/resources/static/js/toll_administration.js

@@ -2242,7 +2242,7 @@ function cancelFee() {
         dataType: "json",
         data: JSON.stringify({"patientId": patientId, "times": times, "receiptNo": receiptNo}),
         headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
-       // async: false,
+        async: false,
         success: function (res) {
             if (res == '401' || res == 401) {
                 window.location.href = '/thmz/login/view'