Commit af1c79db6cdb672517b06966b66bd4ba2945debb

Authored by shiyang
1 parent 1f2e61d990

隆化:0-6岁儿童健康体检-收费表

Showing 3 changed files with 135 additions and 2 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java View file @ af1c79d
... ... @@ -1041,7 +1041,7 @@
1041 1041 }
1042 1042  
1043 1043 /**
1044   - * 0-6岁儿童健康体检统计表
  1044 + * 0-6岁儿童健康体检-统计表
1045 1045 * @param httpServletRequest
1046 1046 * @param checkDateStart
1047 1047 * @param checkDateEnd
... ... @@ -1063,6 +1063,30 @@
1063 1063 @RequestParam(value = "babyStreetId", required = false) String babyStreetId) {
1064 1064 LoginContext loginState = (LoginContext) httpServletRequest.getAttribute("loginContext");
1065 1065 return babyBookbuildingFacade.queryBabyCheck0_6Statistical(checkDateStart,checkDateEnd,babyProvinceId,babyCityId,babyAreaId,babyStreetId ,loginState.getId());
  1066 + }
  1067 + /**
  1068 + * 0-6岁儿童健康体检-收费表
  1069 + * @param httpServletRequest
  1070 + * @param checkDateStart
  1071 + * @param checkDateEnd
  1072 + * @param babyProvinceId 隆化定制省市县乡镇
  1073 + * @param babyCityId
  1074 + * @param babyAreaId
  1075 + * @param babyStreetId
  1076 + * @return
  1077 + */
  1078 + @RequestMapping(method = RequestMethod.GET, value = "/queryBabyCheck0_6Toll")
  1079 + @ResponseBody
  1080 + @TokenRequired
  1081 + public BaseResponse queryBabyCheck0_6Toll(HttpServletRequest httpServletRequest,
  1082 + @RequestParam(value = "checkDateStart", required = false) Date checkDateStart,
  1083 + @RequestParam(value = "checkDateEnd", required = false) Date checkDateEnd,
  1084 + @RequestParam(value = "babyProvinceId", required = false) String babyProvinceId,
  1085 + @RequestParam(value = "babyCityId", required = false) String babyCityId,
  1086 + @RequestParam(value = "babyAreaId", required = false) String babyAreaId,
  1087 + @RequestParam(value = "babyStreetId", required = false) String babyStreetId) {
  1088 + LoginContext loginState = (LoginContext) httpServletRequest.getAttribute("loginContext");
  1089 + return babyBookbuildingFacade.queryBabyCheck0_6Toll(checkDateStart,checkDateEnd,babyProvinceId,babyCityId,babyAreaId,babyStreetId ,loginState.getId());
1066 1090 }
1067 1091 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java View file @ af1c79d
... ... @@ -6263,7 +6263,6 @@
6263 6263 resultMap.put("birth",DateUtil.getYyyyMmDd(babyModel.getBirth()));
6264 6264 resultMap.put("mPhone",babyModel.getMphone());
6265 6265 //每个人的儿保检查信息
6266   - babyCheckModelQuery=new BabyCheckModelQuery();
6267 6266 babyCheckModelQuery.setBuildId(babyModel.getId());
6268 6267 List<BabyCheckModel> babyCheckModels = babyCheckService.queryBabyCheckRecord(babyCheckModelQuery);
6269 6268 List<Map> tcTypeList=new ArrayList<>();
... ... @@ -6281,6 +6280,106 @@
6281 6280  
6282 6281 return new BaseObjectResponse().setData(result);
6283 6282  
  6283 + }
  6284 +
  6285 + public BaseResponse queryBabyCheck0_6Toll(Date checkDateStart, Date checkDateEnd, String babyProvinceId,
  6286 + String babyCityId, String babyAreaId, String babyStreetId, Integer userId) {
  6287 + //儿保检查分组
  6288 + String hospitalId = autoMatchFacade.getHospitalId(userId);
  6289 + BabyCheckModelQuery babyCheckModelQuery=new BabyCheckModelQuery();
  6290 + babyCheckModelQuery.setHospitalId(hospitalId);
  6291 + babyCheckModelQuery.setYn(YnEnums.YES.getId());
  6292 + Date currentDate = DateUtil.formatDate(new Date());
  6293 + Date end_6 = DateUtil.addDay(DateUtil.addMonth(currentDate, -72 - 1), 1);
  6294 + babyCheckModelQuery.setBirthStart(end_6);
  6295 + babyCheckModelQuery.setBirthEnd(currentDate);
  6296 + babyCheckModelQuery.setCheckDateStart(checkDateStart);
  6297 + babyCheckModelQuery.setCheckDateEnd(DateUtil.getDayLastSecond(checkDateEnd));
  6298 + List<BabyCheckModel> babyCheckModels = babyCheckService.queryBabyCheckRecord(babyCheckModelQuery);
  6299 + Map result=new HashMap();
  6300 + int number1=0,number3=0,number6=0,number8=0,number12=0,number18=0,number24=0,number30=0,number36=0,number48=0,number60=0,number72=0;
  6301 + for (BabyCheckModel babyCheckModel : babyCheckModels) {
  6302 + //儿童档案
  6303 + BabyModelQuery babyModelQuery=new BabyModelQuery();
  6304 + babyModelQuery.setYn(YnEnums.YES.getId());
  6305 + babyModelQuery.setId(babyCheckModel.getBuildId());
  6306 + if(StringUtils.isNotEmpty(babyProvinceId) && StringUtils.isNotEmpty(babyCityId) &&
  6307 + StringUtils.isNotEmpty(babyAreaId) && StringUtils.isNotEmpty(babyStreetId)){
  6308 + babyModelQuery.setBabyProvinceId(babyProvinceId);
  6309 + babyModelQuery.setBabyCityId(babyCityId);
  6310 + babyModelQuery.setBabyAreaId(babyAreaId);
  6311 + babyModelQuery.setBabyStreetId(babyStreetId);
  6312 + }
  6313 + List<BabyModel> babyModels = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery);
  6314 + for (BabyModel babyModel : babyModels) {
  6315 + if (null!=babyCheckModel.getTcType()) {
  6316 + Map info=new HashMap();
  6317 + switch (babyCheckModel.getTcType()){
  6318 + case 1:
  6319 + info.put("number", ++number1);
  6320 + info.put("money", MathUtil.multiply((double) number1, 19d, 2));
  6321 + result.put("month_1",info);
  6322 + break;
  6323 + case 3:
  6324 + info.put("number", ++number3);
  6325 + info.put("money", MathUtil.multiply((double) number3, 22d, 2));
  6326 + result.put("month_3",info);
  6327 + break;
  6328 + case 6:
  6329 + info.put("number", ++number6);
  6330 + info.put("money", MathUtil.multiply((double) number6, 22d, 2));
  6331 + result.put("month_6",info);
  6332 + break;
  6333 + case 8:
  6334 + info.put("number", ++number8);
  6335 + info.put("money", MathUtil.multiply((double) number8, 22d, 2));
  6336 + result.put("month_8",info);
  6337 + break;
  6338 + case 12:
  6339 + info.put("number", ++number12);
  6340 + info.put("money", MathUtil.multiply((double) number12, 22d, 2));
  6341 + result.put("month_12",info);
  6342 + break;
  6343 + case 18:
  6344 + info.put("number", ++number18);
  6345 + info.put("money", MathUtil.multiply((double) number18, 34.5, 2));
  6346 + result.put("month_18",info);
  6347 + break;
  6348 + case 24:
  6349 + info.put("number", ++number24);
  6350 + info.put("money", MathUtil.multiply((double) number24, 43.5, 2));
  6351 + result.put("month_24",info);
  6352 + break;
  6353 + case 30:
  6354 + info.put("number", ++number30);
  6355 + info.put("money", MathUtil.multiply((double) number30, 26d, 2));
  6356 + result.put("month_30",info);
  6357 + break;
  6358 + case 36:
  6359 + info.put("number", ++number36);
  6360 + info.put("money", MathUtil.multiply((double) number36, 26d, 2));
  6361 + result.put("month_36",info);
  6362 + break;
  6363 + case 48:
  6364 + info.put("number", ++number48);
  6365 + info.put("money", MathUtil.multiply((double) number48, 38d, 2));
  6366 + result.put("month_48",info);
  6367 + break;
  6368 + case 60:
  6369 + info.put("number", ++number60);
  6370 + info.put("money", MathUtil.multiply((double) number60, 38d, 2));
  6371 + result.put("month_60",info);
  6372 + break;
  6373 + case 72:
  6374 + info.put("number", ++number72);
  6375 + info.put("money", MathUtil.multiply((double) number72, 38d, 2));
  6376 + result.put("month_72",info);
  6377 + break;
  6378 + }
  6379 + }
  6380 + }
  6381 + }
  6382 + return new BaseObjectResponse().setData(result);
6284 6383 }
6285 6384 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MathUtil.java View file @ af1c79d
... ... @@ -111,6 +111,16 @@
111 111 public static Double division(Double a, Double b, Integer digit) {
112 112 return new BigDecimal(a / b).setScale(digit, BigDecimal.ROUND_HALF_UP).doubleValue();
113 113 }
  114 + /**
  115 + * 计算相乘的值 保留digit位小数
  116 + * @param a
  117 + * @param b
  118 + * @param digit
  119 + * @return
  120 + */
  121 + public static Double multiply(Double a, Double b, Integer digit) {
  122 + return new BigDecimal(a * b).setScale(digit, BigDecimal.ROUND_HALF_UP).doubleValue();
  123 + }
114 124  
115 125 public static void main(String[] args) {
116 126 System.out.println(getProportion(30, 100));