Commit 77df6afee8291636f8523c2cbc8a1e51f6cd1919

Authored by liquanyu
1 parent 76cef22899
Exists in master and in 1 other branch dev

update

Showing 8 changed files with 139 additions and 37 deletions

platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterLisMapper.java View file @ 77df6af
... ... @@ -26,5 +26,7 @@
26 26 List<LisReportModel> queryLisDataByQuery(LisReportQuery query);
27 27  
28 28 void updateAppLisStatus(List<String> list);
  29 +
  30 + int saveLisDataTemp(LisReportModel models);
29 31 }
platform-biz-service/src/main/java/com/lyms/platform/permission/service/LisService.java View file @ 77df6af
... ... @@ -21,5 +21,7 @@
21 21 List<LisReportModel> queryLisDataByQuery(LisReportQuery query);
22 22  
23 23 void updateAppLisStatus(List<String> list);
  24 +
  25 + int saveLisDataTemp(LisReportModel models);
24 26 }
platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java View file @ 77df6af
... ... @@ -83,5 +83,10 @@
83 83 public void updateAppLisStatus(List<String> list) {
84 84 masterLisMapper.updateAppLisStatus(list);
85 85 }
  86 +
  87 + @Override
  88 + public int saveLisDataTemp(LisReportModel models) {
  89 + return masterLisMapper.saveLisDataTemp(models);
  90 + }
86 91 }
platform-biz-service/src/main/resources/mainOrm/master/MasterLis.xml View file @ 77df6af
... ... @@ -277,5 +277,54 @@
277 277 </foreach>
278 278 </update>
279 279  
  280 +
  281 +
  282 +
  283 + <insert id="saveLisDataTemp" parameterType="com.lyms.platform.permission.model.LisReportModel" >
  284 + <selectKey order="AFTER" keyProperty="id" resultType="java.lang.Integer">SELECT LAST_INSERT_ID()</selectKey>
  285 + INSERT INTO LIS_REPORT_TBL(
  286 + LIS_ID,
  287 + TITLE,
  288 + TYPE,
  289 + VCCARDNO,
  290 + NAME,
  291 + BHNUM,
  292 + AGE,
  293 + SEX,
  294 + APPLY_TIME,
  295 + CHECK_TIME,
  296 + PUBLISH_TIME,
  297 + APPLY_DOCTOR,
  298 + APPLY_DEPT,
  299 + CHECKER,
  300 + MODIFIED,
  301 + CREATED,
  302 + HOSPITAL_ID,
  303 + PHONE,
  304 + ITEM_JSON
  305 + ) VALUES (
  306 + #{lisId},
  307 + #{title},
  308 + #{type},
  309 + #{vcCardNo},
  310 + #{name},
  311 + #{ bhnum},
  312 + #{age},
  313 + #{sex},
  314 + #{applyTime},
  315 + #{checkTime},
  316 + #{publishTime},
  317 + #{applyDoctor},
  318 + #{applyDept},
  319 + #{checker},
  320 + #{modified},
  321 + #{created},
  322 + #{hospitalId},
  323 + #{phone},
  324 + #{itemJson}
  325 + )
  326 +
  327 + </insert>
  328 +
280 329 </mapper>
platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java View file @ 77df6af
... ... @@ -25,10 +25,10 @@
25 25 //
26 26 //
27 27 // System.out.print("5878388d0cf235c11f845399".length());
28   -
29   - for (Integer i = PatientCheckTicketFacade.complyCurrentDay(DateUtil.parseYMD("2016-08-06")); i <= 5; i++) {
30   - System.out.println(i);
31   - }
  28 +//
  29 +// for (Integer i = PatientCheckTicketFacade.complyCurrentDay(DateUtil.parseYMD("2016-08-06")); i <= 5; i++) {
  30 +// System.out.println(i);
  31 +// }
