diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyModel.java index 2fabb3c..700b240 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyModel.java @@ -746,6 +746,11 @@ public class BabyModel extends BaseModel { //隆化-口腔检查同步数据 /** + * 检查记录状态(同步字段,最后一次检查的id) + * 这里查询关于口腔的数据必须要这个字段 + */ + private Integer oralCheckYn; + /** * 检查id(同步字段,最后一次检查的id) */ private String oralCheckId; @@ -801,6 +806,14 @@ public class BabyModel extends BaseModel { this.oralCheckMonthAge = oralCheckMonthAge; } + public Integer getOralCheckYn() { + return oralCheckYn; + } + + public void setOralCheckYn(Integer oralCheckYn) { + this.oralCheckYn = oralCheckYn; + } + public String getOralCheckId() { return oralCheckId; } diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyOralCheck.java b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyOralCheck.java index 2077963..2373a20 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyOralCheck.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyOralCheck.java @@ -34,7 +34,7 @@ public class BabyOralCheck extends BaseModel { private Date modified; /** - * 记录删除状态0:删除 1:正常 + * 记录删除状态0:删除 1:正常(同步字段oralCheckYn) */ private Integer yn; /** diff --git a/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java index 25002cd..fd5c429 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java @@ -1325,6 +1325,11 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { //隆化-口腔模块 /** + * 检查记录状态(同步字段,最后一次检查的id) + * 这里查询关于口腔的数据必须要这个字段 + */ + private Integer oralCheckYn; + /** * 检查id(同步字段,最后一次检查的id) */ private String oralCheckId; @@ -1388,6 +1393,22 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { */ private Integer queryMonthAgeEnd; + public Integer getOralCheckYn() { + return oralCheckYn; + } + + public void setOralCheckYn(Integer oralCheckYn) { + this.oralCheckYn = oralCheckYn; + } + + public String getOralCheckId() { + return oralCheckId; + } + + public void setOralCheckId(String oralCheckId) { + this.oralCheckId = oralCheckId; + } + public Integer getQueryMonthAgeStart() { return queryMonthAgeStart; } @@ -1958,6 +1979,9 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { if (StringUtils.isNotEmpty(oralCheckDoctor)) { condition = condition.and("oralCheckDoctor", oralCheckDoctor, MongoOper.IS); } + if (null != oralCheckYn) { + condition = condition.and("oralCheckYn", oralCheckYn, MongoOper.IS); + } Criteria c = null; if (null != birthStart) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyOralCheckController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyOralCheckController.java index c856f32..332fc6a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyOralCheckController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyOralCheckController.java @@ -57,9 +57,9 @@ public class BabyOralCheckController extends BaseController { @ResponseBody @TokenRequired @RequestMapping(value = "/delDate",method = RequestMethod.DELETE) - public BaseResponse delDate(@RequestParam("id") String id) { - - return babyOralCheckFacade.delDate(id); + public BaseResponse delDate(@RequestParam("id") String id, HttpServletRequest request) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return babyOralCheckFacade.delDate(id,loginState.getId()); } /** * 口腔检查编辑数据获取/单个口腔检查记录 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyOralCheckFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyOralCheckFacade.java index a1d93f9..46eda84 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyOralCheckFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyOralCheckFacade.java @@ -3,10 +3,7 @@ package com.lyms.platform.operate.web.facade; import com.lyms.platform.biz.service.BabyBookbuildingService; import com.lyms.platform.biz.service.BabyOralCheckService; import com.lyms.platform.common.constants.ErrorCodeConstants; -import com.lyms.platform.common.enums.CheckMonthEnums; -import com.lyms.platform.common.enums.CheckMonthQhdEnums; -import com.lyms.platform.common.enums.SexEnum; -import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.common.enums.*; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.result.RespBuilder; @@ -20,6 +17,7 @@ import com.lyms.platform.operate.web.utils.MongoUtil; import com.lyms.platform.permission.dao.master.CouponMapper; import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.service.OrganizationService; +import com.lyms.platform.pojo.BabyEyeCheck; import com.lyms.platform.pojo.BabyModel; import com.lyms.platform.pojo.BabyOralCheck; import com.lyms.platform.query.BabyModelQuery; @@ -50,6 +48,8 @@ public class BabyOralCheckFacade { private BabyOralCheckService babyOralCheckService; @Autowired private CouponMapper couponMapper; + @Autowired + private OperateLogFacade operateLogFacade; public BaseResponse addOrUpDate(BabyOralCheck babyOralCheck, Integer userid) { //判断阳性检查 @@ -84,22 +84,27 @@ public class BabyOralCheckFacade { babyOralCheck.setBabyFName(babyModel.getFname()); babyOralCheck.setBabyFPhone(babyModel.getFphone()); babyOralCheck.setBabyFCertNo(babyModel.getFcertNo()); + }else { + return RespBuilder.buildSuccess(ResponseCode.NEED_BUILD); } //添加 BabyOralCheck add=new BabyOralCheck(); if (StringUtils.isEmpty(babyOralCheck.getId())) { - if (!mongoUtil.buildArchive(userid, babyOralCheck.getBabyId())) { - return RespBuilder.buildSuccess(ResponseCode.NEED_BUILD); - } add = babyOralCheckService.add(babyOralCheck); + operateLogFacade.addDeleteOptLog(userid, Integer.parseInt(hospitalId), add, OptActionEnums.ADD.getId(), "添加口腔检查"); }else {//修改 babyOralCheck.setOperaterId(userid+""); babyOralCheck.setModified(new Date()); babyOralCheckService.update(babyOralCheck); + BabyOralCheck oralCheck = mongoTemplate.findOne(Query.query(Criteria.where("id").is(babyOralCheck.getId())), BabyOralCheck.class); + if (null!=oralCheck) { + operateLogFacade.addDeleteOptLog(userid, Integer.parseInt(hospitalId), oralCheck, OptActionEnums.UPDATE.getId(), "修改口腔检查"); + } } //同步数据到儿童档案 BabyOralCheckQuery checkQuery=new BabyOralCheckQuery(); + checkQuery.setYn(YnEnums.YES.getId()); checkQuery.setBabyId(babyOralCheck.getBabyId()); List babyOralChecks=babyOralCheckService.queryList(checkQuery,Sort.Direction.DESC,"created"); //修改最新的记录才会同步儿童档案,新增也会同步到儿童档案 @@ -111,6 +116,7 @@ public class BabyOralCheckFacade { }else{ babyModel2.setOralCheckId(babyOralCheck.getId()); } + babyModel2.setOralCheckYn(babyOralCheck.getYn()); babyModel2.setPositiveType(babyOralCheck.getPositiveType()); babyModel2.setOralCheckTime(babyOralCheck.getOralCheckTime()); babyModel2.setNextOralCheckTime(babyOralCheck.getNextOralCheckTime()); @@ -128,12 +134,41 @@ public class BabyOralCheckFacade { BaseObjectResponse br = new BaseObjectResponse(); br.setErrorcode(ErrorCodeConstants.SUCCESS); br.setErrormsg("成功"); - br.setData(add.getId()); + br.setData(StringUtils.isNotEmpty(add.getId())?add.getId():babyOralCheck.getId()); return br; } - public BaseResponse delDate(String id) { + public BaseResponse delDate(String id, Integer userid) { babyOralCheckService.deleteById(id); + BabyOralCheck oralCheck= mongoTemplate.findOne(Query.query(Criteria.where("id").is(id)), BabyOralCheck.class); + if (null!=oralCheck) { + String hospitalId = autoMatchFacade.getHospitalId(userid); + operateLogFacade.addDeleteOptLog(userid, Integer.parseInt(hospitalId), oralCheck, OptActionEnums.DELETE.getId(), "删除口腔检查"); + //同步儿童数据 + BabyOralCheckQuery checkQuery=new BabyOralCheckQuery(); + checkQuery.setYn(YnEnums.YES.getId()); + checkQuery.setBabyId(oralCheck.getBabyId()); + List babyOralChecks=babyOralCheckService.queryList(checkQuery,Sort.Direction.DESC,"created"); + BabyModel babyModel = new BabyModel(); + //删除唯一的检查记录 + if( CollectionUtils.isEmpty(babyOralChecks)){ + babyModel.setOralCheckYn(YnEnums.NO.getId()); + }else {//儿童档案数据同步为删除后最后一条 + BabyOralCheck babyOralCheck=babyOralChecks.get(0); + babyModel.setPositiveType(babyOralCheck.getPositiveType()); + babyModel.setOralCheckTime(babyOralCheck.getOralCheckTime()); + babyModel.setNextOralCheckTime(babyOralCheck.getNextOralCheckTime()); + babyModel.setOralCheckDoctor(babyOralCheck.getOralCheckDoctor()); + babyModel.setOralHighRisk(babyOralCheck.getOralHighRisk()); + babyModel.setOralCheckMonthId(babyOralCheck.getCheckMonthId()); + babyModel.setQc(babyOralCheck.getQc()); + babyModel.setHc(babyOralCheck.getHc()); + babyModel.setWgfb(babyOralCheck.getWgfb()); + babyModel.setOralCheckMonthAge(babyOralCheck.getCheckMonthAge()); + } + Update update = MongoConvertHelper.convertToNativeUpdate(ReflectionUtils.getUpdateField(babyModel)); + mongoTemplate.updateFirst(Query.query(Criteria.where("id").is(oralCheck.getBabyId())), update, BabyModel.class); + } BaseObjectResponse br = new BaseObjectResponse(); br.setErrorcode(ErrorCodeConstants.SUCCESS); br.setErrormsg("成功"); @@ -244,6 +279,7 @@ public class BabyOralCheckFacade { String hospitalId = autoMatchFacade.getHospitalId(userId); babyModelQuery.setNeed("true"); babyModelQuery.setYn(YnEnums.YES.getId()); + babyModelQuery.setOralCheckYn(YnEnums.YES.getId()); babyModelQuery.setHospitalId(hospitalId); //结束日期加上时分秒 if (babyModelQuery.getOralCheckTimeEnd() != null) {