diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/BreastModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/BreastModel.java index 41d7dc5..a938291 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/BreastModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/BreastModel.java @@ -21,6 +21,8 @@ public class BreastModel extends BaseModel { private String id; private Integer yn; private String pid; + //居民健康档案(妇女健康 )模型 id + private String rid; private Date createDate; private Date modifyDate; private String hospitalId; @@ -89,6 +91,14 @@ public class BreastModel extends BaseModel { return pid; } + public String getRid() { + return rid; + } + + public void setRid(String rid) { + this.rid = rid; + } + public void setPid(String pid) { this.pid = pid; } diff --git a/platform-dal/src/main/java/com/lyms/platform/query/BreastModelQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/BreastModelQuery.java index 5fbc185..675c64b 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/BreastModelQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/BreastModelQuery.java @@ -23,6 +23,10 @@ public class BreastModelQuery extends BaseQuery implements IConvertToNativeQuery private Integer yn; //儿童建档ID private String pid; + private boolean pidNull; + //居民健康档案(妇女健康 )模型 id + private String rid; + private boolean ridNull; private String hospitalId; // 检查日期 @@ -54,6 +58,22 @@ public class BreastModelQuery extends BaseQuery implements IConvertToNativeQuery return yn; } + public String getRid() { + return rid; + } + + public void setRid(String rid) { + this.rid = rid; + } + + public boolean isPidNull() { + return pidNull; + } + + public void setPidNull(boolean pidNull) { + this.pidNull = pidNull; + } + public void setYn(Integer yn) { this.yn = yn; } @@ -66,6 +86,14 @@ public class BreastModelQuery extends BaseQuery implements IConvertToNativeQuery this.pid = pid; } + public boolean isRidNull() { + return ridNull; + } + + public void setRidNull(boolean ridNull) { + this.ridNull = ridNull; + } + public String getHospitalId() { return hospitalId; } @@ -154,6 +182,17 @@ public class BreastModelQuery extends BaseQuery implements IConvertToNativeQuery condition = condition.and("pid", pid, MongoOper.IS); } + if (pidNull) { + condition = condition.and("pid", null, MongoOper.IS); + } + + if (StringUtils.isNotEmpty(rid)) { + condition = condition.and("rid", rid, MongoOper.IS); + } + if (ridNull) { + condition = condition.and("rid", null, MongoOper.IS); + } + if (StringUtils.isNotEmpty(hospitalId)) { condition = condition.and("hospitalId", hospitalId, MongoOper.IS); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BreastController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BreastController.java index c0b8c89..a5a32d3 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BreastController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BreastController.java @@ -64,6 +64,26 @@ public class BreastController extends BaseController { BaseResponse baseResponse = breastFacade.add(request, loginState.getId()); return baseResponse; } + /** + * 乳腺检查 控制 添加或者修改 + * 20201215 使用妇女建档 ,不在使用孕妇建档 + * @param request + * @return + */ + @RequestMapping(method = RequestMethod.POST, value = "/addOrUpNew") + @ResponseBody + @TokenRequired + public BaseResponse addOrUpNew(@Valid @RequestBody BreastRequest request, HttpServletRequest httpServletRequest) { + LoginContext loginState = (LoginContext) httpServletRequest.getAttribute("loginContext"); + //更新 + if (request != null && !StringUtils.isEmpty(request.getId())) { + BaseResponse baseResponse = breastFacade.update(request, loginState.getId()); + return baseResponse; + } + //添加 + BaseResponse baseResponse = breastFacade.addNew(request, loginState.getId()); + return baseResponse; + } /** * 删除 @@ -118,6 +138,18 @@ public class BreastController extends BaseController { } /** + * 查询单人所有记录,冗余的是妇女档案 + * buildId + * @param + */ + @RequestMapping(value = "/queryOneNew", method = RequestMethod.GET) + @ResponseBody + @TokenRequired + public BaseResponse queryOneNew(BreastModelQuery breastModelQuery, HttpServletRequest request) { + return breastFacade.queryOneNew(breastModelQuery,getUserId(request)); + } + + /** * 管理列表 * * @param @@ -128,7 +160,12 @@ public class BreastController extends BaseController { public BaseResponse queryAll(BreastModelQuery breastModelQuery, HttpServletRequest request) { return breastFacade.queryAll(breastModelQuery,getUserId(request)); } - + @RequestMapping(value = "/queryAllNew", method = RequestMethod.GET) + @ResponseBody + @TokenRequired + public BaseResponse queryAllNew(BreastModelQuery breastModelQuery, HttpServletRequest request) { + return breastFacade.queryAllNew(breastModelQuery,getUserId(request)); + } } \ No newline at end of file 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 0add8fe..3ec8e79 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 @@ -57,7 +57,31 @@ public class ResidentsArchiveController extends BaseController { param.setCardNo(cardNo); return residentsArchiveFacade.queryResidentsArchive(param , loginState.getId()); } - + /** + * 查询居民基本信息 + * 查询居民健康记录,获取基础数据 + * + * @param vcCardNo 身份证号 + * @param cardNo 就诊卡号 + * @param request + * @return + */ + @RequestMapping(value = "/queryResidentsArchiveNewZufy", method = RequestMethod.GET) + @ResponseBody + @TokenRequired + public BaseResponse queryResidentsArchiveNewZufy(@RequestParam(value = "vcCardNo",required = false) String vcCardNo, + @RequestParam(value = "cardNo",required = false) String cardNo, + @RequestParam(value = "certificateTypeId",required = false)String certificateTypeId, + HttpServletRequest request) { + //获取当前登录用户ID + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + //请求数据 + ResidentsArchiveQueryRequest param = new ResidentsArchiveQueryRequest(); + param.setVcCardNo(vcCardNo); + param.setCertificateTypeId(certificateTypeId); + param.setCardNo(cardNo); + return residentsArchiveFacade.queryResidentsArchiveNewZufy(param , loginState.getId()); + } /** * 通过证件号,就诊卡号查询居民建档信息,优先返回本院 * @param vcCardNo diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BreastFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BreastFacade.java index 64474a4..24f9894 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BreastFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BreastFacade.java @@ -1,9 +1,6 @@ package com.lyms.platform.operate.web.facade; -import com.lyms.platform.biz.service.BabyBookbuildingService; -import com.lyms.platform.biz.service.BasicConfigService; -import com.lyms.platform.biz.service.BreastService; -import com.lyms.platform.biz.service.PatientsService; +import com.lyms.platform.biz.service.*; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.enums.OptActionEnums; import com.lyms.platform.common.enums.YnEnums; @@ -49,7 +46,8 @@ public class BreastFacade extends BaseServiceImpl { private BabyBookbuildingService babyBookbuildingService; @Autowired private AutoMatchFacade autoMatchFacade; - + @Autowired + ResidentsArchiveService residentsArchiveService; @Autowired private OperateLogFacade operateLogFacade; @Autowired @@ -105,6 +103,37 @@ public class BreastFacade extends BaseServiceImpl { return model; } + private BreastModel getBreastModelNew(BreastRequest request) { + BreastModel model = new BreastModel(); + model.setYn(YnEnums.YES.getId()); + ResidentsArchiveModel resident = residentsArchiveService.getResident(request.getRid()); + + if (resident != null) { + model.setRid(resident.getId()); + model.setModifyDate(new Date()); + model.setName(resident.getUsername()); + model.setAge(resident.getAge() == null ? "" : resident.getAge().toString()); + model.setCertNo(resident.getCertificateNum()); + model.setPhone(resident.getPhone()); + model.setVcCardNo(resident.getVcCardNo()); + //createDate,hospitalId调用外添加赋值 + } + model.setInspectionPhase(request.getInspectionPhase()); + model.setCheckDate(DateUtil.parseYMD(request.getCheckDate())); + model.setCheckDoctor(request.getCheckDoctor()); + model.setZdyj(request.getZdyj()); + model.setNextDate(DateUtil.parseYMD(request.getNextDate())); + model.setRfsz(request.getRfsz()); + model.setSzzl(request.getSzzl()); + model.setZywf(request.getZywf()); + model.setZymrg(request.getZymrg()); + model.setRxcc(request.getRxcc()); + model.setXcg(request.getXcg()); + model.setCrpjc(request.getCrpjc()); + model.setWyzd(request.getWyzd()); + + return model; + } /** * 获取孕妇建档不区分产妇孕妇 */ @@ -155,6 +184,27 @@ public class BreastFacade extends BaseServiceImpl { br.setData(model.getId()); return br; } + /** + * 新增 20201215 使用妇女建档 ,不在使用孕妇建档 + */ + public BaseResponse addNew(BreastRequest request, Integer userId) { + + String hospitalId = autoMatchFacade.getHospitalId(userId); + request.setHospitalId(hospitalId); + BreastModel model = getBreastModelNew(request); + model.setCreateDate(new Date()); + model.setHospitalId(hospitalId); + + model = breastService.add(model); + if (model != null && model.getId() != null) { + operateLogFacade.addModifyOptLog(userId, Integer.valueOf(hospitalId), model, model, OptActionEnums.ADD.getId(), "乳腺检查新增"); + } + BaseObjectResponse br = new BaseObjectResponse(); + br.setErrorcode(ErrorCodeConstants.SUCCESS); + br.setErrormsg("成功"); + br.setData(model.getId()); + return br; + } /** @@ -167,7 +217,7 @@ public class BreastFacade extends BaseServiceImpl { return new BaseResponse().setErrorcode(ErrorCodeConstants.PARAMETER_ERROR).setErrormsg("ID不能为空"); } request.setHospitalId(hospitalId); - BreastModel model = getBreastModel(request); + BreastModel model = getBreastModelNew(request); BreastModel models = breastService.queryById(request.getId()); if (models != null && models.getId() != null) { breastService.update(model, request.getId()); @@ -288,6 +338,46 @@ public class BreastFacade extends BaseServiceImpl { } + public BaseObjectResponse queryOneNew(BreastModelQuery babyQuery, Integer userId) { + + BaseObjectResponse br = new BaseObjectResponse(); + String hospitalId = autoMatchFacade.getHospitalId(userId); + List breastResultList = new ArrayList <>(); + + //单人多条专病记录 + List breastModelList = new ArrayList <>(); + + if (StringUtils.isNotEmpty(babyQuery.getRid())) { + babyQuery.setYn(YnEnums.YES.getId()); + babyQuery.setHospitalId(hospitalId); + babyQuery.setSort("checkDate"); + breastModelList = breastService.queryOne(babyQuery); + + } + for (int i = 0; i < breastModelList.size(); i++) { + BreastModel breastModel = breastModelList.get(i); + BreastResult breastResult = new BreastResult(); + if (breastModel != null) { + breastResult.convertToResult(breastModel); + if (StringUtils.isNotEmpty(breastModel.getCheckDoctor())) { + Users users = usersService.getUsers(NumberUtils.toInt(breastModel.getCheckDoctor())); + if (users != null && StringUtils.isNotEmpty(users.getName())) { + breastResult.setCheckDoctor(users.getName()); + } + } + if (StringUtils.isNotEmpty(breastModel.getHospitalId())) { + breastResult.setHospitalName(CommonsHelper.getHospitalName(breastModel.getHospitalId(), organizationService)); + } + breastResultList.add(breastResult); + } + } + br.setData(breastResultList); + br.setPageInfo(babyQuery.getPageInfo()); + br.setErrorcode(ErrorCodeConstants.SUCCESS); + br.setErrormsg("成功"); + return br; + + } /** * 管理列表 @@ -305,6 +395,7 @@ public class BreastFacade extends BaseServiceImpl { if (StringUtils.isEmpty(babyQuery.getPid())) { babyQuery.setNeed("true"); babyQuery.setYn(YnEnums.YES.getId()); + babyQuery.setRidNull(true); babyQuery.setHospitalId(hospitalId); babyQuery.setSort("createDate"); if (babyQuery.getCheckDateEnd() != null) { @@ -339,6 +430,57 @@ public class BreastFacade extends BaseServiceImpl { return br; } + /** + * 管理列表,冗余的妇女档案 + * + * @param babyQuery + * @param userId + */ + public BaseObjectResponse queryAllNew(BreastModelQuery babyQuery, Integer userId) { + + BaseObjectResponse br = new BaseObjectResponse(); + String hospitalId = autoMatchFacade.getHospitalId(userId); + List breastResultList = new ArrayList <>(); + //单人多条专病记录 + List breastModelList = new ArrayList <>(); + if (StringUtils.isEmpty(babyQuery.getRid())) { + babyQuery.setNeed("true"); + babyQuery.setYn(YnEnums.YES.getId()); + babyQuery.setPidNull(true); + babyQuery.setHospitalId(hospitalId); + babyQuery.setSort("createDate"); + if (babyQuery.getCheckDateEnd() != null) { + babyQuery.setCheckDateEnd(DateUtil.getDayLastSecond(babyQuery.getCheckDateEnd())); + } + if (babyQuery.getNextDateEnd() != null) { + babyQuery.setNextDateEnd(DateUtil.getDayLastSecond(babyQuery.getNextDateEnd())); + } + + breastModelList = breastService.queryAll(babyQuery); + //System.out.println(babyQuery.convertToQuery().convertToMongoQuery()); + } + for (int i = 0; i < breastModelList.size(); i++) { + BreastModel breastModel = breastModelList.get(i); + BreastResult breastResult = new BreastResult(); + if (breastResult != null) { + breastResult.convertToResult(breastModel); + if (StringUtils.isNotEmpty(breastModel.getCheckDoctor())) { + Users users = usersService.getUsers(NumberUtils.toInt(breastModel.getCheckDoctor())); + if (users != null && StringUtils.isNotEmpty(users.getName())) { + breastResult.setCheckDoctor(users.getName()); + } + } + breastResult.setHospitalName(CommonsHelper.getHospitalName(breastModel.getHospitalId(), organizationService)); + breastResultList.add(breastResult); + } + } + br.setData(breastResultList); + br.setPageInfo(babyQuery.getPageInfo()); + br.setErrorcode(ErrorCodeConstants.SUCCESS); + br.setErrormsg("成功"); + return br; + + } 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 520a4db..b241c48 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 @@ -251,6 +251,61 @@ public class ResidentsArchiveFacade { } /** + * 查询居民基本信息 + * + * @param residentsArchiveQueryRequest + * @param userId + * @return + */ + public BaseResponse queryResidentsArchiveNewZufy(ResidentsArchiveQueryRequest residentsArchiveQueryRequest, Integer userId) { + List residents = new ArrayList<>(); + Map typeMap = new HashMap<>(); + + ResidentsArchiveQuery archiveQuery = new ResidentsArchiveQuery(); + archiveQuery.setYn(YnEnums.YES.getId()); + //身份证不为空的情况下通过身份证查询 + if (StringUtils.isNotEmpty(residentsArchiveQueryRequest.getCardNo())) { + archiveQuery.setCertificateTypeId(residentsArchiveQueryRequest.getCertificateTypeId()); + archiveQuery.setCertificateNum(residentsArchiveQueryRequest.getCardNo()); + residents = residentsArchiveService.queryResident(archiveQuery); + + //使用就诊卡号查询,先用登录ID查询属于哪家医院,然后查询到该居民的身份证号,调出所有的建档记录 + } else if (StringUtils.isNotEmpty(residentsArchiveQueryRequest.getVcCardNo())) { + //通过用户ID查询医院ID + String hospitalId = autoMatchFacade.getHospitalId(userId); + archiveQuery.setVcCardNo(residentsArchiveQueryRequest.getVcCardNo()); + archiveQuery.setHospitalId(hospitalId); + List archiveModelList = residentsArchiveService.queryResident(archiveQuery); + if (CollectionUtils.isNotEmpty(archiveModelList)) { + //判断身份证号是否为null + if (StringUtils.isEmpty(archiveModelList.get(0).getCertificateNum())) { + residents = archiveModelList; + } else { + archiveQuery.setHospitalId(null); + archiveQuery.setVcCardNo(null); + archiveQuery.setCertificateNum(archiveModelList.get(0).getCertificateNum()); + residents = residentsArchiveService.queryResident(archiveQuery); + } + } + } + + ResidentsArchiveModel newModel = null; + + //历史建档记录 + List resultList = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(residents)) { + //如果该身份证号或者就诊卡号已经在某家医院建档,拉取最新的一条建档记录返回给前端 + newModel = residents.get(0); + } + + BaseResponse listResponse = new BaseResponse(); + listResponse.setObject(newModel); + listResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + listResponse.setErrormsg("成功"); + return listResponse; + } + + /** * 通过id修改居民健康档案 * * @param id 建档ID diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BreastRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BreastRequest.java index 2ec607e..b0f10f7 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BreastRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BreastRequest.java @@ -16,9 +16,12 @@ public class BreastRequest { private String id; private Integer yn; //建档 pid - @FormParam - @NotEmpty(message = "建档pid不能为空.") +// @FormParam +// @NotEmpty(message = "建档pid不能为空.") private String pid; + + //居民健康档案(妇女健康 )模型 id + private String rid; private String createDate; private String modifyDate; private String hospitalId; @@ -104,6 +107,14 @@ public class BreastRequest { this.pid = pid; } + public String getRid() { + return rid; + } + + public void setRid(String rid) { + this.rid = rid; + } + public String getCreateDate() { return createDate; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BreastResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BreastResult.java index 63fc2b0..a3ae01d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BreastResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BreastResult.java @@ -17,6 +17,8 @@ public class BreastResult implements IBasicResultConvert