Merge remote-tracking branch 'origin/dev_20230829_change' into dev_20230829_change

This commit is contained in:
wxyclub
2023-11-26 12:43:36 +08:00
17 changed files with 165 additions and 21 deletions
@@ -15,4 +15,5 @@ public interface SarStandardInfoDao{
public int updateStandardInfo(@Param("id")String id, @Param("textStatus") String textStatus);
int deleteStandSystem(@Param("menuName") String menuName);
}
@@ -18,4 +18,8 @@ public interface ISarBussStandMenuService extends IService<SarBussStandMenu> {
List<SarBussStandMenu> selectAllMenuByStandId(SarBussStandMenu sarStandMenuEO);
int deleteByMenuId (SarBussStandMenu sarStandMenuEO);
void deleteStandSystemByStandId(String id);
void addStandSystemRelation(String standSystemId, String id);
}
@@ -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<SarBussStandMenuDao
@Autowired
private ISarMenuStandardService iSarMenuStandardService;
public int deleteByMenuId (SarBussStandMenu sarStandMenuEO){
String treeType = sarStandMenuEO.getTreeType();
List<String> menuIds = new ArrayList<>();
@@ -42,6 +48,28 @@ public class SarBussStandMenuServiceImpl extends ServiceImpl<SarBussStandMenuDao
return this.baseMapper.deleteByMenuId(sarStandMenuEO);
}
@Override
public void deleteStandSystemByStandId(String id) {
LambdaUpdateWrapper<SarBussStandMenu> 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<SarBussStandMenu> selectAllMenuByStandId(SarBussStandMenu sarStandMenuEO){
return this.baseMapper.selectAllMenuByStandId(sarStandMenuEO);
@@ -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<SarBussionessSt
@Autowired
private AttFileEOServiceImpl attFileEOService;
@Resource
private ISarBussStandMenuService sarBussStandMenuService;
/**
* 根据计划库制定状态查询企标编号
*
@@ -229,6 +235,12 @@ public class SarBussionessStandController extends BaseController<SarBussionessSt
//401问题2021-03-31暂时注释掉 liuhuiwen
// @RequiresPermissions("lawss:sarBussionessStand:updateSarBussionessStand")
public ResponseMessage<SarBussionessStand> updateSarBussionessStand(@RequestBody SarBussionessStand sarBussionessStandEO) throws Exception {
// 标准体系
String standSystemId = sarBussionessStandEO.getTxlbId();
sarBussStandMenuService.deleteStandSystemByStandId(sarBussionessStandEO.getId());
if (StrUtil.isNotBlank(standSystemId)) {
sarBussStandMenuService.addStandSystemRelation(standSystemId, sarBussionessStandEO.getId());
}
//校验编号和名称是否存在
QueryWrapper<SarBussionessStand> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(null!=sarBussionessStandEO.getStandCode(),"STAND_CODE",sarBussionessStandEO.getStandCode())
@@ -141,5 +141,7 @@ public interface SarBussionessStandDao extends BaseMapper<SarBussionessStand> {
String selectMaxStandSn(String standSort);
List<StandSystemDTO> getESSystemData(@Param("param") StandSystemDTO standSystemDTO);
void deleteStandSystem(String menuName);
}
@@ -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;
@@ -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{
}
@@ -30,6 +30,12 @@ public class StandSystemDTO {
@ApiModelProperty(value = "体系结构")
private String standSystem;
@ApiModelProperty(value = "体系结构ID(树状结构选取)")
private String standSystemId;
@ApiModelProperty(value = "体系结构IDList(树状结构选取)")
private List<String> 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(","));
}
}
}
@@ -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<SarMenuStandar
@Resource
private SarBussStandMenuDao sarBussStandMenuDao;
@Resource
private TsRoleMenuDataDao roleMenuDataDao;
@Override
public String getTopMenu(SarMenuStandardNew sarMenuStandardNew) {
QueryWrapper qw = new QueryWrapper();
@@ -141,7 +148,10 @@ public class SarMenuStandardNewServiceNewImpl extends ServiceImpl<SarMenuStandar
HashMap<String, Object> 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<SarMenuStandar
sarMenuStandard.buildPathMap(pathMap, "");
// 为树设置systemSort
SarMenuStandard.setSystemSort(sarMenuStandard, "");
// SarMenuStandard.setSystemSort(sarMenuStandard, "");
AtomicInteger currentNumber = new AtomicInteger(1);
SarMenuStandard.setSystemSortDFS(sarMenuStandard, currentNumber);
// 国标外标标准状态字典
List<TsDicType> gbStateDictList = dicItemService.selectAllDicTypeNameByDicCode("STANDSTATE");
@@ -391,6 +403,8 @@ public class SarMenuStandardNewServiceNewImpl extends ServiceImpl<SarMenuStandar
@Transactional(rollbackFor = Exception.class)
@Override
public void deleteMenuStandard(String menuId) {
// 先找到节点的名字
String menuName = getById(menuId).getMenuName();
// 删除主表中的节点
LambdaUpdateWrapper<SarMenuStandard> menuUpdateWrapper = new LambdaUpdateWrapper<>();
menuUpdateWrapper.eq(SarMenuStandard::getId, menuId);
@@ -406,7 +420,9 @@ public class SarMenuStandardNewServiceNewImpl extends ServiceImpl<SarMenuStandar
esWrapper.eq(SarBussStandMenu::getMenuId, menuId);
sarBussStandMenuService.remove(esWrapper);
log.info("删除企标主表中的相应字段成功");
// TODO 理论上这里应该删除国标外标企标主表中的中文字段
// 删除国标外标企标主表中的中文字段
sarStandardInfoDao.deleteStandSystem(menuName);
sarBussionessStandDao.deleteStandSystem(menuName);
}
/**
@@ -1,10 +1,13 @@
package com.adc.da.slrs.sarStandMenu.service.impl;
import com.adc.da.exception.AdcDaBaseException;
import com.adc.da.slrs.sarMenu.service.ISarMenuService;
import com.adc.da.slrs.sarResource.service.ITsResourceService;
import com.adc.da.slrs.sarStandMenu.entity.SarStandMenu;
import com.adc.da.slrs.sarStandMenu.dao.SarStandMenuDao;
import com.adc.da.slrs.sarStandMenu.service.ISarStandMenuService;
import com.adc.da.sys.sarMenuStandard.entity.SarMenuStandard;
import com.adc.da.sys.sarMenuStandard.service.ISarMenuStandardService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -30,6 +33,9 @@ public class SarStandMenuServiceImpl extends ServiceImpl<SarStandMenuDao, SarSta
@Autowired
private ITsResourceService sarMenuEOService;
@Autowired
private ISarMenuStandardService iSarMenuStandardService;
@Override
public int deleteByMenuId (SarStandMenu sarStandMenuEO){
List<String> menuIds = sarMenuEOService.getChildMenuList(sarStandMenuEO.getOldMenuId());
@@ -51,6 +57,11 @@ public class SarStandMenuServiceImpl extends ServiceImpl<SarStandMenuDao, SarSta
@Override
public void addStandSystemRelation(String standSystem, String id) {
// 校验standSystem是否有效
SarMenuStandard standMenu = iSarMenuStandardService.getById(standSystem);
if (standMenu == null) {
throw new AdcDaBaseException("无效的标准体系");
}
SarStandMenu sarStandMenu = new SarStandMenu();
// 生成不带横杠的UUID
sarStandMenu.setId(java.util.UUID.randomUUID().toString().replaceAll("-", ""));
@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import java.util.HashMap;
/**
* <p>
* Mapper 接口
@@ -17,4 +19,6 @@ public interface TsRoleMenuDataDao extends BaseMapper<TsRoleMenuData> {
@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<String, Object> map);
}
@@ -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
</select>
<select id="getFBStandMenu" resultType="com.adc.da.slrs.sarStandMenu.entity.SarStandMenu">
@@ -173,7 +172,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
</select>
<select id="getStandInfoSystemData" resultType="com.adc.da.slrs.sarMenuStandard.entity.StandSystemDTO">
@@ -182,7 +180,10 @@
CONCAT(gb.STAND_SORT, ' ', gb.STAND_NUMBER) AS standNo,
gb.STAND_NAME AS standName,
gb.STAND_STATE AS standState,
gb.ISSUE_TIME AS releaseDate,
CASE
WHEN gb.ISSUE_TIME = '' THEN NULL
ELSE gb.ISSUE_TIME
END AS releaseDate,
gb.PUT_TIME AS implementDate,
gb.REPLACE_STAND_NUM AS replaceStandardNo,
gba.QCDW AS dept,
@@ -200,7 +201,7 @@
LEFT JOIN `sar_stand_menu` AS m ON gb.ID = m.STAND_ID AND LENGTH(m.MENU_ID) > 30
LEFT JOIN sar_menu_standard sms on m.MENU_ID = sms.ID
WHERE gb.VALID_FLAG = '0'
AND sms.id in (select id from sar_menu_standard where valid_flag = 0)
AND sms.id in (select id from sar_menu_standard where valid_flag = 0 )
<!--国标/外标-->
<if test="param.standNo != null and param.standNo != ''">
AND gb.STAND_TYPE = #{dataSource}
@@ -220,14 +221,19 @@
<if test="param.standName != null and param.standName != ''">
AND gb.STAND_NAME LIKE CONCAT('%',#{param.standName},'%')
</if>
<!--发布时间-->
<if test="param.startReleaseDateString != null and param.startReleaseDateString != '' and
param.endReleaseDateString != null and param.endReleaseDateString != ''">
AND gb.ISSUE_TIME BETWEEN #{param.startReleaseDateString} AND #{param.endReleaseDateString}
<!-- 发布时间 -->
<if test="param.startReleaseDateString != null and param.startReleaseDateString != ''">
AND gb.ISSUE_TIME >= #{param.startReleaseDateString}
</if>
<!--实施日期-->
<if test="param.startImplementDate != null and param.endImplementDate != null">
AND gb.PUT_TIME BETWEEN #{param.startImplementDate} AND #{param.endImplementDate}
<if test="param.endReleaseDateString != null and param.endReleaseDateString != ''">
AND gb.ISSUE_TIME &lt;= CONCAT(#{param.endReleaseDateString}, ' 23:59:59')
</if>
<!-- 实施日期 -->
<if test="param.startImplementDate != null">
AND gb.PUT_TIME >= #{param.startImplementDate}
</if>
<if test="param.endImplementDate != null">
AND gb.PUT_TIME &lt;= CONCAT(#{param.endImplementDate}, ' 23:59:59')
</if>
<!--代替标准-->
<if test="param.replaceStandardNo != null and param.replaceStandardNo != ''">
@@ -249,13 +255,19 @@
<if test="dataSource != null and dataSource != ''">
AND gb.STAND_TYPE = #{dataSource}
</if>
<!--体系结构树搜索-->
<if test="param.standSystemIdList != null and param.standSystemIdList.size() > 0">
AND gb.ID IN
<foreach item="item" index="index" collection="param.standSystemIdList" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="param.selectIdList != null and param.selectIdList.size() > 0">
AND gb.ID IN
<foreach item="item" index="index" collection="param.selectIdList" open="(" separator="," close=")">
#{item}
</foreach>
</if>
group by gb.ID
</select>
</mapper>
@@ -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
</select>
<delete id="deleteByStandIdAndMenuId" parameterType="com.adc.da.slrs.sarBussStandMenu.entity.SarBussStandMenu">
@@ -362,6 +362,11 @@
where id = #{value}
</delete>
<update id="deleteStandSystem">
update sar_buss_stand_attr_info
set TXLBBUSS = null
where TXLBBUSS like #{menuName}
</update>
<!-- SAR_BUSSIONESS_STAND 列表总数-->
<select id="queryByCount" resultType="java.lang.Integer" parameterType="com.adc.da.base.page.BasePage">
@@ -1328,12 +1333,18 @@
AND es.STAND_NAME LIKE CONCAT('%',#{param.standName},'%')
</if>
<!--发布时间-->
<if test="param.startReleaseDate != null and param.endReleaseDate != null">
AND es.ISSUE_TIME BETWEEN #{param.startReleaseDate} AND #{param.endReleaseDate}
<if test="param.startReleaseDate != null">
AND es.ISSUE_TIME >= #{param.startReleaseDateString}
</if>
<!--实施日期-->
<if test="param.startImplementDate != null and param.endImplementDate != null">
AND es.PUT_TIME BETWEEN #{param.startImplementDate} AND #{param.endImplementDate}
<if test="param.endReleaseDate != null">
AND es.ISSUE_TIME &lt;= CONCAT(#{param.endReleaseDateString}, ' 23:59:59')
</if>
<!-- 实施日期 -->
<if test="param.startImplementDate != null">
AND es.PUT_TIME >= #{param.startImplementDate}
</if>
<if test="param.endImplementDate != null">
AND es.PUT_TIME &lt;= CONCAT(#{param.endImplementDate}, ' 23:59:59')
</if>
<!--代替标准-->
<if test="param.replaceStandardNo != null and param.replaceStandardNo != ''">
@@ -1351,12 +1362,18 @@
<if test="param.dataSource != null and param.dataSource != ''">
AND 'ENTERPRISE' = #{param.dataSource}
</if>
<!--体系结构树搜索-->
<if test="param.standSystemIdList != null and param.standSystemIdList.size() > 0">
AND es.ID IN
<foreach item="item" index="index" collection="param.standSystemIdList" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="param.selectIdList != null and param.selectIdList.size() > 0">
AND es.ID IN
<foreach item="item" index="index" collection="param.selectIdList" open="(" separator="," close=")">
#{item}
</foreach>
</if>
group by es.ID
</select>
</mapper>
@@ -48,5 +48,11 @@
where ID=#{id}
</update>
<update id="deleteStandSystem">
update sar_standards_info
set STAND_SYSTEM = null
where STAND_SYSTEM like #{menuName}
</update>
</mapper>
@@ -2,4 +2,8 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.adc.da.slrs.tsRoleMeunData.dao.TsRoleMenuDataDao">
<insert id="insertResourceMenuData">
INSERT INTO ts_role_menu_data
VALUES(#{roleId},#{menuId} )
</insert>
</mapper>
@@ -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;
/**
* <p>
@@ -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);
}
}
}