diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/FolicAcidController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/FolicAcidController.java index 7678e44..504b5c2 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/FolicAcidController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/FolicAcidController.java @@ -58,4 +58,14 @@ public class FolicAcidController { return folicAcidFacade.queryFolicAcid(folicAcidQueryRequest); } + // + @RequestMapping(value = "/folicAcidExport", method = RequestMethod.GET) + @ResponseBody +// @TokenRequired + public BaseListResponse folicAcidExport(@Valid FolicAcidQueryRequest folicAcidQueryRequest, + HttpServletRequest request) { + + return folicAcidFacade.queryFolicAcid(folicAcidQueryRequest); + } + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ResidentsArchiveController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ResidentsArchiveController.java index 2eb7edf..28ea534 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ResidentsArchiveController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ResidentsArchiveController.java @@ -15,6 +15,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; /** @@ -81,6 +82,7 @@ public class ResidentsArchiveController extends BaseController { */ @RequestMapping(value = "/queryResidentsArchiveById/{id}", method = RequestMethod.GET) @ResponseBody +// @TokenRequired public BaseObjectResponse queryResidentsArchiveById(@PathVariable("id")String id){ BaseObjectResponse objectResponse = residentsArchiveFacade.queryResidentsArchiveById(id); return objectResponse; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/FolicAcidFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/FolicAcidFacade.java index 311d25e..75e99c6 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/FolicAcidFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/FolicAcidFacade.java @@ -173,4 +173,6 @@ public class FolicAcidFacade { return baseListResponse; } + //叶酸发放导出 + } 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 416a430..a2cf815 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 @@ -9,6 +9,7 @@ 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.JsonUtil; import com.lyms.platform.common.utils.SystemConfig; import com.lyms.platform.operate.web.request.ResidentsArchiveAddRequest; @@ -21,8 +22,10 @@ import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.permission.service.UsersService; +import com.lyms.platform.pojo.BasicConfig; import com.lyms.platform.pojo.PremaritalCheckup; import com.lyms.platform.pojo.ResidentsArchiveModel; +import com.lyms.platform.query.BasicConfigQuery; import com.lyms.platform.query.PremaritalCheckupQuery; import com.lyms.platform.query.ResidentsArchiveQuery; import com.mongodb.util.JSON; @@ -32,6 +35,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.*; /** @@ -327,19 +332,54 @@ public class ResidentsArchiveFacade{ return objectResponse; } - ResidentsArchiveResult result = new ResidentsArchiveResult(); + ResidentsArchiveModel model = null; + ResidentsArchiveResult result = new ResidentsArchiveResult(); ResidentsArchiveQuery query = new ResidentsArchiveQuery(); query.setYn(YnEnums.YES.getId()); query.setId(id); List modelList = residentsArchiveService.queryResident(query); if (CollectionUtils.isNotEmpty(modelList)){ - ResidentsArchiveModel model = modelList.get(0); + model = modelList.get(0); + //建档详情 result = getResult(model); } - objectResponse.setData(result); + List historyResults = new ArrayList<>(); + + //历史记录 + if (model!=null){ + ResidentsArchiveQuery archiveQuery = new ResidentsArchiveQuery(); + archiveQuery.setHospitalId(model.getHospitalId()); + archiveQuery.setYn(YnEnums.YES.getId()); + if (StringUtils.isNotEmpty(model.getCertificateNum())){ + archiveQuery.setCertificateNum(model.getCertificateNum()); + }else if (StringUtils.isNotEmpty(model.getVcCardNo())){ + archiveQuery.setVcCardNo(model.getVcCardNo()); + } + List archiveModelList = residentsArchiveService.queryResident(archiveQuery); + if (CollectionUtils.isNotEmpty(archiveModelList)){ + for (ResidentsArchiveModel archiveModel : archiveModelList){ + ResidentsArchiveHistoryResult temp = new ResidentsArchiveHistoryResult(); + //查询医院机构 + if (StringUtils.isNotEmpty(archiveModel.getHospitalId())){ + Organization org = organizationService.getOrganization(Integer.valueOf(archiveModel.getHospitalId())); + if (org != null){ + temp.setBookBuildHospital(org.getName()); + temp.setHospitalId(String.valueOf(org.getId())); + } + } + temp.setBookBuildDate(archiveModel.getBuildDay()); + temp.setId(archiveModel.getId()); + historyResults.add(temp); + } + } + } + Map map = new HashMap<>(); + map.put("ResidentsArchiveResult",result); + map.put("historyResult",historyResults); + objectResponse.setData(map); objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); objectResponse.setErrormsg("成功"); return objectResponse; @@ -470,4 +510,101 @@ public class ResidentsArchiveFacade{ return response; } + //数据导出 + public void residentsArchiveExport(ResidentsArchiveQueryRequest queryRequest,Integer userId,HttpServletResponse response){ + + OutputStream out = null; + + List> list = new ArrayList<>(); + + try { + ResidentsArchiveQuery archiveQuery = new ResidentsArchiveQuery(); + archiveQuery.setYn(YnEnums.YES.getId()); + String hospital = autoMatchFacade.getHospitalId(userId); + archiveQuery.setSex(SystemConfig.WOMAN_ID); + archiveQuery.setHospitalId(hospital); + archiveQuery.setProvinceId(queryRequest.getProvinceId()); + archiveQuery.setCityId(queryRequest.getCityId()); + archiveQuery.setAreaId(queryRequest.getAreaId()); + archiveQuery.setUsername(queryRequest.getUsername()); + archiveQuery.setCertificateNum(queryRequest.getCardNo()); + archiveQuery.setPhone(queryRequest.getPhone()); + List archiveModelList = residentsArchiveService.queryResident(archiveQuery); + if (CollectionUtils.isNotEmpty(archiveModelList)){ + for (ResidentsArchiveModel data : archiveModelList){ + Map map = new HashMap<>(); + map.put("username",data.getUsername()); + map.put("sex","女"); + map.put("birthday",getBirthday(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("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())); + 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("pastHistory", data.getPastHistory()); + map.put("familyHistory", data.getFamilyHistory()); + map.put("personalHistory", data.getPersonalHistory()); + map.put("ywgmHistory", data.getYwgmHistory()); + map.put("presentHistory", data.getPresentHistory()); + + map.put("vcCardNo", data.getVcCardNo()); + map.put("buildDoctor", data.getBuildDoctor()); + map.put("buildDay", data.getBuildDay()); + } + } + out = response.getOutputStream(); + Map cnames = new LinkedHashMap<>(); + cnames.put("username","姓名"); + + + response.setContentType("application/octet-stream"); + response.setHeader("Content-Disposition", "attachment;fileName=" + "juming.xls"); + ExcelUtil.toExcel(out, list, cnames); + }catch (Exception e){ + e.printStackTrace(); + } + } + + //获取生日 + 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 ""; + } }