Commit 2d7371a2ed0c76f75ad3bfacf1684197faca1982

Authored by liquanyu
1 parent 7cb7d127b9

update

Showing 8 changed files with 234 additions and 8 deletions

platform-dal/src/main/java/com/lyms/platform/pojo/ResidentsArchiveModel.java View file @ 2d7371a
... ... @@ -193,6 +193,17 @@
193 193  
194 194 private Long code;
195 195  
  196 + //0 或者空不是 1是
  197 + private Integer hasHj;
  198 +
  199 + public Integer getHasHj() {
  200 + return hasHj;
  201 + }
  202 +
  203 + public ResidentsArchiveModel setHasHj(Integer hasHj) {
  204 + this.hasHj = hasHj;
  205 + return this;
  206 + }
196 207  
197 208 public Integer getMilitary() {
198 209 return military;
platform-dal/src/main/java/com/lyms/platform/query/ResidentsArchiveQuery.java View file @ 2d7371a
... ... @@ -139,6 +139,8 @@
139 139 //配偶证件号
140 140 private String spouseCardNo;
141 141  
  142 +
  143 +
142 144 @Override
143 145 public MongoQuery convertToQuery() {
144 146 MongoCondition condition = MongoCondition.newInstance();
... ... @@ -153,6 +155,10 @@
153 155 condition = condition.and("isHistory", false, MongoOper.EXISTS);
154 156 }
155 157  
  158 + if (hasHj != null) {
  159 + condition = condition.and("hasHj", hasHj, MongoOper.IS);
  160 + }
  161 +
156 162 if (StringUtils.isNotEmpty(pregnantBuild)) {
157 163 condition = condition.and("pregnantBuild", pregnantBuild, MongoOper.IS);
158 164 }
... ... @@ -327,6 +333,18 @@
327 333 return condition.toMongoQuery();
328 334 }
329 335  
  336 +
  337 + //0 或者空不是 1是
  338 + private Integer hasHj;
  339 +
  340 + public Integer getHasHj() {
  341 + return hasHj;
  342 + }
  343 +
  344 + public ResidentsArchiveQuery setHasHj(Integer hasHj) {
  345 + this.hasHj = hasHj;
  346 + return this;
  347 + }
