Commit 082f08627da3b3586f00110652388cc62a902705

Authored by jiangjiazhi

Merge remote-tracking branch 'origin/master'

Showing 13 changed files

platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java View file @ 082f086
... ... @@ -26,7 +26,7 @@
26 26 public BaseResponse saveLisData(final List<LisReportModel> lisList) {
27 27  
28 28 try {
29   - //final List<LisReportModel> lisList =JsonUtil.jkstr2List(lisData, new TypeReference<List<LisReportModel>>() {});
  29 +// final List<LisReportModel> lisList =JsonUtil.jkstr2List(lisData, new TypeReference<List<LisReportModel>>() {});
30 30 System.out.println("saveLis data size = "+ lisList.size());
31 31  
32 32 if (CollectionUtils.isNotEmpty(lisList))
platform-common/src/main/java/com/lyms/platform/common/dao/BaseMongoDAOImpl.java View file @ 082f086
... ... @@ -156,7 +156,7 @@
156 156 public static String mongo_crypto_key = Config.getItem("mongo_crypto_key", "0");
157 157 public static String mongo_sync = Config.getItem("mongo_sync", "0");
158 158 public void addSyncData(String action, Object data, String id) {
159   - if (!(data instanceof Serializable) ||"LisReport".equals(data.getClass().getSimpleName())) {
  159 + if (!(data instanceof Serializable) ||"LisReport".equals(data.getClass().getSimpleName()) || "SyncDataModel".equals(data.getClass().getSimpleName())) {
160 160 if(!"LisReport".equals(data.getClass().getSimpleName())){
161 161 ExceptionUtils.catchException("NotSerializable for class :"+data.getClass().getSimpleName() );
162 162 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LisController.java View file @ 082f086
... ... @@ -4,7 +4,9 @@
4 4 import com.lyms.platform.common.base.BaseController;
5 5 import com.lyms.platform.common.base.LoginContext;
6 6 import com.lyms.platform.common.result.BaseResponse;
  7 +import com.lyms.platform.common.utils.DateUtil;
7 8 import com.lyms.platform.operate.web.facade.LisFacade;
  9 +import com.lyms.platform.operate.web.request.LisReportModelRequest;
8 10 import com.lyms.platform.permission.model.LisReportModel;
9 11 import com.lyms.platform.permission.service.LisService;
10 12 import org.springframework.beans.factory.annotation.Autowired;
... ... @@ -12,6 +14,7 @@
12 14 import org.springframework.web.bind.annotation.*;
13 15  
14 16 import javax.servlet.http.HttpServletRequest;
  17 +import java.util.ArrayList;
15 18 import java.util.List;
16 19  
17 20 /**
18 21  
... ... @@ -35,9 +38,43 @@
35 38 */
36 39 @RequestMapping(method = RequestMethod.POST, value = "/saveLisData")
37 40 @ResponseBody
38   - public BaseResponse saveLisData(@RequestBody List<LisReportModel> models,
  41 + public BaseResponse saveLisData(@RequestBody List<LisReportModelRequest> models,
39 42 HttpServletRequest httpServletRequest) {
40   - return lisService.saveLisData(models);
  43 +
  44 +
  45 + List<LisReportModel> list = new ArrayList<>();
  46 + if (models != null && models.size() > 0)
  47 + {
  48 + for(LisReportModelRequest lisRequest : models)
  49 + {
  50 + LisReportModel model = new LisReportModel();
  51 + model.setItems(lisRequest.getItems());
  52 + model.setId(lisRequest.getId());
  53 + model.setVcCardNo(lisRequest.getVcCardNo());
  54 + model.setHospitalId(lisRequest.getHospitalId());
  55 + model.setLisId(lisRequest.getLisId());
  56 + model.setAge(lisRequest.getAge());
  57 + model.setName(lisRequest.getName());
  58 + model.setBhnum(lisRequest.getBhnum());
  59 + model.setPhone(lisRequest.getPhone());
  60 + model.setSex(lisRequest.getSex());
  61 + model.setTitle(lisRequest.getTitle());
  62 + model.setType(lisRequest.getType());
  63 + model.setChecker(lisRequest.getChecker());
  64 + model.setApplyDept(lisRequest.getApplyDept());
  65 + model.setApplyDoctor(lisRequest.getApplyDoctor());
  66 + model.setApplyTime(DateUtil.parseYMDHMS(lisRequest.getApplyTime()));
  67 + model.setPublishTime(DateUtil.parseYMDHMS(lisRequest.getPublishTime()));
  68 + model.setModified(DateUtil.parseYMDHMS(lisRequest.getModified()));
  69 + model.setCreated(DateUtil.parseYMDHMS(lisRequest.getCreated()));
  70 + model.setCheckTime(DateUtil.parseYMDHMS(lisRequest.getCheckTime()));
  71 +
  72 + list.add(model);
  73 +
  74 + }
  75 + }
  76 +
  77 + return lisService.saveLisData(list);
41 78 }
42 79  
43 80  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LisCrisisItemController.java View file @ 082f086
... ... @@ -108,6 +108,7 @@
108 108 map.put("week", data.getWeek() + "周");
109 109 }
110 110 map.put("pId", data.getPid());
  111 + map.put("pid", data.getPid());
111 112 map.put("patientId", data.getPatientId());
112 113  
113 114 list.add(map);
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java View file @ 082f086
  1 +package com.lyms.platform.operate.web.controller;
  2 +
  3 +import com.lyms.platform.common.base.BaseController;
  4 +import com.lyms.platform.common.result.BaseObjectResponse;
  5 +import com.lyms.platform.operate.web.service.IReportService;
  6 +import org.springframework.beans.factory.annotation.Autowired;
  7 +import org.springframework.stereotype.Controller;
  8 +import org.springframework.web.bind.annotation.RequestMapping;
  9 +import org.springframework.web.bind.annotation.RequestMethod;
  10 +import org.springframework.web.bind.annotation.ResponseBody;
  11 +
  12 +import java.util.Date;
  13 +
  14 +/**
  15 + * @Author: litao
  16 + * @Date: 2017/4/19 0019 17:57
  17 + * @Version: V1.0
  18 + */
  19 +@Controller
  20 +@RequestMapping("/report")
  21 +public class ReportController extends BaseController {
  22 +
  23 + @Autowired
  24 + private IReportService reportService;
  25 +
  26 + /**
  27 + * 产检次数分布统计
  28 + * @param startDate 建档开始时间
  29 + * @param endDate 建档结束时间
  30 + * @param startWeek 孕周开始时间
  31 + * @param endWeek 孕周结束时间
  32 + * @param childBirth 统计范围 1=孕妇 3=产妇 不传=全部
  33 + * @return
  34 + */
  35 + @RequestMapping(method = RequestMethod.GET,value = "/getCheckStatistics")
  36 + @ResponseBody
  37 + public BaseObjectResponse getCheckStatistics(Date startDate, Date endDate,
  38 + Integer startWeek, Integer endWeek, Integer childBirth) {
  39 + return reportService.areaCountFacade(startDate, endDate, startWeek, endWeek, childBirth);
  40 + }
  41 +}
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java View file @ 082f086
... ... @@ -591,6 +591,7 @@
591 591 smsList.setMessages(messages);
592 592 //调用发送接口
593 593  
  594 + ExceptionUtils.catchException("patient build msg = "+ messages);
594 595 if ("4".equals(HIS_VERSION))
595 596 {
596 597 //秦皇岛
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/LisReportModelRequest.java View file @ 082f086
  1 +package com.lyms.platform.operate.web.request;
  2 +
  3 +import com.lyms.platform.permission.model.LisReportItemModel;
  4 +
  5 +import java.util.List;
  6 +
  7 +/**
  8 + * Created by Administrator on 2017-04-19.
  9 + */
  10 +public class LisReportModelRequest {
  11 +
  12 + private Integer id;
  13 + // 检验报告ID
  14 + private String lisId;
  15 + // 检验报告名称
  16 + private String title;
  17 + // 检验报告类型
  18 + private String type;
  19 + // 就诊卡号
  20 + private String vcCardNo;
  21 + // 患者姓名
  22 + private String name;
  23 + // 住院号
  24 + private String bhnum;
  25 + // 患者年龄
  26 + private String age;
  27 + // 患者性别
  28 + private String sex;
  29 + // 送检日期
  30 + private String applyTime;
  31 + // 检验时间
  32 + private String checkTime;
  33 + // 报告发布时间
  34 + private String publishTime;
  35 + // 送检医生
  36 + private String applyDoctor;
  37 + // 送检科室
  38 + private String applyDept;
  39 + // 检验员
  40 + private String checker;
  41 + // 最后修改时间
  42 + private String modified;
  43 + // 创建时间
  44 + private String created;
  45 + // 医院id
  46 + private String hospitalId;
  47 +
  48 + //联系方式
  49 + private String phone;
  50 +
  51 + //检验项集合
  52 + private List<LisReportItemModel> items;
  53 +
  54 + public Integer getId() {
  55 + return id;
  56 + }
  57 +
  58 + public void setId(Integer id) {
  59 + this.id = id;
  60 + }
  61 +
  62 + public String getLisId() {
  63 + return lisId;
  64 + }
  65 +
  66 + public void setLisId(String lisId) {
  67 + this.lisId = lisId;
  68 + }
  69 +
  70 + public String getTitle() {
  71 + return title;
  72 + }
  73 +
  74 + public void setTitle(String title) {
  75 + this.title = title;
  76 + }
  77 +
  78 + public String getType() {
  79 + return type;
  80 + }
  81 +
  82 + public void setType(String type) {
  83 + this.type = type;
  84 + }
  85 +
  86 + public String getVcCardNo() {
  87 + return vcCardNo;
  88 + }
  89 +
  90 + public void setVcCardNo(String vcCardNo) {
  91 + this.vcCardNo = vcCardNo;
  92 + }
  93 +
  94 + public String getName() {
  95 + return name;
  96 + }
  97 +
  98 + public void setName(String name) {
  99 + this.name = name;
  100 + }
  101 +
  102 + public String getBhnum() {
  103 + return bhnum;
  104 + }
  105 +
  106 + public void setBhnum(String bhnum) {
  107 + this.bhnum = bhnum;
  108 + }
  109 +
  110 + public String getAge() {
  111 + return age;
  112 + }
  113 +
  114 + public void setAge(String age) {
  115 + this.age = age;
  116 + }
  117 +
  118 + public String getSex() {
  119 + return sex;
  120 + }
  121 +
  122 + public void setSex(String sex) {
  123 + this.sex = sex;
  124 + }
  125 +
  126 + public String getApplyTime() {
  127 + return applyTime;
  128 + }
  129 +
  130 + public void setApplyTime(String applyTime) {
  131 + this.applyTime = applyTime;
  132 + }
  133 +
  134 + public String getCheckTime() {
  135 + return checkTime;
  136 + }
  137 +
  138 + public void setCheckTime(String checkTime) {
  139 + this.checkTime = checkTime;
  140 + }
  141 +
  142 + public String getPublishTime() {
  143 + return publishTime;
  144 + }
  145 +
  146 + public void setPublishTime(String publishTime) {
  147 + this.publishTime = publishTime;
  148 + }
  149 +
  150 + public String getApplyDoctor() {
  151 + return applyDoctor;
  152 + }
  153 +
  154 + public void setApplyDoctor(String applyDoctor) {
  155 + this.applyDoctor = applyDoctor;
  156 + }
  157 +
  158 + public String getApplyDept() {
  159 + return applyDept;
  160 + }
  161 +
  162 + public void setApplyDept(String applyDept) {
  163 + this.applyDept = applyDept;
  164 + }
  165 +
  166 + public String getChecker() {
  167 + return checker;
  168 + }
  169 +
  170 + public void setChecker(String checker) {
  171 + this.checker = checker;
  172 + }
  173 +
  174 + public String getModified() {
  175 + return modified;
  176 + }
  177 +
  178 + public void setModified(String modified) {
  179 + this.modified = modified;
  180 + }
  181 +
  182 + public String getCreated() {
  183 + return created;
  184 + }
  185 +
  186 + public void setCreated(String created) {
  187 + this.created = created;
  188 + }
  189 +
  190 + public String getHospitalId() {
  191 + return hospitalId;
  192 + }
  193 +
  194 + public void setHospitalId(String hospitalId) {
  195 + this.hospitalId = hospitalId;
  196 + }
  197 +
  198 + public String getPhone() {
  199 + return phone;
  200 + }
  201 +
  202 + public void setPhone(String phone) {
  203 + this.phone = phone;
  204 + }
  205 +
  206 + public List<LisReportItemModel> getItems() {
  207 + return items;
  208 + }
  209 +
  210 + public void setItems(List<LisReportItemModel> items) {
  211 + this.items = items;
  212 + }
  213 +}
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java View file @ 082f086
  1 +package com.lyms.platform.operate.web.service;
  2 +
  3 +import com.lyms.platform.common.result.BaseObjectResponse;
  4 +
  5 +import java.util.Date;
  6 +
  7 +/**
  8 + * 报表service
  9 + * @Author: litao
  10 + * @Date: 2017/4/19 0019 17:53
  11 + * @Version: V1.0
  12 + */
  13 +public interface IReportService {
  14 +
  15 + /**
  16 + * 产检次数分布统计
  17 + * @param startDate
  18 + * @param endDate
  19 + * @param startWeek
  20 + * @param endWeek
  21 + * @param childBirth
  22 + * @return
  23 + */
  24 + BaseObjectResponse areaCountFacade(Date startDate, Date endDate, Integer startWeek, Integer endWeek, Integer childBirth);
  25 +}
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/SyncDataTaskService.java View file @ 082f086
... ... @@ -224,7 +224,7 @@
224 224 if (ids.length() > 0) {
225 225 Map<String,String> params = new HashMap<String, String>();
226 226 params.put("ids", ids.toString());
227   - String result = HttpClientUtil.doPost("https://area-qhd-api.healthbaby.com.cn:18019/updateSyncData", params, "utf-8");
  227 + String result = HttpClientUtil.doPost("https://area-dz-api.healthbaby.com.cn:12356/updateSyncData", params, "utf-8");
228 228 System.out.println("exc result = "+ result);
229 229 }
230 230 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java View file @ 082f086
  1 +package com.lyms.platform.operate.web.service.impl;
  2 +
  3 +import com.lyms.platform.common.result.BaseObjectResponse;
  4 +import com.lyms.platform.operate.web.service.IReportService;
  5 +import com.lyms.platform.operate.web.utils.SystemDataSource;
  6 +import org.apache.commons.dbutils.QueryRunner;
  7 +import org.apache.commons.dbutils.handlers.MapListHandler;
  8 +import org.springframework.beans.factory.annotation.Autowired;
  9 +import org.springframework.stereotype.Service;
  10 +import scala.collection.mutable.StringBuilder;
  11 +
  12 +import java.sql.SQLException;
  13 +import java.util.Date;
  14 +import java.util.List;
  15 +import java.util.Map;
  16 +
  17 +/**
  18 + * @Author: litao
  19 + * @Date: 2017/4/19 0019 17:54
  20 + * @Version: V1.0
  21 + */
  22 +@Service
  23 +public class ReportServiceImpl implements IReportService {
  24 +
  25 + @Autowired
  26 + private SystemDataSource db;
  27 +
  28 + @Override
  29 + public BaseObjectResponse areaCountFacade(Date startDate, Date endDate, Integer startWeek, Integer endWeek, Integer childBirth) {
  30 + BaseObjectResponse rest = new BaseObjectResponse();
  31 + QueryRunner qr = new QueryRunner(db.getDataSource());
  32 + try {
  33 + List<Map<String, Object>> mapList = qr.query(getAreaCountFacadeSql(startDate, endDate, startWeek, endWeek, childBirth), new MapListHandler());
  34 + rest.setData(mapList);
  35 + } catch (SQLException e) {
  36 + e.printStackTrace();
  37 + }
  38 + return rest;
  39 + }
  40 +
  41 + private String getAreaCountFacadeSql(Date startDate, Date endDate, Integer startWeek, Integer endWeek, Integer childBirth) {
  42 + StringBuilder sql = new StringBuilder();
  43 + sql.append("SELECT B.EXAMINE_HISTORY_NUM, ")
  44 + .append("COUNT(B.EXAMINE_ID) AS EXAMINE_CNT ")
  45 + .append("FROM ODS_F_GRAVIDA_RECORD A, ")
  46 + .append("ODS_F_EXAMINE_HISTORY_ASC B, ")
  47 + .append("ODS_D_HOSPITAL C ")
  48 + .append("WHERE A.RECORD_ID=B.RECORD_ID ")
  49 + .append("AND A.HOSPITAL_NO=C.HOSPITAL_NO ")
  50 + .append("AND A.HOSPITAL_NO=B.HOSPITAL_NO ")
  51 + .append("GROUP BY B.EXAMINE_HISTORY_NUM");
  52 + return sql.toString();
  53 + }
  54 +}
platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/SystemDataSource.java View file @ 082f086
  1 +package com.lyms.platform.operate.web.utils;
  2 +
  3 +import com.alibaba.druid.pool.DruidDataSource;
  4 +import org.slf4j.Logger;
  5 +import org.slf4j.LoggerFactory;
  6 +import org.springframework.beans.factory.annotation.Value;
  7 +import org.springframework.stereotype.Component;
  8 +
  9 +import javax.annotation.PostConstruct;
  10 +import javax.sql.DataSource;
  11 +
  12 +/**
  13 + * @Author: litao
  14 + * @Date: 2017/4/19 0019 15:23
  15 + * @Version: V1.0
  16 + */
  17 +@Component
  18 +public class SystemDataSource {
  19 +
  20 + private Logger logger = LoggerFactory.getLogger(SystemDataSource.class);
  21 +
  22 + @Value("${his_version}")
  23 + private String version;
  24 +
  25 + @Value("${area_count_url}")
  26 + private String areaCountUrl;
  27 +
  28 + @Value("${jdbc.${his_version}.driver}")
  29 + private String driver;
  30 +
  31 + @Value("${jdbc.${his_version}.url}")
  32 + private String url;
  33 +
  34 + @Value("${jdbc.${his_version}.username}")
  35 + private String username;
  36 +
  37 + @Value("${jdbc.${his_version}.password}")
  38 + private String password;
  39 +
  40 + private DruidDataSource dataSource;
  41 +
  42 + @PostConstruct
  43 + public void init() throws Exception{
  44 + Class.forName(driver);
  45 + dataSource = new DruidDataSource();
  46 + dataSource.setPassword(password);
  47 + dataSource.setUsername(username);
  48 + dataSource.setDriverClassName(driver);
  49 + dataSource.setUrl(url);
  50 +
  51 + dataSource.setMaxActive(30);
  52 + dataSource.setInitialSize(1);
  53 + dataSource.setMaxWait(60000);
  54 + dataSource.setMinIdle(1);
  55 + dataSource.setTimeBetweenEvictionRunsMillis(3000);
  56 + dataSource.setMinEvictableIdleTimeMillis(300000);
  57 + dataSource.setValidationQuery("SELECT 1 FROM DUAL");
  58 + dataSource.setTestWhileIdle(true);
  59 + dataSource.setTestOnBorrow(false);
  60 + dataSource.setTestOnReturn(false);
  61 + dataSource.setFilters("stat");
  62 +
  63 + logger.info("init datasource success");
  64 + }
  65 +
  66 + public DataSource getDataSource() {
  67 + return dataSource;
  68 + }
  69 +}
platform-operate-api/src/main/resources/config.properties View file @ 082f086
... ... @@ -26,4 +26,40 @@
26 26  
27 27 #区域统计地址
28 28 area_count_url=119.90.57.26:1522
  29 +
  30 +#数据源相关配置
  31 +jdbc.0.driver=oracle.jdbc.driver.OracleDriver
  32 +jdbc.0.url=jdbc:oracle:thin:@119.90.57.26:1522:orcl
  33 +jdbc.0.username=LYMS_ODS
  34 +jdbc.0.password=Welcome1
  35 +
  36 +jdbc.1.driver=oracle.jdbc.driver.OracleDriver
  37 +jdbc.1.url=jdbc:oracle:thin:@119.90.57.26:1522:orcl
  38 +jdbc.1.username=LYMS_ODS
  39 +jdbc.1.password=Welcome1
  40 +
  41 +jdbc.2.driver=oracle.jdbc.driver.OracleDriver
  42 +jdbc.2.url=jdbc:oracle:thin:@119.90.57.26:1522:orcl
  43 +jdbc.2.username=LYMS_ODS
  44 +jdbc.2.password=Welcome1
  45 +
  46 +jdbc.3.driver=oracle.jdbc.driver.OracleDriver
  47 +jdbc.3.url=jdbc:oracle:thin:@119.90.57.26:1522:orcl
  48 +jdbc.3.username=LYMS_ODS
  49 +jdbc.3.password=Welcome1
  50 +
  51 +jdbc.4.driver=oracle.jdbc.driver.OracleDriver
  52 +jdbc.4.url=jdbc:oracle:thin:@119.90.57.26:1522:orcl
  53 +jdbc.4.username=LYMS_ODS
  54 +jdbc.4.password=Welcome1
  55 +
  56 +jdbc.5.driver=oracle.jdbc.driver.OracleDriver
  57 +jdbc.5.url=jdbc:oracle:thin:@119.90.57.26:1522:orcl
  58 +jdbc.5.username=LYMS_ODS
  59 +jdbc.5.password=Welcome1
  60 +
  61 +jdbc.6.driver=oracle.jdbc.driver.OracleDriver
  62 +jdbc.6.url=jdbc:oracle:thin:@119.90.57.26:1522:orcl
  63 +jdbc.6.username=LYMS_ODS
  64 +jdbc.6.password=Welcome1
platform-operate-api/src/main/resources/spring/applicationContext_biz_patient.xml View file @ 082f086
... ... @@ -16,6 +16,7 @@
16 16 <property name="locations">
17 17 <list>
18 18 <value>classpath:database.properties</value>
  19 + <value>classpath:config.properties</value>
19 20 </list>
20 21 </property>
21 22 </bean>