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 | } |