From 9ede9cd2049f86093c35c1ae93cafe294496e2af Mon Sep 17 00:00:00 2001 From: "litao@lymsh.com" Date: Tue, 11 Jul 2017 14:53:49 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/service/impl/ReportServiceImpl.java | 31 +++++++++++++--------- .../lyms/platform/operate/web/utils/MongoUtil.java | 6 +++++ 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java index 3f7774a..ef6244e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java @@ -13,6 +13,8 @@ import com.lyms.platform.operate.web.facade.AutoMatchFacade; import com.lyms.platform.operate.web.service.IReportService; import com.lyms.platform.operate.web.utils.*; import com.lyms.platform.permission.dao.master.CouponMapper; +import com.lyms.platform.permission.model.Organization; +import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.pojo.*; import com.lymsh.platform.reportdata.model.echarts.Series; import org.apache.commons.collections.MapUtils; @@ -57,6 +59,9 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService @Autowired private MongoUtil mongoUtil; + @Autowired + private OrganizationService organizationService; + private static final Map colorMap = new HashMap<>(); /** @@ -1080,10 +1085,6 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService String hospitalId = autoMatchFacade.getHospitalId(userId); Set patientIds = new HashSet<>(); - /*Criteria criteria = Criteria.where("created").gte(DateUtil.getYearDate(year)) - .lt(DateUtil.getNextYearDate(year)) - .and("hospitalId").is(hospitalId);*/ - Criteria criteria = Criteria.where("hospitalId").is(hospitalId).and("yn").nin(0); /** 产前检查: lyms_antexc(初诊),lyms_antex(复诊)设置pid */ @@ -1140,14 +1141,22 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService } List patients = mongoTemplate.find(Query.query(criteria), Patients.class); + Organization organization = organizationService.getOrganization(Integer.parseInt(hospitalId)); + if(organization == null) { + throw new IllegalStateException("机构未找到"); + } + String hospitalCityId = organization.getCityId(); + BasicConfig basicConfig = mongoUtil.findBasicConfigById(hospitalCityId); + ReportModel reportModel = new ReportModel(); - reportModel.setLegend(Arrays.asList("秦皇岛市", "辖区外")); + String name = basicConfig.getName(); + reportModel.setLegend(Arrays.asList(name, "辖区外")); reportModel.setxAxis(Arrays.asList("1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月")); List> mapList = mongoUtil.getListByGroup(patients); - List series = createPatientSeries(mapList); + List series = createPatientSeries(mapList, basicConfig.getId(), name); reportModel.setSeries(series); return RespBuilder.buildSuccess("patients", mapList, "report", reportModel); } @@ -1343,17 +1352,15 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService }*/ } - private List createPatientSeries(List> datas) { + private List createPatientSeries(List> datas, String cityId, String name) { List series = new ArrayList<>(); Series qhdSeries = new Series(); - qhdSeries.setName("秦皇岛市"); + qhdSeries.setName(name); qhdSeries.setType("bar"); qhdSeries.setStack("总计"); -// String provinceId = mongoUtil.findId("河北省"); - String provinceId = mongoUtil.findId("秦皇岛市"); - if(StringUtils.isNotEmpty(provinceId)) { + if(StringUtils.isNotEmpty(cityId)) { Map qhdTemp = new HashMap<>();/** key = month . value = count*/ for (int i = 1; i < 13; i++) { qhdTemp.put(i, 0); @@ -1364,7 +1371,7 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService } for (Map data : datas) { // if(provinceId.equals(data.get("province_id"))) { - if(provinceId.equals(data.get("city_id"))) { + if(cityId.equals(data.get("city_id"))) { for(int i = 1; i < 13; i++) { qhdTemp.put(i, qhdTemp.get(i) + Integer.parseInt(data.get(i + "") + "")); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MongoUtil.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MongoUtil.java index 7a0d7d2..23163d6 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MongoUtil.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MongoUtil.java @@ -12,6 +12,7 @@ import org.springframework.data.mongodb.core.query.BasicQuery; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Component; +import org.springframework.util.Assert; import java.util.*; @@ -197,4 +198,9 @@ public class MongoUtil { return null; } + public BasicConfig findBasicConfigById(String id) { + Assert.notNull(id, "id不能为空"); + return mongoTemplate.findById(id, BasicConfig.class); + } + } -- 1.8.3.1