Browse Source

优化门诊列表查询与导出功能

hurugang 2 years ago
parent
commit
bf0ee3d9a0

+ 4 - 2
src/main/java/cn/hnthyy/thmz/Utils/ExcelUtil.java

@@ -700,7 +700,7 @@ public class ExcelUtil {
         data.put(FILE_NAME_KEY, "门诊挂号统计.xls");
         List<Map<String, Object>> heads = new ArrayList<>();
         Map<String, Object> map0 = new HashMap<>();
-        String[] head0 = {"病人姓名", "诊疗卡号", "病人ID", "挂号科室", "挂号医生", "挂号时间", "挂号费", "诊查费", "其他收费", "就诊状态","病人地址"};
+        String[] head0 = {"病人姓名", "诊疗卡号", "病人ID", "号源日期","号段","挂号科室", "挂号医生", "挂号时间", "挂号费", "诊查费", "其他收费", "就诊状态","病人地址"};
         String[] headNum0 = {"0,0,0,0"};
         map0.put(HEAD_ARR_KEY, head0);
         map0.put(HEAD_NUM_KEY, headNum0);
@@ -721,9 +721,11 @@ public class ExcelUtil {
                 String[] temp = {mzyReqrec.getName(),
                         mzyReqrecVo.getMzPatientMi().getIcCardNo(),
                         mzyReqrec.getPatientId(),
+                        DateFormatUtils.format(mzyReqrec.getRequestDay(), "yyyy-MM-dd"),
+                        mzyReqrec.getAmpm(),
                         mzyReqrec.getUnitCode(),
                         mzyReqrec.getDoctorCode(),
-                        DateFormatUtils.format(mzyReqrec.getRequestDay(), "yyyy-MM-dd HH:mm:ss"),
+                        DateFormatUtils.format(mzyReqrec.getOpDay(), "yyyy-MM-dd HH:mm:ss"),
                         mzyReqrec.getReqFee() == null ? "0" : mzyReqrec.getReqFee().toString(),
                         mzyReqrec.getClinicFee() == null ? "0" : mzyReqrec.getClinicFee().toString(),
                         mzyReqrec.getOthFee() == null ? "0" : mzyReqrec.getOthFee().toString(), status,

+ 54 - 29
src/main/java/cn/hnthyy/thmz/controller/mz/MzyReqrecController.java

@@ -51,6 +51,8 @@ public class MzyReqrecController {
     private MzZdWorkTimeService mzZdWorkTimeService;
     @Autowired
     private MzyZdChargeTypeService mzyZdChargeTypeService;
+    @Autowired
+    private RegionService regionService;
 
     /**
      * 保存挂号信息
@@ -126,8 +128,8 @@ public class MzyReqrecController {
             DecodedJWT decodedJWT = TokenUtil.parseJWT(token);
             User tokenUser = (User) JsonUtil.jsontoObject(decodedJWT.getSubject(), User.class);
             mzyReqrec.setOpId(tokenUser.getUserIdCode());
-            String ipAddress=HttpUtil.getIPAddress(httpServletRequest);
-            int num = mzyReqrecService.saveMzyReqrec(mzyReqrecPageDto,ipAddress);
+            String ipAddress = HttpUtil.getIPAddress(httpServletRequest);
+            int num = mzyReqrecService.saveMzyReqrec(mzyReqrecPageDto, ipAddress);
             if (num == 0) {
                 resultMap.put("code", -1);
                 resultMap.put("message", "挂号失败,请稍后重试!");
@@ -445,6 +447,8 @@ public class MzyReqrecController {
         if (mzyZdChargeTypes != null) {
             mzyZdChargeTypeMap = mzyZdChargeTypes.stream().collect(Collectors.toMap(MzyZdChargeType::getCode, MzyZdChargeType::getName));
         }
+        Map<String, String> regionMap = regionService.queryAll().stream().collect(Collectors.toMap(CodeNameEntity::getCode, CodeNameEntity::getName));
+        StringBuffer sbf = new StringBuffer();
         for (MzyReqrec mzyReqrec : mzyReqrecs) {
             if (mzyReqrec != null) {
                 mzyReqrec.setUnitCode(zdUnitCodeService.queryDeptNameByIdInCache(mzyReqrec.getUnitCode()));
@@ -473,7 +477,27 @@ public class MzyReqrecController {
                 MzyReqrecVo mzyReqrecVo = new MzyReqrecVo();
                 mzyReqrecVo.setMzyReqrec(mzyReqrec);
                 if (mzPatientMiMap != null) {
-                    mzyReqrecVo.setMzPatientMi(mzPatientMiMap.get(mzyReqrec.getPatientId()));
+                    MzPatientMi mzPatientMi = mzPatientMiMap.get(mzyReqrec.getPatientId());
+                    if (mzPatientMi.getAddress() == null || StringUtils.isBlank(mzPatientMi.getAddress())) {
+                        String pro = regionMap.get(mzPatientMi.getProvinceCode());
+                        if (pro != null && StringUtils.isBlank(pro)) {
+                            sbf.append(pro);
+                        }
+                        String city = regionMap.get(mzPatientMi.getCityCode());
+                        if (city != null && StringUtils.isBlank(city)) {
+                            sbf.append(city);
+                        }
+                        String district = regionMap.get(mzPatientMi.getDistrictCode());
+                        if (district != null && StringUtils.isBlank(district)) {
+                            sbf.append(district);
+                        }
+                        if (mzPatientMi.getDetail() != null && StringUtils.isBlank(mzPatientMi.getDetail())) {
+                            sbf.append(mzPatientMi.getDetail());
+                        }
+                        mzPatientMi.setAddress(sbf.toString());
+                        sbf.setLength(0);
+                    }
+                    mzyReqrecVo.setMzPatientMi(mzPatientMi);
                 }
                 mzyReqrecVos.add(mzyReqrecVo);
             }
@@ -700,16 +724,17 @@ public class MzyReqrecController {
 
     /**
      * 本院记账退费重收
+     *
      * @param serialNo
-     * @param paymode 付费方式
+     * @param paymode  付费方式
      * @return
      */
     @UserLoginToken
     @RequestMapping(value = "/chargeFeeForByjz", method = {RequestMethod.GET})
-    public Map<String, Object> chargeFeeForByjz(@RequestParam Integer serialNo,@RequestParam String paymode, HttpServletRequest httpServletRequest) {
+    public Map<String, Object> chargeFeeForByjz(@RequestParam Integer serialNo, @RequestParam String paymode, HttpServletRequest httpServletRequest) {
         Map<String, Object> resultMap = new HashMap<>();
         try {
-            if (serialNo==null) {
+            if (serialNo == null) {
                 resultMap.put("code", -1);
                 resultMap.put("message", "需要退费重收的流水号不能为空");
                 return resultMap;
@@ -720,8 +745,8 @@ public class MzyReqrecController {
                 resultMap.put("message", "本院记账退费重收失败,用户Token不存在");
                 return resultMap;
             }
-            MzyReqrec mzyReqrec = mzyReqrecService.chargeFeeForByjz(serialNo,paymode,tokenUser.getUserIdCode());
-            if (mzyReqrec==null) {
+            MzyReqrec mzyReqrec = mzyReqrecService.chargeFeeForByjz(serialNo, paymode, tokenUser.getUserIdCode());
+            if (mzyReqrec == null) {
                 resultMap.put("code", -1);
                 resultMap.put("message", "本院记账退费重收操作失败");
                 return resultMap;
@@ -740,17 +765,16 @@ public class MzyReqrecController {
     }
 
 
-
-
     /**
      * 判断当前病人的挂号信息是否有效
+     *
      * @param patientId
      * @param deptCode
      * @return
      */
     @UserLoginToken
     @RequestMapping(value = "/validMzyReqrec", method = {RequestMethod.GET})
-    public Map<String, Object> validMzyReqrec(@RequestParam String patientId,@RequestParam String deptCode,HttpServletRequest httpServletRequest) {
+    public Map<String, Object> validMzyReqrec(@RequestParam String patientId, @RequestParam String deptCode, HttpServletRequest httpServletRequest) {
         Map<String, Object> resultMap = new HashMap<>();
         try {
             if (StringUtils.isBlank(patientId)) {
@@ -770,16 +794,16 @@ public class MzyReqrecController {
                 return resultMap;
             }
             Date beforeDate = null;
-            Integer count=null;
-            if(Constants.EMERGENCY_WARD_CODE.equals(deptCode)){
-                beforeDate=DateUtil.getDateFromNow(-3);
-                count = mzyReqrecService.queryValidMzyReqrec(patientId,null,deptCode,beforeDate);
-            }else {
-                beforeDate=DateUtil.getDateFromNow(-1);
-                count = mzyReqrecService.queryValidMzyReqrec(patientId,null,deptCode,beforeDate);
+            Integer count = null;
+            if (Constants.EMERGENCY_WARD_CODE.equals(deptCode)) {
+                beforeDate = DateUtil.getDateFromNow(-3);
+                count = mzyReqrecService.queryValidMzyReqrec(patientId, null, deptCode, beforeDate);
+            } else {
+                beforeDate = DateUtil.getDateFromNow(-1);
+                count = mzyReqrecService.queryValidMzyReqrec(patientId, null, deptCode, beforeDate);
             }
-            if(count==null){
-                count=0;
+            if (count == null) {
+                count = 0;
             }
             resultMap.put("code", 0);
             resultMap.put("data", count);
@@ -797,32 +821,33 @@ public class MzyReqrecController {
 
     /**
      * 修改收费方式
+     *
      * @param patientId
      * @param times
-     * @param payMode 付费方式
+     * @param payMode   付费方式
      * @return
      */
     @UserLoginToken
     @RequestMapping(value = "/updatePayMode", method = {RequestMethod.GET})
-    public Map<String, Object> updatePayMode(@RequestParam String patientId,@RequestParam Integer times,@RequestParam String payMode, HttpServletRequest httpServletRequest) {
+    public Map<String, Object> updatePayMode(@RequestParam String patientId, @RequestParam Integer times, @RequestParam String payMode, HttpServletRequest httpServletRequest) {
         Map<String, Object> resultMap = new HashMap<>();
         try {
-            if(StringUtils.isBlank(patientId)){
+            if (StringUtils.isBlank(patientId)) {
                 resultMap.put("code", -1);
                 resultMap.put("message", "病人ID不能为空");
                 return resultMap;
             }
-            if (times==null) {
+            if (times == null) {
                 resultMap.put("code", -1);
                 resultMap.put("message", "就诊次数不能为空");
                 return resultMap;
             }
-            if (times<0) {
+            if (times < 0) {
                 resultMap.put("code", -1);
                 resultMap.put("message", "就诊次数必须是正数");
                 return resultMap;
             }
-            if(StringUtils.isBlank(payMode)){
+            if (StringUtils.isBlank(payMode)) {
                 resultMap.put("code", -1);
                 resultMap.put("message", "新的付款方式不能为空");
                 return resultMap;
@@ -833,8 +858,8 @@ public class MzyReqrecController {
                 resultMap.put("message", "修改收费方式失败,用户Token不存在");
                 return resultMap;
             }
-            MzyReqrec mzyReqrec= mzyReqrecService.queryMzyReqrecByPatientIdAndTimes(patientId,times);
-            if (mzyReqrec==null) {
+            MzyReqrec mzyReqrec = mzyReqrecService.queryMzyReqrecByPatientIdAndTimes(patientId, times);
+            if (mzyReqrec == null) {
                 resultMap.put("code", -1);
                 resultMap.put("message", "没有找到对应的挂号记录");
                 return resultMap;
@@ -844,7 +869,7 @@ public class MzyReqrecController {
 //                resultMap.put("message", "挂号记录已经结算,无法修复付款方式");
 //                return resultMap;
 //            }
-            if(payMode.equals(mzyReqrec.getPaymode())){
+            if (payMode.equals(mzyReqrec.getPaymode())) {
                 resultMap.put("code", -1);
                 resultMap.put("message", "新的付款方式与原付款方式一致,无需修改");
                 return resultMap;

+ 4 - 1
src/main/java/cn/hnthyy/thmz/entity/thmz/User.java

@@ -1,5 +1,6 @@
 package cn.hnthyy.thmz.entity.thmz;
 
+import cn.hnthyy.thmz.enums.WorkingStatusEnum;
 import lombok.Data;
 import org.apache.commons.lang3.StringUtils;
 
@@ -30,7 +31,9 @@ public class User {
     private Date updateTime;
     //更新人
     private Long updateUser;
-    //账号状态 0-- 在职  1--停薪留职  2-- 离职  3--退休
+    /**
+     * {@link WorkingStatusEnum}
+     */
     private Integer status;
     //头像地址
     private Long profileImage;

+ 8 - 0
src/main/java/cn/hnthyy/thmz/mapper/his/mz/RegionMapper.java

@@ -46,4 +46,12 @@ public interface RegionMapper {
             "</when>",
             "</script>"})
     CodeNameEntity selectByName(@Param("name") String name,@Param("parentCode") String parentCode);
+
+    /**
+     * 查询所有
+     * @return
+     */
+    @Select("select code,name,parent_code from t_region where del_flag = 0")
+    List<CodeNameEntity> selectAll();
+
 }

+ 5 - 0
src/main/java/cn/hnthyy/thmz/service/his/RegionService.java

@@ -36,4 +36,9 @@ public interface RegionService {
      */
     CodeNameEntity queryByName(String name,String parentCode);
 
+    /**
+     * 查询所有的地区
+     * @return
+     */
+    List<CodeNameEntity> queryAll();
 }

+ 5 - 0
src/main/java/cn/hnthyy/thmz/service/impl/his/RegionServiceImpl.java

@@ -31,4 +31,9 @@ public class RegionServiceImpl implements RegionService {
     public CodeNameEntity queryByName(String name,String parentCode) {
         return regionMapper.selectByName(name,parentCode);
     }
+
+    @Override
+    public List<CodeNameEntity> queryAll() {
+        return regionMapper.selectAll();
+    }
 }

+ 10 - 1
src/main/resources/static/js/mz/registration_list.js

@@ -1235,6 +1235,15 @@ function loadTableList() {
                         }
                         return text;
                     }
+                }, {
+                    field: 'mzyReqrec.requestDayStr',
+                    title: '号源日期',
+                    align: "center",
+                    valign: 'middle',
+                    // sortable: true,
+                    formatter: function (value, row, index) {
+                        return format(value, "yyyy-MM-dd");
+                    }
                 }, {
                     field: 'mzyReqrec.ampm',
                     title: '号段',
@@ -1260,7 +1269,7 @@ function loadTableList() {
                     valign: 'middle',
                     // sortable: true
                 }, {
-                    field: 'mzyReqrec.requestDay',
+                    field: 'mzyReqrec.opDay',
                     title: '挂号时间',
                     align: "center",
                     valign: 'middle',