feat: 标准库 体系树形结构等

This commit is contained in:
super_liu
2021-07-09 18:16:10 +08:00
parent 0842280775
commit c06cb07db6
25 changed files with 914 additions and 50 deletions
@@ -1,76 +0,0 @@
package com.adc.da.slrs.sarMenuStandard.controller;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
import com.adc.da.slrs.sarMenu.entity.SarMenu;
import com.adc.da.slrs.sarMenu.service.ISarMenuService;
import com.adc.da.slrs.sarMenuStandard.service.ISarMenuStandardService;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.adc.da.slrs.sarMenuStandard.entity.SarMenuStandard;
import io.swagger.annotations.Api;
import com.adc.da.base.web.BaseController;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* <p>
* 前端控制器
* </p>
*
* @author super_liu
* @since 2021-07-07
*/
@RestController
@Api(tags = "福田标准法规--标准法规库-菜单标准体系")
@RequestMapping("/${restPath}/lawss/sarMenuStandard")
public class SarMenuStandardController extends BaseController<SarMenuStandard> {
@Autowired
private ISarMenuStandardService iSarMenuStandardService;
@ApiOperation("查询所有菜单")
@GetMapping
public ResponseMessage<List<SarMenuStandard>> getAll(@RequestParam String dicId){
List<SarMenuStandard> sarMenus=iSarMenuStandardService.getAll(dicId);
return Result.success(sarMenus);
}
@ApiOperation("根据ID查询菜单")
@GetMapping("/getSarMenuStandardById")
public ResponseMessage<SarMenuStandard> getSarMenuStandardById(@RequestParam String menuId){
SarMenuStandard sarMenus = iSarMenuStandardService.getById(menuId);
if(sarMenus != null && sarMenus.getParentIds() != null && StringUtils.isNotBlank(sarMenus.getParentIds())){
List<SarMenuStandard> menuStandards = iSarMenuStandardService.getMenuByIds(Arrays.asList(sarMenus.getParentIds().split(",")));
if(!menuStandards.isEmpty()){
String parentIdsName = menuStandards.stream().map(SarMenuStandard::getMenuName).collect(Collectors.joining(","));
sarMenus.setParentIdsName(parentIdsName);
}
}
return Result.success(sarMenus);
}
@ApiOperation("添加菜单")
@PostMapping("/add")
public ResponseMessage<Object> addMenu(@RequestBody SarMenuStandard sarMenu){
return iSarMenuStandardService.addMenu(sarMenu);
}
@ApiOperation("编辑菜单")
@PutMapping
public ResponseMessage<Object> updateMenu(@Validated(SarMenuStandard.update.class) @RequestBody SarMenuStandard sarMenu){
return iSarMenuStandardService.updateMenu(sarMenu);
}
@ApiOperation("删除菜单")
@DeleteMapping
public ResponseMessage<Object> delMenu(@RequestParam String menuId){
return iSarMenuStandardService.delMenu(menuId);
}
}
@@ -1,17 +0,0 @@
package com.adc.da.slrs.sarMenuStandard.dao;
import com.adc.da.slrs.sarMenuStandard.entity.SarMenuStandard;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* <p>
* Mapper 接口
* </p>
*
* @author super_liu
* @since 2021-07-07
*/
public interface SarMenuStandardDao extends BaseMapper<SarMenuStandard> {
}
@@ -1,107 +0,0 @@
package com.adc.da.slrs.sarMenuStandard.entity;
import com.adc.da.base.entity.BaseEntity;
import com.adc.da.utils.treetool.annotation.TreeNodeName;
import com.adc.da.utils.treetool.annotation.TreeNodeParentId;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
/**
* <p>
*
* </p>
*
* @author super_liu
* @since 2021-07-07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="SarMenuStandard对象", description="")
public class SarMenuStandard extends BaseEntity {
public interface update{
}
private static final long serialVersionUID = 1L;
@NotNull(message = "id不能为空",groups = {update.class})
@ApiModelProperty(value = "主键")
@TableId(value = "ID",type = IdType.UUID)
private String id;
@ApiModelProperty(value = "标准法规划分")
@TableField("SOR_DIVIDE")
private String sorDivide;
@TreeNodeName
@ApiModelProperty(value = "目录名称")
@TableField("MENU_NAME")
private String menuName;
@TreeNodeParentId
@ApiModelProperty(value = "父级ID")
@TableField("PARENT_ID")
private String parentId;
@ApiModelProperty(value = "父级ID集合")
@TableField("PARENT_IDS")
private String parentIds;
@ApiModelProperty(value = "排序序号")
@TableField("DISPLAY_SEQ")
private Integer displaySeq;
@ApiModelProperty(value = "路径")
@TableField("HREF")
private String href;
@ApiModelProperty(value = "是否有效")
@TableField("VALID_FLAG")
private Integer validFlag;
@ApiModelProperty(value = "创建时间")
@TableField("CREATION_TIME")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date creationTime;
@ApiModelProperty(value = "修改时间")
@TableField("MODIFY_TIME")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date modifyTime;
@ApiModelProperty(value = "备注")
@TableField("REMARKS")
private String remarks;
@ApiModelProperty(value = "数据字典ID")
@TableField("DIC_ID")
private String dicId;
@ApiModelProperty(value = "子菜单")
@TableField(exist = false)
private List<SarMenuStandard> children;
@TableField(exist=false)
private List<String> roleIds;
@TableField(exist=false)
private List<String> childMenuIds;
@TableField(exist=false)
private String parentIdsName;
}
@@ -1,51 +0,0 @@
package com.adc.da.slrs.sarMenuStandard.service;
import com.adc.da.http.ResponseMessage;
import com.adc.da.slrs.sarMenuStandard.entity.SarMenuStandard;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 服务类
* </p>
*
* @author super_liu
* @since 2021-07-07
*/
public interface ISarMenuStandardService extends IService<SarMenuStandard> {
/**
* 查询所有菜单
*/
List<SarMenuStandard> getAll(String dicId);
/**
* 添加菜单
* @param sarMenu:菜单信息
* @return ResponseMessage<Object>
*/
ResponseMessage<Object> addMenu(SarMenuStandard sarMenu);
/**
* 编辑菜单
* @param sarMenu:菜单信息
* @return ResponseMessage<Object>
*/
ResponseMessage<Object> updateMenu(SarMenuStandard sarMenu);
/**
* 删除菜单
* @param menuId :菜单ID
* @return ResponseMessage<Object>
*/
ResponseMessage<Object> delMenu(String menuId);
/**
* 通过Ids查询menu
* @param menuIds :菜单Ids
* @return List<Menu>
*/
List<SarMenuStandard> getMenuByIds(List<String> menuIds);
}
@@ -1,137 +0,0 @@
package com.adc.da.slrs.sarMenuStandard.service.impl;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
import com.adc.da.slrs.sarMenu.entity.SarMenu;
import com.adc.da.slrs.sarMenuStandard.entity.SarMenuStandard;
import com.adc.da.slrs.sarMenuStandard.dao.SarMenuStandardDao;
import com.adc.da.slrs.sarMenuStandard.service.ISarMenuStandardService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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 java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* <p>
* 服务实现类
* </p>
*
* @author super_liu
* @since 2021-07-07
*/
@Service
public class SarMenuStandardServiceImpl extends ServiceImpl<SarMenuStandardDao, SarMenuStandard> implements ISarMenuStandardService {
@Autowired
private SarMenuStandardDao dao;
/**
* 查询所有菜单
*/
@Override
public List<SarMenuStandard> getAll(String dicId) {
QueryWrapper sarMenuQueryWrapper=new QueryWrapper<>();
sarMenuQueryWrapper.eq("DIC_ID",dicId);
sarMenuQueryWrapper.orderByAsc("DISPLAY_SEQ");
sarMenuQueryWrapper.isNull("PARENT_ID");
List<SarMenuStandard> sarMenus=dao.selectList(sarMenuQueryWrapper);
for(SarMenuStandard sarMenu:sarMenus){
sarMenu.setChildren(recursionGetChildren((sarMenu)));
}
return sarMenus;
}
/**
* 添加菜单
* @param sarMenu:菜单信息
* @return ResponseMessage<Object>
*/
@Override
public ResponseMessage<Object> addMenu(SarMenuStandard sarMenu) {
SarMenuStandard save = new SarMenuStandard();
if(sarMenu.getParentId() != null && StringUtils.isNotBlank(sarMenu.getParentId())){
SarMenuStandard parent=dao.selectById(sarMenu.getParentId());
if(parent==null){
return Result.error("该父菜单不存在");
}
}
sarMenu.setCreationTime(new Date());
sarMenu.setModifyTime(new Date());
dao.insert(sarMenu);
return Result.success();
}
/**
* 编辑菜单
* @param sarMenu:菜单信息
* @return ResponseMessage<Object>
*/
@Override
public ResponseMessage<Object> updateMenu(SarMenuStandard sarMenu) {
SarMenuStandard oldMenu=dao.selectById(sarMenu.getId());
if(oldMenu==null){
return Result.error("该菜单不存在");
}
if(sarMenu.getParentId() != null && StringUtils.isNotBlank(sarMenu.getParentId())){
SarMenuStandard parent=dao.selectById(sarMenu.getParentId());
if(parent==null){
return Result.error("父节点不存在");
}
}
dao.updateById(sarMenu);
return Result.success();
}
/**
* 删除菜单
* @param menuId :菜单ID
* @return ResponseMessage<Object>
*/
@Override
public ResponseMessage<Object> delMenu(String menuId) {
QueryWrapper<SarMenuStandard> sarMenuQueryWrapper=new QueryWrapper<>();
sarMenuQueryWrapper.eq("parent_id",menuId);
List<SarMenuStandard> children=dao.selectList(sarMenuQueryWrapper);
if(children !=null && !children.isEmpty()){
return Result.error("该菜单有子节点,无法删除");
}
dao.deleteById(menuId);
return Result.success();
}
/**
* 通过Ids查询menu
* @param menuIds :菜单Ids
* @return List<Menu>
*/
@Override
public List<SarMenuStandard> getMenuByIds(List<String> menuIds) {
if(menuIds!=null&&menuIds.size()>0){
QueryWrapper<SarMenuStandard> sarMenuQueryWrapper=new QueryWrapper<>();
sarMenuQueryWrapper.in("id",menuIds);
return dao.selectList(sarMenuQueryWrapper);
}
return new ArrayList<>();
}
/**
* 递归调用获取子节点
* @param parent:父节点
* @return List<SarMenu>
*/
private List<SarMenuStandard> recursionGetChildren(SarMenuStandard parent){
QueryWrapper<SarMenuStandard> sarMenuQueryWrapper=new QueryWrapper<>();
sarMenuQueryWrapper.orderByAsc("DISPLAY_SEQ");
sarMenuQueryWrapper.eq("PARENT_ID",parent.getId());
List<SarMenuStandard> children=dao.selectList(sarMenuQueryWrapper);
for(SarMenuStandard sarMenu:children){
sarMenu.setChildren(recursionGetChildren((sarMenu)));
}
return children;
}
}
@@ -4,7 +4,6 @@ package com.adc.da.slrs.sarResource.controller;
import com.adc.da.base.web.BaseController;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
import com.adc.da.slrs.sarMenuStandard.entity.SarMenuStandard;
import com.adc.da.slrs.sarResource.entity.TsResource;
import com.adc.da.slrs.sarResource.service.ITsResourceService;
import io.swagger.annotations.Api;
@@ -1,7 +1,6 @@
package com.adc.da.slrs.sarResource.service;
import com.adc.da.http.ResponseMessage;
import com.adc.da.slrs.sarMenuStandard.entity.SarMenuStandard;
import com.adc.da.slrs.sarResource.entity.TsResource;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -3,8 +3,6 @@ package com.adc.da.slrs.sarResource.service.impl;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
import com.adc.da.slrs.sarMenu.entity.SarMenu;
import com.adc.da.slrs.sarMenuStandard.entity.SarMenuStandard;
import com.adc.da.slrs.sarResource.dao.TsResourceDao;
import com.adc.da.slrs.sarResource.entity.TsResource;
import com.adc.da.slrs.sarResource.service.ITsResourceService;
@@ -927,12 +927,12 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
//修改标准过程中,重新修改代替标准号对应的标准的被代替标准号
// updateReplacedNumber(sarStandardsInfoEO,beforeSarStandardsInfo);
// 根据引用标准修改其他被引用标准
updateCiteStand(sarStandardsInfoEO, beforeSarStandardsInfo, "DTBJH", "BDTBZBH");
updateCiteStand(sarStandardsInfoEO, beforeSarStandardsInfo, "YYBJ", "BYYBJ");
// updateCiteStand(sarStandardsInfoEO, beforeSarStandardsInfo, "DTBJH", "BDTBZBH");
// updateCiteStand(sarStandardsInfoEO, beforeSarStandardsInfo, "YYBJ", "BYYBJ");
// 根据对应其他标准修改其他对应其他标准
updateRelateStand(sarStandardsInfoEO, "CBBH");
// updateRelateStand(sarStandardsInfoEO, "CBBH");
// 根据代替标准号修改被代替的标准的状态 修改为已修订状态
replaseStandState(sarStandardsInfoEO);
// replaseStandState(sarStandardsInfoEO);
// 记录修改日志
saveUpdateLog(sarStandardsInfoEO, beforeSarStandardsInfo);
// if(elasflag) {
@@ -990,25 +990,33 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
}
public Map<String, Object> changeMap(SarStandardsInfo sarStandardsInfoEO, Map<String, Object> map) {
map.put("country", sarStandardsInfoEO.getCountry());
map.put("isRelateAccess", sarStandardsInfoEO.getIsRelateAccess());
map.put("standSort", sarStandardsInfoEO.getStandSort());
map.put("standNumber", sarStandardsInfoEO.getStandNumber());
map.put("standYear", sarStandardsInfoEO.getStandYear());
map.put("standName", sarStandardsInfoEO.getStandName());
map.put("standEnName", sarStandardsInfoEO.getStandEnName());
map.put("standNature", sarStandardsInfoEO.getStandNature());
map.put("standState", sarStandardsInfoEO.getStandState());
// map.put("country", sarStandardsInfoEO.getCountry());
if(map == null){
map = new TreeMap<String, Object>();
}
map.put("standSystem", verifyObj(sarStandardsInfoEO.getStandSystem()));
map.put("isRelateAccess", verifyObj(sarStandardsInfoEO.getIsRelateAccess()));
map.put("standSort", verifyObj(sarStandardsInfoEO.getStandSort()));
map.put("standNumber", verifyObj(sarStandardsInfoEO.getStandNumber()));
map.put("standYear", verifyObj(sarStandardsInfoEO.getStandYear()));
map.put("standName", verifyObj(sarStandardsInfoEO.getStandName()));
map.put("standEnName", verifyObj(sarStandardsInfoEO.getStandEnName()));
map.put("standNature", verifyObj(sarStandardsInfoEO.getStandNature()));
map.put("standState", verifyObj(sarStandardsInfoEO.getStandState()));
// if (sarStandardsInfoEO.getIssueTime() != null) {
// SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
// String issueStr = format.format(sarStandardsInfoEO.getIssueTime());
//
// }
map.put("issueTime", sarStandardsInfoEO.getIssueTime());
map.put("synopsis", sarStandardsInfoEO.getSynopsis());
map.put("issueTime", verifyObj(sarStandardsInfoEO.getIssueTime()));
map.put("synopsis", verifyObj(sarStandardsInfoEO.getSynopsis()));
return map;
}
private Object verifyObj(Object str){
return str == null ? "" : str;
}
public int deleteSarStandards(String ids) {
String[] idArr = ids.split(",");
@@ -108,6 +108,7 @@ public class InitStandAttrUtil implements ApplicationRunner {
StringBuilder fieldInfoNameBuilderLaws = new StringBuilder();
StringBuilder fieldInfoNameBuilderBuss = new StringBuilder();
QueryWrapper qw = new QueryWrapper();
qw.eq("VALID_FLAG","0");
List<SarStandAttrDetails> getDetailsList = sarStandAttrDetailsEOService.list(qw);
if (getDetailsList != null && !getDetailsList.isEmpty()) {
logger.info("项目启动时加载--查询标准属性类--查询到" + getDetailsList.size() + "条属性字段数据!");