Commit c455d252f66f5592d71a2e4090fc52a16d598760

Authored by liquanyu
1 parent a162c37112

儿童膳食

Showing 5 changed files with 581 additions and 2 deletions

platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java View file @ c455d25
... ... @@ -6667,6 +6667,68 @@
6667 6667 }
6668 6668 }
6669 6669  
  6670 +
  6671 +
  6672 + public static void saveQhdDist(String fileName) {
  6673 + ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext_biz_patient1.xml");
  6674 + MongoTemplate mongoTemplate
  6675 + = (MongoTemplate) applicationContext.getBean("mongoTemplate");
  6676 + mongoTemplate.getDb().authenticate("platform", "platform123".toCharArray());
  6677 + File file = new File(fileName);
  6678 + Workbook wb = null;
  6679 + try {
  6680 + wb = Workbook.getWorkbook(file);
  6681 + Sheet s = wb.getSheet(0);
  6682 + System.out.println(s.getName() + " : ");
  6683 + int rows = s.getRows();
  6684 + if (rows > 0) {
  6685 + //遍历每行
  6686 + for (int i = 1; i < rows; i++) {
  6687 + System.out.println("rows=" + i);
  6688 + BabyQhdfyDietReportModel model = new BabyQhdfyDietReportModel();
  6689 + Cell[] cells = s.getRow(i);
  6690 + if (cells.length > 0) {
  6691 + for (int j = 0; j < cells.length; j++) {
  6692 + String str = cells[j].getContents() == null ? null : cells[j].getContents().trim();
  6693 + switch (j) {
  6694 + case 0:
  6695 + model.setKcal(StringUtils.isNotEmpty(str) ? Integer.parseInt(str) : null);
  6696 + continue;
  6697 + case 1:
  6698 + model.setStartMonthAge(Integer.parseInt(str));
  6699 + continue;
  6700 + case 2:
  6701 + model.setEndMonthAge(Integer.parseInt(str));
  6702 + continue;
  6703 + case 3:
  6704 + List<String> datas = new ArrayList<>();
  6705 + List<String> list2 = Arrays.asList(str.split("\n"));
  6706 + for (String key : list2)
  6707 + {
  6708 + if (StringUtils.isNotEmpty(key))
  6709 + {
  6710 + datas.add(key);
  6711 + }
  6712 + }
  6713 + model.setContents(datas);
  6714 + continue;
  6715 + case 4:
  6716 + model.setShape(StringUtils.isNotEmpty(str) ? Integer.parseInt(str) : null);
  6717 + continue;
  6718 + case 5:
  6719 + model.setType(Integer.parseInt(str));
  6720 + continue;
  6721 + }
  6722 + }
  6723 + }
  6724 + mongoTemplate.save(model);
  6725 + }
  6726 + }
  6727 + } catch (Exception e) {
  6728 + e.printStackTrace();
  6729 + }
  6730 + }
  6731 +
