From 2411eadd4ad4bef5c08c6ba2ea5898ea72136e29 Mon Sep 17 00:00:00 2001 From: kimi42345 <kimi42345@outlook.com> Date: 星期一, 02 三月 2020 11:13:35 +0800 Subject: [PATCH] add assebmle --- src/main/java/com/highdatas/mdm/service/impl/MaintainServiceImpl.java | 32 +++++++++++++++++++++----------- 1 files changed, 21 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/highdatas/mdm/service/impl/MaintainServiceImpl.java b/src/main/java/com/highdatas/mdm/service/impl/MaintainServiceImpl.java index f7c8f61..b1e83e9 100644 --- a/src/main/java/com/highdatas/mdm/service/impl/MaintainServiceImpl.java +++ b/src/main/java/com/highdatas/mdm/service/impl/MaintainServiceImpl.java @@ -45,6 +45,7 @@ MasterDataService masterDataService; @Autowired ISysFieldService fieldService; + @Autowired MaintainMapper maintainMapper; @@ -97,7 +98,10 @@ if (status.equals(ActivitiStatus.close)) { String collect = maintainDetailList.stream().map(detail -> DbUtils.quotedStr(detail.getPreMergeId())).collect(Collectors.joining(Constant.COMMA)); //delete temp - masterDataService.delete(tableName + Constant.RECORD, "id in (" +collect+ ")"); + if (!StringUtils.isEmpty(collect)) { + masterDataService.delete(tableName + Constant.RECORD, "id in (" +collect+ ")"); + } + //delete detail for (MaintainDetail maintainDetail : maintainDetailList) { maintainDetail.deleteById(); @@ -172,7 +176,7 @@ @Override public Result getUnSubmitData(String tableName, Integer pageNo, String pageSize, String whereSegment) { - Wrapper<Maintain> versionWrapper = new EntityWrapper<Maintain>().eq("table_name", tableName).isNull("flow_id").orderBy("version desc"); + Wrapper<Maintain> versionWrapper = new EntityWrapper<Maintain>().eq("table_name", tableName).isNull("flow_id").orderBy("order_no desc"); Maintain maintain = selectOne(versionWrapper); if (maintain == null) { return Result.error(CodeMsg.SELECT_ERROR_NOTFOUND); @@ -211,7 +215,7 @@ @Override public Maintain getMaxVersion(String tableName) { - Wrapper<Maintain> versionWrapper = new EntityWrapper<Maintain>().eq("table_name", tableName).orderBy("version desc"); + Wrapper<Maintain> versionWrapper = new EntityWrapper<Maintain>().eq("table_name", tableName).orderBy("order_no desc"); Maintain maxVersion = selectOne(versionWrapper); return maxVersion; @@ -219,7 +223,7 @@ @Override public Maintain getUnFlowMaxVersion(String tableName) { - Wrapper<Maintain> versionWrapper = new EntityWrapper<Maintain>().isNull("flow_id").eq("table_name", tableName).orderBy("version desc"); + Wrapper<Maintain> versionWrapper = new EntityWrapper<Maintain>().isNull("flow_id").eq("table_name", tableName).orderBy("order_no desc"); Maintain maxVersion = selectOne(versionWrapper); return maxVersion; @@ -228,7 +232,7 @@ @Override public Maintain getInvalidMaxVersion(String tableName) { Maintain result = null; - Wrapper<Maintain> versionWrapper = new EntityWrapper<Maintain>().eq("table_name", tableName).orderBy("version desc"); + Wrapper<Maintain> versionWrapper = new EntityWrapper<Maintain>().eq("table_name", tableName).orderBy("order_no desc"); List<Maintain> maintainList = selectList(versionWrapper); @@ -278,7 +282,7 @@ @Override public Maintain getNowVersion(String tableName) { - Wrapper<Maintain> versionWrapper = new EntityWrapper<Maintain>().eq("table_name", tableName).isNotNull("flow_id").orderBy("version desc"); + Wrapper<Maintain> versionWrapper = new EntityWrapper<Maintain>().eq("table_name", tableName).isNotNull("flow_id").orderBy("order_no desc"); List<Maintain> maintains = selectList(versionWrapper); for (Maintain maintain : maintains) { @@ -298,7 +302,7 @@ @Override public Maintain getRecentHistoryVersion(String tableName) { Maintain nowMaintain = null; - Wrapper<Maintain> versionWrapper = new EntityWrapper<Maintain>().eq("table_name", tableName).isNotNull("flow_id").orderBy("version desc"); + Wrapper<Maintain> versionWrapper = new EntityWrapper<Maintain>().eq("table_name", tableName).isNotNull("flow_id").orderBy("order_no desc"); List<Maintain> maintains = selectList(versionWrapper); for (Maintain maintain : maintains) { Flows flows = flowsService.selectById(maintain.getFlowId()); @@ -306,16 +310,22 @@ continue; } ActivitiStatus status = flows.getStatus(); - if (status.equals(ActivitiStatus.open)) { + if (status.equals(ActivitiStatus.open) && nowMaintain == null) { nowMaintain = maintain; - break; + continue; + } + if (!status.equals(ActivitiStatus.open) && nowMaintain != null){ + nowMaintain = null; } } if (nowMaintain == null) { - nowMaintain = selectOne(new EntityWrapper<Maintain>().eq("table_name", tableName).orderBy("version desc")); + nowMaintain = selectOne(new EntityWrapper<Maintain>().eq("table_name", tableName).orderBy("order_no desc")); } int orderNo = nowMaintain.getOrderNo(); - orderNo--; + Maintain nowVersion = getNowVersion(tableName); + if (nowVersion != null && nowVersion.getOrderNo() == orderNo) { + orderNo--; + } Maintain maintain = selectOne(new EntityWrapper<Maintain>().eq("table_name", nowMaintain.getTableName()).eq("order_no", orderNo)); return maintain; } -- Gitblit v1.8.0