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/UIDataServiceI.java | 15 +++++++ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebUIDataController.java | 36 ++++++++++++++++++ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIDataServiceImpl.java | 44 +++++++++++++++++++++ 3 files changed, 94 insertions(+), 1 deletions(-) diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebUIDataController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebUIDataController.java index 63796de..6c19aeb 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebUIDataController.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebUIDataController.java @@ -210,4 +210,40 @@ re.setData(dataMapList); return re; } + /** + * 鍙樻洿鎵�鏈夎�� + * @param btmname 涓氬姟绫诲瀷 + * @param oid 涓婚敭 + * @return 鎵ц鐨勭粨鏋� + */ + @PutMapping("/changeBusinessObjectOwner") + public BaseResult changeBusinessObjectOwner(String btmname , String oid) { + try { + return uiDataService.changeBusinessObjectOwner(btmname, oid); + } catch (PLException e) { + BaseResult<Object> objectBaseResult = new BaseResult<>(); + objectBaseResult.setCode(Integer.parseInt(e.code)); + objectBaseResult.setMsg(Arrays.toString(e.messages)); + return objectBaseResult; + } + } + + /** + * 鐘舵�佽穬杩� + * @param btmname 涓氬姟绫诲瀷 + * @param oid 涓婚敭 + * @param releaseStatus 鍙戝竷鐘舵�� + * @return 鎵ц鐨勭粨鏋� + */ + @PutMapping("/transferBusinessObject") + public BaseResult transferBusinessObject(String btmname , String oid, String toStatus, String releaseStatus) { + try { + return uiDataService.transferBusinessObject(btmname, oid, toStatus, releaseStatus); + } catch (PLException e) { + BaseResult<Object> objectBaseResult = new BaseResult<>(); + objectBaseResult.setCode(Integer.parseInt(e.code)); + objectBaseResult.setMsg(Arrays.toString(e.messages)); + return objectBaseResult; + } + } } diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIDataServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIDataServiceI.java index e5a20a8..dc2df3b 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIDataServiceI.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIDataServiceI.java @@ -258,4 +258,19 @@ * @return 鎵ц鐨勭粨鏋� */ BaseResult deleteBusinessObject(String btmname, String oid, int type) throws PLException; + /** + * 鍙樻洿鎵�鏈夎�� + * @param btmname 涓氬姟绫诲瀷 + * @param oid 涓婚敭 + * @return 鎵ц鐨勭粨鏋� + */ + BaseResult changeBusinessObjectOwner(String btmname, String oid) throws PLException; + /** + * 鐘舵�佽穬杩� + * @param btmname 涓氬姟绫诲瀷 + * @param oid 涓婚敭 + * @param releaseStatus 鍙戝竷鐘舵�� + * @return 鎵ц鐨勭粨鏋� + */ + BaseResult transferBusinessObject(String btmname, String oid, String toStatus, String releaseStatus) throws PLException; } 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