Commit e98bd969048187bf315d2e442677b992d6296ba7

Authored by yangfei

Merge remote-tracking branch 'origin/master'

Showing 10 changed files

platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java View file @ e98bd96
... ... @@ -1296,11 +1296,88 @@
1296 1296  
1297 1297  
1298 1298  
  1299 + //早产儿体重百分位数值表(男、女)
  1300 + public static void zcet(String fileName)
  1301 + {
  1302 + File file = new File(fileName);
  1303 + Workbook wb = null;
  1304 + try {
  1305 + wb = Workbook.getWorkbook(file);
  1306 + ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext_biz_patient1.xml");
  1307 + MongoTemplate mongoTemplate
  1308 + = (MongoTemplate) applicationContext.getBean("mongoTemplate");
  1309 + mongoTemplate.getDb().authenticate("platform", "platform123".toCharArray());
  1310 +
  1311 + Sheet s1 = wb.getSheet(0);
  1312 + int rows1 = s1.getRows();
  1313 + if(rows1 > 0){
  1314 + //遍历每行
  1315 + for(int i = 0 ;i < rows1 ; i++){
  1316 + System.out.println("rows="+i);
  1317 + AwModel awModel = new AwModel();
  1318 + awModel.setType(4);
  1319 + Cell[] cells = s1.getRow(i);
  1320 + if(cells.length > 0){
  1321 + //遍历每行中的每列
  1322 + for (int j = 0 ; j < cells.length ; j ++)
  1323 + {
  1324 + String str = cells[j].getContents().trim();
  1325 + if (!com.lyms.platform.common.utils.StringUtils.isNotEmpty(str))
  1326 + {
  1327 + continue;
  1328 + }
  1329 + switch (j)
  1330 + {
  1331 + case 0:
  1332 + awModel.setWeek(Integer.valueOf(str));
  1333 + continue;
  1334 + case 1:
  1335 + awModel.setRthreeDs(Double.valueOf(str)/1000);
  1336 + continue;
  1337 + case 2:
  1338 + awModel.setRtwoDs(Double.valueOf(str)/1000);
  1339 + continue;
  1340 + case 3:
  1341 + awModel.setRoneDs(Double.valueOf(str)/1000);
  1342 + continue;
  1343 + case 4:
  1344 + awModel.setMiddleDs(Double.valueOf(str)/1000);
  1345 + continue;
  1346 + case 5:
  1347 + awModel.setPoneDs(Double.valueOf(str)/1000);
  1348 + continue;
  1349 + case 6:
  1350 + awModel.setPtwoDs(Double.valueOf(str)/1000);
  1351 + continue;
  1352 + case 7:
  1353 + awModel.setPthreeDs(Double.valueOf(str)/1000);
  1354 + continue;
  1355 + case 8:
  1356 + awModel.setSex(Integer.valueOf(str));
  1357 + continue;
  1358 + }
  1359 + }
  1360 + }
  1361 + mongoTemplate.save(awModel);
  1362 + }
  1363 + }
  1364 +
  1365 + } catch (IOException e) {
  1366 + e.printStackTrace();
  1367 + } catch (BiffException e) {
  1368 + e.printStackTrace();
  1369 + }
  1370 +
  1371 + }
  1372 +
  1373 +
1299 1374 public static void main(String[] args) {
1300 1375 // weightWeek("F:\\体重与营养管理\\体重与营养管理第三版(北方)改标红“、冰淇淋”-晓萌.xls");
1301 1376 // weightMange("F:\\体重与营养管理\\体重与营养管理第三版(北方)改标红“、冰淇淋”-晓萌.xls");
1302 1377 // weightFood("F:\\体重与营养管理\\体重与营养管理第三版(北方)改标红“、冰淇淋”-晓萌.xls");
1303   - bloodSugar("F:\\血糖报告\\血糖报告\\血糖报告基础数据格式(2).xls");
  1378 +// bloodSugar("F:\\血糖报告\\血糖报告\\血糖报告基础数据格式(2).xls");
  1379 +
  1380 + zcet("F:\\儿童发育\\早产儿体重百分位数值表(男女).xls");
1304 1381 }
1305 1382  
1306 1383 public static void addBaby(ApplicationContext applicationContext) {
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyCheckService.java View file @ e98bd96
... ... @@ -75,6 +75,14 @@
75 75 return babyAwDao.queryAwByHeight(condition.toMongoQuery());
76 76 }
77 77  
  78 + public List<AwModel> queryBabyHealthConfigWeek(Integer week, Integer sex,Integer type) {
  79 + MongoCondition condition = MongoCondition.newInstance();
  80 + condition = condition.and("week", week, MongoOper.IS);
  81 + condition = condition.and("sex", sex, MongoOper.IS);
  82 + condition = condition.and("type", type, MongoOper.IS);
  83 + return babyAwDao.queryAwByHeight(condition.toMongoQuery());
  84 + }
  85 +
