diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/PreEugenicsBaseModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/PreEugenicsBaseModel.java index 5c38741..1770ca1 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/PreEugenicsBaseModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/PreEugenicsBaseModel.java @@ -443,6 +443,17 @@ public class PreEugenicsBaseModel extends BaseModel { //接收List ids private List ids; + //隆化-男女临床检查项目填写是否完整 0:不完整 1:完整 + private Integer clinicalCheckYn; + + public Integer getClinicalCheckYn() { + return clinicalCheckYn; + } + + public void setClinicalCheckYn(Integer clinicalCheckYn) { + this.clinicalCheckYn = clinicalCheckYn; + } + public List getIds() { return ids; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PreEugenicsBaseController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PreEugenicsBaseController.java index 71e6dd8..d98bec9 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PreEugenicsBaseController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PreEugenicsBaseController.java @@ -325,4 +325,15 @@ public class PreEugenicsBaseController extends BaseController { public BaseObjectResponse getBreastInspectList(CancerScreeningRequest queryRequest, HttpServletRequest request) { return iPreEugenicsService.getBreastInspectList(queryRequest); } + + /** + * 隆化-男女临床检查项目填写是否完整 0:不完整 1:完整,历史数据添加字段clinicalCheckYn + * + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/pastPreeugenicsBaseAdd") + @ResponseBody + public BaseResponse pastPreeugenicsBaseAdd() { + return iPreEugenicsService.pastPreeugenicsBaseAdd(); + } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IPreEugenicsService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IPreEugenicsService.java index 15574c4..fef8a30 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IPreEugenicsService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IPreEugenicsService.java @@ -37,4 +37,6 @@ public interface IPreEugenicsService extends IFormReportService map=param.getWifeClinicalCheck(); + if (map != null && map.size() > 0) { + //血细胞分析 + List xxbfx =null!= map.get("xxbfx")?(List) map.get("xxbfx"):null; + int xxbfxYn=CollectionUtils.isNotEmpty(xxbfx)?1:0; + if(xxbfxYn==1){ + for (String s : xxbfx) { + if(StringUtils.isEmpty(s)){ + xxbfxYn=0; + } + } + } + + //白带检查 + List bdjc =null!= map.get("bdjc")?(List) map.get("bdjc"):null; + int bdjcYn=CollectionUtils.isNotEmpty(bdjc)?1:0; + if(bdjcYn==1) { + for (Integer s : bdjc) { + if (null == s || -1 == s) { + bdjcYn = 0; + } + } + } + //乙肝 + List yigan =null!= map.get("yigan")?(List) map.get("yigan"):null; + int yiganYn=CollectionUtils.isNotEmpty(yigan)?1:0; + if(yiganYn==1) { + for (Integer s : yigan) { + if (null == s || -1 == s) { + yiganYn = 0; + } + } + } + String gbzam = null != map.get("gbzam") ? map.get("gbzam").toString() : "";//谷丙转氨酶 + String jigan = null != map.get("jigan") ? map.get("jigan").toString() : "";//肌酐 + String xuetang = null != map.get("xuetang") ? map.get("xuetang").toString() : "";//血糖 + String cjzxjs = null != map.get("cjzxjs") ? map.get("cjzxjs").toString() : "";//促甲状腺*激素 + Integer rh = null != map.get("rh") ? (Integer) map.get("rh") : null;//Rh + Integer abo = null != map.get("abo") ? (Integer) map.get("abo") : null;//血型 + Integer fzbd = null != map.get("fzbd") ? (Integer) map.get("fzbd") : null;//风疹病毒IgG + Integer meidu = null != map.get("meidu") ? (Integer) map.get("meidu") : null;//梅毒螺旋体筛查 + Integer jxbbd = null != map.get("jxbbd") ? (Integer) map.get("jxbbd") : null;//巨细胞病毒IgG + Integer jxbbdIgM = null != map.get("jxbbdIgM") ? (Integer) map.get("jxbbdIgM") : null;//巨细胞病毒IgM + Integer gxt = null != map.get("gxt") ? (Integer) map.get("gxt") : null;//弓形体IgG + Integer gxtIgM = null != map.get("gxtIgM") ? (Integer) map.get("gxtIgM") : null;//弓形体IgM + Object ncg=null != map.get("ncg")? map.get("ncg") : null;//尿液常规检查 + + if (Arrays.asList(xxbfxYn,bdjcYn,yiganYn).contains(0)|| + Arrays.asList(gbzam, jigan, xuetang,cjzxjs).contains("") || + Arrays.asList(null,-1).contains(fzbd) || + Arrays.asList(null,-1).contains(meidu) || + Arrays.asList(null,-1).contains(jxbbd) || + Arrays.asList(null,-1).contains(jxbbdIgM) || + Arrays.asList(null,-1).contains(gxt) || + Arrays.asList(null,-1).contains(gxtIgM) || + null==rh ||null==abo|| null==ncg) { + clinicalCheckYnWoman=0; + } + } + //男 + Integer clinicalCheckYnMan=1; + Map map2=param.getHusbandClinicalCheck(); + if (map2 != null && map2.size() > 0) { + //乙肝 + List yigan =null!= map2.get("yigan")?(List) map2.get("yigan"):null; + int yiganYn=CollectionUtils.isNotEmpty(yigan)?1:0; + if(yiganYn==1) { + for (Integer s : yigan) { + if (null == s || -1 == s) { + yiganYn = 0; + } + } + } + String gbzam = null != map2.get("gbzam") ? map2.get("gbzam").toString() : "";//谷丙转氨酶 + String jigan = null != map2.get("jigan") ? map2.get("jigan").toString() : "";//肌酐 + Integer rh = null != map2.get("rh") ? (Integer) map2.get("rh") : null;//Rh + Integer abo = null != map2.get("abo") ? (Integer) map2.get("abo") : null;//血型 + Integer meidu = null != map2.get("meidu") ? (Integer) map2.get("meidu") : null;//梅毒螺旋体筛查 + Object ncg=null != map2.get("ncg")? map2.get("ncg") : null;//尿液常规检查 + + if (0==yiganYn|| + Arrays.asList(gbzam, jigan).contains("") || + Arrays.asList(null,-1).contains(meidu) || + null==rh ||null==abo|| null==ncg) { + clinicalCheckYnMan=0; + } + } + if(Arrays.asList(clinicalCheckYnWoman,clinicalCheckYnMan).contains(0)){ + clinicalCheckYn=0; + } + return clinicalCheckYn; + } /** * 列表 @@ -362,54 +480,8 @@ public class PreEugebicsServiceImpl extends BaseServiceImpl implements IPreEugen //隆化定制-妻子和丈夫临床检查完整状态 0:不完整 1:完整 if("2100001605".equals(hospitalId)){ Integer clinicalCheckYn=param.getClinicalCheckYn(); - if(clinicalCheckYn!=null){ - if(0==clinicalCheckYn){ - MongoCondition c = MongoCondition.newInstance(); - MongoCondition con1 = MongoCondition.newInstance("wifeClinicalCheck", false, MongoOper.EXISTS); - MongoCondition con2 = MongoCondition.newInstance("wifeClinicalCheck.xxbfx.0","", MongoOper.IS); - MongoCondition con3 = MongoCondition.newInstance("wifeClinicalCheck.xxbfx.1","", MongoOper.IS); - MongoCondition con4 = MongoCondition.newInstance("wifeClinicalCheck.xxbfx.2","", MongoOper.IS); - MongoCondition con5 = MongoCondition.newInstance("wifeClinicalCheck.xxbfx.3","", MongoOper.IS); - MongoCondition con6 = MongoCondition.newInstance("wifeClinicalCheck.xxbfx.4","", MongoOper.IS); - MongoCondition con7 = MongoCondition.newInstance("wifeClinicalCheck.xxbfx.5","", MongoOper.IS); - MongoCondition con8 = MongoCondition.newInstance("wifeClinicalCheck.xxbfx.6","", MongoOper.IS); - MongoCondition con9 = MongoCondition.newInstance("wifeClinicalCheck.xxbfx.7","", MongoOper.IS); - MongoCondition con10 = MongoCondition.newInstance("wifeClinicalCheck.xxbfx.8","", MongoOper.IS); - MongoCondition con11 = MongoCondition.newInstance("wifeClinicalCheck.gbzam","", MongoOper.IS); - MongoCondition con12 = MongoCondition.newInstance("wifeClinicalCheck.jigan","", MongoOper.IS); - MongoCondition con13 = MongoCondition.newInstance("wifeClinicalCheck.xuetang","", MongoOper.IS); - MongoCondition con14 = MongoCondition.newInstance("wifeClinicalCheck.abo",false, MongoOper.EXISTS); - MongoCondition con15 = MongoCondition.newInstance("husbandClinicalCheck",false, MongoOper.EXISTS); - MongoCondition con16 = MongoCondition.newInstance("husbandClinicalCheck.gbzam","", MongoOper.IS); - MongoCondition con17 = MongoCondition.newInstance("husbandClinicalCheck.jigan","", MongoOper.IS); - MongoCondition con18 = MongoCondition.newInstance("husbandClinicalCheck.abo",false, MongoOper.EXISTS); - query.addCriteria(c.orCondition(new MongoCondition[]{con1, con2, con3, con4, con5, con6, con7, con8 - , con9, con10, con11, con12, con13, con14, con15, con16, con17, con18}).getCriteria()); - } - if(1==clinicalCheckYn){ - MongoCondition c = MongoCondition.newInstance(); - MongoCondition con1 = MongoCondition.newInstance("wifeClinicalCheck", true, MongoOper.EXISTS); - MongoCondition con2 = MongoCondition.newInstance("wifeClinicalCheck.xxbfx.0","", MongoOper.NE); - MongoCondition con3 = MongoCondition.newInstance("wifeClinicalCheck.xxbfx.1","", MongoOper.NE); - MongoCondition con4 = MongoCondition.newInstance("wifeClinicalCheck.xxbfx.2","", MongoOper.NE); - MongoCondition con5 = MongoCondition.newInstance("wifeClinicalCheck.xxbfx.3","", MongoOper.NE); - MongoCondition con6 = MongoCondition.newInstance("wifeClinicalCheck.xxbfx.4","", MongoOper.NE); - MongoCondition con7 = MongoCondition.newInstance("wifeClinicalCheck.xxbfx.5","", MongoOper.NE); - MongoCondition con8 = MongoCondition.newInstance("wifeClinicalCheck.xxbfx.6","", MongoOper.NE); - MongoCondition con9 = MongoCondition.newInstance("wifeClinicalCheck.xxbfx.7","", MongoOper.NE); - MongoCondition con10 = MongoCondition.newInstance("wifeClinicalCheck.xxbfx.8","", MongoOper.NE); - MongoCondition con11 = MongoCondition.newInstance("wifeClinicalCheck.gbzam","", MongoOper.NE); - MongoCondition con12 = MongoCondition.newInstance("wifeClinicalCheck.jigan","", MongoOper.NE); - MongoCondition con13 = MongoCondition.newInstance("wifeClinicalCheck.xuetang","", MongoOper.NE); - MongoCondition con14 = MongoCondition.newInstance("wifeClinicalCheck.abo",true, MongoOper.EXISTS); - MongoCondition con15 = MongoCondition.newInstance("husbandClinicalCheck",true, MongoOper.EXISTS); - MongoCondition con16 = MongoCondition.newInstance("husbandClinicalCheck.gbzam","", MongoOper.NE); - MongoCondition con17 = MongoCondition.newInstance("husbandClinicalCheck.jigan","", MongoOper.NE); - MongoCondition con18 = MongoCondition.newInstance("husbandClinicalCheck.abo",true, MongoOper.EXISTS); - query.addCriteria(c.orCondition(new MongoCondition[]{con1, con2, con3, con4, con5, con6, con7, con8 - , con9, con10, con11, con12, con13, con14, con15, con16, con17, con18}).getCriteria()); - } - + if(null!=clinicalCheckYn){ + query.addCriteria(Criteria.where("clinicalCheckYn").is(clinicalCheckYn)); } } @@ -604,10 +676,6 @@ public class PreEugebicsServiceImpl extends BaseServiceImpl implements IPreEugen setDoctorName(result.getHusbandClinicalCheck()); setDoctorName(result.getHusbandOtherCheck()); setDoctorName(result.getResultAdvice()); - //男女婚检是否完整 - setClinicalCheckYnWife(result.getWifeClinicalCheck(),result); - setClinicalCheckYnHusband(result.getHusbandClinicalCheck(),result); - return result; } @@ -626,44 +694,6 @@ public class PreEugebicsServiceImpl extends BaseServiceImpl implements IPreEugen } } } - private void setClinicalCheckYnWife(Map map,PreEugenicsBaseListResult result) { - if (map != null && map.size() > 0) { - List xxbfx =null!= map.get("xxbfx")?(List) map.get("xxbfx"):null; - for (String s : xxbfx) { - if(StringUtils.isEmpty(s)){ - result.setClinicalCheckYn(0); - } - } - String gbzam = null != map.get("gbzam") ? map.get("gbzam").toString() : ""; - String jigan = null != map.get("jigan") ? map.get("jigan").toString() : ""; - String xuetang = null != map.get("xuetang") ? map.get("xuetang").toString() : ""; - Integer abo = null != map.get("abo") ? (Integer) map.get("abo") : null; - if (Arrays.asList(gbzam, jigan, xuetang).contains("") || - null==abo || - null==result.getClinicalCheckYn()|| - 0==result.getClinicalCheckYn()) { - result.setClinicalCheckYn(0); - } else { - result.setClinicalCheckYn(1); - } - }else { - result.setClinicalCheckYn(0); - } - } - private void setClinicalCheckYnHusband(Map map,PreEugenicsBaseListResult result) { - if (map != null && map.size() > 0) { - String gbzam = null!=map.get("gbzam")?map.get("gbzam").toString():""; - String jigan = null!=map.get("jigan")?map.get("jigan").toString():""; - Integer abo = null!=map.get("abo")?(Integer) map.get("abo"):null; - if(Arrays.asList(gbzam,jigan).contains("")||abo==null){ - result.setClinicalCheckYn(0); - }else { - result.setClinicalCheckYn(1); - } - }else { - result.setClinicalCheckYn(0); - } - } /** * 单个查询 @@ -1383,6 +1413,61 @@ public class PreEugebicsServiceImpl extends BaseServiceImpl implements IPreEugen return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(areaList); } + @Override + public BaseResponse pastPreeugenicsBaseAdd() { + Query query=new Query(); + query.addCriteria(Criteria.where("hospitalId").is("2100001605")); + List preEugenicsBaseModels = mongoTemplate.find(query, PreEugenicsBaseModel.class); + + for (PreEugenicsBaseModel model : preEugenicsBaseModels) { +// if(model.getId().equals("61b17d47500c783ccdf941d1")){ + PreEugenicsBaseRequest result = new PreEugenicsBaseRequest(); + result.setWifeClinicalCheck(model.getWifeClinicalCheck()); + result.setHusbandClinicalCheck(model.getHusbandClinicalCheck()); + Object a=new ObjectId(); + Query query2 = Query.query(Criteria.where("id").is(model.getId())); + //隆化-男女临床检查项目填写是否完整 0:不完整 1:完整 + model.setClinicalCheckYn(clinicalCheckYnEdit(result)); + Update update = MongoConvertHelper + .convertToNativeUpdate(ReflectionUtils.getUpdateField(model)); + mongoTemplate.updateFirst(query2, update, PreEugenicsBaseModel.class); + } +// } + +// if (CollectionUtils.isNotEmpty(preEugenicsBaseModels)) { +// int batchSize = 20; +// int end = 0; +// List listFuture = new ArrayList <>(); +// for (int i = 0; i < preEugenicsBaseModels.size(); i += batchSize) { +// end = (end + batchSize); +// if (end > preEugenicsBaseModels.size()) { +// end = preEugenicsBaseModels.size(); +// } +// final List risks = preEugenicsBaseModels.subList(i, end); +// listFuture.add(commonThreadPool.submit(new Callable() { +// @Override +// public Object call() throws Exception { +// if (CollectionUtils.isNotEmpty(risks)) { +// for (PreEugenicsBaseModel model : risks) { +// PreEugenicsBaseRequest result = new PreEugenicsBaseRequest(); +// result.setWifeClinicalCheck(model.getWifeClinicalCheck()); +// result.setHusbandClinicalCheck(model.getHusbandClinicalCheck()); +// Query query = Query.query(Criteria.where("id").is(model.getId())); +// //隆化-男女临床检查项目填写是否完整 0:不完整 1:完整 +// model.setClinicalCheckYn(clinicalCheckYnEdit(result)); +// Update update = MongoConvertHelper +// .convertToNativeUpdate(ReflectionUtils.getUpdateField(model)); +// mongoTemplate.updateFirst(query, update, PreEugenicsBaseModel.class); +// } +// } +// return null; +// } +// })); +// } +// +// } + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } public static final String AREA_URL = PropertiesUtils.getPropertyValue("area_url");