Commit 49d1e06a7d6b7f4872996f062d8e11ce29ce7111
1 parent
f142466d69
Exists in
master
and in
6 other branches
肌萎缩导出
Showing 6 changed files with 206 additions and 10 deletions
- platform-dal/src/main/java/com/lyms/platform/pojo/HusbandSmn.java
- platform-dal/src/main/java/com/lyms/platform/pojo/SmnModel.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SmnController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmnFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SmnQueryRequest.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/SmnResult.java
platform-dal/src/main/java/com/lyms/platform/pojo/HusbandSmn.java
View file @
49d1e06
| ... | ... | @@ -23,6 +23,7 @@ |
| 23 | 23 | private String marriage;//父母是否近亲结婚 1 是 2 否 |
| 24 | 24 | private String sendHospitalId;//送检医院 |
| 25 | 25 | |
| 26 | + private Date reviceDate;//接收时间 | |
| 26 | 27 | private Integer status; //1 未申请 2 已申请 3 已接收 4 已筛查 5 不合格 |
| 27 | 28 | private String hospitalId;//当前录入机构id |
| 28 | 29 | private Double smn7; //基因外显子7 |
| ... | ... | @@ -41,6 +42,13 @@ |
| 41 | 42 | private String orgCityId; |
| 42 | 43 | private String orgAreaId; |
| 43 | 44 | |
| 45 | + public Date getReviceDate() { | |
| 46 | + return reviceDate; | |
| 47 | + } | |
| 48 | + | |
| 49 | + public void setReviceDate(Date reviceDate) { | |
| 50 | + this.reviceDate = reviceDate; | |
| 51 | + } | |
| 44 | 52 | |
| 45 | 53 | public String getId() { |
| 46 | 54 | return id; |
platform-dal/src/main/java/com/lyms/platform/pojo/SmnModel.java
View file @
49d1e06
| ... | ... | @@ -66,7 +66,7 @@ |
| 66 | 66 | private String approver;//批准人 |
| 67 | 67 | private Date checkDate;//检查日期 |
| 68 | 68 | private Date created;//创建记录时间 |
| 69 | - | |
| 69 | + private Date reviceDate;//接收时间 | |
| 70 | 70 | private Map<String,Object> cqzd;//产前诊断 |
| 71 | 71 | private Map<String,Object> ycxsc;//遗传学筛查 |
| 72 | 72 | private Map<String,Object> mtys;//母体因素 |
| ... | ... | @@ -76,6 +76,15 @@ |
| 76 | 76 | private Date sfDate;//随访日期 |
| 77 | 77 | private Date ysfDate;//应随访日期 |
| 78 | 78 | private Integer sfStatus;//随访状态 0 正常状态 1 产前诊断 2 继续妊娠 3 失联 4终止妊娠 5 分娩 6随访完成 |
| 79 | + | |
| 80 | + | |
| 81 | + public Date getReviceDate() { | |
| 82 | + return reviceDate; | |
| 83 | + } | |
| 84 | + | |
| 85 | + public void setReviceDate(Date reviceDate) { | |
| 86 | + this.reviceDate = reviceDate; | |
| 87 | + } | |
| 79 | 88 | |
| 80 | 89 | public Date getYsfDate() { |
| 81 | 90 | return ysfDate; |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SmnController.java
View file @
49d1e06
| ... | ... | @@ -15,6 +15,7 @@ |
| 15 | 15 | import org.springframework.web.bind.annotation.*; |
| 16 | 16 | |
| 17 | 17 | import javax.servlet.http.HttpServletRequest; |
| 18 | +import javax.servlet.http.HttpServletResponse; | |
| 18 | 19 | |
| 19 | 20 | @Controller |
| 20 | 21 | public class SmnController extends BaseController { |
| ... | ... | @@ -172,6 +173,21 @@ |
| 172 | 173 | @TokenRequired |
| 173 | 174 | public BaseListResponse getSmnList(@JsonAlias SmnQueryRequest param, HttpServletRequest request) { |
| 174 | 175 | return smnFacade.getSmnList(param, getUserId(request)); |
| 176 | + } | |
| 177 | + | |
| 178 | + /** | |
| 179 | + * 列表导出 | |
| 180 | + * @param param | |
| 181 | + * @param request | |
| 182 | + * @param response | |
| 183 | + */ | |
| 184 | + @RequestMapping(method = RequestMethod.GET, value = "/exportSmnList") | |
| 185 | + @ResponseBody | |
| 186 | + @TokenRequired | |
| 187 | + public void exportSmnList(@JsonAlias SmnQueryRequest param, HttpServletRequest request, HttpServletResponse response) { | |
| 188 | + param.setPage(1); | |
| 189 | + param.setLimit(10000); | |
| 190 | + smnFacade.exportSmnList(param, getUserId(request),response); | |
| 175 | 191 | } |
| 176 | 192 | |
| 177 | 193 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmnFacade.java
View file @
49d1e06
| ... | ... | @@ -7,10 +7,7 @@ |
| 7 | 7 | import com.lyms.platform.common.result.BaseListResponse; |
| 8 | 8 | import com.lyms.platform.common.result.BaseObjectResponse; |
| 9 | 9 | import com.lyms.platform.common.result.BaseResponse; |
| 10 | -import com.lyms.platform.common.utils.DateUtil; | |
| 11 | -import com.lyms.platform.common.utils.MongoConvertHelper; | |
| 12 | -import com.lyms.platform.common.utils.ReflectionUtils; | |
| 13 | -import com.lyms.platform.common.utils.StringUtils; | |
| 10 | +import com.lyms.platform.common.utils.*; | |
| 14 | 11 | import com.lyms.platform.operate.web.request.SmnQueryRequest; |
| 15 | 12 | import com.lyms.platform.operate.web.request.SmnRequest; |
| 16 | 13 | import com.lyms.platform.operate.web.result.SmnResult; |
| ... | ... | @@ -32,6 +29,9 @@ |
| 32 | 29 | import org.springframework.data.mongodb.core.query.Update; |
| 33 | 30 | import org.springframework.stereotype.Component; |
| 34 | 31 | |
| 32 | +import javax.servlet.http.HttpServletResponse; | |
| 33 | +import java.io.IOException; | |
| 34 | +import java.io.OutputStream; | |
| 35 | 35 | import java.util.*; |
| 36 | 36 | |
| 37 | 37 | @Component |
| 38 | 38 | |
| ... | ... | @@ -130,7 +130,15 @@ |
| 130 | 130 | } |
| 131 | 131 | |
| 132 | 132 | public BaseListResponse getSmnList(SmnQueryRequest param, Integer userId) { |
| 133 | + List<SmnResult> results = getSmsListResult( param, userId); | |
| 134 | + BaseListResponse baseListResponse = new BaseListResponse(); | |
| 135 | + baseListResponse.setData(results); | |
| 136 | + baseListResponse.setPageInfo(param.getPageInfo()); | |
| 137 | + return baseListResponse; | |
| 138 | + } | |
| 133 | 139 | |
| 140 | + private List<SmnResult> getSmsListResult(SmnQueryRequest param,Integer userId) | |
| 141 | + { | |
| 134 | 142 | String hospitalId = autoMatchFacade.getHospitalId(userId); |
| 135 | 143 | Query query = new Query(); |
| 136 | 144 | if(param.getQueryType() == 1) |
| 137 | 145 | |
| ... | ... | @@ -219,7 +227,19 @@ |
| 219 | 227 | end = DateUtil.getDayLastSecond(end); |
| 220 | 228 | query.addCriteria(Criteria.where("husbandSmns.checkDate").gte(start).lte(end)); |
| 221 | 229 | } |
| 230 | + String husbandReviceDate = param.getHusbandReviceDate(); | |
| 231 | + if (StringUtils.isNotEmpty(husbandReviceDate)) { | |
| 232 | + String[] arrs = husbandReviceDate.split(" - "); | |
| 233 | + Date start = DateUtil.parseYMD(arrs[0]); | |
| 234 | + Date end = DateUtil.parseYMD(arrs[1]); | |
| 235 | + end = DateUtil.getDayLastSecond(end); | |
| 236 | + query.addCriteria(Criteria.where("husbandSmns.reviceDate").gte(start).lte(end)); | |
| 237 | + } | |
| 222 | 238 | |
| 239 | + String husbandSendDoctor = param.getHusbandSendDoctor(); | |
| 240 | + if (husbandSendDoctor != null) { | |
| 241 | + query.addCriteria(Criteria.where("husbandSmns.sendDoctor").is(husbandSendDoctor)); | |
| 242 | + } | |
| 223 | 243 | |
| 224 | 244 | if(StringUtils.isNotEmpty(param.getQueryNo())) |
| 225 | 245 | { |
| 226 | 246 | |
| 227 | 247 | |
| ... | ... | @@ -254,11 +274,26 @@ |
| 254 | 274 | query.addCriteria(Criteria.where("checkDate").gte(start).lte(end)); |
| 255 | 275 | } |
| 256 | 276 | |
| 277 | + String reviceDate = param.getReviceDate(); | |
| 278 | + if (StringUtils.isNotEmpty(reviceDate)) { | |
| 279 | + String[] arrs = reviceDate.split(" - "); | |
| 280 | + Date start = DateUtil.parseYMD(arrs[0]); | |
| 281 | + Date end = DateUtil.parseYMD(arrs[1]); | |
| 282 | + end = DateUtil.getDayLastSecond(end); | |
| 283 | + query.addCriteria(Criteria.where("reviceDate").gte(start).lte(end)); | |
| 284 | + } | |
| 257 | 285 | |
| 286 | + | |
| 258 | 287 | Integer sfStatus = param.getSfStatus(); |
| 259 | 288 | if (sfStatus != null) { |
| 260 | 289 | query.addCriteria(Criteria.where("sfStatus").is(sfStatus)); |
| 261 | 290 | } |
| 291 | + | |
| 292 | + | |
| 293 | + String sendDoctor = param.getSendDoctor(); | |
| 294 | + if (sendDoctor != null) { | |
| 295 | + query.addCriteria(Criteria.where("sendDoctor").is(sendDoctor)); | |
| 296 | + } | |
| 262 | 297 | String sfDate = param.getSfDate(); |
| 263 | 298 | if (StringUtils.isNotEmpty(sfDate)) { |
| 264 | 299 | String[] arrs = sfDate.split(" - "); |
| ... | ... | @@ -310,7 +345,6 @@ |
| 310 | 345 | { |
| 311 | 346 | SmnResult re = new SmnResult(); |
| 312 | 347 | BeanUtils.copyProperties(model, re); |
| 313 | - | |
| 314 | 348 | re.setSendHospital(organizationService.getOrganizationName(model.getSendHospitalId())); |
| 315 | 349 | re.setApplyWeek(DateUtil.getWeekDesc(model.getLastMenses(),model.getSendDate())); |
| 316 | 350 | re.setCurrentWeek(DateUtil.getWeekDesc(model.getLastMenses(),new Date())); |
| 317 | 351 | |
| 318 | 352 | |
| ... | ... | @@ -320,18 +354,18 @@ |
| 320 | 354 | model.getStreetRegisterId(), |
| 321 | 355 | model.getAddressRegister(), basicConfigService)); |
| 322 | 356 | re.setPnationStr(CommonsHelper.getName1(model.getPnationId(),basicConfigService)); |
| 357 | + re.setReviceDateStr(DateUtil.getyyyy_MM_dd(model.getReviceDate())); | |
| 358 | + re.setYsfDateStr(DateUtil.getyyyy_MM_dd(model.getYsfDate())); | |
| 323 | 359 | results.add(re); |
| 324 | 360 | } |
| 325 | 361 | } |
| 326 | - BaseListResponse baseListResponse = new BaseListResponse(); | |
| 327 | - baseListResponse.setData(results); | |
| 328 | - baseListResponse.setPageInfo(param.getPageInfo()); | |
| 329 | - return baseListResponse; | |
| 362 | + return results; | |
| 330 | 363 | } |
| 331 | 364 | |
| 332 | 365 | public BaseResponse setSmnStatus(String id, Integer status) { |
| 333 | 366 | Query query = Query.query(Criteria.where("id").is(id)); |
| 334 | 367 | SmnModel smnModel = new SmnModel(); |
| 368 | + smnModel.setReviceDate(new Date()); | |
| 335 | 369 | smnModel.setStatus(status); |
| 336 | 370 | smnModel.setId(id); |
| 337 | 371 | Update update = MongoConvertHelper |
| ... | ... | @@ -491,6 +525,7 @@ |
| 491 | 525 | { |
| 492 | 526 | if (husbandSmn.getId().equals(id)) |
| 493 | 527 | { |
| 528 | + husbandSmn.setReviceDate(new Date()); | |
| 494 | 529 | husbandSmn.setStatus(status); |
| 495 | 530 | } |
| 496 | 531 | } |
| ... | ... | @@ -557,6 +592,89 @@ |
| 557 | 592 | .convertToNativeUpdate(ReflectionUtils.getUpdateField(smnModel)); |
| 558 | 593 | mongoTemplate.updateFirst(query1, update, SmnModel.class); |
| 559 | 594 | return new BaseResponse(); |
| 595 | + } | |
| 596 | + | |
| 597 | + public void exportSmnList(SmnQueryRequest param, Integer userId, HttpServletResponse response) { | |
| 598 | + | |
| 599 | + List<SmnResult> results = getSmsListResult(param,userId); | |
| 600 | + List<Map<String, Object>> datas = new ArrayList<>(); | |
| 601 | + if (CollectionUtils.isNotEmpty(results)) | |
| 602 | + { | |
| 603 | + for (SmnResult result : results) | |
| 604 | + { | |
| 605 | + Map<String, Object> data = new HashMap<>(); | |
| 606 | + data.put("name", result.getUsername()); | |
| 607 | + data.put("cardNo", result.getCardNo()); | |
| 608 | + data.put("age", DateUtil.getAge(result.getBirth(),result.getSendDate())); | |
| 609 | + data.put("phone", result.getPhone()); | |
| 610 | + data.put("address", result.getAddressRegisterStr()); | |
| 611 | + data.put("applyDate", DateUtil.getyyyy_MM_dd(result.getSendDate())); | |
| 612 | + data.put("reviceDateStr", result.getReviceDateStr()); | |
| 613 | + data.put("sendHospital", result.getSendHospital()); | |
| 614 | + String status = ""; | |
| 615 | + //1 未申请 2 已申请 3 已接收 4 已筛查 5 不合格 | |
| 616 | + if (result.getStatus() == 1) | |
| 617 | + { | |
| 618 | + status = "未申请"; | |
| 619 | + } | |
| 620 | + else if (result.getStatus() == 2) | |
| 621 | + { | |
| 622 | + status = "已申请"; | |
| 623 | + } | |
| 624 | + else if (result.getStatus() == 3) | |
| 625 | + { | |
| 626 | + status = "已接收"; | |
| 627 | + } | |
| 628 | + else if (result.getStatus() == 4) | |
| 629 | + { | |
| 630 | + status = "已筛查"; | |
| 631 | + } | |
| 632 | + else if (result.getStatus() == 5) | |
| 633 | + { | |
| 634 | + status = "不合格"; | |
| 635 | + } | |
| 636 | + data.put("status", status); | |
| 637 | + data.put("week", result.getApplyWeek()); | |
| 638 | + data.put("ybNum", result.getYbNum()); | |
| 639 | + data.put("checkDate", DateUtil.getyyyy_MM_dd(result.getCheckDate())); | |
| 640 | + data.put("smn7", result.getSmn7() == null ? "" : result.getSmn7()); | |
| 641 | + data.put("smn8", result.getSmn8() == null ? "" : result.getSmn8()); | |
| 642 | + data.put("result", result.getResult() == null ? "" : (result.getResult() == 1 ? "阴性" : "阳性")); | |
| 643 | +// data.put("ysfDate", "应随访日期"); | |
| 644 | +// data.put("sfStatus", "随访状态"); | |
| 645 | + datas.add(data); | |
| 646 | + } | |
| 647 | + } | |
| 648 | + OutputStream out = null; | |
| 649 | + try { | |
| 650 | + out = response.getOutputStream(); | |
| 651 | + Map <String, String> cnames = new LinkedHashMap <>(); | |
| 652 | + cnames.put("name", "姓名"); | |
| 653 | + cnames.put("cardNo", "身份证号"); | |
| 654 | + cnames.put("age", "年龄"); | |
| 655 | + cnames.put("phone", "电话"); | |
| 656 | + cnames.put("address", "居住地址"); | |
| 657 | + cnames.put("applyDate", "申请日期"); | |
| 658 | + cnames.put("sendHospital", "送检医院"); | |
| 659 | + cnames.put("reviceDateStr", "接收时间"); | |
| 660 | + cnames.put("status", "当前状态"); | |
| 661 | + cnames.put("week", "申请孕周"); | |
| 662 | + cnames.put("ybNum", "样本号"); | |
| 663 | + cnames.put("checkDate", "检查日期"); | |
| 664 | + cnames.put("smn7", "基因外显子7"); | |
| 665 | + cnames.put("smn8", "基因外显子8"); | |
| 666 | + cnames.put("result", "筛查结果"); | |
| 667 | +// cnames.put("ysfDate", "应随访日期"); | |
| 668 | +// cnames.put("sfStatus", "随访状态"); | |
| 669 | + | |
| 670 | + response.setContentType("application/octet-stream"); | |
| 671 | + response.setCharacterEncoding("UTF-8"); | |
| 672 | + response.setHeader("Content-Disposition", "attachment;fileName=" + "smn.xls"); | |
| 673 | + ExcelUtil.toExcel(out, datas, cnames); | |
| 674 | + } catch (IOException e) { | |
| 675 | + e.printStackTrace(); | |
| 676 | + } | |
| 677 | + | |
| 560 | 678 | } |
| 561 | 679 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SmnQueryRequest.java
View file @
49d1e06
| ... | ... | @@ -21,12 +21,15 @@ |
| 21 | 21 | private String orgCityId; |
| 22 | 22 | private String orgAreaId; |
| 23 | 23 | private String sendDoctor;//送检医生 |
| 24 | + private String husbandSendDoctor;//送检医生 | |
| 24 | 25 | private Integer startWeek; |
| 25 | 26 | private Integer endWeek; |
| 26 | 27 | |
| 27 | 28 | |
| 28 | 29 | private String husbandQueryNo;//查询号 身份证号码,手机号码,姓名 |
| 29 | 30 | private String husbandSendDate;//送检时间 |
| 31 | + private String husbandReviceDate;//丈夫接收时间 | |
| 32 | + private String ReviceDate;//孕妇接收时间 | |
| 30 | 33 | private String husbandYbNum;//样本号 |
| 31 | 34 | private Integer husbandStatus; //1 未申请 2 已申请 3 已接收 4 已筛查 5 不合格 |
| 32 | 35 | private Integer husbandResult; //1 阴性 2 阳性 |
| ... | ... | @@ -36,6 +39,29 @@ |
| 36 | 39 | private String ysfDate;//应随访日期 |
| 37 | 40 | private Integer sfStatus;//随访状态 0 正常状态 1 产前诊断 2 继续妊娠 3 失联 4终止妊娠 5 分娩 6随访完成 |
| 38 | 41 | |
| 42 | + public String getHusbandSendDoctor() { | |
| 43 | + return husbandSendDoctor; | |
| 44 | + } | |
| 45 | + | |
| 46 | + public void setHusbandSendDoctor(String husbandSendDoctor) { | |
| 47 | + this.husbandSendDoctor = husbandSendDoctor; | |
| 48 | + } | |
| 49 | + | |
| 50 | + public String getHusbandReviceDate() { | |
| 51 | + return husbandReviceDate; | |
| 52 | + } | |
| 53 | + | |
| 54 | + public void setHusbandReviceDate(String husbandReviceDate) { | |
| 55 | + this.husbandReviceDate = husbandReviceDate; | |
| 56 | + } | |
| 57 | + | |
| 58 | + public String getReviceDate() { | |
| 59 | + return ReviceDate; | |
| 60 | + } | |
| 61 | + | |
| 62 | + public void setReviceDate(String reviceDate) { | |
| 63 | + ReviceDate = reviceDate; | |
| 64 | + } | |
| 39 | 65 | |
| 40 | 66 | public String getSendDoctor() { |
| 41 | 67 | return sendDoctor; |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/SmnResult.java
View file @
49d1e06
| ... | ... | @@ -12,6 +12,25 @@ |
| 12 | 12 | private String currentWeek; //当前孕周 |
| 13 | 13 | private String pnationStr; //民族 |
| 14 | 14 | private String sendHospital;//送检医院 |
| 15 | + private String reviceDateStr;//接收时间 | |
| 16 | + private String ysfDateStr;//应随访日期 | |
| 17 | + | |
| 18 | + | |
| 19 | + public String getYsfDateStr() { | |
| 20 | + return ysfDateStr; | |
| 21 | + } | |
| 22 | + | |
| 23 | + public void setYsfDateStr(String ysfDateStr) { | |
| 24 | + this.ysfDateStr = ysfDateStr; | |
| 25 | + } | |
| 26 | + | |
| 27 | + public String getReviceDateStr() { | |
| 28 | + return reviceDateStr; | |
| 29 | + } | |
| 30 | + | |
| 31 | + public void setReviceDateStr(String reviceDateStr) { | |
| 32 | + this.reviceDateStr = reviceDateStr; | |
| 33 | + } | |
| 15 | 34 | |
| 16 | 35 | public String getSendHospital() { |
| 17 | 36 | return sendHospital; |