78 86 public List<AwModel> queryBabyHealthConfig(Integer ageType, Integer sex,Integer type,Double height) {
79 87 MongoCondition condition = MongoCondition.newInstance();
80 88 condition = condition.and("ageType", ageType, MongoOper.IS);
platform-dal/src/main/java/com/lyms/platform/pojo/AwModel.java View file @ e98bd96
... ... @@ -23,13 +23,23 @@
23 23 private Double poneDs;
24 24 private Double ptwoDs;
25 25 private Double pthreeDs;
26   - //0 体重标准差数值表 1 身长/身高标准差数值表 2 头围标准差数值表 3身高别体重
  26 + //0 体重标准差数值表 1 身长/身高标准差数值表 2 头围标准差数值表 3身高别体重 4 早产儿体重百分位数值表(男、女)
27 27 private Integer type;
28 28  
29 29 private Double height;
30 30  
31 31 //0 0-2岁 1 2-5岁
32 32 private Integer ageType;
  33 +
  34 + private Integer week;
  35 +
  36 + public Integer getWeek() {
  37 + return week;
  38 + }
  39 +
  40 + public void setWeek(Integer week) {
  41 + this.week = week;
  42 + }
33 43  
34 44 public Double getHeight() {
35 45 return height;
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java View file @ e98bd96
... ... @@ -151,8 +151,9 @@
151 151 @RequestParam(required = true) Double height,
152 152 @RequestParam(required = true) Double weight,
153 153 @RequestParam(required = true) Integer sex,
154   - @RequestParam(required = true) String birth){
155   - return babyCheckFacade.queryHWByHeight(height, weight, sex, birth);
  154 + @RequestParam(required = true) String birth,
  155 + @RequestParam(required = false) Integer correctAge){
  156 + return babyCheckFacade.queryHWByHeight(height, weight, sex, birth, correctAge);
156 157  
157 158 }
158 159  
... ... @@ -169,8 +170,10 @@
169 170 public BaseObjectResponse queryBabyHealthStatus(@RequestParam(required = true) Double value,
170 171 @RequestParam(required = true) Integer sex,
171 172 @RequestParam(required = true) Integer type,
172   - @RequestParam(required = true) String birth){
173   - return babyCheckFacade.queryBabyHealthStatus(birth, value, sex, type);
  173 + @RequestParam(required = true) String birth,
  174 + @RequestParam(required = false) String babyId,
  175 + @RequestParam(required = false) Integer correctAge){
  176 + return babyCheckFacade.queryBabyHealthStatus(birth, value, sex, type, correctAge, babyId);
174 177  
175 178 }
176 179  
... ... @@ -186,8 +189,9 @@
186 189 @RequestMapping(value = "/queryGrowthEvaluate", method = RequestMethod.GET)
187 190 @ResponseBody
188 191 public BaseObjectResponse queryGrowthEvaluate(@RequestParam(required = true) Double height,@RequestParam(required = true) Integer sex
189   - ,@RequestParam(required = true) String birth,@RequestParam(required = true) Double weight){
190   - return babyCheckFacade.queryGrowthEvaluate(height, sex, birth, weight);
  192 + ,@RequestParam(required = true) String birth,@RequestParam(required = true) Double weight,
  193 + @RequestParam(required = false) Integer correctAge){
  194 + return babyCheckFacade.queryGrowthEvaluate(height, sex, birth, weight, correctAge);
191 195  
192 196 }
193 197  
... ... @@ -212,6 +216,16 @@
212 216  
213 217 }
214 218  
  219 +
  220 + @RequestMapping(value = "/getHighBabyMonthAge", method = RequestMethod.GET)
  221 + @ResponseBody
  222 + public BaseObjectResponse getHighBabyMonthAge(
  223 + @RequestParam(required = true) String babyId,
  224 + @RequestParam(required = true) String checkDate,
  225 + @RequestParam(required = true) Boolean isHighRisk){
  226 + return babyCheckFacade.getHighBabyMonthAge(babyId,checkDate,isHighRisk);
  227 +
  228 + }
