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 2b7d2c7..25270f2 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 @@ -1300,18 +1300,33 @@ public class BasicConfigServiceTest { private static Map map = new HashMap<>(); private static Map map1 = new HashMap<>(); private static Map map2 = new HashMap<>(); + //分类名字和id的映射 + private static Map map3 = new HashMap<>(); static { map.put("血压值正常无波动","00"); map.put("血压波动异常血压值正常","01"); map.put("血压值异常血压值异常但基本平稳","10"); map.put("血压值异常波动异常","11"); + map.put("饮食原则血压正常","0"); + map.put("饮食原则血压异常","1"); + map.put("膳食指导只和孕周有关","2"); + map.put("食谱推荐","3"); + map3.put("饮食原则血压正常",PloodPressureGuideCategoryTypeEnum.YINSHIYUANZE.getId()); + map3.put("饮食原则血压异常",PloodPressureGuideCategoryTypeEnum.YINSHIYUANZE.getId()); + map3.put("膳食指导只和孕周有关", PloodPressureGuideCategoryTypeEnum.SHANSHIZHIDAO.getId()); + map3.put("食谱推荐", PloodPressureGuideCategoryTypeEnum.SHIPUTUIJIAN.getId()); + + //sheet页对应的标签 map1.put("1","合理运动"); map1.put("2","运动指导"); map1.put("3","心理指导"); map1.put("4","自我监测"); map1.put("5","用药指导"); + map1.put("6","饮食原则"); + map1.put("7","膳食构成"); + map1.put("8","食谱推荐"); map2.put("1", PloodPressureGuideCategoryTypeEnum.HELIYUNDONG.getId()); @@ -1319,6 +1334,9 @@ public class BasicConfigServiceTest { map2.put("3",PloodPressureGuideCategoryTypeEnum.XINLIZHIDAO.getId()); map2.put("4",PloodPressureGuideCategoryTypeEnum.ZIWOJIANCE.getId()); map2.put("5",PloodPressureGuideCategoryTypeEnum.YONGYAOZHIDAO.getId()); + map2.put("6", PloodPressureGuideCategoryTypeEnum.YINSHIYUANZE.getId()); + map2.put("7", PloodPressureGuideCategoryTypeEnum.SHANSHIZHIDAO.getId()); + map2.put("8", PloodPressureGuideCategoryTypeEnum.SHIPUTUIJIAN.getId()); } private static class KeyWord extends BaseModel{ @@ -1349,7 +1367,13 @@ public class BasicConfigServiceTest { //早产儿体重百分位数值表(男、女) - public static void zcet(String fileName) + + /** + * + * @param fileName + * @param falg 读取的是否是合理运动类型 + */ + public static void zcet(String fileName,boolean falg) { File file = new File(fileName); Workbook wb = null; @@ -1365,6 +1389,9 @@ public class BasicConfigServiceTest { Sheet s1 = wb.getSheet(j1); String type =map.get(s1.getName()); System.out.println("sheet name -->>> type :"+map.get(s1.getName())); + if(null==type){ + return; + } int rows1 = s1.getRows(); if(rows1 > 0){ //遍历每行 @@ -1374,9 +1401,6 @@ public class BasicConfigServiceTest { //遍历每行中的每列 for (int j = 1 ; j < cells.length ; j ++) { - PloodPressureGuideModel bpModel=new PloodPressureGuideModel(); - bpModel.setYn(YnEnums.YES.getId()); - bpModel.setType(type); String week = cells[0].getContents().trim(); String content = cells[j].getContents().trim(); if (!com.lyms.platform.common.utils.StringUtils.isNotEmpty(content)) @@ -1385,7 +1409,16 @@ public class BasicConfigServiceTest { } if(i>0){ - KeyWord keyWord = new KeyWord(week+"_"+j+"_"+type,content); + KeyWord keyWord = null; + if(falg){ + keyWord= new KeyWord(week+"_"+j+"_"+type,content); + }else { + if("3".equals(type)){ + keyWord= new KeyWord(week+"_"+map3.get(s1.getName())+"_"+type+j,content); + }else { + keyWord= new KeyWord(week+"_"+map3.get(s1.getName())+"_"+type,content); + } + } // System.out.println("keyWord :" +keyWord); convertToBean(keyWord,mongoTemplate); @@ -1428,7 +1461,8 @@ public class BasicConfigServiceTest { // weightFood("F:\\体重与营养管理\\体重与营养管理第三版(北方)改标红“、冰淇淋”-晓萌.xls"); // bloodSugar("F:\\血糖报告\\血糖报告\\血糖报告基础数据格式(2).xls"); - zcet("D:\\doc\\高血压报告20180813模板.xls"); +// zcet("D:\\doc\\高血压报告20180813模板.xls"); + zcet("D:\\doc\\1.xls",false); /* ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext_biz_patient1.xml"); diff --git a/platform-common/src/main/java/com/lyms/platform/common/enums/PloodPressureGuideCategoryTypeEnum.java b/platform-common/src/main/java/com/lyms/platform/common/enums/PloodPressureGuideCategoryTypeEnum.java index e26297e..df76456 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/enums/PloodPressureGuideCategoryTypeEnum.java +++ b/platform-common/src/main/java/com/lyms/platform/common/enums/PloodPressureGuideCategoryTypeEnum.java @@ -25,7 +25,13 @@ public enum PloodPressureGuideCategoryTypeEnum { // 自我监测 ZIWOJIANCE(4), //用药指导 - YONGYAOZHIDAO(5); + YONGYAOZHIDAO(5), + //饮食原则 + YINSHIYUANZE(6), + //膳食指导 + SHANSHIZHIDAO(7), + //食谱推荐 + SHIPUTUIJIAN(8); private PloodPressureGuideCategoryTypeEnum(Integer id) { this.id = id; diff --git a/platform-dal/src/main/java/com/lyms/platform/query/PloodPressureGuideQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/PloodPressureGuideQuery.java index 98ebce8..364aa9b 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/PloodPressureGuideQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/PloodPressureGuideQuery.java @@ -6,6 +6,8 @@ import com.lyms.platform.common.dao.operator.MongoCondition; import com.lyms.platform.common.dao.operator.MongoOper; import com.lyms.platform.common.dao.operator.MongoQuery; +import java.util.List; + /** * Created by Administrator on 2017/1/13 0013. */ @@ -13,9 +15,30 @@ public class PloodPressureGuideQuery extends BaseQuery implements IConvertToNati private String pid; private Integer yn; private String type; + private List typeList; + private Integer week; private Integer categoryType; + public String getType() { + return type; + } + + public List getTypeList() { + return typeList; + } + + public void setTypeList(List typeList) { + this.typeList = typeList; + } + + public Integer getWeek() { + return week; + } + + public Integer getCategoryType() { + return categoryType; + } public void setCategoryType(Integer categoryType) { this.categoryType = categoryType; @@ -40,6 +63,9 @@ public class PloodPressureGuideQuery extends BaseQuery implements IConvertToNati if(null!=type){ condition=condition.and("type", type, MongoOper.IS); } + if(null!=typeList){ + condition=condition.and("type", typeList, MongoOper.IN); + } if(null!=week){ condition=condition.and("week", week, MongoOper.IS); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BpReportFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BpReportFacade.java index c2fd6c6..ef28de4 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BpReportFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BpReportFacade.java @@ -50,9 +50,10 @@ public class BpReportFacade { /** * 获取未读的消息信息 + * * @return */ - public BaseResponse checkUnReadReport(String pid){ + public BaseResponse checkUnReadReport(String pid) { BpReportQuery reportQuery = new BpReportQuery(); reportQuery.setYn(YnEnums.YES.getId()); reportQuery.setPid(pid); @@ -60,8 +61,8 @@ public class BpReportFacade { List DATA = bpReportService.queryBpReport(reportQuery); //查询最近一个生成的没看的记录 Map map = new HashMap<>(); - if(CollectionUtils.isNotEmpty(DATA)){ - BpReportModel bpReport= DATA.get(DATA.size() - 1); + if (CollectionUtils.isNotEmpty(DATA)) { + BpReportModel bpReport = DATA.get(DATA.size() - 1); map.put("id", bpReport.getId()); map.put("title", bpReport.getTitle()); map.put("create", DateUtil.getyyyy_MM_dd(bpReport.getCreated())); @@ -97,6 +98,53 @@ public class BpReportFacade { return new BaseListResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(data); } + //查询食谱推荐 + private void querydiet(Map data) { + PloodPressureGuideQuery pressureGuideQuery = new PloodPressureGuideQuery(); + pressureGuideQuery.setYn(YnEnums.YES.getId()); + pressureGuideQuery.setCategoryType(8); + List guideModelList = pressureGuideService.queryPloodPressureGuides(pressureGuideQuery); + Map dietModelData = new HashMap<>(); + if (CollectionUtils.isNotEmpty(guideModelList)) { + for (PloodPressureGuideModel model : guideModelList) { + switch (model.getType()) { + case "31": + dietModelData.put("breakfast", model.getContent()); + break; + case "32": + dietModelData.put("lunch", model.getContent()); + break; + case "33": + dietModelData.put("dinner", model.getContent()); + break; + case "34": + dietModelData.put("dinnerAdd", model.getContent()); + break; + case "35": + dietModelData.put("fullday", model.getContent()); + break; + case "36": + dietModelData.put("suggests", model.getContent()); + break; + } + } + } +// 'categoryType':8 + /* private String breakfast;//早餐 + private String breakfastAdd;//上午加餐 + private String lunch;//午餐 + private String lunchAdd;//下午加餐 + private String dinner;//晚餐 + private String dinnerAdd;//晚加餐*/ +// Map dietModelData = new HashMap<>(); + /* dietModelData.put("breakfast",dietModel.getBreakfast()); + dietModelData.put("lunch",dietModel.getLunch()); + dietModelData.put("dinner",dietModel.getDinner()); + dietModelData.put("dinnerAdd",dietModel.getDinnerAdd()); + dietModelData.put("suggests", dietModel.getSuggests());*/ + data.put("dietModelDataData", dietModelData); + } + /** * 根据reportid查看某次报告的详细数据 * @@ -106,18 +154,34 @@ public class BpReportFacade { * @return */ public BaseResponse lookReportDetailById(String reportId, String week, String type) { - + int week1 = NumberUtils.toInt(week, 0); PloodPressureGuideQuery pressureGuideQuery = new PloodPressureGuideQuery(); pressureGuideQuery.setYn(YnEnums.YES.getId()); pressureGuideQuery.setType(type); - pressureGuideQuery.setWeek(NumberUtils.toInt(week, 0)); + pressureGuideQuery.setWeek(week1); BpReportModel bpReport = bpReportService.findById(reportId); List guideModelList = pressureGuideService.queryPloodPressureGuides(pressureGuideQuery); + //膳食构成只按孕周 + pressureGuideQuery.setType(null); + pressureGuideQuery.setCategoryType(7); + + List guideModelList1 = pressureGuideService.queryPloodPressureGuides(pressureGuideQuery); + + + //饮食原则需要按孕周和检查结果来 + pressureGuideQuery.setType("00".equals(type)?"0":"1"); + pressureGuideQuery.setCategoryType(6); + + List guideModelList2 = pressureGuideService.queryPloodPressureGuides(pressureGuideQuery); Map data = new HashMap(); if (null != bpReport) { + + pressureGuideQuery.setYn(YnEnums.YES.getId()); + pressureGuideQuery.setType(null); + //修改为已读状态 bpReport.setStatus(1); @@ -152,6 +216,13 @@ public class BpReportFacade { data.put("guide", bpReport.getGuide()); data.put("guideData", convertToResponse(guideModelList)); + //膳食构成 + data.put("dietaryPattern", convertToResponse(guideModelList1)); + //饮食原则 + data.put("DietaryPrinciples", convertToResponse(guideModelList2)); + + //添加食谱推荐部分 + querydiet(data); } @@ -166,6 +237,7 @@ public class BpReportFacade { map.put("categoryType", guideModel.getCategoryType()); map.put("content", guideModel.getContent()); map.put("order", guideModel.getOrder()); + map.put("type", guideModel.getType()); list.add(map); } return list;