Commit dde609407ac76a40af71cbf988b1bf401ae409bf

Authored by wtt
1 parent 9beca64e96
Exists in master and in 1 other branch dev

update

Showing 6 changed files with 598 additions and 124 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java View file @ dde6094
... ... @@ -546,7 +546,19 @@
546 546 LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
547 547 return babyBookbuildingFacade.getBabyGrowthCount(babyManageRequest, loginState.getId());
548 548 }
549   -
  549 + /**
  550 + * 儿童生长统计(秦皇岛定制)
  551 + *
  552 + * @return
  553 + */
  554 + @RequestMapping(method = RequestMethod.GET, value = "/getBabyGrowthQhdCount")
  555 + @ResponseBody
  556 + @TokenRequired
  557 + public BaseResponse getBabyGrowthQhdCount(@Valid BabyManageRequest babyManageRequest,
  558 + HttpServletRequest request) {
  559 + LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
  560 + return babyBookbuildingFacade.getBabyGrowthQhdCount(babyManageRequest, loginState.getId());
  561 + }
550 562 /**
551 563 * 儿童生长统计右边列表
552 564 *
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java View file @ dde6094
... ... @@ -43,6 +43,8 @@
43 43 import javax.servlet.http.HttpServletResponse;
44 44 import java.io.IOException;
45 45 import java.io.OutputStream;
  46 +import java.math.BigDecimal;
  47 +import java.text.DecimalFormat;
46 48 import java.util.*;
47 49 import java.util.concurrent.Callable;
48 50 import java.util.concurrent.Future;
... ... @@ -140,7 +142,6 @@
140 142 private UsersService usersService;
141 143  
142 144  
143   -
144 145 @Autowired
145 146 private AntExRecordService recordService;
146 147 @Autowired
... ... @@ -519,7 +520,7 @@
519 520 }
520 521  
521 522 /**
522   - * 儿童档案表转换分娩表
  523 + * 儿童档案表转换分娩表
523 524 *
524 525 * @param model
525 526 * @param babyAutoRiskRequest
... ... @@ -536,7 +537,7 @@
536 537 babyAutoRiskRequest.setName(model.getName());
537 538 babyAutoRiskRequest.setEncoded(model.getEncoded());
538 539 babyAutoRiskRequest.setCardNo(model.getCardNo());
539   - if(model.getBirth()!=null && model.getCreated()!=null){
  540 + if (model.getBirth() != null && model.getCreated() != null) {
540 541 babyAutoRiskRequest.setDueWeek(DateUtil.getBabyMonthAge(model.getBirth(), new Date()));
541 542  
542 543 }
... ... @@ -903,7 +904,7 @@
903 904 BabyAutoRiskRequest babyAutoRiskRequest = new BabyAutoRiskRequest();
904 905 babyConvertMaternalDeliver(model, babyAutoRiskRequest);
905 906  
906   - babyAutoDiagnoseRiskFacade.autoBabyRisk(babyAutoRiskRequest, userId, 1,"",0);
  907 + babyAutoDiagnoseRiskFacade.autoBabyRisk(babyAutoRiskRequest, userId, 1, "", 0);
907 908 } catch (Exception e) {
908 909 e.printStackTrace();
909 910 }
910 911  
911 912  
912 913  
913 914  
... ... @@ -945,37 +946,30 @@
945 946 }
946 947  
947 948  
948   -
949   - public synchronized void setRiskCode(String id)
950   - {
  949 + public synchronized void setRiskCode(String id) {
951 950 BabyModel babyModel = babyBookbuildingService.queryBabyById(id);
952   - if (babyModel.getRiskCode() == null)
953   - {
  951 + if (babyModel.getRiskCode() == null) {
954 952 setRiskCode(babyModel);
955 953 babyBookbuildingService.updateBabyBuild(babyModel, babyModel.getId());
956 954 }
957 955 }
958 956  
959 957  
960   - public void setRiskCode(BabyModel model)
961   - {
  958 + public void setRiskCode(BabyModel model) {
962 959 //高危儿童才设置编号
963   - if (("216".equals(model.getHospitalId()) || "2100001377".equals(model.getHospitalId())) && model.getHighRisk() != null && model.getHighRisk() == 1)
964   - {
965   - Long result = Long.valueOf(DateUtil.getYearStr()+"1");
  960 + if (("216".equals(model.getHospitalId()) || "2100001377".equals(model.getHospitalId())) && model.getHighRisk() != null && model.getHighRisk() == 1) {
  961 + Long result = Long.valueOf(DateUtil.getYearStr() + "1");
966 962 BabyModelQuery babyQuery = new BabyModelQuery();
967 963 babyQuery.setHospitalId(model.getHospitalId());
968 964 babyQuery.setNeed("true");
969 965 babyQuery.setPage(1);
970 966 babyQuery.setLimit(1);
971 967 babyQuery.setRiskCodeExist(true);
972   - List <BabyModel> models = babyBookbuildingService.queryBabyBuildByCond(babyQuery, "riskCode", Sort.Direction.DESC);
973   - if (CollectionUtils.isNotEmpty(models))
974   - {
975   - if (models.get(0).getRiskCode() != null && String.valueOf(models.get(0).getRiskCode()).startsWith(DateUtil.getYearStr()))
976   - {
977   - Long l = Long.valueOf(String.valueOf(models.get(0).getRiskCode()).substring(4))+1;
978   - result = Long.valueOf(String.valueOf(models.get(0).getRiskCode()).substring(0,4)+ l);
  968 + List <BabyModel> models = babyBookbuildingService.queryBabyBuildByCond(babyQuery, "riskCode", Sort.Direction.DESC);
  969 + if (CollectionUtils.isNotEmpty(models)) {
  970 + if (models.get(0).getRiskCode() != null && String.valueOf(models.get(0).getRiskCode()).startsWith(DateUtil.getYearStr())) {
  971 + Long l = Long.valueOf(String.valueOf(models.get(0).getRiskCode()).substring(4)) + 1;
  972 + result = Long.valueOf(String.valueOf(models.get(0).getRiskCode()).substring(0, 4) + l);
979 973 }
980 974 }
981 975 model.setRiskCode(result);
... ... @@ -1348,7 +1342,7 @@
1348 1342 bm.setmHighRiskReason(b.getmHighRiskReason());
1349 1343 bm.setYn(YnEnums.YES.getId());
1350 1344  
1351   - bm.setHighRiskInfo(CollectionUtils.isNotEmpty(b.getHighRiskInfo()) ? b.getHighRiskInfo() : null);
  1345 + bm.setHighRiskInfo(CollectionUtils.isNotEmpty(b.getHighRiskInfo()) ? b.getHighRiskInfo() : null);
1352 1346 bm.setWeakSon(b.getWeakSon());
1353 1347 bm.setWeakSonInfo(b.getWeakSonInfo());
1354 1348  
... ... @@ -1545,9 +1539,8 @@
1545 1539 bm.setOpenDisease(b.getOpenDisease());
1546 1540 bm.setOpenDiseaseType(b.getOpenDiseaseType());
1547 1541 Date endTime = null;
1548   - if (b.getOpenDiseaseType() !=null)
1549   - {
1550   - endTime = "1".equals(bm.getOpenDiseaseType()) ? DateUtil.addDay(bm.getBuildDate(),33) : DateUtil.addMonth(bm.getBuildDate(),Integer.parseInt(b.getOpenDiseaseType()));
  1542 + if (b.getOpenDiseaseType() != null) {
  1543 + endTime = "1".equals(bm.getOpenDiseaseType()) ? DateUtil.addDay(bm.getBuildDate(), 33) : DateUtil.addMonth(bm.getBuildDate(), Integer.parseInt(b.getOpenDiseaseType()));
1551 1544 }
1552 1545 bm.setOpenDiseaseEndTime(endTime);
1553 1546  
1554 1547  
... ... @@ -1641,11 +1634,12 @@
1641 1634 }
1642 1635 return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功");
1643 1636 }
  1637 +
1644 1638 /**
1645 1639 * 处理幼儿园好班级,
1646 1640 */
1647 1641 private Map <String, String> getBasicConfigYey(String id) {
1648   - if(com.lyms.platform.common.utils.StringUtils.isEmpty(id)){
  1642 + if (com.lyms.platform.common.utils.StringUtils.isEmpty(id)) {
1649 1643 return new HashMap <>();
1650 1644 }
1651 1645 BasicConfigQuery basicConfigQuery = new BasicConfigQuery();
... ... @@ -1659,6 +1653,7 @@
1659 1653 }
1660 1654 return map;
1661 1655 }
  1656 +
