diff --git a/adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardInfoDao.java b/adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardInfoDao.java index 5fcefabf..b25a4db6 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardInfoDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardInfoDao.java @@ -15,4 +15,5 @@ public interface SarStandardInfoDao{ public int updateStandardInfo(@Param("id")String id, @Param("textStatus") String textStatus); + int deleteStandSystem(@Param("menuName") String menuName); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandMenu/service/ISarBussStandMenuService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandMenu/service/ISarBussStandMenuService.java index 85587e22..001e0e99 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandMenu/service/ISarBussStandMenuService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandMenu/service/ISarBussStandMenuService.java @@ -18,4 +18,8 @@ public interface ISarBussStandMenuService extends IService { List selectAllMenuByStandId(SarBussStandMenu sarStandMenuEO); int deleteByMenuId (SarBussStandMenu sarStandMenuEO); + + void deleteStandSystemByStandId(String id); + + void addStandSystemRelation(String standSystemId, String id); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandMenu/service/impl/SarBussStandMenuServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandMenu/service/impl/SarBussStandMenuServiceImpl.java index ba1309d8..713f8f63 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandMenu/service/impl/SarBussStandMenuServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandMenu/service/impl/SarBussStandMenuServiceImpl.java @@ -1,15 +1,20 @@ package com.adc.da.slrs.sarBussStandMenu.service.impl; +import com.adc.da.exception.AdcDaBaseException; import com.adc.da.slrs.sarBussStandMenu.entity.SarBussStandMenu; import com.adc.da.slrs.sarBussStandMenu.dao.SarBussStandMenuDao; import com.adc.da.slrs.sarBussStandMenu.service.ISarBussStandMenuService; import com.adc.da.slrs.sarResource.service.ITsResourceService; +import com.adc.da.slrs.sarStandMenu.entity.SarStandMenu; +import com.adc.da.sys.sarMenuStandard.entity.SarMenuStandard; import com.adc.da.sys.sarMenuStandard.service.ISarMenuStandardService; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; @@ -30,6 +35,7 @@ public class SarBussStandMenuServiceImpl extends ServiceImpl menuIds = new ArrayList<>(); @@ -42,6 +48,28 @@ public class SarBussStandMenuServiceImpl extends ServiceImpl sarStandMenuWrapper = new LambdaUpdateWrapper<>(); + sarStandMenuWrapper.eq(SarBussStandMenu::getBussStandId, id); + remove(sarStandMenuWrapper); + } + + @Override + public void addStandSystemRelation(String standSystem, String id) { + // 校验standSystem是否有效 + SarMenuStandard standMenu = iSarMenuStandardService.getById(standSystem); + if (standMenu == null) { + throw new AdcDaBaseException("无效的标准体系"); + } + SarBussStandMenu sarBussStandMenu = new SarBussStandMenu(); + // 生成不带横杠的UUID + sarBussStandMenu.setId(java.util.UUID.randomUUID().toString().replaceAll("-", "")); + sarBussStandMenu.setBussStandId(id).setMenuId(standSystem).setValidFlag(0); + save(sarBussStandMenu); + } + @Override public List selectAllMenuByStandId(SarBussStandMenu sarStandMenuEO){ return this.baseMapper.selectAllMenuByStandId(sarStandMenuEO); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java index cd45358c..d70fa400 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java @@ -1,6 +1,7 @@ package com.adc.da.slrs.sarBussionessStand.controller; +import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.ZipUtil; import com.adc.da.Log.BusinessType; import com.adc.da.Log.EpcLog; @@ -11,6 +12,7 @@ import com.adc.da.person.service.IPersonCollectEOService; import com.adc.da.slrs.esRevisePlan.entity.EsRevisePlanInfo; import com.adc.da.slrs.sarBussStandAttrInfo.dao.SarBussStandAttrInfoDao; import com.adc.da.slrs.sarBussStandAttrInfo.entity.SarBussStandAttrInfo; +import com.adc.da.slrs.sarBussStandMenu.service.ISarBussStandMenuService; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStandExport; import com.adc.da.slrs.sarBussionessStand.service.ISarBussionessStandService; import com.adc.da.slrs.sarLawsInfo.service.ISarLawsInfoService; @@ -52,6 +54,7 @@ import io.swagger.annotations.Api; import com.adc.da.base.web.BaseController; import org.springframework.web.multipart.MultipartFile; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -105,6 +108,9 @@ public class SarBussionessStandController extends BaseController updateSarBussionessStand(@RequestBody SarBussionessStand sarBussionessStandEO) throws Exception { + // 标准体系 + String standSystemId = sarBussionessStandEO.getTxlbId(); + sarBussStandMenuService.deleteStandSystemByStandId(sarBussionessStandEO.getId()); + if (StrUtil.isNotBlank(standSystemId)) { + sarBussStandMenuService.addStandSystemRelation(standSystemId, sarBussionessStandEO.getId()); + } //校验编号和名称是否存在 QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq(null!=sarBussionessStandEO.getStandCode(),"STAND_CODE",sarBussionessStandEO.getStandCode()) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/dao/SarBussionessStandDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/dao/SarBussionessStandDao.java index 0dc6cea4..84bc1350 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/dao/SarBussionessStandDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/dao/SarBussionessStandDao.java @@ -141,5 +141,7 @@ public interface SarBussionessStandDao extends BaseMapper { String selectMaxStandSn(String standSort); List getESSystemData(@Param("param") StandSystemDTO standSystemDTO); + + void deleteStandSystem(String menuName); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java index 250c4a57..4533ad40 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java @@ -49,6 +49,7 @@ import com.adc.da.slrs.sarBussionessStandState.entity.SarBussionessStandState; import com.adc.da.slrs.sarResource.entity.TsResource; import com.adc.da.slrs.sarResource.service.ITsResourceService; import com.adc.da.slrs.sarStandAttrInfo.dao.SarStandAttrInfoDao; +import com.adc.da.slrs.sarStandMenu.entity.SarStandMenu; import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao; import com.adc.da.slrs.sarStandardsInfo.entity.SarAdvanceSearchVO; import com.adc.da.slrs.sarStandardsInfo.entity.SarBussionessStandEOPage; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/entity/SarMenuStandardNew.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/entity/SarMenuStandardNew.java index 452e55ae..9a067161 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/entity/SarMenuStandardNew.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/entity/SarMenuStandardNew.java @@ -7,6 +7,7 @@ import com.adc.da.sys.utils.treetool.annotation.TreeNodeParentId; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -30,6 +31,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) @Accessors(chain = true) @ApiModel(value="SarMenuStandard对象", description="") +@TableName("sar_menu_standard") public class SarMenuStandardNew extends BaseEntity { public interface update{ } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/entity/StandSystemDTO.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/entity/StandSystemDTO.java index 7e6f6b19..dec2730b 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/entity/StandSystemDTO.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/entity/StandSystemDTO.java @@ -30,6 +30,12 @@ public class StandSystemDTO { @ApiModelProperty(value = "体系结构") private String standSystem; + @ApiModelProperty(value = "体系结构ID(树状结构选取)") + private String standSystemId; + + @ApiModelProperty(value = "体系结构IDList(树状结构选取)") + private List standSystemIdList; + @ApiModelProperty(value = "标准Id") private String standId; @@ -156,4 +162,11 @@ public class StandSystemDTO { this.endReleaseDateString = sdf.format(endReleaseDate); } } + + public void setStandSystemIdList(String standSystemId) { + this.standSystemId = standSystemId; + if (standSystemId != null) { + this.standSystemIdList = java.util.Arrays.asList(standSystemId.split(",")); + } + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/impl/SarMenuStandardNewServiceNewImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/impl/SarMenuStandardNewServiceNewImpl.java index 3d554ccd..e46d8788 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/impl/SarMenuStandardNewServiceNewImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/impl/SarMenuStandardNewServiceNewImpl.java @@ -22,8 +22,11 @@ import com.adc.da.slrs.sarRole.dao.TsRoleDao; import com.adc.da.slrs.sarStandMenu.dao.SarStandMenuDao; import com.adc.da.slrs.sarStandMenu.entity.SarStandMenu; import com.adc.da.slrs.sarStandMenu.service.ISarStandMenuService; +import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo; import com.adc.da.slrs.tsDictionaryType.entity.TsDicType; import com.adc.da.slrs.tsDictionaryType.service.ITsDicTypeService; +import com.adc.da.slrs.tsRoleMeunData.dao.TsRoleMenuDataDao; +import com.adc.da.slrs.tsRoleMeunData.service.ITsRoleMenuDataService; import com.adc.da.sys.sarMenuStandard.dao.SarMenuStandardDao; import com.adc.da.sys.sarMenuStandard.entity.SarMenuStandard; import com.adc.da.sys.sarMenuStandard.entity.StandMenuRelation; @@ -50,6 +53,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; /** @@ -87,6 +91,9 @@ public class SarMenuStandardNewServiceNewImpl extends ServiceImpl map = new HashMap<>(); map.put("resourceId", sarMenuStandard.getId()); map.put("roleId", roleId); + map.put("menuId", sarMenuStandard.getId()); resourceDao.insertTsRoleResource(map); + // 添加权限 + roleMenuDataDao.insertResourceMenuData(map); } } @@ -250,7 +260,9 @@ public class SarMenuStandardNewServiceNewImpl extends ServiceImpl gbStateDictList = dicItemService.selectAllDicTypeNameByDicCode("STANDSTATE"); @@ -391,6 +403,8 @@ public class SarMenuStandardNewServiceNewImpl extends ServiceImpl menuUpdateWrapper = new LambdaUpdateWrapper<>(); menuUpdateWrapper.eq(SarMenuStandard::getId, menuId); @@ -406,7 +420,9 @@ public class SarMenuStandardNewServiceNewImpl extends ServiceImpl menuIds = sarMenuEOService.getChildMenuList(sarStandMenuEO.getOldMenuId()); @@ -51,6 +57,11 @@ public class SarStandMenuServiceImpl extends ServiceImpl * Mapper 接口 @@ -17,4 +19,6 @@ public interface TsRoleMenuDataDao extends BaseMapper { @Insert("insert into ts_role_menu_data (role_id,menu_id) values (#{roleId},#{id})") void save(@Param("roleId") String roleId,@Param("id") String id); + + void insertResourceMenuData(HashMap map); } diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/SarStandMenu/SarStandMenuMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/SarStandMenu/SarStandMenuMapper.xml index fe134425..62eeccad 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/SarStandMenu/SarStandMenuMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/SarStandMenu/SarStandMenuMapper.xml @@ -157,7 +157,6 @@ AND LENGTH(sm.MENU_ID) > 30 AND sm.VALID_FLAG = '0' AND sms.id in (select id from sar_menu_standard where valid_flag = 0) - group by stand.ID diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussStandMenu/SarBussStandMenuMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussStandMenu/SarBussStandMenuMapper.xml index 39abea45..9852e679 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussStandMenu/SarBussStandMenuMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussStandMenu/SarBussStandMenuMapper.xml @@ -218,7 +218,6 @@ AND sm.VALID_FLAG = 0 AND sm.TREE_TYPE is null AND sms.id in (select id from sar_menu_standard where valid_flag = 0) - group by stand.ID diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml index 793f870e..5df8ba31 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml @@ -362,6 +362,11 @@ where id = #{value} + + update sar_buss_stand_attr_info + set TXLBBUSS = null + where TXLBBUSS like #{menuName} + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardInfo.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardInfo.xml index 44bd0401..ab488682 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardInfo.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardInfo.xml @@ -48,5 +48,11 @@ where ID=#{id} + + update sar_standards_info + set STAND_SYSTEM = null + where STAND_SYSTEM like #{menuName} + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/tsRoleMeunData/TsRoleMenuDataMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/tsRoleMeunData/TsRoleMenuDataMapper.xml index dacec7b5..c448940f 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/tsRoleMeunData/TsRoleMenuDataMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/tsRoleMeunData/TsRoleMenuDataMapper.xml @@ -2,4 +2,8 @@ + + INSERT INTO ts_role_menu_data + VALUES(#{roleId},#{menuId} ) + diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/sarMenuStandard/entity/SarMenuStandard.java b/adc-da-sys/src/main/java/com/adc/da/sys/sarMenuStandard/entity/SarMenuStandard.java index a6393c0b..356328b5 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sys/sarMenuStandard/entity/SarMenuStandard.java +++ b/adc-da-sys/src/main/java/com/adc/da/sys/sarMenuStandard/entity/SarMenuStandard.java @@ -19,6 +19,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; +import java.util.concurrent.atomic.AtomicInteger; /** *

@@ -218,4 +219,15 @@ public class SarMenuStandard extends BaseEntity { setSystemSort(child, currentSort); } } + + // 新增的深度优先遍历方法 + public static void setSystemSortDFS(SarMenuStandard node, AtomicInteger currentNumber) { + if (node == null) { + return; + } + node.setSystemSort(currentNumber.getAndIncrement()); + for (SarMenuStandard child : node.getChildren()) { + setSystemSortDFS(child, currentNumber); + } + } }