From 5ba9659e72886fd81d2a48b771a6d3e089ebeafa Mon Sep 17 00:00:00 2001 From: yujh Date: Tue, 29 Apr 2025 17:44:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E5=B8=83=E6=96=B0=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=B8=A6=E5=87=BA=E5=BA=9F=E6=AD=A2=E6=97=B6=E9=97=B4=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E8=A7=A3=E5=86=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../designer/web/CoeDesignerWeb.java | 5 +- .../repository/util/CoeProcessLevelUtil.java | 66 +++++++++++++++---- .../repository/web/CoeProcessLevelWeb.java | 5 +- 3 files changed, 62 insertions(+), 14 deletions(-) diff --git a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/designer/web/CoeDesignerWeb.java b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/designer/web/CoeDesignerWeb.java index e4e5a50f..0fec4ad1 100755 --- a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/designer/web/CoeDesignerWeb.java +++ b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/designer/web/CoeDesignerWeb.java @@ -4756,7 +4756,10 @@ public class CoeDesignerWeb extends ActionWeb { //创建绩效关联关系 CreateRelevancePerformanceModel(isLargeIteration, oldUUID, PALRepositoryCache.getCache().get(newUUID), mapNewUUID, tempVer); - CoeProcessLevelUtil.copyRepositoryProperty(PALRepositoryCache.getCache().get(oldUUID), PALRepositoryCache.getCache().get(newUUID), mapNewUUID, _uc); + //ydq 修改 + CoeProcessLevelUtil.copyRepositoryProperty(PALRepositoryCache.getCache().get(oldUUID), PALRepositoryCache.getCache().get(newUUID), mapNewUUID, _uc,true); + //ydq 修改结束 + //CoeProcessLevelUtil.copyRepositoryProperty(PALRepositoryCache.getCache().get(oldUUID), PALRepositoryCache.getCache().get(newUUID), mapNewUUID, _uc); ro = ResponseObject.newOkResponse("创建成功"); ro.put("uuid", lastplModel.getId()); // 操作行为日志记录 diff --git a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/util/CoeProcessLevelUtil.java b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/util/CoeProcessLevelUtil.java index 2d202d7b..52af59de 100755 --- a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/util/CoeProcessLevelUtil.java +++ b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/util/CoeProcessLevelUtil.java @@ -8,19 +8,8 @@ import java.nio.charset.StandardCharsets; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Timestamp; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.Comparator; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.Map.Entry; -import java.util.Set; import com.actionsoft.bpms.commons.database.RowMap; import org.apache.commons.collections.CollectionUtils; @@ -655,6 +644,21 @@ public class CoeProcessLevelUtil { new CopyRepositoryProperty().copyRepositoryProperty(oldModel, newModel, mapNewUUID, _uc); } + //ydq 修改 + + /** + * 复制粘贴文件,创建新版本时对一些属性处理的公共方法 + * 包括关联属性、文件属性、文件特殊属性、文件形状附件 + * + * @param oldModel 被复制的模型 + * @param newModel 新的模型 + * @param mapNewUUID 新老模型的形状id关联关系 key:被复制的模型的形状id, valu:新的模型的形状id + */ + public static void copyRepositoryProperty(PALRepositoryModel oldModel, PALRepositoryModel newModel, Map mapNewUUID, UserContext _uc, Boolean isCreate) { + new CopyRepositoryProperty().copyRepositoryProperty(oldModel, newModel, mapNewUUID, _uc, isCreate); + } + //ydq 修改结束 + /** * 更新PAL与BPMS之间的关联(含PAL推送到BPMS运行,BPMS关联到PAL梳理)关系 * 由APP_ACT_COE_PROP表数据更新转换至APP_ACT_COE_PAL_CORRELATE @@ -3128,6 +3132,19 @@ public class CoeProcessLevelUtil { updateFile(oldModel.getId(), newModel.getId(), mapNewUUID, _uc); } + //ydq 修改 + public void copyRepositoryProperty(PALRepositoryModel oldModel, PALRepositoryModel newModel, Map mapNewUUID, UserContext _uc, Boolean isCreate) { + // 复制属性关联信息 + updateRelation(oldModel.getId(), newModel.getId(), mapNewUUID); + // 复制文件属性 + updateFileProperty(oldModel.getId(), newModel.getId(),isCreate); + // 复制文件特殊属性(类似列表属性) + updateSpecialAttr(newModel.getWsId(), oldModel.getId(), newModel.getId()); + // 复制附件 + updateFile(oldModel.getId(), newModel.getId(), mapNewUUID, _uc); + } + //ydq 修改结束 + /** * 处理附件 * @@ -3198,6 +3215,31 @@ public class CoeProcessLevelUtil { repositoryPropertyDao.batchInsert(newPropertyList); } + //ydq 修改 + // 复制文件属性 + private void updateFileProperty(String oldUuid, String newUuid, Boolean isCreate) { + System.out.println("开始复制文件属性,是否为新建:"+isCreate); + PALRepositoryPropertyDao repositoryPropertyDao = new PALRepositoryPropertyDao(); + List oldPropertyList = repositoryPropertyDao.getPropertysByPlid(oldUuid, ""); + List newPropertyList = new ArrayList(); + if (oldPropertyList != null && oldPropertyList.size() > 0) { + for (PALRepositoryPropertyModel propertyModel : oldPropertyList) { + System.out.println("本次复制属性:"+JSON.toJSONString(propertyModel)); + if (isCreate && Objects.nonNull(propertyModel) && UtilString.isNotEmpty(propertyModel.getPropertyId()) && "obsolescence_time".equals(propertyModel.getPropertyId())) { + System.out.println("进入废止时间属性复制"); + propertyModel.setPropertyValue(""); + System.out.println("设置废止时间完成,修改后属性值:"+JSON.toJSONString(propertyModel)); + } + propertyModel.setPlId(newUuid); + propertyModel.setId(UUIDGener.getUUID()); + newPropertyList.add(propertyModel); + System.out.println("本次属性复制完成"); + } + } + repositoryPropertyDao.batchInsert(newPropertyList); + } + //ydq 修改结束 + /** * 关联属性复制 * diff --git a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/web/CoeProcessLevelWeb.java b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/web/CoeProcessLevelWeb.java index 4c2029d4..395895c0 100755 --- a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/web/CoeProcessLevelWeb.java +++ b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/web/CoeProcessLevelWeb.java @@ -5674,7 +5674,10 @@ public class CoeProcessLevelWeb extends ActionWeb { mapNewUUID = createShapeIdRelation(oldModel, mapNewUUID, true); // 更新流程文件中节点id等信息 updateDefineShape(newModel, mapNewUUID, ""); - CoeProcessLevelUtil.copyRepositoryProperty(oldModel, newModel, mapNewUUID, _uc); + //CoeProcessLevelUtil.copyRepositoryProperty(oldModel, newModel, mapNewUUID, _uc); + //ydq 修改 + CoeProcessLevelUtil.copyRepositoryProperty(oldModel, newModel, mapNewUUID, _uc,true); + //ydq 修改结束 } catch (Exception e) { e.printStackTrace();