1662 1657 /**
1663 1658 * 儿童建档查询详情,根据ID、
1664 1659 *
1665 1660  
... ... @@ -1712,14 +1707,13 @@
1712 1707 result.setYlSelect(model.getYlSelect());
1713 1708 result.setNextDate(DateUtil.getyyyy_MM_dd(model.getNextDate()));
1714 1709 result.setIsUNHS(model.getIsUNHS());
1715   - if(model.getIsUNHS()!=null && model.getIsUNHS() != 0){
  1710 + if (model.getIsUNHS() != null && model.getIsUNHS() != 0) {
1716 1711 result.setHearScrResult(model.getHearScrResult());
1717 1712 }
1718 1713 result.setZhlbxqState(model.getZhlbxqState());
1719 1714 result.setKouqNew(model.getKouqNew());
1720 1715 result.setTxngNew(model.getTxngNew());
1721   - if (!isBuild)
1722   - {
  1716 + if (!isBuild) {
1723 1717 result.setBuildDate(DateUtil.getyyyy_MM_dd(new Date()));
1724 1718 }
1725 1719  
1726 1720  
... ... @@ -2187,12 +2181,9 @@
2187 2181  
2188 2182 results.add(result);
2189 2183 }
2190   - }
2191   - else
2192   - {
  2184 + } else {
2193 2185 //滦平妇幼
2194   - if ("2100001377".equals(param.getHospitalId()))
2195   - {
  2186 + if ("2100001377".equals(param.getHospitalId())) {
2196 2187 //查询出生证明的儿童信息用于建档,
2197 2188 map.put("certBabyInfo", getCertBabyInfo(param.getCardNo()));
2198 2189 }
... ... @@ -2314,8 +2305,7 @@
2314 2305 List <BabyModel> models = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery);
2315 2306  
2316 2307 if (CollectionUtils.isNotEmpty(models)) {
2317   - for (BabyModel model : models)
2318   - {
  2308 + for (BabyModel model : models) {
2319 2309 if (model != null) {
2320 2310  
2321 2311 puerperaQuery.setCardNo(model.getMcertNo());
... ... @@ -2352,9 +2342,7 @@
2352 2342 if (build != null && build.getYn() == YnEnums.YES.getId()) {
2353 2343 result.setIsBuild(true);
2354 2344 result.setName(build.getName());
2355   - }
2356   - else
2357   - {
  2345 + } else {
2358 2346 result.setName(babyHis.get("name") == null ? "" : babyHis.get("name").toString());
2359 2347 }
2360 2348  
2361 2349  
... ... @@ -2423,12 +2411,12 @@
2423 2411  
2424 2412 /**
2425 2413 * 获取出生证明儿童信息用于建档
  2414 + *
2426 2415 * @param cardNo
2427 2416 * @return
2428 2417 */
2429   - private List<CertBabyResult> getCertBabyInfo(String cardNo)
2430   - {
2431   - List<CertBabyResult> list = commonServer.getBabyInfoByCardNo(cardNo);
  2418 + private List <CertBabyResult> getCertBabyInfo(String cardNo) {
  2419 + List <CertBabyResult> list = commonServer.getBabyInfoByCardNo(cardNo);
2432 2420 return list;
2433 2421 }
2434 2422  
... ... @@ -2674,9 +2662,8 @@
2674 2662 babyQuery.setOpenDisease(request.getOpenDisease());
2675 2663 babyQuery.setLastCheckDoctor(request.getLastCheckDoctor());
2676 2664  
2677   - if (StringUtils.isNotEmpty(request.getRiskCode()) && StringUtils.isNum(request.getRiskCode().replace("-","")))
2678   - {
2679   - babyQuery.setRiskCode(Long.valueOf(request.getRiskCode().replace("-","")));
  2665 + if (StringUtils.isNotEmpty(request.getRiskCode()) && StringUtils.isNum(request.getRiskCode().replace("-", ""))) {
  2666 + babyQuery.setRiskCode(Long.valueOf(request.getRiskCode().replace("-", "")));
2680 2667 }
2681 2668  
2682 2669  
... ... @@ -2769,7 +2756,7 @@
2769 2756 basicConfigService,
2770 2757 organizationService,
2771 2758 babyCheckFacade,
2772   - ms, request.getIsArea(), hospitalName,usersService);
  2759 + ms, request.getIsArea(), hospitalName, usersService);
