From 3417ee0e4000fc1bd00a6f4316ef11e7c84e451c Mon Sep 17 00:00:00 2001 From: wtt Date: Thu, 15 Apr 2021 11:32:54 +0800 Subject: [PATCH] update --- .../operate/web/facade/HealthChargeFacade.java | 263 ++++++++++----------- 1 file changed, 119 insertions(+), 144 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 2820c5f..2b47b91 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 @@ -84,11 +84,11 @@ public class HealthChargeFacade { * @param hospitalId 医院id * @param healthType 打印类型 1体重 2 血糖 3 血压 4妊高症 4-儿童膳食 6体成分分析 7 孕期微量元素 8孕期骨密度 9儿童微量元素 10 儿童骨密度 * @param foreignId 档案id (院内建档或者临时档案id)孕妇/儿童 - * @param type 打印报告类别 1普通报告 2高危报告(暂时不用) - * @param source 档案来源类型 1院内建档 2零时建档 (暂时不用) - * @param userId 当前登陆用户id - * @param doctorId 报表解读人id - * @param isBaby 是否为儿童 + * @param type 打印报告类别 1普通报告 2高危报告(暂时不用) + * @param source 档案来源类型 1院内建档 2零时建档 (暂时不用) + * @param userId 当前登陆用户id + * @param doctorId 报表解读人id + * @param isBaby 是否为儿童 * @return */ public BaseResponse addHealthCharge(String hospitalId, @@ -98,11 +98,11 @@ public class HealthChargeFacade { Integer source, Integer userId, String doctorId, - boolean isBaby){ + boolean isBaby) { HealthChargeRequest request = new HealthChargeRequest(); request.setHospitalId(hospitalId); request.setHealthType(healthType); - if (isBaby){ + if (isBaby) { request.setSource(source); request.setBabyForeignId(foreignId); } else { @@ -122,11 +122,11 @@ public class HealthChargeFacade { Integer userId, String doctorId, boolean isBaby, - String babyNutritionId){ + String babyNutritionId) { HealthChargeRequest request = new HealthChargeRequest(); request.setHospitalId(hospitalId); request.setHealthType(healthType); - if (isBaby){ + if (isBaby) { request.setBabyForeignId(foreignId); request.setBabyNutritionId(babyNutritionId); } else { @@ -140,16 +140,16 @@ public class HealthChargeFacade { /** * 打印体重、血糖、血压调用接口 + * * @param hospitalId 医院id * @param healthType 打印类型 1体重 2 血糖 3 血压 4妊高症 5-儿童 - * @param foreignId 档案id (院内建档或者临时档案id) - * @param type 打印报告类别 1普通报告 2高危报告 - * @param source 档案来源类型 1院内建档 2零时建档 - * @param userId 当前登陆用户id + * @param foreignId 档案id (院内建档或者临时档案id) + * @param type 打印报告类别 1普通报告 2高危报告 + * @param source 档案来源类型 1院内建档 2零时建档 + * @param userId 当前登陆用户id * @return */ - public BaseResponse addHealthCharge(String hospitalId,Integer healthType,String foreignId,Integer type,Integer source, Integer userId) - { + public BaseResponse addHealthCharge(String hospitalId, Integer healthType, String foreignId, Integer type, Integer source, Integer userId) { HealthChargeRequest request = new HealthChargeRequest(); request.setHospitalId(hospitalId); request.setHealthType(healthType); @@ -162,52 +162,46 @@ public class HealthChargeFacade { /** * 添加 + * * @param request * @param userId * @return */ public BaseResponse addHealthCharge(HealthChargeRequest request, Integer userId) { - HealthChargeQuery healthChargeQuery = new HealthChargeQuery(); + HealthChargeQuery healthChargeQuery = new HealthChargeQuery(); String babyForeignId = request.getBabyForeignId(); - if (StringUtils.isNotEmpty(babyForeignId)){ + if (StringUtils.isNotEmpty(babyForeignId)) { // 儿童 healthChargeQuery.setBabyForeignId(babyForeignId); healthChargeQuery.setBabyNutritionId(request.getBabyNutritionId()); - }else { + } else { // 孕妇 healthChargeQuery.setForeignId(request.getForeignId()); healthChargeQuery.setSource(request.getSource()); } healthChargeQuery.setHealthType(request.getHealthType()); - List list = healthChargeService.queryHealthChargeList(healthChargeQuery); + List list = healthChargeService.queryHealthChargeList(healthChargeQuery); boolean isSave = false; - if (CollectionUtils.isNotEmpty(list)) - { + if (CollectionUtils.isNotEmpty(list)) { HealthChargeModel model = list.get(0); - if (DateUtil.getyyyy_MM_dd(new Date()).equals(DateUtil.getyyyy_MM_dd(model.getCreated()))) - { + if (DateUtil.getyyyy_MM_dd(new Date()).equals(DateUtil.getyyyy_MM_dd(model.getCreated()))) { String doctorId = request.getDoctorId(); - if (StringUtils.isNotEmpty(doctorId)){ + if (StringUtils.isNotEmpty(doctorId)) { model.setDoctorId(doctorId); } model.setType(request.getType()); model.setModified(new Date()); healthChargeService.updateHealthCharge(model); - } - else - { + } else { isSave = true; } - } - else - { + } else { isSave = true; } - if (isSave) - { + if (isSave) { HealthChargeModel model = request.convertToDataModel(); model.setStatus(1); model.setOperateUserId(String.valueOf(userId)); @@ -220,11 +214,10 @@ public class HealthChargeFacade { return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } - public BaseResponse getHealthCharges(Integer healthType, String hospitalId,String time,Integer source,Integer status,Integer type,Integer page,Integer limit,Integer userId, String doctorId) - { + public BaseResponse getHealthCharges(Integer healthType, String hospitalId, String time, Integer source, Integer status, Integer type, Integer page, Integer limit, Integer userId, String doctorId) { - List listData = new ArrayList<>(); - HealthChargeQuery healthChargeQuery = new HealthChargeQuery(); + List listData = new ArrayList <>(); + HealthChargeQuery healthChargeQuery = new HealthChargeQuery(); healthChargeQuery.setPage(page); healthChargeQuery.setLimit(limit); healthChargeQuery.setNeed("true"); @@ -241,28 +234,25 @@ public class HealthChargeFacade { healthChargeQuery.setCreatedEnd(DateUtil.parseYMDHMS(dates[1] + " 23:59:59")); } } - if (StringUtils.isNotEmpty(doctorId)){ + if (StringUtils.isNotEmpty(doctorId)) { healthChargeQuery.setDoctorId(doctorId); } - List list = healthChargeService.queryHealthChargeList(healthChargeQuery); + List list = healthChargeService.queryHealthChargeList(healthChargeQuery); - if (CollectionUtils.isNotEmpty(list)) - { + if (CollectionUtils.isNotEmpty(list)) { - for (HealthChargeModel model : list) - { + for (HealthChargeModel model : list) { Map map = getData(model); - if (map == null) - { + if (map == null) { continue; } String name = ""; String id = model.getDoctorId(); if (StringUtils.isNotEmpty(id)) { - if (StringUtils.isNotEmpty(id)){ + if (StringUtils.isNotEmpty(id)) { Users users = usersService.getUsers(Integer.parseInt(id)); name = users.getName(); } @@ -277,6 +267,7 @@ public class HealthChargeFacade { /** * 体重报告结算导入2007 excle的方法 + * * @author 武涛涛 */ public BaseResponse importHealthCharges(MultipartFile file, Integer id, HttpServletResponse response) { @@ -297,7 +288,7 @@ public class HealthChargeFacade { int rowNum = sheet.getLastRowNum(); // 定义单元 XSSFCell cell = null; - List healthChargeModelList = new ArrayList<>(); + List healthChargeModelList = new ArrayList <>(); // 按行循环读取 for (int j = 1; j <= rowNum; j++) { @@ -308,7 +299,7 @@ public class HealthChargeFacade { int colNum = rowLine.getLastCellNum(); StringBuffer sb = new StringBuffer(); // 按列读取每一行的各个单元格内容 - for (int i = 1; i < colNum; i++) { + for (int i = 0; i < colNum; i++) { //获取该行索引,对应的单元格,Value cell = rowLine.getCell(i); String cellValue = null; @@ -316,10 +307,11 @@ public class HealthChargeFacade { switch (cell.getCellType()) { // 如果是数字格式 case XSSFCell.CELL_TYPE_NUMERIC: - Integer number = new Integer( (int) cell.getNumericCellValue());// 数字 + Integer number = new Integer((int) cell.getNumericCellValue());// 数字 cellValue = String.valueOf(number); break; - case XSSFCell.CELL_TYPE_STRING: cellValue = cell.getStringCellValue();// 字符串 + case XSSFCell.CELL_TYPE_STRING: + cellValue = cell.getStringCellValue();// 字符串 break; default: cellValue = ""; @@ -351,16 +343,27 @@ public class HealthChargeFacade { chargeModel.setHospitalId(hospitalId); //医院id chargeModel.setHealthType(1);// 1体重 chargeModel.setYn(YnEnums.YES.getId()); - chargeModel.setDoctorId(getUsersId(hospitalId, chargeModel.getDoctorName())); - chargeModel.setCreated(DateUtil.parseYMD(chargeModel.getCreatedStr())); + String doctorId = getUsersId(hospitalId, chargeModel.getDoctorName()); + if (StringUtils.isEmpty(doctorId)) { + continue; + } + chargeModel.setDoctorId(doctorId); + + Date date = DateUtil.parseYMD(chargeModel.getCreatedStr()); + if (date == null) { + continue; + } + chargeModel.setCreated(date); String foreignId = getForeignId(hospitalId, chargeModel); + if (StringUtils.isEmpty(foreignId)) { + continue; + } chargeModel.setForeignId(foreignId);//建档id或者临时档案id + chargeModel.setOperateUserId(String.valueOf(id)); chargeModel.setModified(new Date()); - if(StringUtils.isNotEmpty(foreignId)){ - healthChargeService.addHealthCharge(chargeModel); - } + healthChargeService.addHealthCharge(chargeModel); //System.out.println("chargeModel.toString(): " + chargeModel.toString()); } @@ -378,7 +381,7 @@ public class HealthChargeFacade { patientsQuery.setCardNo(chargeModel.getCardNo()); patientsQuery.setExtSource(false); List patientsList = patientsService.queryPatient(patientsQuery); - if(CollectionUtils.isNotEmpty(patientsList)){ + if (CollectionUtils.isNotEmpty(patientsList)) { Patients patients = patientsList.get(0); return patients.getId(); } @@ -387,7 +390,7 @@ public class HealthChargeFacade { } private String getUsersId(String hospitalId, String doctorName) { - if(StringUtils.isEmpty(doctorName) || StringUtils.isEmpty(hospitalId)){ + if (StringUtils.isEmpty(doctorName) || StringUtils.isEmpty(hospitalId)) { return null; } UsersQuery usersQuery = new UsersQuery(); @@ -397,7 +400,7 @@ public class HealthChargeFacade { List users = usersService.queryUsers(usersQuery); if (CollectionUtils.isNotEmpty(users)) { Users users1 = users.get(0); - return users1.getId() !=null ? users1.getId().toString(): null; + return users1.getId() != null ? users1.getId().toString() : null; } return null; } @@ -405,62 +408,52 @@ public class HealthChargeFacade { /** * 返回列表字段 + * * @param model * @return */ - private Map getData(HealthChargeModel model) - { + private Map getData(HealthChargeModel model) { Map map = new HashMap(); - if (model.getSource() == 1) - { + if (model.getSource() == 1) { - if (StringUtils.isNotEmpty(model.getBabyForeignId())) - { + if (StringUtils.isNotEmpty(model.getBabyForeignId())) { BabyModel babyModel = babyBookbuildingService.queryBabyBuildById(model.getBabyForeignId()); - if (babyModel == null) - { + if (babyModel == null) { return null; } - map.put("userName",babyModel.getName()); + map.put("userName", babyModel.getName()); map.put("age", DateUtil.getBabyMonthAge(babyModel.getBirth(), new Date())); map.put("checkMonth", DateUtil.getBabyMonthAge(babyModel.getBirth(), model.getCreated())); - } - else - { + } else { Patients patients = patientsService.findOnePatientById(model.getForeignId()); - if (patients == null) - { + if (patients == null) { return null; } - map.put("risk",getLastRisk(patients,model.getCreated())); + map.put("risk", getLastRisk(patients, model.getCreated())); map.put("userName", patients.getUsername()); - map.put("age",DateUtil.getAge(patients.getBirth(), model.getCreated())); - map.put("week",DateUtil.getWeekDesc(patients.getLastMenses(),model.getCreated())); + map.put("age", DateUtil.getAge(patients.getBirth(), model.getCreated())); + map.put("week", DateUtil.getWeekDesc(patients.getLastMenses(), model.getCreated())); } - } - else - { + } else { //获取临时用户信息 getTemporaryUserInfo(map, model.getForeignId(), model.getCreated()); } map.put("status", model.getStatus() == 1 ? "未结算" : "已结算"); map.put("type", model.getType() == null ? "" : model.getType() == 1 ? "标准报告" : "高危报告"); - map.put("source",model.getSource() == 1 ? "院内" : "临时"); + map.put("source", model.getSource() == 1 ? "院内" : "临时"); map.put("time", DateUtil.getyyyy_MM_dd(model.getCreated())); return map; } - private String getLastRisk(Patients patients,Date lastDate) - { + private String getLastRisk(Patients patients, Date lastDate) { String ri = ""; AntExRecordQuery antExRecordQuery = new AntExRecordQuery(); antExRecordQuery.setPid(patients.getPid()); antExRecordQuery.setCheckTimeEnd(lastDate); - List antExRecordModelList = recordService.queryAntExRecords(antExRecordQuery, Sort.Direction.DESC, "created"); - if (CollectionUtils.isNotEmpty(antExRecordModelList)) - { + List antExRecordModelList = recordService.queryAntExRecords(antExRecordQuery, Sort.Direction.DESC, "created"); + if (CollectionUtils.isNotEmpty(antExRecordModelList)) { AntExRecordModel model = antExRecordModelList.get(0); @@ -478,7 +471,7 @@ public class HealthChargeFacade { } } - List> results = commonService.resolveOtherRisk(risk); + List > results = commonService.resolveOtherRisk(risk); StringBuffer name = new StringBuffer(); Integer score = 0; if (CollectionUtils.isNotEmpty(results)) { @@ -506,32 +499,30 @@ public class HealthChargeFacade { } - /** * 获取临时用户信息 + * * @param map * @param id * @param created */ - private void getTemporaryUserInfo(Map map,String id,Date created) - { + private void getTemporaryUserInfo(Map map, String id, Date created) { TemporaryUserModel temporaryWeightModel = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(id).and("yn").is(String.valueOf(YnEnums.YES.getId()))), TemporaryUserModel.class); - if (temporaryWeightModel != null) - { - setMap(map, temporaryWeightModel.getUserName(), DateUtil.getAge(temporaryWeightModel.getBirth(),new Date()), temporaryWeightModel.getLastMenses(), created); + if (temporaryWeightModel != null) { + setMap(map, temporaryWeightModel.getUserName(), DateUtil.getAge(temporaryWeightModel.getBirth(), new Date()), temporaryWeightModel.getLastMenses(), created); } } - private void setMap(Map map,String userName,Integer age,Date lastMenses,Date 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)); + map.put("age", age); + map.put("week", DateUtil.getWeekDesc(lastMenses, created)); } /** * 更新条件查询到的结算状态 + * * @param healthType * @param hospitalId * @param time @@ -541,12 +532,11 @@ public class HealthChargeFacade { * @param userId * @return */ - public BaseResponse setHealthCharged(String doctorId,Integer healthType, String hospitalId, String time, Integer source, Integer status, Integer type, Integer userId) - { + public BaseResponse setHealthCharged(String doctorId, Integer healthType, String hospitalId, String time, Integer source, Integer status, Integer type, Integer userId) { ChargeRecordModel recordModel = new ChargeRecordModel(); - HealthChargeQuery healthChargeQuery = new HealthChargeQuery(); + HealthChargeQuery healthChargeQuery = new HealthChargeQuery(); healthChargeQuery.setHealthType(healthType); healthChargeQuery.setYn(YnEnums.YES.getId()); healthChargeQuery.setHospitalId(hospitalId); @@ -554,12 +544,10 @@ public class HealthChargeFacade { healthChargeQuery.setSource(source); healthChargeQuery.setStatus(status); healthChargeQuery.setType(type); - if (StringUtils.isNotEmpty(time)) - { + if (StringUtils.isNotEmpty(time)) { String[] dates = time.split(" - "); healthChargeQuery.setCreatedStart(DateUtil.parseYMD(dates[0])); - if (dates.length == 2) - { + if (dates.length == 2) { healthChargeQuery.setCreatedEnd(DateUtil.parseYMDHMS(dates[1] + " 23:59:59")); } recordModel.setStartDate(DateUtil.parseYMD(dates[0])); @@ -580,42 +568,37 @@ public class HealthChargeFacade { HealthChargeModel model = new HealthChargeModel(); model.setChargeRecordId(recordModel.getId()); model.setStatus(2); - healthChargeService.updateHealthCharges(healthChargeQuery,model); + healthChargeService.updateHealthCharges(healthChargeQuery, model); return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } - public BaseResponse getChargeRecords(Integer healthType, String hospitalId, String time, String doctorId, Integer page, Integer limit, Integer userId) - { - List listData = new ArrayList<>(); - ChargeRecordQuery chargeRecordQuery = new ChargeRecordQuery(); + public BaseResponse getChargeRecords(Integer healthType, String hospitalId, String time, String doctorId, Integer page, Integer limit, Integer userId) { + List listData = new ArrayList <>(); + ChargeRecordQuery chargeRecordQuery = new ChargeRecordQuery(); chargeRecordQuery.setHealthType(healthType); chargeRecordQuery.setHospitalId(hospitalId); chargeRecordQuery.setOperateUserId(doctorId); chargeRecordQuery.setPage(page); chargeRecordQuery.setLimit(limit); chargeRecordQuery.setNeed("true"); - if (StringUtils.isNotEmpty(time)) - { + if (StringUtils.isNotEmpty(time)) { String[] dates = time.split(" - "); chargeRecordQuery.setCreatedStart(DateUtil.parseYMD(dates[0])); - if (dates.length == 2) - { + if (dates.length == 2) { chargeRecordQuery.setCreatedEnd(DateUtil.parseYMDHMS(dates[1] + " 23:59:59")); } } - List list = chargeRecordService.queryChargeRecordList(chargeRecordQuery); - if (CollectionUtils.isNotEmpty(list)) - { - for (ChargeRecordModel model : list) - { + List list = chargeRecordService.queryChargeRecordList(chargeRecordQuery); + if (CollectionUtils.isNotEmpty(list)) { + for (ChargeRecordModel model : list) { Map map = new HashMap(); - 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()); - map.put("doctorName",usersService.getUsers(Integer.parseInt(model.getOperateUserId())).getName()); - map.put("created",DateUtil.getyyyy_MM_dd(model.getCreated())); + 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()); + map.put("doctorName", usersService.getUsers(Integer.parseInt(model.getOperateUserId())).getName()); + map.put("created", DateUtil.getyyyy_MM_dd(model.getCreated())); listData.add(map); } } @@ -624,50 +607,44 @@ public class HealthChargeFacade { /** * 导出 + * * @param id * @param response */ - public void exportChargeRecords(String id, HttpServletResponse response) - { + public void exportChargeRecords(String id, HttpServletResponse response) { try { - ChargeRecordQuery chargeRecordQuery = new ChargeRecordQuery(); + ChargeRecordQuery chargeRecordQuery = new ChargeRecordQuery(); chargeRecordQuery.setId(id); String time = ""; - List chargeRecordModels = chargeRecordService.queryChargeRecordList(chargeRecordQuery); - if (CollectionUtils.isNotEmpty(chargeRecordModels)) - { + List chargeRecordModels = chargeRecordService.queryChargeRecordList(chargeRecordQuery); + if (CollectionUtils.isNotEmpty(chargeRecordModels)) { time = DateUtil.getyyyy_MM_dd(chargeRecordModels.get(0).getCreated()); } - List> listData = new ArrayList<>(); - HealthChargeQuery healthChargeQuery = new HealthChargeQuery(); + List > listData = new ArrayList <>(); + HealthChargeQuery healthChargeQuery = new HealthChargeQuery(); healthChargeQuery.setChargeRecordId(id); - List list = healthChargeService.queryHealthChargeList(healthChargeQuery); - if (CollectionUtils.isNotEmpty(list)) - { - for (HealthChargeModel model : list) - { + List list = healthChargeService.queryHealthChargeList(healthChargeQuery); + if (CollectionUtils.isNotEmpty(list)) { + for (HealthChargeModel model : list) { Map map = getData(model); - map.put("time",time); + map.put("time", time); listData.add(map); } } OutputStream out = response.getOutputStream(); - Map cnames = new LinkedHashMap<>(); + Map cnames = new LinkedHashMap <>(); cnames.put("userName", "姓名"); cnames.put("age", "年龄"); - if (CollectionUtils.isNotEmpty(list) && listData.get(0).get("checkMonth") != null) - { + if (CollectionUtils.isNotEmpty(list) && listData.get(0).get("checkMonth") != null) { cnames.put("checkMonth", "检查月龄"); - } - else - { + } else { cnames.put("week", "孕周"); } cnames.put("type", "报告类型"); @@ -678,9 +655,7 @@ public class HealthChargeFacade { response.setCharacterEncoding("UTF-8"); response.setHeader("Content-Disposition", "attachment;fileName=data.xls"); ExcelUtil.toExcel(out, listData, cnames); - } - catch (Exception e) - { + } catch (Exception e) { e.printStackTrace(); } } -- 1.8.3.1