diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/enums/TemplateTreeEnum.java b/pqs-system/system-api/src/main/java/com/njcn/system/enums/TemplateTreeEnum.java index b9f5e1533..940d0abe8 100644 --- a/pqs-system/system-api/src/main/java/com/njcn/system/enums/TemplateTreeEnum.java +++ b/pqs-system/system-api/src/main/java/com/njcn/system/enums/TemplateTreeEnum.java @@ -6,24 +6,18 @@ import lombok.Getter; * @author hany * @date 2022/09/21 */ -@Getter -public enum TemplateTreeEnum { + +public interface TemplateTreeEnum { /** - * 各层级描述 + * 权限资源状态 0-删除;1-正常;默认正常 */ - REPORT_LEVEL(0, "报告基础项"), - LINE_LEVEL(1, "监测点"), - DETAIL_LEVEL(2, "监测点详情"), - TRANS_LEVEL(2, "暂降事件列表表格"), - TRANS_D_LEVEL(2, "暂降密度图形"), - TRANS_R_LEVEL(2, "暂降原因表格"); + int DELETE = 0; - private final Integer code; - private final String message; + int ENABLE = 1; - TemplateTreeEnum(Integer code, String message) { - this.code = code; - this.message = message; - } + /** + * 顶层父类的pid + */ + String FATHER_PID = "0"; } diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/dto/DictDTO.java b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/dto/DictDTO.java new file mode 100644 index 000000000..29923b453 --- /dev/null +++ b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/dto/DictDTO.java @@ -0,0 +1,32 @@ +package com.njcn.system.pojo.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@Data +public class DictDTO implements Serializable { + + @ApiModelProperty("组件Id") + private String id; + + @ApiModelProperty("组件Id") + private String name; + + @ApiModelProperty("组件Id") + private Integer type; + + @ApiModelProperty("组件Id") + private String reportDescribe; + + @ApiModelProperty("组件Id") + private String pid; + + @ApiModelProperty("组件Id") + private Integer sort; + + @ApiModelProperty("子级") + List children; +} diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/EventDictParam.java b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/EventDictParam.java index de7a58d2a..48c28b183 100644 --- a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/EventDictParam.java +++ b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/EventDictParam.java @@ -6,31 +6,32 @@ import com.njcn.web.pojo.param.BaseParam; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import org.hibernate.validator.constraints.Range; import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; @Data public class EventDictParam { - /** - * 字典表字段名称 - */ @ApiModelProperty(value = "字典表字段名称") private String name; - /** - * 字典表字段描述 - */ - @ApiModelProperty(value = "字典表字段描述") - private String describe; + @ApiModelProperty(value = "类型") + private Integer type; + + @ApiModelProperty(value = "字典表字段描述") + private String reportDescribe; - /** - * 父级id - */ @ApiModelProperty(value = "父级id") private String pid; + @ApiModelProperty("排序") + @NotNull + @Range(min = 0, max = 999) + private Integer sort; + /** * 更新操作实体 diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/EventTemplateParam.java b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/EventTemplateParam.java index acf24c630..ec0d3b50f 100644 --- a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/EventTemplateParam.java +++ b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/EventTemplateParam.java @@ -8,6 +8,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import javax.validation.constraints.*; +import java.util.List; /** * @author hany @@ -22,15 +23,13 @@ public class EventTemplateParam { @Pattern(regexp = PatternRegex.DIC_REGEX, message = ValidMessage.NAME_FORMAT_ERROR) private String name; - @ApiModelProperty("模板名称") + @ApiModelProperty("模板描述") @NotBlank(message = ValidMessage.CODE_NOT_BLANK) @Pattern(regexp = PatternRegex.DES64_REGEX, message = ValidMessage.CODE_FORMAT_ERROR) private String mark; @ApiModelProperty("类型") - @NotBlank(message = ValidMessage.CODE_NOT_BLANK) - @Pattern(regexp = PatternRegex.TYPE_REGEX, message = ValidMessage.DICT_TYPE_ID_FORMAT_ERROR) - private String type; + private Integer type; /** * 更新操作实体 @@ -49,15 +48,25 @@ public class EventTemplateParam { } /** - * 查询数据 + * 查询数据实体 */ @Data @EqualsAndHashCode(callSuper = true) public static class EventTemplateQueryParam extends BaseParam { - @ApiModelProperty("pid") - @NotBlank(message = ValidMessage.ID_NOT_BLANK) - @Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR) - private String pid; + /** + * 区分监测点与区域报告 + */ + private String type; + } + + /** + * 模板的相关关联 + */ + @Data + public static class TemplateRelevancy { + private String id; + private List idList; + } } diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/EventTemplate.java b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/EventTemplate.java index ada2029e9..90cfebf01 100644 --- a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/EventTemplate.java +++ b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/EventTemplate.java @@ -32,7 +32,7 @@ public class EventTemplate extends BaseEntity { /** * 类型 */ - private String type; + private Integer type; /** * 模板名称 diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/ReportDict.java b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/ReportDict.java index 2e4ceff13..8a72c1813 100644 --- a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/ReportDict.java +++ b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/ReportDict.java @@ -21,7 +21,7 @@ public class ReportDict extends BaseEntity { private Integer type; - private String describe; + private String reportDescribe; private String pid; @@ -29,7 +29,5 @@ public class ReportDict extends BaseEntity { private Integer state; - private Integer level; - private Integer sort; } diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/TemplateRel.java b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/TemplateRel.java new file mode 100644 index 000000000..f7abe0bb0 --- /dev/null +++ b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/TemplateRel.java @@ -0,0 +1,21 @@ +package com.njcn.system.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +@Data +@TableName("report_relevancy") +public class TemplateRel { + + private static final long serialVersionUID = 1L; + + /** + * 模板Id + */ + private String RtId; + + /** + * 字典Id + */ + private String RdId; +} diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/vo/DictVO.java b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/vo/DictVO.java new file mode 100644 index 000000000..50ff08aee --- /dev/null +++ b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/vo/DictVO.java @@ -0,0 +1,33 @@ +package com.njcn.system.pojo.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@Data +public class DictVO implements Serializable { + + @ApiModelProperty("Id") + private String id; + + @ApiModelProperty("名称") + private String name; + + @ApiModelProperty("类型") + private Integer type; + + @ApiModelProperty("描述") + private String reportDescribe; + + @ApiModelProperty("父节点") + private String pid; + + @ApiModelProperty("排序") + private Integer sort; + + @ApiModelProperty("子级") + List children; + +} diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/vo/EventTemplateTree.java b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/vo/EventTemplateTree.java deleted file mode 100644 index 9a9dcb961..000000000 --- a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/vo/EventTemplateTree.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.njcn.system.pojo.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; -import java.util.ArrayList; -import java.util.List; - -/** - * 字典树实体 - * @author hany - * @date 2022/09/09 - */ -@ApiModel -@Data -public class EventTemplateTree implements Serializable { - private String id; - @ApiModelProperty(name = "parentId",value = "父id") - private String pid; - @ApiModelProperty(name = "level",value = "等级") - private Integer level; - @ApiModelProperty(name = "name",value = "名称") - private String name; - @ApiModelProperty(name = "describe",value = "描述") - private String describe; - @ApiModelProperty(name = "sort",value = "排序") - private Integer sort; - @ApiModelProperty(name = "state",value = "数据状态") - private Integer state; - @ApiModelProperty(name = "children",value = "子节点") - private List children = new ArrayList<>(); - - private String pids; - -} diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/vo/EventTemplateVO.java b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/vo/EventTemplateVO.java index 40d8e113a..31b8b0835 100644 --- a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/vo/EventTemplateVO.java +++ b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/vo/EventTemplateVO.java @@ -15,33 +15,29 @@ public class EventTemplateVO implements Serializable { private static final long serialVersionUID = 1L; /** - * 字典数据表Id + * 模板数据表Id */ private String id; /** - * 名称 + * 模板名称 */ private String name; /** - * 父节点 + * 类型 */ - private String pid; + private Integer type; /** - * 所有父节点 + * 模板描述 */ - private String pids; + private String mark; /** * 状态:0-删除 1-正常 */ private Integer state; - /** - * 排序 - */ - private Integer sort; } diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EventDictController.java b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EventDictController.java index 24d41dc60..1a5e0101e 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EventDictController.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EventDictController.java @@ -2,6 +2,7 @@ package com.njcn.system.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.constant.OperateType; import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; @@ -9,6 +10,7 @@ import com.njcn.common.utils.HttpResultUtil; import com.njcn.common.utils.LogUtil; import com.njcn.system.pojo.param.EventDictParam; import com.njcn.system.pojo.po.ReportDict; +import com.njcn.system.pojo.vo.DictVO; import com.njcn.system.service.IEventDictService; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; @@ -17,16 +19,14 @@ import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Objects; /** * @author hany - * @createTime 2022/09/27 + * @createTime 2022/10/08 */ @Slf4j @RestController @@ -42,18 +42,18 @@ public class EventDictController extends BaseController { * @param eventDictParam * @return */ + @OperateInfo(info = LogEnum.SYSTEM_COMMON, operateType = OperateType.ADD) @PostMapping("/addDict") - @OperateInfo(info = LogEnum.SYSTEM_COMMON) @ApiOperation("新增字典表") @ApiImplicitParam(name = "eventDictParam", value = "字典表数据", required = true) - public HttpResult addDict(@RequestBody EventDictParam eventDictParam) { + public HttpResult addDict(@RequestBody @Validated EventDictParam eventDictParam) { String methodDescribe = getMethodDescribe("addDict"); LogUtil.njcnDebug(log, "{},字典表数据数据为:{}", methodDescribe, eventDictParam); boolean res = iEventDictService.addDict(eventDictParam); if(res){ - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,null,methodDescribe); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,true,methodDescribe); } else{ - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null,methodDescribe); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, false,methodDescribe); } } @@ -62,8 +62,8 @@ public class EventDictController extends BaseController { * @param dictUpdateParam * @return */ - @PostMapping("/updateDict") - @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @PutMapping("/updateDict") + @OperateInfo(info = LogEnum.SYSTEM_COMMON, operateType = OperateType.UPDATE) @ApiOperation("更新字典表") @ApiImplicitParam(name = "dictUpdateParam", value = "更新字典表实体", required = true) public HttpResult updateDict(@RequestBody EventDictParam.DictUpdateParam dictUpdateParam){ @@ -71,9 +71,9 @@ public class EventDictController extends BaseController { LogUtil.njcnDebug(log, "{},字典表数据数据为:{}", methodDescribe, dictUpdateParam); boolean res = iEventDictService.updateDict(dictUpdateParam); if(res){ - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,null,methodDescribe); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,true,methodDescribe); } else{ - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null,methodDescribe); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, false,methodDescribe); } } @@ -82,14 +82,19 @@ public class EventDictController extends BaseController { * @param id * @return */ - @PostMapping("/deleteDict") + @DeleteMapping("/deleteDict") @OperateInfo(info = LogEnum.SYSTEM_COMMON) @ApiOperation("删除字典表") @ApiImplicitParam(name = "id", value = "字典表索引", required = true) - public HttpResult delDict(@RequestBody String id){ + public HttpResult deleteDict(@RequestParam @Validated String id){ String methodDescribe = getMethodDescribe("deleteDict"); - iEventDictService.delete(id); - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,null,methodDescribe); + LogUtil.njcnDebug(log, "{},字典id为:{}", methodDescribe, id); + boolean res = iEventDictService.delete(id); + if (res){ + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true,methodDescribe); + }else { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, false,methodDescribe); + } } /** @@ -124,4 +129,13 @@ public class EventDictController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL,null, methodDescribe); } } + + @OperateInfo + @GetMapping("/DictTree") + @ApiOperation("字典树") + public HttpResult> getDictTree(){ + String methodDescribe = getMethodDescribe("getDictTree"); + List list = iEventDictService.getDictTree(); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,list,methodDescribe); + } } diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EventTemplateController.java b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EventTemplateController.java index 97eb65313..91560169e 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EventTemplateController.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EventTemplateController.java @@ -1,11 +1,13 @@ package com.njcn.system.controller; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.constant.OperateType; import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; +import com.njcn.common.utils.LogUtil; import com.njcn.system.pojo.param.EventTemplateParam; import com.njcn.system.pojo.po.EventTemplate; import com.njcn.system.service.IEventTemplateService; @@ -15,7 +17,6 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.apache.ibatis.jdbc.Null; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -43,14 +44,15 @@ public class EventTemplateController extends BaseController{ * 查询所有模板 * @author hany * @date 2022/09/09 + * @return */ @OperateInfo(info = LogEnum.SYSTEM_COMMON) - @PostMapping("/getList") + @GetMapping("/getList") @ApiOperation("查询所有模板") public HttpResult> getList() { String methodDescribe = getMethodDescribe("getList"); - List list = iEventTemplateService.getList(); - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + List res = iEventTemplateService.getList(); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, res, methodDescribe); } /** @@ -101,7 +103,7 @@ public class EventTemplateController extends BaseController{ @OperateInfo(info = LogEnum.SYSTEM_COMMON,operateType = OperateType.UPDATE) @ApiOperation("修改模板") @ApiImplicitParam(name = "eventUpdateParam", value = "模板更新实体", required = true) - public HttpResult update(@RequestBody @Validated EventTemplateParam.EventTemplateUpdateParam eventUpdateParam){ + public HttpResult update(@RequestBody @Validated EventTemplateParam.EventTemplateUpdateParam eventUpdateParam){ String methodDescribe = getMethodDescribe("update"); boolean result = iEventTemplateService.update(eventUpdateParam); if (result) { @@ -118,7 +120,7 @@ public class EventTemplateController extends BaseController{ * @date 2022/09/08 */ @PostMapping("/delete") - @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @OperateInfo(info = LogEnum.SYSTEM_COMMON, operateType = OperateType.DELETE) @ApiOperation("删除模板") @ApiImplicitParam(name = "ids", value = "模板索引", required = true) public HttpResult delete(@RequestBody List ids){ @@ -130,4 +132,24 @@ public class EventTemplateController extends BaseController{ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe); } } + + /** + * 根据模板id查询关系 + * @param ids + * @return + */ + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @PostMapping("/selectRelevance") + @ApiOperation("根据模板id查询关系") + @ApiImplicitParam(name = "ids", value = "角色索引", required = true) + public HttpResult selectRelevance(@RequestBody List ids) { + String methodDescribe = getMethodDescribe("selectRelevance"); + LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, ids); + boolean result = iEventTemplateService.selectRelevance(ids); + if (result) { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.DELETE_PID_EXIST, null, methodDescribe); + } else { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.DELETE_PID_UNEXIST, null, methodDescribe); + } + } } diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EventTreeController.java b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EventTreeController.java index 2bfd7a7a4..3b66d6abe 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EventTreeController.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EventTreeController.java @@ -1,25 +1,28 @@ package com.njcn.system.controller; import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.constant.OperateType; import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; -import com.njcn.system.pojo.vo.EventTemplateTree; +import com.njcn.common.utils.LogUtil; +import com.njcn.system.pojo.param.EventTemplateParam; import com.njcn.system.service.IEventTreeService; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; import java.util.List; +@Validated @Slf4j -@Api(tags = "字典树管理") +@Api(tags = "模板树节点管理") @RestController @AllArgsConstructor @RequestMapping("/EventTree") @@ -28,16 +31,38 @@ public class EventTreeController extends BaseController { private final IEventTreeService iEventTreeService; /** - * 获取字典树 - * @author hany - * @date 2022/09/09 + * 根据模板id查询绑定的树节点 + * @param idList + * @return */ - @ApiOperation("获取字典树") @OperateInfo(info = LogEnum.BUSINESS_MEDIUM) - @GetMapping("/getEventTree") - public HttpResult> getEventTemplateTree(){ - String methodDescribe = getMethodDescribe("getEventTree"); - List tree = iEventTreeService.getEventTree(); - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, tree, methodDescribe); + @PostMapping("/selectEventTree") + @ApiOperation("模板节点树") + @ApiImplicitParam(name = "idList", value = "模板索引", required = true) + public HttpResult selectEventTree(@RequestParam("idList") List idList){ + String methodDescribe = getMethodDescribe("selectEventTree"); + LogUtil.njcnDebug(log, "{},传入的模板id集合:{}", methodDescribe, idList); + List res = iEventTreeService.selectEventTree(idList); + if (res.isEmpty()){ + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.NO_DATA, res, methodDescribe); + }else{ + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, res, methodDescribe); + } + } + + /** + * 为模板分配字典节点 + * @param templateRelevancy + * @return + */ + @OperateInfo(operateType = OperateType.UPDATE) + @PostMapping("/assignTemplate") + @ApiOperation("模板分配节点") + @ApiImplicitParam(name = "templateRelevancy", value = "模板信息", required = true) + public HttpResult assignTemplate(@RequestBody @Validated EventTemplateParam.TemplateRelevancy templateRelevancy) { + String methodDescribe = getMethodDescribe("assignTemplate"); + LogUtil.njcnDebug(log, "{},传入的模板id:{},传入的集合为:{}", methodDescribe,templateRelevancy); + boolean result = iEventTreeService.updateTemplate(templateRelevancy); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } } diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/EventDictMapper.java b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/EventDictMapper.java index 269bf4ad0..43a816106 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/EventDictMapper.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/EventDictMapper.java @@ -1,7 +1,12 @@ package com.njcn.system.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.system.pojo.dto.DictDTO; import com.njcn.system.pojo.po.ReportDict; +import java.util.List; + public interface EventDictMapper extends BaseMapper { + + List getAllDict(); } diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/EventTemplateMapper.java b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/EventTemplateMapper.java index 8ca200c67..fa9bd8015 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/EventTemplateMapper.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/EventTemplateMapper.java @@ -1,8 +1,11 @@ package com.njcn.system.mapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.system.pojo.po.EventTemplate; -import com.njcn.system.pojo.vo.EventTemplateTree; +import com.njcn.system.pojo.vo.EventTemplateVO; +import com.njcn.user.pojo.vo.RoleVO; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -14,17 +17,18 @@ import java.util.List; public interface EventTemplateMapper extends BaseMapper { /** - * 返回所有树节点(全部report_template_dict表数据) - * @author hany - * @date 2022/09/21 + * 分页查询模板数据 + * @param page + * @param queryWrapper + * @return */ - List getAllList(); + Page page(@Param("page")Page page, @Param("ew") QueryWrapper queryWrapper); /** * 删除模板和字典关系 * @param ids * @return */ - Boolean deleteRelationship (@Param("ids")List ids); + Boolean deleteRelevancy(@Param("ids")List ids); } diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/TemplateRelMapper.java b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/TemplateRelMapper.java new file mode 100644 index 000000000..52030f440 --- /dev/null +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/TemplateRelMapper.java @@ -0,0 +1,22 @@ +package com.njcn.system.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.system.pojo.po.TemplateRel; +import io.lettuce.core.dynamic.annotation.Param; + +import java.util.List; + +/** + * Mapper接口 + * @author hany + * @date 2022/09/30 + */ +public interface TemplateRelMapper extends BaseMapper { + + /** + * 根据模板id查询绑定关系 + * @param ids + * @return + */ + List selectRelevance(@Param("ids")List ids); +} diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/EventDictMapper.xml b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/EventDictMapper.xml new file mode 100644 index 000000000..b0c3aba9f --- /dev/null +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/EventDictMapper.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/EventTemplateMapper.xml b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/EventTemplateMapper.xml index e62d3fbb6..c09790349 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/EventTemplateMapper.xml +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/EventTemplateMapper.xml @@ -4,20 +4,21 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - + SELECT report_template.* + FROM report_template report_template + WHERE ${ew.sqlSegment} - - DELETE FROM report_rel where Rt_id in + + DELETE FROM report_relevancy where Rt_Id in #{item} + \ No newline at end of file diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/TemplateRelMapper.xml b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/TemplateRelMapper.xml new file mode 100644 index 000000000..404987c25 --- /dev/null +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/TemplateRelMapper.xml @@ -0,0 +1,16 @@ + + + + + + diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/IEventDictService.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/IEventDictService.java index 47642da7a..d824d75ac 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/service/IEventDictService.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/IEventDictService.java @@ -3,10 +3,13 @@ package com.njcn.system.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.system.pojo.param.EventDictParam; import com.njcn.system.pojo.po.ReportDict; +import com.njcn.system.pojo.vo.DictVO; + +import java.util.List; /** * @author hany - * @createTime 2022/09/27 + * @createTime 2022/10/08 */ public interface IEventDictService { /** @@ -43,4 +46,10 @@ public interface IEventDictService { * @return */ ReportDict getDictById(String id); + + /** + * 获取字典树 + * @return + */ + List getDictTree(); } diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/IEventTemplateService.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/IEventTemplateService.java index 41a921f7d..ed1700968 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/service/IEventTemplateService.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/IEventTemplateService.java @@ -1,7 +1,10 @@ package com.njcn.system.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.system.pojo.param.EventTemplateParam; import com.njcn.system.pojo.po.EventTemplate; +import com.njcn.system.pojo.vo.EventTemplateVO; import java.util.List; @@ -10,7 +13,7 @@ import java.util.List; * @date: 2022/09/08 * @Description: <描述> */ -public interface IEventTemplateService { +public interface IEventTemplateService extends IService { /** * 查询模板 @@ -41,4 +44,11 @@ public interface IEventTemplateService { * @param ids 模板ids */ boolean delete(List ids); + + /** + * 根据模板id查询关系 + * @param ids + * @return + */ + Boolean selectRelevance(List ids); } diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/IEventTreeService.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/IEventTreeService.java index 65c59fc3b..0726d1745 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/service/IEventTreeService.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/IEventTreeService.java @@ -1,15 +1,29 @@ package com.njcn.system.service; -import com.njcn.system.pojo.vo.EventTemplateTree; +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.system.pojo.param.EventTemplateParam; +import com.njcn.system.pojo.po.TemplateRel; + import java.util.List; -public interface IEventTreeService { +/** + * @author hany + * @since 2022/10/08 + */ +public interface IEventTreeService extends IService { /** - * 获取字典树 + * 根据模板id获取绑定树节点数据 * * @author hany * @date 2022/09/26 */ - List getEventTree(); + List selectEventTree(List idList); + + /** + * 分配节点数据 + * @param templateRelevancy + * @return + */ + boolean updateTemplate(EventTemplateParam.TemplateRelevancy templateRelevancy); } diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EventDictServiceImpl.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EventDictServiceImpl.java index 60002b7bb..603c7f5a4 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EventDictServiceImpl.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EventDictServiceImpl.java @@ -1,5 +1,6 @@ package com.njcn.system.service.impl; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -11,24 +12,33 @@ import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.db.constant.DbConstant; import com.njcn.system.enums.EventResponseEnum; +import com.njcn.system.enums.TemplateTreeEnum; import com.njcn.system.mapper.EventDictMapper; +import com.njcn.system.pojo.dto.DictDTO; import com.njcn.system.pojo.param.EventDictParam; import com.njcn.system.pojo.po.ReportDict; +import com.njcn.system.pojo.vo.DictVO; import com.njcn.system.service.IEventDictService; import com.njcn.web.factory.PageFactory; +import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * @author hany - * @createTime 2022/09/27 + * @createTime 2022/10/08 */ +@AllArgsConstructor @Service public class EventDictServiceImpl extends ServiceImpl implements IEventDictService { - + private final EventDictMapper eventDictMapper; /** * 新增字典数据 * @param eventDictParam @@ -36,10 +46,21 @@ public class EventDictServiceImpl extends ServiceImpl getDictTree() { + List list = new ArrayList<>(); + List dictList = eventDictMapper.getAllDict(); + dictList.forEach(item -> { + DictVO dictVO = new DictVO(); + BeanUtil.copyProperties(item, dictVO); + list.add(dictVO); + }); + return list.stream() + .filter(fun -> Objects.equals(TemplateTreeEnum.FATHER_PID, fun.getPid())) + .peek(funS -> funS.setChildren(getChildList(funS, list))) + .collect(Collectors.toList()); + } + + /** + * 递归组装字典表 + */ + private List getChildList(DictVO dictMenu, List categories) { + return categories.stream().filter(o -> Objects.equals(o.getPid(), dictMenu.getId())) + .peek(o -> o.setChildren(getChildList(o, categories))) + .collect(Collectors.toList()); + } + /** * 名称重复校验 * @author hany @@ -124,14 +173,14 @@ public class EventDictServiceImpl extends ServiceImpl= 1) { + if (resCount >= 1) { throw new BusinessException(EventResponseEnum.DIC_NAME_REPEAT); } diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EventTemplateServiceImpl.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EventTemplateServiceImpl.java index 1a7208100..81b7b835d 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EventTemplateServiceImpl.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EventTemplateServiceImpl.java @@ -1,6 +1,7 @@ package com.njcn.system.service.impl; -import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -9,12 +10,15 @@ import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.system.enums.EventResponseEnum; import com.njcn.system.mapper.EventTemplateMapper; +import com.njcn.system.mapper.TemplateRelMapper; import com.njcn.system.pojo.param.EventTemplateParam; import com.njcn.system.pojo.po.EventTemplate; +import com.njcn.system.pojo.po.ReportTemplate; +import com.njcn.system.pojo.po.TemplateRel; +import com.njcn.system.pojo.vo.EventTemplateVO; import com.njcn.system.service.IEventTemplateService; -import com.njcn.user.pojo.po.Role; +import com.njcn.web.factory.PageFactory; import lombok.AllArgsConstructor; -import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -27,9 +31,9 @@ import java.util.List; */ @Service @AllArgsConstructor -@Slf4j public class EventTemplateServiceImpl extends ServiceImpl implements IEventTemplateService { + private final TemplateRelMapper templateRelMapper; /** * 查询所有模板 * @author hany @@ -61,6 +65,7 @@ public class EventTemplateServiceImpl extends ServiceImpl ids) { //删除模板与字典的关系 - this.baseMapper.deleteRelationship(ids); + this.baseMapper.deleteRelevancy(ids); return this.lambdaUpdate().set(EventTemplate::getState, DataStateEnum.DELETED.getCode()).in(EventTemplate::getId, ids).update(); } + /** + * 根据模板id查询关系 + * @param ids + * @return + */ + @Override + public Boolean selectRelevance(List ids) { + //判断模板是否和字典绑定 + List templateRel = this.templateRelMapper.selectRelevance(ids); + + if (templateRel.size() > 0){ + return true; + }else{ + return false; + } + } + /** * 名称重复校验 */ diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EventTreeServiceImpl.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EventTreeServiceImpl.java index 9c6dcbc80..b191dafce 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EventTreeServiceImpl.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EventTreeServiceImpl.java @@ -1,67 +1,53 @@ package com.njcn.system.service.impl; -import cn.hutool.core.collection.CollectionUtil; -import com.njcn.system.enums.TemplateTreeEnum; -import com.njcn.system.mapper.EventTemplateMapper; -import com.njcn.system.pojo.vo.EventTemplateTree; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.system.mapper.TemplateRelMapper; +import com.njcn.system.pojo.param.EventTemplateParam; +import com.njcn.system.pojo.po.TemplateRel; import com.njcn.system.service.IEventTreeService; -import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; @Service -@AllArgsConstructor -public class EventTreeServiceImpl implements IEventTreeService { - - private final EventTemplateMapper eventTemplateMapper; +public class EventTreeServiceImpl extends ServiceImpl implements IEventTreeService { /** - * 获取字典树 + * 根据模板id获取绑定树节点数据 * @author hany * @date 2022/09/09 */ @Override - public List getEventTree() { - List dictTree = new ArrayList<>(); - List allList = eventTemplateMapper.getAllList(); - List reportList = allList.stream().filter(item -> item.getLevel().equals(TemplateTreeEnum.REPORT_LEVEL.getCode())).sorted(Comparator.comparing(EventTemplateTree::getSort)).collect(Collectors.toList()); - List lineList = allList.stream().filter(item -> item.getLevel().equals(TemplateTreeEnum.LINE_LEVEL.getCode())).sorted(Comparator.comparing(EventTemplateTree::getSort)).collect(Collectors.toList()); - List detailList = allList.stream().filter(item -> item.getLevel().equals(TemplateTreeEnum.DETAIL_LEVEL.getCode())).sorted(Comparator.comparing(EventTemplateTree::getSort)).collect(Collectors.toList()); - List eventList = allList.stream().filter(item -> item.getLevel().equals(TemplateTreeEnum.TRANS_LEVEL.getCode())).sorted(Comparator.comparing(EventTemplateTree::getSort)).collect(Collectors.toList()); - List densityList = allList.stream().filter(item -> item.getLevel().equals(TemplateTreeEnum.TRANS_D_LEVEL.getCode())).sorted(Comparator.comparing(EventTemplateTree::getSort)).collect(Collectors.toList()); - List reasonList = allList.stream().filter(item -> item.getLevel().equals(TemplateTreeEnum.TRANS_R_LEVEL.getCode())).sorted(Comparator.comparing(EventTemplateTree::getSort)).collect(Collectors.toList()); + public List selectEventTree(List idList) { + return this.lambdaQuery().in(TemplateRel::getRtId,idList).list().stream().map(TemplateRel::getRdId).collect(Collectors.toList()); + } - lineList.forEach(line -> line.setChildren(getChildren(line, detailList))); - lineList.forEach(line -> line.setChildren(getChildren(line, eventList))); - lineList.forEach(line -> line.setChildren(getChildren(line, densityList))); - lineList.forEach(line -> line.setChildren(getChildren(line, reasonList))); - reportList.forEach(report -> report.setChildren(getChildren(report, lineList))); - - if (CollectionUtil.isNotEmpty(allList)) { - EventTemplateTree eventTemplateTree = new EventTemplateTree(); - eventTemplateTree.setId("9999999"); - eventTemplateTree.setLevel(0); - eventTemplateTree.setName("新增模板"); - if (CollectionUtil.isNotEmpty(reportList)) { - eventTemplateTree.setChildren(reportList); - } - dictTree.add(eventTemplateTree); + @Override + public boolean updateTemplate(EventTemplateParam.TemplateRelevancy templateRelevancy) { + deleteTemplate(templateRelevancy.getId()); + if (!templateRelevancy.getIdList().isEmpty()){ + TemplateRel templateRel = new TemplateRel(); + templateRel.setRtId(templateRelevancy.getId()); + templateRelevancy.getIdList().forEach( + pojo->{ + templateRel.setRdId(pojo); + this.baseMapper.insert(templateRel); + }); } - return dictTree; + return true; } /** - * 获取全部子节点 - * - * @author hany - * @date 2022/09/21 + *根据模板删除 + * @param temIndex + * @return */ - public List getChildren(EventTemplateTree item, List all) { - return all.stream().filter(allItem -> allItem.getPid().equals(item.getId())).collect(Collectors.toList()); + public boolean deleteTemplate(String temIndex) { + QueryWrapper templateRelQueryWrapper = new QueryWrapper<>(); + templateRelQueryWrapper.eq("report_relevancy.Rt_Id",temIndex); + int row = this.baseMapper.delete(templateRelQueryWrapper); + return row > 0; } - }