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 8f57ccd..4c7511d 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 @@ -6422,19 +6422,16 @@ public class BasicConfigServiceTest { 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); - } +// 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; } diet.setDoctorSuggests(list); } @@ -6447,6 +6444,69 @@ public class BasicConfigServiceTest { } + + /** + * 微量元素 + * + * @param fileName + */ + public static void saveMicroelements(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); + MicroelementConfigModel model = new MicroelementConfigModel(); + + 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(); + switch (j) { + case 0: + model.setEleName(str); + continue; + case 1: + List list2 = Arrays.asList(str.split("\n")); + model.setEarlys(list2); + continue; + case 2: + List list1 = Arrays.asList(str.split("\n")); + model.setMiddles(list1); + continue; + case 3: + List list3 = Arrays.asList(str.split("\n")); + model.setLaters(list3); + continue; + case 4: + model.setStatus(Integer.parseInt(str)); + continue; + case 5: + model.setType(Integer.parseInt(str)); + continue; + } + } + } + mongoTemplate.save(model); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + public static void main(String[] args) { // getData(); //weightWeek("F:\\体重与营养管理\\体重与营养管理第三版(北方)改标红“、冰淇淋”-晓萌.xls"); @@ -6491,8 +6551,9 @@ public class BasicConfigServiceTest { // baby12to35ReportNomal("F:\\儿童营养报告\\秦皇岛儿童膳食营养报告\\秦皇岛定制12-35月龄正常体型一周食谱(1).xls"); - saveDiteSuggest("F:\\儿童营养报告\\秦皇岛儿童膳食营养报告\\每类食物不爱吃的指导建议.xls"); - saveDiteDoctorSuggest("F:\\儿童营养报告\\秦皇岛儿童膳食营养报告\\医生建议内容.xls"); + //saveDiteSuggest("F:\\儿童营养报告\\秦皇岛儿童膳食营养报告\\每类食物不爱吃的指导建议.xls"); + //saveDiteDoctorSuggest("F:\\儿童营养报告\\秦皇岛儿童膳食营养报告\\医生建议内容.xls"); + saveMicroelements("E:\\dev\\微量元素指导报告模板.xls"); } diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/MicroelementConfigModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/MicroelementConfigModel.java new file mode 100644 index 0000000..4e69536 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/MicroelementConfigModel.java @@ -0,0 +1,85 @@ +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_microelement_config") +public class MicroelementConfigModel extends BaseModel { + + + private String id; + + private String eleName; + + private List earlys;//早期建议 + private List middles;//中期建议 + private List laters;//晚期建议 + + //0过量 1不足 + private Integer status; + + //0 孕妇 1儿童 + private Integer type; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getEleName() { + return eleName; + } + + public void setEleName(String eleName) { + this.eleName = eleName; + } + + public List getEarlys() { + return earlys; + } + + public void setEarlys(List earlys) { + this.earlys = earlys; + } + + public List getMiddles() { + return middles; + } + + public void setMiddles(List middles) { + this.middles = middles; + } + + public List getLaters() { + return laters; + } + + public void setLaters(List laters) { + this.laters = laters; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } +} diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/MicroelementModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/MicroelementModel.java index 8a08f05..f3e16a7 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/MicroelementModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/MicroelementModel.java @@ -57,8 +57,8 @@ public class MicroelementModel extends BaseModel { private String result; //单位 private String unit; - //状态 - private String status; + //状态 0 过量 1 不足 2正常 + private Integer status; //参考值 private String refValue; @@ -95,11 +95,11 @@ public class MicroelementModel extends BaseModel { this.unit = unit; } - public String getStatus() { + public Integer getStatus() { return status; } - public void setStatus(String status) { + public void setStatus(Integer status) { this.status = status; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MicroelementFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MicroelementFacade.java index d51281c..d9db398 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MicroelementFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MicroelementFacade.java @@ -1,6 +1,7 @@ package com.lyms.platform.operate.web.facade; +import com.lyms.platform.biz.service.BasicConfigService; import com.lyms.platform.biz.service.MicroelementService; import com.lyms.platform.biz.service.PatientsService; import com.lyms.platform.common.constants.ErrorCodeConstants; @@ -10,14 +11,20 @@ import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.operate.web.utils.FunvCommonUtil; import com.lyms.platform.permission.model.PatientService; +import com.lyms.platform.pojo.MicroelementConfigModel; import com.lyms.platform.pojo.MicroelementModel; +import com.lyms.platform.pojo.PatientWeight; import com.lyms.platform.pojo.Patients; import com.lyms.platform.query.MicroelementQuery; import com.lyms.platform.query.PatientsQuery; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Component; import java.util.*; @@ -35,6 +42,8 @@ public class MicroelementFacade { @Autowired private MicroelementService microelementService; + @Autowired + private BasicConfigService basicConfigService; @Autowired private HealthChargeFacade healthChargeFacade; @@ -42,6 +51,9 @@ public class MicroelementFacade { @Autowired private PatientsService patientsService; + @Autowired + private MongoTemplate mongoTemplate; + public BaseResponse querymicroelementList(String queryNo, Integer weekStart, Integer weekEnd, Integer age, String vcCardNo,Integer type ,Integer page, Integer limit, Integer userId) { @@ -118,7 +130,6 @@ public class MicroelementFacade { public BaseResponse queryMicroelementReport(Integer type,String doctorId, String id, Integer userId) { Map data = new HashMap(); - String hospitalId = autoMatchFacade.getHospitalId(userId); MicroelementQuery query = new MicroelementQuery(); @@ -128,11 +139,94 @@ public class MicroelementFacade { if (model != null) { Patients pat = patientsService.findOnePatientById(model.getPatientId()); + data.put("city", FunvCommonUtil.getBaseicConfigByid(pat.getCityRegisterId(), basicConfigService)); + data.put("area", FunvCommonUtil.getBaseicConfigByid(pat.getAreaRegisterId(), basicConfigService)); data.put("userName",pat.getUsername()); data.put("age", DateUtil.getAge(pat.getBirth(), model.getCreated())); data.put("week", DateUtil.getWeekDesc(pat.getLastMenses(), model.getCreated())); data.put("microelements", model.getMicroelements()); data.put("created", DateUtil.getyyyy_MM_dd(model.getCreated())); + + int week = DateUtil.getWeek(pat.getLastMenses(),model.getCreated()); + Map> contents = new HashMap<>(); + boolean isNormal = false; + + if (CollectionUtils.isNotEmpty(model.getMicroelements())) + { + for (MicroelementModel.Microelement ele : model.getMicroelements()) + { + if (2 == ele.getStatus() || "铅".equals(ele.getEleName())) + { + isNormal = true; + continue; + } + MicroelementConfigModel configModel = mongoTemplate.findOne( + Query.query(Criteria.where("eleName").is(ele.getEleName()).and("status").is(ele.getStatus()).and("type").is(0)), MicroelementConfigModel.class); + + List datas = new ArrayList<>(); + if (week < 13) + { + datas.addAll(configModel.getEarlys()); + } + else if (week < 28) + { + datas.addAll(configModel.getMiddles()); + } + else + { + datas.addAll(configModel.getLaters()); + } + contents.put(configModel.getEleName(),datas); + } + } + + String nextCheckDate = ""; + String nextCheckWeek = ""; + if (isNormal) { + if (week < 13) + { + nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),13)); + nextCheckWeek = "孕13周前后"; + } + else if (week < 28) + { + nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),28)); + nextCheckWeek = "孕28周前后"; + } + } + else + { + if (week < 8) + { + nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),8)); + nextCheckWeek = "孕8周前后"; + } + else if (week < 13) + { + nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),13)); + nextCheckDate = "孕13周前后"; + } + else if (week < 20) + { + nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),20)); + nextCheckWeek = "孕20周前后"; + } + else if (week < 28) + { + nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),28)); + nextCheckWeek = "孕28周前后"; + } + else if (week < 36) + { + nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),36)); + nextCheckWeek = "孕36周前后"; + } + } + + data.put("nextCheckDate", nextCheckDate); + data.put("nextCheckWeek", nextCheckWeek); + data.put("contents", contents); + data.put("isNormal", isNormal); } healthChargeFacade.addHealthCharge(hospitalId, 7, model.getPatientId(), 1, 1, userId, doctorId, false); @@ -140,6 +234,7 @@ public class MicroelementFacade { setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } + public BaseResponse saveMicroelement(MicroelementModel microelementModel, Integer userId) { String hospitalId = autoMatchFacade.getHospitalId(userId); PatientsQuery patientsQuery = new PatientsQuery();