From 8fd7a3474f3fb205beb0ae731143e28ab5013972 Mon Sep 17 00:00:00 2001 From: dongqin <123456> Date: Tue, 28 May 2019 19:19:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=81=A5=E5=BA=B7=E7=BB=9F=E8=AE=A1-=E7=BB=93?= =?UTF-8?q?=E7=AE=97=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lyms/platform/pojo/HealthChargeModel.java | 2 +- .../com/lyms/platform/query/HealthChargeQuery.java | 13 + .../web/controller/BabyNutritionController.java | 42 ++ .../web/controller/HealthChargeController.java | 1 + .../operate/web/facade/BabyNutritionFacade.java | 443 ++++++++++++++++----- .../operate/web/facade/HealthChargeFacade.java | 2 +- .../operate/web/request/HealthChargeRequest.java | 2 +- 7 files changed, 413 insertions(+), 92 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/HealthChargeModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/HealthChargeModel.java index 69fc37a..0e67353 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/HealthChargeModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/HealthChargeModel.java @@ -21,7 +21,7 @@ public class HealthChargeModel extends BaseModel { //医院id private String hospitalId; - // 1体重 2 血糖 3 血压 + // 1体重 2 血糖 3 血压 4妊高症 5-儿童 private Integer healthType; //建档id或者临时档案id diff --git a/platform-dal/src/main/java/com/lyms/platform/query/HealthChargeQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/HealthChargeQuery.java index 5350a84..2857803 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/HealthChargeQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/HealthChargeQuery.java @@ -62,6 +62,16 @@ public class HealthChargeQuery extends BaseQuery implements IConvertToNativeQuer */ private String doctorId; + private List ids; + + public List getIds() { + return ids; + } + + public void setIds(List ids) { + this.ids = ids; + } + public String getBabyNutritionId() { return babyNutritionId; } @@ -137,6 +147,9 @@ public class HealthChargeQuery extends BaseQuery implements IConvertToNativeQuer condition = condition.and("babyNutritionId", babyNutritionId, MongoOper.IS); } + if (CollectionUtils.isNotEmpty(ids)) { + condition = condition.and("id", ids, MongoOper.IN); + } Criteria c = null; if (null != createdStart && createdEnd != null) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyNutritionController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyNutritionController.java index e35ba5f..5d0a3f4 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyNutritionController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyNutritionController.java @@ -13,6 +13,7 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; @@ -146,4 +147,45 @@ public class BabyNutritionController extends BaseController { return babyNutritionFacade.unSettleList(request, getUserId(httpServletRequest)); } + /** + * 结算操作 + * + * @param request + * @return + */ + @RequestMapping(method = RequestMethod.POST, value = "/settle/status") + @ResponseBody + @TokenRequired + public BaseResponse settleStatus(@Valid @RequestBody BabyNutritionSettleRequest request, + HttpServletRequest httpServletRequest) { + return babyNutritionFacade.settleStatus(request, getUserId(httpServletRequest)); + } + + /** + * 结算历史 + * + * @param request + * @return + */ + @RequestMapping(method = RequestMethod.POST, value = "/settle/list") + @ResponseBody + @TokenRequired + public BaseResponse settleHistoryList(@Valid @RequestBody BabyNutritionSettleRequest request, + HttpServletRequest httpServletRequest) { + return babyNutritionFacade.settleHistoryList(request, getUserId(httpServletRequest)); + } + + /** + * 导出 + * + * @param request + * @return + */ + @RequestMapping(method = RequestMethod.POST, value = "/settleHistory/export") + @TokenRequired + public void settleHistoryExport(@Valid @RequestBody BabyNutritionSettleRequest request, + HttpServletResponse response) { + babyNutritionFacade.settleHistoryExport(request,response); + } + } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/HealthChargeController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/HealthChargeController.java index d174160..17826c0 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/HealthChargeController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/HealthChargeController.java @@ -127,6 +127,7 @@ public class HealthChargeController extends BaseController{ /** * 导出 + * * @param id * @param request * @param response diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java index ff867f2..1f48a40 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java @@ -9,12 +9,10 @@ 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.*; -import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.request.BabyNutritionRequest; import com.lyms.platform.operate.web.request.BabyNutritionSettleRequest; import com.lyms.platform.operate.web.result.*; import com.lyms.platform.operate.web.service.PatientWeightService; - import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.service.MeasureDataInfoService; @@ -23,15 +21,15 @@ import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.*; import com.lyms.platform.query.*; import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang.*; import org.springframework.beans.factory.annotation.Autowired; - import org.springframework.data.domain.Sort; 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; +import java.io.OutputStream; import java.util.*; @Component @@ -87,6 +85,9 @@ public class BabyNutritionFacade { @Autowired private AreaCountFacade areaCountFacade; + @Autowired + private ChargeRecordService chargeRecordService; + public BaseObjectResponse queryBabyNutritionRecord(String babyId) { Map resMap = new HashMap<>(); BabyBasicResult base = new BabyBasicResult(); @@ -257,55 +258,14 @@ public class BabyNutritionFacade { Integer currentSettleStatus = getSettleStatus(model); if (settleStatus != null) { if (currentSettleStatus != null && (currentSettleStatus == Integer.parseInt(settleStatus))) { - Map map = new HashMap(); - map.put("id", model.getId()); - map.put("babyId", model.getBabyId()); - - BabyModel baby = babyBookbuildingService.queryBabyBuildById(model.getBabyId()); - map.put("babyName", baby.getName()); - map.put("babySex", SexEnum.getTextById(baby.getSex())); - map.put("monthAge", StringUtils.emptyDeal(DateUtil.getBabyMonthAge(baby.getBirth(), new Date()))); - map.put("motherName", baby.getMname()); - map.put("phone", baby.getMphone()); - map.put("vcCardNo", baby.getVcCardNo()); - - String highRiskInfos = basicConfigFacade.queryBaseInfoByStr(baby.getHighRiskInfo()); - map.put("highRiskInfos", highRiskInfos); - - String diagnose = ""; - if (StringUtils.isNotEmpty(baby.getPid())) { - List diagList = babyCheckFacade.getBabyLastDiagnose(baby.getPid()); - if (CollectionUtils.isNotEmpty(diagList)) { - for (Object obj : diagList) { - BasicConfig basicConfig = basicConfigService.getOneBasicConfigById((String) obj); - if (basicConfig != null) { - diagnose += basicConfig.getName() + " "; - } - } - } - } - - map.put("diagnose", StringUtils.emptyDeal(diagnose)); - - map.put("weight", model.getWeight()); - map.put("height", model.getHeight()); - map.put("recordTime", DateUtil.getyyyy_MM_dd(model.getNutritiTime())); - - // 新增报表解读人和结算状态 - String currInterpretDoctorId = model.getInterpretDoctorId(); - String interpretDoctorName = ""; - if (StringUtils.isNotEmpty(currInterpretDoctorId)) { - Users users = usersService.getUsers(Integer.parseInt(currInterpretDoctorId)); - if (users != null) { - interpretDoctorName = users.getName(); - } - } - String settleStatusName = currentSettleStatus == 1 ? "未结算" : "已结算"; - map.put("interpretDoctorName", interpretDoctorName); - map.put("settleStatusName", settleStatusName); - - list.add(map); + // 组织数据格式 + Map mapData = getMapData(model, currentSettleStatus); + list.add(mapData); } + } else { + // 组织数据格式 + Map mapData = getMapData(model, currentSettleStatus); + list.add(mapData); } } } @@ -318,6 +278,60 @@ public class BabyNutritionFacade { return objectResponse; } + private Map getMapData(BabyNutritionModel model, Integer currentSettleStatus) { + Map map = new HashMap(); + map.put("id",model.getId()); + map.put("babyId",model.getBabyId()); + + BabyModel baby = babyBookbuildingService.queryBabyBuildById(model.getBabyId()); + map.put("babyName",baby.getName()); + map.put("babySex", SexEnum.getTextById(baby.getSex())); + map.put("monthAge", StringUtils.emptyDeal(DateUtil.getBabyMonthAge(baby.getBirth(), new Date()))); + map.put("motherName", baby.getMname()); + map.put("phone", baby.getMphone()); + map.put("vcCardNo", baby.getVcCardNo()); + + String highRiskInfos = basicConfigFacade.queryBaseInfoByStr(baby.getHighRiskInfo()); + map.put("highRiskInfos",highRiskInfos); + + String diagnose = ""; + if (StringUtils.isNotEmpty(baby.getPid())) { + List diagList = babyCheckFacade.getBabyLastDiagnose(baby.getPid()); + if (CollectionUtils.isNotEmpty(diagList)) { + for (Object obj : diagList) { + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById((String) obj); + if (basicConfig != null) { + diagnose += basicConfig.getName() + " "; + } + } + } + } + + map.put("diagnose", StringUtils.emptyDeal(diagnose)); + + map.put("weight", model.getWeight()); + map.put("height", model.getHeight()); + map.put("recordTime", DateUtil.getyyyy_MM_dd(model.getNutritiTime())); + + // 新增报表解读人和结算状态 + String currInterpretDoctorId = model.getInterpretDoctorId(); + String interpretDoctorName = ""; + if (StringUtils.isNotEmpty(currInterpretDoctorId)){ + Users users = usersService.getUsers(Integer.parseInt(currInterpretDoctorId)); + if (users != null){ + interpretDoctorName = users.getName(); + } + } + String settleStatusName = ""; + if (currentSettleStatus != null){ + settleStatusName = currentSettleStatus == 1 ? "未结算" : "已结算"; + } + map.put("interpretDoctorName", interpretDoctorName); + map.put("settleStatusName", settleStatusName); + + return map; + } + /** * 获取结算状态 * @@ -632,7 +646,7 @@ public class BabyNutritionFacade { data.put("wlysitems", wlysitems); - healthChargeFacade.addHealthCharge(hospitalId, 4, baby.getId(), null, null, + healthChargeFacade.addHealthCharge(hospitalId, 5, baby.getId(), null, null, userId, model.getInterpretDoctorId(), true, model.getId()); } BaseObjectResponse objectResponse = new BaseObjectResponse(); @@ -902,11 +916,12 @@ public class BabyNutritionFacade { * @return */ public BaseResponse unSettleList(BabyNutritionSettleRequest request, Integer userId) { - HealthChargeQuery healthChargeQuery = new HealthChargeQuery(); + + HealthChargeQuery healthChargeQuery = new HealthChargeQuery(); healthChargeQuery.setPage(request.getPage()); healthChargeQuery.setLimit(request.getLimit()); healthChargeQuery.setNeed("true"); - healthChargeQuery.setHealthType(4); + healthChargeQuery.setHealthType(5); healthChargeQuery.setYn(YnEnums.YES.getId()); healthChargeQuery.setHospitalId(request.getHospitalId()); healthChargeQuery.setStatus(1); @@ -914,58 +929,105 @@ public class BabyNutritionFacade { Date startDate = areaCountFacade.getStartDate(); healthChargeQuery.setCreatedStart(startDate); healthChargeQuery.setCreatedEnd(new Date()); - if (request.getStartTime() != null) { + if (request.getStartTime() != null){ healthChargeQuery.setCreatedStart(request.getStartTime()); healthChargeQuery.setCreatedEnd(request.getEndTime()); } String findNo = request.getNumber(); String keyword = request.getKeyword(); + List arrayList = new ArrayList() {}; + BaseListResponse objectResponse = new BaseListResponse(); - List list = healthChargeService.queryHealthChargeList(healthChargeQuery); - List resultList = new LinkedList<>(); - if (CollectionUtils.isNotEmpty(list)) { - for (HealthChargeModel model : list) { - String babyForeignId = model.getBabyForeignId(); - - if (StringUtils.isNotEmpty(findNo) && StringUtils.isNotEmpty(keyword)) { - List babyModels = getBabyModels(findNo, babyForeignId); - if (CollectionUtils.isNotEmpty(babyModels)) { - BabyModel babyModel = babyModels.get(0); - String name = babyModel.getName(); - if (name.contains(keyword)) { - resultList.add(model); - } - } - } - - if (StringUtils.isNotEmpty(findNo)) { - List babyModels = getBabyModels(findNo, babyForeignId); - if (CollectionUtils.isNotEmpty(babyModels)) { - resultList.add(model); + if (StringUtils.isNotEmpty(findNo) && StringUtils.isNotEmpty(keyword)){ + List babyModels = getBabyModels(findNo, null); + if (CollectionUtils.isNotEmpty(babyModels)){ + for (BabyModel model: babyModels){ + String name = model.getName(); + if (name.contains(keyword)){ + String modelId = model.getId(); + arrayList.add(modelId); } } - - if (StringUtils.isNotEmpty(keyword)) { - BabyModelQuery babyQuery = new BabyModelQuery(); - babyQuery.setId(babyForeignId); - babyQuery.setQueryNo(findNo); - babyQuery.setYn(YnEnums.YES.getId()); + } + }else if (StringUtils.isNotEmpty(findNo)){ + List babyModels = getBabyModels(findNo, null); + if (CollectionUtils.isNotEmpty(babyModels)){ + for (BabyModel model: babyModels){ + String modelId = model.getId(); + arrayList.add(modelId); } - - if (StringUtils.isEmpty(findNo) && StringUtils.isEmpty(keyword)) { - resultList.add(model); + } + }else if (StringUtils.isNotEmpty(keyword)){ + List babyModels = mongoTemplate.find(Query.query(Criteria.where("name").regex(keyword)), BabyModel.class); + if (CollectionUtils.isNotEmpty(babyModels)){ + for (BabyModel babyModel : babyModels){ + arrayList.add(babyModel.getId()); } } } - BaseListResponse objectResponse = new BaseListResponse(); - objectResponse.setData(list); + if (arrayList.size() > 0){ + healthChargeQuery.setIds(arrayList); + } + List> healthChargeModels = getHealthChargeModels(healthChargeQuery); + objectResponse.setData(healthChargeModels); objectResponse.setPageInfo(healthChargeQuery.getPageInfo()); objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); objectResponse.setErrormsg("成功"); + return objectResponse; } /** + * 根据添加查询 + * + * @param healthChargeQuery + * @return + */ + private List> getHealthChargeModels(HealthChargeQuery healthChargeQuery) { + List> list = new LinkedList<>(); + List healthChargeModels = healthChargeService.queryHealthChargeList(healthChargeQuery); + for (HealthChargeModel healthChargeModel : healthChargeModels){ + + String foreignId = healthChargeModel.getBabyForeignId(); + BabyModel mongoTemplateOne = mongoTemplate.findOne(Query.query(Criteria.where("id").is(foreignId)), BabyModel.class); + if (mongoTemplateOne != null) { + String babayName = ""; + + String babyNutritionId = healthChargeModel.getBabyNutritionId(); + Date createTime = null; + if (babyNutritionId != null){ + BabyNutritionModel nutritionModel = mongoTemplate.findOne(Query.query(Criteria.where("id").is(babyNutritionId)), BabyNutritionModel.class); + createTime = nutritionModel.getCreated(); + + } + String doctorId = healthChargeModel.getDoctorId(); + String doctorName = ""; + if (doctorId != null){ + Users users = mongoTemplate.findOne(Query.query(Criteria.where("id")), Users.class); + if (users != null){ + doctorName = users.getName(); + } + } + LinkedHashMap hashMap = new LinkedHashMap<>(); + + babayName = mongoTemplateOne.getName(); + Integer sex = mongoTemplateOne.getSex(); + hashMap.put("babyName", babayName); + hashMap.put("gender", sex != null ? sex == 1 ? "男" : "女" : ""); + hashMap.put("phone", mongoTemplateOne.getMphone()); + hashMap.put("cardNo", mongoTemplateOne.getCardNo()); + hashMap.put("weight", mongoTemplateOne.getBabyWeight()); + hashMap.put("babyHeight", mongoTemplateOne.getBabyHeight()); + hashMap.put("createTime", createTime); + hashMap.put("interpretDoctorName", doctorName); + hashMap.put("id", babyNutritionId); + list.add(hashMap); + } + } + return list; + } + + /** * 获取儿童 * * @param findNo @@ -974,12 +1036,215 @@ public class BabyNutritionFacade { */ private List getBabyModels(String findNo, String babyForeignId) { BabyModelQuery babyQuery = new BabyModelQuery(); - babyQuery.setId(babyForeignId); babyQuery.setQueryNo(findNo); babyQuery.setYn(YnEnums.YES.getId()); + if (babyForeignId != null){ + babyQuery.setId(babyForeignId); + } return babyBookbuildingService.queryBabyBuildByCond(babyQuery); } + + /** + * 结算操作 + * + * @param request + * @param userId + * @return + */ + public BaseResponse settleStatus(BabyNutritionSettleRequest request, Integer userId) { + HealthChargeQuery healthChargeQuery = new HealthChargeQuery(); + healthChargeQuery.setHealthType(5); + healthChargeQuery.setYn(YnEnums.YES.getId()); + healthChargeQuery.setHospitalId(request.getHospitalId()); + healthChargeQuery.setStatus(1); + Date startTime = request.getStartTime(); + Date endTime = request.getEndTime(); + if (startTime == null || endTime == null){ + return new BaseResponse("请填写起始时间", ErrorCodeConstants.PARAMETER_ERROR); + } + healthChargeQuery.setCreatedStart(startTime); + healthChargeQuery.setCreatedEnd(endTime); + + ChargeRecordModel recordModel = new ChargeRecordModel(); + recordModel.setStartDate(startTime); + recordModel.setEndDate(endTime); + + int chargeCount = healthChargeService.queryHealthChargeCount(healthChargeQuery); + + recordModel.setOperateUserId(String.valueOf(userId)); + recordModel.setHealthType(5); + recordModel.setCreated(new Date()); + recordModel.setHospitalId(request.getHospitalId()); + recordModel.setChargeCount(chargeCount); + + chargeRecordService.addChargeRecord(recordModel); + + HealthChargeModel model = new HealthChargeModel(); + model.setChargeRecordId(recordModel.getId()); + model.setStatus(2); + healthChargeService.updateHealthCharges(healthChargeQuery,model); + + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + + /** + * 结算历史 + * + * @param request + * @param userId + * @return + */ + public BaseResponse settleHistoryList(BabyNutritionSettleRequest request, Integer userId) { + List listData = new ArrayList<>(); + ChargeRecordQuery chargeRecordQuery = new ChargeRecordQuery(); + chargeRecordQuery.setHealthType(5); + chargeRecordQuery.setHospitalId(request.getHospitalId()); + chargeRecordQuery.setOperateUserId(userId.toString()); + chargeRecordQuery.setPage(request.getPage()); + chargeRecordQuery.setLimit(request.getLimit()); + chargeRecordQuery.setNeed("true"); + Date startTime = request.getStartTime(); + Date endTime = request.getEndTime(); + if (startTime == null || endTime == null){ + startTime = areaCountFacade.getStartDate(); + endTime = new Date(); + } + chargeRecordQuery.setCreatedStart(startTime); + chargeRecordQuery.setCreatedEnd(endTime); + + List list = chargeRecordService.queryChargeRecordList(chargeRecordQuery); + if (CollectionUtils.isNotEmpty(list)) { + for (ChargeRecordModel model : list){ + Map map = new LinkedHashMap(); + map.put("id",model.getId()); + map.put("startDate",DateUtil.getyyyy_MM_dd(model.getStartDate())); + map.put("endDate",DateUtil.getyyyy_MM_dd(model.getEndDate())); + map.put("chargeCount",model.getChargeCount()); + Users users = usersService.getUsers(Integer.parseInt(model.getOperateUserId())); + String doctorName = ""; + if (users != null){ + doctorName = users.getName(); + } + map.put("doctorName",doctorName); + map.put("created",DateUtil.getyyyy_MM_dd(model.getCreated())); + listData.add(map); + } + } + return new BaseListResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(listData).setPageInfo(chargeRecordQuery.getPageInfo()); + } + + /** + * 导出 + * + * @param request + * @param response + */ + public void settleHistoryExport(BabyNutritionSettleRequest request, HttpServletResponse response) { + try { + LinkedList> objects = new LinkedList<>(); + String recordId = request.getKeyword(); + if (StringUtils.isNotEmpty(recordId)){ + return; + } + ChargeRecordQuery chargeRecordQuery = new ChargeRecordQuery(); + chargeRecordQuery.setId(recordId); + + ChargeRecordModel chargeRecordModel = mongoTemplate.findOne(Query.query(Criteria.where("id").is(recordId)), ChargeRecordModel.class); + String date = ""; + if (chargeRecordModel != null){ + date = DateUtil.getyyyy_MM_dd(chargeRecordModel.getCreated()); + } + + List healthChargeModels = mongoTemplate.find(Query.query(Criteria.where("chargeRecordId").is(recordId)), HealthChargeModel.class); + if (CollectionUtils.isNotEmpty(healthChargeModels)){ + for (HealthChargeModel model: healthChargeModels){ + Map map = new LinkedHashMap<>(); + BabyModel babyModel = mongoTemplate.findOne(Query.query(Criteria.where("id").is(model.getBabyForeignId())), BabyModel.class); + map.put("userName", babyModel.getName()); + String birthStr = DateUtil.getyyyy_MM_dd(babyModel.getBirth()); + map.put("age", getAge(birthStr)); + // 新国说的,以下几个写死 2019/05/28 + map.put("week",""); + map.put("type","儿童膳食报告"); + map.put("status","已结算"); + map.put("source","院内"); + map.put("time", date); + objects.add(map); + } + } + OutputStream out = response.getOutputStream(); + Map cnames = new LinkedHashMap<>(); + cnames.put("userName", "姓名"); + cnames.put("age", "年龄"); + cnames.put("week", "孕周"); + cnames.put("type", "报告类型"); + cnames.put("status", "结算状态"); + cnames.put("source", "数据来源"); + cnames.put("time", "结算时间"); + response.setContentType("application/octet-stream"); + response.setCharacterEncoding("UTF-8"); + response.setHeader("Content-Disposition", "attachment;fileName=data.xls"); + ExcelUtil.toExcel(out, objects, cnames); + }catch (Exception e){ + e.printStackTrace(); + } + } + + /** + * 根据生日计算出年龄 + * + * @param date + * @return + */ + public static String getAge(String date) { + String[] data = date.split("-"); + if (data.length <3){ + return ""; + } + + Calendar birthday =new GregorianCalendar(Integer.valueOf(data[0]), Integer.valueOf(data[1]), Integer.valueOf(data[2])); + Calendar now = Calendar.getInstance(); + int day = now.get(Calendar.DAY_OF_MONTH) - birthday.get(Calendar.DAY_OF_MONTH); + + // 月份从0开始计算,所以需要+1 + int month = now.get(Calendar.MONTH) +1 - birthday.get(Calendar.MONTH); + int year = now.get(Calendar.YEAR) - birthday.get(Calendar.YEAR); + + // 按照减法原理,先day相减,不够向month借;然后month相减,不够向year借;最后year相减。 + + if (day <0) { + month -=1; + // 得到上一个月,用来得到上个月的天数。 + now.add(Calendar.MONTH, -1); + day = day + now.getActualMaximum(Calendar.DAY_OF_MONTH); + } + + if (month <0) { + month = (month +12) %12; + year--; + } + + StringBuffer tag =new StringBuffer(); + + if (year >0) { + tag.append(year +"岁"); + } + + if (month >0) { + tag.append(month +"个月"); + } + + if (day >0) { + tag.append(day +"天"); + } + + if (year ==0 && month ==0 && day ==0) { + tag.append("今日出生"); + } + return String.valueOf(tag); + } + public BaseObjectResponse queryBabyDietReport(String id, Integer userId) { Map data = new HashMap(); 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 a09def6..f2b06c1 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 @@ -115,7 +115,7 @@ public class HealthChargeFacade { /** * 打印体重、血糖、血压调用接口 * @param hospitalId 医院id - * @param healthType 打印类型 1体重 2 血糖 3 血压 4妊高症 + * @param healthType 打印类型 1体重 2 血糖 3 血压 4妊高症 5-儿童 * @param foreignId 档案id (院内建档或者临时档案id) * @param type 打印报告类别 1普通报告 2高危报告 * @param source 档案来源类型 1院内建档 2零时建档 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/HealthChargeRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/HealthChargeRequest.java index 9b8f346..ee9f726 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/HealthChargeRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/HealthChargeRequest.java @@ -17,7 +17,7 @@ public class HealthChargeRequest implements IBasicRequestConvert