32 32 // String str =
33 33 // "{\"yesOrNo\":\"yes\",\"26cac65c-a040-4898-b7da-8deed3ba0ec3\":{\"checkBox\":true,\"proName\":\"循环系统类\",\"selected\":[\"6c46f0c0-97f1-4b72-a11c-98eacfff9a8f\",\"3beb4592-0fda-4041-b148-97d315fccb94\",\"87f35a26-379d-4a05-8ab8-01e634835474\",\"17e9c0ff-92e6-4f48-9f02-264711a8689d\",\"fd51e86b-d3ef-4b38-9dc3-174cf5431855\",\"f14e3084-2ad5-4e25-a634-196e96949ef3\",\"f9acf716-50b0-4b45-bebc-9d21983c616f\",\"31f9dcd6-d7f0-42b5-bd7d-72dd7fe3b01a\",\"322ad477-8130-46d0-a67c-de1b4dc9c640\",\"e7582017-b94c-46ed-b7fd-e36c747da13a\",\"04f8bb8b-f074-41bc-8f41-d3bedb65874b\"]},\"57e4bedbf0f0baa1bee496cd\":{\"checkBox\":true,\"proName\":\"其他\",\"selected\":\"其他既往史\"}}";
34 34 //
... ... @@ -81,6 +81,14 @@
81 81 // }
82 82 // }
83 83 // }
  84 +
  85 +
  86 + String sql = "INSERT INTO LIS_REPORT_TBL( LIS_ID, TITLE) VALUES ('122', 'bbbb')";
  87 + sql = sql.replaceFirst("\\(","(ID,");
  88 +
  89 +
  90 + sql = sql.substring(0,sql.lastIndexOf("(")+1)+"11212,"+sql.substring(sql.lastIndexOf("(")+1,sql.length());
  91 + System.out.println(sql);
84 92  
85 93 }
86 94 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LisController.java View file @ 77df6af
... ... @@ -89,6 +89,15 @@
89 89 }
90 90  
91 91  
  92 +// @RequestMapping(method = RequestMethod.POST, value = "/saveLisDataTemp")
  93 +// @ResponseBody
  94 +// public Integer saveLisDataTemp(@RequestBody LisReportModel models,
  95 +// HttpServletRequest httpServletRequest) {
  96 +//
  97 +// return lisService.saveLisDataTemp(models);
  98 +// }
  99 +
  100 +
