From d0451fdd55195901e65e5c4b3b64028a86f9e669 Mon Sep 17 00:00:00 2001 From: kimi42345 <kimi42345@outlook.com> Date: 星期日, 22 三月 2020 22:10:54 +0800 Subject: [PATCH] no message --- src/main/java/com/highdatas/mdm/service/impl/MasterDataServiceImpl.java | 156 +++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 111 insertions(+), 45 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 18c90e4..5bf0349 100644 --- a/src/main/java/com/highdatas/mdm/service/impl/MasterDataServiceImpl.java +++ b/src/main/java/com/highdatas/mdm/service/impl/MasterDataServiceImpl.java @@ -14,9 +14,12 @@ import org.apache.commons.lang3.StringUtils; import org.mybatis.spring.SqlSessionTemplate; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import javax.sql.DataSource; import java.sql.Connection; import java.sql.SQLException; import java.text.MessageFormat; @@ -43,8 +46,10 @@ IMaintainDetailService maintainDetailService; @Autowired IFlowsService flowsService; + @Resource - protected SqlSessionTemplate sqlSessionTemplate; + protected DataSource dataSource; + @Override public Result selectById(String tableName, String id) { try{ @@ -136,14 +141,18 @@ return null; } } + + @Override public Long getCountByVersion (String maintainId, String tableName,String tableTempName,Integer fromOrderNo, Integer toOrderNo, String whereSegment) { try{ - String fields = getFields(tableName); - String Hfields = getFields(tableName, Constant.H); - String tempFields = getTempFields(tableName); - String A1fields = getFields(tableName, Constant.A1); - String A2fields = getFields(tableName, Constant.A2); - String tempHFields = getTempFields(tableName, Constant.H); + 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); if (StringUtils.isEmpty(whereSegment)) { whereSegment = Constant.WHERE_DEFAULT; } @@ -158,12 +167,14 @@ public Long getCountByMaxVersion (String maintainId, String tableName,String tableTempName,Integer fromOrderNo, Integer toOrderNo, String whereSegment) { try{ - String fields = getFields(tableName); - String Hfields = getFields(tableName, Constant.H); - String tempFields = getTempFields(tableName); - String A1fields = getFields(tableName, Constant.A1); - String A2fields = getFields(tableName, Constant.A2); - String tempHFields = getTempFields(tableName, Constant.H); + 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); if (StringUtils.isEmpty(whereSegment)) { whereSegment = Constant.WHERE_DEFAULT; } @@ -179,7 +190,13 @@ @Override public String getFields(String tableName) { - return getFields(tableName, null); + return getFields(tableName, Constant.EMPTY_Str); + } + + @Override + public String getFields(String tableName, Maintain maintain) { + + return getFields(tableName, null, maintain); } private String getCaseWhenFields(String tableName) { @@ -216,8 +233,38 @@ } @Override + public String getFields(String tableName, String alias, Maintain maintain) { + List<SysField> fields = fieldService.getFieldByMaintain(maintain.getId()); + ContentBuilder contentBuilder = new ContentBuilder(Constant.COMMA); + if (!fields.contains(Constant.ID)) { + fields.add(new SysField().setField(Constant.ID)); + } + + for (SysField field : fields) { + String fieldName = field.getField(); + if (fieldName.equalsIgnoreCase(Constant.DEAL)) { + //DEAL 涓嶇粰鐪� + continue; + } + if (StringUtils.isEmpty(alias)) { + contentBuilder.append(fieldName); + } else { + contentBuilder.append(MessageFormat.format(Constant.Alias,alias,fieldName)); + } + + } + + return contentBuilder.toString(); + } + + @Override + public String getTempFields(String tableName, Maintain maintain) { + return getTempFields(tableName, null, maintain); + } + + @Override public String getTempFields(String tableName) { - return getTempFields(tableName, null); + return getTempFields(tableName, Constant.EMPTY_Str); } @Override public String getTempFields(String tableName, String alias) { @@ -225,6 +272,33 @@ ContentBuilder contentBuilder = new ContentBuilder(Constant.COMMA); for (TableSchemaResult tableSchemaResult : tableField) { String fieldName = tableSchemaResult.getFieldName(); + if (fieldName.equalsIgnoreCase(Constant.ID)) { + if (StringUtils.isEmpty(alias)) { + contentBuilder.append(MessageFormat.format("{0} as id", Constant.STD_ID)); + } else { + contentBuilder.append(MessageFormat.format("{0}.{1} as id", alias, Constant.STD_ID)); + } + continue; + } + if (StringUtils.isEmpty(alias)) { + contentBuilder.append(fieldName); + } else { + contentBuilder.append(MessageFormat.format(Constant.Alias,alias,fieldName)); + } + } + return contentBuilder.toString(); + } + + @Override + public String getTempFields(String tableName, String alias, Maintain maintain) { + List<SysField> fields = fieldService.getFieldByMaintain(maintain.getId()); + ContentBuilder contentBuilder = new ContentBuilder(Constant.COMMA); + if (!fields.contains(Constant.ID)) { + fields.add(new SysField().setField(Constant.ID)); + } + + for (SysField field : fields) { + String fieldName = field.getField(); if (fieldName.equalsIgnoreCase(Constant.ID)) { if (StringUtils.isEmpty(alias)) { contentBuilder.append(MessageFormat.format("{0} as id", Constant.STD_ID)); @@ -282,6 +356,7 @@ @Override public Result selectListByPageByVersion(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()); @@ -330,12 +405,12 @@ String tempHfields; if (fieldList == null || fieldList.size() == 0) { - fields = getFields(tableName); - Hfields = getFields(tableName,Constant.H); - A1fields = getFields(tableName,Constant.A1); - A2fields = getFields(tableName,Constant.A2); - tempFields = getTempFields(tableName); - tempHfields = getTempFields(tableName, Constant.H); + 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); } 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)); @@ -373,7 +448,7 @@ EntityWrapper<SysField> sysFieldEntityWrapper = new EntityWrapper<>(); sysFieldEntityWrapper.eq("table_name", tableName); - List<SysField> sysFields = fieldService.selectList(sysFieldEntityWrapper); + List<SysField> sysFields = fieldService.getFieldByMaintain(maintainFromVersion.getId()); if (isMax) { sysFields.add(new SysField().setAlias("鏁版嵁鐘舵��").setField("operate").setVisible(true).setFormat("operate_")); sysFields.add(new SysField().setAlias("瀹℃壒鐘舵��").setField("status").setVisible(true).setFormat("status_")); @@ -396,6 +471,7 @@ @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(); @@ -433,18 +509,18 @@ maintain.setTableName(tableName); maintain.setCreateTime(new Date()); - Connection connection = sqlSessionTemplate.getConnection(); + Connection connection; try { + connection = dataSource.getConnection(); + connection.setAutoCommit(false); mapper.insertMatintainDetailFromTemp(DbUtils.quotedStr(maintain.getId()), maintain.getTableName() + Constant.RECORD , DbUtils.quotedStr(Operate.create.toString())); - connection.commit(); mapper.updateStdId( maintain.getTableName() + Constant.RECORD); - connection.commit(); Integer aLong = mapper.tempDeal(maintain.getTableName() + Constant.RECORD, DbUtils.quotedStr(maintain.getId())); - connection.commit(); if (aLong == null) { maintain.setDesp("涓婁紶鏁版嵁"); + }else { + maintain.setDesp(MessageFormat.format("涓婁紶鏁版嵁{0}鏉�", aLong)); } - maintain.setDesp(MessageFormat.format("涓婁紶鏁版嵁{0}鏉�", aLong)); if (uploadType.equals(SysAssembleUpdateType.All)) { List<TableSchemaResult> tableField = mapper.getTableField(tableName); @@ -454,17 +530,15 @@ .map(s -> s.equalsIgnoreCase(Constant.STD_ID) ? MessageFormat.format(Constant.FieldAsAlias, Constant.ID, Constant.STD_ID) : s).collect(Collectors.joining(Constant.COMMA)); mapper.insertRecordFromStandrad(maintain.getTableName(), maintain.getTableName() + Constant.RECORD, collect); - connection.commit(); mapper.insertMatintainDetailFromStandrad(DbUtils.quotedStr(maintain.getId()), maintain.getTableName() + Constant.RECORD); - connection.commit(); Integer standradCnt = mapper.tempDeal(maintain.getTableName() + Constant.RECORD, DbUtils.quotedStr(maintain.getId())); - connection.commit(); + if (standradCnt != null) { maintain.setDesp(maintain.getDesp() + MessageFormat.format("鍒犻櫎鍘熸暟鎹畕0}鏉�", standradCnt)); }else { maintain.setDesp(maintain.getDesp() + "鍒犻櫎鍘熸暟鎹�"); } - maintain.setDesp(maintain.getDesp() + MessageFormat.format("鍒犻櫎鍘熸暟鎹畕0}鏉�", standradCnt)); + } operateLog.setCreateTime(new Date()) @@ -472,7 +546,7 @@ .setId(DbUtils.getUUID()) .setMaintainId(menuMapping.getId()) .setOperate("open") - .setDesp(MessageFormat.format("涓婁紶鏁版嵁{0}鏉�", aLong)); + .setDesp("鎵归噺涓婁紶鏁版嵁"); maintain.insert(); connection.commit(); @@ -480,17 +554,8 @@ catch (Exception e) { e.printStackTrace(); + } - } - finally { - if (connection != null) { - try { - connection.commit(); - } catch (SQLException e) { - e.printStackTrace(); - } - } - } return maintain; } @@ -609,9 +674,10 @@ public Result insert(String tableName, String json) { try { - List<TableSchemaResult> tableFieldList = mapper.getTableField(tableName); - List<String> fieldNameList = tableFieldList.stream().map(TableSchemaResult::getFieldName).collect(Collectors.toList()); - String fields = tableFieldList.stream().map(TableSchemaResult::getFieldName).collect(Collectors.joining(Constant.COMMA)); + List<SysField> fieldByTable = fieldService.getFieldByTable(tableName); + + List<String> fieldNameList = fieldByTable.stream().map(sysField -> sysField.getField()).collect(Collectors.toList()); + String fields = fieldByTable.stream().map(sysField -> sysField.getField()).collect(Collectors.joining(Constant.COMMA)); ContentBuilder builder = new ContentBuilder(Constant.COMMA); Object parse = JSON.parse(json); -- Gitblit v1.8.0