From 4ef9bdcbd18228384ead4e22e94e02c9ee3af19b Mon Sep 17 00:00:00 2001 From: liquanyu Date: Tue, 25 Apr 2017 16:43:46 +0800 Subject: [PATCH] =?UTF-8?q?mysql=E6=95=B0=E6=8D=AE=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../permission/dao/master/MasterLisMapper.java | 7 + .../platform/permission/model/LisReportModel.java | 10 + .../platform/permission/model/LisReportQuery.java | 249 +++++++++++++++++++++ .../platform/permission/service/LisService.java | 5 + .../permission/service/impl/LisServiceImpl.java | 21 +- .../main/resources/mainOrm/master/MasterLis.xml | 88 ++++++-- .../operate/web/controller/LisController.java | 85 ++++--- .../platform/operate/web/facade/LisFacade.java | 57 ++++- .../web/inteceptor/MybatisSqlInterceptor.java | 7 +- 9 files changed, 454 insertions(+), 75 deletions(-) create mode 100644 platform-biz-service/src/main/java/com/lyms/platform/permission/model/LisReportQuery.java diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterLisMapper.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterLisMapper.java index 05a9bd2..ff208e7 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterLisMapper.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterLisMapper.java @@ -2,6 +2,7 @@ package com.lyms.platform.permission.dao.master; import com.lyms.platform.permission.model.LisReportItemModel; import com.lyms.platform.permission.model.LisReportModel; +import com.lyms.platform.permission.model.LisReportQuery; import java.util.List; @@ -19,4 +20,10 @@ public interface MasterLisMapper { List queryLisItemByModel(LisReportItemModel query); List queryListItems(LisReportModel query); + + int queryLisCount(LisReportQuery query); + + List queryLisDataByQuery(LisReportQuery query); + + void updateAppLisStatus(List list); } \ No newline at end of file diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/LisReportModel.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/LisReportModel.java index 4d04efb..c68c16a 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/LisReportModel.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/LisReportModel.java @@ -51,10 +51,20 @@ public class LisReportModel { //检验项集合 private List items; + //数据状态是否被客户端查看过 0未查看 1查看 + private Integer status; //检验明细json private String itemJson; + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + public String getItemJson() { return itemJson; } diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/LisReportQuery.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/LisReportQuery.java new file mode 100644 index 0000000..2c91ce7 --- /dev/null +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/LisReportQuery.java @@ -0,0 +1,249 @@ +package com.lyms.platform.permission.model; + +import com.lyms.platform.common.dao.BaseQuery; + +import java.util.Date; +import java.util.List; + +/** + * @author lqy + * + */ +public class LisReportQuery extends BaseQuery { + + private Integer id; + // 检验报告ID + private String lisId; + // 检验报告名称 + private String title; + // 检验报告类型 + private String type; + // 就诊卡号 + private String vcCardNo; + // 患者姓名 + private String name; + // 住院号 + private String bhnum; + // 患者年龄 + private String age; + // 患者性别 + private String sex; + // 送检日期 + private Date applyTime; + // 检验时间 + private Date checkTime; + // 报告发布时间 + private Date publishTime; + // 送检医生 + private String applyDoctor; + // 送检科室 + private String applyDept; + // 检验员 + private String checker; + // 最后修改时间 + private Date modified; + // 创建时间 + private Date created; + // 医院id + private String hospitalId; + + //联系方式 + private String phone; + + //检验项集合 + private List items; + + //数据状态是否被客户端查看过 0未查看 1查看 + private Integer status; + + //检验明细json + private String itemJson; + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public String getItemJson() { + return itemJson; + } + + public void setItemJson(String itemJson) { + this.itemJson = itemJson; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public List getItems() { + return items; + } + + public void setItems(List items) { + this.items = items; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getLisId() { + return lisId; + } + + public void setLisId(String lisId) { + this.lisId = lisId; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getVcCardNo() { + return vcCardNo; + } + + public void setVcCardNo(String vcCardNo) { + this.vcCardNo = vcCardNo; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getBhnum() { + return bhnum; + } + + public void setBhnum(String bhnum) { + this.bhnum = bhnum; + } + + public String getAge() { + return age; + } + + public void setAge(String age) { + this.age = age; + } + + public String getSex() { + return sex; + } + + public void setSex(String sex) { + this.sex = sex; + } + + public Date getApplyTime() { + return applyTime; + } + + public void setApplyTime(Date applyTime) { + this.applyTime = applyTime; + } + + public Date getCheckTime() { + return checkTime; + } + + public void setCheckTime(Date checkTime) { + this.checkTime = checkTime; + } + + public Date getPublishTime() { + return publishTime; + } + + public void setPublishTime(Date publishTime) { + this.publishTime = publishTime; + } + + public String getApplyDoctor() { + return applyDoctor; + } + + public void setApplyDoctor(String applyDoctor) { + this.applyDoctor = applyDoctor; + } + + public String getApplyDept() { + return applyDept; + } + + public void setApplyDept(String applyDept) { + this.applyDept = applyDept; + } + + public String getChecker() { + return checker; + } + + public void setChecker(String checker) { + this.checker = checker; + } + + public Date getModified() { + return modified; + } + + public void setModified(Date modified) { + this.modified = modified; + } + + public Date getCreated() { + return created; + } + + public void setCreated(Date created) { + this.created = created; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + @Override + public String toString() { + return "LisReportModel [id=" + id + ", lisId=" + lisId + ", title=" + + title + ", type=" + type + ", vcCardNo=" + vcCardNo + + ", name=" + name + ", bhnum=" + bhnum + ", age=" + age + + ", sex=" + sex + ", applyTime=" + applyTime + ", checkTime=" + + checkTime + ", publishTime=" + publishTime + ", applyDoctor=" + + applyDoctor + ", applyDept=" + applyDept + ", checker=" + + checker + ", modified=" + modified + ", created=" + created + + ", hospitalId=" + hospitalId + "]"; + } +} diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/LisService.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/LisService.java index 8c9dd0d..1ac64c5 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/LisService.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/LisService.java @@ -4,6 +4,7 @@ package com.lyms.platform.permission.service; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.permission.model.LisReportItemModel; import com.lyms.platform.permission.model.LisReportModel; +import com.lyms.platform.permission.model.LisReportQuery; import java.util.List; @@ -16,4 +17,8 @@ public interface LisService { List queryLisItemByModel(LisReportItemModel query); List queryListItems(LisReportModel model); + + List queryLisDataByQuery(LisReportQuery query); + + void updateAppLisStatus(List list); } \ No newline at end of file diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java index a4a4763..a9340fe 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java @@ -7,6 +7,7 @@ import com.lyms.platform.permission.DataAccessLayerService; import com.lyms.platform.permission.dao.master.MasterLisMapper; import com.lyms.platform.permission.model.LisReportItemModel; import com.lyms.platform.permission.model.LisReportModel; +import com.lyms.platform.permission.model.LisReportQuery; import com.lyms.platform.permission.service.LisService; import org.apache.commons.collections.CollectionUtils; import org.codehaus.jackson.type.TypeReference; @@ -26,9 +27,7 @@ public class LisServiceImpl extends DataAccessLayerService implements LisService public BaseResponse saveLisData(final List lisList) { try { -// final List lisList =JsonUtil.jkstr2List(lisData, new TypeReference>() {}); System.out.println("saveLis data size = "+ lisList.size()); - if (CollectionUtils.isNotEmpty(lisList)) { new Thread(new Runnable() { @@ -40,11 +39,6 @@ public class LisServiceImpl extends DataAccessLayerService implements LisService if (CollectionUtils.isEmpty(dbLis)) { masterLisMapper.saveLisData(model); -// List items = model.getItems(); -// if (CollectionUtils.isNotEmpty(items)) -// { -// masterLisMapper.saveLisItemsData(items); -// } } } @@ -76,4 +70,17 @@ public class LisServiceImpl extends DataAccessLayerService implements LisService public List queryListItems(LisReportModel query) { return masterLisMapper.queryListItems(query); } + + @Override + public List queryLisDataByQuery(LisReportQuery query) { + if (query.getNeed() != null) { + query.mysqlBuild( masterLisMapper.queryLisCount(query)); + } + return masterLisMapper.queryLisDataByQuery(query); + } + + @Override + public void updateAppLisStatus(List list) { + masterLisMapper.updateAppLisStatus(list); + } } \ No newline at end of file diff --git a/platform-biz-service/src/main/resources/mainOrm/master/MasterLis.xml b/platform-biz-service/src/main/resources/mainOrm/master/MasterLis.xml index b90cb23..d7d07de 100644 --- a/platform-biz-service/src/main/resources/mainOrm/master/MasterLis.xml +++ b/platform-biz-service/src/main/resources/mainOrm/master/MasterLis.xml @@ -184,7 +184,8 @@ - + + @@ -202,17 +203,78 @@ - - - - - - - - - - - - + + + + + + + order by ${sort} + + limit #{offset, jdbcType=INTEGER} , #{limit, jdbcType=INTEGER} + + + + + + + + 1 = 1 + + AND (VCCARDNO=#{vcCardNo} OR PHONE = #{phone}) + + + + AND HOSPITAL_ID=#{hospitalId} + + + + AND STATUS=#{status} + + + + + + + + + + + + UPDATE LIS_REPORT_TBL STATUS = 1 WHERE ID IN + + #{item} + + + \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LisController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LisController.java index 03eb45b..83986ae 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LisController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LisController.java @@ -3,8 +3,11 @@ package com.lyms.platform.operate.web.controller; import com.lyms.platform.common.annotation.TokenRequired; import com.lyms.platform.common.base.BaseController; import com.lyms.platform.common.base.LoginContext; +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.common.utils.ExceptionUtils; import com.lyms.platform.common.utils.JsonUtil; import com.lyms.platform.operate.web.facade.LisFacade; import com.lyms.platform.operate.web.request.LisReportModelRequest; @@ -54,16 +57,10 @@ public class LisController extends BaseController { List items = lisRequest.getItems(); if (CollectionUtils.isNotEmpty(items)) { - System.out.println("====="+items.size()); - System.out.println("====="+JsonUtil.array2JsonString(items)); - model.setItemJson(JsonUtil.array2JsonString(items)); - - - System.out.println(".................." + JsonUtil.array2JsonString(items)); - } + model.setStatus(0); model.setId(lisRequest.getId()); model.setVcCardNo(lisRequest.getVcCardNo()); model.setHospitalId(lisRequest.getHospitalId()); @@ -88,41 +85,6 @@ public class LisController extends BaseController { } } - - - -// List list = new ArrayList<>(); -// if (models != null && models.size() > 0) -// { -// for(LisReportModelRequest lisRequest : models) -// { -// LisReportModel model = new LisReportModel(); -// model.setItems(lisRequest.getItems()); -// model.setId(lisRequest.getId()); -// model.setVcCardNo(lisRequest.getVcCardNo()); -// model.setHospitalId(lisRequest.getHospitalId()); -// model.setLisId(lisRequest.getLisId()); -// model.setAge(lisRequest.getAge()); -// model.setName(lisRequest.getName()); -// model.setBhnum(lisRequest.getBhnum()); -// model.setPhone(lisRequest.getPhone()); -// model.setSex(lisRequest.getSex()); -// model.setTitle(lisRequest.getTitle()); -// model.setType(lisRequest.getType()); -// model.setChecker(lisRequest.getChecker()); -// model.setApplyDept(lisRequest.getApplyDept()); -// model.setApplyDoctor(lisRequest.getApplyDoctor()); -// model.setApplyTime(DateUtil.parseYMDHMS(lisRequest.getApplyTime())); -// model.setPublishTime(DateUtil.parseYMDHMS(lisRequest.getPublishTime())); -// model.setModified(DateUtil.parseYMDHMS(lisRequest.getModified())); -// model.setCreated(DateUtil.parseYMDHMS(lisRequest.getCreated())); -// model.setCheckTime(DateUtil.parseYMDHMS(lisRequest.getCheckTime())); -// -// list.add(model); -// -// } -// } - return lisService.saveLisData(list); } @@ -141,20 +103,51 @@ public class LisController extends BaseController { @RequestParam("sortType") Integer sortType, HttpServletRequest request) { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - return lisFacade.getLisAndRisData(vcCardNo,sortType,loginState.getId()); + return lisFacade.getLisAndRisData(vcCardNo, sortType, loginState.getId()); } /** - * 返回小程序查询个人的lis报告 + * 返回小程序查询个人的lis报告 返回的是列表 * 该接口由app服务器端调用 * @param patientId 院内系统的孕妇的建档id + * @param status 0 未推送 1已推送 不传就查询所有 * @return */ @RequestMapping(method = RequestMethod.GET, value = "/getAppLis") @ResponseBody public BaseResponse getLisAndRisData(@RequestParam("patientId") String patientId, - HttpServletRequest request) { - return lisFacade.getAppLis(patientId,request); + @RequestParam(required = false) Integer page, + @RequestParam(required = false) Integer limit, + @RequestParam(required = false) Integer status, + @RequestHeader("Authorization") String token) { + + if (!"3d19960bf3e81e7d816c4f26051c49ba".equals(token)) + { + ExceptionUtils.catchException("The request token is " + token); + return new BaseResponse().setErrorcode(ErrorCodeConstants.TOKEN_EXPIRE).setErrormsg("Token is error"); + } + + return lisFacade.getAppLisList(patientId, status, page, limit); + } + + /** + * 更新lis为已经推送状态 + * @param ids + * @param token + * @return + */ + @RequestMapping(method = RequestMethod.PUT, value = "/updateAppLisStatus") + @ResponseBody + public BaseResponse updateAppLisStatus(@RequestParam("ids") String ids, + @RequestHeader("Authorization") String token) { + + if (!"3d19960bf3e81e7d816c4f26051c49ba".equals(token)) + { + ExceptionUtils.catchException("The request token is " + token); + return new BaseResponse().setErrorcode(ErrorCodeConstants.TOKEN_EXPIRE).setErrormsg("Token is error"); + } + + return lisFacade.updateAppLisStatus(ids); } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LisFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LisFacade.java index a1ebb40..242fcbc 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LisFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LisFacade.java @@ -16,6 +16,7 @@ import com.lyms.platform.common.utils.SystemConfig; import com.lyms.platform.operate.web.request.*; import com.lyms.platform.operate.web.result.*; import com.lyms.platform.permission.model.*; +import com.lyms.platform.permission.model.LisReportQuery; import com.lyms.platform.permission.service.LisService; import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.permission.service.UsersService; @@ -390,17 +391,57 @@ public class LisFacade { /** * 返回小程序查询个人的lis报告 * 该接口由app服务器端调用 - * @param patientId - * @param request + * @param patientId 院内系统孕妇建档id * @return */ - public BaseResponse getAppLis(String patientId, HttpServletRequest request) { + public BaseResponse getAppLisList(String patientId,Integer status,Integer page,Integer limit) { - System.out.println(request.getRemoteAddr()); - System.out.println(request.getRemoteHost()); - System.out.println(request.getRemotePort()); - System.out.println(request.getRequestURI()); - System.out.println(request.getRequestURL()); + + PatientsQuery patientsQuery=new PatientsQuery(); + patientsQuery.setId(patientId); + patientsQuery.setYn(YnEnums.YES.getId()); + List list= patientsService.queryPatient(patientsQuery); + if (CollectionUtils.isNotEmpty(list)) + { + Patients patients = list.get(0); + + LisReportQuery query = new LisReportQuery(); + query.setPage(page); + query.setLimit(limit); + query.setNeed("true"); + query.setSort(" PUBLISH_TIME DESC "); + + query.setPhone(patients.getPhone()); + query.setVcCardNo(patients.getVcCardNo()); + query.setStatus(status); + query.setHospitalId(patients.getHospitalId()); + + List lises = lisService.queryLisDataByQuery(query); + BaseObjectResponse objectResponse = new BaseObjectResponse(); + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + objectResponse.setData(lises); + objectResponse.setErrormsg("成功"); + return objectResponse; + } return null; } + + /** + * 更新状态为已推送 + * @param ids + * @return + */ + public BaseResponse updateAppLisStatus(String ids) { + if (StringUtils.isNotEmpty(ids)) + { + String[] arrs = ids.split(","); + if (arrs != null && arrs.length > 0) + { + List list = new ArrayList<>(); + CollectionUtils.addAll(list, arrs); + lisService.updateAppLisStatus(list); + } + } + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); + } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/inteceptor/MybatisSqlInterceptor.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/inteceptor/MybatisSqlInterceptor.java index 562e568..a6be9b7 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/inteceptor/MybatisSqlInterceptor.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/inteceptor/MybatisSqlInterceptor.java @@ -41,12 +41,17 @@ public class MybatisSqlInterceptor implements Interceptor { Configuration configuration = mappedStatement.getConfiguration(); Object returnValue = invocation.proceed(); String sql = getSql(configuration, boundSql, sqlId); - System.out.println("mysql sql ======"+sql); + System.out.println("mysql sql ======" + sql); return returnValue; } public static String getSql(Configuration configuration, BoundSql boundSql, String sqlId) { String sql = showSql(configuration, boundSql); + //排除lis表 + if (sql.toUpperCase().contains("LIS_REPORT_TBL") || sql.toUpperCase().contains("RIS_REPORT_TBL")) + { + return sql; + } SendMysqlSyncDatUtil.sendSql(sql,sqlId); return sql; } -- 1.8.3.1