330 348  
331 349 public String getSpouseCardNo() {
332 350 return spouseCardNo;
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PreEugenicsBaseController.java View file @ 2d7371a
1 1 package com.lyms.platform.operate.web.controller;
2 2  
3 3 import javax.servlet.http.HttpServletRequest;
  4 +import javax.servlet.http.HttpServletResponse;
4 5  
5 6 import com.lyms.hospitalapi.lcfy.LcTyInterface;
6 7 import com.lyms.platform.common.constants.ErrorCodeConstants;
  8 +import com.lyms.platform.common.result.BaseObjectResponse;
7 9 import com.lyms.platform.operate.web.request.YqysParamRequest;
8 10 import com.lyms.platform.operate.web.service.impl.PreEugebicsServiceImpl;
9 11 import com.lyms.platform.pojo.BasicConfig;
... ... @@ -22,6 +24,8 @@
22 24 import com.lyms.platform.operate.web.request.PreEugenicsBaseRequest;
23 25 import com.lyms.platform.operate.web.service.IPreEugenicsService;
24 26  
  27 +import java.util.Date;
  28 +
25 29 /**
26 30 * @author: shuai-Bo
27 31 * @Date: 2019/11/20 0020
... ... @@ -176,6 +180,34 @@
176 180 @TokenRequired
177 181 public BaseResponse setSendCountry(@PathVariable("id")String id) {
178 182 return iPreEugenicsService.setSendCountry(id);
  183 + }
  184 +
  185 +
  186 + /**
  187 + *获取荣成乡镇婚孕检统计
  188 + * @param time
  189 + * @param request
  190 + * @return
  191 + */
  192 + @RequestMapping(method = RequestMethod.GET, value = "/getRcCount")
  193 + @ResponseBody
  194 + @TokenRequired
  195 + public BaseObjectResponse getRcCount(@RequestParam String time, HttpServletRequest request) {
  196 + return iPreEugenicsService.getRcCount(time, getUserId(request));
  197 + }
  198 +
  199 +
  200 + /**
  201 + * 导出数据
  202 + * @param time
  203 + * @param request
  204 + * @param response
  205 + */
  206 + @ResponseBody
  207 + @TokenRequired
  208 + @RequestMapping(value = "/exportRcCount", method = RequestMethod.GET)
  209 + public void exportRcCount(@RequestParam String time, HttpServletRequest request, HttpServletResponse response) {
  210 + iPreEugenicsService.exportRcCount(time, getUserId(request),response);
179 211 }
180 212 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java View file @ 2d7371a
... ... @@ -3327,7 +3327,7 @@
3327 3327 public String setOrgAreaUrlConfig(@RequestParam(required = true) String cityId)
3328 3328 {
3329 3329 Map<String,String> urlMap = new HashMap<>();
3330   - urlMap.put("2","https://area-qhd-api.healthbaby.com.cn:18019");//,"秦皇岛"
  3330 + urlMap.put("2", "https://area-qhd-api.healthbaby.com.cn:18019");//,"秦皇岛"
3331 3331 urlMap.put("5113aa","https://area-nc-api.healthbaby.com.cn:12356");//,"南充"
3332 3332 urlMap.put("9","https://area-chengde-api.healthbaby.com.cn:12356");//,"承德"
3333 3333 urlMap.put("4", "https://rp-api.healthbaby.com.cn");//,"线上"
... ... @@ -3382,5 +3382,54 @@
3382 3382 String s = HttpClientUtil.doGet("http://localhost:9090/qhd/getVcCardNoPwd", map, "utf-8", null);
3383 3383 return s;
3384 3384 }
  3385 +
  3386 +
  3387 + @RequestMapping(value = "/setNumberCode", method = RequestMethod.GET)
  3388 + @ResponseBody
  3389 + public String setNumberCode(@RequestParam(required = false) String hid) {
  3390 + PatientsQuery patientQuery = new PatientsQuery();
  3391 + patientQuery.setYn(YnEnums.YES.getId());
  3392 + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(hid))
  3393 + {
  3394 + patientQuery.setHospitalId(hid);
  3395 + }
  3396 +
  3397 + patientQuery.setType(1);
  3398 +
  3399 + List<Patients> patientses = patientsService.queryPatient(patientQuery);
  3400 + int batchSize = 2000;
  3401 + int end = 0;
  3402 + for (int i = 0; i < patientses.size(); i += batchSize) {
  3403 + end = (end + batchSize);
  3404 + if (end > patientses.size()) {
  3405 + end = patientses.size();
  3406 + }
  3407 + System.out.println("start:" + i + ",end:" + end);
  3408 + final List<Patients> tempList = patientses.subList(i, end);
  3409 + commonThreadPool.execute(new Runnable() {
  3410 + @Override
  3411 + public void run() {
  3412 + if (CollectionUtils.isNotEmpty(tempList)) {
  3413 + for (Patients pat : tempList) {
  3414 + if (pat != null) {
  3415 + if (pat.getCardNo().length() > 8)
  3416 + {
  3417 + pat.setNumberCode(pat.getCardNo().substring(pat.getCardNo().length() - 8));
  3418 + }
  3419 + else
  3420 + {
  3421 + pat.setNumberCode(pat.getCardNo());
  3422 + }
  3423 + patientsService.updatePatient(pat);
  3424 + }
  3425 + }
  3426 + }
  3427 + }
  3428 + });
  3429 + }
  3430 +
  3431 + return "setNumberCode finish";
  3432 + }
  3433 +
3385 3434 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java View file @ 2d7371a
... ... @@ -1235,6 +1235,7 @@
1235 1235 }
1236 1236 antenatalExaminationService.updateOneAnt(model, model.getId());
1237 1237 falg = false;
  1238 + break;
1238 1239 }
1239 1240 }
1240 1241 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IPreEugenicsService.java View file @ 2d7371a
1 1 package com.lyms.platform.operate.web.service;
2 2  
  3 +import com.lyms.platform.common.result.BaseObjectResponse;
3 4 import com.lyms.platform.common.result.BaseResponse;
4 5 import com.lyms.platform.operate.web.request.PreEugenicsBaseListRequest;
5 6 import com.lyms.platform.operate.web.request.PreEugenicsBaseRequest;
6 7  
  8 +import javax.servlet.http.HttpServletResponse;
  9 +
