diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/zcfy/ZcPrenatalService.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/zcfy/ZcPrenatalService.java index 5868bfe..9c5c84d 100644 --- a/platform-operate-api/src/main/java/com/lyms/hospitalapi/zcfy/ZcPrenatalService.java +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/zcfy/ZcPrenatalService.java @@ -2,7 +2,7 @@ package com.lyms.hospitalapi.zcfy; import com.lyms.platform.biz.service.PatientsService; import com.lyms.platform.common.constants.ErrorCodeConstants; -import com.lyms.platform.common.result.BaseListResponse; +import com.lyms.platform.common.dao.BaseMongoDAO; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.operate.web.facade.ViewFacade; import com.lyms.platform.pojo.AntExChuModel; @@ -10,6 +10,8 @@ import com.lyms.platform.pojo.AntenatalExaminationModel; import com.lyms.platform.pojo.Patients; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.stereotype.Service; import java.sql.Connection; @@ -29,6 +31,8 @@ public class ZcPrenatalService { private PatientsService patientsService; @Autowired private ViewFacade viewFacade; + @Autowired + private BaseMongoDAO baseMongoDAO; //初诊 public BaseObjectResponse saveAntexChu(AntExChuModel antExChuModel) { @@ -141,9 +145,11 @@ public class ZcPrenatalService { "jhBilirubin,ygbmky,ygbmkt,ygeky,ygekt,\n" + "yghxkt,xqjq,xnsd,hivkt,ydfmw,ydqjd,\n" + "bChao,heartRate,fetalPosition,fetalPresentation,join1,checkDate,\n" + - "cDueWeek,checkDoctor,hospital,dirOpinion) " + - "values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," + - "?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; + "cDueWeek,checkDoctor,hospital,dirOpinion,infectDiseases,screenResult,highRisk,highriskDesc," + + "nextCheckTime,yinchan,gongwaiyun,syjg,diagnosis,diagnosisOther) " + + "values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," + + "?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," + + "?,?,?,?,?,?)"; @@ -164,8 +170,8 @@ public class ZcPrenatalService { }else{ ps.setString(7,null); } - if(map.get("treatmentOpinion3") != null){ - ps.setString(8,map.get("treatmentOpinion3").toString()); + if(map.get("treatOpinion") != null){ + ps.setString(8,map.get("treatOpinion").toString()); }else{ ps.setString(8,null); } @@ -189,8 +195,8 @@ public class ZcPrenatalService { }else{ ps.setString(12,null); } - if(map.get("hivktSelect") != null){ - ps.setString(13,map.get("hivktSelect").toString()); + if(map.get("hivkt") != null){ + ps.setString(13,map.get("hivkt").toString()); }else{ ps.setString(13,null); } @@ -557,8 +563,71 @@ public class ZcPrenatalService { ps.setString(89,map.get("dirOpinion").toString()); }else{ ps.setString(89,null); + }if(map.get("infectDiseases") != null){ + ps.setString(90,map.get("infectDiseases").toString()); + }else{ + ps.setString(90,null); + } + if(map.get("screenResult") != null){ + String r = ""; + List> listMap = (List)map.get("screenResult"); + for(Map m : listMap){ + r+=m.get("name"); + } + ps.setString(91,r); + }else{ + ps.setString(91,null); + } + if(map.get("highRisk") != null){ + String s = ""; + List> listMap = (List)map.get("highRisk"); + for(Map m : listMap){ + s+=(m.get("name")+" "); + } + ps.setString(92,s); + }else{ + ps.setString(92,null); + } + if(map.get("highriskDesc") != null){ + ps.setString(93,map.get("highriskDesc").toString()); + }else{ + ps.setString(93,null); + } + if(map.get("sieveStatus") != null){ + ps.setString(94,map.get("sieveStatus").toString()); + }else{ + ps.setString(94,null); + } + if(map.get("nextCheckTime") != null){ + ps.setString(95,map.get("nextCheckTime").toString()); + }else{ + ps.setString(95,null); + } + if(map.get("yinchan") != null){ + ps.setString(96,map.get("yinchan").toString()); + }else{ + ps.setString(96,null); + } + if(map.get("gongwaiyun") != null){ + ps.setString(97,map.get("gongwaiyun").toString()); + }else{ + ps.setString(97,null); + } + if(map.get("syjg") != null){ + ps.setString(98,map.get("syjg").toString()); + }else{ + ps.setString(98,null); + } + if(map.get("diagnosis") != null){ + ps.setString(99,map.get("diagnosis").toString()); + }else{ + ps.setString(99,null); + } + if(map.get("diagnosisOther") != null){ + ps.setString(100,map.get("diagnosisOther").toString()); + }else{ + ps.setString(100,null); } - int result = ps.executeUpdate(); @@ -568,10 +637,6 @@ public class ZcPrenatalService { return br; } - - - - } } @@ -670,8 +735,9 @@ public class ZcPrenatalService { "quickenRemark,heartRate,FetalPosition,fetalPresentation,join1,\n" + "hemoglobin,urineProtein,bloodSugar,bloodSugar2,\n" + "bloodSugar3,bloodSugar4,bChao,diagnosis,\n" + - "diagnosisOther,treatmentOpinion,guide) " + - "values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; + "diagnosisOther,treatmentOpinion,guide,screenResult,highRisk,highriskDesc,\n" + + "resultSupple,sieveStatus,nextCheckTime,randomBloodSugar) " + + "values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; ps = conn.prepareStatement(innSql); ps.setString(1,antenatalExaminationModel.getId()); @@ -803,6 +869,53 @@ public class ZcPrenatalService { }else{ ps.setString(33,null); } + if(map.get("screenResult") != null){ + String r = ""; + List> listMap = (List)map.get("screenResult"); + for(Map m : listMap){ + r+=m.get("name"); + } + ps.setString(34,r); + }else{ + ps.setString(34,null); + } + if(map.get("highRisk") != null){ + String s = ""; + List> listMap = (List)map.get("highRisk"); + for(Map m : listMap){ + s+=(m.get("name")+" "); + } + ps.setString(35,s); + }else{ + ps.setString(35,null); + } + if(map.get("highriskDesc") != null){ + ps.setString(36,map.get("highriskDesc").toString()); + }else{ + ps.setString(36,null); + } + if(map.get("resultSupple") != null){ + ps.setString(37,map.get("resultSupple").toString()); + }else{ + ps.setString(37,null); + } + if(map.get("sieveStatus") != null){ + ps.setString(38,map.get("sieveStatus").toString()); + }else{ + ps.setString(38,null); + } + if(map.get("nextCheckTime") != null){ + ps.setString(39,map.get("nextCheckTime").toString()); + }else{ + ps.setString(39,null); + } + if(map.get("randomBloodSugar") != null){ + ps.setString(40,map.get("randomBloodSugar").toString()); + }else{ + ps.setString(40,null); + } + + int result = ps.executeUpdate(); if(result > 0){ @@ -832,5 +945,24 @@ public class ZcPrenatalService { } + /** + * 诸城初诊暂时调用方法 + * @param startDate + * @param endDate + * @return + */ + public BaseObjectResponse saveChuZhen(String startDate,String endDate){ + Criteria criteria = Criteria.where("created").gte(startDate).lte(endDate); + Query query = new Query(criteria); + List list = baseMongoDAO.find(query); + if(list != null && list.size()>0){ + for(AntExChuModel antExChuModel : list){ + System.out.print(antExChuModel.getId()); + } + } + + return null; + } + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java index 3ae9600..c50b0ff 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java @@ -21,16 +21,16 @@ import com.lyms.platform.operate.web.result.*; import com.lyms.platform.operate.web.service.ITrackDownService; import com.lyms.platform.operate.web.worker.SieveWorker; import com.lyms.platform.permission.model.Organization; -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.*; import com.lyms.platform.query.*; +/*import javafx.beans.binding.ObjectExpression;*/ import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.math.NumberUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.data.domain.Sort; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Component; @@ -61,9 +61,6 @@ public class SieveFacade { private PatientsService patientsService; @Autowired - private UsersService usersService; - - @Autowired private OrganizationGroupsFacade groupsFacade; @Autowired @@ -397,9 +394,12 @@ public class SieveFacade { sieveQuery.setNeed(needPage); String hospitalId = autoMatchFacade.getHospitalId(userId); sieveQuery.setHospitalId(hospitalId); + // System.out.println("产筛列表:"+sieveQuery.convertToQuery().convertToMongoQuery()); //查询产筛list List list = sieveService.queryList1(sieveQuery, "order"); List data = new ArrayList<>(); + + int batchSize = 4; int end = 0; List listFuture = new ArrayList<>(); @@ -408,7 +408,7 @@ public class SieveFacade { if (end > list.size()) { end = list.size(); } - listFuture.add(commonThreadPool.submit(new SieveWorker(hospitalId, list.subList(i, end), antenatalExaminationService, patientsService,applyOrderService,organizationService))); + listFuture.add(commonThreadPool.submit(new SieveWorker(hospitalId, list.subList(i, end), antenatalExaminationService, patientsService,applyOrderService))); } for (Future f : listFuture) { try { @@ -417,6 +417,49 @@ public class SieveFacade { ExceptionUtils.catchException(e, "cqSieve list get result Future error."); } } + + + +/* + if (CollectionUtils.isNotEmpty(list)) { + for (SieveModel sieveModel : list) { + SieveListResult sieveListResult = new SieveListResult(); + AntExQuery antExQuery = new AntExQuery(); + antExQuery.setYn(YnEnums.YES.getId()); + antExQuery.setHospitalId(hospitalId); + antExQuery.setParentId(sieveModel.getParentId()); + List list1 = antenatalExaminationService.queryAntenatalExamination(antExQuery.convertToQuery().addOrder(Sort.Direction.DESC, "created")); + if (CollectionUtils.isNotEmpty(list1)) { + if (StringUtils.isNotEmpty(list1.get(0).getTireNumber())) { + sieveModel.setTireNumber(NumberUtils.toInt(list1.get(0).getTireNumber())); + } + } else { + AntExChuQuery antExChuQuery = new AntExChuQuery(); + antExChuQuery.setYn(YnEnums.YES.getId()); + antExChuQuery.setParentId(sieveModel.getParentId()); + antExChuQuery.setHospitalId(hospitalId); + List antExChuModels = antenatalExaminationService.queryAntExChu(antExChuQuery); + if (CollectionUtils.isNotEmpty(antExChuModels)) { + if (StringUtils.isNotEmpty(antExChuModels.get(0).getTireNumber())) { + sieveModel.setTireNumber(NumberUtils.toInt(antExChuModels.get(0).getTireNumber())); + } + } + } + + sieveListResult.convertToResult(sieveModel); + Patients patients = patientsService.findOnePatientById(sieveModel.getParentId()); + if (null != patients) { + sieveListResult.setIsGravida((patients.getType() == 3 && patients.getFmDate() != null) ? "0" : "1"); + if (null != patients.getDueStatus() && 1 == patients.getDueStatus()) + sieveListResult.setcDueWeek("终止妊娠"); + else if (patients.getType() == 3) { + sieveListResult.setcDueWeek("已分娩"); + } + sieveListResult.setAge(DateUtil.getAge(patients.getBirth()) + "岁"); + } + data.add(sieveListResult); + } + }*/ return new BaseListResponse().setData(data).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setPageInfo(sieveQuery.getPageInfo()); } @@ -598,7 +641,7 @@ public class SieveFacade { return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(patientBaseResult); } - public BaseResponse getSieveApplyInfo(String parentId, Integer userId,Integer type) { + public BaseResponse getSieveApplyInfo(String parentId, Integer userId) { Map map = new HashMap<>(); String hospitalId = autoMatchFacade.getHospitalId(userId); @@ -641,7 +684,7 @@ public class SieveFacade { patientBaseResult.setRiskFactor(highScoreResult.getHighRisk()); patientBaseResult.setRiskScore(highScoreResult.getScoreStr()); - map.put("patientInfo", patientBaseResult); + map.put("patientInfo",patientBaseResult); SieveApplyOrderQuery sieveApplyOrderQuery1 = new SieveApplyOrderQuery(); sieveApplyOrderQuery1.setParentId(parentId); @@ -654,14 +697,12 @@ public class SieveFacade { if (CollectionUtils.isNotEmpty(sieveApplyOrderModels)) { Map result = new HashMap<>(); - - Map viewInfo = new HashMap<>(); SieveApplyOrderModel sieveApply = sieveApplyOrderModels.get(0); result.put("id",sieveApply.getId()); result.put("parentId",sieveApply.getParentId()); - result.put("check",sieveApply.getCheckItem()); + result.put("checkItem",sieveApply.getCheckItem()); result.put("guide",sieveApply.getGuide()); result.put("checkDate",sieveApply.getCheckDate()); result.put("applyDoctor",sieveApply.getApplyDoctor()); @@ -674,89 +715,16 @@ public class SieveFacade { result.put("collectionDoctorId",sieveApply.getCollectionDoctorId()); result.put("collectionDate",DateUtil.getyyyy_MM_dd(sieveApply.getCollectionDate())); result.put("crl",sieveApply.getCrl()); - result.put("bpd",sieveApply.getBpd()); result.put("bcCheckDate",DateUtil.getyyyy_MM_dd(sieveApply.getBcCheckDate())); result.put("historyBirth",sieveApply.getHistoryBirth()); result.put("pastHistory",sieveApply.getPastHistory()); result.put("applyHospitalId",sieveApply.getApplyHospitalId()); result.put("sendDoctor",sieveApply.getSendDoctor()); result.put("sendTime",DateUtil.getyyyy_MM_dd(sieveApply.getSendTime())); - result.put("age",DateUtil.getAge(sieveApply.getBirth(), sieveApply.getCreated())); - result.put("mensesDay",sieveApply.getMensesDay()); - result.put("mensesWeek",sieveApply.getMensesWeek()); - result.put("experimentNum",""); map.put("sieveApplyInfo",result); - if (type == 1) - { - if (com.lyms.platform.common.utils.StringUtils.isNum(sieveApply.getApplyDoctor())) { - Users users = usersService.getUsers(Integer.parseInt(sieveApply.getApplyDoctor())); - if (users != null && users.getYn() == YnEnums.YES.getId()) { - viewInfo.put("applyDoctorName",users.getName()); - } - } - - if (com.lyms.platform.common.utils.StringUtils.isNum(sieveApply.getCollectionDoctorId())) { - Users users = usersService.getUsers(Integer.parseInt(sieveApply.getCollectionDoctorId())); - if (users != null && users.getYn() == YnEnums.YES.getId()) { - viewInfo.put("collectionDoctorName",users.getName()); - } - } - - if (com.lyms.platform.common.utils.StringUtils.isNum(sieveApply.getSendDoctor())) { - Users users = usersService.getUsers(Integer.parseInt(sieveApply.getSendDoctor())); - if (users != null && users.getYn() == YnEnums.YES.getId()) { - viewInfo.put("sendDoctorName",users.getName()); - } - } - if (null != sieveApply.getApplyHospitalId()) { - Organization org = organizationService.getOrganization(Integer.valueOf(sieveApply.getApplyHospitalId())); - if (null != org) { - viewInfo.put("applyHospitalName", org.getName()); - } - } - String isTire = ""; - String tireNumber = ""; - - AntExChuQuery antExChuQuery1 = new AntExChuQuery(); - antExChuQuery1.setParentId(parentId); - antExChuQuery1.setYn(YnEnums.YES.getId()); - List data1 = antenatalExaminationService.queryAntExChu(antExChuQuery1); - if (CollectionUtils.isNotEmpty(data1)) - { - AntExChuModel chuModel = data1.get(0); - if (StringUtils.isNotEmpty(chuModel.getTireNumber())) - { - isTire = Integer.parseInt(chuModel.getTireNumber()) > 1 ? "是":"否"; - tireNumber = chuModel.getTireNumber(); - } - } - - map.put("isTire",isTire); - map.put("tireNumber",tireNumber); - - map.put("viewInfo",viewInfo); - } - else if (type == 3) - { - Map sieveInfo = new HashMap<>(); - - - map.put("sieveInfo",sieveInfo); - } - } return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(map); } - - public BaseResponse reviceSieve(String parentId, Integer userId) { - String hospitalId = autoMatchFacade.getHospitalId(userId); - SieveModel sieve = new SieveModel(); - sieve.setParentId(parentId); - sieve.setHospitalId(hospitalId); - sieve.setReviceStatus(2); - sieveService.updateOneChanQianDiaSieve(sieve); - return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); - } } \ No newline at end of file