Commit ae1f14815cc1bfef2f6cad72aea13058147136f0
1 parent
758a36f9b5
Exists in
master
and in
6 other branches
耳保健相关接口
Showing 6 changed files with 247 additions and 24 deletions
- platform-common/src/main/java/com/lyms/platform/common/enums/EyeHighRiskEnums.java
- platform-common/src/main/java/com/lyms/platform/common/enums/HandleOpinionsEnums.java
- platform-dal/src/main/java/com/lyms/platform/pojo/BabyEyeCheck.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEyeCheckController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyEyeCheckService.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java
platform-common/src/main/java/com/lyms/platform/common/enums/EyeHighRiskEnums.java
View file @
ae1f148
| 1 | +package com.lyms.platform.common.enums; | |
| 2 | + | |
| 3 | +import com.lyms.platform.common.utils.StringUtils; | |
| 4 | +import org.apache.commons.collections.CollectionUtils; | |
| 5 | + | |
| 6 | +import java.util.ArrayList; | |
| 7 | +import java.util.List; | |
| 8 | + | |
| 9 | +/** | |
| 10 | + * 眼保健高危因素 | |
| 11 | + */ | |
| 12 | +public enum EyeHighRiskEnums { | |
| 13 | + ONE(1, "新生儿重症监护病房住院超过7议案并有连续吸氧(高浓度)史"), | |
| 14 | +// TWO(2, "临床上存在遗传性眼病家庭史或怀疑有眼病有关的综合征,例如先天性白内障、先天性青光眼、视网膜母细胞瘤、先天性小眼球、眼球震颤等"), | |
| 15 | + TWO(2, "先天性白内障、先天性青光眼、视网膜母细胞瘤、先天性小眼球、眼球震颤等"), | |
| 16 | +// THREE(3, "巨细胞病毒、风疹病毒、疱疹病毒、梅毒或毒浆体原虫(弓形体)等引起的宫内感染"), | |
| 17 | + THREE(3, "宫内感染"), | |
| 18 | + FOUR(4, "颅面形态畸形、大面积颜面部血管瘤,或者哭闹时眼球外凸"), | |
| 19 | + FIVE(5, "出生难产、器械助产"), | |
| 20 | + SIX(6, "眼部持续流泪、有大量分泌物"), | |
| 21 | + SEVEN(7, "出生体重<2000g的早产儿和低出生体重儿,应当在出生后4-6周或矫正胎龄32周,由眼科医师进行首次眼病变筛查"); | |
| 22 | + | |
| 23 | + private Integer id; | |
| 24 | + private String name; | |
| 25 | + | |
| 26 | + public static EyeHighRiskEnums get(Integer id) { | |
| 27 | + EyeHighRiskEnums[] values = EyeHighRiskEnums.values(); | |
| 28 | + for (EyeHighRiskEnums value : values) { | |
| 29 | + if (value.getId() == id) { | |
| 30 | + return value; | |
| 31 | + } | |
| 32 | + } | |
| 33 | + return null; | |
| 34 | + } | |
| 35 | + | |
| 36 | + public static String getName(String id) { | |
| 37 | + if(StringUtils.isEmpty(id)) { | |
| 38 | + return null; | |
| 39 | + } | |
| 40 | + int i = Integer.parseInt(id); | |
| 41 | + EyeHighRiskEnums[] values = EyeHighRiskEnums.values(); | |
| 42 | + for (EyeHighRiskEnums value : values) { | |
| 43 | + if (value.id == i) { | |
| 44 | + return value.name; | |
| 45 | + } | |
| 46 | + } | |
| 47 | + return null; | |
| 48 | + } | |
| 49 | + | |
| 50 | + public static List<String> getName(List<String> ids) { | |
| 51 | + if(CollectionUtils.isEmpty(ids)) { | |
| 52 | + return null; | |
| 53 | + } else { | |
| 54 | + List<String> list = new ArrayList<>(); | |
| 55 | + for (String id : ids) { | |
| 56 | + list.add(getName(id)); | |
| 57 | + } | |
| 58 | + return list; | |
| 59 | + } | |
| 60 | + } | |
| 61 | + | |
| 62 | + EyeHighRiskEnums(Integer id, String name){ | |
| 63 | + this.id = id; | |
| 64 | + this.name = name; | |
| 65 | + } | |
| 66 | + | |
| 67 | + public Integer getId() { | |
| 68 | + return id; | |
| 69 | + } | |
| 70 | + | |
| 71 | + public void setId(Integer id) { | |
| 72 | + this.id = id; | |
| 73 | + } | |
| 74 | + | |
| 75 | + public String getName() { | |
| 76 | + return name; | |
| 77 | + } | |
| 78 | + | |
| 79 | + public void setName(String name) { | |
| 80 | + this.name = name; | |
| 81 | + } | |
| 82 | + | |
| 83 | +} |
platform-common/src/main/java/com/lyms/platform/common/enums/HandleOpinionsEnums.java
View file @
ae1f148
| 1 | +package com.lyms.platform.common.enums; | |
| 2 | + | |
| 3 | +import com.lyms.platform.common.utils.StringUtils; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * 处理意见 | |
| 7 | + */ | |
| 8 | +public enum HandleOpinionsEnums { | |
| 9 | + ONE(1, "请于0月龄回院进行下次保健"), | |
| 10 | + TWO(2, "请于30-42天月龄回院进行下次保健"), | |
| 11 | + THREE(3, "请于3个月月龄回院进行下次保健"), | |
| 12 | + FOUR(4, "请于6个月月龄回院进行下次保健"), | |
| 13 | + FIVE(5, "请于9个月月龄回院进行下次保健"), | |
| 14 | + SIX(6, "请于1岁月龄回院进行下次保健"), | |
| 15 | + SEVEN(7, "请于1岁半月龄回院进行下次保健"), | |
| 16 | + EIGHT(8, "请于2岁月龄回院进行下次保健"), | |
| 17 | + NIGHT(9, "请于3岁月龄回院进行下次保健"), | |
| 18 | + TEN(10, "请于4岁月龄回院进行下次保健"), | |
| 19 | + ELEVEN(11, "请于5岁月龄回院进行下次保健"), | |
| 20 | + TWELVE(12, "请于6岁月龄回院进行下次保健"); | |
| 21 | + | |
| 22 | + private Integer id; | |
| 23 | + private String name; | |
| 24 | + | |
| 25 | + public static HandleOpinionsEnums get(Integer id) { | |
| 26 | + HandleOpinionsEnums[] values = HandleOpinionsEnums.values(); | |
| 27 | + for (HandleOpinionsEnums value : values) { | |
| 28 | + if (value.getId() == id) { | |
| 29 | + return value; | |
| 30 | + } | |
| 31 | + } | |
| 32 | + return null; | |
| 33 | + } | |
| 34 | + | |
| 35 | + public static String getName(String id) { | |
| 36 | + if(StringUtils.isEmpty(id)) { | |
| 37 | + return null; | |
| 38 | + } | |
| 39 | + int i = Integer.parseInt(id); | |
| 40 | + HandleOpinionsEnums[] values = HandleOpinionsEnums.values(); | |
| 41 | + for (HandleOpinionsEnums value : values) { | |
| 42 | + if (value.id == i) { | |
| 43 | + return value.name; | |
| 44 | + } | |
| 45 | + } | |
| 46 | + return null; | |
| 47 | + } | |
| 48 | + | |
| 49 | + HandleOpinionsEnums(Integer id, String name){ | |
| 50 | + this.id = id; | |
| 51 | + this.name = name; | |
| 52 | + } | |
| 53 | + | |
| 54 | + public Integer getId() { | |
| 55 | + return id; | |
| 56 | + } | |
| 57 | + | |
| 58 | + public void setId(Integer id) { | |
| 59 | + this.id = id; | |
| 60 | + } | |
| 61 | + | |
| 62 | + public String getName() { | |
| 63 | + return name; | |
| 64 | + } | |
| 65 | + | |
| 66 | + public void setName(String name) { | |
| 67 | + this.name = name; | |
| 68 | + } | |
| 69 | + | |
| 70 | +} |
platform-dal/src/main/java/com/lyms/platform/pojo/BabyEyeCheck.java
View file @
ae1f148
| ... | ... | @@ -99,7 +99,7 @@ |
| 99 | 99 | /** |
| 100 | 100 | * 处理意见 |
| 101 | 101 | */ |
| 102 | - private String handleOpinions; | |
| 102 | + private String handleOpinionsId; | |
| 103 | 103 | |
| 104 | 104 | /** |
| 105 | 105 | * 指导意见 |
| 106 | 106 | |
| ... | ... | @@ -606,12 +606,12 @@ |
| 606 | 606 | this.fundusResult = fundusResult; |
| 607 | 607 | } |
| 608 | 608 | |
| 609 | - public String getHandleOpinions() { | |
| 610 | - return handleOpinions; | |
| 609 | + public String getHandleOpinionsId() { | |
| 610 | + return handleOpinionsId; | |
| 611 | 611 | } |
| 612 | 612 | |
| 613 | - public void setHandleOpinions(String handleOpinions) { | |
| 614 | - this.handleOpinions = handleOpinions; | |
| 613 | + public void setHandleOpinionsId(String handleOpinionsId) { | |
| 614 | + this.handleOpinionsId = handleOpinionsId; | |
| 615 | 615 | } |
| 616 | 616 | |
| 617 | 617 | public String getGuidanceOpinions() { |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEyeCheckController.java
View file @
ae1f148
| ... | ... | @@ -64,10 +64,24 @@ |
| 64 | 64 | return babyEyeCheckService.delete(id); |
| 65 | 65 | } |
| 66 | 66 | |
| 67 | + /** | |
| 68 | + * | |
| 69 | + * @param startDate | |
| 70 | + * @param endDate | |
| 71 | + * @param doctor | |
| 72 | + * @param key 姓名/联系方式/就诊卡 | |
| 73 | + * @param currentMonth 当前月龄 | |
| 74 | + * @param chechMonth 检查月龄 | |
| 75 | + * @param positive 是否是阳性 | |
| 76 | + * @param page | |
| 77 | + * @param limit | |
| 78 | + * @param request | |
| 79 | + * @return | |
| 80 | + */ | |
| 67 | 81 | @ResponseBody |
| 68 | 82 | @RequestMapping(method = RequestMethod.GET) |
| 69 | - public BaseResponse list(Date startDate, Date endDate, String doctor, String key, String currentMonth, String chechMonth, HttpServletRequest request) { | |
| 70 | - return babyEyeCheckService.list(getUserId(request), startDate, endDate, doctor, key, currentMonth, chechMonth); | |
| 83 | + public BaseResponse list(Date startDate, Date endDate, String doctor, String key, String currentMonth, String chechMonth, boolean positive, Integer page, Integer limit, HttpServletRequest request) { | |
| 84 | + return babyEyeCheckService.list(getUserId(request), startDate, endDate, doctor, key, currentMonth, chechMonth, positive, page, limit); | |
| 71 | 85 | } |
| 72 | 86 | |
| 73 | 87 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyEyeCheckService.java
View file @
ae1f148
| ... | ... | @@ -3,14 +3,13 @@ |
| 3 | 3 | import com.lyms.platform.common.result.BaseObjectResponse; |
| 4 | 4 | import com.lyms.platform.common.result.BaseResponse; |
| 5 | 5 | import com.lyms.platform.pojo.BabyEyeCheck; |
| 6 | -import com.lyms.platform.pojo.BabyEyePatient; | |
| 7 | 6 | |
| 8 | 7 | import java.util.Date; |
| 9 | 8 | |
| 10 | 9 | /** |
| 11 | 10 | * Created by lt on 2017/8/5 0005 |
| 12 | 11 | */ |
| 13 | -public interface BabyEyeCheckService { | |
| 12 | +public interface BabyEyeCheckService extends IBaseService { | |
| 14 | 13 | BaseObjectResponse init(); |
| 15 | 14 | |
| 16 | 15 | BaseResponse addOrUpdate(Integer userId, BabyEyeCheck babyEyeCheck); |
| ... | ... | @@ -21,7 +20,7 @@ |
| 21 | 20 | |
| 22 | 21 | BaseResponse delete(String id); |
| 23 | 22 | |
| 24 | - BaseResponse list(Integer userId, Date startDate, Date endDate, String doctor, String key, String currentMonth, String chechMonth); | |
| 23 | + BaseResponse list(Integer userId, Date startDate, Date endDate, String doctor, String key, String currentMonth, String chechMonth, boolean positive, Integer page, Integer limit); | |
| 25 | 24 | |
| 26 | 25 | BaseResponse query(Integer userId, String babyId); |
| 27 | 26 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java
View file @
ae1f148
| ... | ... | @@ -4,19 +4,19 @@ |
| 4 | 4 | import com.lyms.platform.common.enums.*; |
| 5 | 5 | import com.lyms.platform.common.result.BaseObjectResponse; |
| 6 | 6 | import com.lyms.platform.common.result.BaseResponse; |
| 7 | +import com.lyms.platform.common.result.PageResult; | |
| 7 | 8 | import com.lyms.platform.common.result.RespBuilder; |
| 8 | 9 | import com.lyms.platform.common.utils.*; |
| 10 | +import com.lyms.platform.common.utils.ReflectionUtils; | |
| 11 | +import com.lyms.platform.common.utils.StringUtils; | |
| 9 | 12 | import com.lyms.platform.operate.web.facade.AutoMatchFacade; |
| 10 | 13 | import com.lyms.platform.operate.web.facade.BasicConfigFacade; |
| 11 | 14 | import com.lyms.platform.operate.web.facade.OrganizationGroupsFacade; |
| 12 | -import com.lyms.platform.operate.web.result.BasicConfigResult; | |
| 13 | 15 | import com.lyms.platform.operate.web.service.BabyEyeCheckService; |
| 14 | 16 | import com.lyms.platform.operate.web.utils.CollectionUtils; |
| 15 | 17 | import com.lyms.platform.operate.web.utils.MongoUtil; |
| 16 | 18 | import com.lyms.platform.permission.dao.master.BabyEyeCheckMapper; |
| 17 | -import com.lyms.platform.pojo.BabyEyeCheck; | |
| 18 | -import com.lyms.platform.pojo.BabyModel; | |
| 19 | -import com.lyms.platform.pojo.NewbornVisit; | |
| 19 | +import com.lyms.platform.pojo.*; | |
| 20 | 20 | import org.springframework.beans.factory.annotation.Autowired; |
| 21 | 21 | import org.springframework.data.domain.Sort; |
| 22 | 22 | import org.springframework.data.mongodb.core.MongoTemplate; |
| ... | ... | @@ -31,7 +31,7 @@ |
| 31 | 31 | * Created by lt on 2017/8/5 0005 |
| 32 | 32 | */ |
| 33 | 33 | @Service |
| 34 | -public class BabyEyeCheckServiceImpl implements BabyEyeCheckService { | |
| 34 | +public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEyeCheckService { | |
| 35 | 35 | @Autowired |
| 36 | 36 | private BabyEyeCheckMapper babyEyeCheckMapper; |
| 37 | 37 | |
| ... | ... | @@ -57,9 +57,9 @@ |
| 57 | 57 | public BaseObjectResponse init() { |
| 58 | 58 | List<Map<String, Object>> addSubtract = EnumUtil.toJson(AddSubtractEnums.class); /** (+) (一) 其他 */ |
| 59 | 59 | List<Map<String, Object>> checkMonth = EnumUtil.toJson(CheckMonthEnums.class); /** (检查时间 */ |
| 60 | - List<BasicConfigResult> highRisk = basicConfigFacade.getBaseicConfigByParentId(SystemConfig.HIGH_RISK_ID); /** 高危因素 */ | |
| 61 | - | |
| 62 | - return RespBuilder.buildSuccess("addSubtract", addSubtract, "checkMonth", checkMonth, "highRisk", highRisk); | |
| 60 | + List<Map<String, Object>> highRisk = EnumUtil.toJson(EyeHighRiskEnums.class); /** 眼保健高危因素 */ | |
| 61 | + List<Map<String, Object>> handleOpinions = EnumUtil.toJson(HandleOpinionsEnums.class); /** 处理意见 */ | |
| 62 | + return RespBuilder.buildSuccess("addSubtract", addSubtract, "checkMonth", checkMonth, "highRisk", highRisk, "handleOpinions", handleOpinions); | |
| 63 | 63 | } |
| 64 | 64 | |
| 65 | 65 | @Override |
| 66 | 66 | |
| 67 | 67 | |
| 68 | 68 | |
| 69 | 69 | |
| ... | ... | @@ -77,29 +77,86 @@ |
| 77 | 77 | } else { |
| 78 | 78 | babyEyeCheck.setOperaterId(userId.toString()); |
| 79 | 79 | Update update = MongoConvertHelper.convertToNativeUpdate(ReflectionUtils.getUpdateField(babyEyeCheck)); |
| 80 | - mongoTemplate.updateFirst(Query.query(Criteria.where("id").is(babyEyeCheck.getId())), update, NewbornVisit.class); | |
| 80 | + mongoTemplate.updateFirst(Query.query(Criteria.where("id").is(babyEyeCheck.getId())), update, BabyEyeCheck.class); | |
| 81 | 81 | } |
| 82 | 82 | return RespBuilder.buildSuccess(babyEyeCheck.getId()); |
| 83 | 83 | } |
| 84 | 84 | |
| 85 | 85 | @Override |
| 86 | 86 | public BaseResponse info(String id) { |
| 87 | - return null; | |
| 87 | + BabyEyeCheck babyEyeCheck = mongoTemplate.findById(id, BabyEyeCheck.class); | |
| 88 | + Map<String, Object> map = ReflectionUtils.beanToMap(babyEyeCheck); | |
| 89 | + map.put("handleOpinionsId", HandleOpinionsEnums.getName(babyEyeCheck.getHandleOpinionsId())); | |
| 90 | + map.put("riskFactorId", EyeHighRiskEnums.getName(babyEyeCheck.getRiskFactorId())); | |
| 91 | + CollectionUtils.removeNullValue(map); | |
| 92 | + return RespBuilder.buildSuccess(map); | |
| 88 | 93 | } |
| 89 | 94 | |
| 90 | 95 | @Override |
| 91 | 96 | public BaseResponse edit(String id) { |
| 92 | - return null; | |
| 97 | + BabyEyeCheck babyEyeCheck = mongoTemplate.findById(id, BabyEyeCheck.class); | |
| 98 | + Map<String, Object> map = ReflectionUtils.beanToMap(babyEyeCheck); | |
| 99 | + CollectionUtils.removeNullValue(map); | |
| 100 | + return RespBuilder.buildSuccess(map); | |
| 93 | 101 | } |
| 94 | 102 | |
| 95 | 103 | @Override |
| 96 | 104 | public BaseResponse delete(String id) { |
| 97 | - return null; | |
| 105 | + mongoTemplate.updateFirst(Query.query(Criteria.where("id").is(id)), Update.update("yn", "0"), BabyEyeCheck.class); | |
| 106 | + return RespBuilder.buildSuccess(); | |
| 98 | 107 | } |
| 99 | 108 | |
| 100 | 109 | @Override |
| 101 | - public BaseResponse list(Integer userId, Date startDate, Date endDate, String doctor, String key, String currentMonth, String chechMonth) { | |
| 102 | - return null; | |
| 110 | + public BaseResponse list(Integer userId, Date startDate, Date endDate, String doctor, String key, String currentMonth, String chechMonth, boolean positive, Integer page, Integer limit) { | |
| 111 | + String hospitalId = autoMatchFacade.getHospitalId(userId); | |
| 112 | + Criteria criteria = Criteria.where("yn").ne("0").and("hospitalId").is(hospitalId); | |
| 113 | + if(startDate != null && endDate != null) { | |
| 114 | + criteria.and("checkTime").gte(startDate).lt(DateUtil.addDay(endDate, 1)); | |
| 115 | + } | |
| 116 | + if(org.apache.commons.lang.StringUtils.isNotBlank(doctor)) { | |
| 117 | + criteria.and("doctor").is(doctor); | |
| 118 | + } | |
| 119 | + if(org.apache.commons.lang.StringUtils.isNotBlank(key)) { | |
| 120 | + Criteria c = new Criteria(); | |
| 121 | + c.orOperator(Criteria.where("mphone").is(key), Criteria.where("name").regex(key), Criteria.where("mcertNo").is(key)).and("yn").ne(0); | |
| 122 | + List<BabyModel> babyModels = mongoUtil.findField(BabyModel.class, c, "id"); | |
| 123 | + List<String> babyIds = CollectionUtils.getId(babyModels, "id", String.class); | |
| 124 | + criteria.and("babyId").in(babyIds); | |
| 125 | + } | |
| 126 | + if(positive) { | |
| 127 | + Query query = new Query(criteria); | |
| 128 | + query.with(new Sort(Sort.Direction.DESC, "checkTime")); | |
| 129 | + List<BabyEyeCheck> babyEyeChecks = mongoTemplate.find(query, BabyEyeCheck.class); | |
| 130 | + } | |
| 131 | + PageResult pageResult = findMongoPage(BabyEyeCheck.class, new Query(criteria).with(new Sort(Sort.Direction.DESC, "checkTime")), page, limit); | |
| 132 | + List<BabyEyeCheck> babyEyeChecks = (List<BabyEyeCheck>) pageResult.getGrid(); | |
| 133 | + List<Map<String, Object>> restMap = new ArrayList<>(); | |
| 134 | + for (BabyEyeCheck babyEyeCheck : babyEyeChecks) { | |
| 135 | + Map<String, Object> temp = new HashMap<>(); | |
| 136 | + temp.put("id", babyEyeCheck.getId()); | |
| 137 | + BabyModel babyModel = mongoTemplate.findById(babyEyeCheck.getBabyId(), BabyModel.class); | |
| 138 | + if(babyModel != null) { | |
| 139 | + temp.put("name", babyModel.getName()); | |
| 140 | + if(babyModel.getSex() != null) { | |
| 141 | + temp.put("sex", SexEnum.getTextById(babyModel.getSex())); | |
| 142 | + } | |
| 143 | + String parentId = babyModel.getParentId(); | |
| 144 | + if(StringUtils.isNotEmpty(parentId)) { | |
| 145 | + Patients patients = mongoTemplate.findById(parentId, Patients.class); | |
| 146 | + if(patients != null) { | |
| 147 | + temp.put("mname", patients.getUsername()); | |
| 148 | + } | |
| 149 | + } | |
| 150 | + temp.put("birth", DateUtil.getYyyyMmDd( babyModel.getBirth())); | |
| 151 | + } | |
| 152 | + if(StringUtils.isNotEmpty(babyEyeCheck.getCheckMonthId())) { | |
| 153 | + temp.put("checkMonth", CheckMonthEnums.getName(babyEyeCheck.getCheckMonthId())); /** 检查月龄 */; | |
| 154 | + } | |
| 155 | + CollectionUtils.removeNullValue(temp); | |
| 156 | + restMap.add(temp); | |
| 157 | + } | |
| 158 | + pageResult.setGrid(restMap); | |
| 159 | + return RespBuilder.buildSuccess(pageResult); | |
| 103 | 160 | } |
| 104 | 161 | |
| 105 | 162 | @Override |