Commit 85c4a7c7c941589c919df5540b29c4419ff6bef8

Authored by liquanyu
1 parent cd7d4ad63c

code update

Showing 1 changed file with 1210 additions and 0 deletions

platform-biz-patient-service/src/main/java/com/lyms/platform/biz/JdbcUtil.java View file @ 85c4a7c
Diff suppressed. Click to show
  1 +package com.lyms.platform.biz;
  2 +
  3 +import com.lyms.platform.common.enums.*;
  4 +import com.lyms.platform.common.utils.JsonUtil;
  5 +import com.lyms.platform.common.utils.SystemConfig;
  6 +import com.lyms.platform.pojo.*;
  7 +import org.apache.velocity.anakia.Escape;
  8 +import org.bson.types.ObjectId;
  9 +import org.springframework.context.ApplicationContext;
  10 +import org.springframework.context.support.ClassPathXmlApplicationContext;
  11 +import org.springframework.data.mongodb.core.MongoTemplate;
  12 +
  13 +
  14 +import java.sql.*;
  15 +import java.util.*;
  16 +import java.util.Date;
  17 +
  18 +/**
  19 + * Created by Administrator on 2016/9/29.
  20 + */
  21 +public class JdbcUtil {
  22 + public static Connection getOracleConnection() {
  23 + Connection con = null;
  24 + try {
  25 + Class.forName("oracle.jdbc.driver.OracleDriver");
  26 + String url = "jdbc:oracle:thin:@119.90.57.27:1521:orcl";
  27 + String userName = "lyms_21";
  28 + String pwd = "LYMS_21";
  29 + con = DriverManager.getConnection(url, userName, pwd);
  30 + } catch (Exception e) {
  31 + e.printStackTrace();
  32 + }
  33 + return con;
  34 + }
  35 +
  36 +
  37 + public static Connection getMysqlConnection() {
  38 + Connection con = null;
  39 + try {
  40 + Class.forName("com.mysql.jdbc.Driver");
  41 + String url = "jdbc:mysql://119.90.57.26:3306/platform?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8";
  42 + String userName = "platform";
  43 + String pwd = "platform123";
  44 + con = DriverManager.getConnection(url, userName, pwd);
  45 + } catch (Exception e) {
  46 + e.printStackTrace();
  47 + }
  48 + return con;
  49 + }
  50 +
  51 + public static void freeConnection(Connection connection,PreparedStatement ps,ResultSet rs){
  52 + try {
  53 + if(rs != null){
  54 + rs.close();
  55 + }
  56 + if(ps != null){
  57 + ps.close();
  58 + }
  59 + if( null != connection)
  60 + {
  61 + connection.close();
  62 + }
  63 + } catch (SQLException e) {
  64 + }
  65 + }
  66 +
  67 + /**
  68 + *
  69 + * @param sql
  70 + * @return
  71 + */
  72 + public static List<Map<String,Object>> getListDataBySql(String sql)
  73 + {
  74 + Connection conn = getOracleConnection();
  75 + PreparedStatement pst = null;
  76 + ResultSet rs = null;
  77 + List<Map<String,Object>> list = new ArrayList<>();
  78 + try {
  79 + pst = conn.prepareStatement(sql);
  80 + rs = pst.executeQuery();
  81 + int count = rs.getMetaData().getColumnCount();
  82 + while (rs.next()) {
  83 + Map<String,Object> maps = new HashMap<>();
  84 + for (int i = 1; i <= count; i++) {
  85 + String columnName = rs.getMetaData().getColumnName(i);
  86 + Object obj = rs.getObject(columnName);
  87 + if (obj != null) {
  88 + maps.put(columnName, obj);
  89 + }
  90 + else
  91 + {
  92 + maps.put(columnName,null);
  93 + }
  94 + }
  95 + list.add(maps);
  96 + }
  97 + }catch (Exception e)
  98 + {
  99 + e.printStackTrace();
  100 + } finally {
  101 + freeConnection(conn,pst,rs);
  102 + }
  103 + return list;
  104 + }
  105 +
  106 + public static Object getOralceSingleObjBySql(String sql)
  107 + {
  108 + Connection conn = getOracleConnection();
  109 + PreparedStatement pst = null;
  110 + ResultSet rs = null;
  111 + try {
  112 + pst = conn.prepareStatement(sql);
  113 + rs = pst.executeQuery();
  114 + int count = rs.getMetaData().getColumnCount();
  115 + for (int i = 1 ; i <= count ;i++)
  116 + {
  117 + String columnName = rs.getMetaData().getColumnName(i);
  118 + while (rs.next()){
  119 + return rs.getObject(columnName);
  120 + }
  121 +
  122 + }
  123 + }catch (Exception e)
  124 + {
  125 + e.printStackTrace();
  126 + } finally {
  127 + freeConnection(conn,pst,rs);
  128 + }
  129 + return null;
  130 + }
  131 +
  132 +
  133 + public static Object getMysqlSingleObjBySql(String sql)
  134 + {
  135 + Connection conn = getMysqlConnection();
  136 + PreparedStatement pst = null;
  137 + ResultSet rs = null;
  138 + try {
  139 + pst = conn.prepareStatement(sql);
  140 + rs = pst.executeQuery();
  141 + int count = rs.getMetaData().getColumnCount();
  142 + for (int i = 1 ; i <= count ;i++)
  143 + {
  144 + String columnName = rs.getMetaData().getColumnName(i);
  145 + while (rs.next()){
  146 + return rs.getObject(columnName);
  147 + }
  148 +
  149 + }
  150 + }catch (Exception e)
  151 + {
  152 + e.printStackTrace();
  153 + } finally {
  154 + freeConnection(conn,pst,rs);
  155 + }
  156 + return null;
  157 + }
  158 +
  159 + public static MongoTemplate getMongoTemplate()
  160 + {
  161 + ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext_biz_patient1.xml");
  162 + MongoTemplate mongoTemplate
  163 + =(MongoTemplate)applicationContext.getBean("mongoTemplate");
  164 + mongoTemplate.getDb().authenticate("platform", "platform123".toCharArray());
  165 + return mongoTemplate;
  166 + }
  167 +
  168 +
  169 + public static void syncPatientData()
  170 + {
  171 + List<Map<String,Object>> list = getListDataBySql(" SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (select replace(mp.P_NO,'-','') as PID,mp.*,p_birthday from MOMMY_PATIENT mp left join Plat_Patient pp on mp.p_platpatientid=pp.p_id where mp.P_CARDTYPE is not null" +
  172 + " and mp.p_no = '44ac6a05-9873-4233-85c4-6360b640e3a0') A WHERE ROWNUM <= 10 ) WHERE RN >= 0 ");
  173 +
  174 +
  175 + MongoTemplate mongoTemplate = getMongoTemplate();
  176 +
  177 + for(Map<String,Object> map : list)
  178 + {
  179 + PersonModel person = new PersonModel();
  180 + person.setCreated(new Date());
  181 + person.setType(getInteger(map.get("P_PATIENTTYPE")));
  182 + person.setYn(YnEnums.YES.getId());
  183 + person.setBirth(map.get("P_BIRTHDAY") == null ? new Date() : getDate(map.get("P_BIRTHDAY")));
  184 + person.setCardNo(getString(map.get("P_CARDNO")));
  185 + person.setName(getString(map.get("P_MOTHERNAME")));
  186 + person.setPhone(getString(map.get("P_MOBILEPHONE")));
  187 +
  188 + mongoTemplate.save(person);
  189 +
  190 + Patients patients = new Patients();
  191 + patients.setPid(person.getId());
  192 + patients.setId(String.valueOf(map.get("PID")));
  193 + patients.setYn(getInteger(map.get("P_ISVALID"))); //是否有效
  194 +
  195 + String cardType = getString(map.get("P_CARDTYPE")); //证件类型
  196 + String cardTypeName = getString(getOralceSingleObjBySql("select dc_name from plat_datacontent where dc_id='" + cardType + "'"));
  197 + if (cardTypeName != null && !"".equals(cardTypeName))
  198 + {
  199 + String id = getMongoBasicConfig(cardTypeName, SystemConfig.CERTE_TYPE_ID);
  200 + patients.setPcerteTypeId(id);
  201 + }
  202 + patients.setCardNo(getString(map.get("P_CARDNO"))); //证件号码
  203 +
  204 + //---------------------居住地址
  205 + String proviceId = getString(map.get("P_ADDRESSPROVINCE"));
  206 + if (proviceId != null && !"".equals(proviceId))
  207 + {
  208 + String juzhudiProviceName = getOracleBasicConfig(proviceId);
  209 + String id1 = getMongoBasicConfig(juzhudiProviceName, SystemConfig.CHINA_BASIC_ID);
  210 + patients.setProvinceId(id1); //居住地省
  211 +
  212 + String cityId = getString(map.get("P_ADDRESSCITY"));
  213 + if (cityId != null && !"".equals(cityId))
  214 + {
  215 + String juzhudiCityName = getOracleBasicConfig(cityId);
  216 + String id2 = getMongoBasicConfig(juzhudiCityName, id1);
  217 + patients.setCityId(id2); //居住地市
  218 + String areaId = getString(getString(map.get("P_ADDRESSCOUNTY")));
  219 + if (areaId != null && !"".equals(areaId))
  220 + {
  221 + String juzhudiAreaName = getOracleBasicConfig(areaId);
  222 + String id3 = getMongoBasicConfig(juzhudiAreaName, id2);
  223 + patients.setAreaId(id3); //居住区
  224 +
  225 + String streetId = getString(map.get("P_TOWNSHIP"));
  226 + if (streetId != null && !"".equals(streetId))
  227 + {
  228 + String juzhudiStreetName = getOracleBasicConfig(streetId);
  229 + String id4 = getMongoBasicConfig(juzhudiStreetName, id3);
  230 + patients.setStreetId(id4); //街道 镇
  231 + }
  232 + }
  233 + }
  234 + }
  235 +
  236 + patients.setAddress(getString(map.get("P_ADDRESSSTREET"))); // 详细地址
  237 +
  238 + //---------------------居住地址
  239 +
  240 + String pprofessionTypeId = getString(map.get("P_OCCUPATIONID"));
  241 + if (pprofessionTypeId != null && !"".equals(pprofessionTypeId))
  242 + {
  243 + String pprofessionTypeName = getOracleBasicConfig(pprofessionTypeId);
  244 + String id = getMongoBasicConfig(pprofessionTypeName, SystemConfig.PROFESSION_TYPE_ID);
  245 + patients.setPprofessionTypeId(id); // 职业
  246 + }
  247 +
  248 + patients.setPhone(getString(map.get("P_MOBILEPHONE"))); //孕妇手机号码
  249 + patients.setUsername(getString(map.get("P_MOTHERNAME"))); //孕妇姓名
  250 + patients.setBookbuildingDate(getDate(map.get("P_FILINGTIME"))); //建档日期
  251 + patients.setLastMenses(getDate(map.get("P_LASTMENSTRUALPERIOD"))); //末次月经
  252 +
  253 + String buildHospitalId = getString(map.get("P_HOSPITALID")); //医院ID
  254 +
  255 +
  256 + Integer P_RESIDETYPE = getInteger(map.get("P_RESIDETYPE")); //居住类别
  257 + if (P_RESIDETYPE != null && P_RESIDETYPE == 0)
  258 + {
  259 + patients.setPliveTypeId("57624bf90cf23d4631523e9e");
  260 + }
  261 + else if (P_RESIDETYPE != null && (P_RESIDETYPE == 1 || P_RESIDETYPE == 2))
  262 + {
  263 + patients.setPliveTypeId("57624c090cf23d4631523e9f");
  264 + }
  265 +
  266 +
  267 + Integer P_ACCOUNTTYPE = getInteger(map.get("P_ACCOUNTTYPE")); //户口类别
  268 + if (P_ACCOUNTTYPE != null && P_ACCOUNTTYPE == 0)
  269 + {
  270 + patients.setPliveTypeId("57624c440cf23d4631523ea1");
  271 + }
  272 + else if (P_ACCOUNTTYPE != null && P_ACCOUNTTYPE == 1)
  273 + {
  274 + patients.setPliveTypeId("57624c5e0cf23d4631523ea2");
  275 + }
  276 +
  277 + if (buildHospitalId != null && !"".equals(buildHospitalId))
  278 + {
  279 + String hname = getString(getOralceSingleObjBySql("select h_name from plat_hospital h where h.h_isvalid=1 and h_id = '" + buildHospitalId + "'"));
  280 + String id = getString(getMysqlSingleObjBySql("select id from organization where name = '" + hname + "'"));
  281 + patients.setHospitalId(id);
  282 + }
  283 +
  284 + patients.setType(getInteger(map.get("P_PATIENTTYPE"))); //患者类型
  285 +
  286 + String doctorId = getString(map.get("P_DOCID"));
  287 + if (doctorId != null && !"".equals(doctorId))
  288 + {
  289 + String hname = getString(getOralceSingleObjBySql("select e.e_name from mommy_employee e where e.e_id = '" + doctorId + "'"));
  290 + String id = getString(getMysqlSingleObjBySql("select id from users where name = '" + hname + "'"));
  291 + patients.setBookbuildingDoctor(id); //建档医生
  292 + }
  293 +
  294 + Integer isvip = getInteger(map.get("P_ISVIP")); //vip
  295 + if (isvip != null)
  296 + {
  297 + //会员状态 0不是会员 1 是
  298 + if (0 == isvip)
  299 + {
  300 + patients.setServiceType(ServiceTypeEnums.STANDARD_SERVICE.getId());
  301 + patients.setServiceStatus(ServiceStatusEnums.STANDARD_OPEN.getId());
  302 + }
  303 + else if (1 == isvip)
  304 + {
  305 + patients.setServiceType(ServiceTypeEnums.ADD_SERVICE.getId());
  306 + patients.setServiceStatus(ServiceStatusEnums.ADD_OPEN.getId());
  307 + }
  308 + }
  309 +
  310 +
  311 + String plevel = getString(map.get("P_EDUCATIONLEVEL"));//孕妇文化程度
  312 + if (plevel != null && !"".equals(plevel))
  313 + {
  314 + String plevelName = getOracleBasicConfig(plevel);
  315 + String id = getMongoBasicConfig(plevelName, SystemConfig.LEVEL_TYPE_ID);
  316 + patients.setPlevelTypeId(id);
  317 + }
  318 +
  319 +
  320 + String guoJi = getString(map.get("P_COUNTRY"));//孕妇国籍
  321 + if (guoJi != null && !"".equals(guoJi))
  322 + {
  323 + String guoJiName = getOracleBasicConfig(guoJi);
  324 + String id = getMongoBasicConfig(guoJiName, SystemConfig.COUNTRY_TYPE_ID);
  325 + patients.setPcountryId(id);
  326 + }
  327 +
  328 + patients.setPworkUnit(getString(map.get("P_UNITWORK")));//孕妇工作单位
  329 +
  330 + String pnation = getString(map.get("P_NATION"));
  331 + if (pnation != null && !"".equals(pnation))
  332 + {
  333 + String pnationName = getOracleBasicConfig(pnation);
  334 + String id = getMongoBasicConfig(pnationName, SystemConfig.NATION_TYPE_ID);
  335 + patients.setPnationId(id);
  336 + }
  337 +
  338 + //---------------------户口地址
  339 + String huKouproviceId = getString(map.get("P_RRPROVINCE"));
  340 + if (huKouproviceId != null && !"".equals(huKouproviceId))
  341 + {
  342 + String proviceName = getOracleBasicConfig(huKouproviceId);
  343 + String id1 = getMongoBasicConfig(proviceName, SystemConfig.LIVE_TYPE_ID);
  344 + patients.setProvinceRegisterId(id1); //户口地省
  345 +
  346 + String huKoucityId = getString(map.get("P_RRCITY"));
  347 + if (huKoucityId != null && !"".equals(huKoucityId))
  348 + {
  349 + String cityName = getOracleBasicConfig(huKoucityId);
  350 + String id2 = getMongoBasicConfig(cityName, id1);
  351 + patients.setCityRegisterId(id2); //户口地市
  352 +
  353 + String huKouareaId = getString(getString(map.get("P_RRCOUNTY")));
  354 + if (huKouareaId != null && !"".equals(huKouareaId))
  355 + {
  356 + String areaName = getOracleBasicConfig(huKouareaId);
  357 + String id3 = getMongoBasicConfig(areaName, id2);
  358 + patients.setAreaRegisterId(id3); //户口居住区
  359 +
  360 + String huKoustreetId = getString(map.get("P_RRTOWNSHIP"));
  361 + if (huKoustreetId != null && !"".equals(huKoustreetId))
  362 + {
  363 + String streetName = getOracleBasicConfig(huKoustreetId);
  364 + String id4 = getMongoBasicConfig(streetName, id3);
  365 + patients.setStreetRegisterId(id4); //户口街道 镇
  366 +
  367 + }
  368 + }
  369 +
  370 + }
  371 + }
  372 + patients.setAddressRegister(getString(map.get("P_RRSTREET"))); // 详细地址
  373 +
  374 + //---------------------户口地址
  375 +
  376 + //----------------------产后修养地
  377 +
  378 + String chanHouproviceId = getString(map.get("P_POSTPARTUMPROVINCE"));
  379 + if (chanHouproviceId != null && !"".equals(chanHouproviceId))
  380 + {
  381 + String proviceName = getOracleBasicConfig(chanHouproviceId);
  382 + String id1 = getMongoBasicConfig(proviceName, SystemConfig.LIVE_TYPE_ID);
  383 + patients.setProvincePostRestId(id1);
  384 +
  385 + String chanhoucityId = getString(map.get("P_POSTPARTUMCITY"));
  386 + if (chanhoucityId != null && !"".equals(chanhoucityId))
  387 + {
  388 + String cityName = getOracleBasicConfig(chanhoucityId);
  389 + String id2 = getMongoBasicConfig(cityName, id1);
  390 + patients.setCityPostRestId(id2);
  391 +
  392 + String chanhouareaId = getString(getString(map.get("P_POSTPARTUMCOUNTY")));
  393 + if (chanhouareaId != null && !"".equals(chanhouareaId))
  394 + {
  395 + String areaName = getOracleBasicConfig(chanhouareaId);
  396 + String id3 = getMongoBasicConfig(areaName, id2);
  397 + patients.setAreaPostRestId(id3);
  398 +
  399 + String chanhoustreetId = getString(map.get("P_POSTPARTUMTOWNSHIP"));
  400 + if (chanhoustreetId != null && !"".equals(chanhoustreetId))
  401 + {
  402 + String streetName = getOracleBasicConfig(chanhoustreetId);
  403 + String id4 = getMongoBasicConfig(streetName, id3);
  404 + patients.setStreetPostRestId(id4);
  405 + }
  406 + }
  407 + }
  408 + }
  409 +
  410 + patients.setAddressPostRest(getString(map.get("P_POSTPARTUMSTREET"))); // 详细地址
  411 +
  412 + //----------------------产后修养地
  413 +
  414 + patients.setHusbandName(getString(map.get("P_HUSBANDNAME"))); //丈夫名称
  415 + patients.setHusbandBirth(getDate(map.get("P_HUSBANDBIRTHDAY"))); //丈夫生日
  416 + patients.setHusbandPhone(getString(map.get("P_HUSBANDMOBILEPHONE"))); //丈夫电话
  417 + patients.setHworkUnit(getString(map.get("P_HUSBANDUNITWORK"))); //丈夫工作单位
  418 +
  419 + String hprofessionTypeId = getString(map.get("P_HUSBANDOCCUPATIONID"));// 职业
  420 + if (hprofessionTypeId != null && !"".equals(hprofessionTypeId))
  421 + {
  422 + String professionTypeName = getOracleBasicConfig(hprofessionTypeId);
  423 + String id = getMongoBasicConfig(professionTypeName, SystemConfig.PROFESSION_TYPE_ID);
  424 + patients.setHprofessionTypeId(id);
  425 + }
  426 +
  427 + String P_HUSBANDCARDTYPE = getString(map.get("P_HUSBANDCARDTYPE")); //丈夫证件类型
  428 + String hcardTypeName = getString(getOralceSingleObjBySql("select dc_name from plat_datacontent where dc_id='" + P_HUSBANDCARDTYPE + "'"));
  429 + if (hcardTypeName != null && !"".equals(hcardTypeName))
  430 + {
  431 + String id = getMongoBasicConfig(hcardTypeName, SystemConfig.CERTE_TYPE_ID);
  432 + patients.setHcertificateTypeId(id);
  433 + }
  434 + patients.setHcertificateNum(getString(map.get("P_HUSBANDCARDNO"))); //证件号码
  435 +
  436 +
  437 + String hlevel = getString(map.get("P_HUSBANDEDUCATIONLEVEL"));//丈夫文化程度
  438 + if (hlevel != null && !"".equals(hlevel))
  439 + {
  440 + String plevelName = getOracleBasicConfig(hlevel);
  441 + String id = getMongoBasicConfig(plevelName, SystemConfig.LEVEL_TYPE_ID);
  442 + patients.setHlevelTypeId(id);
  443 + }
  444 +
  445 +
  446 + String hguoji = getString(map.get("P_HUSBANDCOUNTRY"));//丈夫国籍
  447 + if (hguoji != null && !"".equals(hguoji))
  448 + {
  449 + String guoJiName = getOracleBasicConfig(hguoji);
  450 + String id = getMongoBasicConfig(guoJiName, SystemConfig.COUNTRY_TYPE_ID);
  451 + patients.setHcountryId(id);
  452 + }
  453 +
  454 + String P_HUSBANDNATION = getString(map.get("P_HUSBANDNATION")); //丈夫民族
  455 + if (P_HUSBANDNATION != null && !"".equals(P_HUSBANDNATION))
  456 + {
  457 + String pnationName = getOracleBasicConfig(P_HUSBANDNATION);
  458 + String id = getMongoBasicConfig(pnationName, SystemConfig.NATION_TYPE_ID);
  459 + patients.setHnationId(id);
  460 + }
  461 +
  462 + //------丈夫户口所在地
  463 +
  464 + String hproviceId = getString(map.get("P_HUSBANDRRPROVINCE"));
  465 + if (hproviceId != null && !"".equals(hproviceId))
  466 + {
  467 + String name = getOracleBasicConfig(hproviceId);
  468 + String id1 = getMongoBasicConfig(name, SystemConfig.LIVE_TYPE_ID);
  469 + patients.setProvincePostRestId(id1);
  470 +
  471 + String hcityId = getString(map.get("P_HUSBANDRRCITY"));
  472 + if (hcityId != null && !"".equals(hcityId))
  473 + {
  474 + String nameCity = getOracleBasicConfig(hcityId);
  475 + String id2 = getMongoBasicConfig(nameCity, id1);
  476 + patients.setCityPostRestId(id2);
  477 +
  478 + String hareId = getString(getString(map.get("P_HUSBANDRRCOUNTY")));
  479 + if (hareId != null && !"".equals(hareId))
  480 + {
  481 + String nameArea = getOracleBasicConfig(hareId);
  482 + String id3 = getMongoBasicConfig(nameArea, id2);
  483 + patients.setAreaPostRestId(id3);
  484 +
  485 + String hstreetId = getString(map.get("P_HUSBANDRRTOWNSHIP"));
  486 + if (hstreetId != null && !"".equals(hstreetId))
  487 + {
  488 + String nameStreet = getOracleBasicConfig(hstreetId);
  489 + String id4 = getMongoBasicConfig(nameStreet, id3);
  490 + patients.setStreetPostRestId(id4);
  491 + }
  492 + }
  493 + }
  494 + }
  495 +
  496 + patients.setAddressPostRest(getString(map.get("P_HUSBANDRRSTREET"))); // 详细地址
  497 + patients.setHworkUnit(getString(map.get("P_FILENUMBER"))); //建档编号
  498 + patients.setFileCode(getString(map.get("P_CLINICNO"))); //就诊卡号
  499 +
  500 + mongoTemplate.save(patients);
  501 + syncChuZhen(person.getId(),patients.getId(),mongoTemplate);
  502 + syncFuzhen(person.getId(),patients.getId(),mongoTemplate);
  503 + }
  504 + }
  505 +
  506 + private static void syncChuZhen(String pid,String parentId, MongoTemplate mongoTemplate)
  507 + {
  508 + List<Map<String,Object>> list = getListDataBySql(" SELECT * FROM MOMMY_FIRSTEXAMINE f where replace(f.FE_TRIAGEORDERNO,'-','') = '" + parentId + "'");
  509 + for(Map<String,Object> map : list)
  510 + {
  511 + AntExChuModel chuModel = new AntExChuModel();
  512 +
  513 + chuModel.setParentId(parentId);
  514 + chuModel.setPid(pid);
  515 + chuModel.setId(getString(map.get("FE_ID")));
  516 +
  517 + chuModel.setDueDate(getDate(map.get("FE_EXPECTEDDATECONFINEMENT")));
  518 + chuModel.setLastMenses(getDate(map.get("FE_LASTMENSTRUALPERIOD")));
  519 + chuModel.setcDueWeek(getString(map.get("FE_PREGNANCYWEEK")));
  520 + chuModel.setPastHistory(getString(map.get("")));
  521 + chuModel.setFamilyHistory(getString(map.get("")));
  522 + chuModel.setPersonalHistory(getString(map.get("")));
  523 + chuModel.setYmjzHistory(getString(map.get("")));
  524 + chuModel.setYwgmHistory(getString(map.get("")));
  525 + chuModel.setFksxHistory(getString(map.get("")));
  526 + chuModel.setYsfyHistory(getString(map.get("")));
  527 + chuModel.setPregnancyTimes(getInteger(map.get("")));
  528 + chuModel.setProdTime(getInteger(map.get("")));
  529 + chuModel.setDelivery(getInteger(map.get("")));
  530 + chuModel.setPlanedProd(getInteger(map.get("")));
  531 + chuModel.setAbortion(getInteger(map.get("")));
  532 + chuModel.setStillbirth(getInteger(map.get("")));
  533 + chuModel.setStillChan(getInteger(map.get("")));
  534 + chuModel.setNeoDeath(getInteger(map.get("")));
  535 + chuModel.setBirthDefect(getInteger(map.get("")));
  536 + chuModel.setHeight(getString(map.get("FE_HEIGHT")));
  537 + chuModel.setWeight(getString(map.get("FE_WEIGHT")));
  538 + chuModel.setYqWeight(getString(map.get("FE_PREGNANCYWEIGHT")));
  539 + chuModel.setBaricIndex(getString(map.get("FE_BMI")));
  540 + chuModel.setCestationInfo(getString(map.get("")));
  541 + chuModel.setGonggao(getString(map.get("FE_UTERUSHEIGHT")));
  542 + chuModel.setFuwei(getString(map.get("FE_ABGIRTH")));
  543 +
  544 + Integer tireNum = 1;
  545 + if (map.get("FE_ISSECOND") !=null )
  546 + {
  547 + tireNum = getInteger(map.get("FE_ISSECOND")) == 1 ? 2 : 1;
  548 + }
  549 + else if (map.get("FE_ISTHIRD") !=null )
  550 + {
  551 + tireNum = getInteger(map.get("FE_ISSECOND")) == 1 ? 3 : 1;
  552 + }
  553 + chuModel.setTireNumber1(String.valueOf(tireNum));
  554 + chuModel.setSyjg(getString(map.get("")));
  555 +// chuModel.setPlacentas();
  556 + chuModel.setHeart(getString(map.get("FE_HEART")));
  557 + chuModel.setLungs(getString(map.get("FE_LUNGS")));
  558 + chuModel.setVulva(getString(map.get("FE_VULVA")));
  559 + chuModel.setVagina(getString(map.get("FE_VAGINA")));
  560 + chuModel.setCervical(getString(map.get("FE_CERVICAL")));
  561 + chuModel.setUterus(getString(map.get("FE_UTERUS")));
  562 + chuModel.setFujian(getString(map.get("FE_ATTACHMENT")));
  563 + chuModel.setCreated(getDate(map.get("FE_CREATETIME")));
  564 +
  565 + String hid = getString(map.get("FE_HOSPITALID"));
  566 + if (hid != null && !"".equals(hid))
  567 + {
  568 + String hname = getString(getOralceSingleObjBySql("select h_name from plat_hospital h where h.h_isvalid=1 and h_id = '" + hid + "'"));
  569 + String id = getString(getMysqlSingleObjBySql("select id from organization where name = '" + hname + "'"));
  570 + chuModel.setHospitalId(id);
  571 + }
  572 + if (map.get("FE_LBLOODPRESSURE") != null)
  573 + {
  574 + Map<String,Integer> bpmap = new HashMap<>();
  575 + bpmap.put("ssy",getInteger(map.get("FE_LBLOODPRESSURE")));
  576 + bpmap.put("szy",getInteger(map.get("FE_LBLOODPRESSURE")));
  577 +
  578 + chuModel.setBp(JsonUtil.obj2Str(bpmap));
  579 + }
  580 +
  581 + mongoTemplate.save(chuModel);
  582 + }
  583 + }
  584 +
  585 + private static void syncFuzhen(String pid,String parentId, MongoTemplate mongoTemplate)
  586 + {
  587 + String sql = "SELECT * FROM ( SELECT A.*, ROWNUM RN FROM ( SELECT A.ER_ID AS ID,\n" +
  588 + " '' AS PID,\n" +
  589 + " B.P_NO AS PARENTID,\n" +
  590 + " (CASE WHEN ABS(MOD((FLOOR(A.ER_CHECKDATE - B.P_LASTMENSTRUALPERIOD)+1),7))=0 \n" +
  591 + " THEN '孕'||TO_CHAR(ABS(FLOOR((A.ER_CHECKDATE - B.P_LASTMENSTRUALPERIOD+1)/7)))||'周'\n" +
  592 + " 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" +
  593 + " END) AS CURRENTDUEDATE,\n" +
  594 + " A.ER_CHIEF AS CHIEFCOMPLAINT,\n" +
  595 + " A.ER_WEIGHT AS WEIGHT,\n" +
  596 + " '{\"ssy\":'||A.ER_BBLOODPRESSURE||',\"szy\":'||A.ER_HBLOODPRESSURE||'}' AS BP,\n" +
  597 + " A.ER_UTERUSHEIGHT AS GONGGAO,\n" +
  598 + " A.ER_CIRCUMFERENCE AS ABDOMINALCIRCUMFERENCE,\n" +
  599 + " DECODE(A.ER_WATEREDEMA,'-',1,'++',2,'+++',3,'++++',4) AS EDEMA, \n" +
  600 + " (CASE WHEN 1=1\n" +
  601 + " --A.ER_FETALPOSITION_THD IS NOT NULL AND A.ER_FETALPOSITION_SEC IS NOT NULL AND A.ER_FETALPOSITION IS NOT NULL\n" +
  602 + " THEN '[{\"heartRate\":\"'||A.ER_HEARTRATE||'\",\"fetalPosition\":\"'||\n" +
  603 + " 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" +
  604 + " '\",\"fetalPresentation\":\"'||\n" +
  605 + " TO_CHAR(DECODE(A.ER_FETALPRESENTATION,'3772',1,'3773',2,'3774',3,'3775',4))||\n" +
  606 + " '\",\"join\":\"'||\n" +
  607 + " 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" +
  608 + " '\"},{\"heartRate\":\"'||\n" +
  609 + " A.ER_HEARTRATE||'\",\"fetalPosition\":\"'||\n" +
  610 + " 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" +
  611 + " '\",\"fetalPresentation\":\"'||\n" +
  612 + " TO_CHAR(DECODE(A.ER_FETALPRESENTATION_SEC,'3772',1,'3773',2,'3774',3,'3775',4))||\n" +
  613 + " '\",\"join\":\"'||\n" +
  614 + " 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" +
  615 + " '\"},{\"heartRate\":\"'||A.ER_HEARTRATE||'\",\"fetalPosition\":\"'||\n" +
  616 + " 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" +
  617 + " '\",\"fetalPresentation\":\"'||\n" +
  618 + " TO_CHAR(DECODE(A.ER_FETALPRESENTATION_THD,'3772',1,'3773',2,'3774',3,'3775',4))||\n" +
  619 + " '\",\"join\":\"'||\n" +
  620 + " 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" +
  621 + " '\"}]'\n" +
  622 + " END) AS TIREDATA,\n" +
  623 + " A.ER_WHITEBLOOD AS HEMOGLOBIN,\n" +
  624 + " A.ER_URINARYPROTEIN AS URINEPROTEIN,\n" +
  625 + " A.ER_B AS BCHAO,\n" +
  626 + " A.ER_BLOODGLUCOSESCREENING AS BLOODSUGAR,\n" +
  627 + " '[\"'||REPLACE(TT.HIGH_RISK_ID,',','\",\"')||'\"]' AS RISKFACTOR,\n" +
  628 + " A.ER_CLASSIFICATION AS TYPE,\n" +
  629 + " A.ER_DEAL AS TREATMENTOPINION,\n" +
  630 + " A.ER_CHECKDATE AS CHECKDATE,\n" +
  631 + " A.ER_NEXTDATE AS NEXTCHECKTIME,\n" +
  632 + " A.ER_CREATETIME AS CREATED,\n" +
  633 + " A.ER_OPERTIME AS MODIFIED,\n" +
  634 + " H.E_HOSPITALID AS HOSPITALID,\n" +
  635 + " ABS(FLOOR((A.ER_CHECKDATE - B.P_LASTMENSTRUALPERIOD+1)/7)) AS CDUEWEEK,\n" +
  636 + " B.P_ISVALID AS YN\n" +
  637 + " \n" +
  638 + "FROM \n" +
  639 + " MOMMY_EXAMINERESULT A --初诊表\n" +
  640 + "----孕产婴用户表\n" +
  641 + "INNER JOIN MOMMY_PATIENT B ON A.ER_TRIAGEORDERNO=B.P_NO AND B.P_ISVALID=1\n" +
  642 + "--平台用户表 \n" +
  643 + "INNER JOIN PLAT_PATIENT C ON B.P_PLATPATIENTID=C.P_ID AND C.P_ISVALID=1\n" +
  644 + "--医生表\n" +
  645 + "INNER JOIN MOMMY_EMPLOYEE H ON H.E_ISVALID=1 AND A.ER_CREATOR=H.E_ID\n" +
  646 + "--医院表\n" +
  647 + "INNER JOIN PLAT_HOSPITAL F ON F.H_ID=H.E_HOSPITALID AND F.H_ISVALID=1 \n" +
  648 + "--高危数据\n" +
  649 + "LEFT JOIN \n" +
  650 + " (\n" +
  651 + " 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" +
  652 + " FROM \n" +
  653 + " (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" +
  654 + " FROM \n" +
  655 + " --高危风险关系表\n" +
  656 + " MOMMY_EXAMINWARNING J\n" +
  657 + " --高危内容\n" +
  658 + " 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'\n" +
  659 + " --高危等级\n" +
  660 + " INNER JOIN PLAT_DATACONTENT L ON K.DC_PARENTID=L.DC_ID AND L.DC_ISVALID=1\n" +
  661 + " INNER JOIN LYMS_BASICCONFIG LL ON K.DC_NAME=LL.NAME\n" +
  662 + " -- UNION ALL \n" +
  663 + " --其他高危评分\n" +
  664 + " --SELECT M.ID,M.MO_CONTENT,M.MO_COLORNAME,M.MO_VALUES FROM MOMMY_OTHERWORNING M\n" +
  665 + " )T\n" +
  666 + " GROUP BY T.ME_EXAMINID \n" +
  667 + " )TT ON A.ER_ID=TT.ME_EXAMINID where replace(p_no,'-','') = '" + parentId + "') A WHERE ROWNUM <= 10 ) WHERE RN >= 0 ";
  668 +
  669 +
  670 + List<Map<String, Object>> list = getListDataBySql(sql);
  671 +
  672 +
  673 +
  674 + for(Map<String,Object> map : list)
  675 + {
  676 + AntenatalExaminationModel antxModel = new AntenatalExaminationModel();
  677 + antxModel.setPid(pid);
  678 + antxModel.setParentId(parentId);
  679 + antxModel.setId(getString(map.get("ID")));
  680 +
  681 + antxModel.setCurrentDueDate(getString(map.get("CURRENTDUEDATE")));
  682 + antxModel.setWeight(getDouble(map.get("WEIGHT")));
  683 + antxModel.setBp(getString(map.get("BP")));
  684 + antxModel.setGongGao(getString(map.get("GONGGAO")));
  685 + antxModel.setAbdominalCircumference(getString(map.get("ABDOMINALCIRCUMFERENCE")));
  686 + antxModel.setEdema(getString(map.get("EDEMA")));
  687 + antxModel.setTireNumber(getString(map.get("")));
  688 +
  689 + antxModel.setTireData(JsonUtil.toList(getString(map.get("TIREDATA")),Placenta.class));
  690 +
  691 + antxModel.setHemoglobin(getString(map.get("HEMOGLOBIN")));
  692 + antxModel.setUrineProtein(getString(map.get("URINEPROTEIN")));
  693 + antxModel.setbChao(getString(map.get("BCHAO")));
  694 + antxModel.setBloodSugar(getString(map.get("BLOODSUGAR")));
  695 + antxModel.setRiskFactor(getString(map.get("RISKFACTOR")));
  696 + antxModel.setRiskScore(getString(map.get("")));
  697 + antxModel.setOtherRisk(getString(map.get("")));
  698 + antxModel.setDiagnosis(getString(map.get("")));
  699 + antxModel.setType(getString(map.get("TYPE")));
  700 + antxModel.setTypeYc(getString(map.get("")));
  701 + antxModel.setTreatmentOpinion(getString(map.get("TREATMENTOPINION")));
  702 + antxModel.setGuide(getString(map.get("")));
  703 +
  704 + antxModel.setCheckDoctor(getString(map.get("")));
  705 + antxModel.setCheckDate(getDate(map.get("CHECKDATE")));
  706 + antxModel.setNextCheckTime(getDate(map.get("NEXTCHECKTIME")));
  707 + antxModel.setYn(getInteger(map.get("YN")));
  708 + antxModel.setCreated(getDate(map.get("CREATED")));
  709 + antxModel.setModified(getDate(map.get("MODIFIED")));
  710 + antxModel.setHospitalId(getString(map.get("HOSPITALID")));
  711 + antxModel.setcDueWeek(getString(map.get("CDUEWEEK")));
  712 +
  713 +
  714 + antxModel.setChiefComplaint(getString(map.get("CHIEFCOMPLAINT")));
  715 + antxModel.setcDueWeek(getString(map.get("CDUEWEEK")));
  716 + mongoTemplate.save(antxModel);
  717 + }
  718 + }
  719 +
  720 + public static void syncBabyData() {
  721 + List<Map<String, Object>> list = getListDataBySql(" SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (select replace(m.PI_ID,'-','') as ID,m.* from MOMMY_PATIENTINFO m) A WHERE ROWNUM <= 10 ) WHERE RN >= 0 ");
  722 +
  723 +
  724 + MongoTemplate mongoTemplate = getMongoTemplate();
  725 +
  726 + for (Map<String, Object> map : list) {
  727 +
  728 + PersonModel personModel = new PersonModel();
  729 + personModel.setPhone(getString(map.get("PI_MOTHERPHONE")));
  730 + personModel.setName(getString(map.get("PI_NAME")));
  731 + personModel.setCardNo(getString(map.get("PI_IDENTITYCARDNUMBER")));
  732 + personModel.setBirth(getDate(map.get("PI_BIRTHDAY")));
  733 + personModel.setType(2);
  734 + personModel.setYn(YnEnums.YES.getId());
  735 + personModel.setCreated(getDate(map.get("PI_CREATETIME")));
  736 + personModel.setModified(getDate(map.get("PI_OPERTIME")));
  737 +
  738 + mongoTemplate.save(personModel);
  739 +
  740 + BabyModel model = new BabyModel();
  741 + model.setId(getString(map.get("ID")));
  742 + model.setPid(personModel.getId());
  743 + model.setCreated(getDate(map.get("PI_CREATETIME")));
  744 + model.setModified(getDate(map.get("PI_OPERTIME")));
  745 + model.setBirth(getDate(map.get("PI_BIRTHDAY")));
  746 + model.setAddress(getString(map.get("PI_ADDRESS")));
  747 +
  748 + model.setFname(getString(map.get("PI_FATHERNAME")));
  749 + model.setFphone(getString(map.get("PI_FATHERPROFESSION")));
  750 + model.setFbirth(getDate(map.get("")));
  751 +
  752 +
  753 + String fproTypeId = getString(map.get("PI_FATHERPROFESSION"));
  754 + if (fproTypeId != null && !"".equals(fproTypeId)) {
  755 + String fproTypeName = getOracleBasicConfig(fproTypeId);
  756 + String id = getMongoBasicConfig(fproTypeName, SystemConfig.PROFESSION_TYPE_ID);
  757 + model.setFproTypeId(id);
  758 + }
  759 +
  760 + model.setFcertNo(getString(map.get("")));
  761 + model.setFcertTypeId(getString(map.get("")));
  762 +
  763 + String fLevelId = getString(map.get("PI_BBCULTURE"));
  764 + if (fLevelId != null && !"".equals(fLevelId)) {
  765 + String fLevelName = getOracleBasicConfig(fLevelId);
  766 + String id = getMongoBasicConfig(fLevelName, SystemConfig.LEVEL_TYPE_ID);
  767 + model.setfLevelId(id);
  768 + }
  769 +
  770 + model.setMname(getString(map.get("PI_MOTHERNAME")));
  771 + model.setMphone(getString(map.get("PI_MOTHERPHONE")));
  772 + model.setMbirth(getDate(map.get("")));
  773 +
  774 + String mproTypeId = getString(map.get("PI_MATHERPROFESSION"));
  775 + if (mproTypeId != null && !"".equals(mproTypeId)) {
  776 + String mproTypeName = getOracleBasicConfig(mproTypeId);
  777 + String id = getMongoBasicConfig(mproTypeName, SystemConfig.PROFESSION_TYPE_ID);
  778 + model.setMproTypeId(id);
  779 + }
  780 +
  781 + model.setMcertNo(getString(map.get("")));
  782 + model.setMcertTypeId(getString(map.get("")));
  783 +
  784 + String mLevelId = getString(map.get("PI_MMCULTURE"));
  785 + if (mLevelId != null && !"".equals(mLevelId)) {
  786 + String mLevelName = getOracleBasicConfig(fLevelId);
  787 + String id = getMongoBasicConfig(mLevelName, SystemConfig.LEVEL_TYPE_ID);
  788 + model.setmLevelId(id);
  789 + }
  790 +
  791 + String zhuchanOrg = getString(map.get("PI_BIRTHASPHYXIA"));
  792 + if (zhuchanOrg != null && !"".equals(zhuchanOrg)) {
  793 + String id = getString(getMysqlSingleObjBySql("select id from organization where name = '" + zhuchanOrg + "'"));
  794 + model.setDeliverOrg(id);
  795 + }
  796 +
  797 + model.setCardNo(getString(map.get("PI_IDENTITYCARDNUMBER")));
  798 +
  799 + String buildHospitalId = getString(map.get("PI_BOOKBUILDINGHOSPITALID"));
  800 +
  801 +
  802 + if (buildHospitalId != null && !"".equals(buildHospitalId)) {
  803 + String hname = getString(getOralceSingleObjBySql("select h_name from plat_hospital h where h.h_isvalid=1 and h_id = '" + buildHospitalId + "'"));
  804 + String id = getString(getMysqlSingleObjBySql("select id from organization where name = '" + hname + "'"));
  805 + model.setHospitalId(id);
  806 + }
  807 +
  808 + model.setBuildType(1);
  809 + model.setSex(getInteger(map.get("PI_SEX")));
  810 + model.setName(getString(map.get("PI_NAME")));
  811 + Integer yn = getInteger(map.get("PI_ISDELETE"));
  812 + model.setYn(yn);
  813 +
  814 + model.setDueType(getString(map.get("")));
  815 + model.setFetusCount(getString(map.get("")));
  816 + model.setDueCount(getString(map.get("")));
  817 + model.setBabyWeight(getString(map.get("PI_WEIGHT")));
  818 + model.setBabyHeight(getString(map.get("PI_HEIGHT")));
  819 + model.setBabyHead(getString(map.get("PI_HEADSIZE")));
  820 + model.setMalformation(getInteger(map.get("")));
  821 +
  822 +
  823 + String doctorId = getString(map.get("PI_DOCTORID"));
  824 + if (doctorId != null && !"".equals(doctorId)) {
  825 + String hname = getString(getOralceSingleObjBySql("select e.e_name from mommy_employee e where e.e_id = '" + doctorId + "'"));
  826 + String id = getString(getMysqlSingleObjBySql("select id from users where name = '" + hname + "'"));
  827 + model.setBuildDoctor(id);
  828 + }
  829 +
  830 + model.setBuildDate(getDate(map.get("PI_CREATETIME")));
  831 +
  832 + Integer isVip = getInteger(map.get("PI_ISVIP"));
  833 + Integer status = getInteger(map.get("PI_SERVICETYPE"));
  834 + if (isVip == 0) {
  835 + model.setServiceType(ServiceTypeEnums.STANDARD_SERVICE.getId());
  836 + if (status != null)
  837 + {
  838 + if (status == 0)
  839 + {
  840 + model.setServiceStatus(ServiceStatusEnums.STANDARD_OPEN.getId());
  841 + }
  842 + else
  843 + {
  844 + model.setServiceStatus(ServiceStatusEnums.NO_OPEN.getId());
  845 + }
  846 +
  847 + }
  848 +
  849 + }
  850 + else if (isVip == 1)
  851 + {
  852 + model.setServiceType(ServiceTypeEnums.ADD_SERVICE.getId());
  853 +
  854 + if (status == 0)
  855 + {
  856 + model.setServiceStatus(ServiceStatusEnums.ADD_OPEN.getId());
  857 + }
  858 + else if (status == 1)
  859 + {
  860 + model.setServiceStatus(ServiceStatusEnums.SUSPEND.getId());
  861 + }
  862 + else if (status == 2)
  863 + {
  864 + model.setServiceStatus(ServiceStatusEnums.UNSUBSCRIBE.getId());
  865 + }
  866 + else if (status == 3)
  867 + {
  868 + model.setServiceStatus(ServiceStatusEnums.UNSUBSCRIBE.getId());
  869 + }
  870 + else if (status == 4)
  871 + {
  872 + model.setServiceStatus(ServiceStatusEnums.ADD_OVERDUE.getId());
  873 + }
  874 + }
  875 +
  876 + model.setVcCardNo(getString(map.get("PI_CARDNO")));
  877 + model.setApgarScore(getString(map.get("")));
  878 + model.setAsphyxiaM(getString(map.get("")));
  879 + model.setPregnancyOut(getString(map.get("PI_BIRTHASPHYXIA")));
  880 + model.setBabyHealthy(getString(map.get("")));
  881 + model.setContactStartM(getString(map.get("")));
  882 + model.setContactM(getString(map.get("")));
  883 + model.setEarlySuck(getString(map.get("")));
  884 + model.setDiagnose(getString(map.get("")));
  885 + model.setNextDate(getDate(map.get("")));
  886 + model.setLastHighRisk(getInteger(map.get("PI_KIDSTYPE")));
  887 + String dueWeek = getString(map.get("PI_GESTATIONALWEEKS"));
  888 + if (dueWeek != null && !"".equals(dueWeek))
  889 + {
  890 + String sp = "\\u002B";
  891 + model.setDueWeek(Integer.parseInt(dueWeek.split(sp)[0]));
  892 + }
  893 +
  894 + mongoTemplate.save(model);
  895 + syncBabyCheck(model.getId(),mongoTemplate);
  896 + }
  897 + }
  898 +
  899 + public static void syncBabyCheck(String parentId,MongoTemplate mongoTemplate)
  900 + {
  901 +
  902 +
  903 + String sql = " select * from MOMMY_PATIENTINFO MP left join MOMMY_CHILDEXAMINRECORD MC ON MP.PI_ID = MC.CER_PATIENTID WHERE MP.Pi_Id= '"+parentId+"'";
  904 +
  905 + List<Map<String, Object>> list = getListDataBySql(sql);
  906 + for (Map<String, Object> map : list)
  907 + {
  908 + BabyCheckModel checkModel = new BabyCheckModel();
  909 +
  910 + checkModel.setId(getString(map.get("CER_ID")));
  911 + checkModel.setYn(YnEnums.YES.getId());
  912 + checkModel.setBuildId(getString(map.get("CER_PATIENTID")));
  913 + checkModel.setCheckDate(getDate(map.get("CER_EXAMINDATE")));
  914 +
  915 + String hname = getString(map.get("CER_EXAMINHOSPITAL"));
  916 + if (hname != null && !"".equals(hname))
  917 + {
  918 + String id = getString(getMysqlSingleObjBySql("select id from organization where name = '" + hname + "'"));
  919 + checkModel.setHospitalId(id);
  920 + }
  921 + checkModel.setCreated(getDate(map.get("CER_CREATETIME")));
  922 + checkModel.setModified(getDate(map.get("CER_MODIFIEDTIME")));
  923 + checkModel.setHighRisk(getInteger(map.get("")));
  924 + checkModel.setNextDate(getDate(map.get("CER_NEXTEXAMINDATE")));
  925 +
  926 + String doctorName = getString(map.get("CER_DOCTORSIGNATURE"));
  927 + if (doctorName != null && !"".equals(doctorName))
  928 + {
  929 + String id = getString(getMysqlSingleObjBySql("select id from users where name = '" + doctorName + "'"));
  930 + checkModel.setCheckDoctor(id);
  931 + }
  932 +
  933 + checkModel.setGuideSuggest(getString(map.get("CER_DIRECTIVEOPINION")));
  934 + checkModel.setHandlSuggest(getString(map.get("CER_REMARKS")));
  935 +
  936 + checkModel.setMainFoster(getString(map.get("")));
  937 +
  938 +
  939 + List<Map<String,Object>> checkItems = getListDataBySql("SELECT A.e_Result,C.Ei_Name,B.CER_ID,B.CER_PATIENTID\n" +
  940 + " FROM MOMMY_EXAMINE A " +
  941 + " INNER JOIN MOMMY_CHILDEXAMINRECORD B ON A.E_CHILDEXAMINID=B.CER_ID " +
  942 + " INNER JOIN MOMMY_EXAMINEINFO C ON A.E_EXAMINEID=C.EI_ID " +
  943 +
  944 + " and B.CER_PATIENTID = '"+getString(map.get("CER_PATIENTID"))+"' " +
  945 + " and B.Cer_Id='"+getString(map.get("CER_ID"))+"'");
  946 +
  947 + for (Map<String,Object> item : checkItems)
  948 + {
  949 + String result =getString(item.get("E_RESULT"));
  950 + String itemName = getString(item.get("EI_NAME"));
  951 + if ("喂养方式".equals(getString(item.get("EI_NAME"))))
  952 + {
  953 + checkModel.setFeedType(WyTypeEnums.getIdByName(result));
  954 + }
  955 + else if ("户外活动".equals(getString(item.get("EI_NAME"))))
  956 + {
  957 + checkModel.setActivity(result);
  958 + }
  959 + else if ("服用维生素D".equals(getString(item.get("EI_NAME"))))
  960 + {
  961 + checkModel.setVitaminD(result);
  962 + }
  963 + else if ("体温".equals(itemName))
  964 + {
  965 + checkModel.setTemperature(result);
  966 + }
  967 + else if ("身长".equals(itemName))
  968 + {
  969 + checkModel.setHeight(result);
  970 + }
  971 + else if ("体重".equals(itemName))
  972 + {
  973 + checkModel.setWeight(result);
  974 + }
  975 + else if ("身高别体重".equals(itemName))
  976 + {
  977 + checkModel.setHeightWeight(result);
  978 + }
  979 + else if ("头围".equals(itemName))
  980 + {
  981 + checkModel.setHeightWeight(result);
  982 + }
  983 + else if ("胸围".equals(itemName))
  984 + {
  985 + checkModel.setChestw(result);
  986 + }
  987 + else if ("体格发育评价".equals(itemName))
  988 + {
  989 + checkModel.setGrowthEvaluate(result);
  990 + }
  991 + else if ("经皮胆红素".equals(itemName))
  992 + {
  993 + //头:9.5|胸:10.0|腹:10.0
  994 + String[] arrs = result.split("|");
  995 + for (String str : arrs)
  996 + {
  997 + if (str.startsWith("头"))
  998 + {
  999 + checkModel.setBilirubinHead(str.split(":")[1]);
  1000 + }
  1001 + else if (str.startsWith("胸"))
  1002 + {
  1003 + checkModel.setBilirubinChest(str.split(":")[1]);
  1004 + }
  1005 + else if (str.startsWith("腹"))
  1006 + {
  1007 + checkModel.setBilirubinBelly(str.split(":")[1]);
  1008 + }
  1009 + }
  1010 + }
  1011 + else if ("前囟".equals(itemName))
  1012 + {
  1013 + //{"yeaOrNo":"no","wbhcc1":"5","wbhcc2":"5"}
  1014 + //未闭合|1*1 未闭合|1.5×1.5
  1015 + Map bregma = new HashMap();
  1016 + if ("闭合".equals(result))
  1017 + {
  1018 + bregma.put("yeaOrNo","yes");
  1019 + }
  1020 + else if (result != null && result.startsWith("未闭合"))
  1021 + {
  1022 + bregma.put("yeaOrNo", "no");
  1023 + String[] arrs = result.split("|");
  1024 + if (arrs[1] != null && !"".equals(arrs[1]))
  1025 + {
  1026 + String[] items = arrs[1].split("×").length == 0 ? arrs[1].split("\\u002A") : arrs[1].split("×");
  1027 + if (items != null && items.length > 0)
  1028 + {
  1029 + if (items.length == 1)
  1030 + {
  1031 + bregma.put("wbhcc1",items[0]);
  1032 + }
  1033 + else
  1034 + {
  1035 + bregma.put("wbhcc1",items[0]);
  1036 + bregma.put("wbhcc2",items[1]);
  1037 + }
  1038 + }
  1039 +
  1040 + }
  1041 + }
  1042 + checkModel.setBregma(result);
  1043 + }
  1044 + else if ("出牙数".equals(itemName))
  1045 + {
  1046 + checkModel.setTooth(result);
  1047 + }
  1048 + else if ("面色".equals(itemName))
  1049 + {
  1050 + checkModel.setFaceColor(result);
  1051 + }
  1052 + else if ("眼".equals(itemName))
  1053 + {
  1054 + checkModel.setEye(result);
  1055 + }
  1056 + else if ("眼【视力】".equals(itemName))
  1057 + {
  1058 + checkModel.setEyesight(result);
  1059 + }
  1060 + else if ("耳".equals(itemName))
  1061 + {
  1062 + checkModel.setEar(result);
  1063 + }
  1064 + else if ("听力".equals(itemName))
  1065 + {
  1066 + checkModel.setHearing(result);
  1067 + }
  1068 + else if ("颈部/胸部".equals(itemName))
  1069 + {
  1070 + checkModel.setNeck(result);
  1071 + checkModel.setChest(result);
  1072 + }
  1073 + else if ("腹部".equals(itemName))
  1074 + {
  1075 + checkModel.setBelly(result);
  1076 + }
  1077 + else if ("脊柱四肢".equals(itemName))
  1078 + {
  1079 + checkModel.setSpineFours(result);
  1080 + }
  1081 + else if ("肛门/外生殖器".equals(itemName))
  1082 + {
  1083 + checkModel.setPortaGenitals(result);
  1084 + }
  1085 + else if ("可疑佝偻病症状".equals(itemName))
  1086 + {
  1087 + checkModel.setStoopStatus(result);
  1088 + }
  1089 + else if ("可疑佝偻病体征".equals(itemName))
  1090 + {
  1091 + checkModel.setStoopSign(result);
  1092 + }
  1093 + else if ("神经系统检查".equals(itemName))
  1094 + {
  1095 + checkModel.setNerve(result);
  1096 + }
  1097 + else if ("骨密度Z值".equals(itemName))
  1098 + {
  1099 + checkModel.setBonez(result);
  1100 + }
  1101 + else if ("血红蛋白值".equals(itemName))
  1102 + {
  1103 + checkModel.setHemoglobin(result);
  1104 + }
  1105 + else if ("白细胞".equals(itemName))
  1106 + {
  1107 + checkModel.setWhiteCell(result);
  1108 + }
  1109 + else if ("白细胞".equals(itemName))
  1110 + {
  1111 + checkModel.setWhiteCell(result);
  1112 + }
  1113 + }
  1114 +
  1115 + mongoTemplate.save(checkModel);
  1116 + }
  1117 +
  1118 +
  1119 + }
  1120 +
  1121 +
  1122 + public static String getMongoBasicConfig(String name,String parentId)
  1123 + {
  1124 + return getString(getOralceSingleObjBySql("select id from lyms_basicconfig where name='" + name + "' and parentId='" + parentId + "'"));
  1125 + }
  1126 +
  1127 + public static String getOracleBasicConfig(String id)
  1128 + {
  1129 + return getString(getOralceSingleObjBySql("select dc_name from plat_datacontent where dc_id='" + id + "'"));
  1130 + }
  1131 +
  1132 +
  1133 + public static String getString(Object obj)
  1134 + {
  1135 + return obj == null ? null : String.valueOf(obj);
  1136 + }
  1137 +
  1138 + public static Double getDouble(Object obj)
  1139 + {
  1140 + return obj == null ? null : Double.valueOf(String.valueOf(obj));
  1141 + }
  1142 +
  1143 + public static Integer getInteger(Object obj)
  1144 + {
  1145 + return obj == null ? null : Integer.valueOf(String.valueOf(obj));
  1146 + }
  1147 +
  1148 + public static Date getDate(Object obj)
  1149 + {
  1150 + return obj == null ? null : (Date)obj;
  1151 + }
  1152 +
  1153 + public static class Placenta{
  1154 + //心率
  1155 + private Double heartRate;
  1156 + //胎方位
  1157 + private String fetalPosition;
  1158 + //胎先露
  1159 + private String fetalPresentation;
  1160 + // 衔接
  1161 + private String join;
  1162 +
  1163 + public String getFetalPosition() {
  1164 + return fetalPosition;
  1165 + }
  1166 +
  1167 + public void setFetalPosition(String fetalPosition) {
  1168 + this.fetalPosition = fetalPosition;
  1169 + }
  1170 +
  1171 + public String getFetalPresentation() {
  1172 + return fetalPresentation;
  1173 + }
  1174 +
  1175 + public void setFetalPresentation(String fetalPresentation) {
  1176 + this.fetalPresentation = fetalPresentation;
  1177 + }
  1178 +
  1179 + public Double getHeartRate() {
  1180 + return heartRate;
  1181 + }
  1182 +
  1183 + public void setHeartRate(Double heartRate) {
  1184 + this.heartRate = heartRate;
  1185 + }
  1186 +
  1187 + public String getJoin() {
  1188 + return join;
  1189 + }
  1190 +
  1191 + public void setJoin(String join) {
  1192 + this.join = join;
  1193 + }
  1194 + }
  1195 +
  1196 + public static void main(String[] args)
  1197 + {
  1198 +// MongoTemplate template = getMongoTemplate();
  1199 +// AggregationOperation match = Aggregation.match(Criteria.where("_id").is("88ff423d07bf4d40b4fa331e6fe0e32a"));
  1200 +// AggregationOperation group = Aggregation.group("_id");
  1201 +// Aggregation aggregation = Aggregation.newAggregation(match, group);
  1202 +// AggregationResults<BabyCheckModel> result = template.aggregate(aggregation, "lyms_patient_test", BabyCheckModel.class);
  1203 +// List<BabyCheckModel> list = result.getMappedResults();
  1204 +// System.out.print(list);
  1205 +// DBCollection conn = template.getCollection("lyms_patient_test");
  1206 +// conn.up
  1207 +
  1208 + syncBabyData();
  1209 + }
  1210 +}