Commit 031ddcd9bcd13651ba5b7c733db3462ef43ef747
1 parent
cbb4d8e80f
Exists in
master
and in
6 other branches
改bug
Showing 3 changed files with 96 additions and 75 deletions
platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/CouponMapper.java
View file @
031ddcd
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java
View file @
031ddcd
| ... | ... | @@ -16,6 +16,7 @@ |
| 16 | 16 | import com.lyms.platform.operate.web.result.HighScoreResult; |
| 17 | 17 | import com.lyms.platform.operate.web.result.ResidentsPageResult; |
| 18 | 18 | import com.lyms.platform.operate.web.utils.*; |
| 19 | +import com.lyms.platform.permission.dao.master.CouponMapper; | |
| 19 | 20 | import com.lyms.platform.permission.model.Organization; |
| 20 | 21 | import com.lyms.platform.permission.model.Users; |
| 21 | 22 | import com.lyms.platform.permission.service.CouponService; |
| 22 | 23 | |
| ... | ... | @@ -97,7 +98,10 @@ |
| 97 | 98 | @Autowired |
| 98 | 99 | private MongoTemplate mongoTemplate; |
| 99 | 100 | |
| 101 | + @Autowired | |
| 102 | + private CouponMapper couponMapper; | |
| 100 | 103 | |
| 104 | + | |
| 101 | 105 | /** |
| 102 | 106 | * 建档查询 |
| 103 | 107 | * |
| 104 | 108 | |
| ... | ... | @@ -131,7 +135,11 @@ |
| 131 | 135 | { |
| 132 | 136 | |
| 133 | 137 | Map<String, Object> map = new HashMap<>(); |
| 138 | + map.put("lastMenstrualPeriodBasis", BasisEnums.getName(data.getLastMenstrualPeriodBasis())); | |
| 139 | + map.put("lastMenstrualPeriodBasisDoctorId", couponMapper.findUserName(data.getLastMenstrualPeriodBasis())); | |
| 140 | + map.put("lastMenstrualPeriodBasisDate", data.getLastMenstrualPeriodBasisDate()); | |
| 134 | 141 | |
| 142 | + | |
| 135 | 143 | map.put("isSendCoupon", data.isSendCoupon() == null ? false : data.isSendCoupon()); |
| 136 | 144 | |
| 137 | 145 | map.put("mensStartDay", data.getMensStartDay()); |
| ... | ... | @@ -1637,7 +1645,8 @@ |
| 1637 | 1645 | } |
| 1638 | 1646 | |
| 1639 | 1647 | if (placenta.get("gjkd") != null) { |
| 1640 | - placetaMap.put("gjkd", UnitUtils.unitSplice(placenta.get("gjkd"), UnitConstants.CM)); | |
| 1648 | +// placetaMap.put("gjkd", UnitUtils.unitSplice(placenta.get("gjkd"), UnitConstants.CM)); | |
| 1649 | + placetaMap.put("gjkd", UnitUtils.unitSplice(placenta.get("gjkd"), "")); | |
| 1641 | 1650 | } |
| 1642 | 1651 | |
| 1643 | 1652 | if (placenta.get("gjrs") != null) { |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java
View file @
031ddcd
| ... | ... | @@ -596,7 +596,7 @@ |
| 596 | 596 | map.put("hospitalName", couponMapper.findHospitalNameById(patient.getHospitalId())); |
| 597 | 597 | } |
| 598 | 598 | } |
| 599 | - map.put("checkTime", getCheckTime((Integer) map.get("type"), (String) map.get("user_id"))); | |
| 599 | + map.put("checkTime", getCheckTime((Integer) map.get("type"), (String) map.get("user_id"))); | |
| 600 | 600 | restList.add(map); |
| 601 | 601 | } |
| 602 | 602 | Integer count = couponMapper.findUnUsedInfoCount(CollectionUtils.createMap("userIds", userIds, "hospitalId", hospitalId)); |
| ... | ... | @@ -737,7 +737,7 @@ |
| 737 | 737 | Map<String, Object> temp = new HashMap<>(); |
| 738 | 738 | Patients pt = mongoTemplate.findOne(Query.query(Criteria.where("pid").is(pid)).with(new Sort(Sort.Direction.DESC, "created")), Patients.class); |
| 739 | 739 | if(pt != null) { |
| 740 | - temp.put("username", pt.getUsername()); | |
| 740 | + temp.put("username", pt.getUsername()); | |
| 741 | 741 | temp.put("phone", com.lyms.platform.common.utils.StringUtils.encryPhone(pt.getPhone())); |
| 742 | 742 | temp.put("cardNo", com.lyms.platform.common.utils.StringUtils.encryCardNo(pt.getCardNo())); |
| 743 | 743 | String residenceAddress = findName(pt.getProvinceRegisterId()) + findName(pt.getCityRegisterId()) + findName(pt.getAreaRegisterId()) + findName(pt.getStreetRegisterId()) + pt.getAddressRegister(); |
| 744 | 744 | |
| 745 | 745 | |
| 746 | 746 | |
| 747 | 747 | |
| 748 | 748 | |
| 749 | 749 | |
| 750 | 750 | |
| ... | ... | @@ -903,29 +903,41 @@ |
| 903 | 903 | } |
| 904 | 904 | // return RespBuilder.buildSuccess("couponReport", couponReport, "couponReportMap", couponReportMap, "reportModel", reportModel); |
| 905 | 905 | |
| 906 | + /** 处理多产程问题 */ | |
| 906 | 907 | for (Map<String, Object> map : couponReport) { |
| 907 | 908 | List<String> sendUserIds = (List<String>) map.get("sendUserIds"); |
| 909 | + List<String> sendUserIds2 = new ArrayList<>(); | |
| 908 | 910 | if(CollectionUtils.isNotEmpty(sendUserIds)) { |
| 909 | - int addSendcount = couponMapper.findMulitPatientCount(sendUserIds); /** 查询需要添加人数的总数, 例如A发了两次优惠券 那么这里返回需要加的值为1 */ | |
| 910 | - map.put("people_send_count", ((Long) map.get("people_send_count")) + addSendcount); | |
| 911 | - for (int i = 0; i < addSendcount; i++) { | |
| 912 | - sendUserIds.add(UUID.randomUUID().toString()); | |
| 911 | + List<Map<String, Object>> mulitPatienInfo = couponMapper.findMulitPatienInfo(sendUserIds); /** 查询需要添加人数的总数, 例如A发了两次优惠券 那么这里返回需要加的值为1 */ | |
| 912 | + for (Map<String, Object> m : mulitPatienInfo) { | |
| 913 | + Integer count = (Integer) m.get("count"); | |
| 914 | + sendUserIds2.add((String) m.get("user_id")); | |
| 915 | + if(count > 1) { | |
| 916 | + for (int i = 1; i < count; i++) { | |
| 917 | + sendUserIds2.add(m.get("user_id") + "___" + (i + 1)); | |
| 918 | + } | |
| 919 | + } | |
| 913 | 920 | } |
| 914 | 921 | } |
| 922 | + map.put("sendUserIds", sendUserIds2); | |
| 915 | 923 | |
| 916 | 924 | List<String> usedUserIds = (List<String>) map.get("usedUserIds"); |
| 925 | + List<String> usedUserIds2 = new ArrayList<>(); | |
| 917 | 926 | if(CollectionUtils.isNotEmpty(usedUserIds)) { |
| 918 | - int addUsedcount = couponMapper.findMulitPatientCount(usedUserIds); /** 查询需要添加人数的总数, 例如A发了两次优惠券 那么这里返回需要加的值为1 */ | |
| 919 | - map.put("user_used_count", (((Long) map.get("user_used_count")) + addUsedcount) ); | |
| 920 | - for (int i = 0; i < addUsedcount; i++) { | |
| 921 | - usedUserIds.add(UUID.randomUUID().toString()); | |
| 927 | + List<Map<String, Object>> mulitPatienInfo = couponMapper.findMulitPatienInfo(usedUserIds); /** 查询需要添加人数的总数, 例如A发了两次优惠券 那么这里返回需要加的值为1 */ | |
| 928 | + for (Map<String, Object> m : mulitPatienInfo) { | |
| 929 | + Integer count = (Integer) m.get("count"); | |
| 930 | + usedUserIds2.add((String) m.get("user_id")); | |
| 931 | + if(count > 1) { | |
| 932 | + for (int i = 1; i < count; i++) { | |
| 933 | + usedUserIds2.add(m.get("user_id") + "___" + (i + 1)); | |
| 934 | + } | |
| 935 | + } | |
| 922 | 936 | } |
| 923 | 937 | } |
| 924 | - | |
| 925 | - | |
| 926 | - | |
| 938 | + map.put("usedUserIds", usedUserIds2); | |
| 927 | 939 | } |
| 928 | - | |
| 940 | + | |
| 929 | 941 | return RespBuilder.buildSuccess("couponReport", couponReport, "couponReportMap", couponReportMap, "reportModel", reportModal); |
| 930 | 942 | } |
| 931 | 943 | |
| ... | ... | @@ -1113,7 +1125,7 @@ |
| 1113 | 1125 | coupon.put(s, 0); |
| 1114 | 1126 | } |
| 1115 | 1127 | } |
| 1116 | - } | |
| 1128 | + } | |
| 1117 | 1129 | Map<String, Object> temp = new LinkedHashMap<>(); |
| 1118 | 1130 | Set<String> keys = titleMap.keySet(); |
| 1119 | 1131 | for (String key : keys) { |
| ... | ... | @@ -1134,9 +1146,9 @@ |
| 1134 | 1146 | Map<String, Object> sortTemp = new TreeMap<>( |
| 1135 | 1147 | new Comparator<String>() { |
| 1136 | 1148 | public int compare(String obj1, String obj2) { |
| 1137 | - return obj1.compareTo(obj2); | |
| 1138 | - } | |
| 1139 | - }); | |
| 1149 | + return obj1.compareTo(obj2); | |
| 1150 | + } | |
| 1151 | + }); | |
| 1140 | 1152 | for (String key : keys) { |
| 1141 | 1153 | if(key.startsWith("10")) { |
| 1142 | 1154 | sortTemp.put(key, titleMap.get(key)); |
| ... | ... | @@ -1267,8 +1279,8 @@ |
| 1267 | 1279 | couponInfo.put("use_date", DateUtil.getyyyy_MM_dd(useDate)); |
| 1268 | 1280 | /** 设置产检日期、姓名、产检孕周、产检第次、产检机构、产检医生、联系电话 */ |
| 1269 | 1281 | setUsedInfo((Integer) couponInfo.get("type"), (String) couponInfo.get("used_id"), |
| 1270 | - (String) couponInfo.get("sequence_id"), useDate, (String) couponInfo.get("operator_use_id"), couponInfo | |
| 1271 | - ); | |
| 1282 | + (String) couponInfo.get("sequence_id"), useDate, (String) couponInfo.get("operator_use_id"), couponInfo | |
| 1283 | + ); | |
| 1272 | 1284 | } |
| 1273 | 1285 | } |
| 1274 | 1286 | int count = couponMapper.findCouponInfoCount(param); |
| ... | ... | @@ -1429,7 +1441,7 @@ |
| 1429 | 1441 | username = findUserNameByPid(maternalDeliverModel.getPid()); |
| 1430 | 1442 | Patients patients = mongoTemplate.findById(maternalDeliverModel.getParentId(), Patients.class); |
| 1431 | 1443 | if(patients != null) { |
| 1432 | - phone = patients.getPhone(); | |
| 1444 | + phone = patients.getPhone(); | |
| 1433 | 1445 | } |
| 1434 | 1446 | } |
| 1435 | 1447 | } else if(type == 5) { |
| ... | ... | @@ -1562,18 +1574,18 @@ |
| 1562 | 1574 | Integer number = 1; |
| 1563 | 1575 | List<T> lists = mongoTemplate.find(Query.query(Criteria.where(key).is(value)).with(new Sort(Sort.Direction.ASC, sortField)), clazz); |
| 1564 | 1576 | if(CollectionUtils.isNotEmpty(lists)) { |
| 1565 | - try { | |
| 1566 | - for(int i = 0; i < lists.size(); i++) { | |
| 1567 | - T t = lists.get(i); | |
| 1568 | - String tId = ReflectUtil.invoke(t, "getId") + ""; | |
| 1569 | - String currentId = ReflectUtil.invoke(current, "getId") + ""; | |
| 1570 | - if(StringUtils.isNotEmpty(tId) && StringUtils.isNotEmpty(currentId) && tId.equals(currentId)) { | |
| 1571 | - number = ++i; | |
| 1572 | - } | |
| 1573 | - } | |
| 1574 | - } catch (Exception e) { | |
| 1575 | - e.printStackTrace(); | |
| 1576 | - } | |
| 1577 | + try { | |
| 1578 | + for(int i = 0; i < lists.size(); i++) { | |
| 1579 | + T t = lists.get(i); | |
| 1580 | + String tId = ReflectUtil.invoke(t, "getId") + ""; | |
| 1581 | + String currentId = ReflectUtil.invoke(current, "getId") + ""; | |
| 1582 | + if(StringUtils.isNotEmpty(tId) && StringUtils.isNotEmpty(currentId) && tId.equals(currentId)) { | |
| 1583 | + number = ++i; | |
| 1584 | + } | |
| 1585 | + } | |
| 1586 | + } catch (Exception e) { | |
| 1587 | + e.printStackTrace(); | |
| 1588 | + } | |
| 1577 | 1589 | } |
| 1578 | 1590 | return number; |
| 1579 | 1591 | } |
| ... | ... | @@ -1643,7 +1655,7 @@ |
| 1643 | 1655 | |
| 1644 | 1656 | /** 出院小结: lyms_discharge_abstract_mother 医院需要确定下 */ |
| 1645 | 1657 | Criteria disCriteria = Criteria.where("createDate").gte(DateUtil.getYearDate(year)) |
| 1646 | - .lt(DateUtil.getNextYearDate(year)).and("yn").nin(0); | |
| 1658 | + .lt(DateUtil.getNextYearDate(year)).and("yn").nin(0); | |
| 1647 | 1659 | List<DischargeAbstractMotherModel> dischargeAbstractMotherModels = mongoUtil.findField(DischargeAbstractMotherModel.class, disCriteria, "patientId"); |
| 1648 | 1660 | for (DischargeAbstractMotherModel dischargeAbstractMotherModel : dischargeAbstractMotherModels) { |
| 1649 | 1661 | patientIds.add(dischargeAbstractMotherModel.getPatientId()); |
| 1650 | 1662 | |
| 1651 | 1663 | |
| 1652 | 1664 | |
| 1653 | 1665 | |
| ... | ... | @@ -1798,47 +1810,47 @@ |
| 1798 | 1810 | tempMap.put("DOCTOR_NAME", users == null ? null : users.getName()); |
| 1799 | 1811 | } |
| 1800 | 1812 | } else { |
| 1801 | - for (Patients patient : patients) { | |
| 1802 | - /** 查出所有符合条件的patients */ | |
| 1803 | - Criteria criteria = Criteria.where("hospitalId").is(hospitalId).and("yn").ne("0"); | |
| 1804 | - if(startDate != null && endDate != null) { | |
| 1805 | - criteria.and("bookbuildingDate").gte(startDate).lt(DateUtil.addDay(endDate, 1)); | |
| 1806 | - } | |
| 1807 | - if(startWeek != null && endWeek != null) { /** 末次月经 到 现在相隔的周数 */ | |
| 1808 | - criteria.and("lastMenses").lte(DateUtil.getWeekDay(startWeek)).gte(DateUtil.getWeekDay(-endWeek)); | |
| 1809 | - } | |
| 1810 | - if(childBirth != null) { | |
| 1811 | - criteria.and("type").is(childBirth); | |
| 1812 | - } | |
| 1813 | - List<Patients> p = mongoUtil.findField(Patients.class, criteria,"id", "bookbuildingDate", "fmDate", "pid"); | |
| 1814 | - List<String> patientIds = CollectionUtils.getId(p, "id", String.class); | |
| 1813 | + for (Patients patient : patients) { | |
| 1814 | + /** 查出所有符合条件的patients */ | |
| 1815 | + Criteria criteria = Criteria.where("hospitalId").is(hospitalId).and("yn").ne("0"); | |
| 1816 | + if(startDate != null && endDate != null) { | |
| 1817 | + criteria.and("bookbuildingDate").gte(startDate).lt(DateUtil.addDay(endDate, 1)); | |
| 1818 | + } | |
| 1819 | + if(startWeek != null && endWeek != null) { /** 末次月经 到 现在相隔的周数 */ | |
| 1820 | + criteria.and("lastMenses").lte(DateUtil.getWeekDay(startWeek)).gte(DateUtil.getWeekDay(-endWeek)); | |
| 1821 | + } | |
| 1822 | + if(childBirth != null) { | |
| 1823 | + criteria.and("type").is(childBirth); | |
| 1824 | + } | |
| 1825 | + List<Patients> p = mongoUtil.findField(Patients.class, criteria,"id", "bookbuildingDate", "fmDate", "pid"); | |
| 1826 | + List<String> patientIds = CollectionUtils.getId(p, "id", String.class); | |
| 1815 | 1827 | |
| 1816 | - /** 初诊数据 */ | |
| 1817 | - Criteria c = Criteria.where("hospitalId").is(hospitalId).and("parentId").in(patientIds).and("pid").is(pid); | |
| 1818 | - Long antExChuModelCount = mongoTemplate.count(Query.query(c), AntExChuModel.class); | |
| 1819 | - Long antExModelCount = mongoTemplate.count(Query.query(c), AntenatalExaminationModel.class); | |
| 1820 | - if(antExChuModelCount.intValue() + antExModelCount.intValue() == number) { | |
| 1821 | - tempMap.put("NAME", patient.getUsername()); | |
| 1822 | - tempMap.put("YUNZHOU", DateUtil.getWeek(patient.getLastMenses(), patient.getLastCTime())); | |
| 1823 | - String riskLevelId = patient.getRiskLevelId(); | |
| 1824 | - if(StringUtils.isNotBlank(riskLevelId)) { | |
| 1825 | - List<String> basicIds = JSON.parseArray(riskLevelId, String.class); | |
| 1826 | - String HIGH_RISK_GRADE = ""; | |
| 1827 | - for (String basicId : basicIds) { | |
| 1828 | - HIGH_RISK_GRADE = HIGH_RISK_GRADE + mongoUtil.findName(basicId) + ","; | |
| 1829 | - } | |
| 1830 | - tempMap.put("HIGH_RISK_GRADE", HIGH_RISK_GRADE.substring(0, HIGH_RISK_GRADE.length() - 1)); /** 高危等级 */ | |
| 1828 | + /** 初诊数据 */ | |
| 1829 | + Criteria c = Criteria.where("hospitalId").is(hospitalId).and("parentId").in(patientIds).and("pid").is(pid); | |
| 1830 | + Long antExChuModelCount = mongoTemplate.count(Query.query(c), AntExChuModel.class); | |
| 1831 | + Long antExModelCount = mongoTemplate.count(Query.query(c), AntenatalExaminationModel.class); | |
| 1832 | + if(antExChuModelCount.intValue() + antExModelCount.intValue() == number) { | |
| 1833 | + tempMap.put("NAME", patient.getUsername()); | |
| 1834 | + tempMap.put("YUNZHOU", DateUtil.getWeek(patient.getLastMenses(), patient.getLastCTime())); | |
| 1835 | + String riskLevelId = patient.getRiskLevelId(); | |
| 1836 | + if(StringUtils.isNotBlank(riskLevelId)) { | |
| 1837 | + List<String> basicIds = JSON.parseArray(riskLevelId, String.class); | |
| 1838 | + String HIGH_RISK_GRADE = ""; | |
| 1839 | + for (String basicId : basicIds) { | |
| 1840 | + HIGH_RISK_GRADE = HIGH_RISK_GRADE + mongoUtil.findName(basicId) + ","; | |
| 1831 | 1841 | } |
| 1832 | - tempMap.put("HIGH_RISK_FACTOR", patient.getoRiskFactor()); /** 风险因素 */ | |
| 1833 | - tempMap.put("EDD_DATE", patient.getDueDate()); | |
| 1834 | - tempMap.put("LAST_EXAMINE_DATE", DateUtil.getyyyy_MM_dd(patient.getLastCTime())); | |
| 1835 | - String prodDoctor = patient.getBookbuildingDoctor(); | |
| 1836 | - if(StringUtils.isNotBlank(prodDoctor)) { | |
| 1837 | - Users users = usersService.getUsers(Integer.parseInt(prodDoctor)); | |
| 1838 | - tempMap.put("DOCTOR_NAME", users == null ? null : users.getName()); | |
| 1839 | - } | |
| 1842 | + tempMap.put("HIGH_RISK_GRADE", HIGH_RISK_GRADE.substring(0, HIGH_RISK_GRADE.length() - 1)); /** 高危等级 */ | |
| 1840 | 1843 | } |
| 1844 | + tempMap.put("HIGH_RISK_FACTOR", patient.getoRiskFactor()); /** 风险因素 */ | |
| 1845 | + tempMap.put("EDD_DATE", patient.getDueDate()); | |
| 1846 | + tempMap.put("LAST_EXAMINE_DATE", DateUtil.getyyyy_MM_dd(patient.getLastCTime())); | |
| 1847 | + String prodDoctor = patient.getBookbuildingDoctor(); | |
| 1848 | + if(StringUtils.isNotBlank(prodDoctor)) { | |
| 1849 | + Users users = usersService.getUsers(Integer.parseInt(prodDoctor)); | |
| 1850 | + tempMap.put("DOCTOR_NAME", users == null ? null : users.getName()); | |
| 1851 | + } | |
| 1841 | 1852 | } |
| 1853 | + } | |
| 1842 | 1854 | } |
| 1843 | 1855 | } |
| 1844 | 1856 | |
| ... | ... | @@ -1881,7 +1893,7 @@ |
| 1881 | 1893 | for (Map<String, Object> data : datas) { |
| 1882 | 1894 | String pid = (String) data.get("pid"); |
| 1883 | 1895 | if(userCheckInfo.containsKey(pid)) { |
| 1884 | - userCheckInfo.get(pid).add(data); | |
| 1896 | + userCheckInfo.get(pid).add(data); | |
| 1885 | 1897 | } else { |
| 1886 | 1898 | List<Map<String, Object>> maps = new ArrayList<>(); |
| 1887 | 1899 | maps.add(data); |