Commit c953b952a06e02eac7e7816f4eeca01243ded79f
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
- platform-biz-service/src/main/java/com/lyms/platform/permission/service/ProjectWeekService.java
- platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/ProjectWeekServiceImpl.java
- platform-biz-service/src/main/resources/mainOrm/master/ProjectWeekMapper.xml
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/FactorProjectController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java
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); |