Commit a09bb3ce7f3e80c07cca2529e0bf402f6d101be6

Authored by liquanyu
1 parent 74ad7ac495
Exists in master and in 1 other branch dev

筛查统计

Showing 2 changed files with 119 additions and 8 deletions

platform-dal/src/main/java/com/lyms/platform/query/SieveResultQuery.java View file @ a09bb3c
... ... @@ -62,6 +62,26 @@
62 62 private String cspj;// 产筛评价
63 63 private String stzhz13; //13-三体
64 64  
  65 + //结果录入时间
  66 + private Date resultTimeStart;
  67 + private Date resultTimeEnd;
  68 +
  69 + public Date getResultTimeStart() {
  70 + return resultTimeStart;
  71 + }
  72 +
  73 + public void setResultTimeStart(Date resultTimeStart) {
  74 + this.resultTimeStart = resultTimeStart;
  75 + }
  76 +
  77 + public Date getResultTimeEnd() {
  78 + return resultTimeEnd;
  79 + }
  80 +
  81 + public void setResultTimeEnd(Date resultTimeEnd) {
  82 + this.resultTimeEnd = resultTimeEnd;
  83 + }
  84 +
65 85 public String getTszhz() {
66 86 return tszhz;
67 87 }
... ... @@ -213,6 +233,13 @@
213 233 c1 = c1.where("modified").gte(modifiedStart).lte(modifiedEnd);
214 234 } else {
215 235 c1 = Criteria.where("modified").gte(modifiedStart).lte(modifiedEnd);
  236 + }
  237 + }
  238 + if (null != resultTimeStart && resultTimeEnd != null) {
  239 + if (null != c1) {
  240 + c1 = c1.where("resultTime").gte(resultTimeStart).lte(resultTimeEnd);
  241 + } else {
  242 + c1 = Criteria.where("resultTime").gte(resultTimeStart).lte(resultTimeEnd);
216 243 }
217 244 }
218 245 if (null != c1) {
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java View file @ a09bb3c
... ... @@ -1405,19 +1405,43 @@
1405 1405 if (CollectionUtils.isNotEmpty(patientIds))
1406 1406 {
1407 1407 SieveResultQuery sieveResultQuery = new SieveResultQuery();
  1408 + if (dates != null) {
  1409 + sieveResultQuery.setResultTimeStart(DateUtil.parseYMD(dates[0]));
  1410 + if (dates.length == 2) {
  1411 + sieveResultQuery.setResultTimeEnd(DateUtil.parseYMDHMS(dates[1]));
  1412 + }
  1413 + }
1408 1414 sieveResultQuery.setParentIds(patientIds);
1409 1415 sieveResultQuery.setYn(YnEnums.YES.getId());
  1416 + if (dates != null) {
  1417 + sieveResultQuery.setResultTimeStart(DateUtil.parseYMD(dates[0]));
  1418 + if (dates.length == 2) {
  1419 + sieveResultQuery.setResultTimeEnd(DateUtil.parseYMDHMS(dates[1]));
  1420 + }
  1421 + }
1410 1422 sieveResultQuery.setTszhz("2");
1411 1423 st21Count = sieveService.queryListSieveResultCount(sieveResultQuery);
1412 1424  
1413 1425  
1414 1426 sieveResultQuery = new SieveResultQuery();
  1427 + if (dates != null) {
  1428 + sieveResultQuery.setResultTimeStart(DateUtil.parseYMD(dates[0]));
  1429 + if (dates.length == 2) {
  1430 + sieveResultQuery.setResultTimeEnd(DateUtil.parseYMDHMS(dates[1]));
  1431 + }
  1432 + }
1415 1433 sieveResultQuery.setParentIds(patientIds);
1416 1434 sieveResultQuery.setYn(YnEnums.YES.getId());
1417 1435 sieveResultQuery.setSbst("2");
1418 1436 int temp1 = sieveService.queryListSieveResultCount(sieveResultQuery);
1419 1437  
1420 1438 sieveResultQuery = new SieveResultQuery();
  1439 + if (dates != null) {
  1440 + sieveResultQuery.setResultTimeStart(DateUtil.parseYMD(dates[0]));
  1441 + if (dates.length == 2) {
  1442 + sieveResultQuery.setResultTimeEnd(DateUtil.parseYMDHMS(dates[1]));
  1443 + }
  1444 + }
1421 1445 sieveResultQuery.setParentIds(patientIds);
1422 1446 sieveResultQuery.setYn(YnEnums.YES.getId());
1423 1447 sieveResultQuery.setStzhz13("2");
... ... @@ -1426,6 +1450,12 @@
1426 1450  
1427 1451  
1428 1452 sieveResultQuery = new SieveResultQuery();
  1453 + if (dates != null) {
  1454 + sieveResultQuery.setResultTimeStart(DateUtil.parseYMD(dates[0]));
  1455 + if (dates.length == 2) {
  1456 + sieveResultQuery.setResultTimeEnd(DateUtil.parseYMDHMS(dates[1]));
  1457 + }
  1458 + }
1429 1459 sieveResultQuery.setParentIds(patientIds);
1430 1460 sieveResultQuery.setYn(YnEnums.YES.getId());
1431 1461 sieveResultQuery.setSjgjx("2");
... ... @@ -1459,9 +1489,6 @@
1459 1489 }
1460 1490 }
1461 1491 disExcCount = diagnosisService.queryDiagnosisCount(diagnosisQuery1);
1462   -
1463   -
1464   -
1465 1492 }
1466 1493  
1467 1494 mapData.put("st21Count", String.valueOf(st21Count));//21-三体
1468 1495  
1469 1496  
1470 1497  
1471 1498  
1472 1499  
... ... @@ -1490,18 +1517,75 @@
1490 1517 }
1491 1518  
1492 1519  
1493   - //sum(list, basicConfigs);
  1520 + sum(list);
