From 4997989b006e322ae822996f570c181f519b32c7 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Wed, 3 Jun 2020 17:56:14 +0800 Subject: [PATCH] update --- .../main/java/com/lyms/platform/common/Test.java | 7 + .../com/lyms/platform/common/utils/DateUtil.java | 17 ++- .../java/com/lyms/hospitalapi/hs/JDBCUtil.java | 23 +++- .../lyms/hospitalapi/hs/SyncBaseInfoService.java | 45 ++++++ .../lyms/hospitalapi/hs/SyncHsPatientService.java | 42 ++++-- .../java/com/lyms/platform/operate/web/Test.java | 151 ++++++++------------- .../web/controller/SyncHsDataController.java | 13 +- .../operate/web/controller/TestController.java | 123 ++++++++++++++++- .../web/facade/AntenatalExaminationFacade.java | 3 +- .../operate/web/facade/MatDeliverFacade.java | 32 ++++- .../platform/operate/web/facade/ViewFacade.java | 22 ++- 11 files changed, 350 insertions(+), 128 deletions(-) diff --git a/platform-common/src/main/java/com/lyms/platform/common/Test.java b/platform-common/src/main/java/com/lyms/platform/common/Test.java index d37e4e6..01973bd 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/Test.java +++ b/platform-common/src/main/java/com/lyms/platform/common/Test.java @@ -1,9 +1,16 @@ package com.lyms.platform.common; +import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.common.utils.StringUtils; + +import java.util.Date; public class Test { public static void main(String[] args) { + String fmWeekStr = "37+2"; + Date da = DateUtil.parseYMD("0001-01-01"); + System.out.println(da); } diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java index a79d69a..74ad75b 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java @@ -370,11 +370,15 @@ public class DateUtil { if (d == null) { return null; } + lock.lock(); try { return y_m_d_h_m.format(d); } catch (Exception e) { return null; } + finally { + lock.unlock(); + } } @@ -624,11 +628,15 @@ public class DateUtil { if (d == null) { return null; } + lock.lock(); try { return y_m_d_h_m_s.format(d); } catch (Exception e) { return null; } + finally { + lock.unlock(); + } } @@ -1569,9 +1577,12 @@ public class DateUtil { public static void main(String[] args) { - Date start = DateUtil.addDay(parseDate("2020-02-18"),1); - Date end = parseDate("2020-03-01"); - System.out.println(getWeek(start, end)); + Date last = parseDate("2020-02-29"); + + + Date st = DateUtil.addDay(last, 280); + + System.out.println(getyyyy_MM_dd(st)); } } diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/hs/JDBCUtil.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/hs/JDBCUtil.java index 76c8c87..57dab82 100644 --- a/platform-operate-api/src/main/java/com/lyms/hospitalapi/hs/JDBCUtil.java +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/hs/JDBCUtil.java @@ -20,7 +20,7 @@ public class JDBCUtil { // static String oracle_name = "LYMS_ODS"; // static String oracle_pwd = "Welcome1"; - static String mysql_url = "jdbc:mysql://127.0.0.1:3306/platform?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8"; + static String mysql_url = "jdbc:mysql://127.0.0.1:3306/platform_cert?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8"; static String mysql_name = "lyms_chengdu"; static String mysql_pwd = "Lyms123456"; @@ -52,7 +52,7 @@ public class JDBCUtil { return con; } - public static void closeConnection(Connection connection, PreparedStatement ps, ResultSet rs) { + public static void closeConnection(Connection connection, Statement ps, ResultSet rs) { try { if (rs != null) { rs.close(); @@ -139,6 +139,25 @@ public class JDBCUtil { return list; } + + + + public static int mysqlUpdate(String sql) { + Connection conn = getMysqlConnection(); + Statement pst = null; + ResultSet rs = null; + List> list = new ArrayList<>(); + try { + pst = conn.createStatement(); + return pst.executeUpdate(sql); + } catch (Exception e) { + e.printStackTrace(); + } finally { + closeConnection(conn, pst, rs); + } + return 0; + } + public static Object getOralceSingleObjBySql(String sql) { Connection conn = getOracleConnection(); PreparedStatement pst = null; diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/hs/SyncBaseInfoService.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/hs/SyncBaseInfoService.java index 343da44..dd79b07 100644 --- a/platform-operate-api/src/main/java/com/lyms/hospitalapi/hs/SyncBaseInfoService.java +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/hs/SyncBaseInfoService.java @@ -3,7 +3,9 @@ package com.lyms.hospitalapi.hs; import com.lyms.platform.biz.service.BasicConfigService; import com.lyms.platform.common.enums.UserTypeEnum; import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.MD5Utils; +import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.model.OrganizationQuery; import com.lyms.platform.permission.model.Users; @@ -20,6 +22,8 @@ import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; import java.util.Map; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; /** * Created by Administrator on 2020-04-10. @@ -140,4 +144,45 @@ public class SyncBaseInfoService { return obj == null ? null : String.valueOf(obj); } + + public void doHandleBirth(String ckNo1,String ckPrefix1) + { + int page = 0; + + //查询孕妇档案 + do { + String sql1 = "SELECT ck_no,ck_prefix from cert_birthnocheck ORDER BY ck_opertime desc limit "+page+",100"; + System.out.println(sql1); + List> list = JDBCUtil.getMysqlListDataBySql(sql1); + if (CollectionUtils.isEmpty(list)) + { + System.out.println("查询数据完成"); + break; + } + if (CollectionUtils.isNotEmpty(list)) + { + for(Map data : list) + { + String ckNo = getString(data.get("ck_no")); + String ckPrefix = getString(data.get("ck_prefix")); + + String sql = "SELECT M.CK_NO,M.CK_PREGDAY,M.CK_BABBYBIRTHDAY,M.CK_PREFIX FROM MOMMY_BIRTHNOCHECK M WHERE M.CK_NO='"+ckNo+"' AND M.CK_PREFIX='"+ckPrefix+"'"; + + List> list1 = JDBCUtil.getOracleListDataBySql(sql); + if (CollectionUtils.isNotEmpty(list1)) + { + Map obj = list1.get(0); + Date birth = HsDataUtil.getDate(obj.get("CK_BABBYBIRTHDAY")); + String day = HsDataUtil.getString(obj.get("CK_PREGDAY")); + System.out.println(DateUtil.getyyyy_MM_dd_hms(birth)); + int count = JDBCUtil.mysqlUpdate(" update cert_birthnocheck set ck_pregday="+day+",ck_babbybirthday='"+ DateUtil.getyyyy_MM_dd_hms(birth)+"' where ck_no='"+ckNo+"' and ck_prefix='"+ckPrefix+"'"); + System.out.println("update count "+count); + + } + } + } + page++; + }while (true); + } + } diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/hs/SyncHsPatientService.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/hs/SyncHsPatientService.java index b10e172..b4eef93 100644 --- a/platform-operate-api/src/main/java/com/lyms/hospitalapi/hs/SyncHsPatientService.java +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/hs/SyncHsPatientService.java @@ -42,7 +42,7 @@ public class SyncHsPatientService { /** * 同步孕妇 */ - public void synchsPatientData() { + public void synchsPatientData(String startDate,String endDate) { //初始化数据 HsDataUtil.initData(mongoTemplate); @@ -57,7 +57,7 @@ public class SyncHsPatientService { " mp.*, p_birthday, p_name, vc.VC_CARDNO from MOMMY_PATIENT mp " + " left join Plat_Patient pp on mp.p_platpatientid = pp.p_id left join (select max(VC_OPERTIME) as OPERTIME, " + " VC_CARDNO, VC_PATIENTNO from MOMMY_VISITCARD group by VC_CARDNO, VC_PATIENTNO) vc " + - " on vc.VC_PATIENTNO = mp.P_NO order by mp.P_FILINGTIME desc) temp where ROWNUM <="+pageEnd+") pat where pat.rowno >= "+pageStart; + " on vc.VC_PATIENTNO = mp.P_NO where mp.P_FILINGTIME >= to_date('"+startDate+"','yyyy-MM-dd') AND mp.P_FILINGTIME <= to_date('"+endDate+"','yyyy-MM-dd') order by mp.P_FILINGTIME asc) temp where ROWNUM <="+pageEnd+") pat where pat.rowno >= "+pageStart; System.out.println(sql); List> list = JDBCUtil.getOracleListDataBySql(sql); if (!CollectionUtils.isNotEmpty(list)) @@ -131,7 +131,7 @@ public class SyncHsPatientService { Date lastmenstrualperiod = null; try { - if (StringUtils.isEmpty(HsDataUtil.getString(map.get("P_LASTMENSTRUALPERIOD")))) + if (StringUtils.isEmpty(HsDataUtil.getString(map.get("P_LASTMENSTRUALPERIOD"))) || (StringUtils.isNotEmpty(HsDataUtil.getString(map.get("P_LASTMENSTRUALPERIOD"))) && "0001-01-01".equals(HsDataUtil.getString(map.get("P_LASTMENSTRUALPERIOD"))))) { List> chanList = null; if (StringUtils.isNotEmpty(HsDataUtil.getString(map.get("P_PLATPATIENTID")))) { @@ -149,7 +149,7 @@ public class SyncHsPatientService { lastmenstrualperiod = DateUtil.addWeek(fmDate,-Integer.parseInt(weeks[0])); if (weeks.length > 1 && StringUtils.isNotEmpty(weeks[1])) { - lastmenstrualperiod = DateUtil.addWeek(lastmenstrualperiod,-Integer.parseInt(weeks[1])); + lastmenstrualperiod = DateUtil.addDay(lastmenstrualperiod, -Integer.parseInt(weeks[1])); } } } @@ -180,7 +180,7 @@ public class SyncHsPatientService { patients.setBuildDays(DateUtil.getDays(HsDataUtil.getDate(map.get("P_LASTMENSTRUALPERIOD")), HsDataUtil.getDate(map.get("P_FILINGTIME")))); - patients.setId(String.valueOf(map.get("PID"))); + patients.setYn(HsDataUtil.getInteger(map.get("P_ISVALID"))); //是否有效 patients.setBuildType(0); patients.setBirth(HsDataUtil.getDate(map.get("P_BIRTHDAY"))); @@ -493,8 +493,9 @@ public class SyncHsPatientService { patients.setFmWeek(DateUtil.getDays(HsDataUtil.getDate(map.get("P_LASTMENSTRUALPERIOD")), fmDate)); String hname = HsDataUtil.getOraHosptalById(HsDataUtil.getString(fmMap.get("PDR_DELIVERORGANIZATIONID"))); - String id = HsDataUtil.getMysqlHosptalByName(hname); - patients.setFmHospital(id); + String hid = HsDataUtil.getMysqlHosptalByName(hname); + patients.setFmHospital(hid); + patients.setFmHospital(hid); if (StringUtils.isNotEmpty(HsDataUtil.getString(fmMap.get("PDR_DELIVERYMODE")))) { @@ -511,12 +512,25 @@ public class SyncHsPatientService { } patients.setFmType(JsonUtil.obj2Str(deliveryMode)); } + String patientId = String.valueOf(map.get("PID")); + PersonModel dbPerson = mongoTemplate.findOne(Query.query(Criteria.where("cardNo").is(HsDataUtil.getString(map.get("P_CARDNO"))).and("yn").is(1).and("type").ne(2)), PersonModel.class); + if (dbPerson != null) + { + patients.setPid(dbPerson.getId()); + } + else + { + patients.setPid(patientId); + } + patients.setId(patientId); + + + craeteFm(fmMap,HsDataUtil.getDate(map.get("P_LASTMENSTRUALPERIOD")), hid, patients); - craeteFm(fmMap,String.valueOf(map.get("PID")),HsDataUtil.getDate(map.get("P_LASTMENSTRUALPERIOD")), id, patients); } } - + patients.setId(String.valueOf(map.get("PID"))); patients.setType(type); //患者类型 PersonModel dbPerson = mongoTemplate.findOne(Query.query(Criteria.where("cardNo").is(HsDataUtil.getString(map.get("P_CARDNO"))).and("yn").is(1).and("type").ne(2)), PersonModel.class); @@ -705,16 +719,16 @@ public class SyncHsPatientService { * @param last * @param fmHospitalId */ - private void craeteFm(Map fmMap,String patientId,Date last,String fmHospitalId,Patients patients) { + private void craeteFm(Map fmMap,Date last,String fmHospitalId,Patients patients) { try { MaternalDeliverModel deliverModel = new MaternalDeliverModel(); - deliverModel.setParentId(patientId); - deliverModel.setPid(patientId); + deliverModel.setParentId(patients.getId()); + deliverModel.setPid(patients.getPid()); deliverModel.setDueDate(DateUtil.getyyyy_MM_dd(HsDataUtil.getDate(fmMap.get("PDR_CHILDBIRTHDAY")))); deliverModel.setDueDate1(HsDataUtil.getDate(fmMap.get("PDR_CHILDBIRTHDAY"))); deliverModel.setFmType("1"); - deliverModel.setDueWeek(DateUtil.getWeekDesc(last, DateUtil.addDay(HsDataUtil.getDate(fmMap.get("PDR_CHILDBIRTHDAY")),-1))); + deliverModel.setDueWeek(DateUtil.getWeekDesc(last, DateUtil.addDay(HsDataUtil.getDate(fmMap.get("PDR_CHILDBIRTHDAY")),-2))); if(StringUtils.isNotEmpty(HsDataUtil.getString(fmMap.get("PDR_AFTERONEHIGHBLOOD2"))) && @@ -740,7 +754,7 @@ public class SyncHsPatientService { deliverModel.settHloseBloodL(HsDataUtil.getDouble(fmMap.get("PDR_BLOODLOSSAFTERONE2"))); deliverModel.setrHloseBloodL(HsDataUtil.getDouble(fmMap.get("PDR_BLOODLOSSAFTERONE24"))); deliverModel.setsHloseBloodL(HsDataUtil.getDouble(fmMap.get("PDR_3AND2BLOOD"))); - deliverModel.setBreath(HsDataUtil.getString(fmMap.get("PDR_MIANCHUHOUFENZHONG"))); + deliverModel.setBreath(HsDataUtil.getString(fmMap.get("PDR_HUXI"))); deliverModel.setPulse(HsDataUtil.getString(fmMap.get("PDR_AFTERONEMAIBO"))); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java index 97968d9..8e980f1 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java @@ -1,116 +1,77 @@ package com.lyms.platform.operate.web; -import com.lyms.platform.common.utils.MD5; -import com.lyms.platform.pojo.BasicConfig; -import net.sourceforge.pinyin4j.PinyinHelper; -import org.apache.log4j.Logger; -import sun.misc.Unsafe; - -import java.lang.reflect.Field; -import java.text.SimpleDateFormat; -import java.util.*; +import org.apache.commons.lang.StringUtils; +import org.apache.http.HttpEntity; +import org.apache.http.client.ClientProtocolException; +import org.apache.http.client.config.RequestConfig; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.ContentType; +import org.apache.http.entity.mime.MultipartEntityBuilder; +import org.apache.http.entity.mime.content.FileBody; +import org.apache.http.entity.mime.content.StringBody; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; + +import java.io.File; +import java.io.IOException; /** * Created by Administrator on 2016/8/22 0022. */ public class Test { - private static org.apache.log4j.Logger log = Logger.getLogger("HTTP-INVOKE"); - public static void main(String[] args) throws Exception { - -// Map resutl = getSignParams("bisp-czsfy", "czsfy123$"); -// System.out.println(resutl); - System.out.println("360102199003079318".substring("360102199003079318".length() - 8)); - } - - public static boolean contain(String value, String content) { - return content.contains(value); - } - public static Map getSignParams(String syscode, String secret) { - Map signParams = new HashMap<>(); - signParams.put("syscode", syscode); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - signParams.put("timestamp", sdf.format(new Date())); - String unencryptedStr = getUnencryptedStr(signParams); - String sign2 = MD5.getMD5(secret + unencryptedStr + secret);//获取数字签名 - signParams.put("sign", sign2); - return signParams; - } - - public static String getUnencryptedStr(Map signParams) { - List paramsList = new ArrayList<>(); - for (String key : signParams.keySet()) { - if ("sign".equals(key)) { - continue; - } - String value = (String) signParams.get(key); - paramsList.add(key + value);//将参数转换成key+value格式 - } - Object[] paramsArray = (Object[]) paramsList.toArray(); - Arrays.sort(paramsArray);//ascii码排序 - String unencryptedStr = "";//待加密字符串 - for (Object paramStr : paramsArray) { - unencryptedStr += paramStr; - } - return unencryptedStr; - } - + final static long TIME = 1000 * 90; - public static Integer getLevel(Integer total) { - if (total == null) { - return 0; - } else if (total == 0) { - return 0; - } else if ((total&8)==8) { - return 8; - } else if ((total&4)==4) { - return 4; - } else if ((total&1)==1) { - return 1; - } else if ((total&2)==2) { - return 2; - } else { - return 0; - } - } - - public static void configData(BasicConfig bs, List basicConfigList,Map> slaveBasicConfigMap) { + public static void main(String[] args) throws Exception { - if (slaveBasicConfigMap.containsKey(bs.getId())) { - bs.setBasicConfigs(slaveBasicConfigMap.get(bs.getId())); - for(BasicConfig basicConfig:bs.getBasicConfigs()){ - configData(basicConfig,basicConfigList,slaveBasicConfigMap); - } + File dir = new File("F:\\aa"); + File[] files = dir.listFiles(); + for (File file : files) + { + upload("https://cert-hengshui-api.healthbaby.com.cn:8787/cp/common/importSignature", file, file.getName()); + Thread.sleep(TIME); } } - /** - * 功能:实现汉语拼音序比较 - */ - static class ComparatorPinYin implements Comparator { - @Override - public int compare(String o1, String o2) { - return ToPinYinString(o1).compareTo(ToPinYinString(o2)); - } - - private String ToPinYinString(String str) { - - StringBuilder sb = new StringBuilder(); - String[] arr = null; - - for (int i = 0; i < str.length(); i++) { - arr = PinyinHelper.toHanyuPinyinStringArray(str.charAt(i)); - if (arr != null && arr.length > 0) { - for (String string : arr) { - sb.append(string); - } + public static void upload(String url,File file,String filename) { + CloseableHttpClient httpclient = HttpClients.createDefault(); + try { + HttpPost httppost = new HttpPost(url); + RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(2000000).setSocketTimeout(2000000).build(); + httppost.setConfig(requestConfig); + FileBody bin = new FileBody(file); + StringBody comment = new StringBody(filename, ContentType.TEXT_PLAIN); + HttpEntity reqEntity = MultipartEntityBuilder.create().addPart("file", bin).addPart("filename", comment).build(); + httppost.setEntity(reqEntity); + httppost.setHeader("Authorization","12b82e5ef40605bdf213b3c60c4dc69e"); + CloseableHttpResponse response = httpclient.execute(httppost); + try { + System.out.println(response.getStatusLine()); + HttpEntity resEntity = response.getEntity(); + if (resEntity != null) { + String responseEntityStr = EntityUtils.toString(response.getEntity()); + System.out.println(file.getName()+"===="+responseEntityStr); } + EntityUtils.consume(resEntity); + } finally { + response.close(); + } + } catch (ClientProtocolException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } finally { + try { + httpclient.close(); + } catch (IOException e) { + e.printStackTrace(); } - - return sb.toString(); } } + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SyncHsDataController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SyncHsDataController.java index 4950f52..1e2ec47 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SyncHsDataController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SyncHsDataController.java @@ -7,6 +7,7 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; /** @@ -32,10 +33,18 @@ public class SyncHsDataController { return "syncBaseInfo starting..........."; } + + @RequestMapping(value = "/doHandleBirth", method = RequestMethod.GET) + @ResponseBody + public String doHandleBirth(@RequestParam(required = false)String ckNo,@RequestParam(required = false) String ckPrefix) { + syncBaseInfoService.doHandleBirth( ckNo, ckPrefix); + return "doHandleBirth starting..........."; + } + @RequestMapping(value = "/synchsPatientData", method = RequestMethod.GET) @ResponseBody - public String synchsPatientData() { - syncHsPatientService.synchsPatientData(); + public String synchsPatientData(String start,String end) { + syncHsPatientService.synchsPatientData(start,end); return "synchsPatientData starting..........."; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java index 9ba475e..929ac22 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java @@ -32,10 +32,7 @@ import com.lyms.platform.operate.web.utils.QhdvcCardNoUtils; import com.lyms.platform.operate.web.worker.*; import com.lyms.platform.permission.dao.master.CouponMapper; import com.lyms.platform.permission.model.*; -import com.lyms.platform.permission.service.BabyDiagnoseService; -import com.lyms.platform.permission.service.CouponService; -import com.lyms.platform.permission.service.OrganizationService; -import com.lyms.platform.permission.service.PatientServiceService; +import com.lyms.platform.permission.service.*; import com.lyms.platform.pojo.*; import com.lyms.platform.query.*; import com.mongodb.Mongo; @@ -87,6 +84,9 @@ public class TestController extends BaseController { @Autowired private PatientsService patientsService; + @Autowired + private UsersService usersService; + @Autowired private TrackDownRecordService trackDownRecordService; @@ -3504,8 +3504,7 @@ public class TestController extends BaseController { for (BloodSugar bloodSugar : tempList) { if (bloodSugar != null) { Patients pat = patientsService.findOnePatientById(bloodSugar.getParentId()); - if (pat != null) - { + if (pat != null) { bloodSugar.setRiskFactorId(pat.getRiskFactorId()); Query query = Query.query(Criteria.where("id").is(bloodSugar.getId())); @@ -3523,4 +3522,116 @@ public class TestController extends BaseController { return "syncBloodSugar finish"; } + + + @ResponseBody + @RequestMapping(value = "/updateHsFmPatients", method = RequestMethod.GET) + public String syncPatientsFmInfo(@RequestParam(required = false) String hospitalId,String startDate,String endDate) { + final MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); + matDeliverQuery.setYn(YnEnums.YES.getId()); + matDeliverQuery.setCreatedStart(DateUtil.parseYMD(startDate)); + matDeliverQuery.setEndStart(DateUtil.parseYMD(endDate)); + if (StringUtils.isNotEmpty(hospitalId)) { + matDeliverQuery.setFmHospital(hospitalId); + } + // 查询 + List maternalDeliverModelList = matDeliverService.query(matDeliverQuery); + System.out.println("本次读取了【" + maternalDeliverModelList.size() + "】条数据"); + int batchSize = 1000; + int end = 0; + for (int i = 0; i < maternalDeliverModelList.size(); i += batchSize) { + end = (end + batchSize); + if (end > maternalDeliverModelList.size()) { + end = maternalDeliverModelList.size(); + } + final List tempList = maternalDeliverModelList.subList(i, end); + new Thread(new Runnable() { + @Override + public void run() { + if (CollectionUtils.isNotEmpty(tempList)) { + for (MaternalDeliverModel maternalDeliverModel : tempList) { + Patients patients = patientsService.findOnePatientById(maternalDeliverModel.getParentId()); + if (patients != null && StringUtils.isNotEmpty(maternalDeliverModel.getFmHospital()) + && StringUtils.isNotEmpty(patients.getHospitalId())) { + if (!maternalDeliverModel.getFmHospital().equals(patients.getHospitalId())) + { + String source = patients.getId(); + patients.setId(null); + patients.setEnable("2"); + patients.setHospitalId(maternalDeliverModel.getFmHospital()); + patients.setSource(source); + + if(StringUtils.isEmpty(patients.getBookbuildingDoctor())) + { + UsersQuery usersQuery = new UsersQuery(); + usersQuery.setOrgId(Integer.valueOf(maternalDeliverModel.getFmHospital())); + List users = usersService.queryUsers(usersQuery); + if (CollectionUtils.isNotEmpty(users)) + { + patients.setBookbuildingDoctor(users.get(0).getId()+""); + } + } + + patientsService.addPatient(patients); + System.out.println(patients.getId()); + maternalDeliverModel.setParentId(patients.getId()); + matDeliverService.updateOne(maternalDeliverModel,maternalDeliverModel.getId()); + } + } + } + } + } + }).start(); + } + return "updateHsFmPatients start......"; + } + + + + + @ResponseBody + @RequestMapping(value = "/updatePatientBuildDoctor", method = RequestMethod.GET) + public String updatePatientBuildDoctor(@RequestParam(required = false) String hospitalId,String startDate,String endDate) { + PatientsQuery patientQuery = new PatientsQuery(); + patientQuery.setCreatedTimeStart(DateUtil.parseYMD(startDate)); + patientQuery.setCreatedTimeEnd(DateUtil.parseYMD(endDate)); + if (StringUtils.isNotEmpty(hospitalId)) { + patientQuery.setFmHospital(hospitalId); + } + // 查询 + List patientses = patientsService.queryPatient(patientQuery); + System.out.println("本次读取了【" + patientses.size() + "】条数据"); + int batchSize = 1000; + int end = 0; + for (int i = 0; i < patientses.size(); i += batchSize) { + end = (end + batchSize); + if (end > patientses.size()) { + end = patientses.size(); + } + final List tempList = patientses.subList(i, end); + new Thread(new Runnable() { + @Override + public void run() { + if (CollectionUtils.isNotEmpty(tempList)) { + for (Patients patients : tempList) { + if(StringUtils.isEmpty(patients.getBookbuildingDoctor())) + { + UsersQuery usersQuery = new UsersQuery(); + usersQuery.setOrgId(Integer.valueOf(patients.getHospitalId())); + List users = usersService.queryUsers(usersQuery); + if (CollectionUtils.isNotEmpty(users)) + { + patients.setBookbuildingDoctor(users.get(0).getId() + ""); + patientsService.updatePatient(patients); + System.out.println(patients.getId()); + } + } + } + } + } + }).start(); + } + return "updatePatientBuildDoctor start......"; + } + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java index 125669a..ddaa12c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java @@ -3205,7 +3205,8 @@ public class AntenatalExaminationFacade { patientsQuery.setEnable("2"); } Patients patients = null; - List list = patientsService.queryPatient1(patientsQuery, "modified"); + List list = patientsService.queryPatient1(patientsQuery, "created"); + System.out.println("分娩查询"+patientsQuery.convertToQuery().convertToMongoQuery().toString()); if (CollectionUtils.isNotEmpty(list)) { return list.get(0); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java index dcfd274..4814166 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java @@ -229,8 +229,36 @@ public class MatDeliverFacade { //表示区域的 if (StringUtils.isNotEmpty(organizationGroupsFacade.findByCurrentUserId(hospitalId))) { String parentId = antenatalExaminationFacade.handHideBuild(deliverAddRequest.getPid(), deliverAddRequest.getParentId(), userId, -1); - if (StringUtils.isEmpty(parentId)) { - logger.warn("get handHideBuild parentId is null."); + if (StringUtils.isNotEmpty(parentId)) { + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setHospitalId(hospitalId); + patientsQuery.setYn(YnEnums.YES.getId()); + patientsQuery.setId(parentId); + patientsQuery.setSort(" created "); + List patients = patientsService.queryPatient(patientsQuery); + if (CollectionUtils.isEmpty(patients)) + { + patientsQuery.setHospitalId(hospitalId); + patientsQuery.setYn(YnEnums.YES.getId()); + patientsQuery.setId(null); + patientsQuery.setPid(deliverAddRequest.getPid()); + patientsQuery.setSort(" created "); + List patientsss = patientsService.queryPatient(patientsQuery); + if (CollectionUtils.isNotEmpty(patientsss)) + { + Patients pat = patientsss.get(0); + String source = pat.getId(); + pat.setId(null); + pat.setEnable("2"); + pat.setHospitalId(maternalDeliverModel.getFmHospital()); + pat.setSource(source); + + patientsService.addPatient(pat); + maternalDeliverModel.setParentId(pat.getId()); + deliverAddRequest.setParentId(pat.getId()); + } + } + } maternalDeliverModel.setParentId(parentId); deliverAddRequest.setParentId(parentId); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java index 199e41e..1f99fe7 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java @@ -6435,9 +6435,25 @@ public class ViewFacade { week = (dueMap.get("week") == null || "".equals(dueMap.get("week"))) ? 0 : Integer.parseInt(String.valueOf(dueMap.get("week"))); day = (dueMap.get("day") == null || "".equals(dueMap.get("day"))) ? 0 : Integer.parseInt(String.valueOf(dueMap.get("day"))); } else { - Integer betweenDay = DateUtil.getDays(pat.getLastMenses(), data.getDueDate1()); - week = betweenDay / 7; - day = betweenDay % 7; + + try { + String dueWeek = data.getDueWeek(); + if (StringUtils.isNotEmpty(dueWeek) && dueWeek.contains("周")) + { + String[] arrs = dueWeek.replace("周","").replace("天","").split("\\+"); + week = Integer.parseInt(arrs[0]); + if (arrs.length == 2) + { + day = Integer.parseInt(arrs[1]); + } + } + } + catch (Exception e) + { + Integer betweenDay = DateUtil.getDays(pat.getLastMenses(), data.getDueDate1()); + week = betweenDay / 7; + day = betweenDay % 7; + } } Date fmDate = DateUtil.parseYMDHM(baby.getDueTime()); -- 1.8.3.1