From 171be5457191a57f6e3db78e459c8375a9ce6d8c Mon Sep 17 00:00:00 2001 From: liquanyu Date: Fri, 21 May 2021 17:23:57 +0800 Subject: [PATCH] update --- .../java/com/lyms/platform/pojo/PostkfModel.java | 3 + .../java/com/lyms/platform/pojo/PostkfPgModel.java | 49 ++++- .../operate/web/controller/PostkfController.java | 16 +- .../platform/operate/web/facade/PostkfFaccade.java | 218 ++++++++++++++++++--- 4 files changed, 250 insertions(+), 36 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/PostkfModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/PostkfModel.java index 07022d5..0b4e310 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/PostkfModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/PostkfModel.java @@ -13,6 +13,9 @@ import java.util.Map; */ @Document(collection = "lyms_postkf") public class PostkfModel extends BaseModel { + + private static final long serialVersionUID = 4642751215073152594L; + private String id; //分娩id private String mid; diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/PostkfPgModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/PostkfPgModel.java index 2c843d5..4c9592c 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/PostkfPgModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/PostkfPgModel.java @@ -14,6 +14,8 @@ import java.util.Map; */ @Document(collection = "lyms_postkfpg") public class PostkfPgModel extends BaseModel { + private static final long serialVersionUID = 4642751215173152594L; + private String id; //PostkfModel的主键 private String pgId; @@ -21,10 +23,37 @@ public class PostkfPgModel extends BaseModel { private String mid; private String pid; private String patientId; - private String upDoctorId;//上一次医生 - private String currentDoctorId;//本次医生 + private String upDoctor;//上一次医生 + private String currentDoctor;//本次医生 + private String upType;//上一次评估内容key + private String currentType;//本次评估内容的key private String hospitalId; private Date created; + private Integer status; //1 为确认 2 已确认 + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public String getUpType() { + return upType; + } + + public void setUpType(String upType) { + this.upType = upType; + } + + public String getCurrentType() { + return currentType; + } + + public void setCurrentType(String currentType) { + this.currentType = currentType; + } public String getId() { return id; @@ -66,20 +95,20 @@ public class PostkfPgModel extends BaseModel { this.pgId = pgId; } - public String getUpDoctorId() { - return upDoctorId; + public String getUpDoctor() { + return upDoctor; } - public void setUpDoctorId(String upDoctorId) { - this.upDoctorId = upDoctorId; + public void setUpDoctor(String upDoctor) { + this.upDoctor = upDoctor; } - public String getCurrentDoctorId() { - return currentDoctorId; + public String getCurrentDoctor() { + return currentDoctor; } - public void setCurrentDoctorId(String currentDoctorId) { - this.currentDoctorId = currentDoctorId; + public void setCurrentDoctor(String currentDoctor) { + this.currentDoctor = currentDoctor; } public String getHospitalId() { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PostkfController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PostkfController.java index 51adfbc..3eb41cc 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PostkfController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PostkfController.java @@ -101,6 +101,20 @@ public class PostkfController extends BaseController { @ResponseBody @RequestMapping(value = "/getPostPgRecord", method = RequestMethod.GET) public BaseResponse getPostPgRecord(HttpServletRequest request,@RequestParam(required = true) Integer page,@RequestParam(required = true) Integer limit) { - return postkfFaccade.getPostPgRecord(getUserId(request),page,limit); + return postkfFaccade.getPostPgRecord(getUserId(request), page, limit); + } + + + /** + * 设置确认 + * @param request + * @param id + * @return + */ + @TokenRequired + @ResponseBody + @RequestMapping(value = "/setPostPgRecord", method = RequestMethod.GET) + public BaseResponse setPostPgRecord(HttpServletRequest request,@RequestParam(required = true) String id) { + return postkfFaccade.setPostPgRecord(getUserId(request),id); } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostkfFaccade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostkfFaccade.java index f2bae17..e287e03 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostkfFaccade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostkfFaccade.java @@ -64,34 +64,159 @@ public class PostkfFaccade { public BaseResponse addPostKf(PostkfModel postkfModel, Integer userId) { - MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); - matDeliverQuery.setId(postkfModel.getMid()); - matDeliverQuery.setYn(YnEnums.YES.getId()); - List list2 = matDeliverService.query(matDeliverQuery); - if (CollectionUtils.isNotEmpty(list2)) + compareDoctor(postkfModel); + +// MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); +// matDeliverQuery.setId(postkfModel.getMid()); +// matDeliverQuery.setYn(YnEnums.YES.getId()); +// List list2 = matDeliverService.query(matDeliverQuery); +// if (CollectionUtils.isNotEmpty(list2)) +// { +// MaternalDeliverModel maternalDeliverModel = list2.get(0); +// maternalDeliverModel.setStatus(postkfModel.getStatus()); +// matDeliverService.updateOne(maternalDeliverModel,maternalDeliverModel.getId()); +// } +// if (StringUtils.isNotEmpty(postkfModel.getId())) +// { +// postkfModel.setModified(new Date()); +// Query query = Query.query(Criteria.where("_id").is(postkfModel.getId())); +// mongoTemplate.remove(query, PostkfModel.class); +// mongoTemplate.save(postkfModel); +// return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); +// } +// String hospitalId = autoMatchFacade.getHospitalId(userId); +// postkfModel.setHospitalId(hospitalId); +// postkfModel.setOperaterId(String.valueOf(userId)); +// postkfModel.setCreated(new Date()); +// postkfModel.setModified(new Date()); +// mongoTemplate.save(postkfModel); + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + + private void compareDoctor(PostkfModel postkfModel) + { + Query query1 = new Query(); + query1.addCriteria(Criteria.where("mid").in(postkfModel.getMid())); + PostkfModel postModel = mongoTemplate.findOne(query1, PostkfModel.class); + if (postModel != null) { - MaternalDeliverModel maternalDeliverModel = list2.get(0); - maternalDeliverModel.setStatus(postkfModel.getStatus()); - matDeliverService.updateOne(maternalDeliverModel,maternalDeliverModel.getId()); + + //大于1的时候才能使用后一条跟前一条进行比对 + if (postkfModel.getStatus().size() > 1) + { + int compareStatus = -1; + int currentStatus = postkfModel.getStatus().get(postkfModel.getStatus().size() - 1); + for (int i = 1 ; i < postkfModel.getStatus().size()-1; i++) + { + if (postModel.getStatus().contains(currentStatus - i)) + { + compareStatus = currentStatus - i; + break; + } + } + + String compareKey = getKey(compareStatus); + String currentKey = getKey(currentStatus); + + Map upzzjj = postModel.getZzjj(); + Map currentzzjj = postkfModel.getZzjj(); + compare(postModel, compareKey, currentKey, upzzjj,currentzzjj); + + Map upjbzl = postModel.getJbzl(); + Map currentjbzl = postkfModel.getJbzl(); + compare(postModel, compareKey, currentKey, upjbzl,currentjbzl); + + Map upsskf = postModel.getSskf(); + Map currentsskf = postkfModel.getSskf(); + compare(postModel, compareKey, currentKey, upsskf,currentsskf); + + + Map upwcgnjt = postModel.getWcgnjt(); + Map currentwcgnjt = postkfModel.getWcgnjt(); + compare(postModel, compareKey, currentKey, upwcgnjt,currentwcgnjt); + + Map upnsj = postModel.getNsj(); + Map currentnsj = postkfModel.getNsj(); + compare(postModel, compareKey, currentKey, upnsj,currentnsj); + + Map upndl = postModel.getNdl(); + Map currentndl = postkfModel.getNdl(); + compare(postModel, compareKey, currentKey, upndl,currentndl); + + Map uprf = postModel.getRf(); + Map currentrf = postkfModel.getRf(); + compare(postModel, compareKey, currentKey, uprf,currentrf); + + Map upelyc = postModel.getElyc(); + Map currentelyc = postkfModel.getElyc(); + compare(postModel, compareKey, currentKey, upelyc,currentelyc); + + Map uprxy = postModel.getRxy(); + Map currentrxy = postkfModel.getRxy(); + compare(postModel, compareKey, currentKey, uprxy,currentrxy); + + + Map uppdjss = postModel.getPdjss(); + Map currentpdjss = postkfModel.getPdjss(); + compare(postModel, compareKey, currentKey, uppdjss,currentpdjss); + + Map upfzjss = postModel.getFzjss(); + Map currentFzjss = postkfModel.getFzjss(); + compare(postModel, compareKey, currentKey, upfzjss,currentFzjss); + + Map upfp = postModel.getFp(); + Map currentfp = postkfModel.getFp(); + compare(postModel, compareKey, currentKey, upfp,currentfp); + + + Map upcglhfl = postModel.getCglhfl(); + Map currentcglhfl = postkfModel.getCglhfl(); + compare(postModel, compareKey, currentKey, upcglhfl,currentcglhfl); + + Map upbjyf = postModel.getBjyf(); + Map currentbjyf = postkfModel.getBjyf(); + compare(postModel, compareKey, currentKey, upbjyf,currentbjyf); + } } - if (StringUtils.isNotEmpty(postkfModel.getId())) + } + + + private void compare(PostkfModel postModel,String compareKey,String currentKey, Map up,Map current) + { + String compareValue = up.get(compareKey) == null ? null : up.get(compareKey).toString(); + String currentValue = current.get(currentKey) == null ? null : current.get(currentKey).toString(); + if (StringUtils.isNotEmpty(compareValue) && StringUtils.isNotEmpty(currentValue) && !compareValue.equals(currentValue)) { - postkfModel.setModified(new Date()); - Query query = Query.query(Criteria.where("_id").is(postkfModel.getId())); - Update update = MongoConvertHelper - .convertToNativeUpdate(ReflectionUtils.getUpdateField(postkfModel)); - mongoTemplate.updateFirst(query, update, PostkfModel.class); - return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + savePgRecord(postModel, compareValue, currentValue, compareKey, currentKey); } - String hospitalId = autoMatchFacade.getHospitalId(userId); - postkfModel.setHospitalId(hospitalId); - postkfModel.setOperaterId(String.valueOf(userId)); - postkfModel.setCreated(new Date()); - postkfModel.setModified(new Date()); - mongoTemplate.save(postkfModel); - return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } + private String getKey(int status) + { + String key = ""; + switch (status) + { + case 1: + key = "cyqpgdoctor"; + break; + case 2: + key= "ch7tdoctor"; + break; + case 3: + key= "ch14tdoctor"; + break; + case 4: + key= "ch28tdoctor"; + break; + case 5: + key= "ch42tdoctor"; + break; + } + + return key; + } + + public BaseResponse getPostKf(String mid, Integer userId) { List postkfModels = mongoTemplate.find(Query.query(Criteria.where("mid"). is(mid)), PostkfModel.class); @@ -298,6 +423,35 @@ public class PostkfFaccade { return baseListResponse; } + private void savePgRecord(PostkfModel postkfModel,String upDoctor,String currentDoctor,String upType,String currentType) + { + + PostkfPgModel postkfPgModel = new PostkfPgModel(); + postkfPgModel.setUpDoctor(upDoctor); + postkfPgModel.setCurrentDoctor(currentDoctor); + Query query = new Query(); + query.addCriteria(Criteria.where("mid").is(postkfModel.getMid())); + query.addCriteria(Criteria.where("upDoctor").is(postkfPgModel.getUpDoctor())); + query.addCriteria(Criteria.where("currentDoctor").is(postkfPgModel.getCurrentDoctor())); + query.addCriteria(Criteria.where("upType").is(upType)); + query.addCriteria(Criteria.where("currentType").is(currentType)); + List models = mongoTemplate.find(query, PostkfPgModel.class); + if (CollectionUtils.isEmpty(models)) + { + postkfPgModel.setUpType(upType); + postkfPgModel.setCurrentType(currentType); + postkfPgModel.setHospitalId(postkfModel.getHospitalId()); + postkfPgModel.setMid(postkfModel.getMid()); + postkfPgModel.setPatientId(postkfModel.getPatientId()); + postkfPgModel.setPid(postkfModel.getPid()); + postkfPgModel.setPgId(postkfModel.getId()); + postkfPgModel.setCreated(new Date()); + postkfPgModel.setStatus(1); + mongoTemplate.save(postkfPgModel); + } + + } + public BaseResponse getPostPgRecord(Integer userId,Integer page,Integer limit) { String hospitalId = autoMatchFacade.getHospitalId(userId); Query query = new Query(); @@ -305,7 +459,8 @@ public class PostkfFaccade { baseQuery.setPage(page); baseQuery.setLimit(limit); query.addCriteria(Criteria.where("hospitalId").is(hospitalId)); - query.addCriteria(Criteria.where("upDoctorId").is(String.valueOf(userId))); + query.addCriteria(Criteria.where("status").is(1)); + query.addCriteria(Criteria.where("upDoctor").is(usersService.getUsers(userId).getName())); query.with(new Sort(Sort.Direction.DESC, "created")); long count = mongoTemplate.count(query, DefectiveChildModel.class); @@ -321,8 +476,8 @@ public class PostkfFaccade { Map data = new HashMap(); data.put("created",DateUtil.getyyyy_MM_dd(model.getCreated())); data.put("mid",model.getMid()); - data.put("upDoctor",usersService.getUsers(Integer.valueOf(model.getUpDoctorId())).getName()); - data.put("currentDoctor",usersService.getUsers(Integer.valueOf(model.getCurrentDoctorId())).getName()); + data.put("upDoctor",model.getUpDoctor()); + data.put("currentDoctor",model.getCurrentDoctor()); data.put("id",model.getId()); datas.add(data); } @@ -332,4 +487,17 @@ public class PostkfFaccade { baseListResponse.setPageInfo(baseQuery.getPageInfo()); return baseListResponse; } + + public BaseResponse setPostPgRecord(Integer userId, String id) { + Query query = new Query(); + query.addCriteria(Criteria.where("id").is(id)); + PostkfPgModel model = mongoTemplate.findOne(query, PostkfPgModel.class); + if (model != null) + { + mongoTemplate.remove(query, PostkfPgModel.class); + model.setStatus(2); + mongoTemplate.save(model); + } + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } } -- 1.8.3.1