From 919892b7d942b3414c14a2304bbf1363eec5d61f Mon Sep 17 00:00:00 2001 From: zhangjinli Date: Thu, 2 Mar 2023 13:21:05 +0800 Subject: [PATCH] fixed bert --- .../m/bf_growth/M_Bf_growthController.java | 1827 +++++++++-------- .../m/bf_daily_nutrition/include_bottom.ftl | 76 +- .../m/bf_food/view_sn_nutrition_main_1.ftl | 23 +- .../m/bf_food/view_sn_nutrition_main_2.ftl | 29 +- .../views/ftl/m/bf_growth/food_balance.ftl | 74 +- .../ftl/m/bf_growth/nutrient_balance.ftl | 53 +- src/main/webapp/m/css/style.css | 6 + 7 files changed, 1146 insertions(+), 942 deletions(-) diff --git a/src/main/java/com/backoffice/m/bf_growth/M_Bf_growthController.java b/src/main/java/com/backoffice/m/bf_growth/M_Bf_growthController.java index 8ab5fde..5aa7e55 100644 --- a/src/main/java/com/backoffice/m/bf_growth/M_Bf_growthController.java +++ b/src/main/java/com/backoffice/m/bf_growth/M_Bf_growthController.java @@ -43,556 +43,537 @@ import com.renastudio.creative.web.util.file.FileAgent; import com.renastudio.creative.web.util.file.FileMeta; /** - * @author renamaestro + * @author renamaestro */ @Controller -@RequestMapping(value="m/bf_growth/*") - -public class M_Bf_growthController extends AbstractControllerManager{ - private static Log log = LogFactory.getLog(M_Bf_growthController.class); - - private final String REQUEST_MAPPING = "m/bf_growth/"; - private final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); - - @Autowired M_Bf_growthBO bf_growthBO; - @Autowired M_Bf_family_babyBO bf_family_babyBO; - @Autowired M_Bf_growth_reviewBO bf_growth_reviewBO; - @Autowired FileAgent fileAgent; - @Autowired A_Bf_scoreBO scoreBO; - @Autowired A_Bf_recommendBO recommendBO; - @Autowired M_Bf_growth_bodyBO bf_growth_bodyBO; - @Autowired M_Bf_tutorialBO bf_tutorialBO; - - // paging info - int ROW_COUNT = 20; - int PAGE_COUNT = 10; - - M_Util gmUtil = new M_Util(); - - @RequestMapping(value="index") - public String index(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response - , RedirectAttributes ra) { - DataMap paramMap = gmUtil.getDataMapFromRequest(request); - - String redirect_url = "m/bf_growth/index_old"; - - try { - boolean is_login = gmUtil.setSessionForMobileMember(request, paramMap); - if(is_login == false) { - ra.addFlashAttribute("call_native_login", "Y"); - redirect_url = "redirect:/m/login/view_login.do"; - }else{ - // 아이 - DataMap rm_child = init_child(model, request, paramMap); - DataMap.putToModel(model, "rm_child", rm_child); - - if(RenaStringUtil.isNullOrEmpty(rm_child,"smc_no")) { - ra.addFlashAttribute("script_msg", "아이를 선택하세요"); - redirect_url = "redirect:/m/index.do"; - return redirect_url; - }else { - // 성장 전문가 리뷰 - List gr_lm = bf_growth_reviewBO.select_growth_review_list_for_main(paramMap); - DataMap.putToModel(model, "gr_lm", gr_lm); - - // 예방 접종 이력 - paramMap = getLabel(rm_child,paramMap); - DataMap dm_vac_stat = bf_growthBO.select_bf_growth_vac_statistics(paramMap); - List lm_vac_his = bf_growthBO.select_bf_growth_vac_list(paramMap); - - // 대/소변 주기 - DataMap rm_base = get_rmBase(paramMap); - List lm_rest_stat = bf_growthBO.select_bf_growth_rest_statistics(rm_base); - get_lm_rest_stat(lm_rest_stat,rm_base); - List lm_rest_his = bf_growthBO.select_bf_growth_rest_list(rm_base); - - DataMap.putToModel(model, "dm_vac_stat", dm_vac_stat); - DataMap.putToModel(model, "lm_vac_his", lm_vac_his); - DataMap.putToModel(model, "lm_rest_stat", lm_rest_stat); - DataMap.putToModel(model, "lm_rest_his", lm_rest_his); - } - } - }catch(Exception ex1){ redirect_url = gmUtil.redirectError(true, ex1, request, paramMap, ra, ""); ex1.printStackTrace();} - - gmUtil.redirectParam(model, paramMap); - - return redirect_url; - } - - - @RequestMapping(value="nutrient_balance") - public String nutrient_balance(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response - , RedirectAttributes ra) { - DataMap paramMap = gmUtil.getDataMapFromRequest(request); - String redirect_url = "m/bf_growth/nutrient_balance"; - HttpSession session = request.getSession(false); - - try { - boolean is_login = gmUtil.setSessionForMobileMember(request, paramMap); - if(is_login == false) { - ra.addFlashAttribute("call_native_login", "Y"); - redirect_url = "redirect:/m/login/view_login.do"; - }else{ - //튜토리얼 확인 여부 - paramMap.put("menu_id", "3"); - int tutorial_cnt = bf_tutorialBO.select_tbl_tutorial(paramMap); - paramMap.put("tutorial_cnt", tutorial_cnt); - - // 아이 - DataMap rm_child = init_child(model, request, paramMap); - DataMap.putToModel(model, "rm_child", rm_child); - - if(RenaStringUtil.isNullOrEmpty(rm_child,"smc_no")) { - ra.addFlashAttribute("script_msg", "아이를 선택하세요"); - redirect_url = "redirect:/m/index.do"; - - return redirect_url; - }else { - - DataMap today = new DataMap(); - List daily = new ArrayList(); - List weekly = new ArrayList(); - List monthly = new ArrayList(); - List ingre =new ArrayList(); - - int m = rm_child.getInt("m"); - - // 6개뤌 이상 60개월 미만 인경우만 - if( m<60 ) { - // 당일 균형 판정 - Calendar cal = Calendar.getInstance(); - SimpleDateFormat format = new SimpleDateFormat ("yyyy-MM-dd"); - paramMap.put("scope", "day"); - paramMap.put("reg_dt", format.format(cal.getTime())); - DataMap today_dm = scoreBO.select_day_total(paramMap); - - if(today_dm == null) { - today_dm = new DataMap(); - today_dm.put("month", rm_child.get("m")); - } - - NutrientScoreCalculation today_nut = new NutrientScoreCalculation(today_dm); - DataMap today_nut_score = today_nut.getScore(); - FoodScoreCalculation today_food = new FoodScoreCalculation(today_dm); - DataMap today_food_score = today_food.getScore(); - - if(today_dm.get("month") == null){ - today.put("basicNutrition", 0); - today.put("growthNutrition", 0); - today.put("immuneNutrition", 0); - today.put("healthyFood", 0); - today.put("unhealthyFood", 0); - today.put("today_recode", false); - }else{ - today.put("basicNutrition", today_nut_score.get("basicNutrition")); - today.put("growthNutrition", today_nut_score.get("growthNutrition")); - today.put("immuneNutrition", today_nut_score.get("immuneNutrition")); - today.put("healthyFood", today_food_score.get("healthyFood")); - today.put("unhealthyFood", today_food_score.get("unhealthyFood")); - today.put("today_recode", true); - } - - - // 일일 균형 판정 - List day_lm = scoreBO.select_daily_list_for_graph(paramMap); - - for(DataMap day : day_lm) { - DataMap tot = scoreBO.select_day_total(day); - - NutrientScoreCalculation nut = new NutrientScoreCalculation(tot); - DataMap nut_score = nut.getScore(); - FoodScoreCalculation food = new FoodScoreCalculation(tot); - DataMap food_score = food.getScore(); - - DataMap data = new DataMap(); - data.put("reg_ymd",RenaStringUtil.getData(day, "reg_ymd")); - data.put("reg_md",RenaStringUtil.getData(day, "reg_md")); - data.put("totalNutrition", Math.round(nut_score.getLong("totalNutrition"))); - data.put("totalFood", Math.round(food_score.getLong("totalFood"))); - - daily.add(data); - } - - // 주간 균형 판정 - List weak_lm = scoreBO.select_weekly_list_for_graph(paramMap); - - for (DataMap week : weak_lm) { - List lm = scoreBO.change_graph_to_daily_list(week); - - long totalNutrition = 0; - long totalFood = 0; - - for (DataMap dm : lm) { - List lm2 = scoreBO.select_daily_total(dm); - for (DataMap dm2 : lm2) { - NutrientScoreCalculation nut = new NutrientScoreCalculation(dm2); - DataMap nut_score = nut.getScore(); - FoodScoreCalculation food = new FoodScoreCalculation(dm2); - DataMap food_score = food.getScore(); - totalNutrition += nut_score.getLong("totalNutrition"); - totalFood += food_score.getLong("totalFood"); - } - } - // 1주일 중 기록한 날짜 수 +@RequestMapping(value = "m/bf_growth/*") + +public class M_Bf_growthController extends AbstractControllerManager { + private static Log log = LogFactory.getLog(M_Bf_growthController.class); + + private final String REQUEST_MAPPING = "m/bf_growth/"; + private final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + + @Autowired + M_Bf_growthBO bf_growthBO; + @Autowired + M_Bf_family_babyBO bf_family_babyBO; + @Autowired + M_Bf_growth_reviewBO bf_growth_reviewBO; + @Autowired + FileAgent fileAgent; + @Autowired + A_Bf_scoreBO scoreBO; + @Autowired + A_Bf_recommendBO recommendBO; + @Autowired + M_Bf_growth_bodyBO bf_growth_bodyBO; + @Autowired + M_Bf_tutorialBO bf_tutorialBO; + + // paging info + int ROW_COUNT = 20; + int PAGE_COUNT = 10; + + M_Util gmUtil = new M_Util(); + + @RequestMapping(value = "index") + public String index(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response + , RedirectAttributes ra) { + DataMap paramMap = gmUtil.getDataMapFromRequest(request); + + String redirect_url = "m/bf_growth/index_old"; + + try { + boolean is_login = gmUtil.setSessionForMobileMember(request, paramMap); + if (is_login == false) { + ra.addFlashAttribute("call_native_login", "Y"); + redirect_url = "redirect:/m/login/view_login.do"; + } else { + // 아이 + DataMap rm_child = init_child(model, request, paramMap); + DataMap.putToModel(model, "rm_child", rm_child); + + if (RenaStringUtil.isNullOrEmpty(rm_child, "smc_no")) { + ra.addFlashAttribute("script_msg", "아이를 선택하세요"); + redirect_url = "redirect:/m/index.do"; + return redirect_url; + } else { + // 성장 전문가 리뷰 + List gr_lm = bf_growth_reviewBO.select_growth_review_list_for_main(paramMap); + DataMap.putToModel(model, "gr_lm", gr_lm); + + // 예방 접종 이력 + paramMap = getLabel(rm_child, paramMap); + DataMap dm_vac_stat = bf_growthBO.select_bf_growth_vac_statistics(paramMap); + List lm_vac_his = bf_growthBO.select_bf_growth_vac_list(paramMap); + + // 대/소변 주기 + DataMap rm_base = get_rmBase(paramMap); + List lm_rest_stat = bf_growthBO.select_bf_growth_rest_statistics(rm_base); + get_lm_rest_stat(lm_rest_stat, rm_base); + List lm_rest_his = bf_growthBO.select_bf_growth_rest_list(rm_base); + + DataMap.putToModel(model, "dm_vac_stat", dm_vac_stat); + DataMap.putToModel(model, "lm_vac_his", lm_vac_his); + DataMap.putToModel(model, "lm_rest_stat", lm_rest_stat); + DataMap.putToModel(model, "lm_rest_his", lm_rest_his); + } + } + } catch (Exception ex1) { + redirect_url = gmUtil.redirectError(true, ex1, request, paramMap, ra, ""); + ex1.printStackTrace(); + } + + gmUtil.redirectParam(model, paramMap); + + return redirect_url; + } + + + @RequestMapping(value = "nutrient_balance") + public String nutrient_balance(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response + , RedirectAttributes ra) { + DataMap paramMap = gmUtil.getDataMapFromRequest(request); + String redirect_url = "m/bf_growth/nutrient_balance"; + HttpSession session = request.getSession(false); + + try { + boolean is_login = gmUtil.setSessionForMobileMember(request, paramMap); + if (is_login == false) { + ra.addFlashAttribute("call_native_login", "Y"); + redirect_url = "redirect:/m/login/view_login.do"; + } else { + //튜토리얼 확인 여부 + paramMap.put("menu_id", "3"); + int tutorial_cnt = bf_tutorialBO.select_tbl_tutorial(paramMap); + paramMap.put("tutorial_cnt", tutorial_cnt); + + // 아이 + DataMap rm_child = init_child(model, request, paramMap); + DataMap.putToModel(model, "rm_child", rm_child); + + if (RenaStringUtil.isNullOrEmpty(rm_child, "smc_no")) { + ra.addFlashAttribute("script_msg", "아이를 선택하세요"); + redirect_url = "redirect:/m/index.do"; + + return redirect_url; + } else { + + DataMap today = new DataMap(); + List daily = new ArrayList(); + List weekly = new ArrayList(); + List monthly = new ArrayList(); + List ingre = new ArrayList(); + + int m = rm_child.getInt("m"); + + // 6개뤌 이상 60개월 미만 인경우만 + if (m < 60) { + // 당일 균형 판정 + Calendar cal = Calendar.getInstance(); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + paramMap.put("scope", "day"); + String today_reg_dt = format.format(cal.getTime()); + paramMap.put("reg_dt", today_reg_dt); + DataMap today_dm = scoreBO.select_day_total(paramMap); + + if (today_dm == null) { + today_dm = new DataMap(); + today_dm.put("month", rm_child.get("m")); + } + + today = get_today_data(today_dm); + today.put("today_reg_dt",today_reg_dt); + // 일일 균형 판정 + List day_lm = scoreBO.select_daily_list_for_graph(paramMap); + + for (DataMap day : day_lm) { + DataMap tot = scoreBO.select_day_total(day); + + NutrientScoreCalculation nut = new NutrientScoreCalculation(tot); + DataMap nut_score = nut.getScore(); + FoodScoreCalculation food = new FoodScoreCalculation(tot); + DataMap food_score = food.getScore(); + + DataMap data = new DataMap(); + data.put("reg_time", (format.parse(RenaStringUtil.getData(day, "reg_dt")).getTime())/1000L); + data.put("reg_ymd", RenaStringUtil.getData(day, "reg_ymd")); + data.put("reg_md", RenaStringUtil.getData(day, "reg_md")); + data.put("totalNutrition", Math.round(nut_score.getLong("totalNutrition"))); + data.put("totalFood", Math.round(food_score.getLong("totalFood"))); + + daily.add(data); + } + + // 주간 균형 판정 + List weak_lm = scoreBO.select_weekly_list_for_graph(paramMap); + + for (DataMap week : weak_lm) { + List lm = scoreBO.change_graph_to_daily_list(week); + + long totalNutrition = 0; + long totalFood = 0; + + for (DataMap dm : lm) { + List lm2 = scoreBO.select_daily_total(dm); + for (DataMap dm2 : lm2) { + NutrientScoreCalculation nut = new NutrientScoreCalculation(dm2); + DataMap nut_score = nut.getScore(); + FoodScoreCalculation food = new FoodScoreCalculation(dm2); + DataMap food_score = food.getScore(); + totalNutrition += nut_score.getLong("totalNutrition"); + totalFood += food_score.getLong("totalFood"); + } + } + // 1주일 중 기록한 날짜 수 // int day = lm.size(); - int day = week.getInt("count"); + int day = week.getInt("count"); - DataMap data = new DataMap(); - data.put("reg_dt",RenaStringUtil.getData(week, "week_str")); - data.put("totalNutrition", Math.round((double)totalNutrition/(double)day)); - data.put("totalFood", Math.round((double)totalFood/(double)day)); + DataMap data = new DataMap(); + data.put("reg_dt", RenaStringUtil.getData(week, "week_str")); + data.put("totalNutrition", Math.round((double) totalNutrition / (double) day)); + data.put("totalFood", Math.round((double) totalFood / (double) day)); - weekly.add(data); - } + weekly.add(data); + } - // 월간 균형 판정 - List month_lm = scoreBO.select_monthly_list_graph(paramMap); + // 월간 균형 판정 + List month_lm = scoreBO.select_monthly_list_graph(paramMap); - for(DataMap month : month_lm) { - List lm = scoreBO.change_graph_to_daily_list(month); + for (DataMap month : month_lm) { + List lm = scoreBO.change_graph_to_daily_list(month); - long totalNutrition = 0; - long totalFood = 0; + long totalNutrition = 0; + long totalFood = 0; - for(DataMap dm : lm) { - List lm2 = scoreBO.select_daily_total(dm); - for (DataMap dm2 : lm2) { - NutrientScoreCalculation nut = new NutrientScoreCalculation(dm2); - DataMap nut_score = nut.getScore(); - FoodScoreCalculation food = new FoodScoreCalculation(dm2); - DataMap food_score = food.getScore(); + for (DataMap dm : lm) { + List lm2 = scoreBO.select_daily_total(dm); + for (DataMap dm2 : lm2) { + NutrientScoreCalculation nut = new NutrientScoreCalculation(dm2); + DataMap nut_score = nut.getScore(); + FoodScoreCalculation food = new FoodScoreCalculation(dm2); + DataMap food_score = food.getScore(); - totalNutrition += nut_score.getLong("totalNutrition"); - totalFood += food_score.getLong("totalFood"); - } - } - // 한달 중 기록한 날짜 수 + totalNutrition += nut_score.getLong("totalNutrition"); + totalFood += food_score.getLong("totalFood"); + } + } + // 한달 중 기록한 날짜 수 // int day = lm.size(); - int day = month.getInt("count"); - - DataMap data = new DataMap(); - data.put("reg_dt",RenaStringUtil.getData(month, "month_str")); - data.put("totalNutrition", Math.round((double)totalNutrition/(double)day)); - data.put("totalFood", Math.round((double)totalFood/(double)day)); - - monthly.add(data); - - } - } - - // 60개월 미만 인경우만 - if( m<60 ) { - // 식재료 추천 - // 전날 섭취 기록 확인 - paramMap.put("scope","yday"); - DataMap yday = scoreBO.select_day_total(paramMap); - - // 산술값 순위화 - DataMap rank = new DataMap(); - - // 전날 섭취 기록 없음 - if(yday == null) { - DataMap info = recommendBO.select_baby_info(paramMap); - NutrientScoreCalculation nut = new NutrientScoreCalculation(info); - rank.mergeDataMap(nut.NutrientSortingForNoRecord()); - if(nut.getLabel() != -1) rank.put("record", "N"); - // 전날 섭취 기록 있음 - }else { - NutrientScoreCalculation nut = new NutrientScoreCalculation(yday); - FoodScoreCalculation food = new FoodScoreCalculation(yday); - rank.mergeDataMap(nut.NutrientSortingForRecord(nut.getIntakeComparedToTheRecommendedAmount())); - rank.mergeDataMap(food.Foodsort(food.getScore())); - if(nut.getLabel() != -1) rank.put("record", "Y"); - } - ingre = recommendBO.select_ingre_recommend_list(rank); - } - - DataMap rm_mem = (DataMap) session.getAttribute(ConstantSystem.SESSION_RM_MEMBER); - - DataMap rm_health_noti = bf_growthBO.select_bf_health_noti_count(paramMap); - DataMap.putToModel(model, "rm_health_noti", rm_health_noti); - DataMap rm_vac_noti = bf_growthBO.select_bf_vac_noti_count(paramMap); - DataMap.putToModel(model, "rm_vac_noti", rm_vac_noti); - DataMap.putToModel(model, "today", today); - DataMap.putToModel(model, "daily", daily); - DataMap.putToModel(model, "weekly", weekly); - DataMap.putToModel(model, "monthly", monthly); - DataMap.putToModel(model, "rm_mem", rm_mem); - DataMap.putToModel(model, "rm_child", rm_child); - } - } - }catch(Exception ex1){ redirect_url = gmUtil.redirectError(true, ex1, request, paramMap, ra, ""); ex1.printStackTrace();} - - gmUtil.redirectParam(model, paramMap); - - return redirect_url; - } - - @RequestMapping(value="food_balance") - public String food_balance(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response - , RedirectAttributes ra) { - DataMap paramMap = gmUtil.getDataMapFromRequest(request); - String redirect_url = "m/bf_growth/food_balance"; - HttpSession session = request.getSession(false); - - try { - boolean is_login = gmUtil.setSessionForMobileMember(request, paramMap); - if(is_login == false) { - ra.addFlashAttribute("call_native_login", "Y"); - redirect_url = "redirect:/m/login/view_login.do"; - }else{ - // 아이 - DataMap rm_child = init_child(model, request, paramMap); - DataMap.putToModel(model, "rm_child", rm_child); - - if(RenaStringUtil.isNullOrEmpty(rm_child,"smc_no")) { - ra.addFlashAttribute("script_msg", "아이를 선택하세요"); - redirect_url = "redirect:/m/index.do"; - - return redirect_url; - }else { - - // 영양전문가 REVIEW + int day = month.getInt("count"); + + DataMap data = new DataMap(); + data.put("reg_dt", RenaStringUtil.getData(month, "month_str")); + data.put("totalNutrition", Math.round((double) totalNutrition / (double) day)); + data.put("totalFood", Math.round((double) totalFood / (double) day)); + + monthly.add(data); + + } + } + + // 60개월 미만 인경우만 + if (m < 60) { + // 식재료 추천 + // 전날 섭취 기록 확인 + paramMap.put("scope", "yday"); + DataMap yday = scoreBO.select_day_total(paramMap); + + // 산술값 순위화 + DataMap rank = new DataMap(); + + // 전날 섭취 기록 없음 + if (yday == null) { + DataMap info = recommendBO.select_baby_info(paramMap); + NutrientScoreCalculation nut = new NutrientScoreCalculation(info); + rank.mergeDataMap(nut.NutrientSortingForNoRecord()); + if (nut.getLabel() != -1) rank.put("record", "N"); + // 전날 섭취 기록 있음 + } else { + NutrientScoreCalculation nut = new NutrientScoreCalculation(yday); + FoodScoreCalculation food = new FoodScoreCalculation(yday); + rank.mergeDataMap(nut.NutrientSortingForRecord(nut.getIntakeComparedToTheRecommendedAmount())); + rank.mergeDataMap(food.Foodsort(food.getScore())); + if (nut.getLabel() != -1) rank.put("record", "Y"); + } + ingre = recommendBO.select_ingre_recommend_list(rank); + } + + DataMap rm_mem = (DataMap) session.getAttribute(ConstantSystem.SESSION_RM_MEMBER); + + DataMap rm_health_noti = bf_growthBO.select_bf_health_noti_count(paramMap); + DataMap.putToModel(model, "rm_health_noti", rm_health_noti); + DataMap rm_vac_noti = bf_growthBO.select_bf_vac_noti_count(paramMap); + DataMap.putToModel(model, "rm_vac_noti", rm_vac_noti); + DataMap.putToModel(model, "today", today); + DataMap.putToModel(model, "daily", daily); + DataMap.putToModel(model, "weekly", weekly); + DataMap.putToModel(model, "monthly", monthly); + DataMap.putToModel(model, "rm_mem", rm_mem); + DataMap.putToModel(model, "rm_child", rm_child); + } + } + } catch (Exception ex1) { + redirect_url = gmUtil.redirectError(true, ex1, request, paramMap, ra, ""); + ex1.printStackTrace(); + } + + gmUtil.redirectParam(model, paramMap); + + return redirect_url; + } + + @RequestMapping(value = "food_balance") + public String food_balance(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response + , RedirectAttributes ra) { + DataMap paramMap = gmUtil.getDataMapFromRequest(request); + String redirect_url = "m/bf_growth/food_balance"; + HttpSession session = request.getSession(false); + + try { + boolean is_login = gmUtil.setSessionForMobileMember(request, paramMap); + if (is_login == false) { + ra.addFlashAttribute("call_native_login", "Y"); + redirect_url = "redirect:/m/login/view_login.do"; + } else { + // 아이 + DataMap rm_child = init_child(model, request, paramMap); + DataMap.putToModel(model, "rm_child", rm_child); + + if (RenaStringUtil.isNullOrEmpty(rm_child, "smc_no")) { + ra.addFlashAttribute("script_msg", "아이를 선택하세요"); + redirect_url = "redirect:/m/index.do"; + + return redirect_url; + } else { + + // 영양전문가 REVIEW // List nr_lm = bf_nutrition_reviewBO.select_nutrition_review_list_for_main(paramMap); // DataMap.putToModel(model, "nr_lm", nr_lm); - DataMap today = new DataMap(); - List daily = new ArrayList(); - List weekly = new ArrayList(); - List monthly = new ArrayList(); - List ingre =new ArrayList(); - - int m = rm_child.getInt("m"); - // 60개월 미만 인경우만 - if( m<60 ) { - // 당일 균형 판정 - Calendar cal = Calendar.getInstance(); - SimpleDateFormat format = new SimpleDateFormat ("yyyy-MM-dd"); - paramMap.put("scope", "day"); - paramMap.put("reg_dt", format.format(cal.getTime())); - DataMap today_dm = scoreBO.select_day_total(paramMap); - - if(today_dm == null) { - today_dm = new DataMap(); - today_dm.put("month", rm_child.get("m")); - } - - NutrientScoreCalculation today_nut = new NutrientScoreCalculation(today_dm); - DataMap today_nut_score = today_nut.getScore(); - FoodScoreCalculation today_food = new FoodScoreCalculation(today_dm); - DataMap today_food_score = today_food.getScore(); - - if(today_dm.get("month") == null){ - today.put("basicNutrition", 0); - today.put("growthNutrition", 0); - today.put("immuneNutrition", 0); - today.put("healthyFood", 0); - today.put("unhealthyFood", 0); - today.put("today_recode", false); - }else{ - today.put("basicNutrition", today_nut_score.get("basicNutrition")); - today.put("growthNutrition", today_nut_score.get("growthNutrition")); - today.put("immuneNutrition", today_nut_score.get("immuneNutrition")); - today.put("healthyFood", today_food_score.get("healthyFood")); - today.put("unhealthyFood", today_food_score.get("unhealthyFood")); - today.put("today_recode", true); - } - - // 일일 균형 판정 - List day_lm = scoreBO.select_daily_list_for_graph(paramMap); - - for(DataMap day : day_lm) { - DataMap tot = scoreBO.select_day_total(day); - - NutrientScoreCalculation nut = new NutrientScoreCalculation(tot); - DataMap nut_score = nut.getScore(); - FoodScoreCalculation food = new FoodScoreCalculation(tot); - DataMap food_score = food.getScore(); - - DataMap data = new DataMap(); - data.put("reg_ymd",RenaStringUtil.getData(day, "reg_ymd")); - data.put("reg_md",RenaStringUtil.getData(day, "reg_md")); - data.put("totalNutrition", Math.round(nut_score.getLong("totalNutrition"))); - data.put("totalFood", Math.round(food_score.getLong("totalFood"))); - - daily.add(data); - } - - // 주간 균형 판정 - List weak_lm = scoreBO.select_weekly_list_for_graph(paramMap); - - for (DataMap week : weak_lm) { - List lm = scoreBO.change_graph_to_daily_list(week); - - long totalNutrition = 0; - long totalFood = 0; - - for (DataMap dm : lm) { - List lm2 = scoreBO.select_daily_total(dm); - for (DataMap dm2 : lm2) { - NutrientScoreCalculation nut = new NutrientScoreCalculation(dm2); - DataMap nut_score = nut.getScore(); - FoodScoreCalculation food = new FoodScoreCalculation(dm2); - DataMap food_score = food.getScore(); - totalNutrition += nut_score.getLong("totalNutrition"); - totalFood += food_score.getLong("totalFood"); - } - } - // 1주일 중 기록한 날짜 수 + DataMap today = new DataMap(); + List daily = new ArrayList(); + List weekly = new ArrayList(); + List monthly = new ArrayList(); + List ingre = new ArrayList(); + + int m = rm_child.getInt("m"); + // 60개월 미만 인경우만 + if (m < 60) { + // 당일 균형 판정 + Calendar cal = Calendar.getInstance(); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + paramMap.put("scope", "day"); + paramMap.put("reg_dt", format.format(cal.getTime())); + DataMap today_dm = scoreBO.select_day_total(paramMap); + + if (today_dm == null) { + today_dm = new DataMap(); + today_dm.put("month", rm_child.get("m")); + } + + today = get_today_data(today_dm); + + // 일일 균형 판정 + List day_lm = scoreBO.select_daily_list_for_graph(paramMap); + + for (DataMap day : day_lm) { + DataMap tot = scoreBO.select_day_total(day); + + NutrientScoreCalculation nut = new NutrientScoreCalculation(tot); + DataMap nut_score = nut.getScore(); + FoodScoreCalculation food = new FoodScoreCalculation(tot); + DataMap food_score = food.getScore(); + + DataMap data = new DataMap(); + data.put("reg_time", (format.parse(RenaStringUtil.getData(day, "reg_dt")).getTime())/1000L); + data.put("reg_ymd", RenaStringUtil.getData(day, "reg_ymd")); + data.put("reg_md", RenaStringUtil.getData(day, "reg_md")); + data.put("totalNutrition", Math.round(nut_score.getLong("totalNutrition"))); + data.put("totalFood", Math.round(food_score.getLong("totalFood"))); + + daily.add(data); + } + + // 주간 균형 판정 + List weak_lm = scoreBO.select_weekly_list_for_graph(paramMap); + + for (DataMap week : weak_lm) { + List lm = scoreBO.change_graph_to_daily_list(week); + + long totalNutrition = 0; + long totalFood = 0; + + for (DataMap dm : lm) { + List lm2 = scoreBO.select_daily_total(dm); + for (DataMap dm2 : lm2) { + NutrientScoreCalculation nut = new NutrientScoreCalculation(dm2); + DataMap nut_score = nut.getScore(); + FoodScoreCalculation food = new FoodScoreCalculation(dm2); + DataMap food_score = food.getScore(); + totalNutrition += nut_score.getLong("totalNutrition"); + totalFood += food_score.getLong("totalFood"); + } + } + // 1주일 중 기록한 날짜 수 // int day = lm.size(); - int day = week.getInt("count"); + int day = week.getInt("count"); - DataMap data = new DataMap(); - data.put("reg_dt",RenaStringUtil.getData(week, "week_str")); - data.put("totalNutrition", Math.round((double)totalNutrition/(double)day)); - data.put("totalFood", Math.round((double)totalFood/(double)day)); + DataMap data = new DataMap(); + data.put("reg_dt", RenaStringUtil.getData(week, "week_str")); + data.put("totalNutrition", Math.round((double) totalNutrition / (double) day)); + data.put("totalFood", Math.round((double) totalFood / (double) day)); - weekly.add(data); - } + weekly.add(data); + } - // 월간 균형 판정 - List month_lm = scoreBO.select_monthly_list_graph(paramMap); + // 월간 균형 판정 + List month_lm = scoreBO.select_monthly_list_graph(paramMap); - for(DataMap month : month_lm) { - List lm = scoreBO.change_graph_to_daily_list(month); + for (DataMap month : month_lm) { + List lm = scoreBO.change_graph_to_daily_list(month); - long totalNutrition = 0; - long totalFood = 0; + long totalNutrition = 0; + long totalFood = 0; - for(DataMap dm : lm) { - List lm2 = scoreBO.select_daily_total(dm); - for (DataMap dm2 : lm2) { - NutrientScoreCalculation nut = new NutrientScoreCalculation(dm2); - DataMap nut_score = nut.getScore(); - FoodScoreCalculation food = new FoodScoreCalculation(dm2); - DataMap food_score = food.getScore(); + for (DataMap dm : lm) { + List lm2 = scoreBO.select_daily_total(dm); + for (DataMap dm2 : lm2) { + NutrientScoreCalculation nut = new NutrientScoreCalculation(dm2); + DataMap nut_score = nut.getScore(); + FoodScoreCalculation food = new FoodScoreCalculation(dm2); + DataMap food_score = food.getScore(); - totalNutrition += nut_score.getLong("totalNutrition"); - totalFood += food_score.getLong("totalFood"); - } - } - // 한달 중 기록한 날짜 수 + totalNutrition += nut_score.getLong("totalNutrition"); + totalFood += food_score.getLong("totalFood"); + } + } + // 한달 중 기록한 날짜 수 // int day = lm.size(); - int day = month.getInt("count"); - - DataMap data = new DataMap(); - data.put("reg_dt",RenaStringUtil.getData(month, "month_str")); - data.put("totalNutrition", Math.round((double)totalNutrition/(double)day)); - data.put("totalFood", Math.round((double)totalFood/(double)day)); - - monthly.add(data); - - } - } + int day = month.getInt("count"); + + DataMap data = new DataMap(); + data.put("reg_dt", RenaStringUtil.getData(month, "month_str")); + data.put("totalNutrition", Math.round((double) totalNutrition / (double) day)); + data.put("totalFood", Math.round((double) totalFood / (double) day)); + + monthly.add(data); + + } + } + + // 60개월 미만 인경우만 + if (m < 60) { + // 식재료 추천 + // 전날 섭취 기록 확인 + paramMap.put("scope", "yday"); + DataMap yday = scoreBO.select_day_total(paramMap); + + // 산술값 순위화 + DataMap rank = new DataMap(); + + // 전날 섭취 기록 없음 + if (yday == null) { + DataMap info = recommendBO.select_baby_info(paramMap); + NutrientScoreCalculation nut = new NutrientScoreCalculation(info); + rank.mergeDataMap(nut.NutrientSortingForNoRecord()); + if (nut.getLabel() != -1) rank.put("record", "N"); + // 전날 섭취 기록 있음 + } else { + NutrientScoreCalculation nut = new NutrientScoreCalculation(yday); + FoodScoreCalculation food = new FoodScoreCalculation(yday); + rank.mergeDataMap(nut.NutrientSortingForRecord(nut.getIntakeComparedToTheRecommendedAmount())); + rank.mergeDataMap(food.Foodsort(food.getScore())); + if (nut.getLabel() != -1) rank.put("record", "Y"); + } + ingre = recommendBO.select_ingre_recommend_list(rank); + } + + DataMap rm_mem = (DataMap) session.getAttribute(ConstantSystem.SESSION_RM_MEMBER); + + DataMap rm_health_noti = bf_growthBO.select_bf_health_noti_count(paramMap); + DataMap rm_vac_noti = bf_growthBO.select_bf_vac_noti_count(paramMap); + DataMap.putToModel(model, "rm_vac_noti", rm_vac_noti); + DataMap.putToModel(model, "rm_health_noti", rm_health_noti); + DataMap.putToModel(model, "today", today); + DataMap.putToModel(model, "daily", daily); + DataMap.putToModel(model, "weekly", weekly); + DataMap.putToModel(model, "monthly", monthly); + DataMap.putToModel(model, "ingre", ingre); + DataMap.putToModel(model, "rm_mem", rm_mem); + DataMap.putToModel(model, "rm_child", rm_child); + + } + } + } catch (Exception ex1) { + redirect_url = gmUtil.redirectError(true, ex1, request, paramMap, ra, ""); + ex1.printStackTrace(); + } + + gmUtil.redirectParam(model, paramMap); + + return redirect_url; + } + + + @RequestMapping(value = "growth_balance") + public String growth_balance(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response + , RedirectAttributes ra) { + DataMap paramMap = gmUtil.getDataMapFromRequest(request); + String redirect_url = "m/bf_growth/growth_balance"; + HttpSession session = request.getSession(false); + + try { + boolean is_login = gmUtil.setSessionForMobileMember(request, paramMap); + if (is_login == false) { + ra.addFlashAttribute("call_native_login", "Y"); + redirect_url = "redirect:/m/login/view_login.do"; + } else { + // 아이 + DataMap rm_child = init_child(model, request, paramMap); + + if (RenaStringUtil.isNullOrEmpty(paramMap, "smc_no")) { + ra.addFlashAttribute("script_msg", "아이를 선택하세요"); + return "redirect:/m/index.do"; + } else { + rm_child = bf_family_babyBO.select_bf_family_baby(paramMap); + + DataMap rm_child_ = init_child(model, request, paramMap); + + // 2. rm_growth_body: 마지막 측정 값 + DataMap rm_growth_body = bf_growth_bodyBO.select_bf_growth_body_child_for_last(paramMap); //smc_no, OEM_CODE + if (rm_growth_body == null) rm_growth_body = new DataMap(); + + // 3. rm_child 추가 정보: age, m + String birth_dt = RenaStringUtil.getData(rm_child, "birthday"); + String base_dt = RenaStringUtil.getData(rm_growth_body, "base_dt"); + int age = DateUtil.getAge(birth_dt, DateUtil.F_YYYYMMDDDash); + int m = DateUtil.getDistanceByTwoMonth(birth_dt, base_dt, DateUtil.F_YYYYMMDDDash, DateUtil.F_YYYYMMDDDash); + rm_child.put("age", age); + rm_child.put("m", m); + + // 4. makeReport + rm_child.put("tp", "H"); + Double height = RenaStringUtil.getDataToDouble(rm_growth_body, "height"); + List lm_data_hw = bf_growth_bodyBO.select_bf_growth_data_child_list(rm_child); + List lm_data_decision_hw = bf_growth_bodyBO.select_bf_growth_data_decision_list(rm_child); + DataMap rm_report = MW_Logic.makeReport(height, m, lm_data_hw, lm_data_decision_hw); + // 5. 키에 대한 설명 + int height_p = (int) Math.round(RenaStringUtil.getDataToDouble(rm_report, "posper")); + int abs_age_m_p50 = (int) Math.round(Math.abs(RenaStringUtil.getDataToDouble(rm_report, "comp_age_m_p50"))); + rm_child.put("height_p", height_p); + rm_child.put("abs_age_m_p50", abs_age_m_p50); + rm_report.put("height_explain", RateHeightWeight.getHeightExplain(rm_child)); + + //6. 리포트 헤더 + double height_max = 0d, height_min = 250d; + String height_max_dt = "", height_min_dt = ""; + List lm_growth_body = bf_growth_bodyBO.select_bf_growth_body_list(paramMap); //smc_no - // 60개월 미만 인경우만 - if( m<60 ) { - // 식재료 추천 - // 전날 섭취 기록 확인 - paramMap.put("scope","yday"); - DataMap yday = scoreBO.select_day_total(paramMap); - - // 산술값 순위화 - DataMap rank = new DataMap(); - - // 전날 섭취 기록 없음 - if(yday == null) { - DataMap info = recommendBO.select_baby_info(paramMap); - NutrientScoreCalculation nut = new NutrientScoreCalculation(info); - rank.mergeDataMap(nut.NutrientSortingForNoRecord()); - if(nut.getLabel() != -1) rank.put("record", "N"); - // 전날 섭취 기록 있음 - }else { - NutrientScoreCalculation nut = new NutrientScoreCalculation(yday); - FoodScoreCalculation food = new FoodScoreCalculation(yday); - rank.mergeDataMap(nut.NutrientSortingForRecord(nut.getIntakeComparedToTheRecommendedAmount())); - rank.mergeDataMap(food.Foodsort(food.getScore())); - if(nut.getLabel() != -1) rank.put("record", "Y"); - } - ingre = recommendBO.select_ingre_recommend_list(rank); - } - - DataMap rm_mem = (DataMap) session.getAttribute(ConstantSystem.SESSION_RM_MEMBER); - - DataMap rm_health_noti = bf_growthBO.select_bf_health_noti_count(paramMap); - DataMap rm_vac_noti = bf_growthBO.select_bf_vac_noti_count(paramMap); - DataMap.putToModel(model, "rm_vac_noti", rm_vac_noti); - DataMap.putToModel(model, "rm_health_noti", rm_health_noti); - DataMap.putToModel(model, "today", today); - DataMap.putToModel(model, "daily", daily); - DataMap.putToModel(model, "weekly", weekly); - DataMap.putToModel(model, "monthly", monthly); - DataMap.putToModel(model, "ingre", ingre); - DataMap.putToModel(model, "rm_mem", rm_mem); - DataMap.putToModel(model, "rm_child", rm_child); - - } - } - }catch(Exception ex1){ redirect_url = gmUtil.redirectError(true, ex1, request, paramMap, ra, ""); ex1.printStackTrace();} - - gmUtil.redirectParam(model, paramMap); - - return redirect_url; - } - - - @RequestMapping(value="growth_balance") - public String growth_balance(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response - , RedirectAttributes ra) { - DataMap paramMap = gmUtil.getDataMapFromRequest(request); - String redirect_url = "m/bf_growth/growth_balance"; - HttpSession session = request.getSession(false); - - try { - boolean is_login = gmUtil.setSessionForMobileMember(request, paramMap); - if(is_login == false) { - ra.addFlashAttribute("call_native_login", "Y"); - redirect_url = "redirect:/m/login/view_login.do"; - }else{ - // 아이 - DataMap rm_child = init_child(model, request, paramMap); - - if(RenaStringUtil.isNullOrEmpty(paramMap,"smc_no")) { - ra.addFlashAttribute("script_msg", "아이를 선택하세요"); - return "redirect:/m/index.do"; - }else { - rm_child = bf_family_babyBO.select_bf_family_baby(paramMap); - - DataMap rm_child_ = init_child(model, request, paramMap); - - // 2. rm_growth_body: 마지막 측정 값 - DataMap rm_growth_body = bf_growth_bodyBO.select_bf_growth_body_child_for_last(paramMap); //smc_no, OEM_CODE - if(rm_growth_body == null ) rm_growth_body = new DataMap(); - - // 3. rm_child 추가 정보: age, m - String birth_dt = RenaStringUtil.getData(rm_child, "birthday"); - String base_dt = RenaStringUtil.getData(rm_growth_body, "base_dt"); - int age = DateUtil.getAge(birth_dt, DateUtil.F_YYYYMMDDDash); - int m = DateUtil.getDistanceByTwoMonth(birth_dt, base_dt, DateUtil.F_YYYYMMDDDash, DateUtil.F_YYYYMMDDDash); - rm_child.put("age", age); - rm_child.put("m", m); - - // 4. makeReport - rm_child.put("tp", "H"); - Double height = RenaStringUtil.getDataToDouble(rm_growth_body, "height"); - List lm_data_hw = bf_growth_bodyBO.select_bf_growth_data_child_list(rm_child); - List lm_data_decision_hw = bf_growth_bodyBO.select_bf_growth_data_decision_list(rm_child); - DataMap rm_report = MW_Logic.makeReport(height, m, lm_data_hw, lm_data_decision_hw); - // 5. 키에 대한 설명 - int height_p = (int)Math.round(RenaStringUtil.getDataToDouble(rm_report, "posper")); - int abs_age_m_p50 = (int)Math.round(Math.abs(RenaStringUtil.getDataToDouble(rm_report, "comp_age_m_p50"))); - rm_child.put("height_p", height_p); - rm_child.put("abs_age_m_p50", abs_age_m_p50); - rm_report.put("height_explain", RateHeightWeight.getHeightExplain(rm_child)); - - //6. 리포트 헤더 - double height_max = 0d, height_min = 250d; - String height_max_dt = "", height_min_dt = ""; - List lm_growth_body = bf_growth_bodyBO.select_bf_growth_body_list(paramMap); //smc_no - /* for (DataMap map_growth_body : lm_growth_body) { height = RenaStringUtil.getDataToDouble(map_growth_body, "height"); @@ -606,379 +587,451 @@ public class M_Bf_growthController extends AbstractControllerManager{ } } } - + if( RenaStringUtil.getDataToDouble(rm_growth_body, "height") == height_min) rm_growth_body.put("degrowth", "Y"); else rm_growth_body.put("degrowth", "N"); - + rm_growth_body.put("height_max", height_max); rm_growth_body.put("height_min", height_min); rm_growth_body.put("height_max_dt", height_max_dt); rm_growth_body.put("height_min_dt", height_min_dt); rm_growth_body.put("lm_growth_body_count", lm_growth_body.size()); */ - DataMap rm_mem_ = (DataMap) session.getAttribute(ConstantSystem.SESSION_RM_MEMBER); - - DataMap rm_health_noti = bf_growthBO.select_bf_health_noti_count(paramMap); - DataMap rm_vac_noti = bf_growthBO.select_bf_vac_noti_count(paramMap); - DataMap.putToModel(model, "rm_vac_noti", rm_vac_noti); - DataMap.putToModel(model, "rm_health_noti", rm_health_noti); - DataMap.putToModel(model, "rm_growth_body", rm_growth_body); - DataMap.putToModel(model, "rm_child", rm_child); - DataMap.putToModel(model, "rm_report", rm_report); - DataMap.putToModel(model, "lm_growth_body", lm_growth_body); - DataMap.putToModel(model, "rm_mem_", rm_mem_); - DataMap.putToModel(model, "rm_child_", rm_child_); - } - } - - }catch(Exception ex1){ redirect_url = gmUtil.redirectError(true, ex1, request, paramMap, ra, ""); ex1.printStackTrace();} - - gmUtil.redirectParam(model, paramMap); - - return redirect_url; - - } - - @RequestMapping(value="health_checkup") - public String health_checkup(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response - , RedirectAttributes ra) { - DataMap paramMap = gmUtil.getDataMapFromRequest(request); - String redirect_url = "m/bf_growth/health_checkup"; - HttpSession session = request.getSession(false); - - try { - boolean is_login = gmUtil.setSessionForMobileMember(request, paramMap); - if(is_login == false) { - ra.addFlashAttribute("call_native_login", "Y"); - redirect_url = "redirect:/m/login/view_login.do"; - }else{ - DataMap rm_child = init_child(model, request, paramMap); - paramMap.put("smc_no", rm_child.get("smc_no")); - List lm_health_checkup = bf_growthBO.select_bf_health_checkup_list(paramMap); //smc_no - List lm_health_chekcup_prvs = bf_growthBO.select_bf_health_checkup_list_prvs(paramMap); - - DataMap rm_mem = (DataMap) session.getAttribute(ConstantSystem.SESSION_RM_MEMBER); - - DataMap rm_vac_noti = bf_growthBO.select_bf_vac_noti_count(paramMap); - DataMap rm_health_noti = bf_growthBO.select_bf_health_noti_count(paramMap); - DataMap.putToModel(model, "rm_vac_noti", rm_vac_noti); - DataMap.putToModel(model, "rm_health_noti", rm_health_noti); - DataMap.putToModel(model, "rm_child", rm_child); - DataMap.putToModel(model, "rm_health_checkup", lm_health_checkup); - DataMap.putToModel(model, "rm_health_chekcup_prvs", lm_health_chekcup_prvs); - DataMap.putToModel(model, "rm_mem", rm_mem); - } - }catch(Exception ex1){ redirect_url = gmUtil.redirectError(true, ex1, request, paramMap, ra, ""); ex1.printStackTrace();} - - gmUtil.redirectParam(model, paramMap); - - return redirect_url; - - } - - //---begin------- + DataMap rm_mem_ = (DataMap) session.getAttribute(ConstantSystem.SESSION_RM_MEMBER); + + DataMap rm_health_noti = bf_growthBO.select_bf_health_noti_count(paramMap); + DataMap rm_vac_noti = bf_growthBO.select_bf_vac_noti_count(paramMap); + DataMap.putToModel(model, "rm_vac_noti", rm_vac_noti); + DataMap.putToModel(model, "rm_health_noti", rm_health_noti); + DataMap.putToModel(model, "rm_growth_body", rm_growth_body); + DataMap.putToModel(model, "rm_child", rm_child); + DataMap.putToModel(model, "rm_report", rm_report); + DataMap.putToModel(model, "lm_growth_body", lm_growth_body); + DataMap.putToModel(model, "rm_mem_", rm_mem_); + DataMap.putToModel(model, "rm_child_", rm_child_); + } + } + + } catch (Exception ex1) { + redirect_url = gmUtil.redirectError(true, ex1, request, paramMap, ra, ""); + ex1.printStackTrace(); + } + + gmUtil.redirectParam(model, paramMap); + + return redirect_url; + + } + + @RequestMapping(value = "health_checkup") + public String health_checkup(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response + , RedirectAttributes ra) { + DataMap paramMap = gmUtil.getDataMapFromRequest(request); + String redirect_url = "m/bf_growth/health_checkup"; + HttpSession session = request.getSession(false); + + try { + boolean is_login = gmUtil.setSessionForMobileMember(request, paramMap); + if (is_login == false) { + ra.addFlashAttribute("call_native_login", "Y"); + redirect_url = "redirect:/m/login/view_login.do"; + } else { + DataMap rm_child = init_child(model, request, paramMap); + paramMap.put("smc_no", rm_child.get("smc_no")); + List lm_health_checkup = bf_growthBO.select_bf_health_checkup_list(paramMap); //smc_no + List lm_health_chekcup_prvs = bf_growthBO.select_bf_health_checkup_list_prvs(paramMap); + + DataMap rm_mem = (DataMap) session.getAttribute(ConstantSystem.SESSION_RM_MEMBER); + + DataMap rm_vac_noti = bf_growthBO.select_bf_vac_noti_count(paramMap); + DataMap rm_health_noti = bf_growthBO.select_bf_health_noti_count(paramMap); + DataMap.putToModel(model, "rm_vac_noti", rm_vac_noti); + DataMap.putToModel(model, "rm_health_noti", rm_health_noti); + DataMap.putToModel(model, "rm_child", rm_child); + DataMap.putToModel(model, "rm_health_checkup", lm_health_checkup); + DataMap.putToModel(model, "rm_health_chekcup_prvs", lm_health_chekcup_prvs); + DataMap.putToModel(model, "rm_mem", rm_mem); + } + } catch (Exception ex1) { + redirect_url = gmUtil.redirectError(true, ex1, request, paramMap, ra, ""); + ex1.printStackTrace(); + } + + gmUtil.redirectParam(model, paramMap); + + return redirect_url; + + } + + //---begin------- // @RequestMapping(value="vac_schedule_check") - @RequestMapping(value="vac_schedule_check", method= RequestMethod.GET) - @ResponseBody - public HashMap vac_schedule_check(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response) { - DataMap paramMap = gmUtil.getDataMapFromRequest(request); - log.info("vac_schedule_check....."); - log.info(paramMap); - - HashMap rm = new HashMap(); - rm.put("RESULT", ConstantResultCode.RESULT_INIT); - - try{ - int result = bf_growthBO.update_bf_vac_schedule_check(paramMap); - rm.put("result", result); - - }catch(Exception ex1){ - ex1.printStackTrace(); - rm.put("RESULT", ConstantResultCode.RESULT_EXCEPTION); - } - return rm; - } - - // ---end---------- - @RequestMapping(value="vac_schedule") - public String vac_schedule(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response - , RedirectAttributes ra) { - DataMap paramMap = gmUtil.getDataMapFromRequest(request); - String redirect_url = "m/bf_growth/vac_schedule"; - HttpSession session = request.getSession(false); - log.info("vac_schedule....."); - log.info(paramMap); - try { - boolean is_login = gmUtil.setSessionForMobileMember(request, paramMap); - if(is_login == false) { - ra.addFlashAttribute("call_native_login", "Y"); - redirect_url = "redirect:/m/login/view_login.do"; - }else{ - DataMap rm_child = init_child(model, request, paramMap); - paramMap.put("smc_no", rm_child.get("smc_no")); - List lm_vac_schedule = bf_growthBO.select_bf_vac_schedule_list(paramMap); //smc_no - List lm_vac_schedule_prvs = bf_growthBO.select_bf_vac_schedule_list_prvs(paramMap); - - DataMap rm_mem = (DataMap) session.getAttribute(ConstantSystem.SESSION_RM_MEMBER); - - DataMap rm_health_noti = bf_growthBO.select_bf_health_noti_count(paramMap); - DataMap rm_vac_noti = bf_growthBO.select_bf_vac_noti_count(paramMap); - DataMap.putToModel(model, "rm_vac_noti", rm_vac_noti); - DataMap.putToModel(model, "rm_health_noti", rm_health_noti); - DataMap.putToModel(model, "rm_child", rm_child); - DataMap.putToModel(model, "rm_mem", rm_mem); - DataMap.putToModel(model, "rm_vac_schedule", lm_vac_schedule); - DataMap.putToModel(model, "rm_vac_schedule_prvs", lm_vac_schedule_prvs); - } - }catch(Exception ex1){ redirect_url = gmUtil.redirectError(true, ex1, request, paramMap, ra, ""); ex1.printStackTrace();} - - gmUtil.redirectParam(model, paramMap); - - return redirect_url; - - } - - @RequestMapping(value="list_rest") - public String list_rest(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response - , RedirectAttributes ra) { - - DataMap paramMap = gmUtil.getDataMapFromRequest(request); - - String redirect_url = "m/bf_growth/list_rest"; - - try { - boolean is_login = gmUtil.setSessionForMobileMember(request, paramMap); - if(is_login == false) { - ra.addFlashAttribute("call_native_login", "Y"); - redirect_url = "redirect:/m/login/view_login.do"; - }else{ - // 아이 - DataMap rm_child = init_child(model, request, paramMap); - DataMap.putToModel(model, "rm_child", rm_child); - - if(RenaStringUtil.isNullOrEmpty(rm_child,"smc_no")) { - ra.addFlashAttribute("script_msg", "아이를 선택하세요"); - redirect_url = "redirect:/m/index.do"; - - return redirect_url; - }else { - rm_child = bf_family_babyBO.select_bf_family_baby(paramMap); - int m = DateUtil.getDistanceByTwoMonth(RenaStringUtil.getData(rm_child, "birthday"), DateUtil.getDateString(DateUtil.F_YYYYMMDDDash), DateUtil.F_YYYYMMDDDash); - rm_child.put("age_y", (m / 12)); - rm_child.put("age_m", (m % 12)); - rm_child.put("m", m); - DataMap.putToModel(model, "rm_child", rm_child); - - DataMap rm_base = get_rmBase(paramMap); - DataMap.putToModel(model, "rm_base", rm_base); - // 대/소변 주기 - List lm_stat = bf_growthBO.select_bf_growth_rest_statistics(rm_base); - get_lm_rest_stat(lm_stat,rm_base); - List lm_his = bf_growthBO.select_bf_growth_rest_list(rm_base); - - DataMap.putToModel(model, "lm_stat", lm_stat); - DataMap.putToModel(model, "lm_his", lm_his); - } - } - }catch(Exception ex1){ redirect_url = gmUtil.redirectError(true, ex1, request, paramMap, ra, ""); ex1.printStackTrace();} - - gmUtil.redirectParam(model, paramMap); - - return redirect_url; - } - - @RequestMapping(value="list_sleep") - public String list_sleep(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response - , RedirectAttributes ra) { - DataMap paramMap = gmUtil.getDataMapFromRequest(request); - - String redirect_url = "m/bf_growth/list_sleep"; - - try { - boolean is_login = gmUtil.setSessionForMobileMember(request, paramMap); - if(is_login == false) { - ra.addFlashAttribute("call_native_login", "Y"); - redirect_url = "redirect:/m/login/view_login.do"; - }else{ - // 아이 - DataMap rm_child = init_child(model, request, paramMap); - DataMap.putToModel(model, "rm_child", rm_child); - - if(RenaStringUtil.isNullOrEmpty(rm_child,"smc_no")) { - ra.addFlashAttribute("script_msg", "아이를 선택하세요"); - redirect_url = "redirect:/m/index.do"; - - return redirect_url; - }else { - rm_child = bf_family_babyBO.select_bf_family_baby(paramMap); - int m = DateUtil.getDistanceByTwoMonth(RenaStringUtil.getData(rm_child, "birthday"), DateUtil.getDateString(DateUtil.F_YYYYMMDDDash), DateUtil.F_YYYYMMDDDash); - rm_child.put("age_y", (m / 12)); - rm_child.put("age_m", (m % 12)); - rm_child.put("m", m); - DataMap.putToModel(model, "rm_child", rm_child); - - DataMap rm_base = get_rmBase(paramMap); - DataMap.putToModel(model, "rm_base", rm_base); - - List lm_stat = bf_growthBO.select_bf_growth_sleep_statistics(rm_base); - List lm_his = bf_growthBO.select_bf_growth_sleep_list(rm_base); - - DataMap.putToModel(model, "lm_stat", lm_stat); - DataMap.putToModel(model, "lm_his", lm_his); - } - - } - }catch(Exception ex1){ redirect_url = gmUtil.redirectError(true, ex1, request, paramMap, ra, ""); ex1.printStackTrace();} - - gmUtil.redirectParam(model, paramMap); - - return redirect_url; - } - - @RequestMapping(value="list_vac") - public String list_vac(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response - , RedirectAttributes ra) { - DataMap paramMap = gmUtil.getDataMapFromRequest(request); - - String redirect_url = "m/bf_growth/list_vac"; - - try { - boolean is_login = gmUtil.setSessionForMobileMember(request, paramMap); - if(is_login == false) { - ra.addFlashAttribute("call_native_login", "Y"); - redirect_url = "redirect:/m/login/view_login.do"; - }else{ - // 아이 - DataMap rm_child = init_child(model, request, paramMap); - DataMap.putToModel(model, "rm_child", rm_child); - - if(RenaStringUtil.isNullOrEmpty(rm_child,"smc_no")) { - ra.addFlashAttribute("script_msg", "아이를 선택하세요"); - redirect_url = "redirect:/m/index.do"; - - return redirect_url; - }else { - rm_child = bf_family_babyBO.select_bf_family_baby(paramMap); - int m = DateUtil.getDistanceByTwoMonth(RenaStringUtil.getData(rm_child, "birthday"), DateUtil.getDateString(DateUtil.F_YYYYMMDDDash), DateUtil.F_YYYYMMDDDash); - rm_child.put("age_y", (m / 12)); - rm_child.put("age_m", (m % 12)); - rm_child.put("m", m); - DataMap.putToModel(model, "rm_child", rm_child); - - String label = RenaStringUtil.getData(paramMap, "label"); - - if(RenaStringUtil.isNullOrEmpty(label)) - paramMap = getLabel(rm_child,paramMap); - - DataMap rm_label = bf_growthBO.select_bf_growth_vac_by_label(paramMap); - DataMap dm_stat = bf_growthBO.select_bf_growth_vac_statistics(paramMap); - List lm_his = bf_growthBO.select_bf_growth_vac_list(paramMap); - - DataMap.putToModel(model, "rm_label", rm_label); - DataMap.putToModel(model, "dm_stat", dm_stat); - DataMap.putToModel(model, "lm_his", lm_his); - - } - } - }catch(Exception ex1){ redirect_url = gmUtil.redirectError(true, ex1, request, paramMap, ra, ""); ex1.printStackTrace();} - - gmUtil.redirectParam(model, paramMap); - - return redirect_url; - } - - private List get_lm_rest_stat(List lm_stat,DataMap rm_base) { - try { - // 대/소변 주기 - for(DataMap dm : lm_stat) { - int ct = Integer.parseInt(RenaStringUtil.getData(dm, "ct")); - if(ct >= 2) { - String rest_tp = RenaStringUtil.getData(dm, "rest_tp"); - rm_base.put("rest_tp", rest_tp); - - List lm = bf_growthBO.select_bf_growth_rest_by_rest_tp_limit2(rm_base); - String last1 = lm.get(0).getString("reg_dt"); - String last2 = lm.get(1).getString("reg_dt"); - - SimpleDateFormat f = new SimpleDateFormat("HHmmss", Locale.KOREA); - Date d1 = f.parse(last1); - Date d2 = f.parse(last2); - long diff = d1.getTime() - d2.getTime(); - long hour = diff/(1000*60*60); - long minute = diff/(1000*60)%60; - String cycle; - if(hour>0) cycle = hour + "시간 "+ minute+"분"; - else cycle = minute+"분"; - dm.put("cycle", cycle); - } - } - }catch(Exception ex1) { - ex1.printStackTrace(); - } - - return lm_stat; - } - - private DataMap getLabel(DataMap rm_child, DataMap paramMap) { - String birthday = RenaStringUtil.getData(rm_child, "birthday"); - String baseday = format.format(new Date()); - int afterbirthday = DateUtil.compareDateWithFormat(birthday, baseday, DateUtil.F_YYYYMMDDDash, DateUtil.F_YYYYMMDDDash); - - int label=0; - if(afterbirthday<=31) label=1; - else if(afterbirthday<=63) label=2; - else if(afterbirthday<=95) label=3; - else if(afterbirthday<=158) label=4; - else if(afterbirthday<=221) label=5; - else if(afterbirthday<=408) label=6; - else if(afterbirthday<=502) label=7; - else if(afterbirthday<=596) label=8; - else if(afterbirthday<=752) label=9; - else if(afterbirthday<=1125) label=10; - else if(afterbirthday<=1870) label=11; - else if(afterbirthday<=4103) label=12; - else if(afterbirthday<=4476) label=13; - else if(afterbirthday<=4849) label=14; - paramMap.put("label", label); - - return paramMap; - } - - private DataMap get_rmBase(DataMap paramMap) { - DataMap rm_base = new DataMap(); - String baseday; - String p=null; - String n=null; - - if(RenaStringUtil.isNullOrEmpty(paramMap, "baseday")) - baseday = format.format(new Date()); - else - baseday = paramMap.getString("baseday"); - - try { - p = addDate(baseday, -1); - n = addDate(baseday, +1); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - rm_base.put("baseday", baseday); - rm_base.put("p", p); - rm_base.put("n", n); - rm_base.put("smc_no", RenaStringUtil.getData(paramMap,"smc_no")); - - return rm_base; - } - - private String addDate(String dt,int d) throws Exception { - Calendar cal = Calendar.getInstance(); - Date date = format.parse(dt); - cal.setTime(date); - cal.add(Calendar.DATE, d); - - return format.format(cal.getTime()); - } + @RequestMapping(value = "vac_schedule_check", method = RequestMethod.GET) + @ResponseBody + public HashMap vac_schedule_check(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response) { + DataMap paramMap = gmUtil.getDataMapFromRequest(request); + log.info("vac_schedule_check....."); + log.info(paramMap); + + HashMap rm = new HashMap(); + rm.put("RESULT", ConstantResultCode.RESULT_INIT); + + try { + int result = bf_growthBO.update_bf_vac_schedule_check(paramMap); + rm.put("result", result); + + } catch (Exception ex1) { + ex1.printStackTrace(); + rm.put("RESULT", ConstantResultCode.RESULT_EXCEPTION); + } + return rm; + } + + // ---end---------- + @RequestMapping(value = "vac_schedule") + public String vac_schedule(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response + , RedirectAttributes ra) { + DataMap paramMap = gmUtil.getDataMapFromRequest(request); + String redirect_url = "m/bf_growth/vac_schedule"; + HttpSession session = request.getSession(false); + log.info("vac_schedule....."); + log.info(paramMap); + try { + boolean is_login = gmUtil.setSessionForMobileMember(request, paramMap); + if (is_login == false) { + ra.addFlashAttribute("call_native_login", "Y"); + redirect_url = "redirect:/m/login/view_login.do"; + } else { + DataMap rm_child = init_child(model, request, paramMap); + paramMap.put("smc_no", rm_child.get("smc_no")); + List lm_vac_schedule = bf_growthBO.select_bf_vac_schedule_list(paramMap); //smc_no + List lm_vac_schedule_prvs = bf_growthBO.select_bf_vac_schedule_list_prvs(paramMap); + + DataMap rm_mem = (DataMap) session.getAttribute(ConstantSystem.SESSION_RM_MEMBER); + + DataMap rm_health_noti = bf_growthBO.select_bf_health_noti_count(paramMap); + DataMap rm_vac_noti = bf_growthBO.select_bf_vac_noti_count(paramMap); + DataMap.putToModel(model, "rm_vac_noti", rm_vac_noti); + DataMap.putToModel(model, "rm_health_noti", rm_health_noti); + DataMap.putToModel(model, "rm_child", rm_child); + DataMap.putToModel(model, "rm_mem", rm_mem); + DataMap.putToModel(model, "rm_vac_schedule", lm_vac_schedule); + DataMap.putToModel(model, "rm_vac_schedule_prvs", lm_vac_schedule_prvs); + } + } catch (Exception ex1) { + redirect_url = gmUtil.redirectError(true, ex1, request, paramMap, ra, ""); + ex1.printStackTrace(); + } + + gmUtil.redirectParam(model, paramMap); + + return redirect_url; + + } + + @RequestMapping(value = "list_rest") + public String list_rest(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response + , RedirectAttributes ra) { + + DataMap paramMap = gmUtil.getDataMapFromRequest(request); + + String redirect_url = "m/bf_growth/list_rest"; + + try { + boolean is_login = gmUtil.setSessionForMobileMember(request, paramMap); + if (is_login == false) { + ra.addFlashAttribute("call_native_login", "Y"); + redirect_url = "redirect:/m/login/view_login.do"; + } else { + // 아이 + DataMap rm_child = init_child(model, request, paramMap); + DataMap.putToModel(model, "rm_child", rm_child); + + if (RenaStringUtil.isNullOrEmpty(rm_child, "smc_no")) { + ra.addFlashAttribute("script_msg", "아이를 선택하세요"); + redirect_url = "redirect:/m/index.do"; + + return redirect_url; + } else { + rm_child = bf_family_babyBO.select_bf_family_baby(paramMap); + int m = DateUtil.getDistanceByTwoMonth(RenaStringUtil.getData(rm_child, "birthday"), DateUtil.getDateString(DateUtil.F_YYYYMMDDDash), DateUtil.F_YYYYMMDDDash); + rm_child.put("age_y", (m / 12)); + rm_child.put("age_m", (m % 12)); + rm_child.put("m", m); + DataMap.putToModel(model, "rm_child", rm_child); + + DataMap rm_base = get_rmBase(paramMap); + DataMap.putToModel(model, "rm_base", rm_base); + // 대/소변 주기 + List lm_stat = bf_growthBO.select_bf_growth_rest_statistics(rm_base); + get_lm_rest_stat(lm_stat, rm_base); + List lm_his = bf_growthBO.select_bf_growth_rest_list(rm_base); + + DataMap.putToModel(model, "lm_stat", lm_stat); + DataMap.putToModel(model, "lm_his", lm_his); + } + } + } catch (Exception ex1) { + redirect_url = gmUtil.redirectError(true, ex1, request, paramMap, ra, ""); + ex1.printStackTrace(); + } + + gmUtil.redirectParam(model, paramMap); + + return redirect_url; + } + + @RequestMapping(value = "list_sleep") + public String list_sleep(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response + , RedirectAttributes ra) { + DataMap paramMap = gmUtil.getDataMapFromRequest(request); + + String redirect_url = "m/bf_growth/list_sleep"; + + try { + boolean is_login = gmUtil.setSessionForMobileMember(request, paramMap); + if (is_login == false) { + ra.addFlashAttribute("call_native_login", "Y"); + redirect_url = "redirect:/m/login/view_login.do"; + } else { + // 아이 + DataMap rm_child = init_child(model, request, paramMap); + DataMap.putToModel(model, "rm_child", rm_child); + + if (RenaStringUtil.isNullOrEmpty(rm_child, "smc_no")) { + ra.addFlashAttribute("script_msg", "아이를 선택하세요"); + redirect_url = "redirect:/m/index.do"; + + return redirect_url; + } else { + rm_child = bf_family_babyBO.select_bf_family_baby(paramMap); + int m = DateUtil.getDistanceByTwoMonth(RenaStringUtil.getData(rm_child, "birthday"), DateUtil.getDateString(DateUtil.F_YYYYMMDDDash), DateUtil.F_YYYYMMDDDash); + rm_child.put("age_y", (m / 12)); + rm_child.put("age_m", (m % 12)); + rm_child.put("m", m); + DataMap.putToModel(model, "rm_child", rm_child); + + DataMap rm_base = get_rmBase(paramMap); + DataMap.putToModel(model, "rm_base", rm_base); + + List lm_stat = bf_growthBO.select_bf_growth_sleep_statistics(rm_base); + List lm_his = bf_growthBO.select_bf_growth_sleep_list(rm_base); + + DataMap.putToModel(model, "lm_stat", lm_stat); + DataMap.putToModel(model, "lm_his", lm_his); + } + + } + } catch (Exception ex1) { + redirect_url = gmUtil.redirectError(true, ex1, request, paramMap, ra, ""); + ex1.printStackTrace(); + } + + gmUtil.redirectParam(model, paramMap); + + return redirect_url; + } + + @RequestMapping(value = "list_vac") + public String list_vac(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response + , RedirectAttributes ra) { + DataMap paramMap = gmUtil.getDataMapFromRequest(request); + + String redirect_url = "m/bf_growth/list_vac"; + + try { + boolean is_login = gmUtil.setSessionForMobileMember(request, paramMap); + if (is_login == false) { + ra.addFlashAttribute("call_native_login", "Y"); + redirect_url = "redirect:/m/login/view_login.do"; + } else { + // 아이 + DataMap rm_child = init_child(model, request, paramMap); + DataMap.putToModel(model, "rm_child", rm_child); + + if (RenaStringUtil.isNullOrEmpty(rm_child, "smc_no")) { + ra.addFlashAttribute("script_msg", "아이를 선택하세요"); + redirect_url = "redirect:/m/index.do"; + + return redirect_url; + } else { + rm_child = bf_family_babyBO.select_bf_family_baby(paramMap); + int m = DateUtil.getDistanceByTwoMonth(RenaStringUtil.getData(rm_child, "birthday"), DateUtil.getDateString(DateUtil.F_YYYYMMDDDash), DateUtil.F_YYYYMMDDDash); + rm_child.put("age_y", (m / 12)); + rm_child.put("age_m", (m % 12)); + rm_child.put("m", m); + DataMap.putToModel(model, "rm_child", rm_child); + + String label = RenaStringUtil.getData(paramMap, "label"); + + if (RenaStringUtil.isNullOrEmpty(label)) + paramMap = getLabel(rm_child, paramMap); + + DataMap rm_label = bf_growthBO.select_bf_growth_vac_by_label(paramMap); + DataMap dm_stat = bf_growthBO.select_bf_growth_vac_statistics(paramMap); + List lm_his = bf_growthBO.select_bf_growth_vac_list(paramMap); + + DataMap.putToModel(model, "rm_label", rm_label); + DataMap.putToModel(model, "dm_stat", dm_stat); + DataMap.putToModel(model, "lm_his", lm_his); + + } + } + } catch (Exception ex1) { + redirect_url = gmUtil.redirectError(true, ex1, request, paramMap, ra, ""); + ex1.printStackTrace(); + } + + gmUtil.redirectParam(model, paramMap); + + return redirect_url; + } + + private List get_lm_rest_stat(List lm_stat, DataMap rm_base) { + try { + // 대/소변 주기 + for (DataMap dm : lm_stat) { + int ct = Integer.parseInt(RenaStringUtil.getData(dm, "ct")); + if (ct >= 2) { + String rest_tp = RenaStringUtil.getData(dm, "rest_tp"); + rm_base.put("rest_tp", rest_tp); + + List lm = bf_growthBO.select_bf_growth_rest_by_rest_tp_limit2(rm_base); + String last1 = lm.get(0).getString("reg_dt"); + String last2 = lm.get(1).getString("reg_dt"); + + SimpleDateFormat f = new SimpleDateFormat("HHmmss", Locale.KOREA); + Date d1 = f.parse(last1); + Date d2 = f.parse(last2); + long diff = d1.getTime() - d2.getTime(); + long hour = diff / (1000 * 60 * 60); + long minute = diff / (1000 * 60) % 60; + String cycle; + if (hour > 0) cycle = hour + "시간 " + minute + "분"; + else cycle = minute + "분"; + dm.put("cycle", cycle); + } + } + } catch (Exception ex1) { + ex1.printStackTrace(); + } + + return lm_stat; + } + + @RequestMapping(value = "ajax_switch_daily_count", method = RequestMethod.POST) + @ResponseBody + public HashMap ajax_switch_daily_count(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response) { + + DataMap paramMap = gmUtil.getDataMapFromRequest(request); + HashMap rm = new HashMap(); + rm.put("RESULT", ConstantResultCode.RESULT_INIT); + + try { + boolean is_login = gmUtil.setSessionForMobileMember(request, paramMap); + if (is_login == false) { + + } else { + String reg_dt = RenaStringUtil.getData(paramMap, "reg_dt"); + paramMap.put("scope", "day"); + paramMap.put("reg_dt", reg_dt); + DataMap today_dm = scoreBO.select_day_total(paramMap); + rm.put("result", get_today_data(today_dm)); + } + } catch (Exception ex1) { + ex1.printStackTrace(); + rm.put("RESULT", ConstantResultCode.RESULT_EXCEPTION); + } + + + return rm; + + } + + private DataMap getLabel(DataMap rm_child, DataMap paramMap) { + String birthday = RenaStringUtil.getData(rm_child, "birthday"); + String baseday = format.format(new Date()); + int afterbirthday = DateUtil.compareDateWithFormat(birthday, baseday, DateUtil.F_YYYYMMDDDash, DateUtil.F_YYYYMMDDDash); + + int label = 0; + if (afterbirthday <= 31) label = 1; + else if (afterbirthday <= 63) label = 2; + else if (afterbirthday <= 95) label = 3; + else if (afterbirthday <= 158) label = 4; + else if (afterbirthday <= 221) label = 5; + else if (afterbirthday <= 408) label = 6; + else if (afterbirthday <= 502) label = 7; + else if (afterbirthday <= 596) label = 8; + else if (afterbirthday <= 752) label = 9; + else if (afterbirthday <= 1125) label = 10; + else if (afterbirthday <= 1870) label = 11; + else if (afterbirthday <= 4103) label = 12; + else if (afterbirthday <= 4476) label = 13; + else if (afterbirthday <= 4849) label = 14; + paramMap.put("label", label); + + return paramMap; + } + + private DataMap get_rmBase(DataMap paramMap) { + DataMap rm_base = new DataMap(); + String baseday; + String p = null; + String n = null; + + if (RenaStringUtil.isNullOrEmpty(paramMap, "baseday")) + baseday = format.format(new Date()); + else + baseday = paramMap.getString("baseday"); + + try { + p = addDate(baseday, -1); + n = addDate(baseday, +1); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + rm_base.put("baseday", baseday); + rm_base.put("p", p); + rm_base.put("n", n); + rm_base.put("smc_no", RenaStringUtil.getData(paramMap, "smc_no")); + + return rm_base; + } + + private String addDate(String dt, int d) throws Exception { + Calendar cal = Calendar.getInstance(); + Date date = format.parse(dt); + cal.setTime(date); + cal.add(Calendar.DATE, d); + + return format.format(cal.getTime()); + } + + private DataMap get_today_data(DataMap today_dm) { + DataMap today = new DataMap(); + NutrientScoreCalculation today_nut = new NutrientScoreCalculation(today_dm); + DataMap today_nut_score = today_nut.getScore(); + FoodScoreCalculation today_food = new FoodScoreCalculation(today_dm); + DataMap today_food_score = today_food.getScore(); + + if (today_dm.get("month") == null) { + today.put("basicNutrition", 0); + today.put("growthNutrition", 0); + today.put("immuneNutrition", 0); + today.put("healthyFood", 0); + today.put("unhealthyFood", 0); + today.put("today_recode", false); + } else { + today.put("basicNutrition", today_nut_score.get("basicNutrition")); + today.put("growthNutrition", today_nut_score.get("growthNutrition")); + today.put("immuneNutrition", today_nut_score.get("immuneNutrition")); + today.put("healthyFood", today_food_score.get("healthyFood")); + today.put("unhealthyFood", today_food_score.get("unhealthyFood")); + today.put("today_recode", true); + } + return today; + } } diff --git a/src/main/webapp/WEB-INF/views/ftl/m/bf_daily_nutrition/include_bottom.ftl b/src/main/webapp/WEB-INF/views/ftl/m/bf_daily_nutrition/include_bottom.ftl index b6a289a..bc150a7 100644 --- a/src/main/webapp/WEB-INF/views/ftl/m/bf_daily_nutrition/include_bottom.ftl +++ b/src/main/webapp/WEB-INF/views/ftl/m/bf_daily_nutrition/include_bottom.ftl @@ -23,7 +23,17 @@
- 공개일기 / 성장일기 + +
@@ -285,34 +295,24 @@ }; function switch_save_board(i){ - let cur_bar1 = $(".switch_save_board1") - let cur_bar2 = $(".switch_save_board2") - let cur_val + let switch_save_board = $(".switch_save_board") + switch_save_board.removeClass("active"); switch (i){ - case 1: - cur_val = cur_bar1.hasClass("active") - if(cur_val){ - $("#share_tp").val('N'); - }else{ - $("#share_tp").val('Y'); - $("#share_board_kind").val("BF_CT_TP_6"); - } - cur_bar1.toggleClass("active"); - cur_bar2.removeClass("active"); - break; - case 2: - cur_val = cur_bar2.hasClass("active") - if(cur_val){ - $("#share_tp").val('N'); - }else{ - $("#share_tp").val('Y'); - $("#share_board_kind").val("BF_CT_TP_7"); - } - cur_bar2.toggleClass("active"); - cur_bar1.removeClass("active"); + case 1: + $("#share_tp").val('N'); + $("#share_board_kind").val(""); + break; + case 2: + $("#share_tp").val('Y'); + $("#share_board_kind").val("BF_CT_TP_6"); break; + case 2: + $("#share_tp").val('Y'); + $("#share_board_kind").val("BF_CT_TP_7"); + break; } - }; + $("#switch_save_board"+i).addClass("active"); + }; $('.modal_close_btn').on('click', function() { $('.modal-wrapper').removeClass('open'); }); @@ -683,16 +683,28 @@ <#include "/m/include/include_return_url.ftl"> diff --git a/src/main/webapp/WEB-INF/views/ftl/m/bf_food/view_sn_nutrition_main_1.ftl b/src/main/webapp/WEB-INF/views/ftl/m/bf_food/view_sn_nutrition_main_1.ftl index 83d2dfc..422fd98 100644 --- a/src/main/webapp/WEB-INF/views/ftl/m/bf_food/view_sn_nutrition_main_1.ftl +++ b/src/main/webapp/WEB-INF/views/ftl/m/bf_food/view_sn_nutrition_main_1.ftl @@ -280,10 +280,31 @@ on: { caretPadding: 5, cornerRadius: 10, caretSize: 5, - } + }, + onClick:chart_click }, //옵션 }); + function chart_click(e,arr){ + var points = this.chart.getElementAtEvent(e); + if (points.length > 0) { + var index = points[0]._index; + var reg_ymd = "" + <#if model['daily']?has_content> + <#list model['daily']?reverse as item> + if(index == ${item_index}){ + var t = ${item['reg_time']!} + t = new Date(t*1000) + var year =t.getFullYear() + var month = (t.getMonth() + 1) > 9 && (t.getMonth() + 1) || ('0' + (t.getMonth() + 1)) + var day = t.getDate() > 9 && t.getDate() || ('0' + t.getDate()) + var time = year + '-' + month + '-' + day + switch_chart_day(time) + } + + + } + }; /* 그래프 myChart2 */ var ctx = document.getElementById("myChart2"); var myChart = new Chart(ctx, { diff --git a/src/main/webapp/WEB-INF/views/ftl/m/bf_food/view_sn_nutrition_main_2.ftl b/src/main/webapp/WEB-INF/views/ftl/m/bf_food/view_sn_nutrition_main_2.ftl index 5867bc7..76d8821 100644 --- a/src/main/webapp/WEB-INF/views/ftl/m/bf_food/view_sn_nutrition_main_2.ftl +++ b/src/main/webapp/WEB-INF/views/ftl/m/bf_food/view_sn_nutrition_main_2.ftl @@ -151,6 +151,11 @@ nextEl: '.swiper-button-next', // 다음 버튼 클래스명 prevEl: '.swiper-button-prev', // 이번 버튼 클래스명 }, + on: { + slideChangeTransitionStart: function(){ + show(this.activeIndex) + }, + }, }); /* 그래프 myChart4 (일간) */ @@ -276,10 +281,32 @@ caretPadding: 5, cornerRadius: 10, caretSize: 5, - } + }, + onClick:chart_click }, //옵션 }); + function chart_click(e,arr){ + var points = this.chart.getElementAtEvent(e); + if (points.length > 0) { + var index = points[0]._index; + var reg_ymd = "" + <#if model['daily']?has_content> + <#list model['daily']?reverse as item> + if(index == ${item_index}){ + var t = ${item['reg_time']!} + t = new Date(t*1000) + var year =t.getFullYear() + var month = (t.getMonth() + 1) > 9 && (t.getMonth() + 1) || ('0' + (t.getMonth() + 1)) + var day = t.getDate() > 9 && t.getDate() || ('0' + t.getDate()) + var time = year + '-' + month + '-' + day + switch_chart_day(time) + } + + + } + }; + /* 그래프 myChart5 (주간) */ var ctx = document.getElementById("myChart5"); var myChart = new Chart(ctx, { diff --git a/src/main/webapp/WEB-INF/views/ftl/m/bf_growth/food_balance.ftl b/src/main/webapp/WEB-INF/views/ftl/m/bf_growth/food_balance.ftl index bac6c3a..f9ba036 100644 --- a/src/main/webapp/WEB-INF/views/ftl/m/bf_growth/food_balance.ftl +++ b/src/main/webapp/WEB-INF/views/ftl/m/bf_growth/food_balance.ftl @@ -8,12 +8,12 @@ - +
- +
@@ -30,7 +30,7 @@
-
+
@@ -67,7 +67,7 @@ -
+