215 229  
216 230  
217 231 /**
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SmsConfigController.java View file @ e98bd96
... ... @@ -414,8 +414,10 @@
414 414  
415 415 @RequestMapping(value = "/sms/build/send", method = RequestMethod.GET)
416 416 @ResponseBody
417   - public String querySmsConfAndTemplate(@RequestParam("patientId")String patientId){
418   - examinationFacade.createSendMsg(patientId);
  417 + public String querySmsConfAndTemplate(@RequestParam("patientId")String patientId,
  418 + @RequestParam("hospitalId")String hospitalId,
  419 + @RequestParam("doctorId")String doctorId){
  420 + examinationFacade.createdSengMsg1(hospitalId,patientId,doctorId);
419 421 return "0";
420 422 }
421 423 @Autowired
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java View file @ e98bd96
... ... @@ -1199,92 +1199,92 @@
1199 1199 * @param hid
1200 1200 * @return
1201 1201 */
1202   - @RequestMapping(value = "/updateBabyGrowth", method = RequestMethod.GET)
1203   - @ResponseBody
1204   - public String updateBabyGrowth(@RequestParam(required = true) String hid) {
1205   -
1206   - BabyModelQuery babyModelQuery = new BabyModelQuery();
1207   - babyModelQuery.setYn(YnEnums.YES.getId());
1208   - babyModelQuery.setHospitalId(hid);
1209   -
1210   - List<BabyModel> models = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery);
1211   - if (CollectionUtils.isNotEmpty(models)) {
1212   - int batchSize = 200;
1213   - int end = 0;
1214   - for (int i = 0; i < models.size(); i += batchSize) {
1215   - end = (end + batchSize);
1216   - if (end > models.size()) {
1217   - end = models.size();
1218   - }
1219   - System.out.println("start:" + i + ",end:" + end);
1220   - final List<BabyModel> tempList = models.subList(i, end);
1221   - new Thread(new Runnable() {
1222   - @Override
1223   - public void run() {
1224   - if (CollectionUtils.isNotEmpty(tempList)) {
1225   - for (BabyModel babyModel : tempList) {
1226   - if (babyModel != null) {
1227   - BabyCheckModelQuery query = new BabyCheckModelQuery();
1228   - query.setYn(YnEnums.YES.getId());
1229   - query.setBuildId(babyModel.getId());
1230   -
1231   - List<BabyCheckModel> checkModels = babyCheckService.queryBabyCheckRecord(query);
1232   - if (CollectionUtils.isNotEmpty(checkModels)) {
1233   - for (BabyCheckModel checkModel : checkModels) {
1234   - String height = checkModel.getHeight();
1235   - String birth = DateUtil.getyyyy_MM_dd(babyModel.getBirth());
1236   - if (!com.lyms.platform.common.utils.StringUtils.isNotEmpty(birth)) {
1237   - continue;
1238   - }
1239   - // type 0 体重标准差数值表 1 身长/身高标准差数值表 2 头围标准差数值表 3身高别体重
1240   - if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(height)) {
1241   - String value = babyCheckFacade.getGrowthValue(birth, Double.parseDouble(height), babyModel.getSex(), 1);
1242   - checkModel.setHeightEvaluate(value);
1243   -
1244   - }
1245   - String head = checkModel.getHead();
1246   - if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(head)) {
1247   - String value = babyCheckFacade.getGrowthValue(birth, Double.parseDouble(head), babyModel.getSex(), 2);
1248   - checkModel.setHeadEvaluate(value);
1249   - }
1250   -
1251   - String weight = checkModel.getWeight();
1252   - if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(weight)) {
1253   - String value = babyCheckFacade.getGrowthValue(birth, Double.parseDouble(weight), babyModel.getSex(), 0);
1254   - checkModel.setWeightEvaluate(value);
1255   - }
1256   -
1257   - if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(height) &&
1258   - com.lyms.platform.common.utils.StringUtils.isNotEmpty(weight)) {
1259   - //发育评价
1260   - List<String> growthEvaluate = babyCheckFacade.getBabyGrowthEvaluate(Double.parseDouble(height), babyModel.getSex(), birth, Double.parseDouble(weight));
1261   - if (CollectionUtils.isNotEmpty(growthEvaluate)) {
1262   - checkModel.setGrowthEvaluate(JsonUtil.array2JsonString(growthEvaluate));
1263   - }
1264   -
1265   - String hw = babyCheckFacade.getBabyHW(Double.parseDouble(height), Double.parseDouble(weight), babyModel.getSex(), birth);
1266   - checkModel.setHeightWeight(hw);
1267   -
1268   - }
1269   - checkModel.setHospitalId(checkModel.getHospitalId());
1270   - checkModel.setBirth(babyModel.getBirth());
1271   -
1272   - checkModel.setCheckMonth(DateUtil.getBabyAgeMonth(babyModel.getBirth(), checkModel.getCheckDate()));
1273   - babyCheckService.updateBabyCheck(checkModel, checkModel.getId());
1274   - }
1275   - }
1276   - }
1277   - }
1278   - }
1279   - }
1280   - }).start();
1281   - }
1282   -
1283   - }
1284   -
1285   -
1286   - return "updateBabyGrowth finish";
1287   - }
  1202 +// @RequestMapping(value = "/updateBabyGrowth", method = RequestMethod.GET)
  1203 +// @ResponseBody
  1204 +// public String updateBabyGrowth(@RequestParam(required = true) String hid) {
  1205 +//
  1206 +// BabyModelQuery babyModelQuery = new BabyModelQuery();
  1207 +// babyModelQuery.setYn(YnEnums.YES.getId());
  1208 +// babyModelQuery.setHospitalId(hid);
  1209 +//
  1210 +// List<BabyModel> models = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery);
  1211 +// if (CollectionUtils.isNotEmpty(models)) {
  1212 +// int batchSize = 200;
  1213 +// int end = 0;
  1214 +// for (int i = 0; i < models.size(); i += batchSize) {
  1215 +// end = (end + batchSize);
  1216 +// if (end > models.size()) {
  1217 +// end = models.size();
  1218 +// }
  1219 +// System.out.println("start:" + i + ",end:" + end);
  1220 +// final List<BabyModel> tempList = models.subList(i, end);
  1221 +// new Thread(new Runnable() {
  1222 +// @Override
  1223 +// public void run() {
  1224 +// if (CollectionUtils.isNotEmpty(tempList)) {
  1225 +// for (BabyModel babyModel : tempList) {
  1226 +// if (babyModel != null) {
  1227 +// BabyCheckModelQuery query = new BabyCheckModelQuery();
  1228 +// query.setYn(YnEnums.YES.getId());
  1229 +// query.setBuildId(babyModel.getId());
  1230 +//
  1231 +// List<BabyCheckModel> checkModels = babyCheckService.queryBabyCheckRecord(query);
  1232 +// if (CollectionUtils.isNotEmpty(checkModels)) {
  1233 +// for (BabyCheckModel checkModel : checkModels) {
  1234 +// String height = checkModel.getHeight();
  1235 +// String birth = DateUtil.getyyyy_MM_dd(babyModel.getBirth());
  1236 +// if (!com.lyms.platform.common.utils.StringUtils.isNotEmpty(birth)) {
  1237 +// continue;
  1238 +// }
  1239 +// // type 0 体重标准差数值表 1 身长/身高标准差数值表 2 头围标准差数值表 3身高别体重
  1240 +// if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(height)) {
  1241 +// String value = babyCheckFacade.getGrowthValue1(birth, Double.parseDouble(height), babyModel.getSex(), 1, null);
  1242 +// checkModel.setHeightEvaluate(value);
  1243 +//
  1244 +// }
  1245 +// String head = checkModel.getHead();
  1246 +// if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(head)) {
  1247 +// String value = babyCheckFacade.getGrowthValue1(birth, Double.parseDouble(head), babyModel.getSex(), 2, null);
  1248 +// checkModel.setHeadEvaluate(value);
  1249 +// }
  1250 +//
  1251 +// String weight = checkModel.getWeight();
  1252 +// if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(weight)) {
  1253 +// String value = babyCheckFacade.getGrowthValue1(birth, Double.parseDouble(weight), babyModel.getSex(), 0,null);
  1254 +// checkModel.setWeightEvaluate(value);
  1255 +// }
  1256 +//
  1257 +// if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(height) &&
  1258 +// com.lyms.platform.common.utils.StringUtils.isNotEmpty(weight)) {
  1259 +// //发育评价
  1260 +// List<String> growthEvaluate = babyCheckFacade.getBabyGrowthEvaluate(Double.parseDouble(height), babyModel.getSex(), birth, Double.parseDouble(weight),null);
  1261 +// if (CollectionUtils.isNotEmpty(growthEvaluate)) {
  1262 +// checkModel.setGrowthEvaluate(JsonUtil.array2JsonString(growthEvaluate));
  1263 +// }
  1264 +//
  1265 +// String hw = babyCheckFacade.getBabyHW(Double.parseDouble(height), Double.parseDouble(weight), babyModel.getSex(), birth,null);
  1266 +// checkModel.setHeightWeight(hw);
  1267 +//
  1268 +// }
  1269 +// checkModel.setHospitalId(checkModel.getHospitalId());
  1270 +// checkModel.setBirth(babyModel.getBirth());
  1271 +//
  1272 +// checkModel.setCheckMonth(DateUtil.getBabyAgeMonth(babyModel.getBirth(), checkModel.getCheckDate()));
  1273 +// babyCheckService.updateBabyCheck(checkModel, checkModel.getId());
  1274 +// }
  1275 +// }
  1276 +// }
  1277 +// }
  1278 +// }
  1279 +// }
  1280 +// }).start();
  1281 +// }
  1282 +//
  1283 +// }
  1284 +//
  1285 +//
  1286 +// return "updateBabyGrowth finish";
  1287 +// }
