Commit c953b952a06e02eac7e7816f4eeca01243ded79f

Authored by zhangchao
1 parent b7ead3d57d
Exists in dev

#fix:优化孕期、产后检查项目根据孕周查询逻辑

Showing 6 changed files with 42 additions and 9 deletions

platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/ProjectWeekMapper.java View file @ c953b95
... ... @@ -4,6 +4,7 @@
4 4 import org.apache.ibatis.annotations.Param;
5 5  
6 6 import java.util.List;
  7 +import java.util.Map;
7 8  
8 9 public interface ProjectWeekMapper {
9 10 List<ProjectWeekEntity> getList(@Param("hospitalId")Integer hospitalId,@Param("type")Integer type);
... ... @@ -11,6 +12,6 @@
11 12 void update(ProjectWeekEntity factorProject);
12 13 void del(Integer id);
13 14 ProjectWeekEntity selectById(Integer id);
14   - String selectByWeek(@Param("hospitalId") Integer hospitalId, @Param("week")String week,@Param("type")Integer type);
  15 + List<Map> selectByWeek(@Param("hospitalId") Integer hospitalId, @Param("week")String week, @Param("type")Integer type);
15 16 }
platform-biz-service/src/main/java/com/lyms/platform/permission/service/ProjectWeekService.java View file @ c953b95
... ... @@ -3,11 +3,12 @@
3 3 import com.lyms.platform.permission.model.ProjectWeekEntity;
4 4  
5 5 import java.util.List;
  6 +import java.util.Map;
6 7  
7 8 public interface ProjectWeekService {
8 9 List<ProjectWeekEntity> getList(Integer hospitalId,Integer type);
9 10 ProjectWeekEntity selectInfo(Integer id);
10   - String selectByWeek(Integer hospitalId,String week,Integer type);
  11 + List<Map> selectByWeek(Integer hospitalId, String week, Integer type);
11 12 void add(ProjectWeekEntity projectWay);
12 13 void update(ProjectWeekEntity projectWay);
13 14 void del(Integer id);
platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/ProjectWeekServiceImpl.java View file @ c953b95
... ... @@ -7,6 +7,7 @@
7 7 import org.springframework.stereotype.Service;
8 8  
9 9 import java.util.List;
  10 +import java.util.Map;
10 11  
11 12 @Service("projectWeekService")
12 13 public class ProjectWeekServiceImpl implements ProjectWeekService {
... ... @@ -23,7 +24,7 @@
23 24 }
24 25  
25 26 @Override
26   - public String selectByWeek(Integer hospitalId,String week,Integer type) {
  27 + public List<Map> selectByWeek(Integer hospitalId,String week,Integer type) {
27 28 return projectWeekMapper.selectByWeek(hospitalId,week,type);
28 29 }
29 30  
platform-biz-service/src/main/resources/mainOrm/master/ProjectWeekMapper.xml View file @ c953b95
... ... @@ -59,9 +59,9 @@
59 59 id = #{id,jdbcType=INTEGER}
60 60 </select>
61 61  
62   - <select id="selectByWeek" resultType="java.lang.String">
  62 + <select id="selectByWeek" resultType="java.util.Map" parameterType="java.util.List">
63 63 SELECT
64   - `name`
  64 + `name`,week
65 65 FROM
66 66 project_week
67 67 WHERE
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/FactorProjectController.java View file @ c953b95
... ... @@ -7,6 +7,7 @@
7 7 import com.lyms.platform.common.utils.StringUtils;
8 8 import com.lyms.platform.operate.web.facade.BookbuildingFacade;
9 9 import com.lyms.platform.operate.web.result.FrontEndResult;
  10 +import com.lyms.platform.operate.web.utils.CollectionUtils;
10 11 import com.lyms.platform.permission.model.*;
11 12 import com.lyms.platform.permission.service.CheckItemService;
12 13 import com.lyms.platform.permission.service.FactorProjectService;
... ... @@ -17,8 +18,7 @@
17 18 import org.springframework.web.bind.annotation.*;
18 19  
19 20 import javax.servlet.http.HttpServletResponse;
20   -import java.util.Date;
21   -import java.util.List;
  21 +import java.util.*;
22 22  
23 23 @Controller
24 24 @RequestMapping("/factorProject")
... ... @@ -150,7 +150,22 @@
150 150 }
151 151 //用于区分是小程序通过推送跳转还是自查询
152 152 if (type!=null){
153   - week=projectWeekService.selectByWeek(hospitalId,week,weekType);
  153 + List<Map> list= projectWeekService.selectByWeek(hospitalId,week,weekType);
  154 + if (CollectionUtils.isNotEmpty(list)){
  155 + Set<String> weekSet=new HashSet<>();
  156 + weekSet.add(week);
  157 + for (Map<String,String> params:list){
  158 + String weeks= params.get("week");
  159 + Set<String> set=new HashSet<>(Arrays.asList(weeks.split(",")));
  160 + weekSet.retainAll(set);
  161 + if (weekSet.size()>0){
  162 + week=params.get("name");
  163 + break;
  164 + }else {
  165 + weekSet.add(week);
  166 + }
  167 + }
  168 + }
154 169 }
155 170 FactorProjectEntity factorProject= factorProjectService.selectByWeek(hospitalId,week,weekType);
156 171 ResultUtils.buildSuccessResultAndWrite(response,factorProject);
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java View file @ c953b95
... ... @@ -1750,7 +1750,22 @@
1750 1750 dueWeek = "";
1751 1751 } else {
1752 1752 String week = days / 7 + "";
1753   - dueWeek = projectWeekService.selectByWeek(hospitalId, week, 10001);
  1753 + List<Map> list= projectWeekService.selectByWeek(hospitalId, week, 10001);
  1754 + if (com.lyms.platform.operate.web.utils.CollectionUtils.isNotEmpty(list)){
  1755 + Set<String> weekSet=new HashSet<>();
  1756 + weekSet.add(week);
  1757 + for (Map<String,String> map:list){
  1758 + String weeks= map.get("week");
  1759 + Set<String> set=new HashSet<>(Arrays.asList(weeks.split(",")));
  1760 + weekSet.retainAll(set);
  1761 + if (weekSet.size()>0){
  1762 + dueWeek=map.get("name");
  1763 + break;
  1764 + }else {
  1765 + weekSet.add(week);
  1766 + }
  1767 + }
  1768 + }
1754 1769 params.put("dueWeek", dueWeek);
1755 1770  
1756 1771 int day = (days % 7);