Commit ece1ed4d2da9ecdac042bc427791dae988a9c8d7

Authored by wtt
1 parent d2a823e1f6

update

Showing 5 changed files with 116 additions and 47 deletions

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 {