@@ -76,10 +76,12 @@ -
- +
+ <#if (model['rm_child']['past_month']<60)> -

오늘의 식품군

+

+ ${model['today']['today_reg_dt']!}의 식품군 +

<#if (model['today']['today_recode']==true)> 자세히 보기 > @@ -90,14 +92,18 @@

긍정식품군

모유, 분유, 곡류, 채소, 단백질, 과일 등

-
<#if model['today']['healthyFood']??>${model['today']['healthyFood']!}<#else>0
+
+ <#if model['today']['healthyFood']??>${model['today']['healthyFood']!}<#else>0 +
  • 부정식품군

    과일, 당 첨가식품, 음료, 과자 등

    -
    <#if model['today']['unhealthyFood']??>${model['today']['unhealthyFood']!}<#else>0
    +
    + <#if model['today']['unhealthyFood']??>${model['today']['unhealthyFood']!}<#else>0 +
  • @@ -188,9 +194,15 @@ icon: 'warning', // success showConfirmButton: false, timer: 2000 - }); + }); } - + function show(i){ + if(i == 0){ + document.getElementById('nutrition_subMain_graph_list').style.display = 'block' + }else{ + document.getElementById('nutrition_subMain_graph_list').style.display = 'none' + } + }; var swiper = new Swiper('.swiper-container1', { slidesPerView: 3, slidesPerGroup: 3, @@ -217,7 +229,8 @@ onStart: $.noop, onStop: $.noop }); - +chart1 = window.chart = $('#healthyFood_today').data('easyPieChart'); +chart2 = window.chart = $('#unhealthyFood_today').data('easyPieChart'); // 높이 똑같게 맞추기 var equalHeight = function(element) { var maxHeight = 0; @@ -241,12 +254,41 @@ var list = $(".nutrition_subMain_swiper .swiper-slide"); list.height(equalHeight(list)); }) + +function switch_chart_day(reg_dt) { + var data = { + reg_dt + } + $.ajax({ + url:'${URL_ROOT}/m/bf_growth/ajax_switch_daily_count.do?1=1', + type:'post', + data: data, + dataType:'json', + error:function(request,status,error){ + Swal.fire({text:"등록되지 않았습니다"}) + }, + success:function(result){ + console.log(result) + let healthyFood = result.result.healthyFood + let unhealthyFood = result.result.unhealthyFood + $('#today_reg_dt').html(reg_dt) + $('#healthyFood_today').attr("data-percent",healthyFood); + $('#unhealthyFood_today').attr("data-percent",unhealthyFood); + chart1.update(healthyFood); + chart2.update(unhealthyFood); + $('#healthyFood_today_data').html(healthyFood) + $('#unhealthyFood_today_data').html(unhealthyFood) + // Swal.fire({text:"처리 되었습니다"}) + }, + }); + }; + - + -<#include "/m/include/index_bottom_menu.ftl"> +<#include "/m/include/index_bottom_menu.ftl"> - + <#include "/m/bf_coach/include_return_url.ftl"> @@ -274,4 +316,4 @@ function frmview(nr_no){ } -<#include "/m/include/index_bottom.ftl"> \ No newline at end of file +<#include "/m/include/index_bottom.ftl"> diff --git a/src/main/webapp/WEB-INF/views/ftl/m/bf_growth/nutrient_balance.ftl b/src/main/webapp/WEB-INF/views/ftl/m/bf_growth/nutrient_balance.ftl index 0e61452..14acabf 100644 --- a/src/main/webapp/WEB-INF/views/ftl/m/bf_growth/nutrient_balance.ftl +++ b/src/main/webapp/WEB-INF/views/ftl/m/bf_growth/nutrient_balance.ftl @@ -77,7 +77,9 @@
    <#if (model['rm_child']['m']<60)> -

    오늘의 영양소

    +

    + ${model['today']['today_reg_dt']!}의 영양소 +

    <#if (model['today']['today_recode']==true)> 자세히 보기 > @@ -88,21 +90,27 @@

    기초영양소

    에너지, 탄수화물, 단백질, 지방 등

    -
    <#if model['today']['basicNutrition']??>${model['today']['basicNutrition']!}<#else>0
    +
    + <#if model['today']['basicNutrition']??>${model['today']['basicNutrition']!}<#else>0 +
  • 성장영양소

    비타민 B1/B2, 나이아신, 칼륨, 칼슘 등

    -
    <#if model['today']['growthNutrition']??>${model['today']['growthNutrition']!}<#else>0
    +
    + <#if model['today']['growthNutrition']??>${model['today']['growthNutrition']!}<#else>0 +
  • 면역영양소

    비타민 A/C/D/E, 아연

    -
    <#if model['today']['immuneNutrition']??>${model['today']['immuneNutrition']!}<#else>0
    +
    + <#if model['today']['immuneNutrition']??>${model['today']['immuneNutrition']!}<#else>0 +
  • @@ -161,7 +169,9 @@ onStart: $.noop, onStop: $.noop }); - +chart1 = window.chart = $('#basicNutrition_today').data('easyPieChart'); +chart2 = window.chart = $('#growthNutrition_today').data('easyPieChart'); +chart3 = window.chart = $('#immuneNutrition_today').data('easyPieChart'); // 높이 똑같게 맞추기 var equalHeight = function(element) { var maxHeight = 0; @@ -221,6 +231,39 @@ function frmview(nr_no){ $('#frmView').children('#nr_no').val(nr_no); $('#frmView').submit(); } + +function switch_chart_day(reg_dt) { + var data = { + reg_dt + } + $.ajax({ + url:'${URL_ROOT}/m/bf_growth/ajax_switch_daily_count.do?1=1', + type:'post', + data: data, + dataType:'json', + error:function(request,status,error){ + Swal.fire({text:"등록되지 않았습니다"}) + }, + success:function(result){ + console.log(result) + let basicNutrition = result.result.basicNutrition + let growthNutrition = result.result.growthNutrition + let immuneNutrition = result.result.immuneNutrition + $('#today_reg_dt').html(reg_dt) + $('#basicNutrition_today').attr("data-percent",basicNutrition); + $('#growthNutrition_today').attr("data-percent",growthNutrition); + $('#immuneNutrition_today').attr("data-percent",immuneNutrition); + chart1.update(basicNutrition); + chart2.update(growthNutrition); + chart3.update(immuneNutrition); + $('#basicNutrition_today_data').html(basicNutrition) + $('#growthNutrition_today_data').html(growthNutrition) + $('#immuneNutrition_today_data').html(immuneNutrition) + // Swal.fire({text:"처리 되었습니다"}) + }, + }); + }; + <#include "/m/include/index_bottom.ftl"> diff --git a/src/main/webapp/m/css/style.css b/src/main/webapp/m/css/style.css index a633198..5823099 100644 --- a/src/main/webapp/m/css/style.css +++ b/src/main/webapp/m/css/style.css @@ -13898,6 +13898,7 @@ main.sona_cont_measurement { display: flex; flex-direction: row; flex-wrap: wrap; + margin-bottom: -5px; } .vac_btn{ display: flex; @@ -13913,6 +13914,7 @@ main.sona_cont_measurement { padding:0 10px 0 15px; border-radius: 20px; margin-right:5px; + margin-bottom: 5px; display: flex; justify-content: space-between; align-items: center; @@ -13934,6 +13936,10 @@ main.sona_cont_measurement { font-size: 12pt; } + .memo_btn_div .img_btn{ + display:flex; + } + .memo_btn_div .img_btn img{ width: 24px; }