92 101 /**
93 102 * 获取lis和ris报告的接口
94 103 * 包含这个孕妇在整个区域的lis、ris数据
platform-operate-api/src/main/java/com/lyms/platform/operate/web/inteceptor/MybatisSqlInterceptor.java View file @ 77df6af
1 1 package com.lyms.platform.operate.web.inteceptor;
2 2  
3 3  
  4 +import java.sql.ResultSet;
  5 +import java.sql.Statement;
4 6 import java.text.DateFormat;
5   -import java.util.Date;
6   -import java.util.List;
7   -import java.util.Locale;
8   -import java.util.Properties;
  7 +import java.util.*;
9 8  
10 9 import com.lyms.platform.operate.web.utils.SendMysqlSyncDatUtil;
  10 +import org.apache.commons.collections.CollectionUtils;
  11 +import org.apache.commons.lang.StringUtils;
11 12 import org.apache.ibatis.executor.Executor;
  13 +import org.apache.ibatis.executor.resultset.ResultSetHandler;
12 14 import org.apache.ibatis.mapping.BoundSql;
13 15 import org.apache.ibatis.mapping.MappedStatement;
14 16 import org.apache.ibatis.mapping.ParameterMapping;
15 17  
16 18  
17 19  
18 20  
19 21  
20 22  
21 23  
22 24  
... ... @@ -22,44 +24,76 @@
22 24 import org.apache.ibatis.type.TypeHandlerRegistry;
23 25  
24 26 /**
  27 + * 同步线上mysql的操作到区域
25 28 * Created by Administrator on 2017-04-24.
26 29 */
27 30 @Intercepts({
28   - @Signature(type = Executor.class, method = "update", args = { MappedStatement.class, Object.class })
29   -
  31 + @Signature(type = Executor.class, method = "update", args = { MappedStatement.class,Object.class }),
  32 + @Signature(type= ResultSetHandler.class, method = "handleResultSets", args = {Statement.class})
30 33 })
31 34 public class MybatisSqlInterceptor implements Interceptor {
32 35  
  36 + private String sql;
33 37  
34   -// @Signature(type= ResultSetHandler.class, method = "handleResultSets", args = {Statement.class})
35 38 private Properties properties;
36 39  
  40 + private String sqlCommandType;
  41 +
  42 + private String sqlId;
  43 +
37 44 public Object intercept(Invocation invocation) throws Throwable {
38   - MappedStatement mappedStatement = (MappedStatement) invocation.getArgs()[0];
39   - Object parameter = null;
40   - if (invocation.getArgs().length > 1) {
41   - parameter = invocation.getArgs()[1];
  45 +
  46 + Object[] args = invocation.getArgs();
  47 + Object returnValue = null;
  48 + if (args != null && args.length == 2)
  49 + {
  50 + MappedStatement mappedStatement = (MappedStatement) invocation.getArgs()[0];
  51 + Object parameter = null;
  52 + if (invocation.getArgs().length > 1) {
  53 + parameter = invocation.getArgs()[1];
  54 + }
  55 +
  56 + sqlId = mappedStatement.getId();
  57 + BoundSql boundSql = mappedStatement.getBoundSql(parameter);
  58 + Configuration configuration = mappedStatement.getConfiguration();
  59 + sqlCommandType = mappedStatement.getSqlCommandType().name();
  60 +
  61 + sql = getSql(configuration, boundSql, sqlId);
  62 + System.out.println("sqlCommandType = "+sqlCommandType+":mysql sql =" + sql);
  63 + returnValue = invocation.proceed();
42 64 }
  65 + else
  66 + {
  67 + returnValue = invocation.proceed();
  68 + if (StringUtils.isNotEmpty(sql) && "insert".equals(sqlCommandType.toLowerCase()))
  69 + {
  70 + if (returnValue != null && returnValue instanceof ArrayList)
  71 + {
  72 + List<Integer> list = (ArrayList)returnValue;
  73 + if (CollectionUtils.isNotEmpty(list))
  74 + {
  75 + sql = sql.replaceFirst("\\(","(ID,");
  76 + sql = sql.substring(0,sql.lastIndexOf("(")+1)+list.get(0)+","+sql.substring(sql.lastIndexOf("(")+1,sql.length());
  77 + }
  78 + }
  79 + }
43 80  
44   - String sqlId = mappedStatement.getId();
45   - BoundSql boundSql = mappedStatement.getBoundSql(parameter);
46   - Configuration configuration = mappedStatement.getConfiguration();
47   - Object returnValue = invocation.proceed();
48   - System.out.println("mysql result ======" + returnValue);
49   - System.out.println(mappedStatement.getResulSets());
50   - String sql = getSql(configuration, boundSql, sqlId);
51   - System.out.println("mysql sql ======" + sql);
  81 + //排除lis表
  82 + if (sql == null || sql.toUpperCase().contains("LIS_REPORT_TBL") || sql.toUpperCase().contains("RIS_REPORT_TBL"))
  83 + {
  84 + return returnValue;
  85 + }
  86 + System.out.println("sync sql = "+sql);
  87 + //发送要同步的sql
  88 + SendMysqlSyncDatUtil.sendSql(sql, sqlId);
  89 + }
  90 +
52 91 return returnValue;
53 92 }
54 93  
55 94 public static String getSql(Configuration configuration, BoundSql boundSql, String sqlId) {
56 95 String sql = showSql(configuration, boundSql);
57   - //排除lis表
58   - if (sql.toUpperCase().contains("LIS_REPORT_TBL") || sql.toUpperCase().contains("RIS_REPORT_TBL"))
59   - {
60   - return sql;
61   - }
62   - SendMysqlSyncDatUtil.sendSql(sql,sqlId);
  96 +
63 97 return sql;
64 98 }
65 99  
66 100  
... ... @@ -74,9 +108,8 @@
74 108 if (obj != null) {
75 109 value = obj.toString();
76 110 } else {
77   - value = "";
  111 + value = "''";
78 112 }
79   -
80 113 }
81 114 return value;
82 115 }
83 116  
... ... @@ -104,13 +137,8 @@
104 137 }
105 138 }
106 139 }
107   -
108 140 return sql;
109 141 }
110   -
111   -
112   -
113   -
114 142  
115 143 public Object plugin(Object target) {
116 144 return Plugin.wrap(target, this);
platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/SendMysqlSyncDatUtil.java View file @ 77df6af
... ... @@ -27,7 +27,6 @@
27 27 CollectionUtils.addAll(urls, arrs);
28 28 }
29 29 }
30   -
31 30 }
32 31  
33 32 public static void sendSql(String sql ,String sqlId)