package com.vci.web.service.impl;
|
|
import com.vci.common.utility.ObjectUtility;
|
import com.vci.corba.common.PLException;
|
import com.vci.corba.portal.data.PLAction;
|
import com.vci.corba.portal.data.PLTypeAction;
|
import com.vci.dto.PLTypeActionDTO;
|
import com.vci.starter.web.pagemodel.BaseResult;
|
import com.vci.starter.web.util.VciBaseUtil;
|
import com.vci.web.service.OsTypeActionServiceI;
|
import com.vci.starter.web.util.Lcm.Func;
|
import com.vci.web.util.PlatformClientUtil;
|
import com.vci.web.util.UITools;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.Arrays;
|
import java.util.List;
|
|
/**
|
* 类型Action管理服务
|
* @author ludc
|
* @date 2024/10/24 17:05
|
*/
|
@Service
|
public class OsTypeActionServiceImpl implements OsTypeActionServiceI {
|
|
@Autowired
|
private PlatformClientUtil platformClientUtil;
|
|
/**
|
* 根据业务类型名获取类型Action
|
* @param typeName 查询条件-业务类型名称
|
* @return
|
*/
|
@Override
|
public List<PLAction> getTypeActionByType(String typeName) throws PLException {
|
VciBaseUtil.alertNotNull(typeName,"查询条件【类型名】");
|
PLAction[] plActions = platformClientUtil.getUIService().getAllPLActionEntityByType(typeName);
|
return Arrays.asList(plActions);
|
}
|
|
/**
|
* 保存类型Action
|
* @param plActionDTO
|
* @return
|
*/
|
@Override
|
public BaseResult savePLTypeAction(PLTypeActionDTO plActionDTO) throws PLException {
|
VciBaseUtil.alertNotNull(
|
plActionDTO,"添加的类型Action对象",plActionDTO.getPlTypeName(),
|
plActionDTO.getActions(),"添加的Action列表"
|
);
|
String typeName = plActionDTO.getPlTypeName();
|
PLAction[] dbActions = platformClientUtil.getUIService().getAllPLActionEntityByType(typeName);
|
List<PLAction> actions = plActionDTO.getActions();
|
//遍历数组和list,比较新添加的索引行是否已经存在
|
for(PLAction ac: dbActions){
|
for(int i=0; i<actions.size(); i++){
|
if(actions.get(i).plOId.equals(ac.plOId)){
|
return BaseResult.fail("已存在名称为 【"+actions.get(i).plName+"】 的action!");
|
}
|
}
|
}
|
for(int i=0;i<actions.size();i++){
|
PLTypeAction plTypeAction = new PLTypeAction(ObjectUtility.getNewObjectID36(), typeName, actions.get(i).plOId);
|
boolean res = UITools.getService().savePLTypeActionEntity(plTypeAction);
|
if(!res){
|
return BaseResult.fail("类型action保存失败!");
|
}
|
}
|
return BaseResult.success("类型action保存成功!");
|
}
|
|
/**
|
* 移除类型Action
|
* @param typeName 所在类型名
|
* @param typeActionOIds 类型action
|
* @return
|
*/
|
@Override
|
public BaseResult delPLTypeActions(String typeName, String typeActionOIds) throws PLException {
|
VciBaseUtil.alertNotNull(typeName,"类型名",typeActionOIds,"待移除的类型action主键集合");
|
List<String> taOIds = Func.toStrList(typeActionOIds);
|
for (String taOId : taOIds) {
|
boolean res = UITools.getService().deletePLTypeActionEntityByTypeAndAction(typeName, taOId);
|
if(!res){
|
return BaseResult.success("类型Action移除失败!");
|
}
|
}
|
return BaseResult.success("类型Action移除成功!");
|
}
|
|
}
|