From 21cfd07da3ebaa13a653c1586065b1ed9ff02e7a Mon Sep 17 00:00:00 2001 From: liquanyu Date: Tue, 2 Apr 2019 11:47:27 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=93=E7=AE=97=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operate/web/facade/HealthChargeFacade.java | 105 +++++++++++++++++++-- 1 file changed, 95 insertions(+), 10 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java index 0806f05..ed40c6b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java @@ -11,15 +11,18 @@ import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.ExcelUtil; import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.request.HealthChargeRequest; +import com.lyms.platform.operate.web.service.ITemporaryBloodService; +import com.lyms.platform.operate.web.service.ITemporaryBloodSugarService; +import com.lyms.platform.operate.web.service.TemporaryWeightService; import com.lyms.platform.permission.service.UsersService; -import com.lyms.platform.pojo.ChargeRecordModel; -import com.lyms.platform.pojo.HealthChargeModel; -import com.lyms.platform.pojo.Patients; +import com.lyms.platform.pojo.*; import com.lyms.platform.query.ChargeRecordQuery; import com.lyms.platform.query.HealthChargeQuery; import org.apache.commons.collections.CollectionUtils; 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 javax.servlet.http.HttpServletResponse; @@ -27,6 +30,7 @@ import java.io.OutputStream; import java.util.*; /** + * 健康管理结算 * Created by Administrator on 2019-03-28. */ @Component @@ -43,6 +47,9 @@ public class HealthChargeFacade { private PatientsService patientsService; @Autowired + private MongoTemplate mongoTemplate; + + @Autowired private UsersService usersService; /** @@ -154,6 +161,11 @@ public class HealthChargeFacade { return new BaseListResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(listData).setPageInfo(healthChargeQuery.getPageInfo()); } + /** + * 返回列表字段 + * @param model + * @return + */ private Map getData(HealthChargeModel model) { Map map = new HashMap(); @@ -171,16 +183,92 @@ public class HealthChargeFacade { } else { + Integer healthType = model.getHealthType(); + switch (healthType) + { + case 1 : + getTemporaryWeightInfo(map,model.getForeignId(),model.getCreated()); + case 2 : + getTemporaryBloodSugarInfo(map, model.getForeignId(), model.getCreated()); + case 3 : + getTemporaryBloodPressInfo(map, model.getForeignId(), model.getCreated()); + } } - - - map.put("type",model.getType() == 1 ? "标准报告" : "高危报告"); + map.put("status", model.getStatus() == 1 ? "未结算" : "已结算"); + map.put("type", model.getType() == 1 ? "标准报告" : "高危报告"); map.put("source",model.getSource() == 1 ? "院内" : "临时"); map.put("time", DateUtil.getyyyy_MM_dd(model.getCreated())); return map; } + + /** + * 临时体重信息 + * @param map + * @param id + * @param created + */ + private void getTemporaryWeightInfo(Map map,String id,Date created) + { + TemporaryWeightModel temporaryWeightModel = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(id).and("yn").is(YnEnums.YES.getId())), + TemporaryWeightModel.class); + if (temporaryWeightModel != null) + { + setMap(map, temporaryWeightModel.getUserName(), temporaryWeightModel.getAge(), temporaryWeightModel.getLastMenses(), created); + } + } + + /** + * 临时血糖信息 + * @param map + * @param id + * @param created + */ + private void getTemporaryBloodSugarInfo(Map map,String id,Date created) + { + TemporaryBloodSugar temporaryBloodSugar = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(id).and("yn").is(YnEnums.YES.getId())), + TemporaryBloodSugar.class); + if (temporaryBloodSugar != null) + { + setMap(map, temporaryBloodSugar.getUserName(), temporaryBloodSugar.getAge(), temporaryBloodSugar.getLastMenses(), created); + } + } + + /** + * 临时血压信息 + * @param map + * @param id + * @param created + */ + private void getTemporaryBloodPressInfo(Map map,String id,Date created) + { + TemporaryBloodModel temporaryBloodModel = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(id).and("yn").is(YnEnums.YES.getId())), + TemporaryBloodModel.class); + if (temporaryBloodModel != null) + { + setMap(map,temporaryBloodModel.getUserName(),temporaryBloodModel.getAge(),temporaryBloodModel.getLastMenses(), created); + } + } + + private void setMap(Map map,String userName,Integer age,Date lastMenses,Date created) + { + map.put("userName", userName); + map.put("age",age); + map.put("week",DateUtil.getWeekDesc(lastMenses,created)); + } + + /** + * 更新条件查询到的结算状态 + * @param healthType + * @param hospitalId + * @param time + * @param source + * @param status + * @param type + * @param userId + * @return + */ public BaseResponse setHealthCharged(Integer healthType, String hospitalId, String time, Integer source, Integer status, Integer type, Integer userId) { @@ -201,7 +289,6 @@ public class HealthChargeFacade { { healthChargeQuery.setCreatedEnd(DateUtil.parseYMDHMS(dates[1] + " 23:59:59")); } - recordModel.setStartDate(DateUtil.parseYMD(dates[0])); recordModel.setEndDate(DateUtil.parseYMD(dates[1])); } @@ -217,8 +304,6 @@ public class HealthChargeFacade { chargeRecordService.addChargeRecord(recordModel); - - HealthChargeModel model = new HealthChargeModel(); model.setChargeRecordId(recordModel.getId()); model.setStatus(2); @@ -279,7 +364,6 @@ public class HealthChargeFacade { List list = healthChargeService.queryHealthChargeList(healthChargeQuery); if (CollectionUtils.isNotEmpty(list)) { - for (HealthChargeModel model : list) { Map map = getData(model); @@ -293,6 +377,7 @@ public class HealthChargeFacade { cnames.put("age", "年龄"); cnames.put("week", "孕周"); cnames.put("type", "报告类型"); + cnames.put("status", "结算状态"); cnames.put("source", "数据来源"); cnames.put("time", "结款时间"); response.setContentType("application/octet-stream"); -- 1.8.3.1