Commit 171be5457191a57f6e3db78e459c8375a9ce6d8c
1 parent
9a75391dff
Exists in
master
and in
6 other branches
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 | } |