Commit 8dc0a09bc600842a1d576aa100126284949a6c24

Authored by dongqin
1 parent 8da9119f5e

衡水需求

Showing 5 changed files with 377 additions and 19 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PregnantBuildController.java View file @ 8dc0a09
... ... @@ -126,7 +126,7 @@
126 126 return bookbuildingFacade.updatePregnantByIdV2(param.getId(), param, param.getUserId(), false);
127 127 }
128 128  
129   - return bookbuildingFacade.addPregnantBookbuilding(param, Integer.parseInt(param.getBookbuildingDoctor()), false);
  129 + return bookbuildingFacade.addPregnantBookbuildingV2(param, Integer.parseInt(param.getBookbuildingDoctor()), false);
130 130 }
131 131 //测试
132 132 @RequestMapping(method = RequestMethod.POST, value = "/testv2url")
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java View file @ 8dc0a09
... ... @@ -51,7 +51,9 @@
51 51 import java.io.File;
52 52 import java.io.IOException;
53 53 import java.io.OutputStream;
  54 +import java.sql.*;
54 55 import java.util.*;
  56 +import java.util.Date;
55 57  
56 58 /**
57 59 *
58 60  
59 61  
... ... @@ -716,19 +718,16 @@
716 718 private void syncDataToV2(final Patients patients, String id, Integer userId){
717 719 try {
718 720 Thread syncThread = new Thread(new Runnable() {
719   - //ExecutorService executor = Executors.newSingleThreadExecutor();
720   - //executor.execute(new Runnable() {
721 721 @Override
722 722 public void run() {
723 723 RestTemplate restTemplate = new RestTemplate();
724 724 HttpHeaders headers = new HttpHeaders();
725 725 headers.setContentType(MediaType.APPLICATION_JSON);
726 726 JSONObject jsonObject = getQueryParam(patients);
727   - String result = restTemplate.postForObject(syncToV2Url + "/testv2url", jsonObject, String.class);
  727 + String result = restTemplate.postForObject(syncToV2Url + "/v3/bookbuilding/savaOrUpdate", jsonObject, String.class);
728 728 logger.info("建档数据同步到2.0系统,返回结果: {}", result);
729 729 }
730 730 });
731   - //executor.shutdown();
732 731 syncThread.start();
733 732 }catch (Exception e){
734 733 e.printStackTrace();
... ... @@ -782,6 +781,7 @@
782 781 jsonObject.put("P_HUSBANDRRSTREET", patients.getHstreetRegisterId());//丈夫户口所在地 街道
783 782 return jsonObject;
784 783 }
  784 +
785 785 /**
786 786 * 创建孕妇建档推送消息
787 787 */
788 788  
... ... @@ -2311,10 +2311,23 @@
2311 2311 * @param b 是否同步数据
2312 2312 * @return BaseResponse
2313 2313 */
2314   - public BaseResponse createOrUpdateYunBuildV2(SyncV2YunBookbuildingRequest param, Integer userId, boolean b) {
2315   - // TODO 2019/6/5 15:01 dongqing 数据的效验,整理
  2314 + public BaseResponse addPregnantBookbuildingV2(SyncV2YunBookbuildingRequest param, Integer userId, boolean b) {
  2315 + YunBookbuildingAddRequest request = param;
  2316 + YunBookbuildingAddRequest addRequest = getYunBookbuildingAddRequest(request);
  2317 + SyncV2YunBookbuildingRequest paramRequest = (SyncV2YunBookbuildingRequest) addRequest;
  2318 + return addPregnantBookbuilding(paramRequest, userId, b);
  2319 + }
2316 2320  
2317   - return createOrUpdateYunBuild(param, userId, b);
  2321 + /**
  2322 + * 数据封装
  2323 + *
  2324 + * @param param
  2325 + * @return
  2326 + */
  2327 + private YunBookbuildingAddRequest getYunBookbuildingAddRequest( YunBookbuildingAddRequest param) {
  2328 + // TODO 2019/6/7 14:07 dongqing 修改
  2329 +
  2330 + return param;
2318 2331 }
2319 2332  
2320 2333 /**
2321 2334  
2322 2335  
2323 2336  
2324 2337  
... ... @@ -2323,19 +2336,154 @@
2323 2336 * @param param 请求参数
2324 2337 * @return BaseResponse
2325 2338 */
2326   - public BaseResponse saveByV2(SyncV2HistoryRequest param) {
2327   - // TODO 2019/6/5 15:01 dongqing 数据的效验,整理
2328   - RestTemplate restTemplate = new RestTemplate();
2329   - HttpHeaders headers = new HttpHeaders();
2330   - headers.setContentType(MediaType.APPLICATION_JSON);
2331   - String startTime = param.getStartTime();
2332   - String endTime = param.getEndTime();
2333   - // TODO 2019/6/5 15:39 dongqing 分批次请求保存
  2339 + public BaseResponse saveByV2(SyncV2HistoryRequest param) {
2334 2340  
  2341 +
  2342 + // TODO 2019/6/5 15:01 dongqing 数据的效验,整理
  2343 + RestTemplate restTemplate = new RestTemplate();
  2344 + HttpHeaders headers = new HttpHeaders();
  2345 + headers.setContentType(MediaType.APPLICATION_JSON);
  2346 + String startTime = param.getStartTime();
  2347 + String endTime = param.getEndTime();
  2348 + // TODO 2019/6/5 15:39 dongqing 分批次请求保存
  2349 +
  2350 + Connection connection = null;
  2351 + try {
  2352 + connection = getConnection();
  2353 + String sql = "";
  2354 + PreparedStatement statement = connection.prepareStatement(sql);
  2355 + ResultSet resultSet = statement.executeQuery();
  2356 + while (resultSet.next()) {
  2357 + String id = resultSet.getString("id");
  2358 + String name = resultSet.getString("stu_name");
  2359 + String gender = resultSet.getString("gender");
  2360 + String age = resultSet.getString("age");
  2361 + String address = resultSet.getString("address");
  2362 + }
  2363 + }catch (Exception e){
  2364 +
  2365 + }finally {
  2366 + if (connection != null){
  2367 + try {
  2368 + connection.close();
  2369 + } catch (SQLException e) {
  2370 + e.printStackTrace();
  2371 + }
  2372 + }
  2373 + }
  2374 +
  2375 + // 孕妇体验类型
  2376 + param.setExpType(-1);
  2377 + // 服务信息
  2378 + param.setSerInfos(new ArrayList<Map<String, String>>());
  2379 + // 证件类型
  2380 + param.setPregnantCertificateTypeId(null);
  2381 + // 居住地
  2382 + param.setPregnantCensusProvinceId(null);
  2383 + param.setPregnantCensusCityId(null);
  2384 + param.setPregnantCensusCityId(null);
  2385 + param.setPregnantCensusStreetId(null);
  2386 +
  2387 + // 国籍
  2388 + param.setPregnantCountryId(null);
  2389 + // 丈夫国籍
  2390 + param.setHusbandCountryId(null);
  2391 + // 丈夫 证件类型
  2392 + param.setHusbandCertificateTypeId(null);
  2393 + // 民族
  2394 + param.setPregnantNationId(null);
  2395 + // 丈夫民族
  2396 + param.setHusbandNationId(null);
  2397 + // 建档医生
  2398 + param.setBookbuildingDoctor(null);
  2399 + // 孕妇证件号
  2400 + param.setPregnantCertificateNum(null);
  2401 + // 孕妇民族
  2402 + param.setPregnantName(null);
  2403 + // 孕妇手机号
  2404 + param.setPregnantPhone(null);
  2405 +
  2406 + param.setPregnantCensusAddr("这是居住地");
  2407 +
  2408 + param.setPregnantLiveProvinceId(null);
  2409 + param.setPregnantLiveCityId(null);
  2410 + param.setPregnantLiveAreaId(null);
  2411 + param.setPregnantLiveStreetId(null);
  2412 + param.setPregnantLiveAddr("户籍地址");
  2413 +
  2414 + param.setChildbirthProvinceId(null);
  2415 + param.setChildbirthCityId(null);
  2416 + param.setChildbirthAreaId(null);
  2417 + param.setChildbirthStreetId(null);
  2418 + param.setChildExtAddrs(new ArrayList<String>());
  2419 + param.setChildbirthAddr("产后 休养地");
  2420 +
  2421 + param.setHusbandName("产后大幅度");
  2422 + // 丈夫证件号
  2423 + param.setHusbandCertificateNum(null);
  2424 + // 丈夫生日
  2425 + param.setHusbandBirth(null);
  2426 +
  2427 + // 丈夫户籍地址
  2428 + param.setHusbandProvinceRegisterId(null);
  2429 + param.setHusbandCityRegisterId(null);
  2430 + param.setHusbandAreaRegisterId(null);
  2431 + param.setHusbandStreetRegisterId(null);
  2432 + param.setHusbandAddressRegister(null);
  2433 +
  2434 + // 就诊卡号
  2435 + param.setVcCardNo(null);
  2436 + // 乡镇卫生机构id
  2437 + param.setTownOrgId(null);
  2438 + // 孕妇生日
  2439 + param.setBirthday(null);
  2440 + // 末次月经
  2441 + param.setLastMenstrualPeriod(null);
  2442 + // 预产期
  2443 + param.setDueDate(null);
  2444 + // 建档日期
  2445 + param.setBookbuildingDate(null);
  2446 + // 医院Id
  2447 + param.setHospitalId(null);
  2448 + // 服务状态
  2449 + param.setServiceStatus(null);
  2450 + param.setServiceType(null);
  2451 +
  2452 +
2335 2453 JSONObject jsonObject = new JSONObject();
2336   - String result = restTemplate.postForObject(syncToV2Url + "/wx/babyMeasureInfo/saveOrUpdate", jsonObject, String.class);
  2454 + String result = restTemplate.postForObject(syncToV2Url + "/wx/babyMeasureInfo/saveOrUpdate", jsonObject, String.class);
2337 2455  
  2456 +
  2457 +
  2458 +
2338 2459 return null;
  2460 + }
  2461 +
  2462 + private static Connection getConnection() {
  2463 + Connection connection;
  2464 + try {
  2465 + Class.forName("oracle.jdbc.OracleDriver");
  2466 + connection = DriverManager.getConnection("jdbc:oracle:thin:@121.17.120.149:1521:orcl", "LYMS_HENGSHUI_ZS_TEST44", "LYMS_HENGSHUI_ZS_TEST44");
  2467 + System.out.println("成功连接数据库");
  2468 + } catch (ClassNotFoundException | SQLException e) {
  2469 + throw new RuntimeException("class not find !", e);
  2470 + }
  2471 +
  2472 + return connection;
  2473 + }
  2474 +
  2475 + public static void main(String[] args) throws SQLException {
  2476 + Connection connection = getConnection();
  2477 + PreparedStatement preparedStatement = connection.prepareStatement("select * from MOMMY_PATIENT");
  2478 + ResultSet resultSet = preparedStatement.executeQuery();
  2479 + ResultSetMetaData metaData = resultSet.getMetaData();
  2480 + int i=1;
  2481 + while (resultSet.next()){
  2482 + String tableName = metaData.getColumnName(++i);
  2483 + System.out.println(tableName);
  2484 + // System.out.println(resultSet.getString(tableName));
  2485 + }
  2486 +
2339 2487 }
2340 2488 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java View file @ 8dc0a09
... ... @@ -1981,6 +1981,84 @@
1981 1981 boolean isScope = DateUtil.isBetween(resultDate, DateUtil.addDay(new Date(), -29), new Date());
1982 1982 matdeliverFollowListResult.setFollowStage(isScope ? 1 : 2);
1983 1983 }
  1984 +
  1985 + // 需求:现住址或者产后休养地址是衡水市桃城区的,
  1986 + // 添加字段:分娩日期、胎次、分娩方式、分娩孕周、高危因素、户籍地址、现住址、产后休养地址
  1987 + Patients patient = patientsService.findOnePatientById(deliverModel.getParentId());
  1988 + boolean isTaocheng = false;
  1989 + if (patient != null) {
  1990 + /* String cityId = organization.getCityId();
  1991 + String areaId = organization.getAreaId();*/
  1992 +
  1993 + // 戶籍地址
  1994 + String address = patient.getAddress();
  1995 + String provinceId = patient.getProvinceId();
  1996 + String cityId = patient.getCityId();
  1997 + String areaId = patient.getAreaId();
  1998 + String streetId = patient.getStreetId();
  1999 +
  2000 + // 产后休养地
  2001 + String addressPostRest = patient.getAddressPostRest();
  2002 + String provincePostRestId = patient.getProvincePostRestId();
  2003 + String cityPostRestId = patient.getCityPostRestId();
  2004 + String areaPostRestId = patient.getAreaPostRestId();
  2005 + String streetPostRestId = patient.getStreetPostRestId();
  2006 +
  2007 + // 居住地
  2008 + String addressRegister = patient.getAddressRegister();
  2009 + String provinceRegisterId = patient.getProvinceRegisterId();
  2010 + String cityRegisterId = patient.getCityRegisterId();
  2011 + String areaRegisterId = patient.getAreaRegisterId();
  2012 + String streetRegisterId = patient.getStreetRegisterId();
  2013 +
  2014 + // 修养地和居住地是否为衡水市桃城区的
  2015 + boolean existByPostRest = "12".equals(cityPostRestId) && "160".equals(areaPostRestId);
  2016 + boolean existByRegister = "12".equals(cityRegisterId) && "160".equals(areaRegisterId);
  2017 + if (existByPostRest || existByRegister) {
  2018 + isTaocheng = true;
  2019 + matdeliverFollowListResult.setDeliverTimeStr(deliverModel.getDueDate());
  2020 + matdeliverFollowListResult.setTaiSize(deliverModel.getTireNumber());
  2021 + matdeliverFollowListResult.setDeliveryTypeStr(deliverModel.getDeliveryMode());
  2022 + matdeliverFollowListResult.setDeliveryWeek(deliverModel.getDueWeek());
  2023 + List<Map<String, Object>> list = new ArrayList<>();
  2024 + List<String> riskFactorId = patient.getRiskFactorId();
  2025 + if (CollectionUtils.isNotEmpty(riskFactorId)) {
  2026 + for (String id : riskFactorId) {
  2027 + HashMap<String, Object> hashMap = new HashMap<>(16);
  2028 + BasicConfig config = basicConfigService.getOneBasicConfigById(id);
  2029 + hashMap.put("id", id);
  2030 + hashMap.put("bean",config);
  2031 + list.add(hashMap);
  2032 +
  2033 + }
  2034 + }
  2035 + matdeliverFollowListResult.setHighRiskFactors(list);
  2036 +
  2037 + // 户籍
  2038 + String province = getAddressNameById(provinceId);
  2039 + String city = getAddressNameById(cityId);
  2040 + String area = getAddressNameById(areaId);
  2041 + String street = getAddressNameById(streetId);
  2042 + matdeliverFollowListResult.setHujiAddress(province + city + area + street + address);
  2043 +
  2044 + // 居住地
  2045 + String provinceRegister = getAddressNameById(provinceRegisterId);
  2046 + String cityRegister = getAddressNameById(cityRegisterId);
  2047 + String areaRegister = getAddressNameById(areaRegisterId);
  2048 + String streetRegister = getAddressNameById(streetRegisterId);
  2049 + matdeliverFollowListResult.setCurrentAddress(provinceRegister + cityRegister + areaRegister + streetRegister + addressRegister);
  2050 +
  2051 + // 产后休养地
  2052 + String provincePostRest = getAddressNameById(provincePostRestId);
  2053 + String cityPostRest = getAddressNameById(cityPostRestId);
  2054 + String areaPostRest = getAddressNameById(areaPostRestId);
  2055 + String streetPostRest = getAddressNameById(streetPostRestId);
  2056 + matdeliverFollowListResult.setPostpartumAddress(provincePostRest + cityPostRest + areaPostRest + streetPostRest + addressPostRest);
  2057 + }
  2058 + }
  2059 +
  2060 + matdeliverFollowListResult.setTaoCheng(isTaocheng);
  2061 +
1984 2062 matdeliverFollowListResults.add(matdeliverFollowListResult);
1985 2063 }
1986 2064 listResponse.setPageInfo(matDeliverQuery.getPageInfo());
... ... @@ -1988,7 +2066,19 @@
1988 2066 return listResponse;
1989 2067 }
1990 2068  
1991   -
  2069 + /**
  2070 + * 获取name 根据id
  2071 + *
  2072 + * @param id
  2073 + * @return
  2074 + */
  2075 + public String getAddressNameById(String id) {
  2076 + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(id)) {
  2077 + BasicConfig oneBasicConfigById = basicConfigService.getOneBasicConfigById(id);
  2078 + return oneBasicConfigById.getName();
  2079 + }
  2080 + return "";
  2081 + }
