diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/JdbcUtil.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/JdbcUtil.java index 0337809..e32a8ba 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/JdbcUtil.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/JdbcUtil.java @@ -710,7 +710,7 @@ public class JdbcUtil { System.out.println(patients.getId() + "============"); - bq.add(new SimplePatient(person.getId(), patients.getId())); + // bq.add(new SimplePatient(person.getId(), patients.getId())); /* syncChuZhen(person.getId(), patients.getId(), mongoTemplate); syncFuzhen(person.getId(), patients.getId(), mongoTemplate);*/ } catch (Exception e) { diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/SimplePatient.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/SimplePatient.java index fb13d82..6a7d86d 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/SimplePatient.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/SimplePatient.java @@ -1,5 +1,7 @@ package com.lyms.platform.biz.service; +import java.util.Date; + /** * Created by Administrator on 2016/10/12 0012. */ @@ -7,10 +9,14 @@ public class SimplePatient { private String pid; private String id; + private Date lastMenses; + private int weeks; - public SimplePatient(String pid,String id){ + public SimplePatient(String pid,String id,Date lastMenses,int weeks){ this.pid=pid; this.id=id; + this.lastMenses = lastMenses; + this.weeks = weeks; } public String getPid() { @@ -29,6 +35,22 @@ public class SimplePatient { this.id = id; } + public int getWeeks() { + return weeks; + } + + public void setWeeks(int weeks) { + this.weeks = weeks; + } + + public Date getLastMenses() { + return lastMenses; + } + + public void setLastMenses(Date lastMenses) { + this.lastMenses = lastMenses; + } + @Override public String toString() { return "pid:"+pid+",id:"+id; diff --git a/platform-common/src/main/java/com/lyms/platform/common/enums/ExpEnums.java b/platform-common/src/main/java/com/lyms/platform/common/enums/ExpEnums.java index 961e75d..1896bb7 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/enums/ExpEnums.java +++ b/platform-common/src/main/java/com/lyms/platform/common/enums/ExpEnums.java @@ -14,7 +14,7 @@ import java.util.Map; */ public enum ExpEnums { - SGY(0,"体验3个月服务"),ETFW(1,"体验儿童服务"); + QXZ(-1,"--请选择--"),SGY(0,"体验3个月服务"),ETFW(1,"体验儿童服务"); private ExpEnums(int id, String name) { this.id = id; diff --git a/platform-common/src/main/java/com/lyms/platform/common/enums/ExpYunEnums.java b/platform-common/src/main/java/com/lyms/platform/common/enums/ExpYunEnums.java index 1a7d174..ff58712 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/enums/ExpYunEnums.java +++ b/platform-common/src/main/java/com/lyms/platform/common/enums/ExpYunEnums.java @@ -14,7 +14,7 @@ import java.util.Map; */ public enum ExpYunEnums { - SGY(0,"体验3个月服务"),ETFW(1,"体验孕期服务"); + QXZ(-1,"--请选择--"),SGY(0,"体验3个月服务"),ETFW(1,"体验孕期服务"); private ExpYunEnums(int id, String name) { this.id = id; diff --git a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java index 5a1d9a6..f43050e 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java @@ -604,6 +604,10 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { condition = condition.and("birth", birth, MongoOper.IS); } + if (null != expVip) { + condition = condition.and("expVip", expVip, MongoOper.IS); + } + if (null != orServiceStatus && orServiceStatus.length > 1) { condition = condition.and("serviceStatus", Arrays.asList(orServiceStatus), MongoOper.IN); diff --git a/platform-data-api/src/main/java/com/lyms/platform/data/service/impl/SmsServiceImpl.java b/platform-data-api/src/main/java/com/lyms/platform/data/service/impl/SmsServiceImpl.java index b4f31fc..fe9d6db 100644 --- a/platform-data-api/src/main/java/com/lyms/platform/data/service/impl/SmsServiceImpl.java +++ b/platform-data-api/src/main/java/com/lyms/platform/data/service/impl/SmsServiceImpl.java @@ -408,11 +408,50 @@ public class SmsServiceImpl implements SmsService{ //健康指导短信 只能是类型为 增值服务 开通状态 才发送 babyQuery.setServiceType(ServiceTypeEnums.ADD_SERVICE.getId()); babyQuery.setServiceStatus(ServiceStatusEnums.ADD_OPEN.getId()); + //查询符合条件儿童 + List babies = babyBookbuildingService.queryBabyBuildByCond(babyQuery); + babyQuery.setExpVip(1); + babyQuery.setServiceType(null); + babyQuery.setServiceStatus(null); + //查询体验会员 + List expBabies = babyBookbuildingService.queryBabyBuildByCond(babyQuery); + if (CollectionUtils.isNotEmpty(expBabies) && CollectionUtils.isNotEmpty(expBabies)) + { + for(BabyModel vip : expBabies) + { + if (vip == null || vip.getExpType() == null || vip.getBirth() == null) + { + continue; + } + if (ExpEnums.SGY.getId() == vip.getExpType()) + { + Date expDate = DateUtil.addMonth(vip.getBirth(),3); + if (expDate.getTime() > new Date().getTime()) + { + int count = Collections.frequency(babies,vip); + if (count == 0) + { + babies.add(vip); + } + } + } + else if (ExpEnums.ETFW.getId() == vip.getExpType()) + { + Date expDate = DateUtil.addYear(vip.getBirth(), 3); + if (expDate.getTime() > new Date().getTime()) + { + int count = Collections.frequency(babies,vip); + if (count == 0) + { + babies.add(vip); + } + } + } + } + } - //查询符合条件儿童 - List babies = babyBookbuildingService.queryBabyBuildByCond(babyQuery); if (CollectionUtils.isNotEmpty(babies)) { @@ -458,9 +497,7 @@ public class SmsServiceImpl implements SmsService{ break; } } - } - list.setMessages(messages); sendSms(list); } diff --git a/platform-data-api/src/main/java/com/lyms/platform/data/util/AmsMessageService.java b/platform-data-api/src/main/java/com/lyms/platform/data/util/AmsMessageService.java index aa9a89b..a7fbf98 100644 --- a/platform-data-api/src/main/java/com/lyms/platform/data/util/AmsMessageService.java +++ b/platform-data-api/src/main/java/com/lyms/platform/data/util/AmsMessageService.java @@ -182,8 +182,11 @@ public class AmsMessageService { public static void main(String[] args) { - getMessageTemplateMap("6a98e4c2-9fa7-47a6-b7f3-ec4c79c687bf", - AmsServiceTypeEnum.CHILD_GUIDE); +// getMessageTemplateMap("8be01f59-ad25-4ae6-968d-8450c9421e0b", +// AmsServiceTypeEnum.CHILD_GUIDE); + } + + } diff --git a/platform-job-index/src/main/java/com/lyms/platform/job/index/service/SyncDataService.java b/platform-job-index/src/main/java/com/lyms/platform/job/index/service/SyncDataService.java index 44d4a30..ba6e80f 100644 --- a/platform-job-index/src/main/java/com/lyms/platform/job/index/service/SyncDataService.java +++ b/platform-job-index/src/main/java/com/lyms/platform/job/index/service/SyncDataService.java @@ -33,11 +33,16 @@ public class SyncDataService { private static BlockingQueue patientsQueue = new LinkedBlockingQueue(); + private static Map> chuzhenDatas = new HashMap<>(); + + private List> patientGuides = new ArrayList<>(); + private List> babyGuides = new ArrayList<>(); + @Autowired private MongoTemplate mongoTemplate; - private static ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(10, 15, 1, TimeUnit.HOURS, new LinkedBlockingQueue()); + private static ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(5, 10, 1, TimeUnit.HOURS, new LinkedBlockingQueue()); private class Chanle extends Thread { @@ -56,7 +61,7 @@ public class SyncDataService { if (null != simplePatient) { // threadPoolExecutor.execute(new SyncAntEx(simplePatient.getPid(), simplePatient.getId(), mongoTemplate)); // threadPoolExecutor.execute(new SyncAntExChu(simplePatient.getPid(), simplePatient.getId(), mongoTemplate)); - threadPoolExecutor.execute(new SyncPatCheck(simplePatient.getPid(), simplePatient.getId(), mongoTemplate)); + threadPoolExecutor.execute(new SyncPatCheck(simplePatient.getPid(), simplePatient.getId(), mongoTemplate,simplePatient.getLastMenses(),simplePatient.getWeeks())); } } catch (Exception e) { ExceptionUtils.catchException(e, "Chanle thread error." + simplePatient); @@ -69,43 +74,23 @@ public class SyncDataService { private class SyncPatCheck extends Thread { private String pid; private String id; + private Date lastMenses; private MongoTemplate mongoTemplate; + private int weeks; - public SyncPatCheck(String pid, String id, MongoTemplate mongoTemplate) { - this.pid = pid; - this.id = id; - this.mongoTemplate = mongoTemplate; - } - - @Override - public void run() { - try { - syncChuZhen(pid, id, mongoTemplate); - syncFuzhen(pid, id, mongoTemplate); - } catch (Exception e) { - ExceptionUtils.catchException(e, "SyncAntExChu thread error.id:" + id+",pid:"+pid); - } - } - - - } - - - private class SyncAntExChu extends Thread { - private String pid; - private String id; - private MongoTemplate mongoTemplate; - - public SyncAntExChu(String pid, String id, MongoTemplate mongoTemplate) { + public SyncPatCheck(String pid, String id, MongoTemplate mongoTemplate,Date lastMenses,int weeks) { this.pid = pid; this.id = id; this.mongoTemplate = mongoTemplate; + this.lastMenses = lastMenses; + this.weeks= weeks; } @Override public void run() { try { - syncChuZhen(pid, id, mongoTemplate); + syncChuZhen(pid, id, mongoTemplate,lastMenses,weeks); + syncFuzhen(pid, id, mongoTemplate,lastMenses,weeks); } catch (Exception e) { ExceptionUtils.catchException(e, "SyncAntExChu thread error.id:" + id+",pid:"+pid); } @@ -114,28 +99,52 @@ public class SyncDataService { } - private class SyncAntEx extends Thread { - private String pid; - private String id; - private MongoTemplate mongoTemplate; - - public SyncAntEx(String pid, String id, MongoTemplate mongoTemplate) { - this.pid = pid; - this.id = id; - this.mongoTemplate = mongoTemplate; - } - - @Override - public void run() { - try { - syncFuzhen(pid, id, mongoTemplate); - } catch (Exception e) { - ExceptionUtils.catchException(e, "SyncAntEx thread error.id:" + id+",pid:"+pid); - } - } - - } +// private class SyncAntExChu extends Thread { +// private String pid; +// private String id; +// private MongoTemplate mongoTemplate; +// +// public SyncAntExChu(String pid, String id, MongoTemplate mongoTemplate) { +// this.pid = pid; +// this.id = id; +// this.mongoTemplate = mongoTemplate; +// } +// +// @Override +// public void run() { +// try { +// syncChuZhen(pid, id, mongoTemplate); +// } catch (Exception e) { +// ExceptionUtils.catchException(e, "SyncAntExChu thread error.id:" + id+",pid:"+pid); +// } +// } +// +// +// } +// +// private class SyncAntEx extends Thread { +// private String pid; +// private String id; +// private MongoTemplate mongoTemplate; +// +// public SyncAntEx(String pid, String id, MongoTemplate mongoTemplate) { +// this.pid = pid; +// this.id = id; +// this.mongoTemplate = mongoTemplate; +// } +// +// @Override +// public void run() { +// try { +// syncFuzhen(pid, id, mongoTemplate); +// } catch (Exception e) { +// ExceptionUtils.catchException(e, "SyncAntEx thread error.id:" + id+",pid:"+pid); +// } +// } +// +// +// } private class workerBaby extends Thread { @@ -168,6 +177,7 @@ public class SyncDataService { public void syncBabyData(String oracleHid, Integer mysqlHid) { DataUtil.initData(mysqlHid); + initBabyGuides(); new workerBaby(oracleHid).start(); } @@ -345,49 +355,41 @@ public class SyncDataService { } mongoTemplate.save(model); - syncBabyCheck(model.getId(), mongoTemplate); + syncBabyCheck(model.getId(), mongoTemplate,DataUtil.getDate(map.get("PI_BIRTHDAY"))); } -// private void initChuzhenDatas() -// { -// -// long startTimes = System.currentTimeMillis(); -// List> list = JDBCUtil.getOracleListDataBySql(" SELECT F.*,\n" + -// " '[\"'||REPLACE(TT.HIGH_RISK_ID,',','\",\"')||'\"]' AS RISKFACTOR,\n" + -// " TT.HIGH_RISK_VALUE AS RISKSCORE\n" + -// "FROM MOMMY_FIRSTEXAMINE f \n" + -// "--高危数据\n" + -// "LEFT JOIN \n" + -// " (\n" + -// " SELECT T.ME_EXAMINID,WMSYS.WM_CONCAT(T.HIGH_RISK_FACTOR) AS HIGH_RISK_FACTOR,WMSYS.WM_CONCAT(DISTINCT T.HIGH_RISK_GRADE) AS HIGH_RISK_GRADE,SUM(T.HIGH_RISK_VALUE) AS HIGH_RISK_VALUE,WMSYS.WM_CONCAT(T.HIGH_RISK_ID) AS HIGH_RISK_ID\n" + -// " FROM \n" + -// " (SELECT J.ME_EXAMINID,K.DC_NAME AS HIGH_RISK_FACTOR,L.DC_NAME AS HIGH_RISK_GRADE,TO_NUMBER(K.DC_NO) AS HIGH_RISK_VALUE,LL.ID AS HIGH_RISK_ID\n" + -// " FROM \n" + -// " --高危风险关系表\n" + -// " MOMMY_EXAMINWARNING J\n" + -// " --高危内容\n" + -// " INNER JOIN PLAT_DATACONTENT K ON J.ME_WORNINGID = K.DC_ID AND K.DC_ISVALID=1 AND K.DC_DATATYPEID='fb43fd5a-b153-4cb9-9180-c46f5612ba43' AND K.DC_NAME<>'其他'\n" + -// " --高危等级\n" + -// " INNER JOIN PLAT_DATACONTENT L ON K.DC_PARENTID=L.DC_ID AND L.DC_ISVALID=1 \n" + -// " INNER JOIN LYMS_BASICCONFIG LL ON K.DC_NAME=LL.NAME AND LL.PARENTID IN ('49a36aea-c5b6-4162-87d2-9eb3c6ec00c2','eb146c03-b19f-4e28-b85f-fda574b2283b','315107bd-91fe-42a1-9237-752f3c046a40','e637b361-99cf-41eb-84f2-f0dab596e928','224b2329-cb82-4da3-a071-8527f8283aab') \n" + -// " -- UNION ALL \n" + -// " --其他高危评分\n" + -// " --SELECT M.ID,M.MO_CONTENT,M.MO_COLORNAME,M.MO_VALUES FROM MOMMY_OTHERWORNING M\n" + -// " )T\n" + -// " GROUP BY T.ME_EXAMINID \n" + -// " )TT ON F.FE_ID=TT.ME_EXAMINID\n" + -// "where replace(f.FE_TRIAGEORDERNO,'-','') \n"); -// long endTimes = System.currentTimeMillis(); -// System.out.println("chuzhentimes===========" + (endTimes - startTimes)); -// -// for(Map map : list) -// { -// chuzhenDatas.put(DataUtil.getString(map.get("FE_ID")).replace("-", ""), map); -// } -// list = null; -// -// } + private void initChuzhenDatas() + { + + List> list = JDBCUtil.getOracleListDataBySql("select cz.*,replace(cz.fe_triageorderno,'-','') as PNO from TMP_QHD_CZ cz "); + + System.out.println("initChuzhen size ================= " + list.size()); + for(Map map : list) + { + chuzhenDatas.put(DataUtil.getString(map.get("PNO")), map); + } + list = null; + + patientGuides = JDBCUtil.getOracleListDataBySql("select\n" + + " pe.es_pregnancyweek,bd.dc_name||':'||t.ER_CONTENT as CONTENT\n" + + " from MOMMY_EVALUATIONRESOURCES t\n" + + " inner join Preg_ExamStageEvaluation p on t.er_id = p.ese_evaluationid\n" + + " inner join Preg_ExamineStage pe on p.ese_examinestageid = pe.es_id\n" + + " inner join plat_datacontent bd on bd.dc_id = to_char(t.er_type) "); + + System.out.println("patientGuides size ================= " + patientGuides.size()); + + } + + private void initBabyGuides() + { + + babyGuides = JDBCUtil.getOracleListDataBySql("select ER_CONTENT,ER_ID from MOMMY_EVALUATIONRESOURCES em "); + + System.out.println("initBabyGuides size ================= " + babyGuides.size()); + + } public void syncPatientData(String oracleHid,Integer mysqlHid) { @@ -395,12 +397,10 @@ public class SyncDataService { //初始化数据 DataUtil.initData(mysqlHid); - new Chanle(mongoTemplate).start(); - String sql = "select replace(mp.P_NO,'-','') as PID,mp.*,p_birthday,p_name,floor((trunc(sysdate) - trunc(mp.P_LASTMENSTRUALPERIOD)+1) /7) as weeks from MOMMY_PATIENT mp left join Plat_Patient pp" + " on mp.p_platpatientid=pp.p_id where mp.p_hospitalid = '" + oracleHid + "' and p_name is not null order by mp.p_lastmenstrualperiod desc "; List> list = JDBCUtil.getOracleListDataBySql(sql); - int batchSize = 500; + int batchSize = 1000; int end = 0; for (int i = 0; i < list.size(); i += batchSize) { end = (end + batchSize); @@ -411,6 +411,11 @@ public class SyncDataService { List> tempList = list.subList(i, end); new PatientWorker(tempList, mongoTemplate).start(); } + list = null; + initChuzhenDatas(); + + new Chanle(mongoTemplate).start(); + } private class PatientWorker extends Thread { @@ -467,6 +472,12 @@ public class SyncDataService { private void syncPatient(Map map,MongoTemplate mongoTemplate) { + + if (StringUtils.isEmpty(DataUtil.getString(map.get("P_LASTMENSTRUALPERIOD")))) + { + return; + } + Patients patients = new Patients(); PersonModel person = new PersonModel(); int type = 1; @@ -486,6 +497,7 @@ public class SyncDataService { type = 3; } + patients.setDueDate(DateUtil.addDay(DataUtil.getDate(map.get("P_LASTMENSTRUALPERIOD")), 42 * 7)); person.setCreated(new Date()); @@ -781,6 +793,9 @@ public class SyncDataService { } } + + + patients.setAddressPostRest(DataUtil.getString(map.get("P_HUSBANDRRSTREET"))); // 详细地址 patients.setFileCode(DataUtil.getString(map.get("P_FILENUMBER"))); //建档编号 patients.setVcCardNo(DataUtil.getString(map.get("P_CLINICNO"))); //就诊卡号 @@ -788,258 +803,148 @@ public class SyncDataService { mongoTemplate.save(patients); System.out.println(patients.getId() + "============"); - patientsQueue.add(new SimplePatient(person.getId(), patients.getId())); + patientsQueue.add(new SimplePatient(person.getId(), patients.getId(),DataUtil.getDate(map.get("P_LASTMENSTRUALPERIOD")),weeks)); } +// private synchronized void save(Object obj) +// { +// mongoTemplate.save(obj); +// } - private void syncChuZhen(String pid, String parentId, MongoTemplate mongoTemplate) { + private void syncChuZhen(String pid, String parentId, MongoTemplate mongoTemplate,Date lastMenses,int weeks) { long startTimes = System.currentTimeMillis(); -// List> list = JDBCUtil.getOracleListDataBySql(" SELECT F.*,\n" + -// " '[\"'||REPLACE(TT.HIGH_RISK_ID,',','\",\"')||'\"]' AS RISKFACTOR,\n" + -// " TT.HIGH_RISK_VALUE AS RISKSCORE\n" + -// "FROM MOMMY_FIRSTEXAMINE f \n" + -// "--高危数据\n" + -// "LEFT JOIN \n" + -// " (\n" + -// " SELECT T.ME_EXAMINID,WMSYS.WM_CONCAT(T.HIGH_RISK_FACTOR) AS HIGH_RISK_FACTOR,WMSYS.WM_CONCAT(DISTINCT T.HIGH_RISK_GRADE) AS HIGH_RISK_GRADE,SUM(T.HIGH_RISK_VALUE) AS HIGH_RISK_VALUE,WMSYS.WM_CONCAT(T.HIGH_RISK_ID) AS HIGH_RISK_ID\n" + -// " FROM \n" + -// " (SELECT J.ME_EXAMINID,K.DC_NAME AS HIGH_RISK_FACTOR,L.DC_NAME AS HIGH_RISK_GRADE,TO_NUMBER(K.DC_NO) AS HIGH_RISK_VALUE,LL.ID AS HIGH_RISK_ID\n" + -// " FROM \n" + -// " --高危风险关系表\n" + -// " MOMMY_EXAMINWARNING J\n" + -// " --高危内容\n" + -// " INNER JOIN PLAT_DATACONTENT K ON J.ME_WORNINGID = K.DC_ID AND K.DC_ISVALID=1 AND K.DC_DATATYPEID='fb43fd5a-b153-4cb9-9180-c46f5612ba43' AND K.DC_NAME<>'其他'\n" + -// " --高危等级\n" + -// " INNER JOIN PLAT_DATACONTENT L ON K.DC_PARENTID=L.DC_ID AND L.DC_ISVALID=1 \n" + -// " INNER JOIN LYMS_BASICCONFIG LL ON K.DC_NAME=LL.NAME AND LL.PARENTID IN ('49a36aea-c5b6-4162-87d2-9eb3c6ec00c2','eb146c03-b19f-4e28-b85f-fda574b2283b','315107bd-91fe-42a1-9237-752f3c046a40','e637b361-99cf-41eb-84f2-f0dab596e928','224b2329-cb82-4da3-a071-8527f8283aab') \n" + -// " -- UNION ALL \n" + -// " --其他高危评分\n" + -// " --SELECT M.ID,M.MO_CONTENT,M.MO_COLORNAME,M.MO_VALUES FROM MOMMY_OTHERWORNING M\n" + -// " )T\n" + -// " GROUP BY T.ME_EXAMINID \n" + -// " )TT ON F.FE_ID=TT.ME_EXAMINID\n" + -// "where replace(f.FE_TRIAGEORDERNO,'-','') = '" + parentId + "'\n"); - - List> list = JDBCUtil.getOracleListDataBySql("select * from TMP_QHD_CZ cz where replace(cz.fe_triageorderno,'-','') = "+parentId+"'"); + Map map = chuzhenDatas.get(parentId); - long endTimes = System.currentTimeMillis(); - System.out.println("chuzhentimes===========" + (endTimes-startTimes)); - for (Map map : list) { - AntExChuModel chuModel = new AntExChuModel(); - - chuModel.setParentId(parentId); - chuModel.setPid(pid); - chuModel.setId(DataUtil.getString(map.get("FE_ID")).replace("-","")); - - chuModel.setDueDate(DataUtil.getDate(map.get("FE_EXPECTEDDATECONFINEMENT"))); - chuModel.setLastMenses(DataUtil.getDate(map.get("FE_LASTMENSTRUALPERIOD"))); - chuModel.setcDueWeek(DataUtil.getString(map.get("FE_PREGNANCYWEEK"))); - chuModel.setPastHistory(DataUtil.getString(map.get(""))); - chuModel.setFamilyHistory(DataUtil.getString(map.get(""))); - chuModel.setPersonalHistory(DataUtil.getString(map.get(""))); - chuModel.setYmjzHistory(DataUtil.getString(map.get(""))); - chuModel.setYwgmHistory(DataUtil.getString(map.get(""))); - chuModel.setFksxHistory(DataUtil.getString(map.get(""))); - chuModel.setYsfyHistory(DataUtil.getString(map.get(""))); - chuModel.setPregnancyTimes(DataUtil.getInteger(map.get(""))); - chuModel.setProdTime(DataUtil.getInteger(map.get(""))); - chuModel.setDelivery(DataUtil.getInteger(map.get(""))); - chuModel.setPlanedProd(DataUtil.getInteger(map.get(""))); - chuModel.setAbortion(DataUtil.getInteger(map.get(""))); - chuModel.setStillbirth(DataUtil.getInteger(map.get(""))); - chuModel.setStillChan(DataUtil.getInteger(map.get(""))); - chuModel.setNeoDeath(DataUtil.getInteger(map.get(""))); - chuModel.setBirthDefect(DataUtil.getInteger(map.get(""))); - chuModel.setHeight(DataUtil.getString(map.get("FE_HEIGHT"))); - chuModel.setWeight(DataUtil.getString(map.get("FE_WEIGHT"))); - chuModel.setYqWeight(DataUtil.getString(map.get("FE_PREGNANCYWEIGHT"))); - chuModel.setBaricIndex(DataUtil.getString(map.get("FE_BMI"))); - chuModel.setCestationInfo(DataUtil.getString(map.get(""))); - chuModel.setGonggao(DataUtil.getString(map.get("FE_UTERUSHEIGHT"))); - chuModel.setFuwei(DataUtil.getString(map.get("FE_ABGIRTH"))); - chuModel.setYn(YnEnums.YES.getId()); - - String doctorId = DataUtil.getString(map.get("FE_DOCTOR")); - if (doctorId != null && !"".equals(doctorId)) { - String dname = DataUtil.getEmpNameById(doctorId); - String id = DataUtil.getUserIdByName(dname); - chuModel.setProdDoctor(id);//产检医生 - } + if (map == null || map.size() == 0) + { + return; + } + AntExChuModel chuModel = new AntExChuModel(); + + chuModel.setParentId(parentId); + chuModel.setPid(pid); + chuModel.setId(DataUtil.getString(map.get("FE_ID")).replace("-","")); + + chuModel.setDueDate(DataUtil.getDate(map.get("FE_EXPECTEDDATECONFINEMENT"))); + chuModel.setLastMenses(DataUtil.getDate(map.get("FE_LASTMENSTRUALPERIOD"))); + chuModel.setcDueWeek(DataUtil.getString(map.get("FE_PREGNANCYWEEK"))); + chuModel.setPastHistory(DataUtil.getString(map.get(""))); + chuModel.setFamilyHistory(DataUtil.getString(map.get(""))); + chuModel.setPersonalHistory(DataUtil.getString(map.get(""))); + chuModel.setYmjzHistory(DataUtil.getString(map.get(""))); + chuModel.setYwgmHistory(DataUtil.getString(map.get(""))); + chuModel.setFksxHistory(DataUtil.getString(map.get(""))); + chuModel.setYsfyHistory(DataUtil.getString(map.get(""))); + chuModel.setPregnancyTimes(DataUtil.getInteger(map.get(""))); + chuModel.setProdTime(DataUtil.getInteger(map.get(""))); + chuModel.setDelivery(DataUtil.getInteger(map.get(""))); + chuModel.setPlanedProd(DataUtil.getInteger(map.get(""))); + chuModel.setAbortion(DataUtil.getInteger(map.get(""))); + chuModel.setStillbirth(DataUtil.getInteger(map.get(""))); + chuModel.setStillChan(DataUtil.getInteger(map.get(""))); + chuModel.setNeoDeath(DataUtil.getInteger(map.get(""))); + chuModel.setBirthDefect(DataUtil.getInteger(map.get(""))); + chuModel.setHeight(DataUtil.getString(map.get("FE_HEIGHT"))); + chuModel.setWeight(DataUtil.getString(map.get("FE_WEIGHT"))); + chuModel.setYqWeight(DataUtil.getString(map.get("FE_PREGNANCYWEIGHT"))); + chuModel.setBaricIndex(DataUtil.getString(map.get("FE_BMI"))); + chuModel.setCestationInfo(DataUtil.getString(map.get(""))); + chuModel.setGonggao(DataUtil.getString(map.get("FE_UTERUSHEIGHT"))); + chuModel.setFuwei(DataUtil.getString(map.get("FE_ABGIRTH"))); + chuModel.setYn(YnEnums.YES.getId()); + + String doctorId = DataUtil.getString(map.get("FE_DOCTOR")); + if (doctorId != null && !"".equals(doctorId)) { + String dname = DataUtil.getEmpNameById(doctorId); + String id = DataUtil.getUserIdByName(dname); + chuModel.setProdDoctor(id);//产检医生 + } - Integer tireNum = 1; - if (map.get("FE_ISSECOND") != null) { - tireNum = DataUtil.getInteger(map.get("FE_ISSECOND")) == 1 ? 2 : 1; - } else if (map.get("FE_ISTHIRD") != null) { - tireNum = DataUtil.getInteger(map.get("FE_ISSECOND")) == 1 ? 3 : 1; - } - chuModel.setTireNumber1(String.valueOf(tireNum)); - chuModel.setSyjg(DataUtil.getString(map.get(""))); - //chuModel.setPlacentas(); - chuModel.setHeart(DataUtil.getString(map.get("FE_HEART"))); - chuModel.setLungs(DataUtil.getString(map.get("FE_LUNGS"))); - chuModel.setVulva(DataUtil.getString(map.get("FE_VULVA"))); - chuModel.setVagina(DataUtil.getString(map.get("FE_VAGINA"))); - chuModel.setCervical(DataUtil.getString(map.get("FE_CERVICAL"))); - chuModel.setUterus(DataUtil.getString(map.get("FE_UTERUS"))); - chuModel.setFujian(DataUtil.getString(map.get("FE_ATTACHMENT"))); - chuModel.setCreated(DataUtil.getDate(map.get("FE_CREATETIME"))); - chuModel.setNextCheckTime(DataUtil.getDate(map.get("FE_ORDERNEXT"))); - chuModel.setCheckTime(DataUtil.getDate(map.get("FE_ROCTORTIME"))); - chuModel.setOtherHighRisk("{}"); - String hid = DataUtil.getString(map.get("FE_HOSPITALID")); - if (hid != null && !"".equals(hid)) { - String hname = DataUtil.getPatHosptalById(hid); - String id = DataUtil.getOrgIdByName(hname); - chuModel.setHospitalId(id); - } - if (map.get("FE_LBLOODPRESSURE") != null) { - Map bpmap = new HashMap<>(); - bpmap.put("ssy", DataUtil.getInteger(map.get("FE_LBLOODPRESSURE"))); - bpmap.put("szy", DataUtil.getInteger(map.get("FE_LBLOODPRESSURE"))); + Integer tireNum = 1; + if (map.get("FE_ISSECOND") != null) { + tireNum = DataUtil.getInteger(map.get("FE_ISSECOND")) == 1 ? 2 : 1; + } else if (map.get("FE_ISTHIRD") != null) { + tireNum = DataUtil.getInteger(map.get("FE_ISSECOND")) == 1 ? 3 : 1; + } + chuModel.setTireNumber1(String.valueOf(tireNum)); + chuModel.setSyjg(DataUtil.getString(map.get(""))); + //chuModel.setPlacentas(); + chuModel.setHeart(DataUtil.getString(map.get("FE_HEART"))); + chuModel.setLungs(DataUtil.getString(map.get("FE_LUNGS"))); + chuModel.setVulva(DataUtil.getString(map.get("FE_VULVA"))); + chuModel.setVagina(DataUtil.getString(map.get("FE_VAGINA"))); + chuModel.setCervical(DataUtil.getString(map.get("FE_CERVICAL"))); + chuModel.setUterus(DataUtil.getString(map.get("FE_UTERUS"))); + chuModel.setFujian(DataUtil.getString(map.get("FE_ATTACHMENT"))); + chuModel.setCreated(DataUtil.getDate(map.get("FE_CREATETIME"))); + chuModel.setNextCheckTime(DataUtil.getDate(map.get("FE_ORDERNEXT"))); + + if (DataUtil.getDate(map.get("FE_ORDERNEXT")) != null) + { + Date nextDate = DataUtil.getDate(map.get("FE_ORDERNEXT")); + chuModel.setcDueWeek(String.valueOf(DateUtil.getDays(lastMenses,nextDate) / 7)); + } - chuModel.setBp(JsonUtil.obj2Str(bpmap)); + String content = ""; + for(Map guide : patientGuides) + { + if (guide.get("ES_PREGNANCYWEEK") != null && DataUtil.getString(guide.get("ES_PREGNANCYWEEK")).equals(String.valueOf(weeks)) ) + { + content+=guide.get("CONTENT")+"\n"; } - if (StringUtils.isNotEmpty(DataUtil.getString(map.get("RISKFACTOR")))) { - chuModel.setHighrisk(DataUtil.getString(map.get("RISKFACTOR"))); - } else { - chuModel.setHighrisk("[]"); - } + } - Patients pat = new Patients(); + chuModel.setDirOpinion(content); - if (StringUtils.isNotEmpty(DataUtil.getString(map.get("RISKFACTOR")))) { - List rlist = JsonUtil.toList(DataUtil.getString(map.get("RISKFACTOR")), String.class); - pat.setRiskFactorId(rlist); - List llist = queryRisk(rlist, mongoTemplate); - pat.setRiskLevelId(JsonUtil.array2JsonString(llist)); - pat.setLastRhTime(DataUtil.getDate(map.get("FE_ROCTORTIME"))); - } else { - pat.setRiskFactorId(new ArrayList()); - } - pat.setRiskScore(DataUtil.getInteger(map.get("RISKSCORE"))); + chuModel.setCheckTime(DataUtil.getDate(map.get("FE_ROCTORTIME"))); + chuModel.setOtherHighRisk("{}"); + String hid = DataUtil.getString(map.get("FE_HOSPITALID")); + if (hid != null && !"".equals(hid)) { + String hname = DataUtil.getPatHosptalById(hid); + String id = DataUtil.getOrgIdByName(hname); + chuModel.setHospitalId(id); + } + if (map.get("FE_LBLOODPRESSURE") != null || map.get("FE_HBLOODPRESSURE") != null) { + Map bpmap = new HashMap<>(); + bpmap.put("szy", map.get("FE_LBLOODPRESSURE") == null ? "" : DataUtil.getString(map.get("FE_LBLOODPRESSURE"))); + bpmap.put("ssy", map.get("FE_HBLOODPRESSURE") == null ? "" : DataUtil.getString(map.get("FE_HBLOODPRESSURE"))); + chuModel.setBp(JsonUtil.obj2Str(bpmap)); + } - Query query = new MongoQuery(new MongoCondition("id", parentId, MongoOper.IS)).convertToMongoQuery(); - Update update = MongoConvertHelper - .convertToNativeUpdate(ReflectionUtils.getUpdateField(pat)); - mongoTemplate.updateMulti(query, update, pat.getClass()); + if (StringUtils.isNotEmpty(DataUtil.getString(map.get("RISKFACTOR")))) { + chuModel.setHighrisk(DataUtil.getString(map.get("RISKFACTOR"))); + } else { + chuModel.setHighrisk("[]"); + } - mongoTemplate.save(chuModel); + Patients pat = new Patients(); + if (StringUtils.isNotEmpty(DataUtil.getString(map.get("RISKFACTOR")))) { + List rlist = JsonUtil.toList(DataUtil.getString(map.get("RISKFACTOR")), String.class); + pat.setRiskFactorId(rlist); + List llist = queryRisk(rlist, mongoTemplate); + pat.setRiskLevelId(JsonUtil.array2JsonString(llist)); + pat.setLastRhTime(DataUtil.getDate(map.get("FE_ROCTORTIME"))); + } else { + pat.setRiskFactorId(new ArrayList()); } + pat.setRiskScore(DataUtil.getInteger(map.get("RISKSCORE"))); + + Query query = new MongoQuery(new MongoCondition("id", parentId, MongoOper.IS)).convertToMongoQuery(); + Update update = MongoConvertHelper + .convertToNativeUpdate(ReflectionUtils.getUpdateField(pat)); + mongoTemplate.updateMulti(query, update, pat.getClass()); + + mongoTemplate.save(chuModel); + + long endTimes = System.currentTimeMillis(); + System.out.println("chuzhentimes===========" + (endTimes - startTimes)); } - private void syncFuzhen(String pid, String parentId, MongoTemplate mongoTemplate) { -// String sql = "SELECT * FROM ( SELECT A.*, ROWNUM RN FROM ( SELECT A.ER_ID AS ID,\n" + -// " '' AS PID,\n" + -// " B.P_NO AS PARENTID,\n" + -// " (CASE WHEN ABS(MOD((FLOOR(A.ER_CHECKDATE - B.P_LASTMENSTRUALPERIOD)+1),7))=0 \n" + -// " THEN '孕'||TO_CHAR(ABS(FLOOR((A.ER_CHECKDATE - B.P_LASTMENSTRUALPERIOD+1)/7)))||'周'\n" + -// " ELSE '孕'||TO_CHAR(ABS(FLOOR((A.ER_CHECKDATE - B.P_LASTMENSTRUALPERIOD+1)/7)))||'周+'||TO_CHAR(ABS(MOD((FLOOR(A.ER_CHECKDATE - B.P_LASTMENSTRUALPERIOD)+1),7)))||'天'\n" + -// " END) AS CURRENTDUEDATE,\n" + -// " A.ER_CHIEF AS CHIEFCOMPLAINT,\n" + -// " A.ER_WEIGHT AS WEIGHT,\n" + -// " '{\"ssy\":'||A.ER_BBLOODPRESSURE||',\"szy\":'||A.ER_HBLOODPRESSURE||'}' AS BP,\n" + -// " A.ER_UTERUSHEIGHT AS GONGGAO,\n" + -// " A.ER_CIRCUMFERENCE AS ABDOMINALCIRCUMFERENCE,\n" + -// " DECODE(A.ER_WATEREDEMA,'-',1,'++',2,'+++',3,'++++',4) AS EDEMA,\n" + -// " (CASE WHEN A.ER_ISSECOND=1 THEN 2 WHEN A.ER_ISTHIRD=1 THEN 3 ELSE 1 END) AS TIRENUMBER, \n" + -// " (CASE WHEN A.ER_ISTHIRD=1\n" + -// " --A.ER_FETALPOSITION_THD IS NOT NULL AND A.ER_FETALPOSITION_SEC IS NOT NULL AND A.ER_FETALPOSITION IS NOT NULL\n" + -// " THEN '[{\"heartRate\":\"'||A.ER_HEARTRATE||'\",\"fetalPosition\":\"'||\n" + -// " TO_CHAR(DECODE(A.ER_FETALPOSITION,'3777',1,'3778',2,'3779',3,'3780',4,'3781',5,'3782',6,'3783',7,'3784',8,'3785',9,'3786',10,'3787',11,'3788',12,'3789',13,'3790',14,'3791',15,'3792',16,'3793',17,'3794',18,'3795',19,'3796',20,'3797',21,'3798',22,'3799',23))||\n" + -// " '\",\"fetalPresentation\":\"'||\n" + -// " TO_CHAR(DECODE(A.ER_FETALPRESENTATION,'3772',1,'3773',2,'3774',3,'3775',4))||\n" + -// " '\",\"join\":\"'||\n" + -// " TO_CHAR(DECODE(A.ER_LINK,'37598072-1cdf-4548-97c3-3dfef08593f7',1,'e9490e8d-5b59-489a-e9ee-25e05dc08d69',2,'e9490e8d-5b59-e89a-89ee-25e05dc08d69',3))||\n" + -// " '\"},{\"heartRate\":\"'||\n" + -// " A.ER_HEARTRATE||'\",\"fetalPosition\":\"'||\n" + -// " TO_CHAR(DECODE(A.ER_FETALPOSITION_SEC,'3777',1,'3778',2,'3779',3,'3780',4,'3781',5,'3782',6,'3783',7,'3784',8,'3785',9,'3786',10,'3787',11,'3788',12,'3789',13,'3790',14,'3791',15,'3792',16,'3793',17,'3794',18,'3795',19,'3796',20,'3797',21,'3798',22,'3799',23))||\n" + -// " '\",\"fetalPresentation\":\"'||\n" + -// " TO_CHAR(DECODE(A.ER_FETALPRESENTATION_SEC,'3772',1,'3773',2,'3774',3,'3775',4))||\n" + -// " '\",\"join\":\"'||\n" + -// " TO_CHAR(DECODE(A.ER_LINK_SEC,'37598072-1cdf-4548-97c3-3dfef08593f7',1,'e9490e8d-5b59-489a-e9ee-25e05dc08d69',2,'e9490e8d-5b59-e89a-89ee-25e05dc08d69',3))||\n" + -// " '\"},{\"heartRate\":\"'||A.ER_HEARTRATE||'\",\"fetalPosition\":\"'||\n" + -// " TO_CHAR(DECODE(A.ER_FETALPOSITION_THD,'3777',1,'3778',2,'3779',3,'3780',4,'3781',5,'3782',6,'3783',7,'3784',8,'3785',9,'3786',10,'3787',11,'3788',12,'3789',13,'3790',14,'3791',15,'3792',16,'3793',17,'3794',18,'3795',19,'3796',20,'3797',21,'3798',22,'3799',23))||\n" + -// " '\",\"fetalPresentation\":\"'||\n" + -// " TO_CHAR(DECODE(A.ER_FETALPRESENTATION_THD,'3772',1,'3773',2,'3774',3,'3775',4))||\n" + -// " '\",\"join\":\"'||\n" + -// " TO_CHAR(DECODE(A.ER_LINK_THD,'37598072-1cdf-4548-97c3-3dfef08593f7',1,'e9490e8d-5b59-489a-e9ee-25e05dc08d69',2,'e9490e8d-5b59-e89a-89ee-25e05dc08d69',3))||\n" + -// " '\"}]'\n" + -// " WHEN A.ER_ISSECOND=1\n" + -// " THEN '[{\"heartRate\":\"'||A.ER_HEARTRATE||'\",\"fetalPosition\":\"'||\n" + -// " TO_CHAR(DECODE(A.ER_FETALPOSITION,'3777',1,'3778',2,'3779',3,'3780',4,'3781',5,'3782',6,'3783',7,'3784',8,'3785',9,'3786',10,'3787',11,'3788',12,'3789',13,'3790',14,'3791',15,'3792',16,'3793',17,'3794',18,'3795',19,'3796',20,'3797',21,'3798',22,'3799',23))||\n" + -// " '\",\"fetalPresentation\":\"'||\n" + -// " TO_CHAR(DECODE(A.ER_FETALPRESENTATION,'3772',1,'3773',2,'3774',3,'3775',4))||\n" + -// " '\",\"join\":\"'||\n" + -// " TO_CHAR(DECODE(A.ER_LINK,'37598072-1cdf-4548-97c3-3dfef08593f7',1,'e9490e8d-5b59-489a-e9ee-25e05dc08d69',2,'e9490e8d-5b59-e89a-89ee-25e05dc08d69',3))||\n" + -// " '\"},{\"heartRate\":\"'||\n" + -// " A.ER_HEARTRATE||'\",\"fetalPosition\":\"'||\n" + -// " TO_CHAR(DECODE(A.ER_FETALPOSITION_SEC,'3777',1,'3778',2,'3779',3,'3780',4,'3781',5,'3782',6,'3783',7,'3784',8,'3785',9,'3786',10,'3787',11,'3788',12,'3789',13,'3790',14,'3791',15,'3792',16,'3793',17,'3794',18,'3795',19,'3796',20,'3797',21,'3798',22,'3799',23))||\n" + -// " '\",\"fetalPresentation\":\"'||\n" + -// " TO_CHAR(DECODE(A.ER_FETALPRESENTATION_SEC,'3772',1,'3773',2,'3774',3,'3775',4))||\n" + -// " '\",\"join\":\"'||\n" + -// " TO_CHAR(DECODE(A.ER_LINK_SEC,'37598072-1cdf-4548-97c3-3dfef08593f7',1,'e9490e8d-5b59-489a-e9ee-25e05dc08d69',2,'e9490e8d-5b59-e89a-89ee-25e05dc08d69',3))||\n" + -// " '\"}]'\n" + -// " ELSE '[{\"heartRate\":\"'||A.ER_HEARTRATE||'\",\"fetalPosition\":\"'||\n" + -// " TO_CHAR(DECODE(A.ER_FETALPOSITION,'3777',1,'3778',2,'3779',3,'3780',4,'3781',5,'3782',6,'3783',7,'3784',8,'3785',9,'3786',10,'3787',11,'3788',12,'3789',13,'3790',14,'3791',15,'3792',16,'3793',17,'3794',18,'3795',19,'3796',20,'3797',21,'3798',22,'3799',23))||\n" + -// " '\",\"fetalPresentation\":\"'||\n" + -// " TO_CHAR(DECODE(A.ER_FETALPRESENTATION,'3772',1,'3773',2,'3774',3,'3775',4))||\n" + -// " '\",\"join\":\"'||\n" + -// " TO_CHAR(DECODE(A.ER_LINK,'37598072-1cdf-4548-97c3-3dfef08593f7',1,'e9490e8d-5b59-489a-e9ee-25e05dc08d69',2,'e9490e8d-5b59-e89a-89ee-25e05dc08d69',3))||\n" + -// " '\"}]'\n" + -// " END) AS TIREDATA,\n" + -// " A.ER_WHITEBLOOD AS HEMOGLOBIN,\n" + -// " A.ER_URINARYPROTEIN AS URINEPROTEIN,\n" + -// " A.ER_B AS BCHAO,\n" + -// " A.ER_BLOODGLUCOSESCREENING AS BLOODSUGAR,\n" + -// " '[\"'||REPLACE(TT.HIGH_RISK_ID,',','\",\"')||'\"]' AS RISKFACTOR,\n" + -// " TT.HIGH_RISK_VALUE AS RISKSCORE,\n" + -// " A.ER_CLASSIFICATION AS TYPE,\n" + -// " A.ER_DEAL AS TREATMENTOPINION,\n" + -// " A.ER_CHECKDATE AS CHECKDATE,\n" + -// " A.ER_NEXTDATE AS NEXTCHECKTIME,\n" + -// " A.ER_CREATETIME AS CREATED,\n" + -// " A.ER_OPERTIME AS MODIFIED,\n" + -// " H.E_HOSPITALID AS HOSPITALID,\n" + -// " ABS(FLOOR((A.ER_CHECKDATE - B.P_LASTMENSTRUALPERIOD+1)/7)) AS CDUEWEEK,\n" + -// " B.P_ISVALID AS YN,\n" + -// " H.E_NAME AS CHECKDOCTOR\n" + -// " \n" + -// "FROM \n" + -// " MOMMY_EXAMINERESULT A --初诊表\n" + -// "----孕产婴用户表\n" + -// "INNER JOIN MOMMY_PATIENT B ON A.ER_TRIAGEORDERNO=B.P_NO AND B.P_ISVALID=1 and replace(B.P_NO,'-','') = '" + parentId + "'\n" + -// "--平台用户表 \n" + -// "INNER JOIN PLAT_PATIENT C ON B.P_PLATPATIENTID=C.P_ID AND C.P_ISVALID=1\n" + -// "--医生表\n" + -// "INNER JOIN MOMMY_EMPLOYEE H ON H.E_ISVALID=1 AND A.ER_CREATOR=H.E_ID\n" + -// "--医院表\n" + -// "INNER JOIN PLAT_HOSPITAL F ON F.H_ID=H.E_HOSPITALID AND F.H_ISVALID=1 \n" + -// "--诊断表\n" + -// "--INNER JOIN MOMMY_EXAMINEDIAGNOSIS N ON N.ED_TRIAGEORDERNO=A.ER_ID AND N.ED_IDENTIFYING=0\n" + -// "--高危数据\n" + -// "LEFT JOIN \n" + -// " (\n" + -// " SELECT T.ME_EXAMINID,WMSYS.WM_CONCAT(T.HIGH_RISK_FACTOR) AS HIGH_RISK_FACTOR,WMSYS.WM_CONCAT(DISTINCT T.HIGH_RISK_GRADE) AS HIGH_RISK_GRADE,SUM(T.HIGH_RISK_VALUE) AS HIGH_RISK_VALUE,WMSYS.WM_CONCAT(T.HIGH_RISK_ID) AS HIGH_RISK_ID\n" + -// " FROM \n" + -// " (SELECT J.ME_EXAMINID,K.DC_NAME AS HIGH_RISK_FACTOR,L.DC_NAME AS HIGH_RISK_GRADE,TO_NUMBER(K.DC_NO) AS HIGH_RISK_VALUE,LL.ID AS HIGH_RISK_ID\n" + -// " FROM \n" + -// " --高危风险关系表\n" + -// " MOMMY_EXAMINWARNING J\n" + -// " --高危内容\n" + -// " INNER JOIN PLAT_DATACONTENT K ON J.ME_WORNINGID = K.DC_ID AND K.DC_ISVALID=1 AND K.DC_DATATYPEID='fb43fd5a-b153-4cb9-9180-c46f5612ba43' AND K.DC_NAME<>'其他' \n" + -// " --高危等级\n" + -// " INNER JOIN PLAT_DATACONTENT L ON K.DC_PARENTID=L.DC_ID AND L.DC_ISVALID=1\n" + -// " INNER JOIN LYMS_BASICCONFIG LL ON K.DC_NAME=LL.NAME AND LL.PARENTID IN ('49a36aea-c5b6-4162-87d2-9eb3c6ec00c2','eb146c03-b19f-4e28-b85f-fda574b2283b','315107bd-91fe-42a1-9237-752f3c046a40','e637b361-99cf-41eb-84f2-f0dab596e928','224b2329-cb82-4da3-a071-8527f8283aab') \n" + -// " -- UNION ALL \n" + -// " --其他高危评分\n" + -// " --SELECT M.ID,M.MO_CONTENT,M.MO_COLORNAME,M.MO_VALUES FROM MOMMY_OTHERWORNING M\n" + -// " )T\n" + -// " GROUP BY T.ME_EXAMINID \n" + -// " )TT ON A.ER_ID=TT.ME_EXAMINID where replace(p_no,'-','') = '" + parentId + "' ORDER BY B.P_NO,A.ER_CHECKDATE ASC ) A WHERE ROWNUM <= 10 ) WHERE RN >= 0 "; + private void syncFuzhen(String pid, String parentId, MongoTemplate mongoTemplate,Date lastMenses,int weeks) { String sql = "select * from TMP_QHD_FZ where replace(parentid,'-','') = '"+parentId+"'"; long startTimes = System.currentTimeMillis(); @@ -1102,8 +1007,22 @@ public class SyncDataService { antxModel.setChiefComplaint(DataUtil.getString(map.get("CHIEFCOMPLAINT"))); - antxModel.setcDueWeek(DataUtil.getString(map.get("CDUEWEEK"))); + if (DataUtil.getDate(map.get("NEXTCHECKTIME")) != null) + { + Date nextDate = DataUtil.getDate(map.get("NEXTCHECKTIME")); + antxModel.setcDueWeek(String.valueOf(DateUtil.getDays(lastMenses, nextDate) / 7)); + } + + String content = ""; + for(Map guide : patientGuides) + { + if (guide.get("ES_PREGNANCYWEEK") != null && DataUtil.getString(guide.get("ES_PREGNANCYWEEK")).equals(String.valueOf(weeks)) ) + { + content+=guide.get("CONTENT")+"\n"; + } + } + antxModel.setGuide(content); Patients pat = new Patients(); @@ -1128,7 +1047,7 @@ public class SyncDataService { } } - public static void syncBabyCheck(String parentId, MongoTemplate mongoTemplate) { + public void syncBabyCheck(String parentId, MongoTemplate mongoTemplate,Date birth) { String sql = " select * from MOMMY_CHILDEXAMINRECORD MC left join MOMMY_PATIENTINFO MP ON MP.PI_ID = MC.CER_PATIENTID WHERE replace(MP.Pi_Id,'-','')= '" + parentId + "'"; List> list = JDBCUtil.getOracleListDataBySql(sql); @@ -1170,6 +1089,21 @@ public class SyncDataService { " and B.CER_PATIENTID = '" + DataUtil.getString(map.get("CER_PATIENTID")) + "' " + " and B.Cer_Id='" + DataUtil.getString(map.get("CER_ID")) + "'"); + String content = ""; + if (birth != null && DataUtil.getDate(map.get("CER_EXAMINDATE")) != null) + { + int week = DateUtil.getWeek(birth, DataUtil.getDate(map.get("CER_EXAMINDATE"))); + for (Map guide : babyGuides) + { + if (guide.get("ER_ID") != null && DataUtil.getString(guide.get("ER_ID")).equals(String.valueOf(week))) + { + content+=guide.get("ER_CONTENT"); + } + + } + } + checkModel.setGuideSuggest(content); + for (Map item : checkItems) { String result = DataUtil.getString(item.get("E_RESULT")); String itemName = DataUtil.getString(item.get("EI_NAME")); @@ -1197,7 +1131,7 @@ public class SyncDataService { checkModel.setGrowthEvaluate(JsonUtil.array2JsonString(growthEvaluate)); } else if ("经皮胆红素".equals(itemName)) { //头:9.5|胸:10.0|腹:10.0 - String[] arrs = result.split("|"); + String[] arrs = result.split("\\u007C"); for (String str : arrs) { String[] temps = str.split(":"); if (str.startsWith("头")) { @@ -1216,9 +1150,12 @@ public class SyncDataService { bregma.put("yeaOrNo", "yes"); } else if (result != null && result.startsWith("未闭合")) { bregma.put("yeaOrNo", "no"); - String[] arrs = result.split("|"); + String[] arrs = result.split("\\u007C"); if (arrs[1] != null && !"".equals(arrs[1])) { - String[] items = arrs[1].split("×").length == 0 ? arrs[1].split("\\u002A") : arrs[1].split("×"); + + String temp = arrs[1].replace("×","&"); + temp = temp.replace("*","&"); + String[] items = temp.split("&"); if (items != null && items.length > 0) { if (items.length == 1) { bregma.put("wbhcc1", items[0]); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java index 3c32965..54e285b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java @@ -750,7 +750,7 @@ public class BookbuildingFacade { } - patient.setVipEndTime(DateUtil.parseYMD(yunRequest.getVipEndTime())); + //patient.setVipEndTime(DateUtil.parseYMD(yunRequest.getVipEndTime())); patient.setExpVip(yunRequest.getExpVip()); patient.setMremark(yunRequest.getMremark());