From c010a9728f901faf441c59a5e14c30cf3a1ec2dc Mon Sep 17 00:00:00 2001 From: yangfei Date: Thu, 7 Dec 2017 16:09:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=A7=E5=90=8E=E9=9A=8F=E8=AE=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/MatdeliverFollowController.java | 22 ++++- .../operate/web/facade/MatDeliverFacade.java | 74 ++++++++------ .../operate/web/facade/MatdeliverFollowFacade.java | 107 ++++++++++++++++----- .../web/request/MatdeliverFollowRequest.java | 12 +++ .../operate/web/result/MatdeliverFollowResult.java | 2 +- 5 files changed, 155 insertions(+), 62 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatdeliverFollowController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatdeliverFollowController.java index 775712d..18fc9b2 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatdeliverFollowController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatdeliverFollowController.java @@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; /** *

@@ -90,8 +91,22 @@ public class MatdeliverFollowController extends BaseController { } /** + * 产后随访列表导出 + * @return + */ + @ResponseBody + @TokenRequired + @RequestMapping(value = "/export", method = RequestMethod.GET) + public void exportMatdeliverFollowMake(MatdeliverFollowRequest MatdeliverFollowRequest, + HttpServletRequest request, + HttpServletResponse response) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + matdeliverFollowFacade.exportPostpartumFollowMake(MatdeliverFollowRequest,response, loginState.getId()); + + } + + /** * 获取产后随访列表 - * @param MatdeliverFollowRequest * @param request * @return */ @@ -99,10 +114,11 @@ public class MatdeliverFollowController extends BaseController { @TokenRequired @RequestMapping(value = "/list", method = RequestMethod.GET) public BaseListResponse getMatdeliverFollowMake( - MatdeliverFollowRequest MatdeliverFollowRequest, + MatdeliverFollowRequest matdeliverFollowRequest, HttpServletRequest request ) { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - return matdeliverFollowFacade.getPostpartumFollowMake(MatdeliverFollowRequest, loginState.getId()); + matdeliverFollowRequest.setNeed("need"); + return matdeliverFollowFacade.getPostpartumFollowMake(matdeliverFollowRequest, loginState.getId()); } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java index 0abe54e..507c87b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java @@ -1136,26 +1136,24 @@ public class MatDeliverFacade { if (StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalId())) { hospitalList.add(matdeliverFollowRequest.getHospitalId()); } else { - // 未传入查询条件,进行院内系统进行查询 - if (StringUtils.isEmpty(matdeliverFollowRequest.getHospitalProvinceId()) && StringUtils.isEmpty(matdeliverFollowRequest.getHospitalCityId()) && StringUtils.isEmpty(matdeliverFollowRequest.getHospitalAreaId())) { - - //根据用户id获取医院ID - String hospitalId = autoMatchFacade.getHospitalId(matdeliverFollowRequest.getOperatorId()); - //默认添加当前医院 - hospitalList.add(hospitalId); - - DataPermissionsModelQuery dataPermissionsModelQuery = new DataPermissionsModelQuery(); - dataPermissionsModelQuery.setUserId(matdeliverFollowRequest.getOperatorId()); - List dataPermissionsModelList = dataPermissionService.queryPermission(dataPermissionsModelQuery); - if (CollectionUtils.isNotEmpty(dataPermissionsModelList)) { - Map data = dataPermissionsModelList.get(0).getData(); - for (Object hosId : data.keySet()) { - if (StringUtils.isNotEmpty(hosId.toString()) && !hospitalList.contains(hosId.toString())) { - hospitalList.add(hosId.toString()); - } + //根据用户id获取医院ID + String hospitalId = autoMatchFacade.getHospitalId(matdeliverFollowRequest.getOperatorId()); + //默认添加当前医院 + hospitalList.add(hospitalId); + + DataPermissionsModelQuery dataPermissionsModelQuery = new DataPermissionsModelQuery(); + dataPermissionsModelQuery.setUserId(matdeliverFollowRequest.getOperatorId()); + List dataPermissionsModelList = dataPermissionService.queryPermission(dataPermissionsModelQuery); + if (CollectionUtils.isNotEmpty(dataPermissionsModelList)) { + Map data = dataPermissionsModelList.get(0).getData(); + for (Object hosId : data.keySet()) { + if (StringUtils.isNotEmpty(hosId.toString()) && !hospitalList.contains(hosId.toString())) { + hospitalList.add(hosId.toString()); } } - } else { + } + // 未传入查询条件,进行院内系统进行查询 + if (StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalProvinceId()) || StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalCityId()) || StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalAreaId())) { // 传入了查询条件 OrganizationQuery organizationQuery = new OrganizationQuery(); if (StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalProvinceId())) { @@ -1169,15 +1167,18 @@ public class MatDeliverFacade { } organizationQuery.setYn(YnEnums.YES.getId()); List organizationList = organizationService.queryHospitals(organizationQuery); + List orgId = new ArrayList<>(); if (CollectionUtils.isNotEmpty(organizationList)) { for (Organization organization : organizationList) { - hospitalList.add(organization.getId().toString()); + orgId.add(organization.getId().toString()); } } + //取区域范围内的医院id。交集 + hospitalList.retainAll(orgId); } } - if(CollectionUtils.isEmpty(hospitalList)){ + if (CollectionUtils.isEmpty(hospitalList)) { // 没有查到,直接抛出 return listResponse; } @@ -1186,10 +1187,10 @@ public class MatDeliverFacade { //查询号不为空,则查询孕妇id if (StringUtils.isNotEmpty(matdeliverFollowRequest.getQueryNo())//查询号不为空 - ||StringUtils.isNotEmpty(matdeliverFollowRequest.getProvinceId())//居住地省 - ||StringUtils.isNotEmpty(matdeliverFollowRequest.getCityId())//居住地市 - ||StringUtils.isNotEmpty(matdeliverFollowRequest.getAreaId())//居住区 - ||StringUtils.isNotEmpty(matdeliverFollowRequest.getStreetId())//居住街道 + || StringUtils.isNotEmpty(matdeliverFollowRequest.getProvinceId())//居住地省 + || StringUtils.isNotEmpty(matdeliverFollowRequest.getCityId())//居住地市 + || StringUtils.isNotEmpty(matdeliverFollowRequest.getAreaId())//居住区 + || StringUtils.isNotEmpty(matdeliverFollowRequest.getStreetId())//居住街道 ) { PatientsQuery patientsQuery = new PatientsQuery(); patientsQuery.setQueryNo(matdeliverFollowRequest.getQueryNo()); @@ -1235,12 +1236,21 @@ public class MatDeliverFacade { matDeliverQuery.setVisitResult(matdeliverFollowRequest.getVisitResult()); matDeliverQuery.setVisitAffirm(matdeliverFollowRequest.getVisitAffirm()); matDeliverQuery.setVisitStatus(matdeliverFollowRequest.getVisitStatus()); - matDeliverQuery.setLimit(matdeliverFollowRequest.getLimit()); - matDeliverQuery.setPage(matdeliverFollowRequest.getPage()); - matDeliverQuery.setNeed("need"); - List maternalDeliverModelList = matDeliverService.pageQuery(matDeliverQuery); - if(CollectionUtils.isEmpty(maternalDeliverModelList)){ + List maternalDeliverModelList; + + if(StringUtils.isNotEmpty(matdeliverFollowRequest.getNeed())){//是否分页 + matDeliverQuery.setNeed("need"); + matDeliverQuery.setLimit(matdeliverFollowRequest.getLimit()); + matDeliverQuery.setPage(matdeliverFollowRequest.getPage()); + maternalDeliverModelList = matDeliverService.pageQuery(matDeliverQuery); + }else{ + maternalDeliverModelList = matDeliverService.query(matDeliverQuery); + } + + + + if (CollectionUtils.isEmpty(maternalDeliverModelList)) { // 没有查到,直接抛出 return listResponse; } @@ -1276,7 +1286,7 @@ public class MatDeliverFacade { for (MaternalDeliverModel deliverModel : maternalDeliverModelList) { MatdeliverFollowListResult matdeliverFollowListResult = patientsMap.get(deliverModel.getParentId()); - if(matdeliverFollowListResult == null){ + if (matdeliverFollowListResult == null) { continue; } //最后一次随访Id @@ -1318,7 +1328,7 @@ public class MatDeliverFacade { matdeliverFollowListResult.setNextVisitDate(PostpartumFollowMakeEnums.IsCloseEnum.getTitle(deliverModel.getIsClose())); } else if (deliverModel.getIsClose() != null && deliverModel.getIsClose() == PostpartumFollowMakeEnums.IsCloseEnum.WJA.getId()) { //下次访视时间 - if (deliverModel.getNextVisitDate() != null&&deliverModel.getVisitResult()==1) { + if (deliverModel.getNextVisitDate() != null && deliverModel.getVisitResult() == 1) { matdeliverFollowListResult.setNextVisitDate(DateUtil.getyyyy_MM_dd(deliverModel.getNextVisitDate())); } } @@ -1327,7 +1337,7 @@ public class MatDeliverFacade { matdeliverFollowListResult.setVisitResult("待访视"); } //访视结果 - if (deliverModel.getVisitResult() != null&&deliverModel.getVisitResult() != 0) { + if (deliverModel.getVisitResult() != null && deliverModel.getVisitResult() != 0) { matdeliverFollowListResult.setVisitResult(PostpartumFollowMakeEnums.ResultEnum.getTitle(deliverModel.getVisitResult())); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatdeliverFollowFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatdeliverFollowFacade.java index 0f007e7..6125bff 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatdeliverFollowFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatdeliverFollowFacade.java @@ -11,8 +11,10 @@ import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.operate.web.request.MatDeliverFollowAddRequest; import com.lyms.platform.operate.web.request.MatdeliverFollowRequest; +import com.lyms.platform.operate.web.result.MatdeliverFollowListResult; import com.lyms.platform.operate.web.result.MatdeliverFollowResult; import com.lyms.platform.operate.web.utils.CollectionUtils; +import com.lyms.platform.operate.web.utils.ResponseUtil; import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.service.OrganizationService; @@ -25,6 +27,7 @@ import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import javax.servlet.http.HttpServletResponse; import java.util.*; /** @@ -140,17 +143,17 @@ public class MatdeliverFollowFacade { matDeliverFollowAddRequest.setUpdateUser(String.valueOf(userId)); - if(matDeliverFollowAddRequest.getVisitResult()!=null&&matDeliverFollowAddRequest.getVisitResult() == 1){//访视成功,默认设置待确认 + if (matDeliverFollowAddRequest.getVisitResult() != null && matDeliverFollowAddRequest.getVisitResult() == 1) {//访视成功,默认设置待确认 //产妇随访确认 为待确认 matDeliverFollowAddRequest.setVisitAffirm(1); } //预约成功,但访问状态还是null则就是待访视状态 - if(matDeliverFollowAddRequest.getContactResult() == 1&&matDeliverFollowAddRequest.getVisitResult() == null){ + if (matDeliverFollowAddRequest.getContactResult() == 1 && matDeliverFollowAddRequest.getVisitResult() == null) { matDeliverFollowAddRequest.setVisitStatus(1); } //有访视结果时,则就是已访视状态 - if(matDeliverFollowAddRequest.getVisitResult() != null){ + if (matDeliverFollowAddRequest.getVisitResult() != null) { matDeliverFollowAddRequest.setVisitStatus(2); matDeliverFollowAddRequest.setVisitCreateUser(String.valueOf(userId)); matDeliverFollowAddRequest.setVisitCreateDateStr(new Date()); @@ -170,7 +173,7 @@ public class MatdeliverFollowFacade { //如果修改的是最后一次随访记录,则进行同步修改分娩记录里的随访信息 if (matDeliverFollowAddRequest.getId().equals(maternalDeliverModel.getMatFollowId())) { - updateMaternalDeliver(matDeliverFollowAddRequest,maternalDeliverModel); + updateMaternalDeliver(matDeliverFollowAddRequest, maternalDeliverModel); } baseResponse.setObject(matDeliverFollowAddRequest.getId()); @@ -194,9 +197,9 @@ public class MatdeliverFollowFacade { if (maternalDeliverModel != null) { //在分娩记录上记录随访部分信息 maternalDeliverModel.setMatFollowId(matdeliverFollowModel.getId()); - updateMaternalDeliver(matDeliverFollowAddRequest,maternalDeliverModel); - }else{ - log.error("分娩记录随访没有找到随访记录,传入随访id:"+matDeliverFollowAddRequest.getDeliverId()); + updateMaternalDeliver(matDeliverFollowAddRequest, maternalDeliverModel); + } else { + log.error("分娩记录随访没有找到随访记录,传入随访id:" + matDeliverFollowAddRequest.getDeliverId()); } baseResponse.setObject(matdeliverFollowModel.getId()); @@ -210,43 +213,43 @@ public class MatdeliverFollowFacade { } - private void updateMaternalDeliver(MatDeliverFollowAddRequest matDeliverFollowAddRequest,MaternalDeliverModel maternalDeliverModel){ + private void updateMaternalDeliver(MatDeliverFollowAddRequest matDeliverFollowAddRequest, MaternalDeliverModel maternalDeliverModel) { //在分娩记录上记录随访部分信息 maternalDeliverModel.setContactResult(matDeliverFollowAddRequest.getContactResult()); - if(matDeliverFollowAddRequest.getContactReason()!=null){ + if (matDeliverFollowAddRequest.getContactReason() != null) { maternalDeliverModel.setContactReason(matDeliverFollowAddRequest.getContactReason()); - }else{ + } else { maternalDeliverModel.setContactReason(0); } - if(matDeliverFollowAddRequest.getVisitAffirm()!=null){ + if (matDeliverFollowAddRequest.getVisitAffirm() != null) { maternalDeliverModel.setVisitAffirm(matDeliverFollowAddRequest.getVisitAffirm()); - }else{ + } else { maternalDeliverModel.setVisitAffirm(0); } - if(matDeliverFollowAddRequest.getVisitStatus()!=null){ + if (matDeliverFollowAddRequest.getVisitStatus() != null) { maternalDeliverModel.setVisitStatus(matDeliverFollowAddRequest.getVisitStatus()); - }else{ + } else { maternalDeliverModel.setVisitStatus(0); } - if(matDeliverFollowAddRequest.getMakeType()!=null){ + if (matDeliverFollowAddRequest.getMakeType() != null) { maternalDeliverModel.setMakeType(matDeliverFollowAddRequest.getMakeType()); - }else{ + } else { maternalDeliverModel.setMakeType(0); } - if(matDeliverFollowAddRequest.getVisitResult()!=null){ + if (matDeliverFollowAddRequest.getVisitResult() != null) { maternalDeliverModel.setVisitResult(matDeliverFollowAddRequest.getVisitResult()); - }else{ + } else { maternalDeliverModel.setVisitResult(0); } - if(matDeliverFollowAddRequest.getNextVisitDateStr()!=null){ + if (matDeliverFollowAddRequest.getNextVisitDateStr() != null) { maternalDeliverModel.setNextVisitDate(matDeliverFollowAddRequest.getNextVisitDateStr()); - }else{ + } else { maternalDeliverModel.setNextVisitDate(null); } - if(matDeliverFollowAddRequest.getIsClose()!=null){ + if (matDeliverFollowAddRequest.getIsClose() != null) { maternalDeliverModel.setIsClose(matDeliverFollowAddRequest.getIsClose()); - }else { + } else { maternalDeliverModel.setIsClose(0); } //修改分娩记录 @@ -264,7 +267,6 @@ public class MatdeliverFollowFacade { convertToResult(matdeliverFollowResult); baseResponse.setObject(matdeliverFollowResult); - System.out.println(matdeliverFollowResult.toString()); return baseResponse; } @@ -297,13 +299,13 @@ public class MatdeliverFollowFacade { } } - if(StringUtils.isNotEmpty(matdeliverFollowResult.getReferHospital())){ - try{ + if (StringUtils.isNotEmpty(matdeliverFollowResult.getReferHospital())) { + try { Organization og = organizationService.getOrganization(Integer.valueOf(matdeliverFollowResult.getReferHospital())); if (null != og) { matdeliverFollowResult.setReferHospitalStr(og.getName()); } - }catch (Exception e){ + } catch (Exception e) { } } @@ -331,4 +333,57 @@ public class MatdeliverFollowFacade { } } } + + public void exportPostpartumFollowMake(MatdeliverFollowRequest matdeliverFollowRequest, HttpServletResponse resp, Integer id) { + matdeliverFollowRequest.setOperatorId(id); + matdeliverFollowRequest.setIsArea("area"); + BaseListResponse baseListResponse = matDeliverFacade.postpartumDeliver(matdeliverFollowRequest); + Object object = baseListResponse.getObject(); + + Map cnames = new LinkedHashMap<>(); + cnames.put("id", "#"); + cnames.put("hospitalCityName", "地市名称"); + cnames.put("hospitalAreaName", "区县名称"); + cnames.put("name", "姓名"); + cnames.put("age", "年龄"); + cnames.put("fmHospital", "分娩医院"); + cnames.put("postViewDay", "产后天数"); + cnames.put("address", "居住地"); + cnames.put("phone", "联系电话"); + cnames.put("contactResultStr", "联系状态"); + cnames.put("visitAffirm", "产妇确认"); + cnames.put("makeType", "访视类型"); + cnames.put("visitResult", "访视结果"); + cnames.put("nextVisitDate", "下次随访"); + + List> results = new ArrayList<>(); + if (object != null) { + List matdeliverFollowListResults = (List) object; + + for (int i = 0; i < matdeliverFollowListResults.size(); i++) { + MatdeliverFollowListResult mf = matdeliverFollowListResults.get(i); + Map result = new LinkedHashMap<>(); + result.put("id", i + 1); + result.put("hospitalCityName", mf.getHospitalCityName()); + result.put("hospitalAreaName", mf.getHospitalAreaName()); + result.put("name", mf.getName()); + result.put("age", String.valueOf(mf.getAge())); + result.put("fmHospital", mf.getFmHospital()); + result.put("postViewDay", mf.getPostViewDay()); + result.put("address", mf.getAddress()); + result.put("phone", mf.getPhone()); + if(StringUtils.isNotEmpty(mf.getContactResultStr())){ + result.put("contactResultStr", "待联系"); + }else{ + result.put("contactResultStr", mf.getContactResultStr()); + } + result.put("visitAffirm", mf.getVisitAffirm()); + result.put("makeType", mf.getMakeType()); + result.put("visitResult",mf.getVisitResult()); + result.put("nextVisitDate", mf.getNextVisitDate()); + results.add(result); + } + } + ResponseUtil.responseExcel(cnames, results, resp); + } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatdeliverFollowRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatdeliverFollowRequest.java index 8640fc0..53b48c2 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatdeliverFollowRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatdeliverFollowRequest.java @@ -70,6 +70,18 @@ public class MatdeliverFollowRequest extends BasePageQueryRequest{ * 产妇随访确认(1-待确认、2-已确认) */ private Integer visitAffirm; + /** + * 是否分页(导出不分页,普通分页) + */ + private String need; + + public String getNeed() { + return need; + } + + public void setNeed(String need) { + this.need = need; + } public String getProvinceId() { return provinceId; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/MatdeliverFollowResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/MatdeliverFollowResult.java index 5e5b562..dfbdbdb 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/MatdeliverFollowResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/MatdeliverFollowResult.java @@ -153,7 +153,7 @@ public class MatdeliverFollowResult extends MatdeliverFollowModel { } if (matdeliverFollowModel.getContactReason() != null && getContactResult() == 2) { - contactReasonStr = PostpartumFollowMakeEnums.ReasonEnum.getTitle(matdeliverFollowModel.getContactReason()); + contactReasonStr = PostpartumFollowMakeEnums.ContactReasonEnum.getTitle(matdeliverFollowModel.getContactReason()); } if (matdeliverFollowModel.getVisitResult() != null) { visitResultStr = PostpartumFollowMakeEnums.ResultEnum.getTitle(matdeliverFollowModel.getVisitResult()); -- 1.8.3.1