Commit ff23596df5b38a9c8525b1d724eb85dd89907131
Exists in
master
and in
6 other branches
Merge remote-tracking branch 'origin/master'
Showing 11 changed files
- platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterLisMapper.java
- platform-biz-service/src/main/java/com/lyms/platform/permission/service/LisService.java
- platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java
- platform-biz-service/src/main/resources/mainOrm/master/MasterLis.xml
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LisController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SyncDataController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyStatisticsManagerFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LisFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/inteceptor/MybatisSqlInterceptor.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/SendMysqlSyncDatUtil.java
platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterLisMapper.java
View file @
ff23596
platform-biz-service/src/main/java/com/lyms/platform/permission/service/LisService.java
View file @
ff23596
platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java
View file @
ff23596
platform-biz-service/src/main/resources/mainOrm/master/MasterLis.xml
View file @
ff23596
| ... | ... | @@ -271,11 +271,60 @@ |
| 271 | 271 | </select> |
| 272 | 272 | |
| 273 | 273 | <update id="updateAppLisStatus" parameterType="java.util.List" > |
| 274 | - UPDATE LIS_REPORT_TBL STATUS = 1 WHERE ID IN | |
| 274 | + UPDATE LIS_REPORT_TBL SET STATUS = 1 WHERE ID IN | |
| 275 | 275 | <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> |
| 276 | 276 | #{item} |
| 277 | 277 | </foreach> |
| 278 | 278 | </update> |
| 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> | |
| 279 | 328 | |
| 280 | 329 | </mapper> |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java
View file @
ff23596
| ... | ... | @@ -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 @
ff23596
| ... | ... | @@ -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/controller/SyncDataController.java
View file @
ff23596
| ... | ... | @@ -92,20 +92,23 @@ |
| 92 | 92 | writeString(response, "Token is error"); |
| 93 | 93 | return; |
| 94 | 94 | } |
| 95 | - | |
| 96 | - if (sqlRequest != null) { | |
| 97 | - String base64Sql = sqlRequest.getSql(); | |
| 98 | - if (StringUtils.isNotEmpty(base64Sql)) | |
| 99 | - { | |
| 100 | - String sqlId = sqlRequest.getSqlId(); | |
| 101 | - String sql = new String(Base64.decodeBase64(base64Sql)); | |
| 102 | - System.out.println("sqlId = " + sqlId+" : "+sql); | |
| 103 | - organizationService.execSql(sql); | |
| 95 | + try { | |
| 96 | + if (sqlRequest != null) { | |
| 97 | + String base64Sql = sqlRequest.getSql(); | |
| 98 | + if (StringUtils.isNotEmpty(base64Sql)) | |
| 99 | + { | |
| 100 | + String sqlId = sqlRequest.getSqlId(); | |
| 101 | + String sql = new String(Base64.decodeBase64(base64Sql)); | |
| 102 | + System.out.println("sqlId = " + sqlId+" : "+sql); | |
| 103 | + organizationService.execSql(sql); | |
| 104 | + } | |
| 104 | 105 | } |
| 105 | - writeString(response,"execSyncMysqlData success"); | |
| 106 | - } else { | |
| 106 | + } catch (Exception e) | |
| 107 | + { | |
| 107 | 108 | writeString(response, "execSyncMysqlData fail"); |
| 109 | + ExceptionUtils.catchException(e,"execSyncMysqlData fail"); | |
| 108 | 110 | } |
| 111 | + writeString(response,"execSyncMysqlData success"); | |
| 109 | 112 | } |
| 110 | 113 | |
| 111 | 114 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyStatisticsManagerFacade.java
View file @
ff23596
| ... | ... | @@ -925,7 +925,9 @@ |
| 925 | 925 | } |
| 926 | 926 | } |
| 927 | 927 | babyCount.add(nocheckCount); |
| 928 | + | |
| 928 | 929 | percent.add(percent(nocheckCount,total)); |
| 930 | + | |
| 929 | 931 | babyStatisticsManagerSelfConversionListResult.setResult(result); |
| 930 | 932 | babyStatisticsManagerSelfConversionListResult.setResultOther(resultOther); |
| 931 | 933 | babyStatisticsManagerSelfConversionListResult.setBabyCount(babyCount); |
| 932 | 934 | |
| 933 | 935 | |
| ... | ... | @@ -936,9 +938,14 @@ |
| 936 | 938 | return babyStatisticsManagerSelfConversionListResult; |
| 937 | 939 | } |
| 938 | 940 | |
| 939 | - private String percent(Integer count,Integer total) | |
| 941 | + private String percent(Integer count,Integer total) | |
| 940 | 942 | { |
| 943 | + if (total != null && total == 0) | |
| 944 | + { | |
| 945 | + return new BigDecimal(0) + "%"; | |
| 946 | + } | |
| 941 | 947 | return new BigDecimal((double) count * 100 / (double) total).setScale(2, BigDecimal.ROUND_HALF_UP) + "%"; |
| 942 | 948 | } |
| 949 | + | |
| 943 | 950 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LisFacade.java
View file @
ff23596
| ... | ... | @@ -417,6 +417,20 @@ |
| 417 | 417 | query.setHospitalId(patients.getHospitalId()); |
| 418 | 418 | |
| 419 | 419 | List<LisReportModel> lises = lisService.queryLisDataByQuery(query); |
| 420 | + if (CollectionUtils.isNotEmpty(lises)) | |
| 421 | + { | |
| 422 | + for(LisReportModel lisReportModel : lises) | |
| 423 | + { | |
| 424 | + String json = lisReportModel.getItemJson(); | |
| 425 | + if (StringUtils.isNotEmpty(json)) | |
| 426 | + { | |
| 427 | + List<LisReportItemModel> items = JsonUtil.toList(json,LisReportItemModel.class); | |
| 428 | + lisReportModel.setItems(items); | |
| 429 | + lisReportModel.setItemJson(null); | |
| 430 | + } | |
| 431 | + } | |
| 432 | + } | |
| 433 | + | |
| 420 | 434 | BaseObjectResponse objectResponse = new BaseObjectResponse(); |
| 421 | 435 | objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); |
| 422 | 436 | objectResponse.setData(lises); |
| 423 | 437 | |
| 424 | 438 | |
| ... | ... | @@ -432,15 +446,21 @@ |
| 432 | 446 | * @return |
| 433 | 447 | */ |
| 434 | 448 | public BaseResponse updateAppLisStatus(String ids) { |
| 435 | - if (StringUtils.isNotEmpty(ids)) | |
| 436 | - { | |
| 437 | - String[] arrs = ids.split(","); | |
| 438 | - if (arrs != null && arrs.length > 0) | |
| 449 | + try { | |
| 450 | + if (StringUtils.isNotEmpty(ids)) | |
| 439 | 451 | { |
| 440 | - List<String> list = new ArrayList<>(); | |
| 441 | - CollectionUtils.addAll(list, arrs); | |
| 442 | - lisService.updateAppLisStatus(list); | |
| 452 | + String[] arrs = ids.split(","); | |
| 453 | + if (arrs != null && arrs.length > 0) | |
| 454 | + { | |
| 455 | + List<String> list = new ArrayList<>(); | |
| 456 | + CollectionUtils.addAll(list, arrs); | |
| 457 | + lisService.updateAppLisStatus(list); | |
| 458 | + } | |
| 443 | 459 | } |
| 460 | + } | |
| 461 | + catch (Exception e) | |
| 462 | + { | |
| 463 | + return new BaseResponse().setErrorcode(ErrorCodeConstants.SYSTEM_ERROR).setErrormsg(ErrorCodeConstants.SYSTEM_ERROR_DESCRIPTION); | |
| 444 | 464 | } |
| 445 | 465 | return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); |
| 446 | 466 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/inteceptor/MybatisSqlInterceptor.java
View file @
ff23596
| 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 | |
| 9 | +import com.lyms.platform.common.utils.DateUtil; | |
| 10 | 10 | import com.lyms.platform.operate.web.utils.SendMysqlSyncDatUtil; |
| 11 | +import org.apache.commons.collections.CollectionUtils; | |
| 12 | +import org.apache.commons.lang.StringUtils; | |
| 11 | 13 | import org.apache.ibatis.executor.Executor; |
| 14 | +import org.apache.ibatis.executor.resultset.ResultSetHandler; | |
| 12 | 15 | import org.apache.ibatis.mapping.BoundSql; |
| 13 | 16 | import org.apache.ibatis.mapping.MappedStatement; |
| 14 | 17 | import org.apache.ibatis.mapping.ParameterMapping; |
| 15 | 18 | |
| 16 | 19 | |
| 17 | 20 | |
| 18 | 21 | |
| 19 | 22 | |
| 20 | 23 | |
| 21 | 24 | |
| 22 | 25 | |
| 23 | 26 | |
| ... | ... | @@ -22,48 +25,80 @@ |
| 22 | 25 | import org.apache.ibatis.type.TypeHandlerRegistry; |
| 23 | 26 | |
| 24 | 27 | /** |
| 28 | + * ๅๆญฅ็บฟไธmysql็ๆไฝๅฐๅบๅ | |
| 25 | 29 | * Created by Administrator on 2017-04-24. |
| 26 | 30 | */ |
| 27 | 31 | @Intercepts({ |
| 28 | - @Signature(type = Executor.class, method = "update", args = { MappedStatement.class, Object.class }) | |
| 29 | - | |
| 32 | + @Signature(type = Executor.class, method = "update", args = { MappedStatement.class,Object.class }), | |
| 33 | + @Signature(type= ResultSetHandler.class, method = "handleResultSets", args = {Statement.class}) | |
| 30 | 34 | }) |
| 31 | 35 | public class MybatisSqlInterceptor implements Interceptor { |
| 32 | 36 | |
| 37 | + private String sql; | |
| 33 | 38 | |
| 34 | -// @Signature(type= ResultSetHandler.class, method = "handleResultSets", args = {Statement.class}) | |
| 35 | 39 | private Properties properties; |
| 36 | 40 | |
| 41 | + private String sqlCommandType; | |
| 42 | + | |
| 43 | + private String sqlId; | |
| 44 | + | |
| 37 | 45 | 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]; | |
| 46 | + | |
| 47 | + Object[] args = invocation.getArgs(); | |
| 48 | + Object returnValue = null; | |
| 49 | + if (args != null && args.length == 2) | |
| 50 | + { | |
| 51 | + MappedStatement mappedStatement = (MappedStatement) invocation.getArgs()[0]; | |
| 52 | + Object parameter = null; | |
| 53 | + if (invocation.getArgs().length > 1) { | |
| 54 | + parameter = invocation.getArgs()[1]; | |
| 55 | + } | |
| 56 | + | |
| 57 | + sqlId = mappedStatement.getId(); | |
| 58 | + BoundSql boundSql = mappedStatement.getBoundSql(parameter); | |
| 59 | + Configuration configuration = mappedStatement.getConfiguration(); | |
| 60 | + sqlCommandType = mappedStatement.getSqlCommandType().name(); | |
| 61 | + | |
| 62 | + sql = getSql(configuration, boundSql, sqlId); | |
| 63 | + System.out.println("sqlCommandType = "+sqlCommandType+":mysql sql =" + sql); | |
| 64 | + returnValue = invocation.proceed(); | |
| 42 | 65 | } |
| 66 | + else | |
| 67 | + { | |
| 68 | + returnValue = invocation.proceed(); | |
| 69 | + if (StringUtils.isNotEmpty(sql) && "insert".equals(sqlCommandType.toLowerCase())) | |
| 70 | + { | |
| 71 | + if (returnValue != null && returnValue instanceof ArrayList) | |
| 72 | + { | |
| 73 | + List<Integer> list = (ArrayList)returnValue; | |
| 74 | + if (CollectionUtils.isNotEmpty(list)) | |
| 75 | + { | |
| 76 | + sql = sql.replaceFirst("\\(","(ID,"); | |
| 77 | + sql = sql.substring(0,sql.lastIndexOf("(")+1)+list.get(0)+","+sql.substring(sql.lastIndexOf("(")+1,sql.length()); | |
| 78 | + } | |
| 79 | + } | |
| 80 | + } | |
| 43 | 81 | |
| 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); | |
| 82 | + //ๆ้คlis่กจ | |
| 83 | + if (sql == null || sql.toUpperCase().contains("LIS_REPORT_TBL") || sql.toUpperCase().contains("RIS_REPORT_TBL")) | |
| 84 | + { | |
| 85 | + return returnValue; | |
| 86 | + } | |
| 87 | + System.out.println("sync sql = "+sql); | |
| 88 | + //ๅ้่ฆๅๆญฅ็sql | |
| 89 | + SendMysqlSyncDatUtil.sendSql(sql, sqlId); | |
| 90 | + } | |
| 91 | + | |
| 52 | 92 | return returnValue; |
| 53 | 93 | } |
| 54 | 94 | |
| 55 | 95 | public static String getSql(Configuration configuration, BoundSql boundSql, String sqlId) { |
| 56 | 96 | 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); | |
| 97 | + | |
| 63 | 98 | return sql; |
| 64 | 99 | } |
| 65 | 100 | |
| 66 | - private static String getParameterValue(Object obj) { | |
| 101 | + private static String getParameterValue(Object obj,String javaType) { | |
| 67 | 102 | String value = null; |
| 68 | 103 | if (obj instanceof String) { |
| 69 | 104 | value = "'" + obj.toString() + "'"; |
| 70 | 105 | |
| ... | ... | @@ -73,10 +108,13 @@ |
| 73 | 108 | } else { |
| 74 | 109 | if (obj != null) { |
| 75 | 110 | value = obj.toString(); |
| 76 | - } else { | |
| 77 | - value = ""; | |
| 111 | + } else if ("java.util.Date".equals(javaType)){ | |
| 112 | + value = "'" +DateUtil.getyyyy_MM_dd_hms(new Date())+ "'"; | |
| 78 | 113 | } |
| 79 | - | |
| 114 | + else | |
| 115 | + { | |
| 116 | + value = "''"; | |
| 117 | + } | |
| 80 | 118 | } |
| 81 | 119 | return value; |
| 82 | 120 | } |
| ... | ... | @@ -88,7 +126,7 @@ |
| 88 | 126 | if (parameterMappings.size() > 0 && parameterObject != null) { |
| 89 | 127 | TypeHandlerRegistry typeHandlerRegistry = configuration.getTypeHandlerRegistry(); |
| 90 | 128 | if (typeHandlerRegistry.hasTypeHandler(parameterObject.getClass())) { |
| 91 | - sql = sql.replaceFirst("\\?", getParameterValue(parameterObject)); | |
| 129 | + sql = sql.replaceFirst("\\?", getParameterValue(parameterObject,parameterObject.getClass().getName())); | |
| 92 | 130 | |
| 93 | 131 | } else { |
| 94 | 132 | MetaObject metaObject = configuration.newMetaObject(parameterObject); |
| 95 | 133 | |
| 96 | 134 | |
| 97 | 135 | |
| ... | ... | @@ -96,21 +134,16 @@ |
| 96 | 134 | String propertyName = parameterMapping.getProperty(); |
| 97 | 135 | if (metaObject.hasGetter(propertyName)) { |
| 98 | 136 | Object obj = metaObject.getValue(propertyName); |
| 99 | - sql = sql.replaceFirst("\\?", getParameterValue(obj)); | |
| 137 | + sql = sql.replaceFirst("\\?", getParameterValue(obj,parameterMapping.getJavaType().getName())); | |
| 100 | 138 | } else if (boundSql.hasAdditionalParameter(propertyName)) { |
| 101 | 139 | Object obj = boundSql.getAdditionalParameter(propertyName); |
| 102 | - sql = sql.replaceFirst("\\?", getParameterValue(obj)); | |
| 140 | + sql = sql.replaceFirst("\\?", getParameterValue(obj,parameterMapping.getJavaType().getName())); | |
| 103 | 141 | } |
| 104 | 142 | } |
| 105 | 143 | } |
| 106 | 144 | } |
| 107 | - | |
| 108 | 145 | return sql; |
| 109 | 146 | } |
| 110 | - | |
| 111 | - | |
| 112 | - | |
| 113 | - | |
| 114 | 147 | |
| 115 | 148 | public Object plugin(Object target) { |
| 116 | 149 | return Plugin.wrap(target, this); |