1494 1521  
1495 1522 return list;
1496 1523 }
1497 1524  
1498   - public void exportSieveReportExcl(CqSieveQueryRequest cqSieveQueryRequest, Integer userId,HttpServletResponse response) {
  1525 + private void sum(List<Map<String, String>> list) {
1499 1526  
1500   - try {
  1527 + int ySieveCount = 0;
  1528 + int sSieveCount = 0;
  1529 + int st21Count = 0;
  1530 + int st1813Count = 0;
  1531 + int sjqxCount = 0;
  1532 + int sieveCount=0;
  1533 + int disCount = 0;
  1534 + int disExcCount = 0;
  1535 + int sjDisCount = 0;
  1536 + int sjDisExcCount = 0;
  1537 + //孕妇无创DNA检测
  1538 + int dnaSieveCount = 0;
  1539 + int dnaSieveLowCount = 0;
  1540 + int dnaSieveHighCount = 0;
1501 1541  
  1542 + if (CollectionUtils.isNotEmpty(list))
  1543 + {
  1544 + for (Map<String,String> map : list)
  1545 + {
  1546 + ySieveCount += Integer.parseInt(map.get("ySieveCount"));
  1547 + sSieveCount += Integer.parseInt(map.get("sSieveCount"));
  1548 + st21Count += Integer.parseInt(map.get("st21Count"));
  1549 + st1813Count += Integer.parseInt(map.get("st1813Count"));
  1550 + sjqxCount += Integer.parseInt(map.get("sjqxCount"));
  1551 + sieveCount += Integer.parseInt(map.get("sieveCount"));
  1552 + disCount += Integer.parseInt(map.get("disCount"));
  1553 + disExcCount += Integer.parseInt(map.get("disExcCount"));
  1554 + sjDisCount += Integer.parseInt(map.get("sjDisCount"));
  1555 + sjDisExcCount += Integer.parseInt(map.get("sjDisExcCount"));
  1556 + dnaSieveCount += Integer.parseInt(map.get("dnaSieveCount"));
  1557 + dnaSieveLowCount += Integer.parseInt(map.get("dnaSieveLowCount"));
  1558 + dnaSieveHighCount += Integer.parseInt(map.get("dnaSieveHighCount"));
  1559 + }
  1560 + }
  1561 + Map<String,String> totalMap = new LinkedHashMap<>();
  1562 + totalMap.put("orgName","合计");
  1563 + totalMap.put("ySieveCount",String.valueOf(ySieveCount));
  1564 + totalMap.put("sSieveCount",String.valueOf(sSieveCount));
  1565 + totalMap.put("sieveCount",String.valueOf(sieveCount));
  1566 + totalMap.put("st21Count",String.valueOf(st21Count));
  1567 + totalMap.put("st1813Count",String.valueOf(st1813Count));
  1568 + totalMap.put("sjqxCount",String.valueOf(sjqxCount));
  1569 + totalMap.put("disCount",String.valueOf(disCount));
  1570 + totalMap.put("disExcCount",String.valueOf(disExcCount));
  1571 + totalMap.put("sjDisCount",String.valueOf(sjDisCount));
  1572 + totalMap.put("sjDisExcCount",String.valueOf(sjDisExcCount));
  1573 + totalMap.put("dnaSieveCount",String.valueOf(dnaSieveCount));
  1574 + totalMap.put("dnaSieveLowCount",String.valueOf(dnaSieveLowCount));
  1575 + totalMap.put("dnaSieveHighCount",String.valueOf(dnaSieveHighCount));
  1576 + }
1502 1577  
  1578 + public void exportSieveReportExcl(CqSieveQueryRequest cqSieveQueryRequest, Integer userId,HttpServletResponse response) {
1503 1579  
1504   - List<Map<String,String>> list = new ArrayList<>();
  1580 + try {
  1581 + //获取用户权限医院和筛选条件的交集
  1582 + List<String> currentUserHospPermissions = areaCountFacade.getCurrentUserHospPermissions(userId, cqSieveQueryRequest.getProvinceId(),
  1583 + cqSieveQueryRequest.getCityId(), cqSieveQueryRequest.getAreaId());
  1584 + String[] dates = null;
  1585 + if (StringUtils.isNotEmpty(cqSieveQueryRequest.getTime())) {
  1586 + dates = cqSieveQueryRequest.getTime().split(" - ");
  1587 + }
  1588 + List<Map<String,String>> list = getSieveDatas(currentUserHospPermissions,dates,cqSieveQueryRequest.getCityId());
1505 1589 response.setContentType("application/force-download");
1506 1590 response.setHeader("Content-Disposition", "attachment;filename=" + new String(("孕妇产前筛查和诊断情况月报表.xls").getBytes("UTF-8"), "ISO-8859-1"));
1507 1591 String path = this.getClass().getResource("/").getPath()+ "whfy_sieve.xls";