2773 2760 Future f = commonThreadPool.submit(c);
2774 2761 futures.add(f);
2775 2762 }
2776 2763  
2777 2764  
... ... @@ -3329,13 +3316,14 @@
3329 3316 }
3330 3317  
3331 3318 /**
3332   - *查询符合条件的儿童
  3319 + * 查询符合条件的儿童
3333 3320 * 判断是否已有儿童中
3334   - * 母亲手机号、儿童出生日期、性别,满足这三项重复提示:
  3321 + * 母亲手机号、儿童出生日期、性别,满足这三项重复提示:
  3322 + *
3335 3323 * @Author: 武涛涛
3336 3324 * @Date: 2020/12/16 17:23
3337 3325 */
3338   - public BaseListResponse queryBabyListDate(String mphone,String birth,Integer sex ) {
  3326 + public BaseListResponse queryBabyListDate(String mphone, String birth, Integer sex) {
3339 3327 BaseListResponse br = new BaseListResponse();
3340 3328  
3341 3329 BabyModelQuery babyQuery = new BabyModelQuery();
... ... @@ -3347,7 +3335,7 @@
3347 3335 babyQuery.setYn(YnEnums.YES.getId());
3348 3336  
3349 3337 babyQuery.setMphone(mphone);
3350   - if(StringUtils.isNotEmpty(birth)){
  3338 + if (StringUtils.isNotEmpty(birth)) {
3351 3339 babyQuery.setBirthStart(DateUtil.parseYMD(birth));
3352 3340 babyQuery.setBirthEnd(new Date(DateUtil.parseYMD(birth).getTime() + 24 * 60 * 60 * 1000 - 1));
3353 3341 }
3354 3342  
... ... @@ -3355,9 +3343,9 @@
3355 3343 List <Map> mapList = new ArrayList <>();
3356 3344  
3357 3345 List <BabyModel> models = babyBookbuildingService.queryBabyBuildByCond(babyQuery, "created", Sort.Direction.DESC);
3358   - for (int i = 0; i <models.size() ; i++) {
  3346 + for (int i = 0; i < models.size(); i++) {
3359 3347 try {
3360   - Map<String,String> map = new HashMap();
  3348 + Map <String, String> map = new HashMap();
3361 3349 map.put("birth", DateUtil.getYyyyMmDd(models.get(i).getBirth()));
3362 3350 map.put("babyName", models.get(i).getName());
3363 3351 map.put("sex", SexEnum.getTextById(models.get(i).getSex()));
3364 3352  
... ... @@ -3928,7 +3916,100 @@
3928 3916 return objectResponse;
3929 3917 }
3930 3918  
  3919 + /**
  3920 + * 儿童生长发育统计(秦皇岛定制)
  3921 + *
  3922 + * @param request
  3923 + * @param userId
  3924 + * @return
  3925 + */
  3926 + public BaseResponse getBabyGrowthQhdCount(BabyManageRequest request, Integer userId) {
  3927 + String hospitalId = "";
  3928 + //得到当前登录的医院id
  3929 + if (userId != null) {
  3930 + Users dbuser = usersService.getUsers(userId);
  3931 + if (dbuser != null) {
  3932 + hospitalId = String.valueOf(dbuser.getOrgId());
  3933 + }
  3934 + }
3931 3935  
  3936 + BabyCheckModelQuery babyQuery = new BabyCheckModelQuery();
  3937 + babyQuery.setHospitalId(hospitalId);
  3938 +
  3939 + babyQuery.setYn(YnEnums.YES.getId());
  3940 +
  3941 + if (StringUtils.isNotEmpty(request.getBirth())) {
  3942 + String birthStr = request.getBirth();
  3943 + String[] dates = birthStr.split(" - ");
  3944 + babyQuery.setBirthStart(DateUtil.parseYMD(dates[0]));
  3945 + babyQuery.setBirthEnd(DateUtil.parseYMD(dates[1]));
  3946 + }
  3947 + if (request.getMonthAgeStart() != null) {
  3948 + babyQuery.setCheckMonthStart(request.getMonthAgeStart());
  3949 + }
  3950 + if (request.getMonthAgeEnd() != null) {
  3951 + babyQuery.setCheckMonthEnd(request.getMonthAgeEnd());
  3952 + }
  3953 +
  3954 + List <BabyGrowthCountResult> result = new ArrayList <>();
  3955 +
  3956 + Map <String, List <BabyGrowthCountResult>> mapItems = getCountGroupItemQhdMaps();
  3957 + for (String key : mapItems.keySet()) {
  3958 + List <BabyGrowthCountResult> groups = mapItems.get(key);
  3959 + GrowthCountQhdTask task = new GrowthCountQhdTask(groups, babyQuery, babyCheckService, key);
  3960 + result.addAll(task.getResults());
  3961 + }
  3962 + Integer scCount=0;
  3963 + Integer tzCount=0;
  3964 + Integer scbtzCount=0;
  3965 +
  3966 + for (int i = 0; i < result.size(); i++) {
  3967 + try {
  3968 + BabyGrowthCountResult babyResult = result.get(i);
  3969 + if ("身长".equals(babyResult.getTypeName())) {
  3970 + scCount += Integer.parseInt(babyResult.getCount()) ;
  3971 + } else if ("体重".equals(babyResult.getTypeName())) {
  3972 + tzCount += Integer.parseInt(babyResult.getCount()) ;
  3973 + } else if ("身长别体重".equals(babyResult.getTypeName())) {
  3974 + scbtzCount += Integer.parseInt(babyResult.getCount()) ;
  3975 + }
  3976 + } catch (NumberFormatException e) {
  3977 + e.printStackTrace();
  3978 + }
  3979 + }
  3980 + //发生率
  3981 + try {
  3982 + for (int i = 0; i < result.size(); i++) {
  3983 + BabyGrowthCountResult babyResult = result.get(i);
  3984 + if ("身长".equals(babyResult.getTypeName())) {
  3985 + babyResult.setFslCount(scCount);
  3986 + Integer sc = Integer.parseInt(babyResult.getCount());
  3987 + BigDecimal b = new BigDecimal((float)sc/scCount);
  3988 + babyResult.setFsl(new DecimalFormat("0.00").format(b)+"%");
  3989 +
  3990 + } else if ("体重".equals(babyResult.getTypeName())) {
  3991 + babyResult.setFslCount(tzCount);
  3992 + Integer sc = Integer.parseInt(babyResult.getCount());
  3993 + BigDecimal b = new BigDecimal((float)sc/tzCount);
  3994 + babyResult.setFsl(new DecimalFormat("0.00").format(b)+"%");
  3995 +
  3996 + } else if ("身长别体重".equals(babyResult.getTypeName())) {
  3997 + babyResult.setFslCount(scbtzCount);
  3998 + Integer sc = Integer.parseInt(babyResult.getCount());
  3999 + BigDecimal b = new BigDecimal((float)sc/scbtzCount);
  4000 + babyResult.setFsl(new DecimalFormat("0.00").format(b)+"%");
  4001 + }
  4002 + }
  4003 + } catch (NumberFormatException e) {
  4004 + e.printStackTrace();
  4005 + }
  4006 + BaseObjectResponse objectResponse = new BaseObjectResponse();
  4007 + objectResponse.setData(result);
  4008 + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS);
  4009 + objectResponse.setErrormsg("成功");
  4010 + return objectResponse;
  4011 + }
  4012 +
3932 4013 /**
3933 4014 * 儿童生长发育统计右边统计列表
3934 4015 *
... ... @@ -3975,6 +4056,8 @@
3975 4056 babyQuery.setHeightEvaluate(request.getEvaluate());
3976 4057 } else if (StringUtils.isNotEmpty(request.getItemType()) && "2".equals(request.getItemType())) {
3977 4058 babyQuery.setWeightEvaluate(request.getEvaluate());
  4059 + } else if (StringUtils.isNotEmpty(request.getItemType()) && "3".equals(request.getItemType())) {
  4060 + babyQuery.setHeightWeight(request.getEvaluate());
3978 4061 }
3979 4062  
3980 4063 List <Map <String, String>> results = new ArrayList <>();
... ... @@ -4075,6 +4158,7 @@
4075 4158  
4076 4159  
4077 4160 public Map <String, List <BabyGrowthCountResult>> getCountGroupItemMaps() {
  4161 + //身长
4078 4162 List <BabyGrowthCountResult> list1 = new ArrayList <>();
4079 4163 BabyGrowthCountResult growH = new BabyGrowthCountResult();
4080 4164 growH.setBzc("> +3SD");
... ... @@ -4114,7 +4198,7 @@
4114 4198 growH6.setEvaluate("下");
4115 4199 list1.add(growH6);
4116 4200  
4117   -
  4201 + //体重
4118 4202 List <BabyGrowthCountResult> list2 = new ArrayList <>();
4119 4203 BabyGrowthCountResult growW = new BabyGrowthCountResult();
4120 4204 growW.setBzc("> +3SD");
... ... @@ -4162,6 +4246,137 @@
4162 4246 return map1;
4163 4247 }
4164 4248  
  4249 + public Map <String, List <BabyGrowthCountResult>> getCountGroupItemQhdMaps() {
  4250 + //身长
  4251 + List <BabyGrowthCountResult> list1 = new ArrayList <>();
  4252 + BabyGrowthCountResult growH = new BabyGrowthCountResult();
  4253 + growH.setBzc("> 2SD");
  4254 + growH.setEvaluate("上");
  4255 + list1.add(growH);
  4256 +
  4257 + BabyGrowthCountResult growH1 = new BabyGrowthCountResult();
  4258 + growH1.setBzc("+1SD ~ +2SD");
  4259 + growH1.setEvaluate("中上");
  4260 + list1.add(growH1);
  4261 +
  4262 +
  4263 + BabyGrowthCountResult growH2 = new BabyGrowthCountResult();
  4264 + growH2.setBzc("0 ~ +1SD");
  4265 + growH2.setEvaluate("中+");
  4266 + list1.add(growH2);
  4267 +
  4268 + BabyGrowthCountResult growH3 = new BabyGrowthCountResult();
  4269 +// growH3.setBzc("-1SD ~ +1SD");
  4270 + growH3.setBzc("标准值");
  4271 +// growH3.setEvaluate("中");
  4272 + growH3.setEvaluate("正常");
  4273 + list1.add(growH3);
  4274 +
  4275 +
  4276 + BabyGrowthCountResult growH4 = new BabyGrowthCountResult();
  4277 + growH4.setBzc("0 ~ -1SD");
  4278 + growH4.setEvaluate("中-");
  4279 + list1.add(growH4);
  4280 +
  4281 +
  4282 + BabyGrowthCountResult growH5 = new BabyGrowthCountResult();
  4283 + growH5.setBzc("-1SD ~ -2SD");
  4284 + growH5.setEvaluate("中下");
  4285 + list1.add(growH5);
  4286 +
  4287 + BabyGrowthCountResult growH6 = new BabyGrowthCountResult();
  4288 + growH6.setBzc("< -2SD");
  4289 + growH6.setEvaluate("下");
  4290 + list1.add(growH6);
  4291 +
  4292 + //体重
  4293 + List <BabyGrowthCountResult> list2 = new ArrayList <>();
  4294 + BabyGrowthCountResult growW = new BabyGrowthCountResult();
  4295 + growW.setBzc("> 2SD");
  4296 + growW.setEvaluate("上");
  4297 + list2.add(growW);
  4298 +
  4299 + BabyGrowthCountResult growW1 = new BabyGrowthCountResult();
  4300 + growW1.setBzc("+1SD ~ +2SD");
  4301 + growW1.setEvaluate("中上");
  4302 + list2.add(growW1);
  4303 +
  4304 +
  4305 + BabyGrowthCountResult growW2 = new BabyGrowthCountResult();
  4306 + growW2.setBzc("0 ~ +1SD");
  4307 + growW2.setEvaluate("中+");
  4308 + list2.add(growW2);
  4309 +
  4310 + BabyGrowthCountResult growW3 = new BabyGrowthCountResult();
  4311 + growW3.setBzc("标准值");
  4312 + growW3.setEvaluate("正常");
  4313 + list2.add(growW3);
  4314 +
  4315 +
  4316 + BabyGrowthCountResult growW4 = new BabyGrowthCountResult();
  4317 + growW4.setBzc("0 ~ -1SD");
  4318 + growW4.setEvaluate("中-");
  4319 + list2.add(growW4);
  4320 +
  4321 +
  4322 + BabyGrowthCountResult growW5 = new BabyGrowthCountResult();
  4323 + growW5.setBzc("-1SD ~ -2SD");
  4324 + growW5.setEvaluate("中下");
  4325 + list2.add(growW5);
  4326 +
  4327 + BabyGrowthCountResult growW6 = new BabyGrowthCountResult();
  4328 + growW6.setBzc("< -2SD");
  4329 + growW6.setEvaluate("下");
  4330 + list2.add(growW6);
  4331 +
  4332 + //身长别体重
  4333 + List <BabyGrowthCountResult> list3 = new ArrayList <>();
  4334 + BabyGrowthCountResult growHW = new BabyGrowthCountResult();
  4335 + growHW.setBzc("> 2SD");
  4336 + growHW.setEvaluate("上");
  4337 + list3.add(growHW);
  4338 +
  4339 + BabyGrowthCountResult growHW1 = new BabyGrowthCountResult();
  4340 + growHW1.setBzc("+1SD ~ +2SD");
  4341 + growHW1.setEvaluate("中上");
  4342 + list3.add(growHW1);
  4343 +
  4344 +
  4345 + BabyGrowthCountResult growHW2 = new BabyGrowthCountResult();
  4346 + growHW2.setBzc("0 ~ +1SD");
  4347 + growHW2.setEvaluate("中+");
  4348 + list3.add(growHW2);
  4349 +
  4350 + BabyGrowthCountResult growHW3 = new BabyGrowthCountResult();
  4351 + growHW3.setBzc("标准值");
  4352 + growHW3.setEvaluate("正常");
  4353 + list3.add(growHW3);
  4354 +
  4355 +
  4356 + BabyGrowthCountResult growHW4 = new BabyGrowthCountResult();
  4357 + growHW4.setBzc("0 ~ -1SD");
  4358 + growHW4.setEvaluate("中-");
  4359 + list3.add(growHW4);
  4360 +
  4361 +
  4362 + BabyGrowthCountResult growHW5 = new BabyGrowthCountResult();
  4363 + growHW5.setBzc("-1SD ~ -2SD");
  4364 + growHW5.setEvaluate("中下");
  4365 + list3.add(growHW5);
  4366 +
  4367 + BabyGrowthCountResult growHW6 = new BabyGrowthCountResult();
  4368 + growHW6.setBzc("< -2SD");
  4369 + growHW6.setEvaluate("下");
  4370 + list3.add(growHW6);
  4371 +
  4372 + Map <String, List <BabyGrowthCountResult>> map1 = new HashMap <>();
  4373 + map1.put("身长", list1);
  4374 + map1.put("体重", list2);
  4375 + map1.put("身长别体重", list3);
  4376 +
  4377 + return map1;
  4378 + }
  4379 +
4165 4380 public void exportBabyGrowthRightList(BabyManageRequest babyManageRequest, Integer userId, HttpServletResponse httpServletResponse) {
4166 4381 BaseListResponse listRespones = getBabyGrowthRightList(babyManageRequest, userId, null, null, null);
4167 4382 List <Map <String, Object>> results = new ArrayList <>();
4168 4383  
... ... @@ -5255,9 +5470,9 @@
5255 5470 }
5256 5471  
5257 5472  
5258   - public Map<String,Object> getBabyDisease(String id) {
  5473 + public Map <String, Object> getBabyDisease(String id) {
5259 5474  
5260   - Map<String,Object> data = new HashMap<>();
  5475 + Map <String, Object> data = new HashMap <>();
5261 5476  
5262 5477 List <String> diseases = new ArrayList <>();
5263 5478 BabyModel babyModel = babyBookbuildingService.queryBabyBuildById(id);
5264 5479  
... ... @@ -5266,10 +5481,10 @@
5266 5481 diseases.add(BabyDiseaseEnums.getNameById(Integer.parseInt(babyModel.getDiseases().get(i))));
5267 5482 }
5268 5483 data.put("diseases", diseases);
5269   - data.put("openDisease",com.lyms.platform.common.utils.StringUtils.isNotEmpty(babyModel.getOpenDisease()) ? babyModel.getOpenDisease() : "1");
  5484 + data.put("openDisease", com.lyms.platform.common.utils.StringUtils.isNotEmpty(babyModel.getOpenDisease()) ? babyModel.getOpenDisease() : "1");
5270 5485 data.put("openDiseaseType", babyModel.getOpenDiseaseType());
5271 5486 data.put("openDiseaseEndTime", DateUtil.getyyyy_MM_dd(babyModel.getOpenDiseaseEndTime()));
5272   - data.put("babyBirthday",DateUtil.getyyyy_MM_dd(babyModel.getBirth()));
  5487 + data.put("babyBirthday", DateUtil.getyyyy_MM_dd(babyModel.getBirth()));
5273 5488  
5274 5489 }
5275 5490 return data;
5276 5491  
5277 5492  
5278 5493  
5279 5494  
... ... @@ -5281,27 +5496,24 @@
5281 5496 babyModelQuery3.setDataStatus(false);
5282 5497 babyModelQuery3.setMphone(phone);
5283 5498 babyModelQuery3.setBuildType(2);
5284   - List<BabyModel> babyModels = babyService.queryBabyWithQuery(babyModelQuery3);
  5499 + List <BabyModel> babyModels = babyService.queryBabyWithQuery(babyModelQuery3);
5285 5500 System.out.println(babyModelQuery3.convertToQuery().convertToMongoQuery().toString());
5286   - List<Map> datas = new ArrayList<>();
5287   - if (CollectionUtils.isNotEmpty(babyModels))
5288   - {
5289   - for (BabyModel model : babyModels)
5290   - {
5291   - if (model.getYn() == null || model.getYn() == 1)
5292   - {
  5501 + List <Map> datas = new ArrayList <>();
  5502 + if (CollectionUtils.isNotEmpty(babyModels)) {
  5503 + for (BabyModel model : babyModels) {
  5504 + if (model.getYn() == null || model.getYn() == 1) {
5293 5505 continue;
5294 5506 }
5295 5507 Map data = new HashMap();
5296   - data.put("id",model.getId());
  5508 + data.put("id", model.getId());
5297 5509 data.put("phone", model.getMphone());
5298   - data.put("birth",DateUtil.getyyyy_MM_dd(model.getBirth()));
5299   - data.put("babyName",model.getName());
  5510 + data.put("birth", DateUtil.getyyyy_MM_dd(model.getBirth()));
  5511 + data.put("babyName", model.getName());
5300 5512 data.put("mommyName", model.getMname());
5301   - data.put("mommyCardNo",model.getMcertNo());
5302   - data.put("sex",model.getSex());
5303   - data.put("vcCardNo",model.getVcCardNo());
5304   - data.put("sINCard",model.getsINCard());
  5513 + data.put("mommyCardNo", model.getMcertNo());
  5514 + data.put("sex", model.getSex());
  5515 + data.put("vcCardNo", model.getVcCardNo());
  5516 + data.put("sINCard", model.getsINCard());
5305 5517 datas.add(data);
5306 5518 }
5307 5519 }
... ... @@ -5312,8 +5524,7 @@
5312 5524  
5313 5525 public BaseResponse addAppBabyInfo(BabyAppBuildAddRequest appRequest) {
5314 5526  
5315   - if (StringUtils.isNotEmpty(appRequest.getId()))
5316   - {
  5527 + if (StringUtils.isNotEmpty(appRequest.getId())) {
5317 5528 BabyModel babyModel = babyService.getOneBabyById(appRequest.getId());
5318 5529  
5319 5530 BabyBookbuildingAddRequest request = new BabyBookbuildingAddRequest();
5320 5531  
... ... @@ -5332,11 +5543,9 @@
5332 5543 request.setBuildDate(DateUtil.getyyyy_MM_dd(new Date()));
5333 5544 request.setBuildDoctor("a9e5507f-e7da-4ec6-b8db-9a1e4d1b7c29");
5334 5545  
5335   - if (StringUtils.isNotEmpty(babyModel.getParentId()))
5336   - {
  5546 + if (StringUtils.isNotEmpty(babyModel.getParentId())) {
5337 5547 Patients pat = patientsService.findOnePatientById(babyModel.getParentId());
5338   - if (pat != null)
5339   - {
  5548 + if (pat != null) {
5340 5549 request.setmHighRiskReason(pat.getRiskFactorId());
5341 5550 }
5342 5551 }
5343 5552  
5344 5553  
5345 5554  
... ... @@ -5344,24 +5553,19 @@
5344 5553 UsersQuery usersQuery = new UsersQuery();
5345 5554 usersQuery.setYn(YnEnums.YES.getId());
5346 5555 usersQuery.setOrgId(Integer.parseInt(appRequest.getHospitalId()));
5347   - List<Users> users = usersService.queryUsers(usersQuery);
  5556 + List <Users> users = usersService.queryUsers(usersQuery);
5348 5557 updateBabyBookbuilding(request, users.get(0).getId());
5349   - }
5350   - else
5351   - {
  5558 + } else {
5352 5559 BabyBookbuildingAddRequest request = new BabyBookbuildingAddRequest();
5353 5560 request.setYn(1);
5354 5561 request.setId(appRequest.getId());
5355 5562 request.setMommyName(appRequest.getMommyName());
5356 5563 request.setsINCard(appRequest.getsINCard());
5357 5564  
5358   - if (StringUtils.isNotEmpty(appRequest.getMommyCardNo()))
5359   - {
  5565 + if (StringUtils.isNotEmpty(appRequest.getMommyCardNo())) {
5360 5566 request.setMommyCertificateNum(appRequest.getMommyCardNo());
5361 5567 request.setMommyCertificateTypeId("70ae1d93-2964-46bc-83fa-bec9ff605b1c");
5362   - }
5363   - else
5364   - {
  5568 + } else {
5365 5569 request.setMommyCertificateNum(appRequest.getPhone());
5366 5570 request.setMommyCertificateTypeId("57e1dcd3f0f02e7ca519d6c6");
5367 5571 }
5368 5572  
... ... @@ -5381,11 +5585,10 @@
5381 5585 UsersQuery usersQuery = new UsersQuery();
5382 5586 usersQuery.setYn(YnEnums.YES.getId());
5383 5587 usersQuery.setOrgId(Integer.parseInt(appRequest.getHospitalId()));
5384   - List<Users> users = usersService.queryUsers(usersQuery);
  5588 + List <Users> users = usersService.queryUsers(usersQuery);
5385 5589 Integer userId = users.get(0).getId();
5386 5590  
5387   - if (CollectionUtils.isNotEmpty(appRequest.getDiseases()))
5388   - {
  5591 + if (CollectionUtils.isNotEmpty(appRequest.getDiseases())) {
5389 5592 request.setOpenDisease("2");//开通疾病
5390 5593 request.setOpenDiseaseType(appRequest.getOpenDisType());
5391 5594 request.setBuildDoctor(appRequest.getDoctorId());
5392 5595  
5393 5596  
5394 5597  
5395 5598  
5396 5599  
5397 5600  
5398 5601  
5399 5602  
... ... @@ -5393,36 +5596,33 @@
5393 5596 }
5394 5597  
5395 5598 BaseObjectResponse baseObjectResponse = addBabyBookbuilding(request, userId);
5396   - if (baseObjectResponse.getErrorcode() != 0)
5397   - {
  5599 + if (baseObjectResponse.getErrorcode() != 0) {
5398 5600 return baseObjectResponse;
5399 5601 }
5400   - appRequest.setId(String.valueOf(baseObjectResponse.getData()));
  5602 + appRequest.setId(String.valueOf(baseObjectResponse.getData()));
5401 5603  
5402 5604  
5403   -
5404 5605 }
5405 5606  
5406 5607 BabyModel babyModelDb = babyService.getOneBabyById(appRequest.getId());
5407 5608  
5408   - if (CollectionUtils.isNotEmpty(appRequest.getDiseases()))
5409   - {
  5609 + if (CollectionUtils.isNotEmpty(appRequest.getDiseases())) {
5410 5610 //创建儿童检查
5411   - createBabyCheck(babyModelDb,appRequest.getDiseases());
  5611 + createBabyCheck(babyModelDb, appRequest.getDiseases());
5412 5612 }
5413 5613  
5414 5614 return new BaseObjectResponse()
5415 5615 .setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS).setData(babyModelDb.getEncoded());
5416 5616 }
  5617 +
5417 5618 @Autowired
5418 5619 private GuidelinesService guidelinesService;
5419 5620  
5420   - public void createBabyCheck(BabyModel babyModelDb,List<String> diseases)
5421   - {
  5621 + public void createBabyCheck(BabyModel babyModelDb, List <String> diseases) {
5422 5622  
5423   - int babyMonth = DateUtil.getBabyAgeMonth(babyModelDb.getBirth(),new Date());
  5623 + int babyMonth = DateUtil.getBabyAgeMonth(babyModelDb.getBirth(), new Date());
5424 5624  
5425   - BabyCheckRequest request = new BabyCheckRequest();
  5625 + BabyCheckRequest request = new BabyCheckRequest();
5426 5626 request.setPid(babyModelDb.getPid());
5427 5627 request.setBuildId(babyModelDb.getId());
5428 5628 request.setCheckDate(DateUtil.getyyyy_MM_dd(new Date()));
5429 5629  
... ... @@ -5430,17 +5630,17 @@
5430 5630 request.setDiseases(diseases);
5431 5631 request.setMonthAge(DateUtil.getBabyMonthAge(babyModelDb.getBirth(), new Date()));
5432 5632  
5433   - GuidelinesQuery guidelinesQuery=new GuidelinesQuery();
  5633 + GuidelinesQuery guidelinesQuery = new GuidelinesQuery();
5434 5634 guidelinesQuery.setType(3);
5435 5635 guidelinesQuery.setMaxStart(babyMonth);
5436 5636 guidelinesQuery.setMinEnd(babyMonth);
5437 5637 guidelinesQuery.setNumber(babyMonth);
5438 5638  
5439 5639 //指导意见
5440   - List<Guidelines> list = guidelinesService.queryGuidelines(guidelinesQuery);
5441   - StringBuilder stringBuilder=new StringBuilder(500);
5442   - if(CollectionUtils.isNotEmpty(list)){
5443   - for(Guidelines guidelines:list){
  5640 + List <Guidelines> list = guidelinesService.queryGuidelines(guidelinesQuery);
  5641 + StringBuilder stringBuilder = new StringBuilder(500);
  5642 + if (CollectionUtils.isNotEmpty(list)) {
  5643 + for (Guidelines guidelines : list) {
5444 5644 stringBuilder.append(guidelines.getCategory()).append(" ").append(guidelines.getContent()).append("\r\n");
5445 5645 }
5446 5646 }
5447 5647  
... ... @@ -5459,15 +5659,13 @@
5459 5659 model.setContent(request.getContent());
5460 5660 model.setNextCheckTime(DateUtil.parseYMD(request.getNextCheckTime()));
5461 5661 model.setRecordTime(DateUtil.parseYMD(request.getRecordTime()));
5462   - if (StringUtils.isNotEmpty(request.getId()))
5463   - {
  5662 + if (StringUtils.isNotEmpty(request.getId())) {
5464 5663 model.setModified(new Date());
5465 5664 Query query = Query.query(Criteria.where("id").is(request.getId()));
5466 5665 Update update = MongoConvertHelper
5467 5666 .convertToNativeUpdate(ReflectionUtils.getUpdateField(model));
5468 5667 mongoTemplate.updateFirst(query, update, BabyRecordModel.class);
5469   - }
5470   - else {
  5668 + } else {
5471 5669  
5472 5670 model.setCreated(new Date());
5473 5671 model.setModified(new Date());
5474 5672  
... ... @@ -5504,20 +5702,18 @@
5504 5702 Query query = new Query();
5505 5703 query.addCriteria(Criteria.where("babyId").is(babyId));
5506 5704  
5507   - List<Map> records = new ArrayList<>();
5508   - List<BabyRecordModel> models = mongoTemplate.find(query, BabyRecordModel.class);
5509   - if (CollectionUtils.isNotEmpty(models))
5510   - {
5511   - for (BabyRecordModel model : models)
5512   - {
  5705 + List <Map> records = new ArrayList <>();
  5706 + List <BabyRecordModel> models = mongoTemplate.find(query, BabyRecordModel.class);
  5707 + if (CollectionUtils.isNotEmpty(models)) {
  5708 + for (BabyRecordModel model : models) {
5513 5709  
5514 5710 Map map = new HashMap();
5515   - map.put("id",model.getId());
5516   - map.put("doctorName",usersService.getUsers(Integer.parseInt(model.getDoctorId())).getName());
5517   - map.put("doctorId",model.getDoctorId());
5518   - map.put("nextCheckTime",DateUtil.getyyyy_MM_dd(model.getNextCheckTime()));
5519   - map.put("recordTime",DateUtil.getyyyy_MM_dd(model.getRecordTime()));
5520   - map.put("content",model.getContent());
  5711 + map.put("id", model.getId());
  5712 + map.put("doctorName", usersService.getUsers(Integer.parseInt(model.getDoctorId())).getName());
  5713 + map.put("doctorId", model.getDoctorId());
  5714 + map.put("nextCheckTime", DateUtil.getyyyy_MM_dd(model.getNextCheckTime()));
  5715 + map.put("recordTime", DateUtil.getyyyy_MM_dd(model.getRecordTime()));
  5716 + map.put("content", model.getContent());
5521 5717 records.add(map);
5522 5718 }
5523 5719 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java View file @ dde6094
... ... @@ -2313,6 +2313,94 @@
2313 2313 }
2314 2314 return res;
2315 2315 }
  2316 + /**
  2317 + * 根据身长和性别来查询身长别体重值(秦皇岛定制)
  2318 + *
  2319 + * @param height
  2320 + * @param sex
  2321 + * @return
  2322 + */
  2323 + public BaseObjectResponse queryHWByHeightQhd(Double height, Double weight, Integer sex, String birth, String dueDate, String checkDate) {
  2324 +
  2325 +
  2326 + String res = getBabyHWQhd(height, weight, sex, birth, dueDate, checkDate);
  2327 + BaseObjectResponse br = new BaseObjectResponse();
  2328 + br.setData(res);
  2329 + br.setErrorcode(ErrorCodeConstants.SUCCESS);
  2330 + br.setErrormsg("成功");
  2331 + return br;
  2332 + }
  2333 + public String getBabyHWQhd(Double height, Double weight, Integer sex, String birth, String dueDate, String checkDate) {
  2334 + Double hw = getHw(height);
  2335 +
  2336 + String res = "";
  2337 + if (StringUtils.isEmpty(birth) || StringUtils.isEmpty(checkDate)) {
  2338 + return res;
  2339 + }
  2340 +
  2341 +
  2342 + int monthAge = 0;
  2343 + if (StringUtils.isNotEmpty(dueDate)) {
  2344 + monthAge = DateUtil.getBabyAgeMonth(DateUtil.parseYMD(dueDate), DateUtil.parseYMD(checkDate));
  2345 + if (monthAge < 0) {
  2346 + monthAge = 0;
  2347 + }
  2348 + } else {
  2349 + monthAge = DateUtil.getBabyAgeMonth(DateUtil.parseYMD(birth), DateUtil.parseYMD(checkDate));
  2350 + }
  2351 +
  2352 +
  2353 + int ageType = 0;
  2354 + if (monthAge > 24) {
  2355 + ageType = 1;
  2356 + }
  2357 +
  2358 + //查询该月龄的年龄别体重值
  2359 + List <AwModel> list = babyCheckService.queryBabyHealthConfig(ageType, sex, 3, hw);
  2360 +
  2361 +
  2362 + if (CollectionUtils.isNotEmpty(list)) {
  2363 + AwModel model = list.get(0);
  2364 +
  2365 + /* if (model.getPthreeDs() < weight) {
  2366 + res = "上";
  2367 + } else if (model.getPthreeDs() >= weight && weight > model.getPtwoDs()) {
  2368 + res = "中上";
  2369 + } else if (model.getPtwoDs() >= weight && weight > model.getPoneDs()) {
  2370 + res = "中+";
  2371 + } else if (model.getPoneDs() >= weight && weight >= model.getRoneDs()) {
  2372 + res = "正常";
  2373 + } else if (model.getRoneDs() > weight && weight >= model.getRtwoDs()) {
  2374 + res = "中-";
  2375 + } else if (model.getRtwoDs() > weight && weight >= model.getRthreeDs()) {
  2376 + res = "中下";
  2377 + } else if (model.getRtwoDs() > weight) {
  2378 + res = "下";
  2379 + }*/
  2380 +
  2381 + if (weight != null) {
  2382 +
  2383 + if (weight > model.getPtwoDs()) {
  2384 + res = "上";
  2385 + }else if (weight > model.getPoneDs() && weight <= model.getPtwoDs()) {
  2386 + res = "中上";
  2387 + }else if (weight > model.getMiddleDs() && weight <= model.getPoneDs()) {
  2388 + res = "中+";
  2389 + }else if (model.getMiddleDs().equals( weight )) {
  2390 + res = "正常";
  2391 + }else if (weight < model.getMiddleDs() && weight >= model.getRoneDs()) {
  2392 + res = "中-";
  2393 + }else if (weight < model.getRoneDs() && weight >= model.getRtwoDs()) {
  2394 + res = "中下";
  2395 + }else if (weight < model.getRtwoDs()) {
  2396 + res = "下";
  2397 + }
  2398 + }
  2399 +
  2400 +
  2401 + }
  2402 + return res;
  2403 + }
2316 2404  
2317 2405 /**
2318 2406 * 计算出要查询的身长
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyManageRequest.java View file @ dde6094
... ... @@ -75,7 +75,7 @@
75 75  
76 76 private String isArea;
77 77  
78   - //检查项类型 1身长 2 体重
  78 + //检查项类型 1身长 2 体重 3身长别体重
79 79 private String itemType;
80 80  
81 81 //评价
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabyGrowthCountResult.java View file @ dde6094
... ... @@ -10,6 +10,10 @@
10 10 //类型名称
11 11 private String typeName;
12 12  
  13 + //发生率=1行人数÷7行总数
  14 + private String fsl;
  15 + private Integer fslCount;
  16 +
13 17 //标准差
14 18 private String bzc;
15 19  
16 20  
... ... @@ -23,8 +27,25 @@
23 27 return bzc;
24 28 }
25 29  
  30 +
26 31 public void setBzc(String bzc) {
27 32 this.bzc = bzc;
  33 + }
  34 +
  35 + public Integer getFslCount() {
  36 + return fslCount;
  37 + }
  38 +
  39 + public void setFslCount(Integer fslCount) {
  40 + this.fslCount = fslCount;
  41 + }
  42 +
  43 + public String getFsl() {
  44 + return fsl;
  45 + }
  46 +
  47 + public void setFsl(String fsl) {
  48 + this.fsl = fsl;
28 49 }
29 50  
30 51 public String getEvaluate() {
platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/GrowthCountQhdTask.java View file @ dde6094
  1 +package com.lyms.platform.operate.web.utils;
  2 +
  3 +import com.lyms.platform.biz.service.BabyCheckService;
  4 +import com.lyms.platform.common.enums.YnEnums;
  5 +import com.lyms.platform.common.utils.ExceptionUtils;
  6 +import com.lyms.platform.operate.web.result.BabyGrowthCountResult;
  7 +import com.lyms.platform.query.BabyCheckModelQuery;
  8 +import org.apache.commons.collections.CollectionUtils;
  9 +
  10 +import java.util.ArrayList;
  11 +import java.util.List;
  12 +import java.util.concurrent.*;
  13 +
  14 +/**
  15 + * 秦皇岛定制,支持一下身长别体重
  16 + *
  17 + * @Author: 武涛涛
  18 + * @Date: 2021/3/25 9:25
  19 + */
  20 +public class GrowthCountQhdTask {
  21 +
  22 + private static ExecutorService pool = Executors.newFixedThreadPool(6);
  23 + private BabyCheckModelQuery babyQuery;
  24 + private List <BabyGrowthCountResult> growth;
  25 + private BabyCheckService babyCheckService;
  26 + private String type;
  27 +
  28 + public GrowthCountQhdTask(List <BabyGrowthCountResult> growth, BabyCheckModelQuery babyQuery,
  29 + BabyCheckService babyCheckService, String type) {
  30 + this.babyQuery = babyQuery;
  31 + this.growth = growth;
  32 + this.babyCheckService = babyCheckService;
  33 + this.type = type;
  34 + }
  35 +
  36 + public List <BabyGrowthCountResult> getResults() {
  37 + List <BabyGrowthCountResult> results = new ArrayList <>();
  38 + if (CollectionUtils.isNotEmpty(growth)) {
  39 +
  40 + int batchSize = 2;
  41 + int end = 0;
  42 + List <Future> futures = new ArrayList <>();
  43 + for (int i = 0; i < growth.size(); i += batchSize) {
  44 + end = (end + batchSize);
  45 + if (end > growth.size()) {
  46 + end = growth.size();
  47 + }
  48 +
  49 + final List <BabyGrowthCountResult> growths = growth.subList(i, end);
  50 + Callable c = new Callable() {
  51 + @Override
  52 + public List <BabyGrowthCountResult> call() throws Exception {
  53 +
  54 +
  55 + if (CollectionUtils.isNotEmpty(growths)) {
  56 + for (BabyGrowthCountResult grouwth : growths) {
  57 + BabyCheckModelQuery babyCheckModelQuery = new BabyCheckModelQuery();
  58 + babyCheckModelQuery.setYn(YnEnums.YES.getId());
  59 + babyCheckModelQuery.setHospitalId(babyQuery.getHospitalId());
  60 + babyCheckModelQuery.setBirthStart(babyQuery.getBirthStart());
  61 + babyCheckModelQuery.setBirthEnd(babyQuery.getBirthEnd());
  62 + babyCheckModelQuery.setCheckMonthStart(babyQuery.getCheckMonthStart());
  63 + babyCheckModelQuery.setCheckMonthEnd(babyQuery.getCheckMonthEnd());
  64 +
  65 +
  66 + if ("身长".equals(type)) {
  67 + babyCheckModelQuery.setHeightEvaluate(grouwth.getEvaluate());
  68 + } else if ("体重".equals(type)) {
  69 + babyCheckModelQuery.setWeightEvaluate(grouwth.getEvaluate());
  70 +
  71 + } else if ("身长别体重".equals(type)) {
  72 + babyCheckModelQuery.setHeightWeight(grouwth.getEvaluate());
  73 + }
  74 + grouwth.setTypeName(type);
  75 + int count = babyCheckService.queryBabyCheckCount(babyCheckModelQuery);
  76 + grouwth.setCount(String.valueOf(count));
  77 + }
  78 + }
  79 +
  80 + return growths;
  81 + }
  82 + };
  83 +
  84 + Future f = pool.submit(c);
  85 + futures.add(f);
  86 + }
  87 + if (CollectionUtils.isNotEmpty(futures)) {
  88 + for (Future f : futures) {
  89 + try {
  90 + results.addAll((List) f.get(30, TimeUnit.SECONDS));
  91 + } catch (Exception e) {
  92 + ExceptionUtils.catchException(e, "baby growth count");
  93 + }
  94 + }
  95 + }
  96 +
  97 + }
  98 +
  99 + return results;
  100 + }
  101 +
  102 +
  103 +// public List<BabyGrowthCountResult> getResults() {
  104 +// List<BabyGrowthCountResult> results = new ArrayList<>();
  105 +// if (CollectionUtils.isNotEmpty(growth)) {
  106 +//
  107 +// int batchSize = 1;
  108 +// int end = 0;
  109 +// List<Future> futures = new ArrayList<>();
  110 +// for (int i = 0; i < growth.size(); i += batchSize) {
  111 +// end = (end + batchSize);
  112 +// if (end > growth.size()) {
  113 +// end = growth.size();
  114 +// }
  115 +//
  116 +// final List<BabyGrowthCountResult> growths = growth.subList(i, end);
  117 +// Callable c = new Callable()
  118 +// {
  119 +// @Override
  120 +// public List<BabyGrowthCountResult> call() throws Exception {
  121 +//
  122 +// if (CollectionUtils.isNotEmpty(growths))
  123 +// {
  124 +// for(BabyGrowthCountResult grouwth : growths)
  125 +// {
  126 +// if ("身长".equals(type))
  127 +// {
  128 +// babyQuery.setHeightEvaluate(grouwth.getEvaluate());
  129 +// }
  130 +// else if ("体重".equals(type))
  131 +// {
  132 +// babyQuery.setWeightEvaluate(grouwth.getEvaluate());
  133 +// }
  134 +// int count = babyBookbuildingService.queryBabyCount(babyQuery);
  135 +// grouwth.setCount(String.valueOf(count));
  136 +// }
  137 +// }
  138 +//
  139 +// return growths;
  140 +// }
  141 +// };
  142 +//
  143 +// Future f = pool.submit(c);
  144 +// futures.add(f);
  145 +// }
  146 +// for (Future f : futures) {
  147 +// try {
  148 +// results.addAll((List) f.get(30, TimeUnit.SECONDS));
  149 +// } catch (Exception e) {
  150 +// ExceptionUtils.catchException(e, "baby growth count");
  151 +// }
  152 +// }
  153 +// }
  154 +//
  155 +// return results;
  156 +// }
  157 +}