6670 6732 public static void main(String[] args) {
6671 6733 // getData();
6672 6734 //weightWeek("F:\\体重与营养管理\\体重与营养管理第三版(北方)改标红“、冰淇淋”-晓萌.xls");
... ... @@ -6716,7 +6778,7 @@
6716 6778 //saveMicroelements("E:\\dev\\微量元素指导报告模板.xls");
6717 6779 //saveBabyMicroelements("F:\\技术文档\\儿童微量元素\\儿童微量元素指导报告模板.xls");
6718 6780 //saveBabyBone("F:\\技术文档\\骨密度\\儿童骨密度报告模板内容表.xls");
6719   - savePragnantBone("F:\\技术文档\\骨密度\\孕期骨密度报告模板内容表.xls");
  6781 + saveQhdDist("F:\\儿童营养报告\\秦皇岛市妇幼新版选择儿童膳食报告\\秦皇岛市妇幼儿童膳食报告one.xls");
6720 6782 }
6721 6783  
6722 6784  
platform-dal/src/main/java/com/lyms/platform/pojo/BabyQhdfyDietReportModel.java View file @ c455d25
  1 +package com.lyms.platform.pojo;
  2 +
  3 +import com.lyms.platform.common.result.BaseModel;
  4 +import org.springframework.data.mongodb.core.mapping.Document;
  5 +
  6 +import java.util.List;
  7 +
  8 +@Document(collection = "lyms_qhdfy_baby_diet_report")
  9 +public class BabyQhdfyDietReportModel extends BaseModel {
  10 + private String id;
  11 +
  12 + //热量值
  13 + private Integer kcal;
  14 +
  15 + private Integer startMonthAge;
  16 + private Integer endMonthAge;
  17 +
  18 + //内容
  19 + private List<String> contents;
  20 +
  21 + //体型 0 消瘦 1.正常 2.超重
  22 + private Integer shape;
  23 +
  24 + // 1推荐食谱 2 一日喂养参考
  25 + private Integer type;
  26 +
  27 + public String getId() {
  28 + return id;
  29 + }
  30 +
  31 + public void setId(String id) {
  32 + this.id = id;
  33 + }
  34 +
  35 + public Integer getStartMonthAge() {
  36 + return startMonthAge;
  37 + }
  38 +
  39 + public void setStartMonthAge(Integer startMonthAge) {
  40 + this.startMonthAge = startMonthAge;
  41 + }
  42 +
  43 + public Integer getEndMonthAge() {
  44 + return endMonthAge;
  45 + }
  46 +
  47 + public void setEndMonthAge(Integer endMonthAge) {
  48 + this.endMonthAge = endMonthAge;
  49 + }
  50 +
  51 + public Integer getKcal() {
  52 + return kcal;
  53 + }
  54 +
  55 + public void setKcal(Integer kcal) {
  56 + this.kcal = kcal;
  57 + }
  58 +
  59 + public List<String> getContents() {
  60 + return contents;
  61 + }
  62 +
  63 + public void setContents(List<String> contents) {
  64 + this.contents = contents;
  65 + }
  66 +
  67 + public Integer getShape() {
  68 + return shape;
  69 + }
  70 +
  71 + public void setShape(Integer shape) {
  72 + this.shape = shape;
  73 + }
  74 +
  75 + public Integer getType() {
  76 + return type;
  77 + }
  78 +
  79 + public void setType(Integer type) {
  80 + this.type = type;
  81 + }
  82 +}
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyNutritionController.java View file @ c455d25
... ... @@ -117,6 +117,8 @@
117 117 }
118 118  
119 119  
  120 +
  121 +