1288 1288  
1289 1289  
1290 1290 /**
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java View file @ e98bd96
... ... @@ -365,7 +365,7 @@
365 365 //发送推送消息
366 366 patients.setSendMsgTime(new Date());
367 367 }
368   - if(antExamModel.getSendMsg() != null || StringUtils.isNotEmpty(antExAddRequest.getVcCardNo())){
  368 + if (antExamModel.getSendMsg() != null || StringUtils.isNotEmpty(antExAddRequest.getVcCardNo())) {
369 369 patientsService.updatePatient(patients);
370 370 }
371 371 }
... ... @@ -683,6 +683,124 @@
683 683 updateChuAutoData(antExChuModel,excAddRequest, hospitalId, userId);
684 684  
685 685 return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功");
  686 + }
  687 +
  688 + /**
  689 + *
  690 + * @param hospitalId 院内系统的医院id
  691 + * @param patientId
  692 + * @param doctorId
  693 + */
  694 + public void createdSengMsg1(String hospitalId,String patientId,String doctorId){
  695 + Patients patient = patientsService.findOnePatientById(patientId);
  696 + //判断医院是否启动和对应的服务项是否启用
  697 + SmsConfigModel configModel = new SmsConfigModel();
  698 + int startType = smsConfigFacade.hospitalIsStart(hospitalId, configModel, SmsServiceEnums.FWDGTX.getId());
  699 + if (startType == 0) {
  700 + return;
  701 + }
  702 + boolean isHightRisk = false;
  703 + if (patient.getRiskScore() != null) {
  704 + if (patient.getRiskScore() > 0) {//高危评分大于0
  705 + if (CollectionUtils.isNotEmpty(patient.getRiskFactorId())) {
  706 + if (!"d42eec03-aa86-45b8-a4e0-78a0ff365fb6".equals(patient.getRiskFactorId().get(0))) {
  707 + isHightRisk = true;
  708 + }
  709 + }
  710 + }
  711 + }
  712 + SmsTemplateQuery query = new SmsTemplateQuery();
  713 + query.setYn(YnEnums.YES.getId());
  714 + query.setStatus(1);
  715 + query.setHospitalId(patient.getHospitalId());
  716 + query.setServiceObj(ServiceObjEnums.YUNOBJ.getId());
  717 +
  718 + //健康类型 0健康 1高危
  719 + if (isHightRisk) {//高危孕妇
  720 + query.setHealthType(1);
  721 + } else {//健康
  722 + query.setHealthType(0);
  723 + }
  724 +
  725 + List<SmsTemplateModel> temps = smsTemplateService.querySmsTemplates(query);
  726 +
  727 + Integer serviceType = 0;
  728 + Integer serviceStatus = 0;
  729 + //根据服务状态和服务类型获取可以发送的模板
  730 + List<SmsTemplateModel> sendList = smsConfigFacade.getSendTemplateByServiceStatus(temps, serviceType, serviceStatus);
  731 +
  732 + if (CollectionUtils.isNotEmpty(temps)) {
  733 + if (CollectionUtils.isNotEmpty(sendList)) {
  734 + //短信前缀
  735 + String messagePrefix = smsConfigFacade.getMsgPrefix(configModel, doctorId, ServiceObjEnums.YUNOBJ.getId());
  736 + for (SmsTemplateModel templateModel : sendList) {
  737 + if (templateModel != null && templateModel.getStatus() == 1) {
  738 +
  739 + //推送类型模板
  740 + if (templateModel.getTemplateType() == null || templateModel.getTemplateType() == 0) {
  741 + //发送推送类模板建档
  742 + if (startType == 3) {
  743 + continue;
  744 + }
  745 + }
  746 + //发送短信类模板建档
  747 + else if (templateModel.getTemplateType() == 1 && startType == 1) {
  748 + continue;
  749 + }
  750 +
  751 + List<MsgRequest> messages = new ArrayList<>();
  752 + MsgRequest mr = new MsgRequest();
  753 +
  754 + String doctorName = "";
  755 + try {
  756 + Users users = usersService.getUsers(Integer.parseInt(doctorId));
  757 + if (users != null && users.getYn() == YnEnums.YES.getId()) {
  758 + doctorName = users.getName();
  759 + mr.setKeyword1(doctorName);
  760 + }
  761 + } catch (Exception e) {
  762 + System.out.print(e + doctorId);
  763 + }
  764 +
  765 + String content = "";
  766 + if (isHightRisk) {
  767 + //风险名称
  768 + String riskNmae = queryRiskNameStr(patient.getRiskFactorId());
  769 + content = com.lyms.platform.common.utils.StringUtils.replaceNameRisk(patient.getUsername(), riskNmae, templateModel.getContent(), doctorName);
  770 + } else {
  771 + content = com.lyms.platform.common.utils.StringUtils.replaceName(patient.getUsername(), templateModel.getContent(), doctorName);
  772 + }
  773 +
  774 + mr.setFirst("【" + messagePrefix + "】" + content);
  775 + mr.setObjType(ServiceObjEnums.YUNOBJ.getId());
  776 + mr.setPhone(patient.getPhone());
  777 + mr.setTimeType(SmsTimeTypeEnums.ONTIME.getId());
  778 + mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date()));
  779 + mr.setSubTypeId(SmsServiceEnums.FWDGTX.getId());
  780 + mr.setStatus(SmsStatusEnums.WFS.getId());
  781 + mr.setHospitalId(hospitalId);
  782 + mr.setTempId(templateModel.getId());
  783 + mr.setPatientId(patient.getId());
  784 + mr.setSmsStatus(SmsStatusEnums.WFS.getId());
  785 + mr.setServiceType((templateModel.getTemplateType() == null || templateModel.getTemplateType() == 0) ? 1 : 3); //判断发送类型
  786 +
  787 + mr.setTypeId(templateModel.getHealthType());
  788 + System.out.println("patient.getLastCheckEmployeeId()=" +doctorId);
  789 +
  790 +
  791 + mr.setKeyword2(DateUtil.getymd());
  792 + mr.setRemark(doctorId);
  793 + mr.setCreated(DateUtil.getyyyy_MM_dd_hms(new Date()));
  794 +
  795 + mr.setWxTempId(WxTempleteIdEnums.FU_WU_DING_GOU_TX.getId());
  796 + messages.add(mr);
  797 + if (CollectionUtils.isNotEmpty(messages)) {
  798 + smsConfigFacade.saveMsg(messages, hospitalId);
  799 + }
  800 + }
  801 + }
  802 + }
  803 + }
