From 9f6fba296f3e09dc84f0e61c3d688525419b0da6 Mon Sep 17 00:00:00 2001 From: wtt Date: Tue, 4 Aug 2020 14:15:34 +0800 Subject: [PATCH] update --- .../java/com/lyms/platform/pojo/BabyEyeCheck.java | 10 ++ .../java/com/lyms/platform/pojo/BabyModel.java | 21 ++++ .../web/controller/BabyEyeCheckController.java | 4 +- .../operate/web/facade/BabyBookbuildingFacade.java | 1 + .../web/facade/BabySpecialDiseaseClinicFacade.java | 20 +++- .../web/request/BabyBookbuildingAddRequest.java | 10 ++ .../operate/web/service/BabyEyeCheckService.java | 2 +- .../web/service/impl/BabyEyeCheckServiceImpl.java | 110 +++++++++++++++------ 8 files changed, 139 insertions(+), 39 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyEyeCheck.java b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyEyeCheck.java index ef1cdff..9e81595 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyEyeCheck.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyEyeCheck.java @@ -16,6 +16,8 @@ public class BabyEyeCheck extends BaseModel { private static final long serialVersionUID = SerialIdEnum.BabyEyeCheck.getCid(); + // 1 眼保健直接检查 + private String displayState; //检查是儿童月龄 private String checkMonthAge; @@ -1266,6 +1268,14 @@ public class BabyEyeCheck extends BaseModel { public void setEyeMovementOther(String eyeMovementOther) { this.eyeMovementOther = eyeMovementOther; } + + public String getDisplayState() { + return displayState; + } + + public void setDisplayState(String displayState) { + this.displayState = displayState; + } } 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 15204ac..b894bd4 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 @@ -19,6 +19,9 @@ public class BabyModel extends BaseModel { private static final long serialVersionUID = SerialIdEnum.BabyModel.getCid(); + //区分眼保健管理,1眼保健直接建档显示 2 非眼保健建档不直接显示 ,null 历史数据 + private String displayState; + // 母亲高危因素 List mHighRiskReason; // 儿童高危因素标记<老版本> @@ -147,6 +150,8 @@ public class BabyModel extends BaseModel { private String buildDoctor; //建档日期 private Date buildDate; + //非眼保健建档,眼保健检查作为建档时间 + private Date buildDateNoybj; //服务类型 private Integer serviceType; @@ -1935,6 +1940,22 @@ public class BabyModel extends BaseModel { return sAbility; } + public String getDisplayState() { + return displayState; + } + + public void setDisplayState(String displayState) { + this.displayState = displayState; + } + + public Date getBuildDateNoybj() { + return buildDateNoybj; + } + + public void setBuildDateNoybj(Date buildDateNoybj) { + this.buildDateNoybj = buildDateNoybj; + } + public void setsAbility(String sAbility) { this.sAbility = sAbility; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEyeCheckController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEyeCheckController.java index 3892273..ca7cce5 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEyeCheckController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEyeCheckController.java @@ -166,9 +166,9 @@ public class BabyEyeCheckController extends BaseController { @ResponseBody @TokenRequired @RequestMapping(value = "/childrenFilingList", method = RequestMethod.GET) - public BaseResponse childrenFilingList(Date startDate, Date endDate, String doctor, String key, Integer currentMonthStart, Integer currentMonthEnd, String chechMonth, boolean positive, String positiveIds, Integer page, Integer limit, HttpServletRequest request, + public BaseResponse childrenFilingList( Date startBuildDate, Date endBuildDate,Date startDate, Date endDate, String doctor, String key, Integer currentMonthStart, Integer currentMonthEnd, String chechMonth, boolean positive, String positiveIds, Integer page, Integer limit, HttpServletRequest request, Date bookStartDate, Date bookEndDate, String apparatusPositive, String doctorPositive, String yin,String noPassIds) { - return babyEyeCheckService.childrenFilingList(getUserId(request), startDate, endDate, doctor, key, + return babyEyeCheckService.childrenFilingList(getUserId(request),startBuildDate, endBuildDate,startDate, endDate, doctor, key, currentMonthStart, currentMonthEnd, chechMonth, positive, positiveIds, page, limit, bookStartDate, bookEndDate, apparatusPositive, doctorPositive, yin,noPassIds); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java index 9bd5de7..419ebd2 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java @@ -769,6 +769,7 @@ public class BabyBookbuildingFacade { request.setEncoded(encodedUtil); BabyModel model = getBabyModel(request, true, userId,hid); + model.setDisplayState(request.getDisplayState());//添加加,修改不加,会显不显示 model.setmHighRiskReason(request.getmHighRiskReason()); model.setPid(babyPersonId); model.setOperator(userId); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabySpecialDiseaseClinicFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabySpecialDiseaseClinicFacade.java index f540571..4cf2a2c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabySpecialDiseaseClinicFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabySpecialDiseaseClinicFacade.java @@ -15,10 +15,13 @@ import com.lyms.platform.operate.web.request.BabySpecialDiseaseClinicRequest; import com.lyms.platform.operate.web.result.BabySpecialDiseaseClinicResult; import com.lyms.platform.operate.web.service.impl.BaseServiceImpl; import com.lyms.platform.operate.web.utils.CommonsHelper; +import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.service.OrganizationService; +import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.BabyModel; import com.lyms.platform.pojo.BabySpecialDiseaseClinicModel; import com.lyms.platform.query.BabySpecialDiseaseClinicModelQuery; +import org.apache.commons.lang.math.NumberUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.stereotype.Component; @@ -57,8 +60,8 @@ public class BabySpecialDiseaseClinicFacade extends BaseServiceImpl { private BasicConfigFacade basicConfigFacade; @Autowired private MongoTemplate mongoTemplate; - - + @Autowired + private UsersService usersService; public static final String HIS_VERSION = PropertiesUtils.getPropertyValue("his_version"); @@ -91,6 +94,15 @@ public class BabySpecialDiseaseClinicFacade extends BaseServiceImpl { model.setMonth(DateUtil.getBabyMonthAge(babyModel.getBirth(), new Date())); } model.setModifyDate(new Date()); + model.setBuildDate(babyModel.getBuildDate()); + model.setBuildDoctorId(babyModel.getBuildDoctor()); + if(StringUtils.isNotEmpty(babyModel.getBuildDoctor())){ + Users users = usersService.getUsers(NumberUtils.toInt(babyModel.getBuildDoctor())); + model.setBuildDoctorName(users.getName()); + } + + + } @@ -104,9 +116,7 @@ public class BabySpecialDiseaseClinicFacade extends BaseServiceImpl { model.setDiagnosis(request.getDiagnosis()); model.setCheckDoctor(request.getCheckDoctor()); model.setNextDate(DateUtil.parseYMD(request.getNextDate())); - model.setBuildDate(DateUtil.parseYMD(request.getBuildDate())); - model.setBuildDoctorId(request.getBuildDoctorId()); - model.setBuildDoctorName(request.getBuildDoctorName()); + return model; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyBookbuildingAddRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyBookbuildingAddRequest.java index 02ea248..0a6171a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyBookbuildingAddRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyBookbuildingAddRequest.java @@ -115,6 +115,8 @@ public class BabyBookbuildingAddRequest { @FormParam @NotEmpty(message = "母亲儿童名称不能为空") private String babyName; + //区分眼保健管理,1眼保健直接建档显示 2 非眼保健建档不直接显示 ,null 历史数据 + private String displayState; //儿童性别 private Integer sex; @@ -543,6 +545,14 @@ public class BabyBookbuildingAddRequest { this.jxPwwf = jxPwwf; } + public String getDisplayState() { + return displayState; + } + + public void setDisplayState(String displayState) { + this.displayState = displayState; + } + public boolean isJxMtn() { return jxMtn; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyEyeCheckService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyEyeCheckService.java index 504cfae4..eeb8537 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyEyeCheckService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyEyeCheckService.java @@ -29,7 +29,7 @@ public interface BabyEyeCheckService extends IBaseService { String positiveIds, Integer page, Integer limit, Date bookStartDate, Date bookEndDate, String apparatusPositive, String doctorPositive, String yin,String noPassIds); - BaseResponse childrenFilingList(Integer userId, Date startDate, Date endDate, String doctor, String key, + BaseResponse childrenFilingList(Integer userId, Date startBuildDate, Date endBuildDate,Date startDate, Date endDate, String doctor, String key, Integer currentMonthStart, Integer currentMonthEnd, String chechMonth, boolean positive, String positiveIds, Integer page, Integer limit, Date bookStartDate, Date bookEndDate, String apparatusPositive, String doctorPositive, String yin,String noPassIds); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java index 3082126..fc3fd78 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java @@ -213,7 +213,7 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEyeC || "2".equals(babyEyeCheck.getBehaviorObservation()) || "2".equals(babyEyeCheck.getRefractiveScreening()) || "2".equals(babyEyeCheck.getEyePositionExamination()) - || "2".equals(babyEyeCheck.getEyeMovement()) ) { + || "2".equals(babyEyeCheck.getEyeMovement())) { //器械判定阳性 babyEyeCheck.setApparatus("2"); } else { @@ -237,7 +237,16 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEyeC } syncData("ADD", babyEyeCheck, ""); mongoTemplate.save(babyEyeCheck); - + /** + * start 增加更新儿童档案 建档时间2 + * 添加保健检查更新建档时间,修改眼保健检查不该建档时间 + * @Author: 武涛涛 + * @Date: 2020/8/4 11:31 + */ + if(babyModel!=null && "2".equals(babyModel.getDisplayState())){// 2 是代表没有在眼保健建档的档案,null不处理历史数据 + mongoTemplate.updateFirst(new Query(Criteria.where("id").is(babyEyeCheck.getBabyId())), Update.update("buildDateNoybj", new Date()), BabyModel.class); + } + /*end*/ // 添加追访眼保检查 Date nextCheckTime = babyEyeCheck.getNextCheckTime(); if (null != nextCheckTime) { @@ -254,6 +263,7 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEyeC } //更新眼保健 else { + babyEyeCheck.setDisplayState(null);//避免更新的時候更新了这个状态。 babyEyeCheck.setOperaterId(userId.toString()); List before = mongoTemplate.find(Query.query(Criteria.where("id").is(babyEyeCheck.getId())), BabyEyeCheck.class); @@ -838,7 +848,6 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEyeC } - /** * 眼保健管理,按照人次展示 * @@ -846,14 +855,17 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEyeC * @Date: 2020/8/3 17:43 */ @Override - public BaseResponse childrenFilingList(Integer userId, Date startDate, Date endDate, String doctor, String key, Integer currentMonthStart, - Integer currentMonthEnd, String chechMonth, boolean positive, String positiveIds, - Integer page, Integer limit, Date bookStartDate, Date bookEndDate, - String apparatusPositive, String doctorPositive, String yin, String noPassIds) { + public BaseResponse childrenFilingList(Integer userId, Date startBuildDate, Date endBuildDate, Date startDate, Date endDate, String doctor, String key, Integer currentMonthStart, + Integer currentMonthEnd, String chechMonth, boolean positive, String positiveIds, + Integer page, Integer limit, Date bookStartDate, Date bookEndDate, + String apparatusPositive, String doctorPositive, String yin, String noPassIds) { /* - 1 获取所有儿童建档数据,筛查做过眼保健检查的档案。 - 2 眼保健建档新增一个字段标示可以展示到眼保健管理。其它建档可以不管。 - 3 其它建档在做眼保健检查。给该档案也标记成可以展示到眼保健管理状态。 + 1 获取所有儿童建档数据,筛查做过眼保健检查的档案。 + + 2 眼保健建档新增一个字段标示可以展示到眼保健管理。其它建档可以不管。 + + 3 其它建档在做眼保健检查。给该档案也标记成可以展示到眼保健管理状态。 + 4 列表展示儿童档案,第一有眼保健检查数据。第二档案有标记状态可以展示。 如何避免重复叠加, 1 以前建档的永远不标记可以展示状态。 @@ -863,14 +875,6 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEyeC 5 新增的档案,只是标记状态不冗余其它字段 */ String hospitalId = autoMatchFacade.getHospitalId(userId); - Criteria c = new Criteria(); - c.orOperator(Criteria.where("hospitalId").is(hospitalId),Criteria.where("mcertNo").is(key)).and("yn").ne(0); - List babyModels = mongoUtil.findField(BabyModel.class, c, "id"); - List babyIds = CollectionUtils.getId(babyModels, "id", String.class); - - - - boolean b = true; Criteria criteria = Criteria.where("yn").ne("0").and("hospitalId").is(hospitalId); @@ -914,11 +918,11 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEyeC criteria.and("apparatus").nin("2").and("doctorJudgement").nin("2"); } if (org.apache.commons.lang.StringUtils.isNotBlank(key)) { - /*Criteria c = new Criteria(); + Criteria c = new Criteria(); c.orOperator(Criteria.where("mphone").is(key), Criteria.where("name").regex(key), Criteria.where("mcertNo").is(key)).and("yn").ne(0); List babyModels = mongoUtil.findField(BabyModel.class, c, "id"); List babyIds = CollectionUtils.getId(babyModels, "id", String.class); - criteria.and("babyId").in(babyIds);*/ + criteria.and("babyId").in(babyIds); } /** @@ -980,10 +984,54 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEyeC List> maps = setDatas(babyEyeChecks); return RespBuilder.buildSuccess(new PageResult(count, page, limit, maps)); } - PageResult pageResult = findMongoPage(BabyEyeCheck.class, new Query(criteria).with(new Sort(Sort.Direction.DESC, "created")), page, limit); + /* PageResult pageResult = findMongoPage(BabyEyeCheck.class, new Query(criteria).with(new Sort(Sort.Direction.DESC, "created")), page, limit); List babyEyeChecks = (List) pageResult.getGrid(); pageResult.setGrid(setDatas(babyEyeChecks)); - return RespBuilder.buildSuccess(pageResult); + return RespBuilder.buildSuccess(pageResult);*/ + List babyIds = new ArrayList<>(); + + + //存放,没有在眼保健建档或在眼保健建档,做个眼保健检查的档案。 + List babyIdBabyEyeCheck = new ArrayList<>(); + List babyEyeChecks = mongoUtil.findField(BabyEyeCheck.class, criteria.and("displayState").is(null), "babyId");//新的检查displayState=1这里不查看新的因为新的档案中可以获取 + babyIdBabyEyeCheck = CollectionUtils.getId(babyEyeChecks, "babyId", String.class); + System.out.println("1 未去重 "+babyIdBabyEyeCheck.size()); + if (CollectionUtils.isNotEmpty(babyIdBabyEyeCheck)) { + babyIdBabyEyeCheck = new ArrayList(new LinkedHashSet(babyIdBabyEyeCheck)); + System.out.println("1 去重后 "+babyIdBabyEyeCheck.size()); + babyIds.addAll(babyIdBabyEyeCheck); + } + //获取在眼保健新增的新档案,历史不回去。 + Criteria c =Criteria.where("yn").ne("0").and("hospitalId").is(hospitalId).and("displayState").is("1"); + List babyModels = mongoUtil.findField(BabyModel.class, c, "id"); + List babyIdsBabyModels = CollectionUtils.getId(babyModels, "id", String.class); + System.out.println("2 未去重 "+babyIdsBabyModels.size()); + if (CollectionUtils.isNotEmpty(babyIdsBabyModels)) { + babyIdsBabyModels = new ArrayList(new LinkedHashSet(babyIdsBabyModels)); + System.out.println("2 去重后 "+babyIdsBabyModels.size()); + babyIds.addAll(babyIdsBabyModels); + } + System.out.println("总共档案条数 "+ babyIds.size()); + + + //控制建档查询。 + Criteria cbaby = new Criteria(); + if (startBuildDate != null && endBuildDate != null) { + cbaby.and("buildDate").gte(startBuildDate).lt(DateUtil.addDay(endBuildDate, 1)).and("yn").ne("0").and("hospitalId").is(hospitalId); + //cbaby.orOperator(Criteria.where("yn").ne("0").and("hospitalId").is(hospitalId)); + List jdbabyModels = mongoUtil.findField(BabyModel.class, cbaby, "id"); + babyIds = CollectionUtils.getId(jdbabyModels, "id", String.class); + } + + + + System.out.println("建档条件后---总共档案条数 "+ babyIds.size()); + + //更加建档id查询档案表,并且分页。关联眼保健检查。 + + + + return null; } private void doFilter(List babyEyeChecks, List ids) { @@ -1134,28 +1182,28 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEyeC positive.append("红光反射(稍减弱)"); } - if("2".equals(babyEyeCheck.getEyeAppearance())){ + if ("2".equals(babyEyeCheck.getEyeAppearance())) { positive.append("眼外观 "); } - if("2".equals(babyEyeCheck.getRedReflexQhd())){ + if ("2".equals(babyEyeCheck.getRedReflexQhd())) { positive.append("红光反射 "); } - if("2".equals(babyEyeCheck.getBlinkReflex())){ + if ("2".equals(babyEyeCheck.getBlinkReflex())) { positive.append("瞬目反射 "); } - if("2".equals(babyEyeCheck.getRedBallTest())){ + if ("2".equals(babyEyeCheck.getRedBallTest())) { positive.append("红球试验 "); } - if("2".equals(babyEyeCheck.getBehaviorObservation())){ + if ("2".equals(babyEyeCheck.getBehaviorObservation())) { positive.append("视物行为观察 "); } - if("2".equals(babyEyeCheck.getRefractiveScreening())){ + if ("2".equals(babyEyeCheck.getRefractiveScreening())) { positive.append("屈光筛查 "); } - if("2".equals(babyEyeCheck.getEyePositionExamination())){ + if ("2".equals(babyEyeCheck.getEyePositionExamination())) { positive.append("眼位检查 "); } - if("2".equals(babyEyeCheck.getEyeMovement())){ + if ("2".equals(babyEyeCheck.getEyeMovement())) { positive.append("眼球运动 "); } return positive; @@ -1297,7 +1345,7 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEyeC } @Override - public BaseResponse queryShowQhd( String babyId) { + public BaseResponse queryShowQhd(String babyId) { Date firstSecond = DateUtil.getDayFirstSecond(new Date()); Date dayLastSecond = DateUtil.getDayLastSecond(new Date()); Map temp = new HashMap<>(); -- 1.8.3.1