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 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 actions = plActionDTO.getActions(); //遍历数组和list,比较新添加的索引行是否已经存在 for(PLAction ac: dbActions){ for(int i=0; i 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移除成功!"); } }