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