diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PregnantBuildController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PregnantBuildController.java index 0d823e6..d9f0421 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PregnantBuildController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PregnantBuildController.java @@ -126,7 +126,7 @@ public class PregnantBuildController extends BaseController{ return bookbuildingFacade.updatePregnantByIdV2(param.getId(), param, param.getUserId(), false); } - return bookbuildingFacade.addPregnantBookbuilding(param, Integer.parseInt(param.getBookbuildingDoctor()), false); + return bookbuildingFacade.addPregnantBookbuildingV2(param, Integer.parseInt(param.getBookbuildingDoctor()), false); } //测试 @RequestMapping(method = RequestMethod.POST, value = "/testv2url") diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java index 2811e10..3d6644d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java @@ -51,7 +51,9 @@ import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; import java.io.OutputStream; +import java.sql.*; import java.util.*; +import java.util.Date; /** * @@ -716,19 +718,16 @@ public class BookbuildingFacade { private void syncDataToV2(final Patients patients, String id, Integer userId){ try { Thread syncThread = new Thread(new Runnable() { - //ExecutorService executor = Executors.newSingleThreadExecutor(); - //executor.execute(new Runnable() { @Override public void run() { RestTemplate restTemplate = new RestTemplate(); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); JSONObject jsonObject = getQueryParam(patients); - String result = restTemplate.postForObject(syncToV2Url + "/testv2url", jsonObject, String.class); + String result = restTemplate.postForObject(syncToV2Url + "/v3/bookbuilding/savaOrUpdate", jsonObject, String.class); logger.info("建档数据同步到2.0系统,返回结果: {}", result); } }); - //executor.shutdown(); syncThread.start(); }catch (Exception e){ e.printStackTrace(); @@ -782,6 +781,7 @@ public class BookbuildingFacade { jsonObject.put("P_HUSBANDRRSTREET", patients.getHstreetRegisterId());//丈夫户口所在地 街道 return jsonObject; } + /** * 创建孕妇建档推送消息 */ @@ -2311,10 +2311,23 @@ public class BookbuildingFacade { * @param b 是否同步数据 * @return BaseResponse */ - public BaseResponse createOrUpdateYunBuildV2(SyncV2YunBookbuildingRequest param, Integer userId, boolean b) { - // TODO 2019/6/5 15:01 dongqing 数据的效验,整理 + public BaseResponse addPregnantBookbuildingV2(SyncV2YunBookbuildingRequest param, Integer userId, boolean b) { + YunBookbuildingAddRequest request = param; + YunBookbuildingAddRequest addRequest = getYunBookbuildingAddRequest(request); + SyncV2YunBookbuildingRequest paramRequest = (SyncV2YunBookbuildingRequest) addRequest; + return addPregnantBookbuilding(paramRequest, userId, b); + } + + /** + * 数据封装 + * + * @param param + * @return + */ + private YunBookbuildingAddRequest getYunBookbuildingAddRequest( YunBookbuildingAddRequest param) { + // TODO 2019/6/7 14:07 dongqing 修改 - return createOrUpdateYunBuild(param, userId, b); + return param; } /** @@ -2323,18 +2336,153 @@ public class BookbuildingFacade { * @param param 请求参数 * @return BaseResponse */ - public BaseResponse saveByV2(SyncV2HistoryRequest param) { - // TODO 2019/6/5 15:01 dongqing 数据的效验,整理 - RestTemplate restTemplate = new RestTemplate(); - HttpHeaders headers = new HttpHeaders(); - headers.setContentType(MediaType.APPLICATION_JSON); - String startTime = param.getStartTime(); - String endTime = param.getEndTime(); - // TODO 2019/6/5 15:39 dongqing 分批次请求保存 + public BaseResponse saveByV2(SyncV2HistoryRequest param) { + + + // TODO 2019/6/5 15:01 dongqing 数据的效验,整理 + RestTemplate restTemplate = new RestTemplate(); + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); + String startTime = param.getStartTime(); + String endTime = param.getEndTime(); + // TODO 2019/6/5 15:39 dongqing 分批次请求保存 + + Connection connection = null; + try { + connection = getConnection(); + String sql = ""; + PreparedStatement statement = connection.prepareStatement(sql); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + String id = resultSet.getString("id"); + String name = resultSet.getString("stu_name"); + String gender = resultSet.getString("gender"); + String age = resultSet.getString("age"); + String address = resultSet.getString("address"); + } + }catch (Exception e){ + + }finally { + if (connection != null){ + try { + connection.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + } + + // 孕妇体验类型 + param.setExpType(-1); + // 服务信息 + param.setSerInfos(new ArrayList>()); + // 证件类型 + param.setPregnantCertificateTypeId(null); + // 居住地 + param.setPregnantCensusProvinceId(null); + param.setPregnantCensusCityId(null); + param.setPregnantCensusCityId(null); + param.setPregnantCensusStreetId(null); + + // 国籍 + param.setPregnantCountryId(null); + // 丈夫国籍 + param.setHusbandCountryId(null); + // 丈夫 证件类型 + param.setHusbandCertificateTypeId(null); + // 民族 + param.setPregnantNationId(null); + // 丈夫民族 + param.setHusbandNationId(null); + // 建档医生 + param.setBookbuildingDoctor(null); + // 孕妇证件号 + param.setPregnantCertificateNum(null); + // 孕妇民族 + param.setPregnantName(null); + // 孕妇手机号 + param.setPregnantPhone(null); + + param.setPregnantCensusAddr("这是居住地"); + + param.setPregnantLiveProvinceId(null); + param.setPregnantLiveCityId(null); + param.setPregnantLiveAreaId(null); + param.setPregnantLiveStreetId(null); + param.setPregnantLiveAddr("户籍地址"); + + param.setChildbirthProvinceId(null); + param.setChildbirthCityId(null); + param.setChildbirthAreaId(null); + param.setChildbirthStreetId(null); + param.setChildExtAddrs(new ArrayList()); + param.setChildbirthAddr("产后 休养地"); + + param.setHusbandName("产后大幅度"); + // 丈夫证件号 + param.setHusbandCertificateNum(null); + // 丈夫生日 + param.setHusbandBirth(null); + + // 丈夫户籍地址 + param.setHusbandProvinceRegisterId(null); + param.setHusbandCityRegisterId(null); + param.setHusbandAreaRegisterId(null); + param.setHusbandStreetRegisterId(null); + param.setHusbandAddressRegister(null); + + // 就诊卡号 + param.setVcCardNo(null); + // 乡镇卫生机构id + param.setTownOrgId(null); + // 孕妇生日 + param.setBirthday(null); + // 末次月经 + param.setLastMenstrualPeriod(null); + // 预产期 + param.setDueDate(null); + // 建档日期 + param.setBookbuildingDate(null); + // 医院Id + param.setHospitalId(null); + // 服务状态 + param.setServiceStatus(null); + param.setServiceType(null); + JSONObject jsonObject = new JSONObject(); - String result = restTemplate.postForObject(syncToV2Url + "/wx/babyMeasureInfo/saveOrUpdate", jsonObject, String.class); + String result = restTemplate.postForObject(syncToV2Url + "/wx/babyMeasureInfo/saveOrUpdate", jsonObject, String.class); + + + return null; } + + private static Connection getConnection() { + Connection connection; + try { + Class.forName("oracle.jdbc.OracleDriver"); + connection = DriverManager.getConnection("jdbc:oracle:thin:@121.17.120.149:1521:orcl", "LYMS_HENGSHUI_ZS_TEST44", "LYMS_HENGSHUI_ZS_TEST44"); + System.out.println("成功连接数据库"); + } catch (ClassNotFoundException | SQLException e) { + throw new RuntimeException("class not find !", e); + } + + return connection; + } + + public static void main(String[] args) throws SQLException { + Connection connection = getConnection(); + PreparedStatement preparedStatement = connection.prepareStatement("select * from MOMMY_PATIENT"); + ResultSet resultSet = preparedStatement.executeQuery(); + ResultSetMetaData metaData = resultSet.getMetaData(); + int i=1; + while (resultSet.next()){ + String tableName = metaData.getColumnName(++i); + System.out.println(tableName); + // System.out.println(resultSet.getString(tableName)); + } + + } } \ No newline at end of file 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 9d70de5..a15a542 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 @@ -1981,6 +1981,84 @@ public class MatDeliverFacade { boolean isScope = DateUtil.isBetween(resultDate, DateUtil.addDay(new Date(), -29), new Date()); matdeliverFollowListResult.setFollowStage(isScope ? 1 : 2); } + + // 需求:现住址或者产后休养地址是衡水市桃城区的, + // 添加字段:分娩日期、胎次、分娩方式、分娩孕周、高危因素、户籍地址、现住址、产后休养地址 + Patients patient = patientsService.findOnePatientById(deliverModel.getParentId()); + boolean isTaocheng = false; + if (patient != null) { + /* String cityId = organization.getCityId(); + String areaId = organization.getAreaId();*/ + + // 戶籍地址 + String address = patient.getAddress(); + String provinceId = patient.getProvinceId(); + String cityId = patient.getCityId(); + String areaId = patient.getAreaId(); + String streetId = patient.getStreetId(); + + // 产后休养地 + String addressPostRest = patient.getAddressPostRest(); + String provincePostRestId = patient.getProvincePostRestId(); + String cityPostRestId = patient.getCityPostRestId(); + String areaPostRestId = patient.getAreaPostRestId(); + String streetPostRestId = patient.getStreetPostRestId(); + + // 居住地 + String addressRegister = patient.getAddressRegister(); + String provinceRegisterId = patient.getProvinceRegisterId(); + String cityRegisterId = patient.getCityRegisterId(); + String areaRegisterId = patient.getAreaRegisterId(); + String streetRegisterId = patient.getStreetRegisterId(); + + // 修养地和居住地是否为衡水市桃城区的 + boolean existByPostRest = "12".equals(cityPostRestId) && "160".equals(areaPostRestId); + boolean existByRegister = "12".equals(cityRegisterId) && "160".equals(areaRegisterId); + if (existByPostRest || existByRegister) { + isTaocheng = true; + matdeliverFollowListResult.setDeliverTimeStr(deliverModel.getDueDate()); + matdeliverFollowListResult.setTaiSize(deliverModel.getTireNumber()); + matdeliverFollowListResult.setDeliveryTypeStr(deliverModel.getDeliveryMode()); + matdeliverFollowListResult.setDeliveryWeek(deliverModel.getDueWeek()); + List> list = new ArrayList<>(); + List riskFactorId = patient.getRiskFactorId(); + if (CollectionUtils.isNotEmpty(riskFactorId)) { + for (String id : riskFactorId) { + HashMap hashMap = new HashMap<>(16); + BasicConfig config = basicConfigService.getOneBasicConfigById(id); + hashMap.put("id", id); + hashMap.put("bean",config); + list.add(hashMap); + + } + } + matdeliverFollowListResult.setHighRiskFactors(list); + + // 户籍 + String province = getAddressNameById(provinceId); + String city = getAddressNameById(cityId); + String area = getAddressNameById(areaId); + String street = getAddressNameById(streetId); + matdeliverFollowListResult.setHujiAddress(province + city + area + street + address); + + // 居住地 + String provinceRegister = getAddressNameById(provinceRegisterId); + String cityRegister = getAddressNameById(cityRegisterId); + String areaRegister = getAddressNameById(areaRegisterId); + String streetRegister = getAddressNameById(streetRegisterId); + matdeliverFollowListResult.setCurrentAddress(provinceRegister + cityRegister + areaRegister + streetRegister + addressRegister); + + // 产后休养地 + String provincePostRest = getAddressNameById(provincePostRestId); + String cityPostRest = getAddressNameById(cityPostRestId); + String areaPostRest = getAddressNameById(areaPostRestId); + String streetPostRest = getAddressNameById(streetPostRestId); + matdeliverFollowListResult.setPostpartumAddress(provincePostRest + cityPostRest + areaPostRest + streetPostRest + addressPostRest); + } + } + + matdeliverFollowListResult.setTaoCheng(isTaocheng); + matdeliverFollowListResults.add(matdeliverFollowListResult); } listResponse.setPageInfo(matDeliverQuery.getPageInfo()); @@ -1988,7 +2066,19 @@ public class MatDeliverFacade { return listResponse; } - + /** + * 获取name 根据id + * + * @param id + * @return + */ + public String getAddressNameById(String id) { + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(id)) { + BasicConfig oneBasicConfigById = basicConfigService.getOneBasicConfigById(id); + return oneBasicConfigById.getName(); + } + return ""; + } public ChildbirthManagerResult childbirthManager(ChildbirthManagerRequest childbirthManagerRequest) { ChildbirthManagerResult childbirthManagerResult = new ChildbirthManagerResult(); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SyncV2HistoryRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SyncV2HistoryRequest.java index efe250d..1a89190 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SyncV2HistoryRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SyncV2HistoryRequest.java @@ -7,7 +7,7 @@ package com.lyms.platform.operate.web.request; * @Date 15:23 2019/6/5 */ -public class SyncV2HistoryRequest { +public class SyncV2HistoryRequest extends YunBookbuildingAddRequest{ /** * 开始时间 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/MatdeliverFollowListResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/MatdeliverFollowListResult.java index 703acac..967c202 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/MatdeliverFollowListResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/MatdeliverFollowListResult.java @@ -1,5 +1,8 @@ package com.lyms.platform.operate.web.result; +import java.util.List; +import java.util.Map; + /** * @auther yangfei * @createTime 2017年11月21日 19时56分 @@ -97,6 +100,123 @@ public class MatdeliverFollowListResult { */ private Integer followStage; + /** + * 是否为桃城区 + */ + private boolean isTaoCheng; + + /** + * 分娩日期 + */ + private String deliverTimeStr; + + /** + * 胎次、分娩方式、分娩孕周、高危因素、户籍地址、现住址、产后休养地址8项。 + */ + private Integer taiSize; + + /** + * 分娩方式 + */ + private String deliveryTypeStr; + + /** + * 分娩孕周 + */ + private String deliveryWeek; + + /** + * 高危因素 + */ + private List> highRiskFactors; + + /** + * 户籍地址 + */ + private String hujiAddress; + + /** + * 当前住址 + */ + private String currentAddress; + + /** + * 产后休养地址 + */ + private String postpartumAddress; + + public boolean isTaoCheng() { + return isTaoCheng; + } + + public void setTaoCheng(boolean taoCheng) { + isTaoCheng = taoCheng; + } + + public String getDeliverTimeStr() { + return deliverTimeStr; + } + + public void setDeliverTimeStr(String deliverTimeStr) { + this.deliverTimeStr = deliverTimeStr; + } + + public Integer getTaiSize() { + return taiSize; + } + + public void setTaiSize(Integer taiSize) { + this.taiSize = taiSize; + } + + public String getDeliveryTypeStr() { + return deliveryTypeStr; + } + + public void setDeliveryTypeStr(String deliveryTypeStr) { + this.deliveryTypeStr = deliveryTypeStr; + } + + public String getDeliveryWeek() { + return deliveryWeek; + } + + public void setDeliveryWeek(String deliveryWeek) { + this.deliveryWeek = deliveryWeek; + } + + public List> getHighRiskFactors() { + return highRiskFactors; + } + + public void setHighRiskFactors(List> highRiskFactors) { + this.highRiskFactors = highRiskFactors; + } + + public String getHujiAddress() { + return hujiAddress; + } + + public void setHujiAddress(String hujiAddress) { + this.hujiAddress = hujiAddress; + } + + public String getCurrentAddress() { + return currentAddress; + } + + public void setCurrentAddress(String currentAddress) { + this.currentAddress = currentAddress; + } + + public String getPostpartumAddress() { + return postpartumAddress; + } + + public void setPostpartumAddress(String postpartumAddress) { + this.postpartumAddress = postpartumAddress; + } + public Integer getFollowStage() { return followStage; }