Commit 3def751d81b507164e18700bb77260da08f6fc69
1 parent
9779ede0c6
Exists in
master
and in
6 other branches
肌萎缩
Showing 3 changed files with 177 additions and 31 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SmnController.java
View file @
3def751
... | ... | @@ -50,6 +50,15 @@ |
50 | 50 | return smnFacade.editHusbandSmn(param, getUserId(request)); |
51 | 51 | } |
52 | 52 | |
53 | + @RequestMapping(method = RequestMethod.POST, value = "/addHusbandSmnResult") | |
54 | + @ResponseBody | |
55 | + @TokenRequired | |
56 | + public BaseResponse addHusbandSmnResult(@RequestBody HusbandSmn param, HttpServletRequest request) { | |
57 | + return smnFacade.addHusbandSmnResult(param, getUserId(request)); | |
58 | + } | |
59 | + | |
60 | + | |
61 | + | |
53 | 62 | |
54 | 63 | /** |
55 | 64 | * 编辑单个 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmnFacade.java
View file @
3def751
... | ... | @@ -129,13 +129,6 @@ |
129 | 129 | |
130 | 130 | String hospitalId = autoMatchFacade.getHospitalId(userId); |
131 | 131 | Query query = new Query(); |
132 | - | |
133 | - if(StringUtils.isNotEmpty(param.getQueryNo())) | |
134 | - { | |
135 | - query.addCriteria(new Criteria().orOperator(Criteria.where("phone").is(param.getQueryNo()), Criteria.where("cardNo").is(param.getQueryNo()), Criteria.where("username").is(param.getQueryNo()))); | |
136 | - } | |
137 | - | |
138 | - | |
139 | 132 | if(param.getQueryType() == 1) |
140 | 133 | { |
141 | 134 | if ("2100001291".equals(hospitalId)) |
142 | 135 | |
143 | 136 | |
144 | 137 | |
... | ... | @@ -187,31 +180,59 @@ |
187 | 180 | } |
188 | 181 | |
189 | 182 | |
183 | + if(StringUtils.isNotEmpty(param.getHusbandQueryNo())) | |
184 | + { | |
185 | + query.addCriteria(new Criteria(). | |
186 | + orOperator(Criteria.where("husbandSmns.husbandPhone").is(param.getHusbandQueryNo()), | |
187 | + Criteria.where("husbandSmns.husbandCardNo").is(param.getHusbandQueryNo()), | |
188 | + Criteria.where("husbandSmns.husbandName").is(param.getHusbandQueryNo()))); | |
189 | + } | |
190 | + String husbandYbNum = param.getHusbandYbNum(); | |
191 | + if (StringUtils.isNotEmpty(husbandYbNum)) { | |
192 | + query.addCriteria(Criteria.where("husbandSmns.ybNum").is(husbandYbNum)); | |
193 | + } | |
194 | + Integer husbandStatus = param.getHusbandStatus(); | |
195 | + if (husbandStatus != null) { | |
196 | + query.addCriteria(Criteria.where("husbandSmns.status").is(husbandStatus)); | |
197 | + } | |
198 | + Integer husbandResult = param.getHusbandResult(); | |
199 | + if (husbandResult != null) { | |
200 | + query.addCriteria(Criteria.where("husbandSmns.result").is(husbandResult)); | |
201 | + } | |
202 | + String husbandSendDate = param.getHusbandSendDate(); | |
203 | + if (StringUtils.isNotEmpty(husbandSendDate)) { | |
204 | + String[] arrs = husbandSendDate.split(" - "); | |
205 | + Date start = DateUtil.parseYMD(arrs[0]); | |
206 | + Date end = DateUtil.parseYMD(arrs[1]); | |
207 | + end = DateUtil.getDayLastSecond(end); | |
208 | + query.addCriteria(Criteria.where("husbandSmns.sendDate").gte(start).lte(end)); | |
209 | + } | |
210 | + String husbandCheckDate = param.getHusbandCheckDate(); | |
211 | + if (StringUtils.isNotEmpty(husbandCheckDate)) { | |
212 | + String[] arrs = husbandCheckDate.split(" - "); | |
213 | + Date start = DateUtil.parseYMD(arrs[0]); | |
214 | + Date end = DateUtil.parseYMD(arrs[1]); | |
215 | + end = DateUtil.getDayLastSecond(end); | |
216 | + query.addCriteria(Criteria.where("husbandSmns.checkDate").gte(start).lte(end)); | |
217 | + } | |
218 | + | |
219 | + | |
220 | + if(StringUtils.isNotEmpty(param.getQueryNo())) | |
221 | + { | |
222 | + query.addCriteria(new Criteria().orOperator(Criteria.where("phone").is(param.getQueryNo()), Criteria.where("cardNo").is(param.getQueryNo()), Criteria.where("username").is(param.getQueryNo()))); | |
223 | + } | |
190 | 224 | String ybNum = param.getYbNum(); |
191 | 225 | if (StringUtils.isNotEmpty(ybNum)) { |
192 | 226 | query.addCriteria(Criteria.where("ybNum").is(ybNum)); |
193 | 227 | } |
194 | - | |
195 | 228 | Integer status = param.getStatus(); |
196 | 229 | if (status != null) { |
197 | 230 | query.addCriteria(Criteria.where("status").is(status)); |
198 | 231 | } |
199 | - | |
200 | 232 | Integer result = param.getResult(); |
201 | 233 | if (result != null) { |
202 | 234 | query.addCriteria(Criteria.where("result").is(result)); |
203 | 235 | } |
204 | - | |
205 | - Integer startWeek = param.getStartWeek(); | |
206 | - if (startWeek != null) { | |
207 | - query.addCriteria(Criteria.where("lastMenses").lte(DateUtil.addWeek(new Date(),-startWeek))); | |
208 | - } | |
209 | - | |
210 | - Integer endWeek = param.getEndWeek(); | |
211 | - if (endWeek != null) { | |
212 | - query.addCriteria(Criteria.where("lastMenses").gte(DateUtil.addWeek(new Date(),-endWeek))); | |
213 | - } | |
214 | - | |
215 | 236 | String sendDate = param.getSendDate(); |
216 | 237 | if (StringUtils.isNotEmpty(sendDate)) { |
217 | 238 | String[] arrs = sendDate.split(" - "); |
... | ... | @@ -220,16 +241,6 @@ |
220 | 241 | end = DateUtil.getDayLastSecond(end); |
221 | 242 | query.addCriteria(Criteria.where("sendDate").gte(start).lte(end)); |
222 | 243 | } |
223 | - | |
224 | - String created = param.getCreated(); | |
225 | - if (StringUtils.isNotEmpty(created)) { | |
226 | - String[] arrs = created.split(" - "); | |
227 | - Date start = DateUtil.parseYMD(arrs[0]); | |
228 | - Date end = DateUtil.parseYMD(arrs[1]); | |
229 | - end = DateUtil.getDayLastSecond(end); | |
230 | - query.addCriteria(Criteria.where("created").gte(start).lte(end)); | |
231 | - } | |
232 | - | |
233 | 244 | String checkDate = param.getCheckDate(); |
234 | 245 | if (StringUtils.isNotEmpty(checkDate)) { |
235 | 246 | String[] arrs = checkDate.split(" - "); |
... | ... | @@ -238,6 +249,21 @@ |
238 | 249 | end = DateUtil.getDayLastSecond(end); |
239 | 250 | query.addCriteria(Criteria.where("checkDate").gte(start).lte(end)); |
240 | 251 | } |
252 | + | |
253 | + | |
254 | + | |
255 | + | |
256 | + Integer startWeek = param.getStartWeek(); | |
257 | + if (startWeek != null) { | |
258 | + query.addCriteria(Criteria.where("lastMenses").lte(DateUtil.addWeek(new Date(),-startWeek))); | |
259 | + } | |
260 | + | |
261 | + Integer endWeek = param.getEndWeek(); | |
262 | + if (endWeek != null) { | |
263 | + query.addCriteria(Criteria.where("lastMenses").gte(DateUtil.addWeek(new Date(),-endWeek))); | |
264 | + } | |
265 | + | |
266 | + | |
241 | 267 | if (StringUtils.isNotEmpty(param.getPatientId())) |
242 | 268 | { |
243 | 269 | query.with(new Sort(Sort.Direction.ASC, "sendDate")); |
... | ... | @@ -351,7 +377,62 @@ |
351 | 377 | { |
352 | 378 | if (husbandSmn.getId().equals(param.getId())) |
353 | 379 | { |
354 | - BeanUtils.copyProperties(param,husbandSmn); | |
380 | + BeanUtils.copyProperties(param,husbandSmn,com.lyms.platform.common.utils.BeanUtils.getNullPropertyNames(param)); | |
381 | + } | |
382 | + } | |
383 | + } | |
384 | + smnModel.setHusbandSmns(husbandSmns); | |
385 | + | |
386 | + Update update = MongoConvertHelper | |
387 | + .convertToNativeUpdate(ReflectionUtils.getUpdateField(smnModel)); | |
388 | + mongoTemplate.updateFirst(query, update, SmnModel.class); | |
389 | + | |
390 | + return new BaseResponse(); | |
391 | + } | |
392 | + | |
393 | + public BaseResponse addHusbandSmnResult(HusbandSmn param, Integer userId) { | |
394 | + Query query = Query.query(Criteria.where("id").is(param.getParentId())); | |
395 | + SmnModel smnModel = mongoTemplate.findOne(query, SmnModel.class); | |
396 | + | |
397 | + List<HusbandSmn> husbandSmns = smnModel.getHusbandSmns(); | |
398 | + if (CollectionUtils.isNotEmpty(husbandSmns)) | |
399 | + { | |
400 | + for (HusbandSmn husbandSmn : husbandSmns) | |
401 | + { | |
402 | + if (husbandSmn.getId().equals(param.getId())) | |
403 | + { | |
404 | + BeanUtils.copyProperties(param,husbandSmn,com.lyms.platform.common.utils.BeanUtils.getNullPropertyNames(param)); | |
405 | + if (param.getSmn7() != null && param.getSmn8() != null) | |
406 | + { | |
407 | + param.setStatus(4);//已经筛查 | |
408 | + String smn7Result = "未缺失"; | |
409 | + String smn8Result = "未缺失"; | |
410 | + if (param.getSmn7() > 0.8) | |
411 | + { | |
412 | + smn7Result = "纯合缺失"; | |
413 | + } else if (param.getSmn7() > -0.45 && param.getSmn7() <=0.45) | |
414 | + { | |
415 | + smn7Result = "杂合缺失"; | |
416 | + } | |
417 | + | |
418 | + if (param.getSmn8() > 1.5) | |
419 | + { | |
420 | + smn8Result = "纯合缺失"; | |
421 | + }else if (param.getSmn8() > -0.45 && param.getSmn8() <= 0.45) | |
422 | + { | |
423 | + smn8Result = "杂合缺失"; | |
424 | + } | |
425 | + param.setSmn7Result(smn7Result); | |
426 | + param.setSmn8Result(smn8Result); | |
427 | + if ((param.getSmn7() > -0.45 && param.getSmn7() <=0.45) || (param.getSmn8() > -0.45 && param.getSmn8() <=0.45)) | |
428 | + { | |
429 | + param.setResult(2); | |
430 | + } | |
431 | + else | |
432 | + { | |
433 | + param.setResult(1); | |
434 | + } | |
435 | + } | |
355 | 436 | } |
356 | 437 | } |
357 | 438 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SmnQueryRequest.java
View file @
3def751
... | ... | @@ -24,6 +24,62 @@ |
24 | 24 | private Integer startWeek; |
25 | 25 | private Integer endWeek; |
26 | 26 | |
27 | + | |
28 | + private String husbandQueryNo;//查询号 身份证号码,手机号码,姓名 | |
29 | + private String husbandSendDate;//送检时间 | |
30 | + private String husbandYbNum;//样本号 | |
31 | + private Integer husbandStatus; //1 未申请 2 已申请 3 已接收 4 已筛查 5 不合格 | |
32 | + private Integer husbandResult; //1 阴性 2 阳性 | |
33 | + private String husbandCheckDate;//检查日期 | |
34 | + | |
35 | + public String getHusbandSendDate() { | |
36 | + return husbandSendDate; | |
37 | + } | |
38 | + | |
39 | + public void setHusbandSendDate(String husbandSendDate) { | |
40 | + this.husbandSendDate = husbandSendDate; | |
41 | + } | |
42 | + | |
43 | + public String getHusbandYbNum() { | |
44 | + return husbandYbNum; | |
45 | + } | |
46 | + | |
47 | + public void setHusbandYbNum(String husbandYbNum) { | |
48 | + this.husbandYbNum = husbandYbNum; | |
49 | + } | |
50 | + | |
51 | + public Integer getHusbandStatus() { | |
52 | + return husbandStatus; | |
53 | + } | |
54 | + | |
55 | + public void setHusbandStatus(Integer husbandStatus) { | |
56 | + this.husbandStatus = husbandStatus; | |
57 | + } | |
58 | + | |
59 | + public Integer getHusbandResult() { | |
60 | + return husbandResult; | |
61 | + } | |
62 | + | |
63 | + public void setHusbandResult(Integer husbandResult) { | |
64 | + this.husbandResult = husbandResult; | |
65 | + } | |
66 | + | |
67 | + public String getHusbandCheckDate() { | |
68 | + return husbandCheckDate; | |
69 | + } | |
70 | + | |
71 | + public void setHusbandCheckDate(String husbandCheckDate) { | |
72 | + this.husbandCheckDate = husbandCheckDate; | |
73 | + } | |
74 | + | |
75 | + public String getHusbandQueryNo() { | |
76 | + return husbandQueryNo; | |
77 | + } | |
78 | + | |
79 | + public void setHusbandQueryNo(String husbandQueryNo) { | |
80 | + this.husbandQueryNo = husbandQueryNo; | |
81 | + } | |
82 | + | |
27 | 83 | public Integer getStartWeek() { |
28 | 84 | return startWeek; |
29 | 85 | } |