diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CancerScreeningController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CancerScreeningController.java index 53be219..4df102f 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CancerScreeningController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CancerScreeningController.java @@ -7,10 +7,9 @@ import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.facade.CancerScreeningFacade; import com.lyms.platform.operate.web.request.BreastAfterVisitRequest; +import com.lyms.platform.operate.web.request.CancerExamineRequest; import com.lyms.platform.operate.web.request.CancerScreeningRequest; -import com.lyms.platform.pojo.BreastAfterVisitRecordModel; -import com.lyms.platform.pojo.CancerScreeningModel; -import com.lyms.platform.pojo.CancersConfig; +import com.lyms.platform.pojo.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @@ -217,4 +216,39 @@ public class CancerScreeningController extends BaseController { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); return cancerScreenService.delCancersConfig(id, loginState.getId()); } + + + @ResponseBody + @RequestMapping(method = RequestMethod.POST,value = "/addCancerExamine") + @TokenRequired + public BaseResponse addCancerExamine(@RequestBody CancerExamineModel config, HttpServletRequest request) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return cancerScreenService.addCancerExamine(config, loginState.getId()); + } + + + @ResponseBody + @RequestMapping(method = RequestMethod.GET,value = "/queryCancerExamines") + @TokenRequired + public BaseResponse queryCancerExamines(CancerExamineRequest cancerExamineRequest, HttpServletRequest request) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return cancerScreenService.queryCancerExamines(cancerExamineRequest, loginState.getId()); + } + + + @ResponseBody + @RequestMapping(method = RequestMethod.POST,value = "/addCancerExamineRecord") + @TokenRequired + public BaseResponse addCancerExamineRecord(@RequestBody CancerExamineRecordModel config, HttpServletRequest request) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return cancerScreenService.addCancerExamineRecord(config, loginState.getId()); + } + + @ResponseBody + @RequestMapping(method = RequestMethod.GET,value = "/queryCancerExamineRecord/{parentId}") + @TokenRequired + public BaseResponse queryCancerExamineRecord(@PathVariable String parentId, HttpServletRequest request) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return cancerScreenService.queryCancerExamineRecord(parentId, loginState.getId()); + } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CancerScreeningFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CancerScreeningFacade.java index 43fd654..4a7f07f 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CancerScreeningFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CancerScreeningFacade.java @@ -12,6 +12,7 @@ import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.result.RespBuilder; import com.lyms.platform.common.utils.*; import com.lyms.platform.operate.web.request.BreastAfterVisitRequest; +import com.lyms.platform.operate.web.request.CancerExamineRequest; import com.lyms.platform.operate.web.request.CancerScreeningRequest; import com.lyms.platform.operate.web.result.CancerScreeningResult; import com.lyms.platform.operate.web.utils.CommonsHelper; @@ -1035,4 +1036,103 @@ public class CancerScreeningFacade { return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(datas); } + + public BaseResponse addCancerExamine(CancerExamineModel cancerExamineModel, Integer userId) { + String hospitalId = autoMatchFacade.getHospitalId(userId); + Organization organization = organizationService.getOrganization(Integer.parseInt(hospitalId)); + cancerExamineModel.setHospitalId(hospitalId); + cancerExamineModel.setProvinceId(organization.getProvinceId()); + cancerExamineModel.setCityId(organization.getCityId()); + cancerExamineModel.setAreaId(organization.getAreaId()); + cancerExamineModel.setPosition(1); + cancerExamineModel.setStatus(0); + mongoTemplate.save(cancerExamineModel); + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + + public BaseResponse queryCancerExamines(CancerExamineRequest request, Integer userId) { + String hospitalId = autoMatchFacade.getHospitalId(userId); + Organization organization = organizationService.getOrganization(Integer.parseInt(hospitalId)); + Query query = new Query(); + if (request.getPosition() == 1) + { + Criteria c = Criteria.where("hospitalId").is(hospitalId); + query.addCriteria(c); + } + else if (request.getPosition() == 2) + { + Criteria c = Criteria.where("areaId").is(organization.getAreaId()); + query.addCriteria(c); + } + else if (request.getPosition() == 3) + { + Criteria c = Criteria.where("cityId").is(organization.getCityId()); + query.addCriteria(c); + } + Criteria c = Criteria.where("type").is(request.getType()); + query.addCriteria(c); + List list = mongoTemplate.find(query, CancerExamineModel.class); + List datas = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(list)) + { + for (CancerExamineModel cancer : list) + { + Map data = new LinkedHashMap(); + data.put("id",cancer.getId()); + data.put("year",cancer.getYear()); + data.put("quarter",cancer.getQuarter()); + data.put("address",CommonsHelper.getResidence(cancer.getProvinceId(),cancer.getCityId(),cancer.getAreaId(),null,"",basicConfigService)); + data.put("optHospital",cancer.getOptHospital()); + data.put("optUser",cancer.getOptUser()); + data.put("optDate",DateUtil.getyyyy_MM_dd(cancer.getOptDate())); + data.put("examineDate",DateUtil.getyyyy_MM_dd(cancer.getExamineDate())); + data.put("positionStr",cancer.getPosition() == 1 ? "机构" : (cancer.getPosition() == 2 ? "县级" : "市级")); + + data.put("position",cancer.getPosition()); + data.put("status",cancer.getStatus()); + datas.add(data); + } + } + + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(datas); + } + + public BaseResponse addCancerExamineRecord(CancerExamineRecordModel recordModel, Integer userId) { + String hospitalId = autoMatchFacade.getHospitalId(userId); + recordModel.setHospitalId(hospitalId); + mongoTemplate.save(recordModel); + + CancerExamineModel cancerExamineModel = mongoTemplate.findOne(Query.query(Criteria.where("id").is(recordModel.getParentId())), CancerExamineModel.class); + cancerExamineModel.setExamineDate(recordModel.getExamineDate()); + cancerExamineModel.setStatus(recordModel.getReasult()); + cancerExamineModel.setPosition(recordModel.getExamineLevel()); + Update update=MongoConvertHelper + .convertToNativeUpdate(ReflectionUtils.getUpdateField(cancerExamineModel)); + mongoTemplate.updateFirst(Query.query(Criteria.where("id").is(cancerExamineModel.getId())), update, CancerExamineModel.class); + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + + } + + public BaseResponse queryCancerExamineRecord(String parentId, Integer userId) { + List datas = new ArrayList<>(); + Query query = new Query(); + Criteria c = Criteria.where("parentId").is(parentId); + query.addCriteria(c); + List list = mongoTemplate.find(query, CancerExamineRecordModel.class); + if (CollectionUtils.isNotEmpty(list)) + { + for (CancerExamineRecordModel model : list) + { + Map data = new LinkedHashMap(); + data.put("examineLevel",model.getExamineLevel() == 2 ? "县" : "市"); + data.put("result",model.getReasult() == 2 ? "通过" : "驳回"); + data.put("backReason",model.getBackReason() == null ? "" : model.getBackReason()); + data.put("examineDate",DateUtil.getyyyy_MM_dd(model.getExamineDate())); + data.put("id",model.getId()); + data.put("parentId",model.getParentId()); + datas.add(data); + } + } + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(datas); + } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/CancerExamineRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/CancerExamineRequest.java new file mode 100644 index 0000000..3a481b8 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/CancerExamineRequest.java @@ -0,0 +1,124 @@ +package com.lyms.platform.operate.web.request; + + +public class CancerExamineRequest { + private String hospitalId; + private String provinceId; + private String cityId; + private String areaId; + + private Integer year; //上报年份 + private Integer quarter; //季度 + private String optUser; //录入用户 + private String optHospital; //录入单位 + private String optDate; //录入时间 + private Integer type;//1 宫颈癌 2 乳腺癌 + + private String examineDate;//审核时间/驳回时间 + private Integer position;//1 机构 2 县 3 市 + private Integer status; // 0 录入 1 审核中 2 审核通过 3 驳回 + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public String getProvinceId() { + return provinceId; + } + + public void setProvinceId(String provinceId) { + this.provinceId = provinceId; + } + + public String getCityId() { + return cityId; + } + + public void setCityId(String cityId) { + this.cityId = cityId; + } + + public String getAreaId() { + return areaId; + } + + public void setAreaId(String areaId) { + this.areaId = areaId; + } + + public Integer getYear() { + return year; + } + + public void setYear(Integer year) { + this.year = year; + } + + public Integer getQuarter() { + return quarter; + } + + public void setQuarter(Integer quarter) { + this.quarter = quarter; + } + + public String getOptUser() { + return optUser; + } + + public void setOptUser(String optUser) { + this.optUser = optUser; + } + + public String getOptHospital() { + return optHospital; + } + + public void setOptHospital(String optHospital) { + this.optHospital = optHospital; + } + + public String getOptDate() { + return optDate; + } + + public void setOptDate(String optDate) { + this.optDate = optDate; + } + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } + + public String getExamineDate() { + return examineDate; + } + + public void setExamineDate(String examineDate) { + this.examineDate = examineDate; + } + + public Integer getPosition() { + return position; + } + + public void setPosition(Integer position) { + this.position = position; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } +}