Commit ece1ed4d2da9ecdac042bc427791dae988a9c8d7
1 parent
d2a823e1f6
Exists in
master
and in
6 other branches
update
Showing 5 changed files with 116 additions and 47 deletions
- platform-dal/src/main/java/com/lyms/platform/pojo/RareBloodGroupModel.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/RareBloodGroupService.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/RareBloodGroupServiceImpl.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/RareListWorker.java
platform-dal/src/main/java/com/lyms/platform/pojo/RareBloodGroupModel.java
View file @
ece1ed4
| ... | ... | @@ -16,6 +16,7 @@ |
| 16 | 16 | |
| 17 | 17 | private String id; |
| 18 | 18 | private String parentId; |
| 19 | + private String Week;//录入孕周 | |
| 19 | 20 | private String pid; |
| 20 | 21 | private String hospitalId; |
| 21 | 22 | private String bloodGroupGenotyping; // 血型基因分型 |
| ... | ... | @@ -25,6 +26,13 @@ |
| 25 | 26 | private Date created; |
| 26 | 27 | |
| 27 | 28 | |
| 29 | + public String getWeek() { | |
| 30 | + return Week; | |
| 31 | + } | |
| 32 | + | |
| 33 | + public void setWeek(String week) { | |
| 34 | + Week = week; | |
| 35 | + } | |
| 28 | 36 | |
| 29 | 37 | public String getHospitalId() { |
| 30 | 38 | return hospitalId; |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java
View file @
ece1ed4
| ... | ... | @@ -178,24 +178,38 @@ |
| 178 | 178 | } |
| 179 | 179 | |
| 180 | 180 | /** |
| 181 | - * 稀有血型专病门诊 添加or更新 | |
| 181 | + * 稀有血型专病门诊 添加 | |
| 182 | 182 | */ |
| 183 | - @RequestMapping(value = "/rareAddOrUpdate", method = RequestMethod.POST) | |
| 183 | + @RequestMapping(value = "/rareAdd", method = RequestMethod.POST) | |
| 184 | 184 | @ResponseBody |
| 185 | 185 | @TokenRequired |
| 186 | - public BaseResponse addOrUpdate(@RequestBody RareBloodGroupModel rareBloodGroupModel, HttpServletRequest request) { | |
| 186 | + public BaseResponse add(@RequestBody RareBloodGroupModel rareBloodGroupModel, HttpServletRequest request) { | |
| 187 | 187 | LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); |
| 188 | - return rareBloodGroupService.addOrUpdate( loginState.getId(),rareBloodGroupModel); | |
| 188 | + return rareBloodGroupService.add(loginState.getId(), rareBloodGroupModel); | |
| 189 | 189 | } |
| 190 | + @RequestMapping(value = "/wxRareAdd", method = RequestMethod.POST) | |
| 191 | + @ResponseBody | |
| 192 | + public BaseResponse wxRareAdd(@RequestBody RareBloodGroupModel rareBloodGroupModel) { | |
| 193 | + return rareBloodGroupService.add(null, rareBloodGroupModel); | |
| 194 | + } | |
| 190 | 195 | /** |
| 191 | - *稀有血型专病门诊 详情 | |
| 196 | + * 稀有血型专病门诊更新 | |
| 192 | 197 | */ |
| 198 | + @RequestMapping(value = "/rareUpdate", method = RequestMethod.POST) | |
| 193 | 199 | @ResponseBody |
| 194 | - @RequestMapping(value = "/infoRare", method = RequestMethod.GET) | |
| 195 | 200 | @TokenRequired |
| 196 | - public BaseResponse infoRare(RareBloodGroupModel rareBloodGroupModel, HttpServletRequest request) { | |
| 201 | + public BaseResponse Update(@RequestBody RareBloodGroupModel rareBloodGroupModel, HttpServletRequest request) { | |
| 197 | 202 | LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); |
| 198 | - return rareBloodGroupService.info( loginState.getId(),rareBloodGroupModel); | |
| 203 | + return rareBloodGroupService.Update(loginState.getId(), rareBloodGroupModel); | |
| 204 | + } | |
| 205 | + | |
| 206 | + /** | |
| 207 | + * 稀有血型专病门诊 详情 | |
| 208 | + */ | |
| 209 | + @ResponseBody | |
| 210 | + @RequestMapping(value = "/infoListRare", method = RequestMethod.GET) | |
| 211 | + public BaseResponse infoListRare(RareBloodGroupModel rareBloodGroupModel, HttpServletRequest request) { | |
| 212 | + return rareBloodGroupService.infoListRare(null, rareBloodGroupModel); | |
| 199 | 213 | } |
| 200 | 214 | |
| 201 | 215 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/RareBloodGroupService.java
View file @
ece1ed4
| ... | ... | @@ -8,9 +8,11 @@ |
| 8 | 8 | |
| 9 | 9 | public interface RareBloodGroupService extends IBaseService { |
| 10 | 10 | |
| 11 | - BaseResponse addOrUpdate(Integer userId, RareBloodGroupModel rareBloodGroupModel); | |
| 11 | + BaseResponse add(Integer userId, RareBloodGroupModel rareBloodGroupModel); | |
| 12 | 12 | |
| 13 | - BaseResponse info(Integer userId, RareBloodGroupModel rareBloodGroupModel); | |
| 13 | + BaseResponse Update(Integer userId, RareBloodGroupModel rareBloodGroupModel); | |
| 14 | + | |
| 15 | + BaseResponse infoListRare(Integer userId, RareBloodGroupModel rareBloodGroupModel); | |
| 14 | 16 | |
| 15 | 17 | List<RareBloodGroupModel> queryList(RareQuery rareQuery); |
| 16 | 18 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/RareBloodGroupServiceImpl.java
View file @
ece1ed4
| 1 | 1 | package com.lyms.platform.operate.web.service.impl; |
| 2 | 2 | |
| 3 | +import com.alibaba.fastjson.JSON; | |
| 4 | +import com.alibaba.fastjson.JSONObject; | |
| 3 | 5 | import com.lyms.platform.biz.dal.IRareBloodGroupDao; |
| 6 | +import com.lyms.platform.biz.service.PatientsService; | |
| 7 | +import com.lyms.platform.common.constants.ErrorCodeConstants; | |
| 4 | 8 | import com.lyms.platform.common.dao.operator.MongoQuery; |
| 5 | -import com.lyms.platform.common.enums.OptActionEnums; | |
| 6 | 9 | import com.lyms.platform.common.enums.YnEnums; |
| 7 | -import com.lyms.platform.common.result.BaseObjectResponse; | |
| 8 | 10 | import com.lyms.platform.common.result.BaseResponse; |
| 9 | -import com.lyms.platform.common.result.PageResult; | |
| 10 | 11 | import com.lyms.platform.common.result.RespBuilder; |
| 12 | +import com.lyms.platform.common.utils.DateUtil; | |
| 11 | 13 | import com.lyms.platform.common.utils.MongoConvertHelper; |
| 12 | 14 | import com.lyms.platform.common.utils.ReflectionUtils; |
| 13 | 15 | import com.lyms.platform.operate.web.facade.AutoMatchFacade; |
| 14 | 16 | import com.lyms.platform.operate.web.service.RareBloodGroupService; |
| 15 | -import com.lyms.platform.pojo.*; | |
| 17 | +import com.lyms.platform.pojo.Patients; | |
| 18 | +import com.lyms.platform.pojo.RareBloodGroupModel; | |
| 16 | 19 | import com.lyms.platform.query.RareQuery; |
| 17 | 20 | import org.apache.commons.lang.StringUtils; |
| 18 | 21 | import org.slf4j.Logger; |
| ... | ... | @@ -25,8 +28,7 @@ |
| 25 | 28 | import org.springframework.data.mongodb.core.query.Update; |
| 26 | 29 | import org.springframework.stereotype.Service; |
| 27 | 30 | |
| 28 | -import java.util.Date; | |
| 29 | -import java.util.List; | |
| 31 | +import java.util.*; | |
| 30 | 32 | |
| 31 | 33 | /** |
| 32 | 34 | * 稀有血型 |
| 33 | 35 | |
| 34 | 36 | |
| 35 | 37 | |
| 36 | 38 | |
| 37 | 39 | |
| 38 | 40 | |
| 39 | 41 | |
| 40 | 42 | |
| 41 | 43 | |
| ... | ... | @@ -42,47 +44,89 @@ |
| 42 | 44 | private AutoMatchFacade autoMatchFacade; |
| 43 | 45 | @Autowired |
| 44 | 46 | private MongoTemplate mongoTemplate; |
| 47 | + @Autowired | |
| 48 | + private PatientsService patientsService; | |
| 45 | 49 | |
| 46 | 50 | @Override |
| 47 | - public BaseResponse addOrUpdate(Integer userId, RareBloodGroupModel rareBloodGroupModel) { | |
| 48 | - String hospitalId = autoMatchFacade.getHospitalId(userId); | |
| 49 | - List<RareBloodGroupModel> babyDietReportList = null; | |
| 50 | - if (rareBloodGroupModel != null && rareBloodGroupModel.getParentId() != null) { | |
| 51 | - babyDietReportList = mongoTemplate.find(Query.query(Criteria.where("parentId").is(rareBloodGroupModel.getParentId()). | |
| 52 | - and("hospitalId").is(hospitalId). | |
| 53 | - and("yn").is(YnEnums.YES.getId())), RareBloodGroupModel.class); | |
| 54 | - } | |
| 55 | - if (babyDietReportList != null && babyDietReportList.size() > 0) { | |
| 56 | - //更新 | |
| 57 | - rareBloodGroupModel.setCreated(new Date()); | |
| 51 | + public BaseResponse add(Integer userId, RareBloodGroupModel rareBloodGroupModel) { | |
| 52 | + try { | |
| 53 | + | |
| 54 | + if (userId != null && "1".equals(rareBloodGroupModel.getSource())){ | |
| 55 | + String hospitalId = autoMatchFacade.getHospitalId(userId); | |
| 56 | + rareBloodGroupModel.setHospitalId(hospitalId); | |
| 57 | + rareBloodGroupModel.setSource("1"); | |
| 58 | + | |
| 59 | + } else if (userId == null && "2".equals(rareBloodGroupModel.getSource())) { | |
| 60 | + if (rareBloodGroupModel.getParentId() != null) { | |
| 61 | + Patients pat = patientsService.findOnePatientById(rareBloodGroupModel.getParentId()); | |
| 62 | + if (pat != null) { | |
| 63 | + rareBloodGroupModel.setHospitalId(pat.getHospitalId()); | |
| 64 | + rareBloodGroupModel.setPid(pat.getPid()); | |
| 65 | + rareBloodGroupModel.setSource("2"); | |
| 66 | + } | |
| 67 | + } | |
| 68 | + }else { | |
| 69 | + return new BaseResponse(); | |
| 70 | + } | |
| 58 | 71 | rareBloodGroupModel.setYn(YnEnums.YES.getId()); |
| 59 | - rareBloodGroupModel.setHospitalId(hospitalId); | |
| 60 | - Update update = MongoConvertHelper.convertToNativeUpdate(ReflectionUtils.getUpdateField(rareBloodGroupModel)); | |
| 61 | - mongoTemplate.updateFirst(Query.query(Criteria.where("parentId").is(rareBloodGroupModel.getId())), update, RareBloodGroupModel.class); | |
| 62 | - } else { | |
| 63 | - rareBloodGroupModel.setHospitalId(hospitalId); | |
| 64 | - rareBloodGroupModel.setYn(YnEnums.YES.getId()); | |
| 65 | 72 | rareBloodGroupModel.setCreated(new Date()); |
| 73 | + Patients p = mongoTemplate.findById(rareBloodGroupModel.getParentId(), Patients.class); | |
| 74 | + rareBloodGroupModel.setWeek(DateUtil.getWeekDesc(p.getLastMenses(), new Date()));//录入孕周 | |
| 66 | 75 | rareBloodGroupDao.addRare(rareBloodGroupModel); |
| 76 | + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); | |
| 77 | + } catch (Exception e) { | |
| 78 | + e.printStackTrace(); | |
| 67 | 79 | } |
| 68 | - return RespBuilder.buildSuccess(rareBloodGroupModel); | |
| 80 | + return new BaseResponse(); | |
| 69 | 81 | } |
| 70 | 82 | |
| 83 | + | |
| 84 | + | |
| 71 | 85 | @Override |
| 72 | - public BaseResponse info(Integer userId, RareBloodGroupModel rareBloodGroupModel) { | |
| 73 | - String hospitalId = autoMatchFacade.getHospitalId(userId); | |
| 86 | + public BaseResponse Update(Integer userId, RareBloodGroupModel rareBloodGroupModel) { | |
| 87 | + try { | |
| 88 | +// Patients p = mongoTemplate.findById(rareBloodGroupModel.getParentId(), Patients.class); | |
| 89 | +// rareBloodGroupModel.setWeek( DateUtil.getWeekDesc(p.getLastMenses(), new Date()));//录入孕周 | |
| 90 | + Update update = MongoConvertHelper | |
| 91 | + .convertToNativeUpdate(ReflectionUtils.getUpdateField(rareBloodGroupModel)); | |
| 92 | + JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(rareBloodGroupModel)); | |
| 93 | + mongoTemplate.updateFirst(Query.query(Criteria.where("id").is(jsonObject.getString("id"))), update, rareBloodGroupModel.getClass()); | |
| 94 | + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); | |
| 95 | + } catch (Exception e) { | |
| 96 | + e.printStackTrace(); | |
| 97 | + } | |
| 98 | + return new BaseResponse(); | |
| 99 | + | |
| 100 | + } | |
| 101 | + | |
| 102 | + | |
| 103 | + @Override | |
| 104 | + public BaseResponse infoListRare(Integer userId, RareBloodGroupModel rareBloodGroupModel) { | |
| 105 | + List<Map<String, Object>> list = new ArrayList(); | |
| 106 | + Map<String, Object> map = new HashMap<>(); | |
| 74 | 107 | List<RareBloodGroupModel> babyDietReportList = null; |
| 75 | - if (rareBloodGroupModel != null && StringUtils.isNotEmpty(rareBloodGroupModel.getParentId())) { | |
| 76 | - babyDietReportList = mongoTemplate.find( | |
| 77 | - Query.query(Criteria.where("hospitalId").is(hospitalId) | |
| 78 | - .and("parentId").is(rareBloodGroupModel.getParentId()) | |
| 79 | - .and("yn").is(YnEnums.YES.getId())), RareBloodGroupModel.class); | |
| 108 | + try { | |
| 109 | + if (rareBloodGroupModel != null && StringUtils.isNotEmpty(rareBloodGroupModel.getPid())) { | |
| 110 | + babyDietReportList = mongoTemplate.find(Query.query(Criteria.where("pid").is(rareBloodGroupModel.getPid()).and("yn").is(YnEnums.YES.getId())), RareBloodGroupModel.class); | |
| 111 | + if (babyDietReportList != null) { | |
| 112 | + for (int i = 0; i < babyDietReportList.size(); i++) { | |
| 113 | + RareBloodGroupModel rareBloodGroupModel1 = babyDietReportList.get(i); | |
| 114 | + map.put("entryTime", DateUtil.getyyyy_MM_dd(rareBloodGroupModel1.getCreated()));//录入时间 | |
| 115 | + map.put("bloodGroupGenotyping", rareBloodGroupModel1.getBloodGroupGenotyping());//血型基因分型 | |
| 116 | + map.put("bloodGroupAntibody", rareBloodGroupModel1.getBloodGroupAntibody());//血型抗体效价滴度 | |
| 117 | + map.put("inputWeek", rareBloodGroupModel1.getWeek());//录入孕周 | |
| 118 | + Patients p = mongoTemplate.findById(rareBloodGroupModel1.getParentId(), Patients.class); | |
| 119 | + map.put("currentWeek", DateUtil.getWeekDesc(p.getLastMenses(), new Date()));//当前孕周 | |
| 120 | + map.put("username", p.getUsername());//姓名 | |
| 121 | + map.put("dueDate", DateUtil.getyyyy_MM_dd(p.getDueDate()));//预产期 | |
| 122 | + list.add(map); | |
| 123 | + } | |
| 124 | + } | |
| 125 | + } | |
| 126 | + } catch (Exception e) { | |
| 127 | + e.printStackTrace(); | |
| 80 | 128 | } |
| 81 | - RareBloodGroupModel rareBloodGroupModel1 = null; | |
| 82 | - if (babyDietReportList.size() > 0) { | |
| 83 | - rareBloodGroupModel1 = babyDietReportList.get(0); | |
| 84 | - } | |
| 85 | - return RespBuilder.buildSuccess(rareBloodGroupModel1); | |
| 129 | + return RespBuilder.buildSuccess(list); | |
| 86 | 130 | } |
| 87 | 131 | |
| 88 | 132 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/RareListWorker.java
View file @
ece1ed4
| ... | ... | @@ -28,6 +28,7 @@ |
| 28 | 28 | import org.apache.commons.lang.math.NumberUtils; |
| 29 | 29 | import org.slf4j.Logger; |
| 30 | 30 | import org.slf4j.LoggerFactory; |
| 31 | +import org.springframework.data.domain.Sort; | |
| 31 | 32 | import org.springframework.data.mongodb.core.MongoTemplate; |
| 32 | 33 | import org.springframework.data.mongodb.core.query.Criteria; |
| 33 | 34 | import org.springframework.data.mongodb.core.query.Query; |
| ... | ... | @@ -94,7 +95,7 @@ |
| 94 | 95 | StopWatch stopWatch = new StopWatch("TwinsPatientWorker -" + patients.getId()); |
| 95 | 96 | |
| 96 | 97 | List<RareBloodGroupModel> babyDietReportList = mongoTemplate.find(Query.query(Criteria.where("hospitalId").is(patients.getHospitalId()) |
| 97 | - .and("parentId").is(patients.getId()).and("yn").is(YnEnums.YES.getId())), RareBloodGroupModel.class); | |
| 98 | + .and("parentId").is(patients.getId()).and("yn").is(YnEnums.YES.getId())).with(new Sort(Sort.Direction.DESC, "created")), RareBloodGroupModel.class); | |
| 98 | 99 | if(babyDietReportList.size()==0){ |
| 99 | 100 | continue; |
| 100 | 101 | }else { |