1992 2082 public ChildbirthManagerResult childbirthManager(ChildbirthManagerRequest childbirthManagerRequest) {
1993 2083 ChildbirthManagerResult childbirthManagerResult = new ChildbirthManagerResult();
1994 2084  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SyncV2HistoryRequest.java View file @ 8dc0a09
... ... @@ -7,7 +7,7 @@
7 7 * @Date 15:23 2019/6/5
8 8 */
9 9  
10   -public class SyncV2HistoryRequest {
  10 +public class SyncV2HistoryRequest extends YunBookbuildingAddRequest{
11 11  
12 12 /**
13 13 * 开始时间
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/MatdeliverFollowListResult.java View file @ 8dc0a09
1 1 package com.lyms.platform.operate.web.result;
2 2  
  3 +import java.util.List;
  4 +import java.util.Map;
  5 +
3 6 /**
4 7 * @auther yangfei
5 8 * @createTime 2017年11月21日 19时56分
... ... @@ -96,6 +99,123 @@
96 99 * 2、超出访视期
97 100 */
98 101 private Integer followStage;
  102 +
  103 + /**
  104 + * 是否为桃城区
  105 + */
  106 + private boolean isTaoCheng;
  107 +
  108 + /**
  109 + * 分娩日期
  110 + */
  111 + private String deliverTimeStr;
  112 +
  113 + /**
  114 + * 胎次、分娩方式、分娩孕周、高危因素、户籍地址、现住址、产后休养地址8项。
  115 + */
  116 + private Integer taiSize;
  117 +
  118 + /**
  119 + * 分娩方式
  120 + */
  121 + private String deliveryTypeStr;
  122 +
  123 + /**
  124 + * 分娩孕周
  125 + */
  126 + private String deliveryWeek;
  127 +
  128 + /**
  129 + * 高危因素
  130 + */
  131 + private List<Map<String, Object>> highRiskFactors;
  132 +
  133 + /**
  134 + * 户籍地址
  135 + */
  136 + private String hujiAddress;
  137 +
  138 + /**
  139 + * 当前住址
  140 + */
  141 + private String currentAddress;
  142 +
  143 + /**
  144 + * 产后休养地址
  145 + */
  146 + private String postpartumAddress;
  147 +
  148 + public boolean isTaoCheng() {
  149 + return isTaoCheng;
  150 + }
  151 +
  152 + public void setTaoCheng(boolean taoCheng) {
  153 + isTaoCheng = taoCheng;
  154 + }
  155 +
  156 + public String getDeliverTimeStr() {
  157 + return deliverTimeStr;
  158 + }
  159 +
  160 + public void setDeliverTimeStr(String deliverTimeStr) {
  161 + this.deliverTimeStr = deliverTimeStr;
  162 + }
  163 +
  164 + public Integer getTaiSize() {
  165 + return taiSize;
  166 + }
  167 +
  168 + public void setTaiSize(Integer taiSize) {
  169 + this.taiSize = taiSize;
  170 + }
  171 +
  172 + public String getDeliveryTypeStr() {
  173 + return deliveryTypeStr;
  174 + }
  175 +
  176 + public void setDeliveryTypeStr(String deliveryTypeStr) {
  177 + this.deliveryTypeStr = deliveryTypeStr;
  178 + }
  179 +
  180 + public String getDeliveryWeek() {
  181 + return deliveryWeek;
  182 + }
  183 +
  184 + public void setDeliveryWeek(String deliveryWeek) {
  185 + this.deliveryWeek = deliveryWeek;
  186 + }
  187 +
  188 + public List<Map<String, Object>> getHighRiskFactors() {
  189 + return highRiskFactors;
  190 + }
  191 +
  192 + public void setHighRiskFactors(List<Map<String, Object>> highRiskFactors) {
  193 + this.highRiskFactors = highRiskFactors;
  194 + }
  195 +
  196 + public String getHujiAddress() {
  197 + return hujiAddress;
  198 + }
  199 +
  200 + public void setHujiAddress(String hujiAddress) {
  201 + this.hujiAddress = hujiAddress;
  202 + }
  203 +
  204 + public String getCurrentAddress() {
  205 + return currentAddress;
  206 + }
  207 +
  208 + public void setCurrentAddress(String currentAddress) {
  209 + this.currentAddress = currentAddress;
  210 + }
  211 +
  212 + public String getPostpartumAddress() {
  213 + return postpartumAddress;
  214 + }
  215 +
  216 + public void setPostpartumAddress(String postpartumAddress) {
  217 + this.postpartumAddress = postpartumAddress;
  218 + }
99 219  
100 220 public Integer getFollowStage() {
101 221 return followStage;