7 10 public interface IPreEugenicsService extends IFormReportService<PreEugenicsBaseRequest, PreEugenicsBaseListRequest> {
8 11 /**
9 12 * 删除
... ... @@ -15,5 +18,9 @@
15 18 BaseResponse setPreEugenicsCheckItem(String id);
16 19  
17 20 BaseResponse setSendCountry(String id);
  21 +
  22 + BaseObjectResponse getRcCount(String time, Integer userId);
  23 +
  24 + void exportRcCount(String time, Integer userId, HttpServletResponse response);
18 25 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PreEugebicsServiceImpl.java View file @ 2d7371a
... ... @@ -3,9 +3,16 @@
3 3 import java.util.*;
4 4  
5 5 import com.lyms.hospitalapi.lcfy.LisService;
  6 +import com.lyms.platform.biz.service.ResidentsArchiveService;
6 7 import com.lyms.platform.common.enums.YnEnums;
  8 +import com.lyms.platform.common.result.BaseObjectResponse;
  9 +import com.lyms.platform.common.utils.*;
7 10 import com.lyms.platform.operate.web.facade.AutoMatchFacade;
8 11 import com.lyms.platform.operate.web.request.YqysParamRequest;
  12 +import com.lyms.platform.operate.web.utils.ResponseUtil;
  13 +import com.lyms.platform.permission.model.Organization;
  14 +import com.lyms.platform.permission.model.OrganizationQuery;
  15 +import com.lyms.platform.permission.service.OrganizationService;
9 16 import com.lyms.platform.permission.service.UsersService;
10 17 import com.lyms.platform.pojo.BasicConfig;
11 18 import com.lyms.platform.query.ResidentsArchiveQuery;
... ... @@ -23,10 +30,6 @@
23 30 import com.lyms.platform.common.constants.ErrorCodeConstants;
24 31 import com.lyms.platform.common.result.BaseListResponse;
25 32 import com.lyms.platform.common.result.BaseResponse;
26   -import com.lyms.platform.common.utils.DateUtil;
27   -import com.lyms.platform.common.utils.MongoConvertHelper;
28   -import com.lyms.platform.common.utils.ReflectionUtils;
29   -import com.lyms.platform.common.utils.StringUtils;
30 33 import com.lyms.platform.operate.web.request.CommonParamRequest;
31 34 import com.lyms.platform.operate.web.request.PreEugenicsBaseListRequest;
32 35 import com.lyms.platform.operate.web.request.PreEugenicsBaseRequest;
... ... @@ -36,6 +39,8 @@
36 39 import com.lyms.platform.pojo.PreEugenicsBaseModel;
37 40 import com.lyms.platform.pojo.ResidentsArchiveModel;
38 41  
  42 +import javax.servlet.http.HttpServletResponse;
  43 +
39 44 /**
40 45 * 孕前优生实现类
41 46 *
42 47  
43 48  
44 49  
... ... @@ -53,14 +58,21 @@
53 58 private MongoTemplate mongoTemplate;
54 59  
55 60 @Autowired
  61 + private UsersService usersService;
  62 +
  63 + @Autowired
  64 + private LisService lcfyLisService;
  65 +
  66 + @Autowired
56 67 private BasicConfigService basicConfigService;
57 68  
58 69 @Autowired
59   - private UsersService usersService;
  70 + private OrganizationService organizationService;
60 71  
61 72 @Autowired
62   - private LisService lcfyLisService;
  73 + private ResidentsArchiveService residentsArchiveService;
63 74  
  75 +
64 76 /**
65 77 * 根据身份证号获取对应的孕前优生信息
66 78 *
... ... @@ -545,6 +557,102 @@
545 557 mongoTemplate.updateFirst(query, update, PreEugenicsBaseModel.class);
546 558 }
547 559 return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功");
  560 + }
  561 +
  562 + @Override
  563 + public BaseObjectResponse getRcCount(String time, Integer userId) {
  564 +
  565 + List<Map<String,Object>> datas = getDatas( time, userId);
  566 +
  567 + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(datas);
  568 + }
  569 +
  570 + @Override
  571 + public void exportRcCount(String time, Integer userId, HttpServletResponse response) {
  572 +
  573 + List<Map<String,Object>> datas = getDatas( time, userId);
  574 + Map<String, String> cnames = new LinkedHashMap<>();
  575 + cnames.put("name", "乡镇");
  576 + cnames.put("hjCount", "单婚");
  577 + cnames.put("yjCount", "单孕");
  578 + cnames.put("tcCount", "套餐");
  579 + ResponseUtil.responseExcel(cnames, datas, response);
  580 +
  581 + }
  582 +
  583 +
  584 + private List<Map<String,Object>> getDatas(String time,Integer userId)
  585 + {
  586 + String hospitalId = autoMatchFacade.getHospitalId(userId);
  587 + Organization organization = organizationService.getOrganization(Integer.valueOf(hospitalId));
  588 + List<Map<String,Object>> datas = new LinkedList<>();
  589 +
  590 + int hjAllCount = 0;
  591 + int yjAllCount = 0;
  592 + int tcAllCount = 0;
  593 +
  594 + List<BasicConfig> items = basicConfigService.queryByParentId(organization.getAreaId());
  595 + if (CollectionUtils.isNotEmpty(items))
  596 + {
  597 + for (BasicConfig item : items)
  598 + {
  599 + Map<String,Object> data = new HashMap();
  600 + data.put("name",item.getName());
  601 + //查询条件
  602 + ResidentsArchiveQuery query = new ResidentsArchiveQuery();
  603 + query.setYn(YnEnums.YES.getId());
  604 + query.setCheckup("1");
  605 + query.setSex(SystemConfig.WOMAN_ID);
  606 + query.setStreetId(item.getId());
  607 +
  608 + if (hospitalId != null) {
  609 + query.setHospitalId(hospitalId);
  610 + }
  611 + if (StringUtils.isNotEmpty(time)) {
  612 + try {
  613 + query.setBuildDateStart(DateUtil.getSNDate(time)[0]);
  614 + query.setBuildDateEnd(DateUtil.getSNDate(time)[1]);
  615 + } catch (Exception e) {
  616 + e.printStackTrace();
  617 + }
  618 + }
  619 + System.out.println(query.convertToQuery().convertToMongoQuery().toString());
  620 + int hjCount = residentsArchiveService.queryResidentCount(query.convertToQuery());
  621 + hjAllCount+=hjCount;
  622 + Query yquery = new Query();
  623 +
  624 + String[] arrs = time.split(" - ");
  625 + Date start = DateUtil.parseYMD(arrs[0]);
  626 + Date end = DateUtil.parseYMD(arrs[1]);
  627 + end = DateUtil.getDayLastSecond(end);
  628 + yquery.addCriteria(Criteria.where("fillDate").gte(start).lte(end));
  629 +
  630 + yquery.addCriteria(Criteria.where("hyj").is(1));
  631 + long yjCount = mongoTemplate.count(yquery, PreEugenicsBaseModel.class);
  632 + yjAllCount += yjCount;
  633 +
  634 +
  635 + Query tquery = new Query();
  636 + tquery.addCriteria(Criteria.where("fillDate").gte(start).lte(end));
  637 + tquery.addCriteria(Criteria.where("hyj").is(2));
  638 + long tcCount = mongoTemplate.count(tquery, PreEugenicsBaseModel.class);
  639 + tcAllCount += tcCount;
  640 +
  641 + data.put("hjCount",hjCount);
  642 + data.put("yjCount", yjCount);
  643 + data.put("tcCount",tcCount);
  644 +
  645 + datas.add(data);
  646 +
  647 + }
  648 + Map<String,Object> data = new HashMap();
  649 + data.put("name","合计");
  650 + data.put("hjCount",hjAllCount);
  651 + data.put("yjCount",yjAllCount);
  652 + data.put("tcCount",tcAllCount);
  653 + datas.add(data);
  654 + }
  655 + return datas;
548 656 }
549 657 }
platform-transfer/src/main/resources/application.yml View file @ 2d7371a
... ... @@ -5,6 +5,6 @@
5 5 #access数据库路径
6 6 data-path: D://EK-8800181001-net_Plus//System//Patient.mdb
7 7 #区域url地址
8   - url: https://dev-rp-api.healthbaby.com.cn
  8 + url: https://area-chengde-api.healthbaby.com.cn:12356
9 9 type: 0 # 0孕妇 1儿童