From 2d7371a2ed0c76f75ad3bfacf1684197faca1982 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Thu, 2 Apr 2020 09:52:07 +0800 Subject: [PATCH] update --- .../lyms/platform/pojo/ResidentsArchiveModel.java | 11 ++ .../lyms/platform/query/ResidentsArchiveQuery.java | 18 ++++ .../web/controller/PreEugenicsBaseController.java | 32 ++++++ .../operate/web/controller/TestController.java | 51 ++++++++- .../operate/web/facade/AntExRecordFacade.java | 1 + .../operate/web/service/IPreEugenicsService.java | 7 ++ .../web/service/impl/PreEugebicsServiceImpl.java | 120 +++++++++++++++++++-- .../src/main/resources/application.yml | 2 +- 8 files changed, 234 insertions(+), 8 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/ResidentsArchiveModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/ResidentsArchiveModel.java index a791f01..3c39772 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/ResidentsArchiveModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/ResidentsArchiveModel.java @@ -193,6 +193,17 @@ public class ResidentsArchiveModel extends BaseModel { private Long code; + //0 或者空不是 1是 + private Integer hasHj; + + public Integer getHasHj() { + return hasHj; + } + + public ResidentsArchiveModel setHasHj(Integer hasHj) { + this.hasHj = hasHj; + return this; + } public Integer getMilitary() { return military; diff --git a/platform-dal/src/main/java/com/lyms/platform/query/ResidentsArchiveQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/ResidentsArchiveQuery.java index 2e2517d..ef9bc1c 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/ResidentsArchiveQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/ResidentsArchiveQuery.java @@ -139,6 +139,8 @@ public class ResidentsArchiveQuery extends BaseQuery implements IConvertToNative //配偶证件号 private String spouseCardNo; + + @Override public MongoQuery convertToQuery() { MongoCondition condition = MongoCondition.newInstance(); @@ -153,6 +155,10 @@ public class ResidentsArchiveQuery extends BaseQuery implements IConvertToNative condition = condition.and("isHistory", false, MongoOper.EXISTS); } + if (hasHj != null) { + condition = condition.and("hasHj", hasHj, MongoOper.IS); + } + if (StringUtils.isNotEmpty(pregnantBuild)) { condition = condition.and("pregnantBuild", pregnantBuild, MongoOper.IS); } @@ -328,6 +334,18 @@ public class ResidentsArchiveQuery extends BaseQuery implements IConvertToNative } + //0 或者空不是 1是 + private Integer hasHj; + + public Integer getHasHj() { + return hasHj; + } + + public ResidentsArchiveQuery setHasHj(Integer hasHj) { + this.hasHj = hasHj; + return this; + } + public String getSpouseCardNo() { return spouseCardNo; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PreEugenicsBaseController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PreEugenicsBaseController.java index c92038d..52e0e7e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PreEugenicsBaseController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PreEugenicsBaseController.java @@ -1,9 +1,11 @@ package com.lyms.platform.operate.web.controller; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import com.lyms.hospitalapi.lcfy.LcTyInterface; import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.operate.web.request.YqysParamRequest; import com.lyms.platform.operate.web.service.impl.PreEugebicsServiceImpl; import com.lyms.platform.pojo.BasicConfig; @@ -22,6 +24,8 @@ import com.lyms.platform.operate.web.request.PreEugenicsBaseListRequest; import com.lyms.platform.operate.web.request.PreEugenicsBaseRequest; import com.lyms.platform.operate.web.service.IPreEugenicsService; +import java.util.Date; + /** * @author: shuai-Bo * @Date: 2019/11/20 0020 @@ -177,4 +181,32 @@ public class PreEugenicsBaseController extends BaseController { public BaseResponse setSendCountry(@PathVariable("id")String id) { return iPreEugenicsService.setSendCountry(id); } + + + /** + *获取荣成乡镇婚孕检统计 + * @param time + * @param request + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/getRcCount") + @ResponseBody + @TokenRequired + public BaseObjectResponse getRcCount(@RequestParam String time, HttpServletRequest request) { + return iPreEugenicsService.getRcCount(time, getUserId(request)); + } + + + /** + * 导出数据 + * @param time + * @param request + * @param response + */ + @ResponseBody + @TokenRequired + @RequestMapping(value = "/exportRcCount", method = RequestMethod.GET) + public void exportRcCount(@RequestParam String time, HttpServletRequest request, HttpServletResponse response) { + iPreEugenicsService.exportRcCount(time, getUserId(request),response); + } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java index 2146609..858e7a7 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java @@ -3327,7 +3327,7 @@ public class TestController extends BaseController { public String setOrgAreaUrlConfig(@RequestParam(required = true) String cityId) { Map urlMap = new HashMap<>(); - urlMap.put("2","https://area-qhd-api.healthbaby.com.cn:18019");//,"秦皇岛" + urlMap.put("2", "https://area-qhd-api.healthbaby.com.cn:18019");//,"秦皇岛" urlMap.put("5113aa","https://area-nc-api.healthbaby.com.cn:12356");//,"南充" urlMap.put("9","https://area-chengde-api.healthbaby.com.cn:12356");//,"承德" urlMap.put("4", "https://rp-api.healthbaby.com.cn");//,"线上" @@ -3382,4 +3382,53 @@ public class TestController extends BaseController { String s = HttpClientUtil.doGet("http://localhost:9090/qhd/getVcCardNoPwd", map, "utf-8", null); return s; } + + + @RequestMapping(value = "/setNumberCode", method = RequestMethod.GET) + @ResponseBody + public String setNumberCode(@RequestParam(required = false) String hid) { + PatientsQuery patientQuery = new PatientsQuery(); + patientQuery.setYn(YnEnums.YES.getId()); + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(hid)) + { + patientQuery.setHospitalId(hid); + } + + patientQuery.setType(1); + + List patientses = patientsService.queryPatient(patientQuery); + int batchSize = 2000; + int end = 0; + for (int i = 0; i < patientses.size(); i += batchSize) { + end = (end + batchSize); + if (end > patientses.size()) { + end = patientses.size(); + } + System.out.println("start:" + i + ",end:" + end); + final List tempList = patientses.subList(i, end); + commonThreadPool.execute(new Runnable() { + @Override + public void run() { + if (CollectionUtils.isNotEmpty(tempList)) { + for (Patients pat : tempList) { + if (pat != null) { + if (pat.getCardNo().length() > 8) + { + pat.setNumberCode(pat.getCardNo().substring(pat.getCardNo().length() - 8)); + } + else + { + pat.setNumberCode(pat.getCardNo()); + } + patientsService.updatePatient(pat); + } + } + } + } + }); + } + + return "setNumberCode finish"; + } + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java index 63a9a3d..d77230e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java @@ -1235,6 +1235,7 @@ public class AntExRecordFacade { } antenatalExaminationService.updateOneAnt(model, model.getId()); falg = false; + break; } } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IPreEugenicsService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IPreEugenicsService.java index 1697e42..249137c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IPreEugenicsService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IPreEugenicsService.java @@ -1,9 +1,12 @@ package com.lyms.platform.operate.web.service; +import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.operate.web.request.PreEugenicsBaseListRequest; import com.lyms.platform.operate.web.request.PreEugenicsBaseRequest; +import javax.servlet.http.HttpServletResponse; + public interface IPreEugenicsService extends IFormReportService { /** * 删除 @@ -15,4 +18,8 @@ public interface IPreEugenicsService extends IFormReportService> datas = getDatas( time, userId); + + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(datas); + } + + @Override + public void exportRcCount(String time, Integer userId, HttpServletResponse response) { + + List> datas = getDatas( time, userId); + Map cnames = new LinkedHashMap<>(); + cnames.put("name", "乡镇"); + cnames.put("hjCount", "单婚"); + cnames.put("yjCount", "单孕"); + cnames.put("tcCount", "套餐"); + ResponseUtil.responseExcel(cnames, datas, response); + + } + + + private List> getDatas(String time,Integer userId) + { + String hospitalId = autoMatchFacade.getHospitalId(userId); + Organization organization = organizationService.getOrganization(Integer.valueOf(hospitalId)); + List> datas = new LinkedList<>(); + + int hjAllCount = 0; + int yjAllCount = 0; + int tcAllCount = 0; + + List items = basicConfigService.queryByParentId(organization.getAreaId()); + if (CollectionUtils.isNotEmpty(items)) + { + for (BasicConfig item : items) + { + Map data = new HashMap(); + data.put("name",item.getName()); + //查询条件 + ResidentsArchiveQuery query = new ResidentsArchiveQuery(); + query.setYn(YnEnums.YES.getId()); + query.setCheckup("1"); + query.setSex(SystemConfig.WOMAN_ID); + query.setStreetId(item.getId()); + + if (hospitalId != null) { + query.setHospitalId(hospitalId); + } + if (StringUtils.isNotEmpty(time)) { + try { + query.setBuildDateStart(DateUtil.getSNDate(time)[0]); + query.setBuildDateEnd(DateUtil.getSNDate(time)[1]); + } catch (Exception e) { + e.printStackTrace(); + } + } + System.out.println(query.convertToQuery().convertToMongoQuery().toString()); + int hjCount = residentsArchiveService.queryResidentCount(query.convertToQuery()); + hjAllCount+=hjCount; + Query yquery = new Query(); + + String[] arrs = time.split(" - "); + Date start = DateUtil.parseYMD(arrs[0]); + Date end = DateUtil.parseYMD(arrs[1]); + end = DateUtil.getDayLastSecond(end); + yquery.addCriteria(Criteria.where("fillDate").gte(start).lte(end)); + + yquery.addCriteria(Criteria.where("hyj").is(1)); + long yjCount = mongoTemplate.count(yquery, PreEugenicsBaseModel.class); + yjAllCount += yjCount; + + + Query tquery = new Query(); + tquery.addCriteria(Criteria.where("fillDate").gte(start).lte(end)); + tquery.addCriteria(Criteria.where("hyj").is(2)); + long tcCount = mongoTemplate.count(tquery, PreEugenicsBaseModel.class); + tcAllCount += tcCount; + + data.put("hjCount",hjCount); + data.put("yjCount", yjCount); + data.put("tcCount",tcCount); + + datas.add(data); + + } + Map data = new HashMap(); + data.put("name","合计"); + data.put("hjCount",hjAllCount); + data.put("yjCount",yjAllCount); + data.put("tcCount",tcAllCount); + datas.add(data); + } + return datas; + } } \ No newline at end of file diff --git a/platform-transfer/src/main/resources/application.yml b/platform-transfer/src/main/resources/application.yml index 897c93e..4dc2577 100644 --- a/platform-transfer/src/main/resources/application.yml +++ b/platform-transfer/src/main/resources/application.yml @@ -5,5 +5,5 @@ param: #access数据库路径 data-path: D://EK-8800181001-net_Plus//System//Patient.mdb #区域url地址 - url: https://dev-rp-api.healthbaby.com.cn + url: https://area-chengde-api.healthbaby.com.cn:12356 type: 0 # 0孕妇 1儿童 \ No newline at end of file -- 1.8.3.1