浏览代码

修改病人姓名同步修改收费记录和挂号记录

hurugang 4 年之前
父节点
当前提交
910ca046ca

+ 8 - 2
src/main/java/cn/hnthyy/thmz/controller/MzChargeDetailController.java

@@ -73,14 +73,20 @@ public class MzChargeDetailController {
             List<MzChargeDetail> mzChargeDetails = new ArrayList<>();
             if (PayMarkEnum.NO_CHARGE.code.equals(mzChargeDetail.getPayMark())) {
                 if (StringUtils.isNotBlank(mzChargeDetail.getPatientId())) {
-                    mzChargeDetails.addAll(mzChargeDetailService.unPaidToFullChargeDetail(mzChargeDetail.getPatientId()));
+                    MzPatientMi mzPatientMi = mzPatientMiService.queryByPatientId(mzChargeDetail.getPatientId());
+                    if(mzPatientMi==null){
+                        resultMap.put("code", -1);
+                        resultMap.put("message", "病人不存在!");
+                        return resultMap;
+                    }
+                    mzChargeDetails.addAll(mzChargeDetailService.unPaidToFullChargeDetail(mzChargeDetail.getPatientId(),mzPatientMi.getName()));
                 }
                 if (StringUtils.isNotBlank(mzChargeDetail.getName())) {
                     List<MzPatientMi> mzPatientMis = mzPatientMiService.queryByName(mzChargeDetail.getName());
                     if (mzPatientMis != null && mzPatientMis.size() > 0) {
                         for (MzPatientMi m : mzPatientMis) {
                             if (m != null && StringUtils.isNotBlank(m.getPatientId())) {
-                                mzChargeDetails.addAll(mzChargeDetailService.unPaidToFullChargeDetail(m.getPatientId()));
+                                mzChargeDetails.addAll(mzChargeDetailService.unPaidToFullChargeDetail(m.getPatientId(),m.getName()));
                             }
                         }
                     }

+ 21 - 21
src/main/java/cn/hnthyy/thmz/controller/MzReceiptSerialController.java

@@ -215,64 +215,64 @@ public class MzReceiptSerialController {
         mzReceiptSerialVo.setMzReceiptSerial(mzReceiptSerial);
         List<String> feeList = new ArrayList<>();
         if (mzReceiptSerial.getCharge1() != null && mzReceiptSerial.getCharge1().compareTo(BigDecimal.ZERO) == 1) {
-            feeList.add("挂号:" + mzReceiptSerial.getCharge1().setScale(1, BigDecimal.ROUND_FLOOR));
+            feeList.add("挂号:" + mzReceiptSerial.getCharge1().setScale(2, BigDecimal.ROUND_FLOOR));
         }
         if (mzReceiptSerial.getCharge2() != null && mzReceiptSerial.getCharge2().compareTo(BigDecimal.ZERO) == 1) {
-            feeList.add("床位:" + mzReceiptSerial.getCharge2().setScale(1, BigDecimal.ROUND_FLOOR));
+            feeList.add("床位:" + mzReceiptSerial.getCharge2().setScale(2, BigDecimal.ROUND_FLOOR));
         }
         if (mzReceiptSerial.getCharge3() != null && mzReceiptSerial.getCharge3().compareTo(BigDecimal.ZERO) == 1) {
-            feeList.add("诊察:" + mzReceiptSerial.getCharge3().setScale(1, BigDecimal.ROUND_FLOOR));
+            feeList.add("诊察:" + mzReceiptSerial.getCharge3().setScale(2, BigDecimal.ROUND_FLOOR));
         }
         if (mzReceiptSerial.getCharge4() != null && mzReceiptSerial.getCharge4().compareTo(BigDecimal.ZERO) == 1) {
-            feeList.add("检查:" + mzReceiptSerial.getCharge4().setScale(1, BigDecimal.ROUND_FLOOR));
+            feeList.add("检查:" + mzReceiptSerial.getCharge4().setScale(2, BigDecimal.ROUND_FLOOR));
         }
         if (mzReceiptSerial.getCharge5() != null && mzReceiptSerial.getCharge5().compareTo(BigDecimal.ZERO) == 1) {
-            feeList.add("治疗:" + mzReceiptSerial.getCharge5().setScale(1, BigDecimal.ROUND_FLOOR));
+            feeList.add("治疗:" + mzReceiptSerial.getCharge5().setScale(2, BigDecimal.ROUND_FLOOR));
         }
         if (mzReceiptSerial.getCharge6() != null && mzReceiptSerial.getCharge6().compareTo(BigDecimal.ZERO) == 1) {
-            feeList.add("护理:" + mzReceiptSerial.getCharge6().setScale(1, BigDecimal.ROUND_FLOOR));
+            feeList.add("护理:" + mzReceiptSerial.getCharge6().setScale(2, BigDecimal.ROUND_FLOOR));
         }
         if (mzReceiptSerial.getCharge7() != null && mzReceiptSerial.getCharge7().compareTo(BigDecimal.ZERO) == 1) {
-            feeList.add("手术:" + mzReceiptSerial.getCharge7().setScale(1, BigDecimal.ROUND_FLOOR));
+            feeList.add("手术:" + mzReceiptSerial.getCharge7().setScale(2, BigDecimal.ROUND_FLOOR));
         }
         if (mzReceiptSerial.getCharge8() != null && mzReceiptSerial.getCharge8().compareTo(BigDecimal.ZERO) == 1) {
-            feeList.add("化验:" + mzReceiptSerial.getCharge8().setScale(1, BigDecimal.ROUND_FLOOR));
+            feeList.add("化验:" + mzReceiptSerial.getCharge8().setScale(2, BigDecimal.ROUND_FLOOR));
         }
         if (mzReceiptSerial.getCharge9() != null && mzReceiptSerial.getCharge9().compareTo(BigDecimal.ZERO) == 1) {
-            feeList.add("其他:" + mzReceiptSerial.getCharge9().setScale(1, BigDecimal.ROUND_FLOOR));
+            feeList.add("其他:" + mzReceiptSerial.getCharge9().setScale(2, BigDecimal.ROUND_FLOOR));
         }
         if (mzReceiptSerial.getCharge10() != null && mzReceiptSerial.getCharge10().compareTo(BigDecimal.ZERO) == 1) {
-            feeList.add("西药:" + mzReceiptSerial.getCharge10().setScale(1, BigDecimal.ROUND_FLOOR));
+            feeList.add("西药:" + mzReceiptSerial.getCharge10().setScale(2, BigDecimal.ROUND_FLOOR));
         }
         if (mzReceiptSerial.getCharge11() != null && mzReceiptSerial.getCharge11().compareTo(BigDecimal.ZERO) == 1) {
-            feeList.add("成药:" + mzReceiptSerial.getCharge11().setScale(1, BigDecimal.ROUND_FLOOR));
+            feeList.add("成药:" + mzReceiptSerial.getCharge11().setScale(2, BigDecimal.ROUND_FLOOR));
         }
         if (mzReceiptSerial.getCharge12() != null && mzReceiptSerial.getCharge12().compareTo(BigDecimal.ZERO) == 1) {
-            feeList.add("草药:" + mzReceiptSerial.getCharge12().setScale(1, BigDecimal.ROUND_FLOOR));
+            feeList.add("草药:" + mzReceiptSerial.getCharge12().setScale(2, BigDecimal.ROUND_FLOOR));
         }
         if (mzReceiptSerial.getCharge13() != null && mzReceiptSerial.getCharge13().compareTo(BigDecimal.ZERO) == 1) {
-            feeList.add("特材:" + mzReceiptSerial.getCharge13().setScale(1, BigDecimal.ROUND_FLOOR));
+            feeList.add("特材:" + mzReceiptSerial.getCharge13().setScale(2, BigDecimal.ROUND_FLOOR));
         }
         if (mzReceiptSerial.getCharge14() != null && mzReceiptSerial.getCharge14().compareTo(BigDecimal.ZERO) == 1) {
-            feeList.add("输血:" + mzReceiptSerial.getCharge14().setScale(1, BigDecimal.ROUND_FLOOR));
+            feeList.add("输血:" + mzReceiptSerial.getCharge14().setScale(2, BigDecimal.ROUND_FLOOR));
         }
         if (mzReceiptSerial.getCharge15() != null && mzReceiptSerial.getCharge15().compareTo(BigDecimal.ZERO) == 1) {
-            feeList.add("鉴定:" + mzReceiptSerial.getCharge15().setScale(1, BigDecimal.ROUND_FLOOR));
+            feeList.add("鉴定:" + mzReceiptSerial.getCharge15().setScale(2, BigDecimal.ROUND_FLOOR));
         }
         if (mzReceiptSerial.getCharge16() != null && mzReceiptSerial.getCharge16().compareTo(BigDecimal.ZERO) == 1) {
-            feeList.add("消毒:" + mzReceiptSerial.getCharge16().setScale(1, BigDecimal.ROUND_FLOOR));
+            feeList.add("消毒:" + mzReceiptSerial.getCharge16().setScale(2, BigDecimal.ROUND_FLOOR));
         }
         if (mzReceiptSerial.getCharge17() != null && mzReceiptSerial.getCharge17().compareTo(BigDecimal.ZERO) == 1) {
-            feeList.add("器械:" + mzReceiptSerial.getCharge17().setScale(1, BigDecimal.ROUND_FLOOR));
+            feeList.add("器械:" + mzReceiptSerial.getCharge17().setScale(2, BigDecimal.ROUND_FLOOR));
         }
         if (mzReceiptSerial.getCharge18() != null && mzReceiptSerial.getCharge18().compareTo(BigDecimal.ZERO) == 1) {
-            feeList.add("材料:" + mzReceiptSerial.getCharge18().setScale(1, BigDecimal.ROUND_FLOOR));
+            feeList.add("材料:" + mzReceiptSerial.getCharge18().setScale(2, BigDecimal.ROUND_FLOOR));
         }
         if (mzReceiptSerial.getCharge19() != null && mzReceiptSerial.getCharge19().compareTo(BigDecimal.ZERO) == 1) {
-            feeList.add("麻醉:" + mzReceiptSerial.getCharge19().setScale(1, BigDecimal.ROUND_FLOOR));
+            feeList.add("麻醉:" + mzReceiptSerial.getCharge19().setScale(2, BigDecimal.ROUND_FLOOR));
         }
-        if (mzReceiptSerial.getCharge20() != null && mzReceiptSerial.getCharge20().compareTo(BigDecimal.ZERO) == 1) {
-            feeList.add("四舍五入:" + mzReceiptSerial.getCharge20().setScale(1, BigDecimal.ROUND_FLOOR));
+        if (mzReceiptSerial.getCharge20() != null && mzReceiptSerial.getCharge20().compareTo(BigDecimal.ZERO) != 0) {
+            feeList.add("舍入:" + mzReceiptSerial.getCharge20().setScale(2, BigDecimal.ROUND_FLOOR));
         }
 //        if (totalPay.compareTo(BigDecimal.ZERO) == 1) {
 //            mzReceiptSerial.setTotalCharge(totalPay);

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

@@ -66,7 +66,7 @@ public class YpfydlController {
             }
 //            pastList = Arrays.asList("过号1","过号2","过号3","过号4","过号5","过号6","过号7","过号8");
             //          currentList = Arrays.asList("取药取药","取药2","取药3","取药4","取药5","取药6","取药7","取药8","取药9","取药10","取药11","取药12","取药13","取药14","取药15","取药16","取药17","取药18","取药19","取药20","取药21","取药22","取药23","取药24","取药25","取药26");
-            currentList = Arrays.asList("取药取药", "取药2", "取药3", "取药4");
+//            currentList = Arrays.asList("取药取药", "取药2", "取药3", "取药4");
             resultMap.put("code", 0);
             resultMap.put("message", "查询未发药药品成功");
             resultMap.put("pastList", pastList);

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

@@ -490,7 +490,7 @@ public class MedicalViewApiController {
                 results.put("resultMessage", "患者诊疗卡号查询不到对应的患者信息");
                 return results;
             }
-            List<MzChargeDetail> mzChargeDetailList = mzChargeDetailService.unPaidToFullChargeDetail(mzPatientMi.getPatientId());
+            List<MzChargeDetail> mzChargeDetailList = mzChargeDetailService.unPaidToFullChargeDetail(mzPatientMi.getPatientId(),mzPatientMi.getName());
             if (mzChargeDetailList == null || mzChargeDetailList.size() == 0) {
                 results.put("resultCode", -1);
                 results.put("resultMessage", "未查询到待缴费记录");

+ 7 - 3
src/main/java/cn/hnthyy/thmz/mapper/his/MzChargeDetailMapper.java

@@ -579,14 +579,18 @@ public interface MzChargeDetailMapper {
 
 
     /**
-     * 修改病人姓名  120病人缴费时调用
+     * 修改病人姓名
      *
      * @param name
      * @param patientId
-     * @param times
+     * @param times 120病人缴费时调用时需传
      * @return
      */
-    @Update("update mz_charge_detail set name =#{name} where patient_id = #{patientId} and times = #{times}")
+    @Update({"<script>","update mz_charge_detail set name =#{name} where patient_id = #{patientId} " +
+            "<when test='times!=null'>",
+            "and times = #{times}",
+            "</when>",
+            "</script>"})
     int updateNameByPatientIdAndTimes(@Param("name") String name, @Param("patientId") String patientId, @Param("times") Integer times);
 
     /**

+ 8 - 3
src/main/java/cn/hnthyy/thmz/mapper/his/MzYjReqMapper.java

@@ -122,13 +122,18 @@ public interface MzYjReqMapper {
 
 
     /**
-     * 修改病人姓名  120病人缴费时调用
+     * 修改病人姓名
      * @param name
      * @param patientId
-     * @param times
+     * @param times 120病人缴费时调用时需传
      * @return
      */
-    @Update("update mz_yj_req set p_name =#{name} where patient_id = #{patientId} and times = #{times}")
+    @Update({"<script>",
+            "update mz_yj_req set p_name =#{name} where patient_id = #{patientId}",
+            "<when test='times!=null'>",
+            "and times = #{times}",
+            "</when>",
+            "</script>"})
     int updateNameByPatientIdAndTimes(@Param("name") String name,@Param("patientId") String patientId,@Param("times") Integer times);
 
 

+ 17 - 0
src/main/java/cn/hnthyy/thmz/mapper/his/MzyReqrecMapper.java

@@ -278,4 +278,21 @@ public interface MzyReqrecMapper {
             "rtrim(printer_id) printer_id,rtrim(print_flag) print_flag,rtrim(windows_no) windows_no,serial_no,rtrim(receipt_bill) receipt_bill,dcount_no,brochure_fee,dept_no,visit_dept,"+
             "visit_doctor,visit_date,paymode,psordnum,agtordnum,print_closing_date,print_dcount_no   from dbo.mzy_reqrec where psordnum=#{psordnum} and agtordnum = #{agtordnum}")
     MzyReqrec selectMzyReqrecByAgtordnum(@Param("psordnum") String psordnum,@Param("agtordnum") String agtordnum);
+
+
+
+    /**
+     * 修改病人姓名
+     * @param name
+     * @param patientId
+     * @param times
+     * @return
+     */
+    @Update({"<script>",
+            "update mzy_reqrec set name =#{name} where patient_id = #{patientId}",
+            "<when test='times!=null'>",
+            "and times = #{times}",
+            "</when>",
+            "</script>"})
+    int updateNameByPatientIdAndTimes(@Param("name") String name,@Param("patientId") String patientId,@Param("times") Integer times);
 }

+ 2 - 1
src/main/java/cn/hnthyy/thmz/service/his/MzChargeDetailService.java

@@ -68,9 +68,10 @@ public interface MzChargeDetailService {
      * 将未缴费的处方转成完整的收费明细
      *
      * @param patientId 病人id
+     * @param name 病人姓名
      * @return
      */
-    List<MzChargeDetail> unPaidToFullChargeDetail(String patientId) throws MzException;
+    List<MzChargeDetail> unPaidToFullChargeDetail(String patientId,String name) throws MzException;
 
 
     /**

+ 7 - 2
src/main/java/cn/hnthyy/thmz/service/impl/his/MzChargeDetailServiceImpl.java

@@ -352,10 +352,13 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
      * @return
      */
     @Override
-    public List<MzChargeDetail> unPaidToFullChargeDetail(String patientId) throws MzException {
+    public List<MzChargeDetail> unPaidToFullChargeDetail(String patientId,String name) throws MzException {
         if (StringUtils.isBlank(patientId)) {
             throw new MzException("病人编号不能为空!");
         }
+        if (StringUtils.isBlank(name)) {
+            throw new MzException("病人姓名不能为空!");
+        }
         List<Map<String, Object>> unPaidChargeDetails = mzChargeDetailMapper.selectUnPaidChargeDetail(patientId);
         List<Map<String, Object>> unPaidYjReqs = mzYjReqService.queryUnPaidYjReq(patientId);
         unPaidChargeDetails.addAll(unPaidYjReqs);
@@ -375,7 +378,9 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
                 } catch (ClassCastException e) {
                     mzChargeDetail.setTimes(Integer.valueOf((Short) map.get("times")));
                 }
-                returnMzChargeDetails.add(unPaidToFullChargeDetail(mzChargeDetail));
+                MzChargeDetail mzChargeDetail1=unPaidToFullChargeDetail(mzChargeDetail);
+                mzChargeDetail1.setName(name);
+                returnMzChargeDetails.add(mzChargeDetail1);
             }
         }
         return returnMzChargeDetails;

+ 25 - 2
src/main/java/cn/hnthyy/thmz/service/impl/his/MzPatientMiServiceImpl.java

@@ -1,8 +1,12 @@
 package cn.hnthyy.thmz.service.impl.his;
 
+import cn.hnthyy.thmz.common.Constants;
 import cn.hnthyy.thmz.entity.MzException;
 import cn.hnthyy.thmz.entity.his.MzPatientMi;
+import cn.hnthyy.thmz.mapper.his.MzChargeDetailMapper;
 import cn.hnthyy.thmz.mapper.his.MzPatientMiMapper;
+import cn.hnthyy.thmz.mapper.his.MzYjReqMapper;
+import cn.hnthyy.thmz.mapper.his.MzyReqrecMapper;
 import cn.hnthyy.thmz.service.his.MzPatientMiService;
 import cn.hnthyy.thmz.service.his.MzSerialNoService;
 import cn.hnthyy.thmz.service.thmz.HaiCiAdapterService;
@@ -19,10 +23,20 @@ public class MzPatientMiServiceImpl implements MzPatientMiService {
     @SuppressWarnings("all")
     @Autowired
     private MzPatientMiMapper mzPatientMiMapper;
+    @SuppressWarnings("all")
+    @Autowired
+    private MzChargeDetailMapper mzChargeDetailMapper;
+    @SuppressWarnings("all")
+    @Autowired
+    private MzYjReqMapper mzYjReqMapper;
+    @SuppressWarnings("all")
+    @Autowired
+    private MzyReqrecMapper mzyReqrecMapper;
     @Autowired
     private MzSerialNoService mzSerialNoService;
     @Autowired
     private HaiCiAdapterService haiCiAdapterService;
+
     @Override
     public MzPatientMi queryByIcCardNo(String icCardNo) {
         return mzPatientMiMapper.selectByIcCardNo(icCardNo);
@@ -60,9 +74,18 @@ public class MzPatientMiServiceImpl implements MzPatientMiService {
         }
         MzPatientMi mzPatientMiDb= mzPatientMiMapper.selectByPatientId(mzPatientMi.getPatientId());
         int num= mzPatientMiMapper.updateMzPatientMi(mzPatientMi);
-        if (num>0 && mzPatientMiDb!=null && !mzPatientMiDb.getIcCardNo().equals(mzPatientMi.getIcCardNo())){
-            haiCiAdapterService.cardChangeNotice(mzPatientMiDb.getIcCardNo(),mzPatientMi.getIcCardNo(),new Date());
+        if(num>0){
+            //非120的卡号,修改名称,同步更新收费表的名称和挂号表的名称
+            if(!Constants.JZ_IC_CARD.equals(mzPatientMi.getIcCardNo())){
+                mzChargeDetailMapper.updateNameByPatientIdAndTimes(mzPatientMi.getName(),mzPatientMi.getPatientId(),null);
+                mzYjReqMapper.updateNameByPatientIdAndTimes(mzPatientMi.getName(),mzPatientMi.getPatientId(),null);
+                mzyReqrecMapper.updateNameByPatientIdAndTimes(mzPatientMi.getName(),mzPatientMi.getPatientId(),null);
+            }
+            if (mzPatientMiDb!=null && !mzPatientMiDb.getIcCardNo().equals(mzPatientMi.getIcCardNo())){
+                haiCiAdapterService.cardChangeNotice(mzPatientMiDb.getIcCardNo(),mzPatientMi.getIcCardNo(),new Date());
+            }
         }
+
         return num;
     }