From 57c62dd3e7d398e253c2db549b819d020040b1a5 Mon Sep 17 00:00:00 2001 From: kimi42345 <kimi42345@outlook.com> Date: 星期日, 29 三月 2020 20:49:17 +0800 Subject: [PATCH] no message --- src/main/java/com/highdatas/mdm/service/impl/MasterDataServiceImpl.java | 183 ++++++++++++++++++++++++++------------------- 1 files changed, 104 insertions(+), 79 deletions(-) diff --git a/src/main/java/com/highdatas/mdm/service/impl/MasterDataServiceImpl.java b/src/main/java/com/highdatas/mdm/service/impl/MasterDataServiceImpl.java index 9759a82..1b2cf0c 100644 --- a/src/main/java/com/highdatas/mdm/service/impl/MasterDataServiceImpl.java +++ b/src/main/java/com/highdatas/mdm/service/impl/MasterDataServiceImpl.java @@ -47,6 +47,9 @@ RedisClient redisClient; @Autowired IMaintainFieldService maintainFieldService; + @Autowired + IMasterAuthorService masterAuthorService; + @Resource protected DataSource dataSource; @@ -75,41 +78,40 @@ } @Override - public Result selectList(String tableName) { - return selectList(tableName, null,null, (maintainService.getNowVersion(tableName).getVersion())); + public Result selectList(TUser user, String tableName) { + return selectList(user, tableName, null,null, (maintainService.getNowVersion(tableName).getVersion())); } @Override - public Result selectList(String tableName, String whereSegment) { - return selectList(tableName, whereSegment, (maintainService.getNowVersion(tableName).getVersion())); + public Result selectList(TUser user, String tableName, String whereSegment) { + return selectList(user,tableName, whereSegment, (maintainService.getNowVersion(tableName).getVersion())); } @Override - public Result selectList(String tableName, String whereSegment, String version) { - return selectList(tableName, null, whereSegment, version); + public Result selectList(TUser user,String tableName, String whereSegment, String version) { + return selectList(user, tableName, null, whereSegment, version); } @Override - public Result selectList(String tableName, List<String> fieldList, String whereSegment) { - return selectList(tableName, fieldList, whereSegment, maintainService.getNowVersion(tableName).getVersion()); + public Result selectList(TUser user, String tableName, List<String> fieldList, String whereSegment) { + return selectList(user, tableName, fieldList, whereSegment, maintainService.getNowVersion(tableName).getVersion()); } @Override - public Result selectList(String tableName,List<String> fieldList, String whereSegment, String version) { + public Result selectList(TUser user, String tableName,List<String> fieldList, String whereSegment, String version) { try{ JSONObject object = new JSONObject(); - + //TODO only add version + Maintain maintainFromVersion = maintainService.getMaintainFromVersion(tableName, version); String fields; if (fieldList == null || fieldList.size() == 0) { - fields = getFields(tableName); + fields = getFields(user, tableName, maintainFromVersion); } else { fields = fieldList.stream().collect(Collectors.joining(Constant.COMMA)); } //std List<Map<String, Object>> select = mapper.select(tableName, fields, whereSegment); - //TODO only add version - Maintain maintainFromVersion = maintainService.getMaintainFromVersion(tableName, version); List<Map<String, Object>> maps = maintainService.selectVersionOperatorByType(tableName, maintainFromVersion.getId(), Operate.create); @@ -124,8 +126,8 @@ @Override - public Result selectList(String tableName, List<String> fields) { - return selectList(tableName,fields,Constant.WHERE_DEFAULT,(maintainService.getNowVersion(tableName).getVersion())); + public Result selectList(TUser user, String tableName, List<String> fields) { + return selectList(user, tableName,fields,Constant.WHERE_DEFAULT,(maintainService.getNowVersion(tableName).getVersion())); } public Long getCount(String tableName, String whereSegment) { @@ -143,20 +145,24 @@ } @Override - public Long getCountByVersion (String maintainId, String tableName,String tableTempName,Integer fromOrderNo, Integer toOrderNo, String whereSegment) { + public Long getCountByVersion (TUser user, String maintainId, String tableName,String tableTempName,Integer fromOrderNo, Integer toOrderNo, String whereSegment) { try{ Maintain maintain = maintainService.selectById(maintainId); - String fields = getFields(tableName, maintain); - String Hfields = getFields(tableName, Constant.H, maintain); - String tempFields = getTempFields(tableName, maintain); - String A1fields = getFields(tableName, Constant.A1, maintain); - String A2fields = getFields(tableName, Constant.A2, maintain); - String tempHFields = getTempFields(tableName, Constant.H, maintain); + String fields = getFields(user,tableName, maintain); + String Hfields = getFields(user, tableName, Constant.H, maintain); + String tempFields = getTempFields(user, tableName, maintain); + String A1fields = getFields(user, tableName, Constant.A1, maintain); + String A2fields = getFields(user, tableName, Constant.A2, maintain); + String tempHFields = getTempFields(user, tableName, Constant.H, maintain); if (StringUtils.isEmpty(whereSegment)) { whereSegment = Constant.WHERE_DEFAULT; } - Long count = mapper.getCountByVersion(tableName, tableTempName, fields, tempFields, Hfields, A1fields,A2fields,tempHFields, fromOrderNo, toOrderNo, DbUtils.quotedStr(maintainId), whereSegment); + Long count; + if (StringUtils.isEmpty(fields)) { + return 0L; + } + count = mapper.getCountByVersion(tableName, tableTempName, fields, tempFields, Hfields, A1fields,A2fields,tempHFields, fromOrderNo, toOrderNo, DbUtils.quotedStr(maintainId), whereSegment); return count; } catch (Exception e) { @@ -165,16 +171,16 @@ } } - public Long getCountByMaxVersion (String maintainId, String tableName,String tableTempName,Integer fromOrderNo, Integer toOrderNo, String whereSegment) { + public Long getCountByMaxVersion (TUser user, String maintainId, String tableName,String tableTempName,Integer fromOrderNo, Integer toOrderNo, String whereSegment) { try{ Maintain maintain = maintainService.selectById(maintainId); - String fields = getFields(tableName, maintain); - String Hfields = getFields(tableName, Constant.H, maintain); - String tempFields = getTempFields(tableName, maintain); - String A1fields = getFields(tableName, Constant.A1, maintain); - String A2fields = getFields(tableName, Constant.A2, maintain); - String tempHFields = getTempFields(tableName, Constant.H, maintain); + String fields = getFields(user, tableName, maintain); + String Hfields = getFields(user, tableName, Constant.H, maintain); + String tempFields = getTempFields(user, tableName, maintain); + String A1fields = getFields(user, tableName, Constant.A1, maintain); + String A2fields = getFields(user, tableName, Constant.A2, maintain); + String tempHFields = getTempFields(user, tableName, Constant.H, maintain); if (StringUtils.isEmpty(whereSegment)) { whereSegment = Constant.WHERE_DEFAULT; } @@ -194,9 +200,9 @@ } @Override - public String getFields(String tableName, Maintain maintain) { + public String getFields(TUser user, String tableName, Maintain maintain) { - return getFields(tableName, null, maintain); + return getFields(user, tableName, null, maintain); } private String getCaseWhenFields(String tableName) { @@ -233,9 +239,17 @@ } @Override - public String getFields(String tableName, String alias, Maintain maintain) { - List<SysField> fields = fieldService.getFieldByMaintain(maintain.getId()); + public String getFields(TUser user, String tableName, String alias, Maintain maintain) { + List<SysField> fields; + if (user == null) { + fields = fieldService.getFieldByMaintain(maintain.getId()); + }else { + fields = masterAuthorService.getField(user.getUserId(), maintain.getId()); + } ContentBuilder contentBuilder = new ContentBuilder(Constant.COMMA); + if (fields == null) { + return Constant.EMPTY_Str; + } if (!fields.contains(Constant.ID)) { fields.add(new SysField().setField(Constant.ID)); } @@ -258,17 +272,18 @@ } @Override - public String getTempFields(String tableName, Maintain maintain) { - return getTempFields(tableName, null, maintain); + public String getTempFields(TUser user, String tableName, Maintain maintain) { + return getTempFields(user, tableName, null, maintain); } @Override - public String getTempFields(String tableName) { - return getTempFields(tableName, Constant.EMPTY_Str); + public String getTempFields(TUser user, String tableName) { + return getTempFields(user, tableName, Constant.EMPTY_Str); } @Override - public String getTempFields(String tableName, String alias) { + public String getTempFields(TUser user, String tableName, String alias) { List<TableSchemaResult> tableField = mapper.getTableField(tableName); + ContentBuilder contentBuilder = new ContentBuilder(Constant.COMMA); for (TableSchemaResult tableSchemaResult : tableField) { String fieldName = tableSchemaResult.getFieldName(); @@ -290,8 +305,16 @@ } @Override - public String getTempFields(String tableName, String alias, Maintain maintain) { - List<SysField> fields = fieldService.getFieldByMaintain(maintain.getId()); + public String getTempFields(TUser user, String tableName, String alias, Maintain maintain) { + List<SysField> fields; + if (user == null) { + fields = fieldService.getFieldByMaintain(maintain.getId()); + }else { + fields = masterAuthorService.getField(user.getUserId(), maintain.getId()); + } + if (fields == null) { + return Constant.EMPTY_Str; + } ContentBuilder contentBuilder = new ContentBuilder(Constant.COMMA); if (!fields.contains(Constant.ID)) { fields.add(new SysField().setField(Constant.ID)); @@ -317,45 +340,45 @@ } @Override - public Result selectListByPageByVersion(String tableName, Integer pageNo, Integer pageSize, boolean findMax) { - return selectListByPageByVersion(tableName,Constant.WHERE_DEFAULT,pageNo,pageSize, findMax); + public Result selectListByPageByVersion(TUser user, String tableName, Integer pageNo, Integer pageSize, boolean findMax) { + return selectListByPageByVersion(user, tableName,Constant.WHERE_DEFAULT,pageNo,pageSize, findMax); } @Override - public Result selectListByPageByVersion(String tableName, String whereSegment, Integer pageNo, boolean findMax) { - return selectListByPageByVersion(tableName,null, whereSegment,pageNo, null, String.valueOf(maintainService.getNowVersion(tableName).getVersion()), findMax); + public Result selectListByPageByVersion(TUser user, String tableName, String whereSegment, Integer pageNo, boolean findMax) { + return selectListByPageByVersion(user, tableName,null, whereSegment,pageNo, null, String.valueOf(maintainService.getNowVersion(tableName).getVersion()), findMax); } @Override - public Result selectListByPageByVersion(String tableName, Integer pageNo, String version, boolean findMax) { - return selectListByPageByVersion(tableName,null,Constant.WHERE_DEFAULT,pageNo, null, version, findMax); + public Result selectListByPageByVersion(TUser user, String tableName, Integer pageNo, String version, boolean findMax) { + return selectListByPageByVersion(user, tableName,null,Constant.WHERE_DEFAULT,pageNo, null, version, findMax); } @Override - public Result selectListByPageByVersion(String tableName, Integer pageNo, boolean findMax) { - return selectListByPageByVersion(tableName,null,Constant.WHERE_DEFAULT,pageNo, null, String.valueOf(maintainService.getNowVersion(tableName).getVersion()), findMax); + public Result selectListByPageByVersion(TUser user, String tableName, Integer pageNo, boolean findMax) { + return selectListByPageByVersion(user, tableName,null,Constant.WHERE_DEFAULT,pageNo, null, String.valueOf(maintainService.getNowVersion(tableName).getVersion()), findMax); } @Override - public Result selectListByPageByVersion(String tableName, String whereSegment, Integer pageNo, Integer pageSize, boolean findMax) { - return selectListByPageByVersion(tableName,null,whereSegment,pageNo,pageSize, findMax); + public Result selectListByPageByVersion(TUser user, String tableName, String whereSegment, Integer pageNo, Integer pageSize, boolean findMax) { + return selectListByPageByVersion(user, tableName,null,whereSegment,pageNo,pageSize, findMax); } @Override - public Result selectListByPageByVersion(String tableName, List<String> fieldList, String whereSegment, Integer pageNo, boolean findMax) { - return selectListByPageByVersion(tableName,null,whereSegment,pageNo, null, findMax); + public Result selectListByPageByVersion(TUser user, String tableName, List<String> fieldList, String whereSegment, Integer pageNo, boolean findMax) { + return selectListByPageByVersion(user, tableName,null,whereSegment,pageNo, null, findMax); } @Override - public Result selectListByPageByVersion(String tableName, List<String> fieldList, Integer pageNo, boolean findMax) { - return selectListByPageByVersion(tableName,null,Constant.WHERE_DEFAULT,pageNo, findMax); + public Result selectListByPageByVersion(TUser user, String tableName, List<String> fieldList, Integer pageNo, boolean findMax) { + return selectListByPageByVersion(user, tableName,null,Constant.WHERE_DEFAULT,pageNo, findMax); } @Override - public Result selectListByPageByVersion(String tableName, String whereSegment, Integer pageNo, String version, boolean findMax) { - return selectListByPageByVersion(tableName, null,whereSegment, pageNo, null,version, findMax); + public Result selectListByPageByVersion(TUser user, String tableName, String whereSegment, Integer pageNo, String version, boolean findMax) { + return selectListByPageByVersion(user, tableName, null,whereSegment, pageNo, null,version, findMax); } @Override - public List<Map<String, Object>> selectListByVersion(String tableName, List<String> fieldList, String whereSegment, String version, boolean findMax) { + public List<Map<String, Object>> selectListByVersion(TUser user, String tableName, List<String> fieldList, String whereSegment, String version, boolean findMax) { Maintain maintainFromVersion = maintainService.getMaintainFromVersion(tableName, version); Maintain nowVersionMaintain = maintainService.getNowVersion(tableName); boolean isMax = maintainService.checkdMaxVersion(maintainFromVersion.getId()); @@ -379,12 +402,12 @@ String tempHfields; if (fieldList == null || fieldList.size() == 0) { - fields = getFields(tableName, maintainFromVersion); - Hfields = getFields(tableName,Constant.H, maintainFromVersion); - A1fields = getFields(tableName,Constant.A1, maintainFromVersion); - A2fields = getFields(tableName,Constant.A2, maintainFromVersion); - tempFields = getTempFields(tableName, maintainFromVersion); - tempHfields = getTempFields(tableName, Constant.H, maintainFromVersion); + fields = getFields(user, tableName, maintainFromVersion); + Hfields = getFields(user, tableName,Constant.H, maintainFromVersion); + A1fields = getFields(user, tableName,Constant.A1, maintainFromVersion); + A2fields = getFields(user, tableName,Constant.A2, maintainFromVersion); + tempFields = getTempFields(user, tableName, maintainFromVersion); + tempHfields = getTempFields(user, tableName, Constant.H, 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)); @@ -423,8 +446,7 @@ return result; } @Override - public Result selectListByPageByVersion(String tableName, List<String> fieldList, String whereSegment, Integer pageNo, Integer pageSize, String version, boolean findMax) { - + public Result selectListByPageByVersion(TUser user, String tableName, List<String> fieldList, String whereSegment, Integer pageNo, Integer pageSize, String version, boolean findMax) { Maintain maintainFromVersion = maintainService.getMaintainFromVersion(tableName, version); Maintain nowVersionMaintain = maintainService.getNowVersion(tableName); boolean isMax = maintainService.checkdMaxVersion(maintainFromVersion.getId()); @@ -448,11 +470,13 @@ if (isFirst && nowVersionMaintain == null) { nowVersionOrderNo = nowVersionOrderNo - 1; } - count = getCountByMaxVersion(maintainFromVersion.getId(), tableName, tableTempName, fromVersionOrderNo, nowVersionOrderNo, whereSegment); + count = getCountByMaxVersion(user, maintainFromVersion.getId(), tableName, tableTempName, fromVersionOrderNo, nowVersionOrderNo, whereSegment); }else { - count = getCountByVersion(maintainFromVersion.getId(), tableName, tableTempName, nowVersionOrderNo, fromVersionOrderNo, whereSegment); + count = getCountByVersion(user, maintainFromVersion.getId(), tableName, tableTempName, nowVersionOrderNo, fromVersionOrderNo, whereSegment); } - + if (count == 0) { + return Result.success(null); + } //mapper.selectByPageByVersion(tableName, tableTempName, fieldList, whereSegment,); Page page = new Page(count); if (pageSize != null && pageSize.compareTo(1) != -1) { @@ -473,12 +497,12 @@ String tempHfields; if (fieldList == null || fieldList.size() == 0) { - fields = getFields(tableName, maintainFromVersion); - Hfields = getFields(tableName,Constant.H, maintainFromVersion); - A1fields = getFields(tableName,Constant.A1, maintainFromVersion); - A2fields = getFields(tableName,Constant.A2, maintainFromVersion); - tempFields = getTempFields(tableName, maintainFromVersion); - tempHfields = getTempFields(tableName, Constant.H, maintainFromVersion); + fields = getFields(user, tableName, maintainFromVersion); + Hfields = getFields(user, tableName,Constant.H, maintainFromVersion); + A1fields = getFields(user, tableName,Constant.A1, maintainFromVersion); + A2fields = getFields(user, tableName,Constant.A2, maintainFromVersion); + tempFields = getTempFields(user, tableName, maintainFromVersion); + tempHfields = getTempFields(user, tableName, Constant.H, 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)); @@ -539,7 +563,6 @@ @Override public Maintain uploadedData(String tableName, SysAssembleUpdateType uploadType, String userId) { - MenuMapping menuMapping = menuMappingService.selectOne(new EntityWrapper<MenuMapping>().eq("table_name",tableName)); SysOperateLog operateLog = new SysOperateLog(); @@ -701,8 +724,8 @@ } @Override - public Result selectListByPageByVersion(String tableName,List<String> fieldList, String whereSegment, Integer pageNo, Integer pageSize, boolean findMax) { - return selectListByPageByVersion(tableName, fieldList, whereSegment,pageNo,pageSize,String.valueOf(maintainService.getNowVersion(tableName).getVersion()), findMax); + public Result selectListByPageByVersion(TUser user, String tableName,List<String> fieldList, String whereSegment, Integer pageNo, Integer pageSize, boolean findMax) { + return selectListByPageByVersion(user, tableName, fieldList, whereSegment,pageNo,pageSize,String.valueOf(maintainService.getNowVersion(tableName).getVersion()), findMax); } @Override @@ -1038,7 +1061,9 @@ ArrayList<String> fieldList = new ArrayList<>(); fieldList.add(field); fieldList.add(Constant.ID); - List<Map<String, Object>> maps = selectListByVersion(tableName, fieldList, Constant.WHERE_DEFAULT, max.getVersion(), false); + // where + + List<Map<String, Object>> maps = selectListByVersion(null, tableName, fieldList, Constant.WHERE_DEFAULT, max.getVersion(), false); String tempTableName = tableName + Constant.RECORD; List<Map<String, Object>> tempVals = mapper.getOneTempFieldDataByMaintainExtent(DbUtils.quotedStr(tableName), tempTableName, field, min.getOrderNo(), max.getOrderNo()); maps.addAll(tempVals); -- Gitblit v1.8.0