From c007f0ca1785db093d48f4846cda82fe8e955765 Mon Sep 17 00:00:00 2001 From: kimi <kimi42345@gmail.com> Date: 星期三, 27 五月 2020 09:59:29 +0800 Subject: [PATCH] merage --- src/main/java/com/highdatas/mdm/service/impl/MaintainFieldServiceImpl.java | 144 +++++++++++++++++++++++++++++++----------------- 1 files changed, 93 insertions(+), 51 deletions(-) diff --git a/src/main/java/com/highdatas/mdm/service/impl/MaintainFieldServiceImpl.java b/src/main/java/com/highdatas/mdm/service/impl/MaintainFieldServiceImpl.java index f0412ce..97bbbc4 100644 --- a/src/main/java/com/highdatas/mdm/service/impl/MaintainFieldServiceImpl.java +++ b/src/main/java/com/highdatas/mdm/service/impl/MaintainFieldServiceImpl.java @@ -12,6 +12,7 @@ import com.highdatas.mdm.service.*; import com.highdatas.mdm.util.Constant; import com.highdatas.mdm.util.DbUtils; +import com.highdatas.mdm.util.RedisClient; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -42,6 +43,16 @@ IMasterAuthorService masterAuthorService; @Autowired IMasterAuthorDetailService masterAuthorDetailService; + @Autowired + RedisClient redisClient; + /** + * + * @description: 鑾峰彇涓嬩竴鐗堟湰淇℃伅 + * @param tableName 琛ㄥ悕 + * @param userId 鐢ㄦ埛id + * @return: 瀛楁鐗堟湰瀵硅薄 + * + */ @Override public MaintainField getNextMaintain(String tableName, String userId) { MaintainField maintain = this.getMaxVersion(tableName); @@ -97,50 +108,43 @@ } return nowMaintain; } - + /** + * + * @description: 閫氳繃瀛楁鐗堟湰鑾峰彇瀵瑰簲鐨勬暟鎹増鏈琹ist + * @param tableName 琛ㄥ悕 + * @return 鏁版嵁鐗堟湰鍒楄〃 + * + */ @Override public List<Maintain> getMaintainByMaintainField(String maintainFieldId, String tableName) { HashMap<String, List<Maintain>> resultMap = getMaintainFieldMapByTable(tableName); if (resultMap == null) { return null; } + if (maintainFieldId == null) { + return null; + } + if (maintainFieldId.equalsIgnoreCase(Constant.All)) { + Collection<List<Maintain>> values = resultMap.values(); + HashSet<Maintain> maintains = new HashSet<>(); + for (List<Maintain> value : values) { + maintains.addAll(value); + } + + return new ArrayList<>(maintains); + } return resultMap.get(maintainFieldId); } - @Override - public boolean checkNowVersion(String maintainFieldId) { - MaintainField maintain = selectById(maintainFieldId); - MaintainField maxVersion = getNowVersion(maintain.getTableName()); - Integer compared = DbUtils.compareVersion(maxVersion, maintain); - if (compared != null && compared == 0) { - return true; - } else { - return false; - } - } - @Override - public boolean checkFirstVersion(String id) { - MaintainField maintain = selectById(id); - MaintainField order_no = selectOne(new EntityWrapper<MaintainField>().eq("table_name", maintain.getTableName()).orderBy("order_no")); - if (maintain.getId().equalsIgnoreCase(order_no.getId())) { - return true; - } - return false; - } - @Override - public boolean checkdMaxVersion(String maintainFieldId) { - MaintainField maintain = selectById(maintainFieldId); - MaintainField maxVersion = getMaxVersion(maintain.getTableName()); - Integer compared = DbUtils.compareVersion(maxVersion, maintain); - if (compared == 0) { - return true; - } else { - return false; - } - } - + /** + * + * @description: 鑾峰彇鏈�澶х殑瀛楁鐗堟湰 + * @param tableName 琛ㄥ悕 + * @return 瀛楁鐗堟湰瀵硅薄 + * + */ @Override public MaintainField getMaxVersion(String tableName) { Wrapper<MaintainField> versionWrapper = new EntityWrapper<MaintainField>().eq("table_name", tableName).orderBy("order_no desc"); @@ -148,7 +152,13 @@ MaintainField maxVersion = this.selectOne(versionWrapper); return maxVersion; } - + /** + * + * @description: 鑾峰彇鏈敓鏁堢殑鏈�澶х増鏈� + * @param tableName 琛ㄥ悕 + * @return 瀛楁鐗堟湰瀵硅薄 + * + */ @Override public MaintainField getUnFlowMaxVersion(String tableName) { Wrapper<MaintainField> versionWrapper = new EntityWrapper<MaintainField>().isNull("flow_id").eq("table_name", tableName).orderBy("order_no desc"); @@ -156,7 +166,13 @@ MaintainField maxVersion = selectOne(versionWrapper); return maxVersion; } - + /** + * + * @description: 鑾峰彇褰撳墠姝e湪鐢ㄧ殑瀛楁鐗堟湰瀵硅薄 + * @param tableName 琛ㄥ悕 + * @return 瀛楁鐗堟湰瀵硅薄 + * + */ @Override public MaintainField getNowVersion(String tableName) { Wrapper<MaintainField> versionWrapper = new EntityWrapper<MaintainField>().eq("table_name", tableName).isNotNull("flow_id").orderBy("order_no desc"); @@ -175,12 +191,13 @@ return null; } - @Override - public MaintainField getMaintainFromVersion(String tableName, String verison) { - Wrapper<MaintainField> versionWrapper = new EntityWrapper<MaintainField>().eq("version", verison).eq("table_name", tableName); - MaintainField maxVersion = selectOne(versionWrapper); - return maxVersion; - } + /** + * + * @description: 娴佺▼瀹屾垚鍚庣殑澶勭悊 + * @param maintainId 瀛楁鐗堟湰 + * @param status 娴佺▼鐘舵�� + * + */ @Override public void dealFlow(String maintainId, ActivitiStatus status) { @@ -211,9 +228,7 @@ .eq("maintain_auto", true) .eq("table_name", maintainField.getTableName()) .eq("maintain_field_id", preMaintainField.getId())); - if (masterAuthors.isEmpty()) { - return; - } + List<SysField> fieldList = fieldService.selectList(new EntityWrapper<SysField>().eq("maintain_field_id", maintainField.getId())); List<SysField> deleteList = fieldList.stream().filter(sysField -> Operate.delete.equals(sysField.getOperate())).collect(Collectors.toList()); @@ -280,6 +295,8 @@ maintainFieldMapper.addCloumn(tableName, field.getField(), fieldTypeStr); field.setOperate(null).updateById(); + + redisClient.delByField(); } @@ -290,7 +307,13 @@ - + /** + * + * @description: 鑾峰彇鏈敓鏁堢殑鐗堟湰鏁伴噺 + * @param tableName 琛ㄥ悕 + * @return 鏈敓鏁堢増鏈暟閲� + * + */ @Override public int getUnFlowCount(String tableName, String userId) { List<MaintainField> maintainFields = selectList(new EntityWrapper<MaintainField>().eq("table_name", tableName)); @@ -310,7 +333,13 @@ } return cnt; } - + /** + * + * @description: 閫氳繃琛ㄥ悕鑾峰彇瀛楁鐗堟湰锛屾暟鎹増鏈殑map list + * @param tableName 琛ㄥ悕 + * @return 瀛楁鐗堟湰锛屾暟鎹増鏈殑map list + * + */ @Override public JSONArray getMaintainListByTable(String tableName) { HashMap<String, List<Maintain>> resultMap = getMaintainFieldMapByTable(tableName); @@ -357,28 +386,41 @@ } return array; } - + /** + * + * @description: 閫氳繃琛ㄥ悕鍜屽瓧娈电増鏈幏鍙栨暟鎹増鏈琹ist + * @param tableName 琛ㄥ悕 + * @param id 瀛楁鐗堟湰id + * @return 鏁版嵁鐗堟湰list + * + */ @Override public List<Maintain> getMaintainListByMaintainField(String id, String tableName) { MaintainField maintainField = selectById(id); if (maintainField == null) { - if (!id.equalsIgnoreCase(Constant.Default)){ + if (!id.equalsIgnoreCase(Constant.Default) && !id.equalsIgnoreCase(Constant.All)){ return null; }else { - maintainField = new MaintainField().setId(Constant.Default).setTableName(tableName); + maintainField = new MaintainField().setId(id).setTableName(tableName); } } return getMaintainByMaintainField(maintainField.getId(), maintainField.getTableName()); } - + /** + * + * @description: 閫氳繃琛ㄥ悕鑾峰彇瀛楁鐗堟湰锛屾暟鎹増鏈殑map list + * @param tableName 琛ㄥ悕 + * @return 瀛楁鐗堟湰锛屾暟鎹増鏈殑map list + * + */ private HashMap<String, List<Maintain>> getMaintainFieldMapByTable(String tableName) { List<Maintain> maintainList = maintainService.selectList(new EntityWrapper<Maintain>().eq("table_name", tableName).isNotNull("flow_id").orderBy("order_no desc")); HashMap<String, List<Maintain>> resultMap = new HashMap<>(); for (Maintain maintain : maintainList) { ActivitiStatus status = flowsService.getStatusByBusinessId(maintain.getId()); - if (!status.equals(ActivitiStatus.open)) { + if (!ActivitiStatus.open.equals(status)) { continue; } MaintainField maintainFieldByMaintain = fieldService.getMaintainFieldByMaintain(maintain.getId()); -- Gitblit v1.8.0