120 122 /**
121 123 * 儿童营养报告
122 124 *
123 125  
... ... @@ -138,8 +140,36 @@
138 140 @ResponseBody
139 141 @TokenRequired
140 142 public BaseObjectResponse queryBabyDietReport(@PathVariable("id") String id, HttpServletRequest request, @RequestParam("doctorId")String doctorId
  143 +
141 144 ) {
142 145 return babyNutritionFacade.queryBabyDietReport(id, getUserId(request), doctorId);
  146 + }
  147 +
  148 +
  149 + /**
  150 + * 秦皇岛市妇幼定制
  151 + * @param id
  152 + * @param request
  153 + * @param doctorId
  154 + * @return
  155 + */
  156 + @RequestMapping(value = "/queryQhfyBabyDietReport/{id}", method = RequestMethod.GET)
  157 + @ResponseBody
  158 + @TokenRequired
  159 + public BaseObjectResponse queryQhfyBabyDietReport(@PathVariable("id") String id, HttpServletRequest request, @RequestParam("doctorId")String doctorId
  160 + , @RequestParam(required = false)String oid,@RequestParam(required = false)String rid
  161 + ) {
  162 + return babyNutritionFacade.queryQhfyBabyDietReport(id, getUserId(request), doctorId, oid, rid);
  163 + }
  164 +
  165 +
  166 +
  167 + @RequestMapping(value = "/queryQhdDeitSelect", method = RequestMethod.GET)
  168 + @ResponseBody
  169 + @TokenRequired
  170 + public BaseObjectResponse queryQhdDeitSelect(@RequestParam(required = true) String id, HttpServletRequest request
  171 + ) {
  172 + return babyNutritionFacade.queryQhdDeitSelect(id, getUserId(request));
143 173 }
144 174  
145 175 /**
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java View file @ c455d25
... ... @@ -1609,6 +1609,7 @@
1609 1609 }
1610 1610  
1611 1611  
  1612 +
1612 1613 /**
1613 1614 * 3-5岁热量计算
1614 1615 * <p>
... ... @@ -1766,6 +1767,411 @@
1766 1767 }
1767 1768 BaseObjectResponse objectResponse = new BaseObjectResponse();
1768 1769 objectResponse.setData(datas);
  1770 + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS);
  1771 + objectResponse.setErrormsg("成功");
  1772 + return objectResponse;
  1773 + }
  1774 +
  1775 +
  1776 +
  1777 + /**
  1778 + * 秦皇岛市妇幼精简版儿童膳食报告
  1779 + */
  1780 + public BaseObjectResponse queryQhfyBabyDietReport(String id, Integer userId, String doctorId,String oid,String rid
  1781 + ) {
  1782 + BaseObjectResponse objectResponse = new BaseObjectResponse();
  1783 + Map data = new HashMap();
  1784 +
  1785 + BabyNutritionQuery babyQuery = new BabyNutritionQuery();
  1786 + String hospitalId = autoMatchFacade.getHospitalId(userId);
  1787 + babyQuery.setHospitalId(hospitalId);
  1788 + babyQuery.setId(id);
  1789 +
  1790 + List<BabyNutritionModel> models = babyNutritionService.queryBabyNutritions(babyQuery);
  1791 + if (CollectionUtils.isNotEmpty(models)) {
  1792 + BabyNutritionModel model = models.get(0);
  1793 + BabyModel baby = babyBookbuildingService.queryBabyBuildById(model.getBabyId());
  1794 +
  1795 + Map map = new HashMap();
  1796 + map.put("id", model.getId());
  1797 + map.put("babyId", model.getBabyId());
  1798 + map.put("babyName", baby.getName());
  1799 + map.put("babySex", SexEnum.getTextById(baby.getSex()));
  1800 + map.put("monthAge", StringUtils.emptyDeal(DateUtil.getBabyMonthAge(baby.getBirth(), new Date())));
  1801 + map.put("motherName", baby.getMname());
  1802 + map.put("phone", baby.getMphone());
  1803 + map.put("vcCardNo", baby.getVcCardNo());
  1804 + map.put("weight", model.getWeight());
  1805 + map.put("height", model.getHeight());
  1806 + Organization org = organizationService.getOrganization(Integer.parseInt(hospitalId));
  1807 + map.put("hospitalName", org.getName());
  1808 + map.put("reportMonthAge", StringUtils.emptyDeal(DateUtil.getBabyMonthAge(baby.getBirth(), model.getNutritiTime())));
  1809 + //体重评价
  1810 + String weightEvaluate = babyCheckFacade.getGrowthValue(DateUtil.getyyyy_MM_dd(baby.getBirth()), model.getWeight(), baby.getSex(), null, null, DateUtil.getyyyy_MM_dd(model.getNutritiTime()));
  1811 + map.put("weightEvaluate", weightEvaluate);
  1812 + //身高评价
  1813 + String heightEvaluate = babyCheckFacade.getGrowthValue1(DateUtil.getyyyy_MM_dd(baby.getBirth()), model.getHeight(), baby.getSex(), 1, null, DateUtil.getyyyy_MM_dd(model.getNutritiTime()));
  1814 + map.put("heightEvaluate", heightEvaluate);
  1815 + int month = DateUtil.getMonth(baby.getBirth(), model.getNutritiTime());
  1816 + if (month > 60) {
  1817 + return new BaseObjectResponse().setData(data).setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("月龄范围没有报告");
  1818 + }
  1819 + //获取bmi值
  1820 + String bmi = patientWeightService.getBmi(String.valueOf(model.getWeight()), String.valueOf(model.getHeight()));
  1821 + //获取是否 正常 消瘦 超重
  1822 + String kaupEvaluate = getBabyStatus(month, baby.getSex(), model.getHeight(), model.getWeight(), bmi);
  1823 + map.put("bmi", bmi);
  1824 + map.put("kaupEvaluate", kaupEvaluate);
  1825 + //获取热量值 体重在正常范围内的不计算热量值
  1826 + double kaul = getKcal(month, model.getWeight(), model.getHeight(), baby.getSex(), kaupEvaluate);
  1827 +
  1828 +
  1829 + List<BabySSReportModel> ss = mongoTemplate.find(Query.query(Criteria.where("startMonthAge").lte(month).and("endMonthAge").gte(month)),
  1830 + BabySSReportModel.class);
  1831 + if (CollectionUtils.isNotEmpty(ss))
  1832 + {
  1833 + BabySSReportModel ssReportModel = ss.get(0);
  1834 +
  1835 + //进食行为建议
  1836 + data.put("feedSuggest", ssReportModel.getSuggests());
  1837 + //喂养常见问题及处理
  1838 + data.put("feedHandle", ssReportModel.getHandles());
  1839 + }
  1840 +
  1841 +
  1842 + BabyQhdfyDietReportModel oneDiet = null;
  1843 + BabyQhdfyDietReportModel recDiet = null;
  1844 + if (StringUtils.isNotEmpty(oid) && StringUtils.isNotEmpty(rid) )
  1845 + {
  1846 + oneDiet = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(oid)), BabyQhdfyDietReportModel.class);
  1847 + recDiet = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(rid)), BabyQhdfyDietReportModel.class);
  1848 + }
  1849 +
  1850 + double kauls = getBasicKaul(month, model.getWeight(), model.getHeight(), baby.getSex());
  1851 + if (month >= 0 && month <= 5) {
  1852 + List<BabyDietReportModel> babyDietReport = mongoTemplate.find(Query.query(Criteria.where("monthAge").is(month).and("feedingPattern").is(Integer.valueOf(model.getFeedType()))), BabyDietReportModel.class);
  1853 +
  1854 + for (BabyDietReportModel babyDiet : babyDietReport) {
  1855 + if (null != babyDiet.getShape()) {
  1856 + if (kaupEvaluate.equals("正常") && babyDiet.getShape() == 1) {
  1857 + data.put("feedingGuide", babyDiet.getFeedingGuide());
  1858 + } else if (kaupEvaluate.equals("消瘦") && babyDiet.getShape() == 0) {
  1859 + data.put("feedingGuide", babyDiet.getFeedingGuide());
  1860 + } else if (kaupEvaluate.equals("超重") && babyDiet.getShape() == 2) {
  1861 + data.put("feedingGuide", babyDiet.getFeedingGuide());
  1862 + }
  1863 + }
  1864 + }
  1865 + } else if (kaupEvaluate.equals("正常") && month >= 6 && month <= 11) {
  1866 + List<BabyDietReportModel> babyDietReportList = mongoTemplate.find(Query.query(Criteria.where("monthAge").is(month)), BabyDietReportModel.class);
  1867 + for (BabyDietReportModel babyDiet : babyDietReportList) {
  1868 +
  1869 + if (null != babyDiet.getShape() && month == 6 && babyDiet.getShape() == 1) {
  1870 + if (StringUtils.isNotEmpty(model.getFeedType())) {
  1871 + if (Integer.valueOf(model.getFeedType()) == month) {
  1872 + data.put("feedingGuide", babyDiet.getFeedingGuide());
  1873 + }
  1874 + } else {
  1875 + //直接返回空
  1876 + data.put("feedingGuide", "");
  1877 + }
  1878 + } else if (null != babyDiet.getShape() && babyDiet.getShape() == 1) {
  1879 + data.put("feedingGuide", babyDiet.getFeedingGuide());
  1880 + }
  1881 + if (null != babyDiet.getWeightType() && babyDiet.getWeightType() == 0) {
  1882 + //膳食结构
  1883 + data.put("dietStructure", babyDiet.getDietStructure());
  1884 + //一日喂养参考
  1885 + data.put("oneDayRecipes", oneDiet == null ? babyDiet.getOneDayRecipes() : oneDiet.getContents());
  1886 +
  1887 + //推荐食谱
  1888 + data.put("recommendRecipes", recDiet == null ? babyDiet.getRecommendRecipes() : recDiet.getContents());
  1889 + }
  1890 + }
  1891 + } else if (kaupEvaluate.equals("正常") && month >= 12 && month <= 36) {
  1892 + List<BabyDietReportModel> babyDietReportList = mongoTemplate.find(Query.query(Criteria.where("startMonthAge").lte(month).and("endMonthAge").gte(month)), BabyDietReportModel.class);
  1893 + for (BabyDietReportModel babyDiet : babyDietReportList) {
  1894 + // 1代表正常
  1895 + if (null != babyDiet.getShape() && babyDiet.getShape() == 1) {
  1896 + //膳食结构
  1897 + data.put("dietStructure", babyDiet.getDietStructure());
  1898 + //一日喂养参考
  1899 + data.put("oneDayRecipes", oneDiet == null ? babyDiet.getOneDayRecipes() : oneDiet.getContents());
  1900 +
  1901 + //推荐食谱
  1902 + data.put("recommendRecipes", recDiet == null ? babyDiet.getRecommendRecipes() : recDiet.getContents());
  1903 + }
  1904 + if (CollectionUtils.isNotEmpty(babyDiet.getFeedingGuide())) {
  1905 + //喂养指南
  1906 + data.put("feedingGuide", babyDiet.getFeedingGuide());
  1907 + }
  1908 + }
  1909 + }
  1910 +
  1911 + map.put("kaul", String.format("%.2f", kauls) + "kacl");
  1912 + map.put("mother", month);
  1913 + data.put("userInfo", map);
  1914 + if ((kaupEvaluate.equals("消瘦") || kaupEvaluate.equals("超重")) && month >= 6 && month <= 11) {
  1915 + List<BabyDietReportModel> babyDietReport = mongoTemplate.find(Query.query(Criteria.where("monthAge").is(month)), BabyDietReportModel.class);
  1916 + for (BabyDietReportModel babyDiet : babyDietReport) {
  1917 + if (month == 6) {
  1918 + if (StringUtils.isNotEmpty(model.getFeedType())) {
  1919 + if (babyDiet.getFeedingPattern() == Integer.valueOf(model.getFeedType())) {
  1920 + data.put("feedingGuide", babyDiet.getFeedingGuide());
  1921 + }
  1922 + }
  1923 + } else {
  1924 + if (null != babyDiet.getShape()) {
  1925 + if (CollectionUtils.isNotEmpty(babyDiet.getFeedingGuide()) && kaupEvaluate.equals("消瘦") && babyDiet.getShape() == 0) {
  1926 + data.put("feedingGuide", babyDiet.getFeedingGuide());
  1927 + } else if (CollectionUtils.isNotEmpty(babyDiet.getFeedingGuide()) && kaupEvaluate.equals("超重") && babyDiet.getShape() == 2) {
  1928 + data.put("feedingGuide", babyDiet.getFeedingGuide());
  1929 + }
  1930 + }
  1931 +
  1932 + }
  1933 + if (null != babyDiet.getKcal() && null != babyDiet.getWeightType()) {
  1934 + if (babyDiet.getWeightType() == 1 && babyDiet.getKcal() == kaul) {
  1935 + data.put("dietStructure", babyDiet.getDietStructure());
  1936 + //一日喂养参考
  1937 + data.put("oneDayRecipes", oneDiet == null ? babyDiet.getOneDayRecipes() : oneDiet.getContents());
  1938 +
  1939 + //推荐食谱
  1940 + data.put("recommendRecipes", recDiet == null ? babyDiet.getRecommendRecipes() : recDiet.getContents());
  1941 + }
  1942 + }
  1943 + }
  1944 + }
  1945 + if (month >= 12 && month <= 36) {
  1946 + if (kaupEvaluate.equals("消瘦")) {
  1947 + List<BabyDietReportModel> babyDietReportList = mongoTemplate.find(Query.query(Criteria.where("startMonthAge").lte(month).and("endMonthAge").gte(month)), BabyDietReportModel.class);
  1948 + for (BabyDietReportModel babyDiet : babyDietReportList) {
  1949 + if (null != babyDiet.getKcal() && null != babyDiet.getShape()) {
  1950 + if (babyDiet.getShape() == 0 && kaul == babyDiet.getKcal()) {
  1951 + data.put("dietStructure", babyDiet.getDietStructure());
  1952 + //一日喂养参考
  1953 + data.put("oneDayRecipes", oneDiet == null ? babyDiet.getOneDayRecipes() : oneDiet.getContents());
  1954 +
  1955 + //推荐食谱
  1956 + data.put("recommendRecipes", recDiet == null ? babyDiet.getRecommendRecipes() : recDiet.getContents());
  1957 + }
  1958 + }
  1959 + if (CollectionUtils.isNotEmpty(babyDiet.getFeedingGuide())) {
  1960 + data.put("feedingGuide", babyDiet.getFeedingGuide());
  1961 + }
  1962 + }
  1963 +
  1964 + } else if (kaupEvaluate.equals("超重")) {
  1965 + List<BabyDietReportModel> babyDietReportList = mongoTemplate.find(Query.query(Criteria.where("startMonthAge").lte(month).and("endMonthAge").gte(month)), BabyDietReportModel.class);
  1966 + for (BabyDietReportModel babyDiet : babyDietReportList) {
  1967 + if (null != babyDiet.getKcal() && null != babyDiet.getShape()) {
  1968 + if (babyDiet.getShape() == 2 && kaul == babyDiet.getKcal()) {
  1969 + data.put("dietStructure", babyDiet.getDietStructure());
  1970 + //一日喂养参考
  1971 + data.put("oneDayRecipes", oneDiet == null ? babyDiet.getOneDayRecipes() : oneDiet.getContents());
  1972 +
  1973 + //推荐食谱
  1974 + data.put("recommendRecipes", recDiet == null ? babyDiet.getRecommendRecipes() : recDiet.getContents());
  1975 + }
  1976 + }
  1977 + if (CollectionUtils.isNotEmpty(babyDiet.getFeedingGuide())) {
  1978 + data.put("feedingGuide", babyDiet.getFeedingGuide());
  1979 + }
  1980 + }
  1981 + }
  1982 + }
  1983 +
  1984 + if (month > 36 && month <= 60) {
  1985 +
  1986 + int kcal = getThreeAfterKcal(model.getWeight());
  1987 +
  1988 + map.put("kaul", String.format("%.2f", 44 * model.getWeight() / 0.6) + "kacl");
  1989 +
  1990 + int shape = kaupEvaluate.equals("超重") ? 2 : (kaupEvaluate.equals("消瘦") ? 0 : 1);
  1991 + List<BabyDietReportModel> babyDietReportList1 = mongoTemplate.find(Query.query(Criteria.where("shape").is(shape).and("type").is(1)), BabyDietReportModel.class);
  1992 +
  1993 + for (BabyDietReportModel babyDietReportModel : babyDietReportList1) {
  1994 + if (babyDietReportModel.getStartMonthAge() <= month && month <= babyDietReportModel.getEndMonthAge()) {
  1995 + data.put("feedingGuide", babyDietReportModel.getFeedingGuide());
  1996 + }
  1997 + }
  1998 +
  1999 +
  2000 + List<BabyDietReportModel> babyDietReportList = mongoTemplate.find(Query.query(Criteria.where("kcal").is(kcal).and("type").is(1)), BabyDietReportModel.class);
  2001 + for (BabyDietReportModel babyDietReportModel : babyDietReportList) {
  2002 + if (CollectionUtils.isNotEmpty(babyDietReportModel.getDietStructure())) {
  2003 + data.put("dietStructure", babyDietReportModel.getDietStructure());
  2004 + }
  2005 + if (CollectionUtils.isNotEmpty(babyDietReportModel.getBreakfast())) {
  2006 + data.put("breakfast", babyDietReportModel.getBreakfast());
  2007 + data.put("breakfastAdd", babyDietReportModel.getBreakfastAdd());
  2008 + data.put("lunch", babyDietReportModel.getLunch());
  2009 + data.put("lunchAdd", babyDietReportModel.getLunchAdd());
  2010 + data.put("dinner", babyDietReportModel.getDinner());
  2011 + data.put("dinnerAdd", babyDietReportModel.getDinnerAdd());
  2012 + }
  2013 + if (CollectionUtils.isNotEmpty(babyDietReportModel.getRecommendRecipes())) {
  2014 + data.put("recommendRecipes", babyDietReportModel.getRecommendRecipes());
  2015 + }
  2016 + }
  2017 + }
  2018 +
  2019 + //6-12月龄膳食建议 其中可能包括医生建议和不爱吃某类食物建议
  2020 + if (month > 5 && month <= 12 && CollectionUtils.isNotEmpty(model.getDiets())) {
  2021 + List<Map<String,Integer>> list = model.getDiets();
  2022 + Collections.sort(list, new Comparator<Map<String, Integer>>() {
  2023 + @Override
  2024 + public int compare(Map<String, Integer> o1, Map<String, Integer> o2) {
  2025 + return o1.get("id") - o2.get("id");
  2026 + }
  2027 + });
  2028 +
  2029 + int items = 0;
  2030 + switch (month) {
  2031 + case 6: items = 8;break;
  2032 + case 7: items = 15;break;
  2033 + case 8: items = 20;break;
  2034 + case 9: items = 20;break;
  2035 + case 10: items = 23;break;
  2036 + case 11: items = 23;break;
  2037 + case 12: items = 24;break;
  2038 + }
  2039 +
  2040 + List<List<String>> dss = new ArrayList<>();
  2041 +
  2042 + Integer noLovelType = 100;
  2043 +
  2044 + //获取对应月龄的医生建议
  2045 + BabyDietSuggestModel dietDoctorSuggests = mongoTemplate.findOne(Query.query(Criteria.where("type").is(1).and("monthAge").is(month)), BabyDietSuggestModel.class);
  2046 + List<List<String>> doctorSuggests = dietDoctorSuggests.getDoctorSuggests();
  2047 + List<Map<String,Integer>> tempList = list.subList(0, items);
  2048 + for (int i = 0; i < tempList.size() ; i++)
  2049 + {
  2050 + //没有添加对应月龄的食物 add 0 为未添加 1为添加
  2051 + if (tempList.get(i).get("add") != null && tempList.get(i).get("add") != 1)
  2052 + {
  2053 + dss.add(doctorSuggests.get(i));
  2054 + }
  2055 + else
  2056 + { //对应月龄添加了食物,才再判断是否爱吃 love 0为不爱吃 1为爱吃
  2057 + if(tempList.get(i).get("love") != null && tempList.get(i).get("love") != 1)
  2058 + {
  2059 + noLovelType = tempList.get(i).get("type") < noLovelType ? tempList.get(i).get("type") : noLovelType;
  2060 + }
  2061 + }
  2062 + }
  2063 +
  2064 + data.put("suggests", null);
  2065 + if (noLovelType != 100)
  2066 + {
  2067 + BabyDietSuggestModel dietSuggestModel1 = mongoTemplate.findOne(Query.query(Criteria.where("type").is(2).and("level").is(noLovelType)), BabyDietSuggestModel.class);
  2068 + data.put("suggests", dietSuggestModel1.getSuggests());
  2069 + }
  2070 + data.put("doctorSuggests", dss);
  2071 + }
  2072 +
  2073 + healthChargeFacade.addHealthCharge(hospitalId, 5, baby.getId(), null, null, userId, doctorId, true, model.getId());
  2074 + }
  2075 + objectResponse.setData(data);
  2076 + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS);
  2077 + objectResponse.setErrormsg("成功");
  2078 + return objectResponse;
  2079 + }
  2080 +
  2081 + public BaseObjectResponse queryQhdDeitSelect(String id, Integer userId) {
  2082 + BabyNutritionQuery babyQuery = new BabyNutritionQuery();
  2083 + String hospitalId = autoMatchFacade.getHospitalId(userId);
  2084 + babyQuery.setHospitalId(hospitalId);
  2085 + babyQuery.setId(id);
  2086 +
  2087 +
  2088 + Map data = new HashMap();
  2089 +
  2090 + List<BabyNutritionModel> models = babyNutritionService.queryBabyNutritions(babyQuery);
  2091 + if (CollectionUtils.isNotEmpty(models)) {
  2092 + BabyNutritionModel model = models.get(0);
  2093 + BabyModel baby = babyBookbuildingService.queryBabyBuildById(model.getBabyId());
  2094 +
  2095 + int month = DateUtil.getMonth(baby.getBirth(), model.getNutritiTime());
  2096 + if (month > 60) {
  2097 + return new BaseObjectResponse().setData(data).setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("月龄范围没有报告");
  2098 + }
  2099 + //获取bmi值
  2100 + String bmi = patientWeightService.getBmi(String.valueOf(model.getWeight()), String.valueOf(model.getHeight()));
  2101 + //获取是否 正常 消瘦 超重
  2102 + String kaupEvaluate = getBabyStatus(month, baby.getSex(), model.getHeight(), model.getWeight(), bmi);
  2103 +
  2104 + //获取热量值 体重在正常范围内的不计算热量值
  2105 + int kaul = (int)getKcal(month, model.getWeight(), model.getHeight(), baby.getSex(), kaupEvaluate);
  2106 +
  2107 +
  2108 + if (month >= 6 && month <= 11) {
  2109 +
  2110 + Query query = Query.query(Criteria.where("startMonthAge").lte(month).and("endMonthAge").gte(month).and("type").is(1));
  2111 + System.out.println(query.toString());
  2112 + List<BabyQhdfyDietReportModel> recommendRecipes =
  2113 + mongoTemplate.find(query, BabyQhdfyDietReportModel.class);
  2114 +
  2115 + //推荐食谱
  2116 + data.put("recommendRecipes",recommendRecipes);
  2117 +
  2118 + List<BabyQhdfyDietReportModel> oneDayRecipes = null;
  2119 + if (kaupEvaluate.equals("正常"))
  2120 + {
  2121 + oneDayRecipes =
  2122 + mongoTemplate.find(Query.query(Criteria.where("startMonthAge").lte(month).and("endMonthAge").gte(month).and("type").is(2).and("shape").is(1)), BabyQhdfyDietReportModel.class);
  2123 + }
  2124 + else
  2125 + {
  2126 + oneDayRecipes =
  2127 + mongoTemplate.find(Query.query(Criteria.where("startMonthAge").lte(month).and("endMonthAge").gte(month)
  2128 + .and("type").is(2).and("shape").is(20).and("kcal").is(kaul)), BabyQhdfyDietReportModel.class);
  2129 + }
  2130 + //一日喂养
  2131 + data.put("oneDayRecipes",oneDayRecipes);
  2132 + }
  2133 + else if(kaupEvaluate.equals("正常") && month >= 12 && month <= 36)
  2134 + {
  2135 + List<BabyQhdfyDietReportModel> recommendRecipes =
  2136 + mongoTemplate.find(Query.query(Criteria.where("startMonthAge").lte(month).and("endMonthAge").gte(month).and("type").is(1).and("shape").is(1)), BabyQhdfyDietReportModel.class);
  2137 +
  2138 + data.put("recommendRecipes",recommendRecipes);
  2139 +
  2140 + List<BabyQhdfyDietReportModel> oneDayRecipes =
  2141 + mongoTemplate.find(Query.query(Criteria.where("startMonthAge").lte(month).and("endMonthAge").gte(month).and("type").is(2).and("shape").is(1)), BabyQhdfyDietReportModel.class);
  2142 + data.put("oneDayRecipes",oneDayRecipes);
  2143 + }
  2144 + else if (kaupEvaluate.equals("消瘦") && month >= 12 && month <= 36)
  2145 + {
  2146 + List<BabyQhdfyDietReportModel> recommendRecipes =
  2147 + mongoTemplate.find(Query.query(Criteria.where("startMonthAge").lte(month)
  2148 + .and("endMonthAge").gte(month).and("type").is(1).and("shape").is(0).and("kcal").is(kaul)), BabyQhdfyDietReportModel.class);
  2149 +
  2150 + data.put("recommendRecipes",recommendRecipes);
  2151 + List<BabyQhdfyDietReportModel> oneDayRecipes =
  2152 + mongoTemplate.find(Query.query(Criteria.where("startMonthAge").lte(month)
  2153 + .and("endMonthAge").gte(month).and("type").is(2).and("shape").is(0).and("kcal").is(kaul)), BabyQhdfyDietReportModel.class);
  2154 +
  2155 + data.put("oneDayRecipes",oneDayRecipes);
  2156 + }
  2157 + else if (kaupEvaluate.equals("超重") && month >= 12 && month <= 36)
  2158 + {
  2159 + List<BabyQhdfyDietReportModel> recommendRecipes =
  2160 + mongoTemplate.find(Query.query(Criteria.where("startMonthAge").lte(month)
  2161 + .and("endMonthAge").gte(month).and("type").is(1).and("shape").is(2).and("kcal").is(kaul)), BabyQhdfyDietReportModel.class);
  2162 +
  2163 + data.put("recommendRecipes",recommendRecipes);
  2164 + List<BabyQhdfyDietReportModel> oneDayRecipes =
  2165 + mongoTemplate.find(Query.query(Criteria.where("startMonthAge").lte(month)
  2166 + .and("endMonthAge").gte(month).and("type").is(2).and("shape").is(2).and("kcal").is(kaul)), BabyQhdfyDietReportModel.class);
  2167 +
  2168 + data.put("oneDayRecipes",oneDayRecipes);
  2169 + }
  2170 +
  2171 +
  2172 + }
  2173 + BaseObjectResponse objectResponse = new BaseObjectResponse();
  2174 + objectResponse.setData(data);
1769 2175 objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS);
1770 2176 objectResponse.setErrormsg("成功");
1771 2177 return objectResponse;
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientSyncMysqlFacade.java View file @ c455d25
... ... @@ -648,7 +648,6 @@
648 648 BabyModelQuery babyBuildQuery = new BabyModelQuery();
649 649 babyBuildQuery.setYn(YnEnums.YES.getId());
650 650 babyBuildQuery.setHospitalId("2100001377");
651   -
652 651 if (start != null)
653 652 {
654 653 babyBuildQuery.setCreatedTimeStart(start);