Commit 171be5457191a57f6e3db78e459c8375a9ce6d8c

Authored by liquanyu
1 parent 9a75391dff

update

Showing 4 changed files with 250 additions and 36 deletions

platform-dal/src/main/java/com/lyms/platform/pojo/PostkfModel.java View file @ 171be54
... ... @@ -13,6 +13,9 @@
13 13 */
14 14 @Document(collection = "lyms_postkf")
15 15 public class PostkfModel extends BaseModel {
  16 +
  17 + private static final long serialVersionUID = 4642751215073152594L;
  18 +
16 19 private String id;
17 20 //分娩id
18 21 private String mid;
platform-dal/src/main/java/com/lyms/platform/pojo/PostkfPgModel.java View file @ 171be54
... ... @@ -14,6 +14,8 @@
14 14 */
15 15 @Document(collection = "lyms_postkfpg")
16 16 public class PostkfPgModel extends BaseModel {
  17 + private static final long serialVersionUID = 4642751215173152594L;
  18 +
17 19 private String id;
18 20 //PostkfModel的主键
19 21 private String pgId;
20 22  
21 23  
... ... @@ -21,11 +23,38 @@
21 23 private String mid;
22 24 private String pid;
23 25 private String patientId;
24   - private String upDoctorId;//上一次医生
25   - private String currentDoctorId;//本次医生
  26 + private String upDoctor;//上一次医生
  27 + private String currentDoctor;//本次医生
  28 + private String upType;//上一次评估内容key
  29 + private String currentType;//本次评估内容的key
26 30 private String hospitalId;
27 31 private Date created;
  32 + private Integer status; //1 为确认 2 已确认
28 33  
  34 + public Integer getStatus() {
  35 + return status;
  36 + }
  37 +
  38 + public void setStatus(Integer status) {
  39 + this.status = status;
  40 + }
  41 +
  42 + public String getUpType() {
  43 + return upType;
  44 + }
  45 +
  46 + public void setUpType(String upType) {
  47 + this.upType = upType;
  48 + }
  49 +
  50 + public String getCurrentType() {
  51 + return currentType;
  52 + }
  53 +
  54 + public void setCurrentType(String currentType) {
  55 + this.currentType = currentType;
  56 + }
  57 +
29 58 public String getId() {
30 59 return id;
31 60 }
32 61  
33 62  
34 63  
... ... @@ -66,20 +95,20 @@
66 95 this.pgId = pgId;
67 96 }
68 97  
69   - public String getUpDoctorId() {
70   - return upDoctorId;
  98 + public String getUpDoctor() {
  99 + return upDoctor;
71 100 }
72 101  
73   - public void setUpDoctorId(String upDoctorId) {
74   - this.upDoctorId = upDoctorId;
  102 + public void setUpDoctor(String upDoctor) {
  103 + this.upDoctor = upDoctor;
75 104 }
76 105  
77   - public String getCurrentDoctorId() {
78   - return currentDoctorId;
  106 + public String getCurrentDoctor() {
  107 + return currentDoctor;
79 108 }
80 109  
81   - public void setCurrentDoctorId(String currentDoctorId) {
82   - this.currentDoctorId = currentDoctorId;
  110 + public void setCurrentDoctor(String currentDoctor) {
  111 + this.currentDoctor = currentDoctor;
83 112 }
84 113  
85 114 public String getHospitalId() {
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PostkfController.java View file @ 171be54
... ... @@ -101,7 +101,21 @@
101 101 @ResponseBody
102 102 @RequestMapping(value = "/getPostPgRecord", method = RequestMethod.GET)
103 103 public BaseResponse getPostPgRecord(HttpServletRequest request,@RequestParam(required = true) Integer page,@RequestParam(required = true) Integer limit) {
104   - return postkfFaccade.getPostPgRecord(getUserId(request),page,limit);
  104 + return postkfFaccade.getPostPgRecord(getUserId(request), page, limit);
  105 + }
  106 +
  107 +
  108 + /**
  109 + * 设置确认
  110 + * @param request
  111 + * @param id
  112 + * @return
  113 + */
  114 + @TokenRequired
  115 + @ResponseBody
  116 + @RequestMapping(value = "/setPostPgRecord", method = RequestMethod.GET)
  117 + public BaseResponse setPostPgRecord(HttpServletRequest request,@RequestParam(required = true) String id) {
  118 + return postkfFaccade.setPostPgRecord(getUserId(request),id);
105 119 }
106 120 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostkfFaccade.java View file @ 171be54
... ... @@ -64,34 +64,159 @@
64 64  
65 65 public BaseResponse addPostKf(PostkfModel postkfModel, Integer userId) {
66 66  
67   - MatDeliverQuery matDeliverQuery = new MatDeliverQuery();
68   - matDeliverQuery.setId(postkfModel.getMid());
69   - matDeliverQuery.setYn(YnEnums.YES.getId());
70   - List <MaternalDeliverModel> list2 = matDeliverService.query(matDeliverQuery);
71   - if (CollectionUtils.isNotEmpty(list2))
  67 + compareDoctor(postkfModel);
  68 +
  69 +// MatDeliverQuery matDeliverQuery = new MatDeliverQuery();
  70 +// matDeliverQuery.setId(postkfModel.getMid());
  71 +// matDeliverQuery.setYn(YnEnums.YES.getId());
  72 +// List <MaternalDeliverModel> list2 = matDeliverService.query(matDeliverQuery);
  73 +// if (CollectionUtils.isNotEmpty(list2))
  74 +// {
  75 +// MaternalDeliverModel maternalDeliverModel = list2.get(0);
  76 +// maternalDeliverModel.setStatus(postkfModel.getStatus());
  77 +// matDeliverService.updateOne(maternalDeliverModel,maternalDeliverModel.getId());
  78 +// }
  79 +// if (StringUtils.isNotEmpty(postkfModel.getId()))
  80 +// {
  81 +// postkfModel.setModified(new Date());
  82 +// Query query = Query.query(Criteria.where("_id").is(postkfModel.getId()));
  83 +// mongoTemplate.remove(query, PostkfModel.class);
  84 +// mongoTemplate.save(postkfModel);
  85 +// return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功");
  86 +// }
  87 +// String hospitalId = autoMatchFacade.getHospitalId(userId);
  88 +// postkfModel.setHospitalId(hospitalId);
  89 +// postkfModel.setOperaterId(String.valueOf(userId));
  90 +// postkfModel.setCreated(new Date());
  91 +// postkfModel.setModified(new Date());
  92 +// mongoTemplate.save(postkfModel);
  93 + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功");
  94 + }
  95 +
  96 + private void compareDoctor(PostkfModel postkfModel)
  97 + {
  98 + Query query1 = new Query();
  99 + query1.addCriteria(Criteria.where("mid").in(postkfModel.getMid()));
  100 + PostkfModel postModel = mongoTemplate.findOne(query1, PostkfModel.class);
  101 + if (postModel != null)
72 102 {
73   - MaternalDeliverModel maternalDeliverModel = list2.get(0);
74   - maternalDeliverModel.setStatus(postkfModel.getStatus());
75   - matDeliverService.updateOne(maternalDeliverModel,maternalDeliverModel.getId());
  103 +
  104 + //大于1的时候才能使用后一条跟前一条进行比对
  105 + if (postkfModel.getStatus().size() > 1)
  106 + {
  107 + int compareStatus = -1;
  108 + int currentStatus = postkfModel.getStatus().get(postkfModel.getStatus().size() - 1);
  109 + for (int i = 1 ; i < postkfModel.getStatus().size()-1; i++)
  110 + {
  111 + if (postModel.getStatus().contains(currentStatus - i))
  112 + {
  113 + compareStatus = currentStatus - i;
  114 + break;
  115 + }
  116 + }
  117 +
  118 + String compareKey = getKey(compareStatus);
  119 + String currentKey = getKey(currentStatus);
  120 +
  121 + Map<String,Object> upzzjj = postModel.getZzjj();
  122 + Map<String,Object> currentzzjj = postkfModel.getZzjj();
  123 + compare(postModel, compareKey, currentKey, upzzjj,currentzzjj);
  124 +
  125 + Map<String,Object> upjbzl = postModel.getJbzl();
  126 + Map<String,Object> currentjbzl = postkfModel.getJbzl();
  127 + compare(postModel, compareKey, currentKey, upjbzl,currentjbzl);
  128 +
  129 + Map<String,Object> upsskf = postModel.getSskf();
  130 + Map<String,Object> currentsskf = postkfModel.getSskf();
  131 + compare(postModel, compareKey, currentKey, upsskf,currentsskf);
  132 +
  133 +
  134 + Map<String,Object> upwcgnjt = postModel.getWcgnjt();
  135 + Map<String,Object> currentwcgnjt = postkfModel.getWcgnjt();
  136 + compare(postModel, compareKey, currentKey, upwcgnjt,currentwcgnjt);
  137 +
  138 + Map<String,Object> upnsj = postModel.getNsj();
  139 + Map<String,Object> currentnsj = postkfModel.getNsj();
  140 + compare(postModel, compareKey, currentKey, upnsj,currentnsj);
  141 +
  142 + Map<String,Object> upndl = postModel.getNdl();
  143 + Map<String,Object> currentndl = postkfModel.getNdl();
  144 + compare(postModel, compareKey, currentKey, upndl,currentndl);
  145 +
  146 + Map<String,Object> uprf = postModel.getRf();
  147 + Map<String,Object> currentrf = postkfModel.getRf();
  148 + compare(postModel, compareKey, currentKey, uprf,currentrf);
  149 +
  150 + Map<String,Object> upelyc = postModel.getElyc();
  151 + Map<String,Object> currentelyc = postkfModel.getElyc();
  152 + compare(postModel, compareKey, currentKey, upelyc,currentelyc);
  153 +
  154 + Map<String,Object> uprxy = postModel.getRxy();
  155 + Map<String,Object> currentrxy = postkfModel.getRxy();
  156 + compare(postModel, compareKey, currentKey, uprxy,currentrxy);
  157 +
  158 +
  159 + Map<String,Object> uppdjss = postModel.getPdjss();
  160 + Map<String,Object> currentpdjss = postkfModel.getPdjss();
  161 + compare(postModel, compareKey, currentKey, uppdjss,currentpdjss);
  162 +
  163 + Map<String,Object> upfzjss = postModel.getFzjss();
  164 + Map<String,Object> currentFzjss = postkfModel.getFzjss();
  165 + compare(postModel, compareKey, currentKey, upfzjss,currentFzjss);
  166 +
  167 + Map<String,Object> upfp = postModel.getFp();
  168 + Map<String,Object> currentfp = postkfModel.getFp();
  169 + compare(postModel, compareKey, currentKey, upfp,currentfp);
  170 +
  171 +
  172 + Map<String,Object> upcglhfl = postModel.getCglhfl();
  173 + Map<String,Object> currentcglhfl = postkfModel.getCglhfl();
  174 + compare(postModel, compareKey, currentKey, upcglhfl,currentcglhfl);
  175 +
  176 + Map<String,Object> upbjyf = postModel.getBjyf();
  177 + Map<String,Object> currentbjyf = postkfModel.getBjyf();
  178 + compare(postModel, compareKey, currentKey, upbjyf,currentbjyf);
  179 + }
76 180 }
77   - if (StringUtils.isNotEmpty(postkfModel.getId()))
  181 + }
  182 +
  183 +
  184 + private void compare(PostkfModel postModel,String compareKey,String currentKey, Map<String,Object> up,Map<String,Object> current)
  185 + {
  186 + String compareValue = up.get(compareKey) == null ? null : up.get(compareKey).toString();
  187 + String currentValue = current.get(currentKey) == null ? null : current.get(currentKey).toString();
  188 + if (StringUtils.isNotEmpty(compareValue) && StringUtils.isNotEmpty(currentValue) && !compareValue.equals(currentValue))
78 189 {
79   - postkfModel.setModified(new Date());
80   - Query query = Query.query(Criteria.where("_id").is(postkfModel.getId()));
81   - Update update = MongoConvertHelper
82   - .convertToNativeUpdate(ReflectionUtils.getUpdateField(postkfModel));
83   - mongoTemplate.updateFirst(query, update, PostkfModel.class);
84   - return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功");
  190 + savePgRecord(postModel, compareValue, currentValue, compareKey, currentKey);
85 191 }
86   - String hospitalId = autoMatchFacade.getHospitalId(userId);
87   - postkfModel.setHospitalId(hospitalId);
88   - postkfModel.setOperaterId(String.valueOf(userId));
89   - postkfModel.setCreated(new Date());
90   - postkfModel.setModified(new Date());
91   - mongoTemplate.save(postkfModel);
92   - return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功");
93 192 }
94 193  
  194 + private String getKey(int status)
  195 + {
  196 + String key = "";
  197 + switch (status)
  198 + {
  199 + case 1:
  200 + key = "cyqpgdoctor";
  201 + break;
  202 + case 2:
  203 + key= "ch7tdoctor";
  204 + break;
  205 + case 3:
  206 + key= "ch14tdoctor";
  207 + break;
  208 + case 4:
  209 + key= "ch28tdoctor";
  210 + break;
  211 + case 5:
  212 + key= "ch42tdoctor";
  213 + break;
  214 + }
  215 +
  216 + return key;
  217 + }
  218 +
  219 +
95 220 public BaseResponse getPostKf(String mid, Integer userId) {
96 221 List<PostkfModel> postkfModels = mongoTemplate.find(Query.query(Criteria.where("mid").
97 222 is(mid)), PostkfModel.class);
... ... @@ -298,6 +423,35 @@
298 423 return baseListResponse;
299 424 }
300 425  
  426 + private void savePgRecord(PostkfModel postkfModel,String upDoctor,String currentDoctor,String upType,String currentType)
  427 + {
  428 +
  429 + PostkfPgModel postkfPgModel = new PostkfPgModel();
  430 + postkfPgModel.setUpDoctor(upDoctor);
  431 + postkfPgModel.setCurrentDoctor(currentDoctor);
  432 + Query query = new Query();
  433 + query.addCriteria(Criteria.where("mid").is(postkfModel.getMid()));
  434 + query.addCriteria(Criteria.where("upDoctor").is(postkfPgModel.getUpDoctor()));
  435 + query.addCriteria(Criteria.where("currentDoctor").is(postkfPgModel.getCurrentDoctor()));
  436 + query.addCriteria(Criteria.where("upType").is(upType));
  437 + query.addCriteria(Criteria.where("currentType").is(currentType));
  438 + List<PostkfPgModel> models = mongoTemplate.find(query, PostkfPgModel.class);
  439 + if (CollectionUtils.isEmpty(models))
  440 + {
  441 + postkfPgModel.setUpType(upType);
  442 + postkfPgModel.setCurrentType(currentType);
  443 + postkfPgModel.setHospitalId(postkfModel.getHospitalId());
  444 + postkfPgModel.setMid(postkfModel.getMid());
  445 + postkfPgModel.setPatientId(postkfModel.getPatientId());
  446 + postkfPgModel.setPid(postkfModel.getPid());
  447 + postkfPgModel.setPgId(postkfModel.getId());
  448 + postkfPgModel.setCreated(new Date());
  449 + postkfPgModel.setStatus(1);
  450 + mongoTemplate.save(postkfPgModel);
  451 + }
  452 +
  453 + }
  454 +
301 455 public BaseResponse getPostPgRecord(Integer userId,Integer page,Integer limit) {
302 456 String hospitalId = autoMatchFacade.getHospitalId(userId);
303 457 Query query = new Query();
... ... @@ -305,7 +459,8 @@
305 459 baseQuery.setPage(page);
306 460 baseQuery.setLimit(limit);
307 461 query.addCriteria(Criteria.where("hospitalId").is(hospitalId));
308   - query.addCriteria(Criteria.where("upDoctorId").is(String.valueOf(userId)));
  462 + query.addCriteria(Criteria.where("status").is(1));
  463 + query.addCriteria(Criteria.where("upDoctor").is(usersService.getUsers(userId).getName()));
309 464  
310 465 query.with(new Sort(Sort.Direction.DESC, "created"));
311 466 long count = mongoTemplate.count(query, DefectiveChildModel.class);
... ... @@ -321,8 +476,8 @@
321 476 Map data = new HashMap();
322 477 data.put("created",DateUtil.getyyyy_MM_dd(model.getCreated()));
323 478 data.put("mid",model.getMid());
324   - data.put("upDoctor",usersService.getUsers(Integer.valueOf(model.getUpDoctorId())).getName());
325   - data.put("currentDoctor",usersService.getUsers(Integer.valueOf(model.getCurrentDoctorId())).getName());
  479 + data.put("upDoctor",model.getUpDoctor());
  480 + data.put("currentDoctor",model.getCurrentDoctor());
326 481 data.put("id",model.getId());
327 482 datas.add(data);
328 483 }
... ... @@ -331,6 +486,19 @@
331 486 baseListResponse.setData(datas);
332 487 baseListResponse.setPageInfo(baseQuery.getPageInfo());
333 488 return baseListResponse;
  489 + }
  490 +
  491 + public BaseResponse setPostPgRecord(Integer userId, String id) {
  492 + Query query = new Query();
  493 + query.addCriteria(Criteria.where("id").is(id));
  494 + PostkfPgModel model = mongoTemplate.findOne(query, PostkfPgModel.class);
  495 + if (model != null)
  496 + {
  497 + mongoTemplate.remove(query, PostkfPgModel.class);
  498 + model.setStatus(2);
  499 + mongoTemplate.save(model);
  500 + }
  501 + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功");
334 502 }
335 503 }