Bladeren bron

修复病人身份问题

hurugang 5 jaren geleden
bovenliggende
commit
cf09497529

+ 4 - 0
src/main/java/cn/hnthyy/thmz/Utils/DateUtil.java

@@ -160,10 +160,14 @@ public class DateUtil {
 
         Calendar tempEnd = Calendar.getInstance();
         tempEnd.setTime(end);
+        result.add(start);
         while (tempStart.before(tempEnd)) {
             result.add(tempStart.getTime());
             tempStart.add(Calendar.DAY_OF_YEAR, 1);
         }
+        if(!result.contains(end)){
+            result.add(end);
+        }
         return result;
     }
 

+ 8 - 7
src/main/java/cn/hnthyy/thmz/controller/IndexController.java

@@ -145,14 +145,15 @@ public class IndexController {
                 }
             }
             //获取时间区间内的日期集合
+            mzyReqrecPageDto.setEndTime(DateUtil.getFirstSecond(mzyReqrecPageDto.getEndTime()));
             List<Date> days = DateUtil.getBetweenDates(mzyReqrecPageDto.getBeginTime(), mzyReqrecPageDto.getEndTime());
-            //如果新号表日期集合不包含当前日期,加入当前日期
-            if (!days.contains(mzyReqrecPageDto.getBeginTime())) {
-                List<Date> tempDays = new ArrayList<>(days.size()+1);
-                tempDays.add(mzyReqrecPageDto.getBeginTime());
-                tempDays.addAll(days);
-                days=tempDays;
-            }
+//            //如果新号表日期集合不包含当前日期,加入当前日期
+//            if (!days.contains(mzyReqrecPageDto.getBeginTime())) {
+//                List<Date> tempDays = new ArrayList<>(days.size()+1);
+//                tempDays.add(mzyReqrecPageDto.getBeginTime());
+//                tempDays.addAll(days);
+//                days=tempDays;
+//            }
             List<String> keyList =days.stream().map(d-> DateUtil.paseToString(d,"yyyy-MM-dd")).collect(Collectors.toList());
             List<Map<String, Object>> resultList = new ArrayList<>();
             keyList.stream().forEach(k->{

+ 8 - 7
src/main/java/cn/hnthyy/thmz/controller/MzyRequestController.java

@@ -302,14 +302,15 @@ public class MzyRequestController {
                 return resultMap;
             }
             //获取新号表的日期集合
+            requestParamsVo.setNewEndDate(DateUtil.getFirstSecond(requestParamsVo.getNewEndDate()));
             List<Date> days = DateUtil.getBetweenDates(requestParamsVo.getNewBeginDate(), requestParamsVo.getNewEndDate());
-            //如果新号表日期集合不包含当前日期,加入当前日期
-            if (!days.contains(requestParamsVo.getNewBeginDate())) {
-                List<Date> tempDays = new ArrayList<>(days.size()+1);
-                tempDays.add(requestParamsVo.getNewBeginDate());
-                tempDays.addAll(days);
-                days=tempDays;
-            }
+//            //如果新号表日期集合不包含当前日期,加入当前日期
+//            if (!days.contains(requestParamsVo.getNewBeginDate())) {
+//                List<Date> tempDays = new ArrayList<>(days.size()+1);
+//                tempDays.add(requestParamsVo.getNewBeginDate());
+//                tempDays.addAll(days);
+//                days=tempDays;
+//            }
             //原号表日期与号表映射
             Map<Date, List<MzyRequest>> sourceMap = new HashMap<>();
             //源号表日期集合

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

@@ -47,6 +47,8 @@ public class MedicalViewApiController {
     private APatientMiService aPatientMiService;
     @Autowired
     private ZdMzClassService zdMzClassService;
+    @Autowired
+    private MzyRequestService mzyRequestService;
 
 
     //海慈身份证类型
@@ -205,6 +207,7 @@ public class MedicalViewApiController {
         mzPatientMi.setPhoneNo(haicipat.getPatMobile());
         mzPatientMi.setSocialNo(haicipat.getPatIdNo());
         mzPatientMi.setContractHz(haicipat.getGuardIdNo());
+        mzPatientMi.setResponseType("01");
         try {
             int num = mzPatientMiService.saveMzPatientMi(mzPatientMi);
             if (num == 1) {
@@ -872,6 +875,76 @@ public class MedicalViewApiController {
 
 
 
+    /**
+     * 预约号源统计信息查询
+     *
+     * @return
+     */
+    @RequestMapping(value = "/getNumByDateAndDept", method = {RequestMethod.GET})
+    public Map<String, Object> getNumByDateAndDept(@RequestParam("beginDate") String beginDate, @RequestParam("endDate") String endDate, @RequestParam("unitCode")String unitCode ) {
+        Map<String, Object> results = new HashMap<>();
+        try {
+            if(StringUtils.isBlank(beginDate)){
+                results.put("resultCode", -1);
+                results.put("resultMessage", "开始时间不能为空");
+                return results;
+            }
+            if(StringUtils.isBlank(endDate)){
+                results.put("resultCode", -1);
+                results.put("resultMessage", "结束时间不能为空");
+                return results;
+            }
+            if(StringUtils.isBlank(unitCode)){
+                results.put("resultCode", -1);
+                results.put("resultMessage", "科室编码不能为空");
+                return results;
+            }
+            Date beginDateD = DateUtil.pase(beginDate,"yyyy-MM-dd");
+            Date endDateD = DateUtil.pase(endDate,"yyyy-MM-dd");
+            List<Map<String,Object>> list=mzyRequestService.queryNumByDateAndDept(beginDateD,endDateD,unitCode);
+            if (list == null || list.size() == 0) {
+                results.put("resultCode", -1);
+                results.put("resultMessage", "预约号源统计信息查询失败");
+                return results;
+            }
+            Map<String, Map<String,Object>> tempMap= new HashMap<>();
+            for(Map map :list){
+                tempMap.put((String) map.get("scheduleDate"),map);
+            }
+            //获取时间区间内的日期集合
+            List<Date> days = DateUtil.getBetweenDates(beginDateD, endDateD);
+            List<Map<String,Object>> resultMap= new ArrayList<>();
+            for (Date date : days){
+               String key=DateUtil.fomart(date,"yyyy-MM-dd");
+                Map<String,Object> item=tempMap.get(key);
+                if(item==null){
+                    item=new HashMap<>();
+                    item.put("scheduleDate",key);
+                    item.put("status",2);
+                }else {
+                    Integer leftNum=(Integer)item.get("leftNum");
+                    if(leftNum==null || leftNum<=0){
+                        item.put("status",2);
+                        item.remove("leftNum");
+                        item.remove("totalNum");
+                    }else {
+                        item.put("status",1);
+                    }
+                }
+                resultMap.add(item);
+            }
+            results.put("resultCode", 0);
+            results.put("resultMessage", "预约号源统计信息查询成功");
+            results.put("data", resultMap);
+            return results;
+        }catch (Exception e){
+            results.put("resultCode", -1);
+            results.put("resultMessage", "预约号源统计信息查询失败");
+            return results;
+        }
+
+    }
+
 
 
 

+ 11 - 0
src/main/java/cn/hnthyy/thmz/mapper/his/MzyRequestMapper.java

@@ -8,6 +8,7 @@ import org.apache.ibatis.annotations.Update;
 
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 public interface MzyRequestMapper {
     /**
@@ -205,4 +206,14 @@ public interface MzyRequestMapper {
     @Update("update mzy_request set request_day=#{requestDay,jdbcType=DATE},ampm=#{ampm},unit_code=#{unitCode},doctor_code=#{doctorCode},charge_type=#{chargeType},total_num=#{totalNum},left_num=#{leftNum,jdbcType=INTEGER}, bespeak_no=#{bespeakNo,jdbcType=SMALLINT},check_fee=#{checkFee} where request_day=#{requestDayOld,jdbcType=DATE} and ampm=#{ampmOld} and unit_code=#{unitCodeOld}  and doctor_code=#{doctorCodeOld} and charge_type=#{chargeTypeOld} ")
     int updateMzyRequestOld(MzyRequest mzyRequest);
 
+    /**
+     * 科室号源统计
+     * @param beginDate
+     * @param endDate
+     * @param unitCode
+     * @return
+     */
+    @Select("select CONVERT (varchar (100), request_day, 23) scheduleDate,sum(left_num) leftNum,sum(total_num) totalNum from mzy_request_new where unit_code =#{unitCode} and request_day >=#{beginDate,jdbcType=TIMESTAMP} and request_day <=#{endDate,jdbcType=TIMESTAMP}  group by request_day")
+    List<Map<String,Object>> selectNumByDateAndDept(@Param("beginDate") Date beginDate, @Param("endDate") Date endDate, @Param("unitCode") String unitCode);
+
 }

+ 11 - 0
src/main/java/cn/hnthyy/thmz/service/his/MzyRequestService.java

@@ -6,6 +6,7 @@ import cn.hnthyy.thmz.entity.his.MzyZdChargeType;
 
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 public interface MzyRequestService {
     /**
@@ -114,4 +115,14 @@ public interface MzyRequestService {
      */
     MzyRequest queryById(Long id);
 
+
+    /**
+     * 科室号源统计
+     * @param beginDate
+     * @param endDate
+     * @param unitCode
+     * @return
+     */
+    List<Map<String,Object>> queryNumByDateAndDept(Date beginDate, Date endDate, String unitCode);
+
 }

+ 6 - 0
src/main/java/cn/hnthyy/thmz/service/impl/his/MzyRequestServiceImpl.java

@@ -21,6 +21,7 @@ import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 @Service
 public class MzyRequestServiceImpl implements MzyRequestService {
@@ -180,4 +181,9 @@ public class MzyRequestServiceImpl implements MzyRequestService {
     public MzyRequest queryById(Long id) {
         return mzyRequestMapper.selectMzyRequestById(id);
     }
+
+    @Override
+    public List<Map<String, Object>> queryNumByDateAndDept(Date beginDate, Date endDate, String unitCode) {
+        return mzyRequestMapper.selectNumByDateAndDept(beginDate,endDate,unitCode);
+    }
 }