Commit 73b7d99bc8e0d0849df1f41fc7e92f8aa07c78fb
1 parent
bcbadb9243
Exists in
master
and in
6 other branches
微量元素
Showing 4 changed files with 261 additions and 20 deletions
- platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java
- platform-dal/src/main/java/com/lyms/platform/pojo/MicroelementConfigModel.java
- platform-dal/src/main/java/com/lyms/platform/pojo/MicroelementModel.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MicroelementFacade.java
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java
View file @
73b7d99
| ... | ... | @@ -6422,19 +6422,16 @@ |
| 6422 | 6422 | if (cells.length > 0) { |
| 6423 | 6423 | for (int j = 0; j < cells.length; j++) { |
| 6424 | 6424 | String str = cells[j].getContents().trim(); |
| 6425 | - if (!StringUtils.isNotEmpty(str)) | |
| 6426 | - { | |
| 6427 | - continue; | |
| 6428 | - } | |
| 6429 | - if (j == 0) | |
| 6430 | - { | |
| 6431 | - diet.setMonthAge(Integer.parseInt(str)); | |
| 6432 | - } | |
| 6433 | - else | |
| 6434 | - { | |
| 6435 | - List<String> list2 = Arrays.asList(str.split("\n")); | |
| 6436 | - list.add(list2); | |
| 6437 | - } | |
| 6425 | +// case 0: | |
| 6426 | +// diet.setTitle(str); | |
| 6427 | +// continue; | |
| 6428 | +// case 1: | |
| 6429 | +// List<String> list2 = Arrays.asList(str.split("\n")); | |
| 6430 | +// diet.setSuggests(list2); | |
| 6431 | +// continue; | |
| 6432 | +// case 2: | |
| 6433 | +// diet.setLevel(Integer.parseInt(str)); | |
| 6434 | +// continue; | |
| 6438 | 6435 | } |
| 6439 | 6436 | diet.setDoctorSuggests(list); |
| 6440 | 6437 | } |
| ... | ... | @@ -6447,6 +6444,69 @@ |
| 6447 | 6444 | } |
| 6448 | 6445 | |
| 6449 | 6446 | |
| 6447 | + | |
| 6448 | + /** | |
| 6449 | + * 微量元素 | |
| 6450 | + * | |
| 6451 | + * @param fileName | |
| 6452 | + */ | |
| 6453 | + public static void saveMicroelements(String fileName) { | |
| 6454 | + ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext_biz_patient1.xml"); | |
| 6455 | + MongoTemplate mongoTemplate | |
| 6456 | + = (MongoTemplate) applicationContext.getBean("mongoTemplate"); | |
| 6457 | + mongoTemplate.getDb().authenticate("platform", "platform123".toCharArray()); | |
| 6458 | + File file = new File(fileName); | |
| 6459 | + Workbook wb = null; | |
| 6460 | + try { | |
| 6461 | + wb = Workbook.getWorkbook(file); | |
| 6462 | + | |
| 6463 | + Sheet s = wb.getSheet(0); | |
| 6464 | + System.out.println(s.getName() + " : "); | |
| 6465 | + int rows = s.getRows(); | |
| 6466 | + if (rows > 0) { | |
| 6467 | + //遍历每行 | |
| 6468 | + for (int i = 1; i < rows; i++) { | |
| 6469 | + System.out.println("rows=" + i); | |
| 6470 | + MicroelementConfigModel model = new MicroelementConfigModel(); | |
| 6471 | + | |
| 6472 | + Cell[] cells = s.getRow(i); | |
| 6473 | + List<List<String>> list = new ArrayList<>(); | |
| 6474 | + if (cells.length > 0) { | |
| 6475 | + for (int j = 0; j < cells.length; j++) { | |
| 6476 | + String str = cells[j].getContents().trim(); | |
| 6477 | + switch (j) { | |
| 6478 | + case 0: | |
| 6479 | + model.setEleName(str); | |
| 6480 | + continue; | |
| 6481 | + case 1: | |
| 6482 | + List<String> list2 = Arrays.asList(str.split("\n")); | |
| 6483 | + model.setEarlys(list2); | |
| 6484 | + continue; | |
| 6485 | + case 2: | |
| 6486 | + List<String> list1 = Arrays.asList(str.split("\n")); | |
| 6487 | + model.setMiddles(list1); | |
| 6488 | + continue; | |
| 6489 | + case 3: | |
| 6490 | + List<String> list3 = Arrays.asList(str.split("\n")); | |
| 6491 | + model.setLaters(list3); | |
| 6492 | + continue; | |
| 6493 | + case 4: | |
| 6494 | + model.setStatus(Integer.parseInt(str)); | |
| 6495 | + continue; | |
| 6496 | + case 5: | |
| 6497 | + model.setType(Integer.parseInt(str)); | |
| 6498 | + continue; | |
| 6499 | + } | |
| 6500 | + } | |
| 6501 | + } | |
| 6502 | + mongoTemplate.save(model); | |
| 6503 | + } | |
| 6504 | + } | |
| 6505 | + } catch (Exception e) { | |
| 6506 | + e.printStackTrace(); | |
| 6507 | + } | |
| 6508 | + } | |
| 6509 | + | |
| 6450 | 6510 | public static void main(String[] args) { |
| 6451 | 6511 | // getData(); |
| 6452 | 6512 | //weightWeek("F:\\体重与营养管理\\体重与营养管理第三版(北方)改标红“、冰淇淋”-晓萌.xls"); |
| ... | ... | @@ -6491,8 +6551,9 @@ |
| 6491 | 6551 | // baby12to35ReportNomal("F:\\儿童营养报告\\秦皇岛儿童膳食营养报告\\秦皇岛定制12-35月龄正常体型一周食谱(1).xls"); |
| 6492 | 6552 | |
| 6493 | 6553 | |
| 6494 | - saveDiteSuggest("F:\\儿童营养报告\\秦皇岛儿童膳食营养报告\\每类食物不爱吃的指导建议.xls"); | |
| 6495 | - saveDiteDoctorSuggest("F:\\儿童营养报告\\秦皇岛儿童膳食营养报告\\医生建议内容.xls"); | |
| 6554 | + //saveDiteSuggest("F:\\儿童营养报告\\秦皇岛儿童膳食营养报告\\每类食物不爱吃的指导建议.xls"); | |
| 6555 | + //saveDiteDoctorSuggest("F:\\儿童营养报告\\秦皇岛儿童膳食营养报告\\医生建议内容.xls"); | |
| 6556 | + saveMicroelements("E:\\dev\\微量元素指导报告模板.xls"); | |
| 6496 | 6557 | |
| 6497 | 6558 | } |
| 6498 | 6559 |
platform-dal/src/main/java/com/lyms/platform/pojo/MicroelementConfigModel.java
View file @
73b7d99
| 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 | +/** | |
| 9 | + * 微量元素 | |
| 10 | + * | |
| 11 | + */ | |
| 12 | +@Document(collection = "lyms_microelement_config") | |
| 13 | +public class MicroelementConfigModel extends BaseModel { | |
| 14 | + | |
| 15 | + | |
| 16 | + private String id; | |
| 17 | + | |
| 18 | + private String eleName; | |
| 19 | + | |
| 20 | + private List<String> earlys;//早期建议 | |
| 21 | + private List<String> middles;//中期建议 | |
| 22 | + private List<String> laters;//晚期建议 | |
| 23 | + | |
| 24 | + //0过量 1不足 | |
| 25 | + private Integer status; | |
| 26 | + | |
| 27 | + //0 孕妇 1儿童 | |
| 28 | + private Integer type; | |
| 29 | + | |
| 30 | + public String getId() { | |
| 31 | + return id; | |
| 32 | + } | |
| 33 | + | |
| 34 | + public void setId(String id) { | |
| 35 | + this.id = id; | |
| 36 | + } | |
| 37 | + | |
| 38 | + public String getEleName() { | |
| 39 | + return eleName; | |
| 40 | + } | |
| 41 | + | |
| 42 | + public void setEleName(String eleName) { | |
| 43 | + this.eleName = eleName; | |
| 44 | + } | |
| 45 | + | |
| 46 | + public List<String> getEarlys() { | |
| 47 | + return earlys; | |
| 48 | + } | |
| 49 | + | |
| 50 | + public void setEarlys(List<String> earlys) { | |
| 51 | + this.earlys = earlys; | |
| 52 | + } | |
| 53 | + | |
| 54 | + public List<String> getMiddles() { | |
| 55 | + return middles; | |
| 56 | + } | |
| 57 | + | |
| 58 | + public void setMiddles(List<String> middles) { | |
| 59 | + this.middles = middles; | |
| 60 | + } | |
| 61 | + | |
| 62 | + public List<String> getLaters() { | |
| 63 | + return laters; | |
| 64 | + } | |
| 65 | + | |
| 66 | + public void setLaters(List<String> laters) { | |
| 67 | + this.laters = laters; | |
| 68 | + } | |
| 69 | + | |
| 70 | + public Integer getStatus() { | |
| 71 | + return status; | |
| 72 | + } | |
| 73 | + | |
| 74 | + public void setStatus(Integer status) { | |
| 75 | + this.status = status; | |
| 76 | + } | |
| 77 | + | |
| 78 | + public Integer getType() { | |
| 79 | + return type; | |
| 80 | + } | |
| 81 | + | |
| 82 | + public void setType(Integer type) { | |
| 83 | + this.type = type; | |
| 84 | + } | |
| 85 | +} |
platform-dal/src/main/java/com/lyms/platform/pojo/MicroelementModel.java
View file @
73b7d99
| ... | ... | @@ -57,8 +57,8 @@ |
| 57 | 57 | private String result; |
| 58 | 58 | //单位 |
| 59 | 59 | private String unit; |
| 60 | - //状态 | |
| 61 | - private String status; | |
| 60 | + //状态 0 过量 1 不足 2正常 | |
| 61 | + private Integer status; | |
| 62 | 62 | |
| 63 | 63 | //参考值 |
| 64 | 64 | private String refValue; |
| 65 | 65 | |
| ... | ... | @@ -95,11 +95,11 @@ |
| 95 | 95 | this.unit = unit; |
| 96 | 96 | } |
| 97 | 97 | |
| 98 | - public String getStatus() { | |
| 98 | + public Integer getStatus() { | |
| 99 | 99 | return status; |
| 100 | 100 | } |
| 101 | 101 | |
| 102 | - public void setStatus(String status) { | |
| 102 | + public void setStatus(Integer status) { | |
| 103 | 103 | this.status = status; |
| 104 | 104 | } |
| 105 | 105 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MicroelementFacade.java
View file @
73b7d99
| 1 | 1 | package com.lyms.platform.operate.web.facade; |
| 2 | 2 | |
| 3 | 3 | |
| 4 | +import com.lyms.platform.biz.service.BasicConfigService; | |
| 4 | 5 | import com.lyms.platform.biz.service.MicroelementService; |
| 5 | 6 | import com.lyms.platform.biz.service.PatientsService; |
| 6 | 7 | import com.lyms.platform.common.constants.ErrorCodeConstants; |
| 7 | 8 | |
| 8 | 9 | |
| 9 | 10 | |
| ... | ... | @@ -10,14 +11,20 @@ |
| 10 | 11 | import com.lyms.platform.common.result.BaseObjectResponse; |
| 11 | 12 | import com.lyms.platform.common.result.BaseResponse; |
| 12 | 13 | import com.lyms.platform.common.utils.DateUtil; |
| 14 | +import com.lyms.platform.operate.web.utils.FunvCommonUtil; | |
| 13 | 15 | import com.lyms.platform.permission.model.PatientService; |
| 16 | +import com.lyms.platform.pojo.MicroelementConfigModel; | |
| 14 | 17 | import com.lyms.platform.pojo.MicroelementModel; |
| 18 | +import com.lyms.platform.pojo.PatientWeight; | |
| 15 | 19 | import com.lyms.platform.pojo.Patients; |
| 16 | 20 | import com.lyms.platform.query.MicroelementQuery; |
| 17 | 21 | import com.lyms.platform.query.PatientsQuery; |
| 18 | 22 | import org.apache.commons.collections.CollectionUtils; |
| 19 | 23 | import org.apache.commons.lang.StringUtils; |
| 20 | 24 | import org.springframework.beans.factory.annotation.Autowired; |
| 25 | +import org.springframework.data.mongodb.core.MongoTemplate; | |
| 26 | +import org.springframework.data.mongodb.core.query.Criteria; | |
| 27 | +import org.springframework.data.mongodb.core.query.Query; | |
| 21 | 28 | import org.springframework.stereotype.Component; |
| 22 | 29 | |
| 23 | 30 | import java.util.*; |
| ... | ... | @@ -35,6 +42,8 @@ |
| 35 | 42 | @Autowired |
| 36 | 43 | private MicroelementService microelementService; |
| 37 | 44 | |
| 45 | + @Autowired | |
| 46 | + private BasicConfigService basicConfigService; | |
| 38 | 47 | |
| 39 | 48 | @Autowired |
| 40 | 49 | private HealthChargeFacade healthChargeFacade; |
| ... | ... | @@ -42,6 +51,9 @@ |
| 42 | 51 | @Autowired |
| 43 | 52 | private PatientsService patientsService; |
| 44 | 53 | |
| 54 | + @Autowired | |
| 55 | + private MongoTemplate mongoTemplate; | |
| 56 | + | |
| 45 | 57 | public BaseResponse querymicroelementList(String queryNo, Integer weekStart, Integer weekEnd, Integer age, String vcCardNo,Integer type ,Integer page, Integer limit, Integer userId) { |
| 46 | 58 | |
| 47 | 59 | |
| ... | ... | @@ -118,7 +130,6 @@ |
| 118 | 130 | |
| 119 | 131 | public BaseResponse queryMicroelementReport(Integer type,String doctorId, String id, Integer userId) { |
| 120 | 132 | Map data = new HashMap(); |
| 121 | - | |
| 122 | 133 | String hospitalId = autoMatchFacade.getHospitalId(userId); |
| 123 | 134 | |
| 124 | 135 | MicroelementQuery query = new MicroelementQuery(); |
| 125 | 136 | |
| 126 | 137 | |
| ... | ... | @@ -128,17 +139,101 @@ |
| 128 | 139 | if (model != null) |
| 129 | 140 | { |
| 130 | 141 | Patients pat = patientsService.findOnePatientById(model.getPatientId()); |
| 142 | + data.put("city", FunvCommonUtil.getBaseicConfigByid(pat.getCityRegisterId(), basicConfigService)); | |
| 143 | + data.put("area", FunvCommonUtil.getBaseicConfigByid(pat.getAreaRegisterId(), basicConfigService)); | |
| 131 | 144 | data.put("userName",pat.getUsername()); |
| 132 | 145 | data.put("age", DateUtil.getAge(pat.getBirth(), model.getCreated())); |
| 133 | 146 | data.put("week", DateUtil.getWeekDesc(pat.getLastMenses(), model.getCreated())); |
| 134 | 147 | data.put("microelements", model.getMicroelements()); |
| 135 | 148 | data.put("created", DateUtil.getyyyy_MM_dd(model.getCreated())); |
| 149 | + | |
| 150 | + int week = DateUtil.getWeek(pat.getLastMenses(),model.getCreated()); | |
| 151 | + Map<String,List<String>> contents = new HashMap<>(); | |
| 152 | + boolean isNormal = false; | |
| 153 | + | |
| 154 | + if (CollectionUtils.isNotEmpty(model.getMicroelements())) | |
| 155 | + { | |
| 156 | + for (MicroelementModel.Microelement ele : model.getMicroelements()) | |
| 157 | + { | |
| 158 | + if (2 == ele.getStatus() || "铅".equals(ele.getEleName())) | |
| 159 | + { | |
| 160 | + isNormal = true; | |
| 161 | + continue; | |
| 162 | + } | |
| 163 | + MicroelementConfigModel configModel = mongoTemplate.findOne( | |
| 164 | + Query.query(Criteria.where("eleName").is(ele.getEleName()).and("status").is(ele.getStatus()).and("type").is(0)), MicroelementConfigModel.class); | |
| 165 | + | |
| 166 | + List<String> datas = new ArrayList<>(); | |
| 167 | + if (week < 13) | |
| 168 | + { | |
| 169 | + datas.addAll(configModel.getEarlys()); | |
| 170 | + } | |
| 171 | + else if (week < 28) | |
| 172 | + { | |
| 173 | + datas.addAll(configModel.getMiddles()); | |
| 174 | + } | |
| 175 | + else | |
| 176 | + { | |
| 177 | + datas.addAll(configModel.getLaters()); | |
| 178 | + } | |
| 179 | + contents.put(configModel.getEleName(),datas); | |
| 180 | + } | |
| 181 | + } | |
| 182 | + | |
| 183 | + String nextCheckDate = ""; | |
| 184 | + String nextCheckWeek = ""; | |
| 185 | + if (isNormal) { | |
| 186 | + if (week < 13) | |
| 187 | + { | |
| 188 | + nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),13)); | |
| 189 | + nextCheckWeek = "孕13周前后"; | |
| 190 | + } | |
| 191 | + else if (week < 28) | |
| 192 | + { | |
| 193 | + nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),28)); | |
| 194 | + nextCheckWeek = "孕28周前后"; | |
| 195 | + } | |
| 196 | + } | |
| 197 | + else | |
| 198 | + { | |
| 199 | + if (week < 8) | |
| 200 | + { | |
| 201 | + nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),8)); | |
| 202 | + nextCheckWeek = "孕8周前后"; | |
| 203 | + } | |
| 204 | + else if (week < 13) | |
| 205 | + { | |
| 206 | + nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),13)); | |
| 207 | + nextCheckDate = "孕13周前后"; | |
| 208 | + } | |
| 209 | + else if (week < 20) | |
| 210 | + { | |
| 211 | + nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),20)); | |
| 212 | + nextCheckWeek = "孕20周前后"; | |
| 213 | + } | |
| 214 | + else if (week < 28) | |
| 215 | + { | |
| 216 | + nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),28)); | |
| 217 | + nextCheckWeek = "孕28周前后"; | |
| 218 | + } | |
| 219 | + else if (week < 36) | |
| 220 | + { | |
| 221 | + nextCheckDate = DateUtil.getyyyy_MM_dd1(DateUtil.addWeek(pat.getLastMenses(),36)); | |
| 222 | + nextCheckWeek = "孕36周前后"; | |
| 223 | + } | |
| 224 | + } | |
| 225 | + | |
| 226 | + data.put("nextCheckDate", nextCheckDate); | |
| 227 | + data.put("nextCheckWeek", nextCheckWeek); | |
| 228 | + data.put("contents", contents); | |
| 229 | + data.put("isNormal", isNormal); | |
| 136 | 230 | } |
| 137 | 231 | |
| 138 | 232 | healthChargeFacade.addHealthCharge(hospitalId, 7, model.getPatientId(), 1, 1, userId, doctorId, false); |
| 139 | 233 | return new BaseObjectResponse().setData(data). |
| 140 | 234 | setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); |
| 141 | 235 | } |
| 236 | + | |
| 142 | 237 | |
| 143 | 238 | public BaseResponse saveMicroelement(MicroelementModel microelementModel, Integer userId) { |
| 144 | 239 | String hospitalId = autoMatchFacade.getHospitalId(userId); |