From bab515e6ecfb16c042d455fdd2f042b2fd277dda Mon Sep 17 00:00:00 2001 From: ludc Date: 星期三, 11 十月 2023 00:43:11 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LifeCycleServiceImpl.java | 100 ++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 72 insertions(+), 28 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LifeCycleServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LifeCycleServiceImpl.java index bd1f599..7d61250 100644 --- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LifeCycleServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LifeCycleServiceImpl.java @@ -4,26 +4,18 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.vci.ubcs.omd.constant.BtmTypeConstant; +import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; import com.vci.ubcs.omd.dto.LifeCycleDTO; import com.vci.ubcs.omd.dto.LifeCycleEdgeDTO; import com.vci.ubcs.omd.dto.LifeCycleLineEventDTO; import com.vci.ubcs.omd.dto.LifeCycleNodeDTO; -import com.vci.ubcs.omd.entity.LifeCycleEdge; -import com.vci.ubcs.omd.entity.LifeCycleLineEvent; -import com.vci.ubcs.omd.entity.LifeCycleNode; -import com.vci.ubcs.omd.entity.LifeCycleRule; -import com.vci.ubcs.omd.mapper.LifeCycleEdgeMapper; -import com.vci.ubcs.omd.mapper.LifeCycleLineEventMapper; -import com.vci.ubcs.omd.mapper.LifeCycleMapper; -import com.vci.ubcs.omd.mapper.LifeCycleNodeMapper; -import com.vci.ubcs.omd.repeater.DomainRepeater; +import com.vci.ubcs.omd.entity.*; +import com.vci.ubcs.omd.mapper.*; import com.vci.ubcs.omd.service.IBtmTypeService; import com.vci.ubcs.omd.service.ILifeCycleService; import com.vci.ubcs.omd.service.IStatusService; -import com.vci.ubcs.omd.vo.BtmTypeVO; -import com.vci.ubcs.omd.vo.LifeCycleVO; -import com.vci.ubcs.omd.vo.StatusVO; +import com.vci.ubcs.omd.vo.*; +import com.vci.ubcs.omd.wrapper.LifeCycleEventWrapper; import com.vci.ubcs.omd.wrapper.LifeCycleRuleWrapper; import com.vci.ubcs.starter.enumpack.NewAppConstantEnum; import com.vci.ubcs.starter.exception.VciBaseException; @@ -85,7 +77,11 @@ @Lazy private IBtmTypeService btmTypeService; + @Resource + private LifeCycleEventMapper eventMapper; + @Resource + private LifeCycleMapper lifeCycleMapper; /** * 鑾峰彇鐢熷懡鍛ㄦ湡鍒楄〃 * @@ -99,6 +95,30 @@ } /** + * 鑾峰彇鍏ㄩ儴鐨勪簨浠� + * + * @param conditionMap 鏌ヨ鏉′欢 + * @param query 鍒嗛〉 + * @return 浜嬩欢鐨勬樉绀哄璞� + */ + @Override + public IPage<LifeCycleEventVO> listEvent(Map<String, Object> conditionMap, Query query) { + return LifeCycleEventWrapper.build().pageVO(eventMapper.selectPage(Condition.getPage(query),Condition.getQueryWrapper(conditionMap, LifeCycleEvent.class).lambda().orderByAsc(LifeCycleEvent::getEventFullName))); + } + + public List<LifeCycleEventVO> listEventNoPage(){ + QueryWrapper<LifeCycleEvent> queryWrapper = new QueryWrapper(); + List<LifeCycleEvent> lifeCycleEvents = eventMapper.selectList(queryWrapper); + List<LifeCycleEventVO> vos = new ArrayList<>(); + lifeCycleEvents.stream().forEach(lifeCycleEvent -> { + LifeCycleEventVO vo = new LifeCycleEventVO(); + BeanUtil.convert(lifeCycleEvent,vo); + vos.add(vo); + }); + return vos; + } + + /** * 娣诲姞淇濆瓨 * * @param lifeCycleDTO 鏁版嵁浼犺緭瀵硅薄 @@ -109,8 +129,8 @@ public LifeCycleVO addSave(LifeCycleDTO lifeCycleDTO) { VciBaseUtil.alertNotNull(lifeCycleDTO,"鐢熷懡鍛ㄦ湡淇℃伅",lifeCycleDTO.getId(),"鐢熷懡鍛ㄦ湡鐨勭紪鍙�",lifeCycleDTO.getName(),"鐢熷懡鍛ㄦ湡鍚嶇О",lifeCycleDTO.getNodes(),"鐢熷懡鍛ㄦ湡鐨勮妭鐐�",lifeCycleDTO.getStartStatus(),"璧峰鐘舵��"); //鍏堟煡璇㈡槸鍚﹀瓨鍦� - QueryWrapper wrapper = new QueryWrapper(LifeCycleRule.class); - wrapper.eq("lower(id)",lifeCycleDTO.getId().toLowerCase(Locale.ROOT)); + QueryWrapper<LifeCycleRule> wrapper = new QueryWrapper<>(); + wrapper.eq("id",lifeCycleDTO.getId().toLowerCase(Locale.ROOT)); if(baseMapper.selectCount(wrapper)>0){ throw new VciBaseException("鐢熷懡鍛ㄦ湡鐨勭紪鍙蜂笉鑳介噸澶�"); } @@ -132,8 +152,6 @@ life.setOid(VciBaseUtil.getPk()); String creator = AuthUtil.getUserAccount(); Date now = new Date(); - life.setBtmname(BtmTypeConstant.LIFE_CYCLE); - life.setOwner(creator); life.setCreator(creator); life.setCreateTime(now); life.setLastModifier(creator); @@ -197,8 +215,6 @@ LifeCycleLineEvent event = org.springblade.core.tool.utils.BeanUtil.copy(eventDTO, LifeCycleLineEvent.class); event.setOid(VciBaseUtil.getPk()); event.setPkLifeCycleEdge(edgeOid); - event.setBtmname(BtmTypeConstant.LIFE_CYCLE_LINE_EVENT); - event.setOwner(creator); event.setCreator(creator); event.setCreateTime(now); event.setLastModifier(creator); @@ -219,8 +235,6 @@ LifeCycleNode node = org.springblade.core.tool.utils.BeanUtil.copy(nodeDTO, LifeCycleNode.class); node.setOid(VciBaseUtil.getPk()); node.setLifeCycleOid(lifeOid); - node.setBtmname(BtmTypeConstant.LIFE_CYCLE_NODE); - node.setOwner(creator); node.setCreator(creator); node.setCreateTime(now); node.setLastModifier(creator); @@ -239,7 +253,7 @@ * @return 杩炴帴绾跨殑涓婚敭 */ private String addLifeCycleEdge(LifeCycleEdgeDTO edgeDTO,List<String> statusList,String lifeOid,String creator,Date now){ - VciBaseUtil.alertNotNull(edgeDTO.getSource(),"鏉ユ簮鐘舵��",edgeDTO.getTarget(),"鐩爣鐘舵��",edgeDTO.getName(),"杩炴帴绾垮悕绉�"); + VciBaseUtil.alertNotNull(edgeDTO.getSource(),"鏉ユ簮鐘舵��",edgeDTO.getTarget(),"鐩爣鐘舵��"); if(!statusList.contains(edgeDTO.getSource()) ||!statusList.contains(edgeDTO.getTarget())){ throw new VciBaseException("鏁版嵁閿欒锛孾" + edgeDTO.getName() + "]杩炴帴绾夸笂涓娇鐢ㄧ殑鐘舵�佹病鏈夋壘鍒�"); @@ -247,8 +261,6 @@ LifeCycleEdge edge = org.springblade.core.tool.utils.BeanUtil.copy(edgeDTO, LifeCycleEdge.class); edge.setOid(VciBaseUtil.getPk()); edge.setLifeCycleOid(lifeOid); - edge.setBtmname(BtmTypeConstant.LIFE_CYCLE_EDGE); - edge.setOwner(creator); edge.setCreator(creator); edge.setCreateTime(now); edge.setLastModifier(creator); @@ -316,19 +328,51 @@ lifeCycleDTO.getOid(),"涓婚敭"); LifeCycleRule rule = selectByOid(lifeCycleDTO.getOid()); //鏌ヨ閲嶅 - QueryWrapper wrapper = new QueryWrapper(LifeCycleRule.class); - if(rule.getId().equals(lifeCycleDTO.getId())){ - throw new VciBaseException("鐢熷懡鍛ㄦ湡缂栧彿涓嶈兘淇敼"); - } + + String sql="select * from pl_omd_life_cycle_rule where lower(id)=? and oid != ?"; + /*QueryWrapper wrapper = new QueryWrapper(LifeCycleRule.class); wrapper.eq("lower(id)",lifeCycleDTO.getId().toLowerCase(Locale.ROOT)); wrapper.ne("oid",lifeCycleDTO.getOid()); if(baseMapper.selectCount(wrapper)>0){ + throw new VciBaseException("鐢熷懡鍛ㄦ湡鐨勭紪鍙蜂笉鑳介噸澶�"); + }*/ + if(lifeCycleMapper.checkIdExist(lifeCycleDTO.getId().toLowerCase(Locale.ROOT),lifeCycleDTO.getOid())>0){ throw new VciBaseException("鐢熷懡鍛ㄦ湡鐨勭紪鍙蜂笉鑳介噸澶�"); } editLifeCycle(lifeCycleDTO,rule); return LifeCycleRuleWrapper.build().entityVO(getById(rule.getOid())); } + public LifeCycleVO detail(LifeCycleDTO lifeCycleDTO){ + QueryWrapper wrapper = Condition.getQueryWrapper(org.springblade.core.tool.utils.BeanUtil.copy(lifeCycleDTO, LifeCycleRule.class)); + LifeCycleRule lifeCycleRule = baseMapper.selectOne(wrapper); + LifeCycleVO vo = LifeCycleRuleWrapper.build().entityVO(lifeCycleRule); + String lifeOid = lifeCycleRule.getOid(); + + QueryWrapper<LifeCycleNode> nodeWrapper = new QueryWrapper<>(); + nodeWrapper.eq("life_cycle_oid",lifeOid.toLowerCase(Locale.ROOT)); + List<LifeCycleNode> nodes = nodeMapper.selectList(nodeWrapper); + List<LifeCycleNodeVO> nodeVos = new ArrayList<>(); + nodes.stream().forEach(doo->{ + LifeCycleNodeVO vo1 = new LifeCycleNodeVO(); + BeanUtil.convert(doo,vo1); + nodeVos.add(vo1); + }); + vo.setNodes(nodeVos); + + QueryWrapper<LifeCycleEdge> edgeWrapper = new QueryWrapper<>(); + edgeWrapper.eq("life_cycle_oid",lifeOid.toLowerCase(Locale.ROOT)); + List<LifeCycleEdge> edges = edgeMapper.selectList(edgeWrapper); + List<LifeCycleEdgeVO> edgeVos = new ArrayList<>(); + edges.stream().forEach(doo->{ + LifeCycleEdgeVO vo2 = new LifeCycleEdgeVO(); + BeanUtil.convert(doo,vo2); + edgeVos.add(vo2); + }); + vo.setEdges(edgeVos); + + return vo; + } /** * 淇敼鐢熷懡鍛ㄦ湡 * @param lifeCycleDTO -- Gitblit v1.9.3