From 936654b2ede7839f81ccfecdc7d022047ad02970 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Mon, 9 Dec 2019 09:17:06 +0800 Subject: [PATCH] update --- .../lyms/platform/biz/BasicConfigServiceTest.java | 247 ++++++++++++++++++++- .../main/java/com/lyms/platform/common/Test.java | 19 +- .../lyms/platform/pojo/BabyDietSuggestModel.java | 84 +++++++ .../com/lyms/platform/pojo/BabyNutritionModel.java | 12 + .../operate/web/facade/BabyNutritionFacade.java | 54 ++++- .../operate/web/request/BabyNutritionRequest.java | 13 ++ 6 files changed, 410 insertions(+), 19 deletions(-) create mode 100644 platform-dal/src/main/java/com/lyms/platform/pojo/BabyDietSuggestModel.java diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java index 4ec9f26..8f57ccd 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java @@ -5361,6 +5361,94 @@ public class BasicConfigServiceTest { } /** + * 秦皇岛定制儿童膳食12-35正常膳食.xlsx + */ + public static void baby12to35ReportNomal(String fileName) { + ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext_biz_patient1.xml"); + MongoTemplate mongoTemplate + = (MongoTemplate) applicationContext.getBean("mongoTemplate"); + mongoTemplate.getDb().authenticate("platform", "platform123".toCharArray()); + File file = new File(fileName); + Workbook wb = null; + try { + wb = Workbook.getWorkbook(file); + + Sheet s = wb.getSheet(0); + System.out.println(s.getName() + " : "); + int rows = s.getRows(); + if (rows > 0) { + //遍历每行 + for (int i = 1; i < rows; i++) { + System.out.println("rows=" + i); + BabyDietReportModel babyDiet = new BabyDietReportModel(); + Cell[] cells = s.getRow(i); + if (cells.length > 0) { + //遍历每行中的每列 + for (int j = 0; j < cells.length; j++) { + String str = cells[j].getContents().trim(); + switch (j) { + case 0: + babyDiet.setShape(Integer.parseInt(str)); + + continue; + case 1: + babyDiet.setStartMonthAge(Integer.parseInt(str)); + continue; + case 2: + babyDiet.setEndMonthAge(Integer.parseInt(str)); + continue; + case 3: + List list1 = Arrays.asList(str.split("\n")); + babyDiet.setDietStructure(list1); + continue; + case 4: + List list2 = Arrays.asList(str.split("\n")); + babyDiet.setRecommendRecipes(list2); + continue; + case 5: + List list3 = Arrays.asList(str.split("\n")); + babyDiet.setMonday(list3); + continue; + case 6: + List list4 = Arrays.asList(str.split("\n")); + babyDiet.setTuesday(list4); + continue; + case 7: + List list5 = Arrays.asList(str.split("\n")); + babyDiet.setWednesday(list5); + continue; + case 8: + List list6 = Arrays.asList(str.split("\n")); + babyDiet.setThursday(list6); + continue; + case 9: + List list7 = Arrays.asList(str.split("\n")); + babyDiet.setFriday(list7); + continue; + case 10: + List list8 = Arrays.asList(str.split("\n")); + babyDiet.setSaturday(list8); + continue; + case 11: + List list9 = Arrays.asList(str.split("\n")); + babyDiet.setSunday(list9); + continue; + } + } + + } + System.out.println(babyDiet); + mongoTemplate.save(babyDiet); + } + } + }catch (Exception e) + { + e.printStackTrace(); + } + + } + + /** * 秦皇岛儿童膳食报告 */ public static void babyReport(String fileName) { @@ -6214,8 +6302,153 @@ public class BasicConfigServiceTest { } } + public static void getData() + { + ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext_biz_patient1.xml"); + MongoTemplate mongoTemplate + = (MongoTemplate) applicationContext.getBean("mongoTemplate"); + mongoTemplate.getDb().authenticate("platform", "platform123".toCharArray()); + try + { + List babyDietReportList1 = mongoTemplate.find(Query.query(Criteria.where("_id").exists(true)), + BabyDietReportModel.class); + for (BabyDietReportModel baby : babyDietReportList1) + { + + + + for (String str : baby.getDietStructure()) + { + System.out.println(str); + } + + for (String str : baby.getRecommendRecipes()) + { + System.out.println(str); + } + + for (String str : baby.getOneDayRecipes()) + { + System.out.println(str); + } + + } + }catch (Exception e) + { + + } + } + + + + /** + * 每类食物不爱吃的指导建议 + * + * @param fileName + */ + public static void saveDiteSuggest(String fileName) { + ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext_biz_patient1.xml"); + MongoTemplate mongoTemplate + = (MongoTemplate) applicationContext.getBean("mongoTemplate"); + mongoTemplate.getDb().authenticate("platform", "platform123".toCharArray()); + File file = new File(fileName); + Workbook wb = null; + try { + wb = Workbook.getWorkbook(file); + + Sheet s = wb.getSheet(0); + System.out.println(s.getName() + " : "); + int rows = s.getRows(); + if (rows > 0) { + //遍历每行 + for (int i = 1; i < rows; i++) { + System.out.println("rows=" + i); + BabyDietSuggestModel diet = new BabyDietSuggestModel(); + diet.setType(2); + Cell[] cells = s.getRow(i); + if (cells.length > 0) { + for (int j = 0; j < cells.length; j++) { + String str = cells[j].getContents().trim(); + switch (j) { + case 0: + diet.setTitle(str); + continue; + case 1: + List list2 = Arrays.asList(str.split("\n")); + diet.setSuggests(list2); + continue; + case 2: + diet.setLevel(Integer.parseInt(str)); + continue; + } + } + } + mongoTemplate.save(diet); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + + + /** + * 医生建议内容 + * + * @param fileName + */ + public static void saveDiteDoctorSuggest(String fileName) { + ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext_biz_patient1.xml"); + MongoTemplate mongoTemplate + = (MongoTemplate) applicationContext.getBean("mongoTemplate"); + mongoTemplate.getDb().authenticate("platform", "platform123".toCharArray()); + File file = new File(fileName); + Workbook wb = null; + try { + wb = Workbook.getWorkbook(file); + + Sheet s = wb.getSheet(0); + System.out.println(s.getName() + " : "); + int rows = s.getRows(); + if (rows > 0) { + //遍历每行 + for (int i = 1; i < rows; i++) { + System.out.println("rows=" + i); + BabyDietSuggestModel diet = new BabyDietSuggestModel(); + diet.setType(1); + Cell[] cells = s.getRow(i); + List> list = new ArrayList<>(); + if (cells.length > 0) { + for (int j = 0; j < cells.length; j++) { + String str = cells[j].getContents().trim(); + if (!StringUtils.isNotEmpty(str)) + { + continue; + } + if (j == 0) + { + diet.setMonthAge(Integer.parseInt(str)); + } + else + { + List list2 = Arrays.asList(str.split("\n")); + list.add(list2); + } + } + diet.setDoctorSuggests(list); + } + mongoTemplate.save(diet); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + public static void main(String[] args) { +// getData(); //weightWeek("F:\\体重与营养管理\\体重与营养管理第三版(北方)改标红“、冰淇淋”-晓萌.xls"); // weightMange("F:\\体重与营养管理\\体重与营养管理第三版(北方)改标红“、冰淇淋”-晓萌.xls"); // weightFood("F:\\体重与营养管理\\体重与营养管理第三版(北方)改标红“、冰淇淋”-晓萌.xls"); @@ -6233,9 +6466,9 @@ public class BasicConfigServiceTest { // saveCdgwOrg("F:\\承德工位\\cdorg.xls"); // saveCdgwOrgJwhRe("F:\\承德工位\\承德卫生机构与居委会对应关系表.xls"); //saveCdgwOrg("F:\\承德工位\\qhdorg.xls"); - //babyReport("G:\\儿童膳食报告.xls"); +// babyReport("G:\\儿童膳食报告.xls"); // saveQhdbabyDiaginose("F:\\承德工位\\秦皇岛儿童诊断 - 副本.xls"); - saveQhdWeight("F:\\秦皇岛标准报告(1).xls"); + //saveQhdWeight("F:\\秦皇岛标准报告(1).xls"); //dietaryIntake("F:\\膳食摄入量推荐.xls"); @@ -6252,7 +6485,15 @@ public class BasicConfigServiceTest { // baby35Report("C:\\Users\\Administrator\\Desktop\\doc\\秦皇岛3-5月龄膳食报告\\3-5月龄儿童膳食报告内容.xls"); // baby35Report("C:\\Users\\Administrator\\Desktop\\doc\\秦皇岛3-5月龄膳食报告\\3-5月龄儿童膳食报告内容.xls"); //saveWeight("F:\\体成分分析报告内容.xls"); - becareful("F:\\秦皇岛生重本周注意.xls"); + //becareful("F:\\秦皇岛生重本周注意.xls"); + + +// baby12to35ReportNomal("F:\\儿童营养报告\\秦皇岛儿童膳食营养报告\\秦皇岛定制12-35月龄正常体型一周食谱(1).xls"); + + + saveDiteSuggest("F:\\儿童营养报告\\秦皇岛儿童膳食营养报告\\每类食物不爱吃的指导建议.xls"); + saveDiteDoctorSuggest("F:\\儿童营养报告\\秦皇岛儿童膳食营养报告\\医生建议内容.xls"); + } diff --git a/platform-common/src/main/java/com/lyms/platform/common/Test.java b/platform-common/src/main/java/com/lyms/platform/common/Test.java index 56d734f..d37e4e6 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/Test.java +++ b/platform-common/src/main/java/com/lyms/platform/common/Test.java @@ -1,21 +1,10 @@ package com.lyms.platform.common; -import com.lyms.platform.common.utils.MessageUtil; -import org.apache.commons.httpclient.HttpClient; -import org.apache.commons.httpclient.methods.ByteArrayRequestEntity; -import org.apache.commons.httpclient.methods.PostMethod; + public class Test { public static void main(String[] args) { - Double kcal = 1080D; - int k = (int) (kcal / 100) * 100; - System.out.print((double)k); -// Double d = Math.floor(k); -// Double md = d + 50; -// if (md > kcal) { -// System.out.print(d); -// } else { -// System.out.print(md); -// } -} + + } + } diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyDietSuggestModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyDietSuggestModel.java new file mode 100644 index 0000000..4171f77 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyDietSuggestModel.java @@ -0,0 +1,84 @@ +package com.lyms.platform.pojo; + +import com.lyms.platform.common.result.BaseModel; +import org.springframework.data.mongodb.core.mapping.Document; + +import java.util.List; + +/** + * 秦皇岛区域定制儿童膳食建议 + */ +@Document(collection = "lyms_baby_diet_suggest") +public class BabyDietSuggestModel extends BaseModel { + private String id; + + + //1 医生建议 2 食物不爱吃建议 + private Integer type; + + private String title; + private List suggests; + + //优先顺序 + private Integer level; + + private Integer monthAge; + + private List> doctorSuggests; + + public Integer getLevel() { + return level; + } + + public void setLevel(Integer level) { + this.level = level; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public List getSuggests() { + return suggests; + } + + public void setSuggests(List suggests) { + this.suggests = suggests; + } + + public Integer getMonthAge() { + return monthAge; + } + + public void setMonthAge(Integer monthAge) { + this.monthAge = monthAge; + } + + public List> getDoctorSuggests() { + return doctorSuggests; + } + + public void setDoctorSuggests(List> doctorSuggests) { + this.doctorSuggests = doctorSuggests; + } +} diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyNutritionModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyNutritionModel.java index 49c6e1c..121f6bd 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyNutritionModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyNutritionModel.java @@ -126,6 +126,18 @@ public class BabyNutritionModel { */ private String interpretDoctorId; + //秦皇岛膳食定制 + private List> diets; + + + public List> getDiets() { + return diets; + } + + public void setDiets(List> diets) { + this.diets = diets; + } + public String getInterpretDoctorId() { return interpretDoctorId; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java index 22e4faa..24e4f96 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java @@ -1381,7 +1381,6 @@ public class BabyNutritionFacade { } } else if (kaupEvaluate.equals("正常") && month >= 12 && month <= 36) { List babyDietReportList = mongoTemplate.find(Query.query(Criteria.where("startMonthAge").lte(month).and("endMonthAge").gte(month)), BabyDietReportModel.class); - System.out.println(babyDietReportList.size()); for (BabyDietReportModel babyDiet : babyDietReportList) { // 1代表正常 if (null != babyDiet.getShape() && babyDiet.getShape() == 1) { @@ -1504,6 +1503,59 @@ public class BabyNutritionFacade { } } + //6-12月龄膳食建议 其中可能包括医生建议和不爱吃某类食物建议 + if (month > 5 && month <= 12) { + List> list = model.getDiets(); + Collections.sort(list, new Comparator>() { + @Override + public int compare(Map o1, Map o2) { + return o1.get("id") - o2.get("id"); + } + }); + + int items = 0; + switch (month) { + case 6: items = 8;break; + case 7: items = 15;break; + case 8: items = 20;break; + case 9: items = 20;break; + case 10: items = 23;break; + case 11: items = 23;break; + case 12: items = 24;break; + } + + List> dss = new ArrayList<>(); + + Integer noLovelType = -1; + + //获取对应月龄的医生建议 + BabyDietSuggestModel dietDoctorSuggests = mongoTemplate.findOne(Query.query(Criteria.where("type").is(1).and("monthAge").is(month)), BabyDietSuggestModel.class); + List> doctorSuggests = dietDoctorSuggests.getDoctorSuggests(); + List> tempList = list.subList(0, items); + for (int i = 0; i < tempList.size() ; i++) + { + //没有添加对应月龄的食物 add 0 为未添加 1为添加 + if (tempList.get(i).get("add") != null && tempList.get(i).get("add") != 1) + { + dss.add(doctorSuggests.get(i)); + } + else + { //对应月龄添加了食物,才再判断是否爱吃 love 0为不爱吃 1为爱吃 + if(tempList.get(i).get("love") != null && tempList.get(i).get("love") != 1) + { + noLovelType = tempList.get(i).get("type") > noLovelType ? tempList.get(i).get("type") : noLovelType; + } + } + } + + data.put("suggests", null); + if (noLovelType != -1) + { + BabyDietSuggestModel dietSuggestModel1 = mongoTemplate.findOne(Query.query(Criteria.where("type").is(2).and("level").is(noLovelType)), BabyDietSuggestModel.class); + data.put("suggests", dietSuggestModel1.getSuggests()); + } + data.put("doctorSuggests", dss); + } healthChargeFacade.addHealthCharge(hospitalId, 5, baby.getId(), null, null, userId, doctorId, true, model.getId()); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyNutritionRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyNutritionRequest.java index a489e6e..01c650f 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyNutritionRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyNutritionRequest.java @@ -133,6 +133,17 @@ public class BabyNutritionRequest implements IBasicRequestConvert> diets; + + public List> getDiets() { + return diets; + } + + public void setDiets(List> diets) { + this.diets = diets; + } + public String getInterpretDoctorId() { return interpretDoctorId; } @@ -188,6 +199,8 @@ public class BabyNutritionRequest implements IBasicRequestConvert