Commit c455d252f66f5592d71a2e4090fc52a16d598760
1 parent
a162c37112
Exists in
master
and in
6 other branches
儿童膳食
Showing 5 changed files with 581 additions and 2 deletions
- platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java
- platform-dal/src/main/java/com/lyms/platform/pojo/BabyQhdfyDietReportModel.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyNutritionController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientSyncMysqlFacade.java
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