| | |
| | | AntianaphylaxisClient antianaphylaxisClient; |
| | | |
| | | |
| | | |
| | | /** |
| | | * |
| | | * @description: 根据表名和id获取数据 |
| | | * @param tableName 表名 |
| | | * @param id 数据id |
| | | * @return: 数据 |
| | | * |
| | | */ |
| | | @Override |
| | | public Result selectById(String tableName, String id) { |
| | | try{ |
| | |
| | | return Result.error(CodeMsg.SELECT_ERROR); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @description: 根据用户和表名获取数据 |
| | | * @param tableName 表名 |
| | | * @param character 用户 |
| | | * @return: 数据 |
| | | * |
| | | */ |
| | | @Override |
| | | public Result selectList(Character character, String tableName) { |
| | | return selectList(character, tableName, null,null, (maintainService.getNowVersion(tableName).getVersion())); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * |
| | | * @description: 根据用户和表名,筛选条件获取数据 |
| | | * @param tableName 表名 |
| | | * @param whereSegment 筛选条件 |
| | | * @param character 用户 |
| | | * @return: 数据 |
| | | * |
| | | */ |
| | | @Override |
| | | public Result selectList(Character character, String tableName, String whereSegment) { |
| | | return selectList(character,tableName, whereSegment, (maintainService.getNowVersion(tableName).getVersion())); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @description: 根据用户和表名,筛选条件,数据版本获取数据 |
| | | * @param tableName 表名 |
| | | * @param whereSegment 筛选条件 |
| | | * @param version 数据版本 |
| | | * @param character 用户 |
| | | * @return: 数据 |
| | | * |
| | | */ |
| | | @Override |
| | | public Result selectList(Character character,String tableName, String whereSegment, String version) { |
| | | return selectList(character, tableName, null, whereSegment, version); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @description: 根据用户,字段,表名,筛选条件获取数据 |
| | | * @param tableName 表名 |
| | | * @param whereSegment 筛选条件 |
| | | * @param fieldList 字段 |
| | | * @param character 用户 |
| | | * @return: 数据 |
| | | * |
| | | */ |
| | | @Override |
| | | public Result selectList(Character character, String tableName, List<String> fieldList, String whereSegment) { |
| | | return selectList(character, tableName, fieldList, whereSegment, maintainService.getNowVersion(tableName).getVersion()); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @description: 根据用户,字段,表名,筛选条件,数据版本获取数据 |
| | | * @param tableName 表名 |
| | | * @param whereSegment 筛选条件 |
| | | * @param fieldList 字段 |
| | | * @param version 数据版本 |
| | | * @param character 用户 |
| | | * @return: 数据 |
| | | * |
| | | */ |
| | | @Override |
| | | public Result selectList(Character character, String tableName,List<String> fieldList, String whereSegment, String version) { |
| | | try{ |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * |
| | | * @description: 根据用户,字段,表名获取数据 |
| | | * @param tableName 表名 |
| | | * @param fieldList 字段 |
| | | * @param character 用户 |
| | | * @return: 数据 |
| | | * |
| | | */ |
| | | @Override |
| | | public Result selectList(Character character, String tableName, List<String> fields) { |
| | | return selectList(character, tableName,fields,Constant.WHERE_DEFAULT,(maintainService.getNowVersion(tableName).getVersion())); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @description: 根据表名,筛选条件获取数据条数 |
| | | * @param tableName 表名 |
| | | * @param whereSegment 筛选条件 |
| | | * @return: 数据条数 |
| | | * |
| | | */ |
| | | public Long getCount(String tableName, String whereSegment) { |
| | | try{ |
| | | if (StringUtils.isEmpty(whereSegment)) { |
| | |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @description: 根据条件获取数据条数 |
| | | * @param maintainId 数据版本 |
| | | * @param tableName 表名 |
| | | * @param tableTempName 临时表名 |
| | | * @param whereSegment 筛选条件 |
| | | * @param fieldList 字段 |
| | | * @param version 数据版本 |
| | | * @param character 用户 |
| | | * @param fromOrderNo 从哪个版本开始往前推 |
| | | * @param toOrderNo 到哪个版本结束往前推 |
| | | * @return: 数据条数 |
| | | * |
| | | */ |
| | | @Override |
| | | public Long getCountByVersion (Character character, String maintainId, String tableName,String tableTempName,Integer fromOrderNo, Integer toOrderNo, String whereSegment) { |
| | | try{ |
| | | Maintain maintain = maintainService.selectById(maintainId); |
| | | |
| | | String fields = getFields(character,tableName, maintain); |
| | | String Hfields = getFields(character, tableName, Constant.H, maintain); |
| | | String tempFields = getTempFields(character, tableName, Constant.MT, maintain); |
| | | String tempFields = getTempFields(character, tableName, Constant.A1, maintain); |
| | | String A1fields = getFields(character, tableName, Constant.A1, maintain); |
| | | String A2fields = getFields(character, tableName, Constant.A2, maintain); |
| | | String tempHFields = getTempFields(character, tableName, Constant.H, maintain); |
| | | |
| | | if (StringUtils.isEmpty(whereSegment)) { |
| | | whereSegment = Constant.WHERE_DEFAULT; |
| | | } |
| | |
| | | if (StringUtils.isEmpty(fields)) { |
| | | return 0L; |
| | | } |
| | | count = mapper.getCountByVersion(tableName, tableTempName, fields, tempFields, Hfields, A1fields,A2fields,tempHFields, fromOrderNo, toOrderNo, DbUtils.quotedStr(maintainId), whereSegment); |
| | | count = mapper.getCountByVersion(tableName, tableTempName, fields, tempFields, A1fields,fromOrderNo, toOrderNo, whereSegment); |
| | | return count; |
| | | } |
| | | catch (Exception e) { |
| | |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | public Long getCountByMaxVersion (Character character, String maintainId, String tableName,String tableTempName,Integer fromOrderNo, Integer toOrderNo, String whereSegment) { |
| | | /** |
| | | * |
| | | * @description: 根据条件获取最大版本的数据条数 |
| | | * @param maintainId 数据版本 |
| | | * @param tableName 表名 |
| | | * @param tableTempName 临时表名 |
| | | * @param whereSegment 筛选条件 |
| | | * @param fieldList 字段 |
| | | * @param version 数据版本 |
| | | * @param character 用户 |
| | | * @return: 数据条数 |
| | | * |
| | | */ |
| | | public Long getCountByMaxVersion (Character character, String maintainId, String tableName,String tableTempName,Integer fromOrderNo, String whereSegment) { |
| | | try{ |
| | | Maintain maintain = maintainService.selectById(maintainId); |
| | | |
| | | String fields = getFields(character, tableName, maintain); |
| | | String Hfields = getFields(character, tableName, Constant.H, maintain); |
| | | String tempFields = getTempFields(character, tableName, Constant.MT, maintain); |
| | | |
| | | String tempFields = getTempFields(character, tableName, Constant.A1, maintain); |
| | | String A1fields = getFields(character, tableName, Constant.A1, maintain); |
| | | String A2fields = getFields(character, tableName, Constant.A2, maintain); |
| | | String tempHFields = getTempFields(character, tableName, Constant.H, maintain); |
| | | |
| | | if (StringUtils.isEmpty(whereSegment)) { |
| | | whereSegment = Constant.WHERE_DEFAULT; |
| | | } |
| | | Long count = mapper.getCountByMaxVersion(tableName, tableTempName, fields, tempFields, Hfields, A1fields,A2fields,tempHFields, fromOrderNo, toOrderNo, DbUtils.quotedStr(maintainId), whereSegment); |
| | | |
| | | Long count = mapper.getCountByMaxVersion(tableName, tableTempName, fields, tempFields, A1fields, fromOrderNo, whereSegment); |
| | | return count; |
| | | } |
| | | catch (Exception e) { |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * |
| | | * @description: 根据表名获取字段sql |
| | | * @param tableName 表名 |
| | | * @return: 字段sql |
| | | * |
| | | */ |
| | | @Override |
| | | public String getFields(String tableName) { |
| | | return getFields(tableName, Constant.EMPTY_Str); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @description: 根据表名 用户, 版本获取字段sql |
| | | * @param tableName 表名 |
| | | * @param character 用户 |
| | | * @param maintain 版本 |
| | | * @return: 字段sql |
| | | * |
| | | */ |
| | | @Override |
| | | public String getFields(Character character, String tableName, Maintain maintain) { |
| | | |
| | | return getFields(character, tableName, null, maintain); |
| | | } |
| | | /** |
| | | * |
| | | * @description: 根据表名 用户, 版本获取字段sql |
| | | * @param tableName 表名 |
| | | * @param character 用户 |
| | | * @param maintain 版本 |
| | | * @param uuid 请求唯一标识,log中查询时间使用 |
| | | * @return: 字段sql |
| | | * |
| | | */ |
| | | @Override |
| | | public String getFields(Character character, String tableName, Maintain maintain, String uuid) { |
| | | |
| | | return getFields(character, tableName, null, maintain, uuid); |
| | | } |
| | | /** |
| | | * |
| | | * @description: 根据表名 用户, 版本组装 casewhen 字段sql |
| | | * @param tableName 表名 |
| | | |
| | | * @return: 字段sql |
| | | * |
| | | */ |
| | | private String getCaseWhenFields(String tableName) { |
| | | List<TableSchemaResult> tableField = mapper.getTableField(tableName); |
| | | ContentBuilder contentBuilder = new ContentBuilder(Constant.COMMA); |
| | |
| | | } |
| | | return contentBuilder.toString(); |
| | | } |
| | | /** |
| | | * |
| | | * @description: 根据表名 ,获取字段sql并添加别名 |
| | | * @param tableName 表名 |
| | | * @param alias 别名 |
| | | * @return: 字段sql |
| | | * |
| | | */ |
| | | @Override |
| | | public String getFields(String tableName, String alias) { |
| | | List<TableSchemaResult> tableField = mapper.getTableField(tableName); |
| | |
| | | } |
| | | return contentBuilder.toString(); |
| | | } |
| | | /** |
| | | * |
| | | * @description: 根据表名 用户, 版本获取字段sql,并添加别名 |
| | | * @param tableName 表名 |
| | | * @param character 用户 |
| | | * @param maintain 版本 |
| | | * @param alias 别名 |
| | | * @return: 字段sql |
| | | * |
| | | */ |
| | | @Override |
| | | public String getFields(Character character, String tableName, String alias, Maintain maintain) { |
| | | return getFields(character, tableName, alias, maintain, null); |
| | | } |
| | | @Override |
| | | /** |
| | | * |
| | | * @description: 根据表名 用户, 版本获取字段sql,并添加别名 |
| | | * @param tableName 表名 |
| | | * @param character 用户 |
| | | * @param maintain 版本 |
| | | * @param alias 别名 |
| | | * @param uuid 请求唯一标识,log中查询时间使用 |
| | | * @return: 字段sql |
| | | * |
| | | */ |
| | | @Override |
| | | public String getFields(Character character, String tableName, String alias, Maintain maintain, String uuid) { |
| | | List<SysField> fields; |
| | | if (character == null) { |
| | |
| | | return contentBuilder.toString(); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @description: 根据表名 用户, 版本获取临时表字段sql,并添加别名 |
| | | * @param tableName 临时表名 |
| | | * @param character 用户 |
| | | * @param maintain 版本 |
| | | * @return: 字段sql |
| | | * |
| | | */ |
| | | @Override |
| | | public String getTempFields(Character character, String tableName, Maintain maintain) { |
| | | return getTempFields(character, tableName, null, maintain); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @description: 根据表名 用户, 版本获取临时表字段sql,并添加别名 |
| | | * @param tableName 临时表名 |
| | | * @param character 用户 |
| | | * @return: 字段sql |
| | | * |
| | | */ |
| | | @Override |
| | | public String getTempFields(Character character, String tableName) { |
| | | return getTempFields(character, tableName, Constant.EMPTY_Str); |
| | | } |
| | | /** |
| | | * |
| | | * @description: 根据表名 用户获取临时表字段sql,并添加自定义别名 |
| | | * @param tableName 临时表名 |
| | | * @param character 用户 |
| | | * @param alias 别名 |
| | | * @return: 字段sql |
| | | * |
| | | */ |
| | | @Override |
| | | public String getTempFields(Character character, String tableName, String alias) { |
| | | List<TableSchemaResult> tableField = mapper.getTableField(tableName); |
| | |
| | | } |
| | | return contentBuilder.toString(); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @description: 根据表名 用户, 版本获取临时表字段sql,并添加自定义别名 |
| | | * @param tableName 临时表名 |
| | | * @param character 用户 |
| | | * @param maintain 版本 |
| | | * @param alias 别名 |
| | | * @return: 字段sql |
| | | * |
| | | */ |
| | | @Override |
| | | public String getTempFields(Character character, String tableName, String alias, Maintain maintain) { |
| | | List<SysField> fields; |
| | |
| | | } |
| | | return fieldList.stream().map(tableSchemaResult -> tableSchemaResult.getFieldName()).collect(Collectors.toList()); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @description: 根据条件获取数据 |
| | | * @param tableName 临时表名 |
| | | * @param character 用户 |
| | | * @param pageNo 页数 |
| | | * @param pageSize 每页数据量 |
| | | * @param findMax 是否查询的最大版本的数据 |
| | | * @return: 数据 |
| | | * |
| | | */ |
| | | @Override |
| | | public Result selectListByPageByVersion(Character character, String tableName, Integer pageNo, Integer pageSize, boolean findMax) { |
| | | return selectListByPageByVersion(character, tableName,Constant.WHERE_DEFAULT,pageNo,pageSize, findMax); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @description: 根据条件获取数据 |
| | | * @param tableName 临时表名 |
| | | * @param character 用户 |
| | | * @param whereSegment 筛选条件 |
| | | * @param pageNo 页数 |
| | | * @param pageSize 每页数据量 |
| | | * @param findMax 是否查询的最大版本的数据 |
| | | * @return: 数据 |
| | | * |
| | | */ |
| | | @Override |
| | | public Result selectListByPageByVersion(Character character, String tableName, String whereSegment, Integer pageNo, boolean findMax) { |
| | | return selectListByPageByVersion(character, tableName,null, whereSegment,pageNo, null, String.valueOf(maintainService.getNowVersion(tableName).getVersion()), findMax); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @description: 根据条件获取数据 |
| | | * @param tableName 临时表名 |
| | | * @param character 用户 |
| | | * @param pageNo 页数 |
| | | * @param version 版本号 |
| | | * @param findMax 是否查询的最大版本的数据 |
| | | * @param uuid 请求唯一标识,log中查询时间使用 |
| | | * @return: 数据 |
| | | * |
| | | */ |
| | | @Override |
| | | public Result selectListByPageByVersion(Character character, String tableName, Integer pageNo, String version, boolean findMax) { |
| | | return selectListByPageByVersion(character, tableName,null,Constant.WHERE_DEFAULT,pageNo, null, version, findMax); |
| | | } |
| | | /** |
| | | * |
| | | * @description: 根据条件获取数据 |
| | | * @param tableName 临时表名 |
| | | * @param character 用户 |
| | | * @param pageNo 页数 |
| | | * @param findMax 是否查询的最大版本的数据 |
| | | * @return: 数据 |
| | | * |
| | | */ |
| | | @Override |
| | | public Result selectListByPageByVersion(Character character, String tableName, Integer pageNo, boolean findMax) { |
| | | return selectListByPageByVersion(character, tableName,null,Constant.WHERE_DEFAULT,pageNo, null, String.valueOf(maintainService.getNowVersion(tableName).getVersion()), findMax); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @description: 根据条件获取数据 |
| | | * @param tableName 临时表名 |
| | | * @param character 用户 |
| | | * @param whereSegment 筛选条件 |
| | | * @param pageNo 页数 |
| | | * @param pageSize 每页数据量 |
| | | * @param findMax 是否查询的最大版本的数据 |
| | | * @return: 数据 |
| | | * |
| | | */ |
| | | @Override |
| | | public Result selectListByPageByVersion(Character character, String tableName, String whereSegment, Integer pageNo, Integer pageSize, boolean findMax) { |
| | | return selectListByPageByVersion(character, tableName,null,whereSegment,pageNo,pageSize, findMax); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @description: 根据条件获取数据 |
| | | * @param tableName 临时表名 |
| | | * @param character 用户 |
| | | * @param fieldList 筛选字段 |
| | | * @param whereSegment 筛选条件 |
| | | * @param pageNo 页数 |
| | | * @param pageSize 每页数据量 |
| | | * @param findMax 是否查询的最大版本的数据 |
| | | * @return: 数据 |
| | | * |
| | | */ |
| | | @Override |
| | | public Result selectListByPageByVersion(Character character, String tableName, List<String> fieldList, String whereSegment, Integer pageNo, boolean findMax) { |
| | | return selectListByPageByVersion(character, tableName,null,whereSegment,pageNo, null, findMax); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @description: 根据条件获取数据 |
| | | * @param tableName 临时表名 |
| | | * @param character 用户 |
| | | * @param whereSegment 筛选条件 |
| | | * @param pageNo 页数 |
| | | * @param fieldList 字段列表 |
| | | * @param findMax 是否查询的最大版本的数据 |
| | | * @return: 数据 |
| | | * |
| | | */ |
| | | @Override |
| | | public Result selectListByPageByVersion(Character character, String tableName, List<String> fieldList, Integer pageNo, boolean findMax) { |
| | | return selectListByPageByVersion(character, tableName,null,Constant.WHERE_DEFAULT,pageNo, findMax); |
| | | } |
| | | /** |
| | | * |
| | | * @description: 根据条件获取数据 |
| | | * @param tableName 临时表名 |
| | | * @param character 用户 |
| | | * @param whereSegment 筛选条件 |
| | | * @param pageNo 页数 |
| | | * @param version 版本号 |
| | | * @param findMax 是否查询的最大版本的数据 |
| | | * @return: 数据 |
| | | * |
| | | */ |
| | | @Override |
| | | public Result selectListByPageByVersion(Character character, String tableName, String whereSegment, Integer pageNo, String version, boolean findMax) { |
| | | return selectListByPageByVersion(character, tableName, null,whereSegment, pageNo, null,version, findMax); |
| | | } |
| | | /** |
| | | * |
| | | * @description: 根据条件获取数据 |
| | | * @param tableName 临时表名 |
| | | * @param character 用户 |
| | | * @param whereSegment 筛选条件 |
| | | * @param pageNo 页数 |
| | | * @param version 版本号 |
| | | * @param findMax 是否查询的最大版本的数据 |
| | | * @param uuid 日志使用 |
| | | * @return: 数据 |
| | | * |
| | | */ |
| | | @Override |
| | | public Result selectListByPageByVersion(Character character, String tableName, String whereSegment, Integer pageNo, String version, boolean findMax, String uuid) { |
| | | return selectListByPageByVersion(character, tableName, null,whereSegment, pageNo, null,version, findMax, uuid); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @description: 根据条件获取数据 |
| | | * @param tableName 临时表名 |
| | | * @param character 用户 |
| | | * @param whereSegment 筛选条件 |
| | | * @param version 版本号 |
| | | * @param findMax 是否查询的最大版本的数据 |
| | | * @return: 数据 |
| | | * |
| | | */ |
| | | @Override |
| | | public List<Map<String, Object>> selectListByVersion(Character character, String tableName, List<String> fieldList, String whereSegment, String version, boolean findMax) { |
| | | Maintain maintainFromVersion = maintainService.getMaintainFromVersion(tableName, version); |
| | |
| | | |
| | | String fields; |
| | | String tempFields; |
| | | String Hfields; |
| | | String A1fields; |
| | | String A2fields; |
| | | String A1Fields; |
| | | |
| | | String tempHfields; |
| | | |
| | | if (fieldList == null || fieldList.size() == 0) { |
| | | fields = getFields(character, tableName, maintainFromVersion); |
| | | Hfields = getFields(character, tableName,Constant.H, maintainFromVersion); |
| | | A1fields = getFields(character, tableName,Constant.A1, maintainFromVersion); |
| | | A2fields = getFields(character, tableName,Constant.A2, maintainFromVersion); |
| | | tempFields = getTempFields(character, tableName, maintainFromVersion); |
| | | tempHfields = getTempFields(character, tableName, Constant.H, maintainFromVersion); |
| | | A1Fields = getFields(character, tableName, Constant.A1, maintainFromVersion); |
| | | tempFields = getTempFields(character, tableName, Constant.A1, maintainFromVersion); |
| | | } else { |
| | | fields = fieldList.stream().collect(Collectors.joining(Constant.COMMA)); |
| | | Hfields = fieldList.stream().map(s -> MessageFormat.format(Constant.Alias,Constant.H, s)).collect(Collectors.joining(Constant.COMMA)); |
| | | A1fields = fieldList.stream().map(s -> MessageFormat.format(Constant.Alias,Constant.A1, s)).collect(Collectors.joining(Constant.COMMA)); |
| | | A2fields = fieldList.stream().map(s -> MessageFormat.format(Constant.Alias,Constant.A2, s)).collect(Collectors.joining(Constant.COMMA)); |
| | | A1Fields = fieldList.stream() |
| | | .map(s -> MessageFormat.format(Constant.Alias,Constant.A1, s)) |
| | | .collect(Collectors.joining(Constant.COMMA)); |
| | | tempFields = fieldList.stream() |
| | | .map(s -> |
| | | s.equalsIgnoreCase(Constant.ID) ? MessageFormat.format("{0} as id",Constant.STD_ID): s) |
| | | .collect(Collectors.joining(Constant.COMMA)); |
| | | |
| | | tempHfields = fieldList.stream() |
| | | .map(s -> |
| | | s.equalsIgnoreCase(Constant.ID) ? MessageFormat.format("{0} as id",Constant.STD_ID): s) |
| | | .map(s -> MessageFormat.format(Constant.Alias,Constant.H,s)) |
| | | .map(s -> MessageFormat.format(Constant.Alias,Constant.A1, s)) |
| | | .collect(Collectors.joining(Constant.COMMA)); |
| | | |
| | | } |
| | |
| | | long con = maintainIds.stream().map(s -> builder.append(DbUtils.quotedStr(s))).count(); |
| | | } |
| | | |
| | | result = mapper.selectByPageByMaxVersion(tableName,tableTempName,fields,tempFields, Hfields, A1fields, A2fields, tempHfields, fromVersionOrderNo, nowVersionOrderNo, DbUtils.quotedStr(maintainFromVersion.getId()), whereSegment, null); |
| | | result = mapper.selectByPageByMaxVersion(tableName,tableTempName,fields, A1Fields, tempFields, nowVersionOrderNo, whereSegment, null); |
| | | |
| | | }else { |
| | | result = mapper.selectByPageByVersion(tableName,tableTempName,fields,tempFields, Hfields, A1fields, A2fields, tempHfields, nowVersionOrderNo, fromVersionOrderNo, DbUtils.quotedStr(maintainFromVersion.getId()), whereSegment, null); |
| | | result = mapper.selectByPageByVersion(tableName,tableTempName,fields, A1Fields, tempFields, nowVersionOrderNo, fromVersionOrderNo, whereSegment, null); |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @description: 根据条件获取数据sql语句 |
| | | * @param tableName 临时表名 |
| | | * @param character 用户 |
| | | * @param whereSegment 筛选条件 |
| | | * @param version 版本号 |
| | | * @param findMax 是否查询的最大版本的数据 |
| | | * @return: 数据sql语句 |
| | | * |
| | | */ |
| | | @Override |
| | | public String selectByVersionSql(Character character, String tableName, List<String> fieldList, String whereSegment, String version, boolean findMax) { |
| | | Maintain maintainFromVersion = maintainService.getMaintainFromVersion(tableName, version); |
| | |
| | | |
| | | return result; |
| | | } |
| | | /** |
| | | * |
| | | * @description: 根据条件获取数据量 |
| | | * @param tableName 临时表名 |
| | | * @param character 用户 |
| | | * @param whereSegment 筛选条件 |
| | | * @param version 版本号 |
| | | * @param findMax 是否查询的最大版本的数据 |
| | | * @return: 数据量 |
| | | * |
| | | */ |
| | | @Override |
| | | public Long getCountByVersion(Character character, String tableName, String whereSegment, String version, boolean findMax) { |
| | | Maintain maintainFromVersion = maintainService.getMaintainFromVersion(tableName, version); |
| | |
| | | nowVersionOrderNo = nowVersionOrderNo - 1; |
| | | } |
| | | |
| | | count = getCountByMaxVersion(character, maintainFromVersion.getId(), tableName, tableTempName, fromVersionOrderNo, nowVersionOrderNo, whereSegment); |
| | | count = getCountByMaxVersion(character, maintainFromVersion.getId(), tableName, tableTempName, nowVersionOrderNo, whereSegment); |
| | | }else { |
| | | count = getCountByVersion(character, maintainFromVersion.getId(), tableName, tableTempName, nowVersionOrderNo, fromVersionOrderNo, whereSegment); |
| | | } |
| | | return count; |
| | | } |
| | | /** |
| | | * |
| | | * @description: 根据条件获取数据 |
| | | * @param tableName 临时表名 |
| | | * @param character 用户 |
| | | * @param whereSegment 筛选条件 |
| | | * @param pageNo 页数 |
| | | * @param pageSize 每页条数 |
| | | * @param version 版本号 |
| | | * @param findMax 是否查询的最大版本的数据 |
| | | * @return: 数据 |
| | | * |
| | | */ |
| | | @Override |
| | | public Result selectListByPageByVersion(Character character, String tableName, List<String> fieldList, String whereSegment, Integer pageNo, Integer pageSize, String version, boolean findMax) { |
| | | return selectListByPageByVersion(character, tableName, fieldList, whereSegment, pageNo, pageSize, version, findMax, null); |
| | | } |
| | | /** |
| | | * |
| | | * @description: 根据条件获取数据 |
| | | * @param tableName 临时表名 |
| | | * @param character 用户 |
| | | * @param fieldList 字段列表 |
| | | * @param whereSegment 筛选条件 |
| | | * @param pageNo 页数 |
| | | * @param pageSize 每页条数 |
| | | * @param version 版本号 |
| | | * @param findMax 是否查询的最大版本的数据 |
| | | * @return: 数据 |
| | | * |
| | | */ |
| | | @Override |
| | | public Result selectListByPageByVersion(Character character, String tableName, List<String> fieldList, String whereSegment, Integer pageNo, Integer pageSize, String version, boolean findMax, String uuid) { |
| | | return selectListByPageByVersion(character, tableName, fieldList, whereSegment, pageNo, pageSize, version, findMax, uuid, null); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @description: 根据条件获取数据 |
| | | * @param tableName 临时表名 |
| | | * @param character 用户 |
| | | * @param whereSegment 筛选条件 |
| | | * @param pageNo 页数 |
| | | * @param pageSize 每页条数 |
| | | * @param version 版本号 |
| | | * @param findMax 是否查询的最大版本的数据 |
| | | * @param uuid 供日志使用 |
| | | * @param page 已经计算好的分页对象 |
| | | * @return: 数据 |
| | | * |
| | | */ |
| | | @Override |
| | | public Result selectListByPageByVersion(Character character, String tableName, List<String> fieldList, String whereSegment, Integer pageNo, Integer pageSize, String version, boolean findMax, String uuid, Page page) { |
| | | String fieldStr = ""; |
| | |
| | | nowVersionOrderNo = nowVersionOrderNo - 1; |
| | | } |
| | | |
| | | count = getCountByMaxVersion(character, maintainFromVersion.getId(), tableName, tableTempName, fromVersionOrderNo, nowVersionOrderNo, whereSegment); |
| | | count = getCountByMaxVersion(character, maintainFromVersion.getId(), tableName, tableTempName, nowVersionOrderNo, whereSegment); |
| | | }else { |
| | | count = getCountByVersion(character, maintainFromVersion.getId(), tableName, tableTempName, nowVersionOrderNo, fromVersionOrderNo, whereSegment); |
| | | } |
| | |
| | | String limitSQL = page.getLimitSQL(); |
| | | String fields; |
| | | String tempFields; |
| | | String Hfields; |
| | | String A1fields; |
| | | String A2fields; |
| | | |
| | | String tempHfields; |
| | | String A1Fields; |
| | | |
| | | if (fieldList == null || fieldList.size() == 0) { |
| | | fields = getFields(character, tableName, maintainFromVersion, uuid); |
| | | A1Fields = getFields(character, tableName, Constant.A1, maintainFromVersion, uuid); |
| | | List<String> fieldStrList = DbUtils.split(fields, Constant.COMMA); |
| | | |
| | | Hfields = fieldStrList.stream().map(s -> MessageFormat.format(Constant.Alias,Constant.H, s)).collect(Collectors.joining(Constant.COMMA)); |
| | | A1fields = fieldStrList.stream().map(s -> MessageFormat.format(Constant.Alias,Constant.A1, s)).collect(Collectors.joining(Constant.COMMA)); |
| | | A2fields = fieldStrList.stream().map(s -> MessageFormat.format(Constant.Alias,Constant.A2, s)).collect(Collectors.joining(Constant.COMMA)); |
| | | tempFields = fieldStrList.stream() |
| | | .map(s -> |
| | | s.equalsIgnoreCase(Constant.ID) ? MessageFormat.format("{0} as id",Constant.STD_ID): s) |
| | | .map(s -> MessageFormat.format(Constant.Alias,Constant.MT, s)) |
| | | .collect(Collectors.joining(Constant.COMMA)); |
| | | |
| | | tempHfields = fieldStrList.stream() |
| | | .map(s -> |
| | | s.equalsIgnoreCase(Constant.ID) ? MessageFormat.format("{0} as id",Constant.STD_ID): s) |
| | | .map(s -> MessageFormat.format(Constant.Alias,Constant.H,s)) |
| | | .map(s -> MessageFormat.format(Constant.Alias,Constant.A1, s)) |
| | | .collect(Collectors.joining(Constant.COMMA)); |
| | | |
| | | } else { |
| | |
| | | fieldList.add(Constant.ID); |
| | | } |
| | | fields = fieldList.stream().collect(Collectors.joining(Constant.COMMA)); |
| | | Hfields = fieldList.stream().map(s -> MessageFormat.format(Constant.Alias,Constant.H, s)).collect(Collectors.joining(Constant.COMMA)); |
| | | A1fields = fieldList.stream().map(s -> MessageFormat.format(Constant.Alias,Constant.A1, s)).collect(Collectors.joining(Constant.COMMA)); |
| | | A2fields = fieldList.stream().map(s -> MessageFormat.format(Constant.Alias,Constant.A2, s)).collect(Collectors.joining(Constant.COMMA)); |
| | | A1Fields = fieldList.stream() |
| | | .map(s -> MessageFormat.format(Constant.Alias,Constant.A1, s)) |
| | | .collect(Collectors.joining(Constant.COMMA)); |
| | | tempFields = fieldList.stream() |
| | | .map(s -> |
| | | s.equalsIgnoreCase(Constant.ID) ? MessageFormat.format("{0} as id",Constant.STD_ID): s) |
| | | .map(s -> MessageFormat.format(Constant.Alias,Constant.MT, s)) |
| | | .collect(Collectors.joining(Constant.COMMA)); |
| | | |
| | | tempHfields = fieldList.stream() |
| | | .map(s -> |
| | | s.equalsIgnoreCase(Constant.ID) ? MessageFormat.format("{0} as id",Constant.STD_ID): s) |
| | | .map(s -> MessageFormat.format(Constant.Alias,Constant.H,s)) |
| | | .map(s -> MessageFormat.format(Constant.Alias,Constant.A1, s)) |
| | | .collect(Collectors.joining(Constant.COMMA)); |
| | | |
| | | } |
| | |
| | | long con = maintainIds.stream().map(s -> builder.append(DbUtils.quotedStr(s))).count(); |
| | | } |
| | | |
| | | result = mapper.selectByPageByMaxVersion(tableName,tableTempName,fields,tempFields, Hfields, A1fields, A2fields, tempHfields, fromVersionOrderNo, nowVersionOrderNo, DbUtils.quotedStr(maintainFromVersion.getId()), whereSegment, limitSQL); |
| | | result = mapper.selectByPageByMaxVersion(tableName,tableTempName,fields, A1Fields, tempFields, nowVersionOrderNo, whereSegment, limitSQL); |
| | | |
| | | }else { |
| | | result = mapper.selectByPageByVersion(tableName,tableTempName,fields,tempFields, Hfields, A1fields, A2fields, tempHfields, nowVersionOrderNo, fromVersionOrderNo, DbUtils.quotedStr(maintainFromVersion.getId()), whereSegment, limitSQL); |
| | | result = mapper.selectByPageByVersion(tableName,tableTempName,fields, A1Fields, tempFields, nowVersionOrderNo, fromVersionOrderNo, whereSegment, limitSQL); |
| | | } |
| | | endDate = new Date(); |
| | | log.info(MessageFormat.format("master tag:{0} MASTER-- select dataMap :{1} ms",uuid, (endDate.getTime() - startDate.getTime()))); |
| | |
| | | |
| | | return Result.success(resultobject); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @description: 上传数据后的操作 |
| | | * @param tableName 临时表名 |
| | | * @param uploadType 更新类型 |
| | | * @param userId 用户id |
| | | * @return: 生成后的版本 |
| | | * |
| | | */ |
| | | @Override |
| | | public Maintain uploadedData(String tableName, SysAssembleUpdateType uploadType, String userId) { |
| | | return uploadedData(tableName, uploadType, userId, true); |
| | | } |
| | | /** |
| | | * |
| | | * @description: 上传数据后的操作 |
| | | * @param tableName 临时表名 |
| | | * @param uploadType 更新类型 |
| | | * @param bigVersion 是否生成大版本 |
| | | * @param userId 用户id |
| | | * @return: 生成后的版本 |
| | | * |
| | | */ |
| | | @Override |
| | | public Maintain uploadedData(String tableName, SysAssembleUpdateType uploadType, String userId, boolean bigVersion) { |
| | | MenuMapping menuMapping = menuMappingService.selectOne(new EntityWrapper<MenuMapping>().eq("table_name",tableName)); |
| | |
| | | .setDesp("批量上传数据"); |
| | | |
| | | maintain.insert(); |
| | | connection.commit(); |
| | | } |
| | | catch (Exception e) { |
| | | e.printStackTrace(); |
| | |
| | | |
| | | |
| | | //bak |
| | | @Deprecated |
| | | public Result selectListByPage(String tableName, List<String> fieldList, String whereSegment, Integer pageNo, Integer pageSize, String version) { |
| | | Maintain maintainFromVersion = maintainService.getMaintainFromVersion(tableName, version); |
| | | long changeCount = maintainService.countVersionOperatorByType(tableName + Constant.RECORD, whereSegment, maintainFromVersion.getId(), Operate.create); |
| | |
| | | return Result.error(CodeMsg.DELETE_ERROR); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @description: 获取表中distinct后的值 |
| | | * @param tableName 临时表名 |
| | | * @param field 字段名 |
| | | * @return: 去重后的数据 |
| | | * |
| | | */ |
| | | @Override |
| | | public Set<String> getFieldValByTable(String tableName, String field) { |
| | | //查缓存 |
| | |
| | | } |
| | | // 读数据库 |
| | | String tempTableName = tableName + Constant.RECORD; |
| | | List<Map<String, Object>> maps = mapper.selectByPage(tableName, MessageFormat.format(Constant.DISTINCT, field), Constant.WHERE_DEFAULT, null); |
| | | // List<Map<String, Object>> maps = mapper.selectByPage(tableName, MessageFormat.format(Constant.DISTINCT, field), Constant.WHERE_DEFAULT, null); |
| | | |
| | | List<Map<String, Object>> tempMaps = mapper.selectByPage(tempTableName, MessageFormat.format(Constant.DISTINCT, field), Constant.WHERE_DEFAULT, null); |
| | | maps.addAll(tempMaps); |
| | | List<Map<String, Object>> maps = mapper.selectDistinct(tempTableName, field, Constant.WHERE_DEFAULT); |
| | | |
| | | if (maps.size() == 0) { |
| | | return null; |
| | | } |
| | |
| | | redisClient.putRedisList(key, new ArrayList(result)); |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @description: 获取表中distinct后的值 |
| | | * @param maintainFieldId 字段版本id |
| | | * @param tableName 表名 |
| | | * @param field 字段名 |
| | | * @return: 去重后的数据 |
| | | * |
| | | */ |
| | | @Override |
| | | public Set<String> getFieldValByMaintainField(String maintainFieldId, String field, String tableName) { |
| | | //查缓存 |
| | |
| | | |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @description: 创建索引 |
| | | * @param recordTableName 记录表名称 |
| | | * @return: |
| | | * |
| | | */ |
| | | @Override |
| | | public void createIdx(String recordTableName) { |
| | | String idxName = MessageFormat.format(Constant.IDX_TEMPLATE, recordTableName, Constant.STD_ID); |
| | |
| | | .map(stringObjectMap -> stringObjectMap.get("index_name").toString()) |
| | | .filter(s -> idxName.equalsIgnoreCase(s)).count(); |
| | | if (existsIdx == 0) { |
| | | mapper.createIdx(recordTableName, idxName, Constant.STD_ID); |
| | | |
| | | mapper.createIdx(recordTableName, idxName, Constant.STD_ID + Constant.COMMA + Constant.DEAL); |
| | | } |
| | | } |
| | | } |