| | |
| | | package com.vci.web.service.impl; |
| | | |
| | | import com.vci.client.common.providers.ServiceProvider; |
| | | import com.vci.corba.common.PLException; |
| | | import com.vci.corba.omd.data.BusinessObject; |
| | | import com.vci.corba.omd.lcm.Bound; |
| | | import com.vci.corba.omd.lcm.LifeCycle; |
| | | import com.vci.corba.omd.lcm.TransitionVO; |
| | | import com.vci.pagemodel.*; |
| | | import com.vci.starter.web.annotation.log.VciUnLog; |
| | | import com.vci.starter.web.exception.VciBaseException; |
| | | import com.vci.starter.web.pagemodel.BaseQueryObject; |
| | | import com.vci.starter.web.pagemodel.DataGrid; |
| | | import com.vci.starter.web.util.VciDateUtil; |
| | | import com.vci.web.constant.CacheKeyConstant; |
| | | import com.vci.web.model.OsLifeCycleDO; |
| | | import com.vci.web.pageModel.*; |
| | | import com.vci.model.OsLifeCycleDO; |
| | | import com.vci.web.service.OsLifeCycleServiceI; |
| | | import com.vci.web.service.OsStatusServiceI; |
| | | import com.vci.web.service.WebBoServiceI; |
| | |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.cache.annotation.CacheEvict; |
| | | import org.springframework.cache.annotation.Cacheable; |
| | | import org.springframework.context.annotation.Lazy; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import static com.vci.frameworkcore.constant.FrameWorkBusLangCodeConstant.DATA_ID_NOT_EXIST; |
| | | import static com.vci.web.constant.CacheNameConstant.VCI_OBJECT_SERVICE; |
| | | import static com.vci.web.constant.WebLangCodeConstant.LIFE_CYCLE_ROUTER_NULL; |
| | | import static com.vci.web.constant.WebLangCodeConstant.LIFE_CYCLE_TRANS_ERROR; |
| | | import static com.vci.constant.FrameWorkBusLangCodeConstant.DATA_ID_NOT_EXIST; |
| | | import static com.vci.constant.WebLangCodeConstant.LIFE_CYCLE_ROUTER_NULL; |
| | | import static com.vci.constant.WebLangCodeConstant.LIFE_CYCLE_TRANS_ERROR; |
| | | |
| | | /** |
| | | * 生命周期服务 |
| | |
| | | * @throws VciBaseException 转换生命周期出错的时候抛出异常 |
| | | */ |
| | | @Override |
| | | public void transCboStatus(List<com.vci.client.bof.ClientBusinessObject> cboList, |
| | | public void transCboStatus(List<BusinessObject> cboList, |
| | | String targetStatus) throws VciBaseException { |
| | | WebUtil.alertNotNull(cboList,"业务数据对象",targetStatus,"目标对象"); |
| | | com.vci.corba.omd.data.BusinessObject[] bos = new com.vci.corba.omd.data.BusinessObject[cboList.size()]; |
| | | BusinessObject[] bos = new BusinessObject[cboList.size()]; |
| | | for(int i = 0 ; i < cboList.size() ; i ++){ |
| | | bos[i] = cboList.get(i).getBusinessObject(); |
| | | bos[i] = cboList.get(i); |
| | | } |
| | | transStatus(bos, targetStatus); |
| | | } |
| | |
| | | @VciUnLog |
| | | public List<OsLifeCycleVO> selectAllLifeCycle() throws VciBaseException { |
| | | try { |
| | | // LifeCyle[] lifeCyles = platformClientUtil.getLifeCycleService().getLifeCyles(); |
| | | LifeCycle[] lifeCyles = ServiceProvider.getOMDService().getLifeCycleService().getLifeCycles(); |
| | | LifeCycle[] lifeCyles = platformClientUtil.getLifeCycleService().getLifeCycles(); |
| | | return lifeCycleDO2VOs(Arrays.stream(lifeCyles).collect(Collectors.toList())); |
| | | } catch (PLException vciError) { |
| | | if(logger.isErrorEnabled()){ |
| | | // logger.error(vciError.error_code,vciError); |
| | | logger.error(vciError.code,vciError); |
| | | } |
| | | throw WebUtil.getVciBaseException(vciError); |
| | | } |
| | |
| | | */ |
| | | @Override |
| | | @VciUnLog |
| | | @Cacheable(value = VCI_OBJECT_SERVICE,key = CacheKeyConstant.ALL_LIFE_CYCLE,unless="#result == null") |
| | | public Map<String,OsLifeCycleVO> selectAllLifeCycleMap() throws VciBaseException{ |
| | | return Optional.ofNullable(self.selectAllLifeCycle()).orElseGet(()->new ArrayList<>()).stream().collect(Collectors.toMap(s->s.getId(),t->t,(o1,o2)->o1)); |
| | | } |
| | |
| | | * 清除缓存 |
| | | */ |
| | | @Override |
| | | @CacheEvict(value = VCI_OBJECT_SERVICE,key = CacheKeyConstant.ALL_LIFE_CYCLE) |
| | | public void clearCache() { |
| | | |
| | | } |
| | |
| | | if(lineVO!=null){ |
| | | try { |
| | | com.vci.corba.omd.lcm.TransitionVO transitionVO = lifeCycleLineVO2DO(lineVO); |
| | | // platformClientUtil.getBOFactoryService().transferBusinessObject(new BusinessObjectHolder(obj), transitionVO); |
| | | ServiceProvider.getBOFService().transferBusinessObject(obj, transitionVO); |
| | | platformClientUtil.getBOFService().transferBusinessObject(obj, transitionVO.destination); |
| | | } catch (PLException e) { |
| | | throw WebUtil.getVciBaseException(e); |
| | | } |
| | |
| | | for(int i = 0 ; i < lineVOs.length; i ++){ |
| | | vos[i] = lifeCycleLineVO2DO(lineVOs[i]); |
| | | } |
| | | // platformClientUtil.getBOFactoryService().batchTransferBusinessObjectAndRelease( |
| | | // bos, vos, releaseStatus); |
| | | ServiceProvider.getBOFService().batchTransferBusinessObjectAndRelease( |
| | | platformClientUtil.getBOFService().batchTransferBusinessObjectAndRelease( |
| | | bos, vos, releaseStatus); |
| | | } catch (PLException e) { |
| | | throw WebUtil.getVciBaseException(e); |