686 804 }
687 805  
688 806 /**
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java View file @ e98bd96
... ... @@ -788,6 +788,12 @@
788 788 if (model.getDueDate() == null || ymdBirth.getTime() == model.getDueDate().getTime()) {//预产期为空或者预产期与生日一致进行计算真实预产期
789 789 //根据出生孕周计算末次月经
790 790 Date LastMens = DateUtil.addWeek(model.getBirth(), -model.getDueWeek());
  791 +
  792 + if (model.getDueDay() != null)
  793 + {
  794 + LastMens = DateUtil.addDay(LastMens,-model.getDueDay());
  795 + }
  796 +
791 797 //根据末次月经计算预产期
792 798 // Date dueDate = DateUtil.addMonth(LastMens, 9);
793 799 // dueDate = DateUtil.addDay(dueDate, 7);
... ... @@ -799,6 +805,9 @@
799 805 }
800 806 }
801 807  
  808 +
  809 +
  810 +
802 811 base.setBirthday(DateUtil.getyyyy_MM_dd(model.getBirth()));
803 812 base.setSourceId(org.apache.commons.lang.StringUtils.isNotEmpty(model.getSource()) ? model.getSource() : model.getId());
804 813 if (model.getPid() != null) {
805 814  
... ... @@ -1384,10 +1393,10 @@
1384 1393 * @param sex
1385 1394 * @return
1386 1395 */
1387   - public BaseObjectResponse queryHWByHeight(Double height, Double weight, Integer sex, String birth) {
  1396 + public BaseObjectResponse queryHWByHeight(Double height, Double weight, Integer sex, String birth,Integer correctAge) {
1388 1397  
1389 1398  
1390   - String res = getBabyHW(height, weight, sex, birth);
  1399 + String res = getBabyHW(height, weight, sex, birth,correctAge);
1391 1400 BaseObjectResponse br = new BaseObjectResponse();
1392 1401 br.setData(res);
1393 1402 br.setErrorcode(ErrorCodeConstants.SUCCESS);
1394 1403  
1395 1404  
... ... @@ -1396,11 +1405,15 @@
1396 1405 }
1397 1406  
1398 1407  
1399   - public String getBabyHW(Double height, Double weight, Integer sex, String birth) {
  1408 + public String getBabyHW(Double height, Double weight, Integer sex, String birth,Integer correctAge) {
1400 1409 Double hw = getHw(height);
1401 1410  
  1411 +
  1412 + Date birthday = DateUtil.addDay(DateUtil.parseYMD(birth), Math.abs(correctAge == null ? 0 : correctAge));
  1413 +
1402 1414 //计算儿童的月龄
1403   - int monthAge = DateUtil.getBabyAgeMonth(DateUtil.parseYMD(birth), new Date());
  1415 + int monthAge = DateUtil.getBabyAgeMonth(birthday, new Date());
  1416 +// int monthAge = DateUtil.getBabyAgeMonth(DateUtil.parseYMD(birth), new Date());
1404 1417 int ageType = 0;
1405 1418 if (monthAge > 24) {
1406 1419 ageType = 1;
1407 1420  
... ... @@ -1474,9 +1487,9 @@
1474 1487 * @param birth
1475 1488 * @return
1476 1489 */
1477   - public BaseObjectResponse queryGrowthEvaluate(Double height, Integer sex, String birth, Double weight) {
  1490 + public BaseObjectResponse queryGrowthEvaluate(Double height, Integer sex, String birth, Double weight,Integer correctAge) {
1478 1491  
1479   - List<String> list = getBabyGrowthEvaluate(height, sex, birth, weight);
  1492 + List<String> list = getBabyGrowthEvaluate(height, sex, birth, weight, correctAge);
1480 1493 BaseObjectResponse br = new BaseObjectResponse();
1481 1494 br.setData(list);
1482 1495 br.setErrorcode(ErrorCodeConstants.SUCCESS);
1483 1496  
1484 1497  
... ... @@ -1500,12 +1513,16 @@
1500 1513 *
1501 1514 * @return
1502 1515 */
1503   - public List<String> getBabyGrowthEvaluate(Double height, Integer sex, String birth, Double weight) {
  1516 + public List<String> getBabyGrowthEvaluate(Double height, Integer sex, String birth, Double weight,Integer correctAge) {
1504 1517 List<String> growthEvaluate = new ArrayList<>();
1505 1518 Double hw = getHw(height);
1506 1519  
  1520 + Date birthday = DateUtil.addDay(DateUtil.parseYMD(birth), Math.abs(correctAge == null ? 0 : correctAge));
  1521 +
1507 1522 //计算儿童的月龄
1508   - int monthAge = DateUtil.getBabyAgeMonth(DateUtil.parseYMD(birth), new Date());
  1523 + int monthAge = DateUtil.getBabyAgeMonth(birthday, new Date());
  1524 +
  1525 + //int monthAge = DateUtil.getBabyAgeMonth(DateUtil.parseYMD(birth), new Date());
1509 1526 int ageType = 0;
1510 1527 if (monthAge > 24) {
1511 1528 ageType = 1;
... ... @@ -1621,8 +1638,18 @@
1621 1638 return objectResponse;
1622 1639 }
1623 1640  
1624   - public BaseObjectResponse queryBabyHealthStatus(String birth, Double value, Integer sex, Integer type) {
1625   - String res = getGrowthValue(birth, value, sex, type);
  1641 + public BaseObjectResponse queryBabyHealthStatus(String birth, Double value, Integer sex, Integer type,Integer correctAge,String babyId) {
  1642 + String res = "";
  1643 + //体重
  1644 + if (type == 0)
  1645 + {
  1646 + res = getGrowthValue(birth, value, sex,correctAge,babyId);
  1647 + }
  1648 + else
  1649 + {
  1650 + res = getGrowthValue1(birth, value, sex, type, correctAge);
  1651 + }
  1652 +
1626 1653 BaseObjectResponse objectResponse = new BaseObjectResponse();
1627 1654 objectResponse.setData(res);
1628 1655 objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS);
1629 1656  
... ... @@ -1631,9 +1658,68 @@
1631 1658 }
1632 1659  
1633 1660  
1634   - public String getGrowthValue(String birth, Double value, Integer sex, Integer type) {
  1661 + public String getGrowthValue(String birth, Double value, Integer sex,Integer correctAge,String babyId) {
  1662 +
  1663 +
  1664 + BabyModelQuery babyQuery = new BabyModelQuery();
  1665 + babyQuery.setId(babyId);
  1666 + babyQuery.setYn(YnEnums.YES.getId());
  1667 + //查询儿童的基本信息
  1668 + List<BabyModel> models = babyBookbuildingService.queryBabyBuildByCond(babyQuery, "created", Sort.Direction.DESC);
  1669 +
  1670 + List<AwModel> list = null;
  1671 + if (CollectionUtils.isNotEmpty(models) && models.get(0).getDueWeek() != null && correctAge != null)
  1672 + {
  1673 + Integer days = DateUtil.daysBetween(DateUtil.parseYMD(birth), new Date());
  1674 + if (models.get(0).getDueDay() != null)
  1675 + {
  1676 + days+=models.get(0).getDueDay();
  1677 + }
  1678 + Integer week = models.get(0).getDueWeek() + days/7;
  1679 +
  1680 + //查询该月龄的年龄别体重值
  1681 + list = babyCheckService.queryBabyHealthConfigWeek(week, sex, 4);
  1682 + }
  1683 + else
  1684 + {
  1685 + //Date birthday = DateUtil.addDay(DateUtil.parseYMD(birth),Math.abs(correctAge == null ? 0 : correctAge));
  1686 + //计算儿童的月龄
  1687 + int monthAge = DateUtil.getBabyAgeMonth(DateUtil.parseYMD(birth), new Date());
  1688 + //查询该月龄的年龄别体重值
  1689 + list = babyCheckService.queryBabyHealthConfig(monthAge, sex, 0);
  1690 + }
  1691 +
  1692 +
  1693 + String res = "";
  1694 + if (CollectionUtils.isNotEmpty(list)) {
  1695 + AwModel model = list.get(0);
  1696 +
  1697 + if (model.getPthreeDs() < value) {
  1698 + res = "上";
  1699 + } else if (model.getPthreeDs() >= value && value > model.getPtwoDs()) {
  1700 + res = "中上";
  1701 + } else if (model.getPtwoDs() >= value && value > model.getPoneDs()) {
  1702 + res = "中+";
  1703 + } else if (model.getPoneDs() >= value && value >= model.getRoneDs()) {
  1704 + res = "中";
  1705 + } else if (model.getRoneDs() > value && value >= model.getRtwoDs()) {
  1706 + res = "中-";
  1707 + } else if (model.getRtwoDs() > value && value >= model.getRthreeDs()) {
  1708 + res = "中下";
  1709 + } else if (model.getRtwoDs() > value) {
  1710 + res = "下";
  1711 + }
  1712 + }
  1713 +
  1714 + return res;
  1715 +
  1716 + }
  1717 +
  1718 +
  1719 + public String getGrowthValue1(String birth, Double value, Integer sex, Integer type,Integer correctAge) {
  1720 + Date birthday = DateUtil.addDay(DateUtil.parseYMD(birth),Math.abs(correctAge == null ? 0 : correctAge));
1635 1721 //计算儿童的月龄
1636   - int monthAge = DateUtil.getBabyAgeMonth(DateUtil.parseYMD(birth), new Date());
  1722 + int monthAge = DateUtil.getBabyAgeMonth(birthday, new Date());
1637 1723  
1638 1724  
1639 1725 //查询该月龄的年龄别体重值
... ... @@ -1834,5 +1920,63 @@
1834 1920 return new BaseObjectResponse().setData(list).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功");
1835 1921 }
1836 1922  
  1923 + public BaseObjectResponse getHighBabyMonthAge(String babyId, String checkDate, Boolean isHighRisk) {
  1924 + BabyModelQuery babyQuery = new BabyModelQuery();
  1925 + babyQuery.setId(babyId);
  1926 + babyQuery.setDataStatus(false);
  1927 +
  1928 + Map result = new HashMap();
  1929 + //查询儿童的基本信息
  1930 + List<BabyModel> models = babyBookbuildingService.queryBabyBuildByCond(babyQuery);
  1931 + if (CollectionUtils.isNotEmpty(models)) {
  1932 + BabyModel model = models.get(0);
  1933 + //计算儿童的预产期
  1934 + //早产儿,根据出生孕周计算末次月经,在根据末次月经计算预产期
  1935 + if (model.getBirth() != null && model.getDueWeek() != null) {
  1936 + //Date ymdBirth =DateUtil.formatDate(model.getBirth());
  1937 +
  1938 + //根据出生孕周计算末次月经
  1939 + Date lastMens = DateUtil.addWeek(model.getBirth(), -model.getDueWeek());
  1940 + if (model.getDueDay() != null) {
  1941 + lastMens = DateUtil.addDay(lastMens, -model.getDueDay());
  1942 + }
  1943 +
  1944 + Date dueDate = DateUtil.addDay(lastMens, 280);
  1945 + String correctValue = "";
  1946 +
  1947 + if (model.getDueWeek() < 37)
  1948 + {
  1949 +
  1950 + Integer days = model.getDueWeek()*7 + (model.getDueDay() == null ? 0 : model.getDueDay());
  1951 + if ((DateUtil.daysBetween(model.getBirth(),DateUtil.parseYMD(checkDate))+days) < 280)
  1952 + {
  1953 + result.put("isCorrectMonthAge", 1);
  1954 + //纠正胎龄
  1955 + correctValue = "孕"+(days/7)+"周"+(days%7 == 0 ? "" : days%7+"天");
  1956 + }
  1957 + else
  1958 + {
  1959 + //纠正月龄
  1960 + if (dueDate != null)
  1961 + {
  1962 + result.put("isCorrectMonthAge",2);
  1963 + correctValue = DateUtil.getMonthDesc(dueDate,DateUtil.parseYMD(checkDate));
  1964 + }
  1965 + }
  1966 + }
  1967 + else if (isHighRisk)
  1968 + {
  1969 + //纠正月龄
  1970 + if (dueDate != null)
  1971 + {
  1972 + result.put("isCorrectMonthAge",2);
  1973 + correctValue = DateUtil.getMonthDesc(dueDate,DateUtil.parseYMD(checkDate));
  1974 + }
  1975 + }
  1976 + result.put("correctValue",correctValue);
  1977 + }
  1978 + }
  1979 + return new BaseObjectResponse().setData(result).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功");
  1980 + }
1837 1981 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabyBasicResult.java View file @ e98bd96
... ... @@ -63,6 +63,28 @@
63 63 */
64 64 private Integer dataStatus;
65 65  
  66 +
  67 + //属于纠正月龄或者是纠正胎龄 1 纠正胎龄 2 纠正月龄
  68 + private Integer isCorrectMonthAge;
  69 +
  70 + private String correctValue;
  71 +
  72 + public Integer getIsCorrectMonthAge() {
  73 + return isCorrectMonthAge;
  74 + }
  75 +
  76 + public void setIsCorrectMonthAge(Integer isCorrectMonthAge) {
  77 + this.isCorrectMonthAge = isCorrectMonthAge;
  78 + }
  79 +
  80 + public String getCorrectValue() {
  81 + return correctValue;
  82 + }
  83 +
  84 + public void setCorrectValue(String correctValue) {
  85 + this.correctValue = correctValue;
  86 + }
  87 +
66 88 public Integer getYn() {
67 89 return yn;
68 90 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java View file @ e98bd96
... ... @@ -267,9 +267,9 @@
267 267 one.setModified(new Date());
268 268 one.setCreatYmdDate(DateUtil.getyyyy_MM_dd(new Date()));
269 269 if(!flag) {
270   - bloodSugarService.add(one);
  270 + bloodSugarService.add(one);
271 271 } else {
272   - mongoTemplate.save(one);
  272 + mongoTemplate.save(one);
273 273 }
274 274 return RespBuilder.buildSuccess(one.getId());
275 275 }