Commit 3def751d81b507164e18700bb77260da08f6fc69

Authored by liquanyu
1 parent 9779ede0c6

肌萎缩

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 }