From 0cb689b537e6a3dd115dc7ae59d22270ddaa450f Mon Sep 17 00:00:00 2001 From: gengxiaokai Date: Tue, 20 Nov 2018 17:38:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A9=9A=E6=A3=80=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/facade/PremaritalCheckupFacade.java | 321 ++++++++++++++------- 1 file changed, 215 insertions(+), 106 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PremaritalCheckupFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PremaritalCheckupFacade.java index 8151059..e87831c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PremaritalCheckupFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PremaritalCheckupFacade.java @@ -2195,149 +2195,258 @@ public class PremaritalCheckupFacade { //获取用户权限医院和筛选条件的交集 List currentUserHospPermissions = areaCountFacade.getCurrentUserHospPermissions2(userId, provinceId, cityId, areaId); + //图标数据 + List> series = new LinkedList<>(); + Map hjMap = new HashMap(); + hjMap.put("name","婚前检查"); + hjMap.put("type","bar"); + Map hqwsMap = new HashMap(); + hqwsMap.put("name","婚前卫生咨询情况"); + hqwsMap.put("type","bar"); + List hjList = new ArrayList(); + List hqwsList = new ArrayList(); + //标题名称 + List titleItems = new LinkedList<>(); + titleItems.add("男婚检人数"); + titleItems.add("女婚检人数"); + //x轴标题数据 + List xAxis = new ArrayList<>(); String[] dates = null; if (StringUtils.isNotEmpty(time)) { dates = time.split(" - "); } - BasicConfigQuery basicQuery = new BasicConfigQuery(); - basicQuery.setYn(YnEnums.YES.getId()); - basicQuery.setTypeId("b7ea005c-dfac-4c2a-bdae-25239b3f44fd"); - //用来存放省、市、县的ID的集合 - List ids = new ArrayList<>(); - //查询当前登录用户管辖的所有医院 - DataPermissionsModelQuery dataPermissionsModelQuery = new DataPermissionsModelQuery(); - dataPermissionsModelQuery.setUserId(userId); - List permissionsModels = dataPermissionService.queryPermission(dataPermissionsModelQuery); - - int addrType = 0; - if (StringUtils.isNotEmpty(provinceId)) { - ids = new ArrayList<>(); - if (CollectionUtils.isNotEmpty(permissionsModels)) { - List addressBeanList = JsonUtil.toList(permissionsModels.get(0).getAreaPermission(), AddressBean.class); - if (CollectionUtils.isNotEmpty(addressBeanList)) - { - for (AddressBean bean : addressBeanList) + if(StringUtils.isNotEmpty(areaId)){//按照医院统计 + + for(String hospitalId : currentUserHospPermissions){ + List shu = new ArrayList(); + Map map = new HashMap(); + //查询X轴标题数据 + OrganizationQuery idQuery = new OrganizationQuery(); + idQuery.setYn(YnEnums.YES.getId()); + idQuery.setId(Integer.parseInt(hospitalId)); + List orgs = organizationService.queryOrganization(idQuery); + + PremaritalCheckupQuery query = new PremaritalCheckupQuery(); + if (dates != null) { + query.setPremaritalUpTimeStart(DateUtil.parseYMD(dates[0])); + if (dates.length == 2) { + query.setPremaritalUpTimeEnd(DateUtil.parseYMD(dates[1])); + } + } + query.setHospitalId(hospitalId); + query.setSexType(2);//男性 + List dataNan = premaritalCheckupService.queryPremaritalCheckup(query); + int hunqianHealthMan = 0; + int hunqianHealthWoman = 0; + int man = 0; + int woman = 0; + if (dataNan != null && dataNan.size() > 0) { + for (PremaritalCheckup data : dataNan) { + if (StringUtils.isNotEmpty(data.getHunqianHealth())) { + hunqianHealthMan++; + } + } + + } else { + man = 1; + } + + query.setSexType(1);//女性 + List dataNv = premaritalCheckupService.queryPremaritalCheckup(query); + if (dataNv != null && dataNv.size() > 0) { + for (PremaritalCheckup data : dataNv) { + if (StringUtils.isNotEmpty(data.getHunqianHealth())) { + hunqianHealthWoman++; + } + } + } else { + woman = 1; + } + xAxis.add(orgs.get(0).getName()); + if(man == 1){ + hjList.add("0"); + if(woman == 1){ + hjList.add("0"); + hqwsList.add("0"); + hqwsList.add("0"); + }else{ + hjList.add(String.valueOf(dataNv.size())); + hqwsList.add("0"); + hqwsList.add(String.valueOf(hunqianHealthWoman)); + } + }else{ + hjList.add(String.valueOf(dataNan.size())); + if(woman == 1){ + hjList.add("0"); + hqwsList.add(String.valueOf(hunqianHealthMan)); + hqwsList.add("0"); + }else{ + hjList.add(String.valueOf(dataNv.size())); + hqwsList.add(String.valueOf(hunqianHealthMan)); + hqwsList.add(String.valueOf(hunqianHealthWoman)); + } + } + } + hjMap.put("data",hjList); + hqwsMap.put("data",hqwsList); + series.add(hjMap); + series.add(hqwsMap); + }else{ + BasicConfigQuery basicQuery = new BasicConfigQuery(); + basicQuery.setYn(YnEnums.YES.getId()); + basicQuery.setTypeId("b7ea005c-dfac-4c2a-bdae-25239b3f44fd"); + //用来存放省、市、县的ID的集合 + List ids = new ArrayList<>(); + //查询当前登录用户管辖的所有医院 + DataPermissionsModelQuery dataPermissionsModelQuery = new DataPermissionsModelQuery(); + dataPermissionsModelQuery.setUserId(userId); + List permissionsModels = dataPermissionService.queryPermission(dataPermissionsModelQuery); + + int addrType = 0; + if (StringUtils.isNotEmpty(provinceId)) { + ids = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(permissionsModels)) { + List addressBeanList = JsonUtil.toList(permissionsModels.get(0).getAreaPermission(), AddressBean.class); + if (CollectionUtils.isNotEmpty(addressBeanList)) { - if (bean != null && bean.getP() != null && bean.getP().equals(provinceId) && StringUtils.isNotEmpty(bean.getC())) + for (AddressBean bean : addressBeanList) { - //省不为空,赋值所有市的id - ids.add(bean.getC()); + if (bean != null && bean.getP() != null && bean.getP().equals(provinceId) && StringUtils.isNotEmpty(bean.getC())) + { + //省不为空,赋值所有市的id + ids.add(bean.getC()); + } } } } - } - basicQuery.setIds(ids); - addrType = 1; - } - if (StringUtils.isNotEmpty(cityId)) { - ids = new ArrayList<>(); - if (CollectionUtils.isNotEmpty(permissionsModels)) { - List addressBeanList = JsonUtil.toList(permissionsModels.get(0).getAreaPermission(), AddressBean.class); - if (CollectionUtils.isNotEmpty(addressBeanList)) - { - for (AddressBean bean : addressBeanList) + basicQuery.setIds(ids); + addrType = 1; + } + if (StringUtils.isNotEmpty(cityId)) { + ids = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(permissionsModels)) { + List addressBeanList = JsonUtil.toList(permissionsModels.get(0).getAreaPermission(), AddressBean.class); + if (CollectionUtils.isNotEmpty(addressBeanList)) { - if (bean != null && bean.getC() != null && bean.getC().equals(cityId) && StringUtils.isNotEmpty(bean.getA())) + for (AddressBean bean : addressBeanList) { - //市不为空,赋值所有县的id - ids.add(bean.getA()); + if (bean != null && bean.getC() != null && bean.getC().equals(cityId) && StringUtils.isNotEmpty(bean.getA())) + { + //市不为空,赋值所有县的id + ids.add(bean.getA()); + } } } } + basicQuery.setIds(ids); + addrType = 2; } - basicQuery.setIds(ids); - addrType = 2; - } - //x轴标题数据 - List xAxis = new ArrayList<>(); - //获取地址列表 - List configList = new ArrayList<>(); - if (CollectionUtils.isNotEmpty(ids)) - { - configList = basicConfigService.queryBasicConfig(basicQuery); - } - if (CollectionUtils.isNotEmpty(configList)) { - for (BasicConfig addr : configList) { - xAxis.add(addr.getName()); + + //获取地址列表 + List configList = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(ids)) + { + configList = basicConfigService.queryBasicConfig(basicQuery); + } + if (CollectionUtils.isNotEmpty(configList)) { + for (BasicConfig addr : configList) { + xAxis.add(addr.getName()); + } } - } - //标题名称 - List titleItems = new LinkedList<>(); - titleItems.add("男婚检人数"); - titleItems.add("女婚检人数"); - //图标数据 - List> series = new LinkedList<>(); - if (CollectionUtils.isNotEmpty(configList)) { + if (CollectionUtils.isNotEmpty(configList)) { - for (BasicConfig c : configList) { - Map map = new HashMap(); - OrganizationQuery idQuery = new OrganizationQuery(); - idQuery.setYn(YnEnums.YES.getId()); + for (BasicConfig c : configList) { + Map map = new HashMap(); + OrganizationQuery idQuery = new OrganizationQuery(); + idQuery.setYn(YnEnums.YES.getId()); - //查询机构数 - if (addrType == 1) { - idQuery.setCityId(c.getId()); - } else if (addrType == 2) { - idQuery.setAreaId(c.getId()); - } - List orgs = organizationService.queryOrganization(idQuery); - List hids = getConditionHospitalIds(currentUserHospPermissions, orgs); + //查询机构数 + if (addrType == 1) { + idQuery.setCityId(c.getId()); + } else if (addrType == 2) { + idQuery.setAreaId(c.getId()); + } + List orgs = organizationService.queryOrganization(idQuery); + List hids = getConditionHospitalIds(currentUserHospPermissions, orgs); - if (CollectionUtils.isNotEmpty(hids)) - { + if (CollectionUtils.isNotEmpty(hids)) { - PremaritalCheckupQuery query = new PremaritalCheckupQuery(); - if(dates != null){ - query.setPremaritalUpTimeStart(DateUtil.parseYMD(dates[0])); - if (dates.length == 2) { - query.setPremaritalUpTimeEnd(DateUtil.parseYMD(dates[1])); + PremaritalCheckupQuery query = new PremaritalCheckupQuery(); + if (dates != null) { + query.setPremaritalUpTimeStart(DateUtil.parseYMD(dates[0])); + if (dates.length == 2) { + query.setPremaritalUpTimeEnd(DateUtil.parseYMD(dates[1])); + } } - } - query.setHospitalIds(hids); - query.setSexType(1);//女性 - List dataNv = premaritalCheckupService.queryPremaritalCheckup(query); - if(dataNv != null && dataNv.size() > 0){ - map.put("woman",dataNv.size()); + query.setHospitalIds(hids); + query.setSexType(2);//男性 + List dataNan = premaritalCheckupService.queryPremaritalCheckup(query); + int hunqianHealthMan = 0; int hunqianHealthWoman = 0; - for(PremaritalCheckup data : dataNv){ - if(StringUtils.isNotEmpty(data.getHunqianHealth())){ - hunqianHealthWoman++; + int man = 0; + int woman = 0; + if (dataNan != null && dataNan.size() > 0) { + for (PremaritalCheckup data : dataNan) { + if (StringUtils.isNotEmpty(data.getHunqianHealth())) { + hunqianHealthMan++; + } } + + } else { + man = 1; } - map.put("hunqianHealthWoman",hunqianHealthWoman); - }else{ - map.put("woman", 0); - map.put("hunqianHealthWoman",0); - } - query.setSexType(2);//男性 - List dataNan = premaritalCheckupService.queryPremaritalCheckup(query); - if(dataNv != null && dataNv.size() > 0){ - map.put("man",dataNan.size()); - int hunqianHealthMan = 0; - for(PremaritalCheckup data : dataNan){ - if(StringUtils.isNotEmpty(data.getHunqianHealth())){ - hunqianHealthMan++; + query.setSexType(1);//女性 + List dataNv = premaritalCheckupService.queryPremaritalCheckup(query); + if (dataNv != null && dataNv.size() > 0) { + for (PremaritalCheckup data : dataNv) { + if (StringUtils.isNotEmpty(data.getHunqianHealth())) { + hunqianHealthWoman++; + } + } + } else { + woman = 1; + } + xAxis.add(orgs.get(0).getName()); + if(man == 1){ + hjList.add("0"); + if(woman == 1){ + hjList.add("0"); + hqwsList.add("0"); + hqwsList.add("0"); + }else{ + hjList.add(String.valueOf(dataNv.size())); + hqwsList.add("0"); + hqwsList.add(String.valueOf(hunqianHealthWoman)); + } + }else{ + hjList.add(String.valueOf(dataNan.size())); + if(woman == 1){ + hjList.add("0"); + hqwsList.add(String.valueOf(hunqianHealthMan)); + hqwsList.add("0"); + }else{ + hjList.add(String.valueOf(dataNv.size())); + hqwsList.add(String.valueOf(hunqianHealthMan)); + hqwsList.add(String.valueOf(hunqianHealthWoman)); } } - map.put("hunqianHealthMan",hunqianHealthMan); - }else{ - map.put("man",0); - map.put("hunqianHealthMan",0); } + } - series.add(map); + hjMap.put("data",hjList); + hqwsMap.put("data",hqwsList); + series.add(hjMap); + series.add(hqwsMap); } - - } Map datas = new HashMap<>(); datas.put("series", series); datas.put("xAxis", xAxis); - datas.put("titleItems",titleItems); + datas.put("legend",titleItems); return new BaseObjectResponse().setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS).setData(datas); } -- 1.8.3.1