Commit a09bb3ce7f3e80c07cca2529e0bf402f6d101be6
1 parent
74ad7ac495
Exists in
master
and in
1 other branch
筛查统计
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"; |