From adaa1d256fb85d2769b2be867b7071a660996c59 Mon Sep 17 00:00:00 2001
From: yuxc <yuxc@vci-tech.com>
Date: 星期四, 04 七月 2024 16:54:38 +0800
Subject: [PATCH] 增加变更所有者、状态跃迁等功能

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIDataServiceImpl.java |   44 +++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 43 insertions(+), 1 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIDataServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIDataServiceImpl.java
index a9e66f5..8f0443d 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIDataServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIDataServiceImpl.java
@@ -2,6 +2,7 @@
 
 import com.vci.client.common.providers.ClientServiceProvider;
 import com.vci.corba.common.PLException;
+import com.vci.corba.framework.data.UserInfo;
 import com.vci.corba.omd.data.*;
 import com.vci.corba.omd.lcm.LifeCycle;
 import com.vci.file.pagemodel.VciFileObjectVO;
@@ -34,6 +35,7 @@
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import java.lang.reflect.Method;
@@ -2484,7 +2486,6 @@
                 String revisionoid = Arrays.stream(cbo.hisAttrValList).filter(e -> e.attrName.equals("REVISIONOID")).findFirst().map(e -> e.attrVal).orElse("");
                 cbo.revisionid = revisionoid;
             }
-//            cbo.revisionid = hisAttrValList.
             boolean b = platformClientUtil.getBOFService().deleteBusinessObject(cbo,type);
             if(!b){
                 throw new PLException("500", new String[]{"鏁版嵁鍒犻櫎澶辫触锛侊紒"});
@@ -2492,4 +2493,45 @@
         }
         return BaseResult.success();
     }
+    /**
+     * 鍙樻洿鎵�鏈夎��
+     * @param btmname 涓氬姟绫诲瀷
+     * @param oid 涓婚敭
+     * @return 鎵ц鐨勭粨鏋�
+     */
+    @Override
+    public BaseResult changeBusinessObjectOwner(String btmname, String oid) throws PLException {
+        List<BusinessObject> cbos = boService.queryCBO(btmname,WebUtil.getOidQuery(oid));
+        BaseResult<Object> objectBaseResult = new BaseResult<>();
+        if(cbos.size() == 0){
+            objectBaseResult.setSuccess(false);
+            throw new PLException("500", new String[]{"娌℃湁鑾峰彇鍒版暟鎹殑涓婚敭"});
+        }
+        UserInfo userInfo = platformClientUtil.getFrameworkService().getUserObjectByUserName(WebUtil.getCurrentUserId());
+        for (BusinessObject cbo : cbos) {
+            platformClientUtil.getBOFService().changeBusinessObjectOwner(cbo,userInfo);
+        }
+        return BaseResult.success();
+    }
+    /**
+     * 鍙樻洿鎵�鏈夎��
+     * @param btmname 涓氬姟绫诲瀷
+     * @param oid 涓婚敭
+     * @param releaseStatus 鍙戝竷鐘舵��
+     * @return 鎵ц鐨勭粨鏋�
+     */
+    @Override
+    @Transactional
+    public BaseResult transferBusinessObject(String btmname, String oid, String toStatus,String releaseStatus) throws PLException {
+        List<BusinessObject> cbos = boService.queryCBO(btmname,WebUtil.getOidQuery(oid));
+        BaseResult<Object> objectBaseResult = new BaseResult<>();
+        if(cbos.size() == 0){
+            objectBaseResult.setSuccess(false);
+            throw new PLException("500", new String[]{"娌℃湁鑾峰彇鍒版暟鎹殑涓婚敭"});
+        }
+        for (BusinessObject cbo : cbos) {
+            platformClientUtil.getBOFService().transferBusinessObjectAndRelease(cbo, toStatus, releaseStatus);
+        }
+        return BaseResult.success();
+    }
 }

--
Gitblit v1.9.3