From 079f85936c905bd8b447e7e7f050adf2611e57a6 Mon Sep 17 00:00:00 2001 From: landong2015 Date: Thu, 22 Dec 2016 11:23:27 +0800 Subject: [PATCH] update --- .../controller/PremaritalCheckupController.java | 14 ++ .../web/facade/PremaritalCheckupFacade.java | 34 +++- .../operate/web/facade/ResidentsArchiveFacade.java | 61 +++---- .../operate/web/facade/ResidentsFacade.java | 197 +++++++++++++++++++++ 4 files changed, 270 insertions(+), 36 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PremaritalCheckupController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PremaritalCheckupController.java index a2e0a29..2450254 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PremaritalCheckupController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PremaritalCheckupController.java @@ -103,5 +103,19 @@ public class PremaritalCheckupController extends BaseController{ premaritalCheckupFacade.premaritalCheckupExport(queryRequest,loginState.getId(),response); } + /** + * 删除婚前检查记录 + * @param id + * @param request + * @return + */ + @RequestMapping(value = "/deletePremaritalCheckup", method = RequestMethod.DELETE) + @ResponseBody + @TokenRequired + public BaseResponse deletePremaritalCheckup(@RequestParam("id") String id, + HttpServletRequest request) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return premaritalCheckupFacade.deletePremaritalCheckup(id,loginState.getId()); + } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PremaritalCheckupFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PremaritalCheckupFacade.java index 22e3b97..e97a9f7 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PremaritalCheckupFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PremaritalCheckupFacade.java @@ -3,7 +3,6 @@ package com.lyms.platform.operate.web.facade; import com.lyms.platform.biz.service.BasicConfigService; import com.lyms.platform.biz.service.PremaritalCheckupService; import com.lyms.platform.biz.service.ResidentsArchiveService; -import com.lyms.platform.common.base.PageInfo; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.enums.MedicalAdviceEnum; import com.lyms.platform.common.enums.PhysiologyStatusEnum; @@ -30,7 +29,6 @@ import com.lyms.platform.query.ResidentsArchiveQuery; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.domain.Sort; import org.springframework.stereotype.Component; import javax.servlet.http.HttpServletResponse; @@ -348,6 +346,7 @@ public class PremaritalCheckupFacade { /** * 婚前检查管理 * @param request + * @param userId * @return */ public BaseListResponse queryPremaritalCheckup(PremaritalCheckupQueryRequest request,Integer userId) { @@ -697,7 +696,36 @@ public class PremaritalCheckupFacade { return id; } - //婚前检查导出 + /** + * 删除一条婚前检查记录 + * @param id + * @param userId + * @return + */ + public BaseResponse deletePremaritalCheckup(String id,Integer userId){ + BaseResponse br = new BaseResponse(); + if (StringUtils.isEmpty(id)){ + br.setErrorcode(ErrorCodeConstants.PARAMETER_ERROR); + br.setErrormsg("id为空"); + return br; + } + + PremaritalCheckup premaritalCheckup = premaritalCheckupService.getPremaritalCheckup(id); + if (premaritalCheckup!=null){ + premaritalCheckup.setYn(YnEnums.NO.getId()); + premaritalCheckup.setModified(new Date()); + premaritalCheckupService.updatePremaritalCheckup(premaritalCheckup,id); + } + return br.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + + + /** + * 婚前检查导出 + * @param request + * @param userId + * @param response + */ public void premaritalCheckupExport(PremaritalCheckupQueryRequest request,Integer userId, HttpServletResponse response){ OutputStream out = null; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ResidentsArchiveFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ResidentsArchiveFacade.java index e6061fe..9342a06 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ResidentsArchiveFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ResidentsArchiveFacade.java @@ -618,16 +618,16 @@ public class ResidentsArchiveFacade{ Map map = new HashMap<>(); map.put("username",data.getUsername()); map.put("sex","女"); - map.put("birthday",getBirthday(DateUtil.getyyyy_MM_dd(data.getBirthday()))); - map.put("countryId",getBaseicConfigByid(data.getCountryId())); - map.put("nationId",getBaseicConfigByid(data.getNationId())); - map.put("marriageId",getBaseicConfigByid(data.getMarriageId())); - map.put("certificateTypeId",getBaseicConfigByid(data.getCertificateTypeId())); + map.put("birthday", FunvCommonUtil.getBirthday(DateUtil.getyyyy_MM_dd(data.getBirthday()))); + map.put("countryId",FunvCommonUtil.getBaseicConfigByid(data.getCountryId(), basicConfigService)); + map.put("nationId",FunvCommonUtil.getBaseicConfigByid(data.getNationId(), basicConfigService)); + map.put("marriageId",FunvCommonUtil.getBaseicConfigByid(data.getMarriageId(), basicConfigService)); + map.put("certificateTypeId",FunvCommonUtil.getBaseicConfigByid(data.getCertificateTypeId(), basicConfigService)); map.put("certificateNum",data.getCertificateNum()); - map.put("censusTypeId",getBaseicConfigByid(data.getCensusTypeId())); - map.put("liveTypeId",getBaseicConfigByid(data.getLiveTypeId())); - map.put("levelTypeId",getBaseicConfigByid(data.getLevelTypeId())); - map.put("professionTypeId", getBaseicConfigByid(data.getProfessionTypeId())); + map.put("censusTypeId",FunvCommonUtil.getBaseicConfigByid(data.getCensusTypeId(), basicConfigService)); + map.put("liveTypeId",FunvCommonUtil.getBaseicConfigByid(data.getLiveTypeId(), basicConfigService)); + map.put("levelTypeId",FunvCommonUtil.getBaseicConfigByid(data.getLevelTypeId(), basicConfigService)); + map.put("professionTypeId", FunvCommonUtil.getBaseicConfigByid(data.getProfessionTypeId(), basicConfigService)); if (StringUtils.isNotEmpty(data.getHospitalId())){ Organization organization = organizationService.getOrganization(Integer.valueOf(data.getHospitalId())); if (organization != null && organization.getYn()==YnEnums.YES.getId()){ @@ -653,7 +653,7 @@ public class ResidentsArchiveFacade{ map.put("vcCardNo", data.getVcCardNo()); map.put("buildDoctor", data.getBuildDoctor()); - map.put("buildDay", data.getBuildDay()); + map.put("buildDay", DateUtil.getyyyy_MM_dd(data.getBuildDay())); list.add(map); } } @@ -694,29 +694,6 @@ public class ResidentsArchiveFacade{ } } - //获取生日 - public String getBirthday(String b){ - if (b!=null){ - String year = b.substring(0,4); - String mouth = b.substring(5,7); - String day = b.substring(8,10); - return year + "年" + mouth + "月" + day + "日"; - } - return null; - } - - //获取基础基础名称 - public String getBaseicConfigByid(String id) { - - if (StringUtils.isNotEmpty(id)){ - BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(id); - if (basicConfig!=null && basicConfig.getYn()!=YnEnums.NO.getId()){ - return basicConfig.getName(); - } - } - return ""; - } - /** * 发送妇女指导短信 * @param request @@ -798,4 +775,22 @@ public class ResidentsArchiveFacade{ } + public BaseResponse deleteArchive(String id,Integer userId){ + BaseResponse br = new BaseResponse(); + if (StringUtils.isEmpty(id)){ + br.setErrorcode(ErrorCodeConstants.PARAMETER_ERROR); + br.setErrormsg("id为空"); + return br; + } + + ResidentsArchiveModel resident = residentsArchiveService.getResident(id); + if (resident!=null){ + resident.setYn(YnEnums.NO.getId()); + resident.setModified(new Date()); + residentsArchiveService.updateResident(resident,id); + } + return br.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ResidentsFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ResidentsFacade.java index cc177d0..5b60d31 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ResidentsFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ResidentsFacade.java @@ -7,8 +7,11 @@ 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.DateUtil; +import com.lyms.platform.common.utils.ExcelUtil; +import com.lyms.platform.common.utils.SystemConfig; import com.lyms.platform.operate.web.request.ResidentsArchiveQueryRequest; import com.lyms.platform.operate.web.utils.CommonsHelper; +import com.lyms.platform.operate.web.utils.FunvCommonUtil; import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.model.OrganizationQuery; import com.lyms.platform.permission.service.OrganizationService; @@ -25,6 +28,8 @@ import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import javax.servlet.http.HttpServletResponse; +import java.io.OutputStream; import java.util.*; /** @@ -68,6 +73,7 @@ public class ResidentsFacade { query.setLimit(request.getLimit()); query.setNeed("y"); query.setYn(YnEnums.YES.getId()); + query.setSex(SystemConfig.WOMAN_ID); //出生日期范围查询 if(StringUtils.isNotEmpty(request.getBirthday())){ @@ -243,4 +249,195 @@ public class ResidentsFacade { return num; } + //数据导出接口 + public void regionaResidentsExport(ResidentsArchiveQueryRequest request,Integer userId,HttpServletResponse response){ + + OutputStream out = null; + + try { + ResidentsArchiveQuery query = new ResidentsArchiveQuery(); + query.setPage(request.getPage()); + query.setLimit(request.getLimit()); + query.setNeed("y"); + query.setYn(YnEnums.YES.getId()); + //只查女性 + query.setSex(SystemConfig.WOMAN_ID); + //出生日期范围查询 + if(StringUtils.isNotEmpty(request.getBirthday())){ + String[] dates = request.getBirthday().split(" - "); + query.setBirthdayStart(DateUtil.parseYMD(dates[0])); + if(dates.length>=2){ + Date date= DateUtil.parseYMD(dates[1]); + if(null!=date){ + long d = date.getTime() + 86398000; + date = new Date(d); + } + query.setBirthdayEnd(date); + } + } + //年龄范围查询 + if (StringUtils.isNotEmpty(request.getAge())){ + String[] ages = request.getAge().split(" - "); + query.setAgeMin(Integer.parseInt(ages[0])); + if (ages.length>=2){ + Integer ageMax = Integer.parseInt(ages[1]); + query.setAgeMax(ageMax); + } + } + //户籍地 + query.setProvinceRegisterId(request.getProvinceRegisterId()); + query.setCityRegisterId(request.getCityRegisterId()); + query.setAreaRegisterId(request.getAreaRegisterId()); + //居住地 + query.setProvinceId(request.getProvinceId()); + query.setCityId(request.getCityId()); + query.setAreaId(request.getAreaId()); + + List organizationList = null; + + //建档机构 + List hospitalList = null; + if (userId!=null){ + hospitalList = new ArrayList<>(); + String hospital = autoMatchFacade.getHospitalId(userId); + if(null!=hospital){ + //当前用户本院 + hospitalList.add(hospital); + } + //查询用户是否有区域权限 + DataPermissionsModelQuery dataPermissionsModelQuery = new DataPermissionsModelQuery(); + dataPermissionsModelQuery.setUserId(userId); + List permissionsModels = dataPermissionService.queryPermission(dataPermissionsModelQuery); + if (CollectionUtils.isNotEmpty(permissionsModels)) { + Set set = permissionsModels.get(0).getData().keySet(); + Iterator it = set.iterator(); + while (it.hasNext()) { + String id = it.next(); + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(id) && !hospitalList.contains(id)) { + hospitalList.add(id); + } + } + } + //指定医院 + if (StringUtils.isNotEmpty(request.getHospitalId())){ + List orgId = new ArrayList<>(); + orgId.add(request.getHospitalId()); + hospitalList.retainAll(orgId); + } + //省市区筛选机构 + if (StringUtils.isNotEmpty(request.getBuildProvinceId()) || StringUtils.isNotEmpty(request.getBuildCityId()) || + StringUtils.isNotEmpty(request.getBuildAreaId())){ + OrganizationQuery organizationQuery = new OrganizationQuery(); + organizationQuery.setYn(YnEnums.YES.getId()); + organizationQuery.setProvinceId(request.getBuildProvinceId()); + organizationQuery.setCityId(request.getBuildCityId()); + organizationQuery.setAreaId(request.getBuildAreaId()); + organizationList = new ArrayList<>(); + organizationList = organizationService.queryHospitals(organizationQuery); + } + if (organizationList!=null){ + List orgId = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(organizationList)) { + for (Organization org : organizationList) { + if (null != org.getId()) { + orgId.add(org.getId() + ""); + } + } + } + hospitalList.retainAll(orgId); + } + query.setHospitalIds(hospitalList); + } + + List> list = new ArrayList<>(); + + List archiveModelList = residentsArchiveService.queryResident(query); + if (CollectionUtils.isNotEmpty(archiveModelList)){ + for (ResidentsArchiveModel data : archiveModelList){ + Map map = new HashMap<>(); + map.put("username",data.getUsername()); + map.put("sex","女"); + map.put("birthday", FunvCommonUtil.getBirthday(DateUtil.getyyyy_MM_dd(data.getBirthday()))); + map.put("countryId",FunvCommonUtil.getBaseicConfigByid(data.getCountryId(),basicConfigService)); + map.put("nationId",FunvCommonUtil.getBaseicConfigByid(data.getNationId(),basicConfigService)); + map.put("marriageId",FunvCommonUtil.getBaseicConfigByid(data.getMarriageId(),basicConfigService)); + map.put("certificateTypeId",FunvCommonUtil.getBaseicConfigByid(data.getCertificateTypeId(),basicConfigService)); + map.put("certificateNum",data.getCertificateNum()); + map.put("censusTypeId",FunvCommonUtil.getBaseicConfigByid(data.getCensusTypeId(),basicConfigService)); + map.put("liveTypeId",FunvCommonUtil.getBaseicConfigByid(data.getLiveTypeId(),basicConfigService)); + map.put("levelTypeId",FunvCommonUtil.getBaseicConfigByid(data.getLevelTypeId(),basicConfigService)); + map.put("professionTypeId", FunvCommonUtil.getBaseicConfigByid(data.getProfessionTypeId(),basicConfigService)); + if (StringUtils.isNotEmpty(data.getHospitalId())){ + Organization organization = organizationService.getOrganization(Integer.valueOf(data.getHospitalId())); + if (organization != null && organization.getYn()==YnEnums.YES.getId()){ + map.put("hospital", organization.getName()); + } + } + map.put("age",data.getAge()); + map.put("phone",data.getPhone()); + map.put("workUnit",data.getWorkUnit()); + map.put("residence",CommonsHelper.getResidence(data.getProvinceId(), data.getCityId(), + data.getAreaId(), data.getStreetId(), data.getAddress(), basicConfigService)); + map.put("residenceRegister",CommonsHelper.getResidence(data.getProvinceRegisterId(), data.getCityRegisterId(), + data.getAreaRegisterId(), data.getStreetRegisterId(), + data.getAddressRegister(), basicConfigService)); + + //病史 + + map.put("vcCardNo", data.getVcCardNo()); + map.put("buildDoctor", data.getBuildDoctor()); + map.put("buildDay", DateUtil.getyyyy_MM_dd(data.getBuildDay())); + //孕次 + map.put("mod",referMod(data.getHospitalId(),data.getCertificateNum())); + list.add(map); + } + } + out = response.getOutputStream(); + Map cnames = new LinkedHashMap<>(); + cnames.put("username","姓名"); + cnames.put("sex","性别"); + cnames.put("birthday","出生日期"); + cnames.put("countryId","国籍"); + cnames.put("nationId","民族"); + cnames.put("marriageId","婚姻状况"); + cnames.put("certificateTypeId","证件类型"); + cnames.put("certificateNum","证件号"); + cnames.put("censusTypeId","户籍类型"); + cnames.put("liveTypeId","居住类别"); + cnames.put("levelTypeId","文化程度"); + cnames.put("professionTypeId","职业类别"); + cnames.put("hospital","建档医院"); + cnames.put("age","年龄"); + cnames.put("phone","联系方式"); + cnames.put("workUnit","工作单位"); + cnames.put("residence","居住地"); + cnames.put("residenceRegister","户籍地址"); + /*cnames.put("pastHistory","既往史"); + cnames.put("familyHistory","家族史"); + cnames.put("personalHistory","个人史"); + cnames.put("ywgmHistory","药物过敏史"); + cnames.put("presentHistory","现病史");*/ + cnames.put("vcCardNo","就诊卡号"); + cnames.put("buildDoctor","建档人"); + cnames.put("buildDay","建档日期"); + cnames.put("mod","记录孕次"); + response.setContentType("application/octet-stream"); + response.setHeader("Content-Disposition", "attachment;fileName=" + "qyfy.xls"); + ExcelUtil.toExcel(out, list, cnames); + }catch (Exception e){ + e.printStackTrace(); + } + + } + + + + + + + + + + + } -- 1.8.3.1