Commit 171be5457191a57f6e3db78e459c8375a9ce6d8c
1 parent
9a75391dff
Exists in
master
and in
1 other branch
update
Showing 4 changed files with 250 additions and 36 deletions
- platform-dal/src/main/java/com/lyms/platform/pojo/PostkfModel.java
- platform-dal/src/main/java/com/lyms/platform/pojo/PostkfPgModel.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PostkfController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostkfFaccade.java
platform-dal/src/main/java/com/lyms/platform/pojo/PostkfModel.java
View file @
171be54
platform-dal/src/main/java/com/lyms/platform/pojo/PostkfPgModel.java
View file @
171be54
| ... | ... | @@ -14,6 +14,8 @@ |
| 14 | 14 | */ |
| 15 | 15 | @Document(collection = "lyms_postkfpg") |
| 16 | 16 | public class PostkfPgModel extends BaseModel { |
| 17 | + private static final long serialVersionUID = 4642751215173152594L; | |
| 18 | + | |
| 17 | 19 | private String id; |
| 18 | 20 | //PostkfModel的主键 |
| 19 | 21 | private String pgId; |
| 20 | 22 | |
| 21 | 23 | |
| ... | ... | @@ -21,11 +23,38 @@ |
| 21 | 23 | private String mid; |
| 22 | 24 | private String pid; |
| 23 | 25 | private String patientId; |
| 24 | - private String upDoctorId;//上一次医生 | |
| 25 | - private String currentDoctorId;//本次医生 | |
| 26 | + private String upDoctor;//上一次医生 | |
| 27 | + private String currentDoctor;//本次医生 | |
| 28 | + private String upType;//上一次评估内容key | |
| 29 | + private String currentType;//本次评估内容的key | |
| 26 | 30 | private String hospitalId; |
| 27 | 31 | private Date created; |
| 32 | + private Integer status; //1 为确认 2 已确认 | |
| 28 | 33 | |
| 34 | + public Integer getStatus() { | |
| 35 | + return status; | |
| 36 | + } | |
| 37 | + | |
| 38 | + public void setStatus(Integer status) { | |
| 39 | + this.status = status; | |
| 40 | + } | |
| 41 | + | |
| 42 | + public String getUpType() { | |
| 43 | + return upType; | |
| 44 | + } | |
| 45 | + | |
| 46 | + public void setUpType(String upType) { | |
| 47 | + this.upType = upType; | |
| 48 | + } | |
| 49 | + | |
| 50 | + public String getCurrentType() { | |
| 51 | + return currentType; | |
| 52 | + } | |
| 53 | + | |
| 54 | + public void setCurrentType(String currentType) { | |
| 55 | + this.currentType = currentType; | |
| 56 | + } | |
| 57 | + | |
| 29 | 58 | public String getId() { |
| 30 | 59 | return id; |
| 31 | 60 | } |
| 32 | 61 | |
| 33 | 62 | |
| 34 | 63 | |
| ... | ... | @@ -66,20 +95,20 @@ |
| 66 | 95 | this.pgId = pgId; |
| 67 | 96 | } |
| 68 | 97 | |
| 69 | - public String getUpDoctorId() { | |
| 70 | - return upDoctorId; | |
| 98 | + public String getUpDoctor() { | |
| 99 | + return upDoctor; | |
| 71 | 100 | } |
| 72 | 101 | |
| 73 | - public void setUpDoctorId(String upDoctorId) { | |
| 74 | - this.upDoctorId = upDoctorId; | |
| 102 | + public void setUpDoctor(String upDoctor) { | |
| 103 | + this.upDoctor = upDoctor; | |
| 75 | 104 | } |
| 76 | 105 | |
| 77 | - public String getCurrentDoctorId() { | |
| 78 | - return currentDoctorId; | |
| 106 | + public String getCurrentDoctor() { | |
| 107 | + return currentDoctor; | |
| 79 | 108 | } |
| 80 | 109 | |
| 81 | - public void setCurrentDoctorId(String currentDoctorId) { | |
| 82 | - this.currentDoctorId = currentDoctorId; | |
| 110 | + public void setCurrentDoctor(String currentDoctor) { | |
| 111 | + this.currentDoctor = currentDoctor; | |
| 83 | 112 | } |
| 84 | 113 | |
| 85 | 114 | public String getHospitalId() { |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PostkfController.java
View file @
171be54
| ... | ... | @@ -101,7 +101,21 @@ |
| 101 | 101 | @ResponseBody |
| 102 | 102 | @RequestMapping(value = "/getPostPgRecord", method = RequestMethod.GET) |
| 103 | 103 | public BaseResponse getPostPgRecord(HttpServletRequest request,@RequestParam(required = true) Integer page,@RequestParam(required = true) Integer limit) { |
| 104 | - return postkfFaccade.getPostPgRecord(getUserId(request),page,limit); | |
| 104 | + return postkfFaccade.getPostPgRecord(getUserId(request), page, limit); | |
| 105 | + } | |
| 106 | + | |
| 107 | + | |
| 108 | + /** | |
| 109 | + * 设置确认 | |
| 110 | + * @param request | |
| 111 | + * @param id | |
| 112 | + * @return | |
| 113 | + */ | |
| 114 | + @TokenRequired | |
| 115 | + @ResponseBody | |
| 116 | + @RequestMapping(value = "/setPostPgRecord", method = RequestMethod.GET) | |
| 117 | + public BaseResponse setPostPgRecord(HttpServletRequest request,@RequestParam(required = true) String id) { | |
| 118 | + return postkfFaccade.setPostPgRecord(getUserId(request),id); | |
| 105 | 119 | } |
| 106 | 120 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostkfFaccade.java
View file @
171be54
| ... | ... | @@ -64,34 +64,159 @@ |
| 64 | 64 | |
| 65 | 65 | public BaseResponse addPostKf(PostkfModel postkfModel, Integer userId) { |
| 66 | 66 | |
| 67 | - MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); | |
| 68 | - matDeliverQuery.setId(postkfModel.getMid()); | |
| 69 | - matDeliverQuery.setYn(YnEnums.YES.getId()); | |
| 70 | - List <MaternalDeliverModel> list2 = matDeliverService.query(matDeliverQuery); | |
| 71 | - if (CollectionUtils.isNotEmpty(list2)) | |
| 67 | + compareDoctor(postkfModel); | |
| 68 | + | |
| 69 | +// MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); | |
| 70 | +// matDeliverQuery.setId(postkfModel.getMid()); | |
| 71 | +// matDeliverQuery.setYn(YnEnums.YES.getId()); | |
| 72 | +// List <MaternalDeliverModel> list2 = matDeliverService.query(matDeliverQuery); | |
| 73 | +// if (CollectionUtils.isNotEmpty(list2)) | |
| 74 | +// { | |
| 75 | +// MaternalDeliverModel maternalDeliverModel = list2.get(0); | |
| 76 | +// maternalDeliverModel.setStatus(postkfModel.getStatus()); | |
| 77 | +// matDeliverService.updateOne(maternalDeliverModel,maternalDeliverModel.getId()); | |
| 78 | +// } | |
| 79 | +// if (StringUtils.isNotEmpty(postkfModel.getId())) | |
| 80 | +// { | |
| 81 | +// postkfModel.setModified(new Date()); | |
| 82 | +// Query query = Query.query(Criteria.where("_id").is(postkfModel.getId())); | |
| 83 | +// mongoTemplate.remove(query, PostkfModel.class); | |
| 84 | +// mongoTemplate.save(postkfModel); | |
| 85 | +// return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); | |
| 86 | +// } | |
| 87 | +// String hospitalId = autoMatchFacade.getHospitalId(userId); | |
| 88 | +// postkfModel.setHospitalId(hospitalId); | |
| 89 | +// postkfModel.setOperaterId(String.valueOf(userId)); | |
| 90 | +// postkfModel.setCreated(new Date()); | |
| 91 | +// postkfModel.setModified(new Date()); | |
| 92 | +// mongoTemplate.save(postkfModel); | |
| 93 | + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); | |
| 94 | + } | |
| 95 | + | |
| 96 | + private void compareDoctor(PostkfModel postkfModel) | |
| 97 | + { | |
| 98 | + Query query1 = new Query(); | |
| 99 | + query1.addCriteria(Criteria.where("mid").in(postkfModel.getMid())); | |
| 100 | + PostkfModel postModel = mongoTemplate.findOne(query1, PostkfModel.class); | |
| 101 | + if (postModel != null) | |
| 72 | 102 | { |
| 73 | - MaternalDeliverModel maternalDeliverModel = list2.get(0); | |
| 74 | - maternalDeliverModel.setStatus(postkfModel.getStatus()); | |
| 75 | - matDeliverService.updateOne(maternalDeliverModel,maternalDeliverModel.getId()); | |
| 103 | + | |
| 104 | + //大于1的时候才能使用后一条跟前一条进行比对 | |
| 105 | + if (postkfModel.getStatus().size() > 1) | |
| 106 | + { | |
| 107 | + int compareStatus = -1; | |
| 108 | + int currentStatus = postkfModel.getStatus().get(postkfModel.getStatus().size() - 1); | |
| 109 | + for (int i = 1 ; i < postkfModel.getStatus().size()-1; i++) | |
| 110 | + { | |
| 111 | + if (postModel.getStatus().contains(currentStatus - i)) | |
| 112 | + { | |
| 113 | + compareStatus = currentStatus - i; | |
| 114 | + break; | |
| 115 | + } | |
| 116 | + } | |
| 117 | + | |
| 118 | + String compareKey = getKey(compareStatus); | |
| 119 | + String currentKey = getKey(currentStatus); | |
| 120 | + | |
| 121 | + Map<String,Object> upzzjj = postModel.getZzjj(); | |
| 122 | + Map<String,Object> currentzzjj = postkfModel.getZzjj(); | |
| 123 | + compare(postModel, compareKey, currentKey, upzzjj,currentzzjj); | |
| 124 | + | |
| 125 | + Map<String,Object> upjbzl = postModel.getJbzl(); | |
| 126 | + Map<String,Object> currentjbzl = postkfModel.getJbzl(); | |
| 127 | + compare(postModel, compareKey, currentKey, upjbzl,currentjbzl); | |
| 128 | + | |
| 129 | + Map<String,Object> upsskf = postModel.getSskf(); | |
| 130 | + Map<String,Object> currentsskf = postkfModel.getSskf(); | |
| 131 | + compare(postModel, compareKey, currentKey, upsskf,currentsskf); | |
| 132 | + | |
| 133 | + | |
| 134 | + Map<String,Object> upwcgnjt = postModel.getWcgnjt(); | |
| 135 | + Map<String,Object> currentwcgnjt = postkfModel.getWcgnjt(); | |
| 136 | + compare(postModel, compareKey, currentKey, upwcgnjt,currentwcgnjt); | |
| 137 | + | |
| 138 | + Map<String,Object> upnsj = postModel.getNsj(); | |
| 139 | + Map<String,Object> currentnsj = postkfModel.getNsj(); | |
| 140 | + compare(postModel, compareKey, currentKey, upnsj,currentnsj); | |
| 141 | + | |
| 142 | + Map<String,Object> upndl = postModel.getNdl(); | |
| 143 | + Map<String,Object> currentndl = postkfModel.getNdl(); | |
| 144 | + compare(postModel, compareKey, currentKey, upndl,currentndl); | |
| 145 | + | |
| 146 | + Map<String,Object> uprf = postModel.getRf(); | |
| 147 | + Map<String,Object> currentrf = postkfModel.getRf(); | |
| 148 | + compare(postModel, compareKey, currentKey, uprf,currentrf); | |
| 149 | + | |
| 150 | + Map<String,Object> upelyc = postModel.getElyc(); | |
| 151 | + Map<String,Object> currentelyc = postkfModel.getElyc(); | |
| 152 | + compare(postModel, compareKey, currentKey, upelyc,currentelyc); | |
| 153 | + | |
| 154 | + Map<String,Object> uprxy = postModel.getRxy(); | |
| 155 | + Map<String,Object> currentrxy = postkfModel.getRxy(); | |
| 156 | + compare(postModel, compareKey, currentKey, uprxy,currentrxy); | |
| 157 | + | |
| 158 | + | |
| 159 | + Map<String,Object> uppdjss = postModel.getPdjss(); | |
| 160 | + Map<String,Object> currentpdjss = postkfModel.getPdjss(); | |
| 161 | + compare(postModel, compareKey, currentKey, uppdjss,currentpdjss); | |
| 162 | + | |
| 163 | + Map<String,Object> upfzjss = postModel.getFzjss(); | |
| 164 | + Map<String,Object> currentFzjss = postkfModel.getFzjss(); | |
| 165 | + compare(postModel, compareKey, currentKey, upfzjss,currentFzjss); | |
| 166 | + | |
| 167 | + Map<String,Object> upfp = postModel.getFp(); | |
| 168 | + Map<String,Object> currentfp = postkfModel.getFp(); | |
| 169 | + compare(postModel, compareKey, currentKey, upfp,currentfp); | |
| 170 | + | |
| 171 | + | |
| 172 | + Map<String,Object> upcglhfl = postModel.getCglhfl(); | |
| 173 | + Map<String,Object> currentcglhfl = postkfModel.getCglhfl(); | |
| 174 | + compare(postModel, compareKey, currentKey, upcglhfl,currentcglhfl); | |
| 175 | + | |
| 176 | + Map<String,Object> upbjyf = postModel.getBjyf(); | |
| 177 | + Map<String,Object> currentbjyf = postkfModel.getBjyf(); | |
| 178 | + compare(postModel, compareKey, currentKey, upbjyf,currentbjyf); | |
| 179 | + } | |
| 76 | 180 | } |
| 77 | - if (StringUtils.isNotEmpty(postkfModel.getId())) | |
| 181 | + } | |
| 182 | + | |
| 183 | + | |
| 184 | + private void compare(PostkfModel postModel,String compareKey,String currentKey, Map<String,Object> up,Map<String,Object> current) | |
| 185 | + { | |
| 186 | + String compareValue = up.get(compareKey) == null ? null : up.get(compareKey).toString(); | |
| 187 | + String currentValue = current.get(currentKey) == null ? null : current.get(currentKey).toString(); | |
| 188 | + if (StringUtils.isNotEmpty(compareValue) && StringUtils.isNotEmpty(currentValue) && !compareValue.equals(currentValue)) | |
| 78 | 189 | { |
| 79 | - postkfModel.setModified(new Date()); | |
| 80 | - Query query = Query.query(Criteria.where("_id").is(postkfModel.getId())); | |
| 81 | - Update update = MongoConvertHelper | |
| 82 | - .convertToNativeUpdate(ReflectionUtils.getUpdateField(postkfModel)); | |
| 83 | - mongoTemplate.updateFirst(query, update, PostkfModel.class); | |
| 84 | - return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); | |
| 190 | + savePgRecord(postModel, compareValue, currentValue, compareKey, currentKey); | |
| 85 | 191 | } |
| 86 | - String hospitalId = autoMatchFacade.getHospitalId(userId); | |
| 87 | - postkfModel.setHospitalId(hospitalId); | |
| 88 | - postkfModel.setOperaterId(String.valueOf(userId)); | |
| 89 | - postkfModel.setCreated(new Date()); | |
| 90 | - postkfModel.setModified(new Date()); | |
| 91 | - mongoTemplate.save(postkfModel); | |
| 92 | - return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); | |
| 93 | 192 | } |
| 94 | 193 | |
| 194 | + private String getKey(int status) | |
| 195 | + { | |
| 196 | + String key = ""; | |
| 197 | + switch (status) | |
| 198 | + { | |
| 199 | + case 1: | |
| 200 | + key = "cyqpgdoctor"; | |
| 201 | + break; | |
| 202 | + case 2: | |
| 203 | + key= "ch7tdoctor"; | |
| 204 | + break; | |
| 205 | + case 3: | |
| 206 | + key= "ch14tdoctor"; | |
| 207 | + break; | |
| 208 | + case 4: | |
| 209 | + key= "ch28tdoctor"; | |
| 210 | + break; | |
| 211 | + case 5: | |
| 212 | + key= "ch42tdoctor"; | |
| 213 | + break; | |
| 214 | + } | |
| 215 | + | |
| 216 | + return key; | |
| 217 | + } | |
| 218 | + | |
| 219 | + | |
| 95 | 220 | public BaseResponse getPostKf(String mid, Integer userId) { |
| 96 | 221 | List<PostkfModel> postkfModels = mongoTemplate.find(Query.query(Criteria.where("mid"). |
| 97 | 222 | is(mid)), PostkfModel.class); |
| ... | ... | @@ -298,6 +423,35 @@ |
| 298 | 423 | return baseListResponse; |
| 299 | 424 | } |
| 300 | 425 | |
| 426 | + private void savePgRecord(PostkfModel postkfModel,String upDoctor,String currentDoctor,String upType,String currentType) | |
| 427 | + { | |
| 428 | + | |
| 429 | + PostkfPgModel postkfPgModel = new PostkfPgModel(); | |
| 430 | + postkfPgModel.setUpDoctor(upDoctor); | |
| 431 | + postkfPgModel.setCurrentDoctor(currentDoctor); | |
| 432 | + Query query = new Query(); | |
| 433 | + query.addCriteria(Criteria.where("mid").is(postkfModel.getMid())); | |
| 434 | + query.addCriteria(Criteria.where("upDoctor").is(postkfPgModel.getUpDoctor())); | |
| 435 | + query.addCriteria(Criteria.where("currentDoctor").is(postkfPgModel.getCurrentDoctor())); | |
| 436 | + query.addCriteria(Criteria.where("upType").is(upType)); | |
| 437 | + query.addCriteria(Criteria.where("currentType").is(currentType)); | |
| 438 | + List<PostkfPgModel> models = mongoTemplate.find(query, PostkfPgModel.class); | |
| 439 | + if (CollectionUtils.isEmpty(models)) | |
| 440 | + { | |
| 441 | + postkfPgModel.setUpType(upType); | |
| 442 | + postkfPgModel.setCurrentType(currentType); | |
| 443 | + postkfPgModel.setHospitalId(postkfModel.getHospitalId()); | |
| 444 | + postkfPgModel.setMid(postkfModel.getMid()); | |
| 445 | + postkfPgModel.setPatientId(postkfModel.getPatientId()); | |
| 446 | + postkfPgModel.setPid(postkfModel.getPid()); | |
| 447 | + postkfPgModel.setPgId(postkfModel.getId()); | |
| 448 | + postkfPgModel.setCreated(new Date()); | |
| 449 | + postkfPgModel.setStatus(1); | |
| 450 | + mongoTemplate.save(postkfPgModel); | |
| 451 | + } | |
| 452 | + | |
| 453 | + } | |
| 454 | + | |
| 301 | 455 | public BaseResponse getPostPgRecord(Integer userId,Integer page,Integer limit) { |
| 302 | 456 | String hospitalId = autoMatchFacade.getHospitalId(userId); |
| 303 | 457 | Query query = new Query(); |
| ... | ... | @@ -305,7 +459,8 @@ |
| 305 | 459 | baseQuery.setPage(page); |
| 306 | 460 | baseQuery.setLimit(limit); |
| 307 | 461 | query.addCriteria(Criteria.where("hospitalId").is(hospitalId)); |
| 308 | - query.addCriteria(Criteria.where("upDoctorId").is(String.valueOf(userId))); | |
| 462 | + query.addCriteria(Criteria.where("status").is(1)); | |
| 463 | + query.addCriteria(Criteria.where("upDoctor").is(usersService.getUsers(userId).getName())); | |
| 309 | 464 | |
| 310 | 465 | query.with(new Sort(Sort.Direction.DESC, "created")); |
| 311 | 466 | long count = mongoTemplate.count(query, DefectiveChildModel.class); |
| ... | ... | @@ -321,8 +476,8 @@ |
| 321 | 476 | Map data = new HashMap(); |
| 322 | 477 | data.put("created",DateUtil.getyyyy_MM_dd(model.getCreated())); |
| 323 | 478 | data.put("mid",model.getMid()); |
| 324 | - data.put("upDoctor",usersService.getUsers(Integer.valueOf(model.getUpDoctorId())).getName()); | |
| 325 | - data.put("currentDoctor",usersService.getUsers(Integer.valueOf(model.getCurrentDoctorId())).getName()); | |
| 479 | + data.put("upDoctor",model.getUpDoctor()); | |
| 480 | + data.put("currentDoctor",model.getCurrentDoctor()); | |
| 326 | 481 | data.put("id",model.getId()); |
| 327 | 482 | datas.add(data); |
| 328 | 483 | } |
| ... | ... | @@ -331,6 +486,19 @@ |
| 331 | 486 | baseListResponse.setData(datas); |
| 332 | 487 | baseListResponse.setPageInfo(baseQuery.getPageInfo()); |
| 333 | 488 | return baseListResponse; |
| 489 | + } | |
| 490 | + | |
| 491 | + public BaseResponse setPostPgRecord(Integer userId, String id) { | |
| 492 | + Query query = new Query(); | |
| 493 | + query.addCriteria(Criteria.where("id").is(id)); | |
| 494 | + PostkfPgModel model = mongoTemplate.findOne(query, PostkfPgModel.class); | |
| 495 | + if (model != null) | |
| 496 | + { | |
| 497 | + mongoTemplate.remove(query, PostkfPgModel.class); | |
| 498 | + model.setStatus(2); | |
| 499 | + mongoTemplate.save(model); | |
| 500 | + } | |
| 501 | + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); | |
| 334 | 502 | } |
| 335 | 503 | } |