Commit db38b439 by renrui

[add]文档模版管理

1 parent 57353e13
package org.arch.overall.controller;
import cn.hutool.core.lang.UUID;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.arch.base.Result;
import org.arch.common.modules.archoverall.dto.KlReportTplDTO;
import org.arch.common.modules.archoverall.entity.KlReportTpl;
import org.arch.overall.service.KlReportTplService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* <p>
* 架构知识库-报告模版库-报告模版结构化 前端控制器
* </p>
*
* @author makejava
* @since 2023-12-14
*/
@Api(value = "/kl-report-temp", tags = {"架构知识库-报告模版库-报告模版结构化"})
@RestController
@RequestMapping("/kl-report-temp")
public class KlReportTempController {
@Autowired
private KlReportTplService klReportTempService;
@PostMapping(value = "/")
@ApiOperation(value = "分页查询", notes = "分页查询")
public ResponseEntity<IPage<KlReportTpl>> gtKlReportTemp(@RequestBody KlReportTplDTO dto) {
IPage<KlReportTpl> aPage = klReportTempService.gtKlReportTemp(dto);
return new ResponseEntity<>(aPage, HttpStatus.OK);
}
@PostMapping(value = "/{id}")
@ApiOperation(value = "根据ID查询", notes = "根据ID查询")
public ResponseEntity<KlReportTpl> getById(@PathVariable("id") String id) {
return new ResponseEntity<>(klReportTempService.getById(id), HttpStatus.OK);
}
@PostMapping("/adKlReportTemp")
@ApiOperation(value = "新增", notes = "新增")
public Result<Object> adKlReportTemp(@RequestBody KlReportTpl params) {
List<KlReportTpl> list = klReportTempService.gtTplName(params);
if(list.size() > 0) {
return Result.error("已存在此模板名称不可重复添加!");
}
params.setTplCode(UUID.fastUUID().toString());
params.setCreateTime(new Date());
params.setDelFlag((byte) 0);
List<KlReportTpl> verlist = new ArrayList<>();
verlist = klReportTempService.selectVer();
for(int i = 0; i<verlist.size(); i++) {
if(verlist.get(0).toString() != null) {
params.setVersion(verlist.get(i).getVersion());
}
}
klReportTempService.save(params);
return Result.success(params);
}
@PostMapping(value = "/updKlReportTemp")
@ApiOperation(value = "修改", notes = "修改")
public Result<Object> updKlReportTemp(@RequestBody KlReportTpl params) {
params.setLastUpdateTime(new Date());
klReportTempService.updateById(params);
return Result.success(params);
}
/**
* 批量删除
*
* @param params
* @param request 请求
* @return
* @return {@link R}
*/
@PostMapping(value = "/updKlReportTempBatch")
@ApiOperation(value = "批量删除", notes = "批量删除")
public Result<Object> updKlTechPolicyBatch(@RequestBody Map<String, Object> requestMap) {
klReportTempService.updKlReportTempBatch(requestMap);
return Result.success();
}
/**
* 不分页获取模板列表
*
* @param params
* @param request 请求
* @return
* @return {@link R}
*/
@PostMapping("/gtKlReportTemp")
@ApiOperation(value = "不分页获取模板列表", notes = "不分页获取模板列表")
public Result<Object> gtKlReportTemp(@RequestBody KlReportTpl params) {
List<KlReportTpl> list = klReportTempService.gtTplName(params);
return Result.success(list);
}
}
package org.arch.overall.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Select;
import org.arch.common.modules.archoverall.entity.KlReportTpl;
import java.util.List;
/**
* <p>
* 架构知识库-报告模版库-报告模版结构化 Mapper 接口
* </p>
*
* @author makejava
* @since 2023-12-14
*/
public interface KlReportTplMapper extends BaseMapper<KlReportTpl> {
@Select("select (SELECT CONCAT((SELECT REPLACE((select date_format(now(), '%Y-%m-%d')),CHAR(45),'')),'-V',(SELECT (select date_format(now(), '%Y')) - 2023 +1),'.',(select date_format(now(), '%m')),'.','1'))\r\n" +
" as version")
List<KlReportTpl> selectVer();
}
package org.arch.overall.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.arch.common.modules.archoverall.dto.KlReportTplDTO;
import org.arch.common.modules.archoverall.entity.KlReportTpl;
import java.util.List;
import java.util.Map;
/**
* <p>
* 架构知识库-报告模版库-报告模版结构化 服务类
* </p>
*
* @author makejava
* @since 2023-12-14
*/
public interface KlReportTplService extends IService<KlReportTpl> {
IPage<KlReportTpl> gtKlReportTemp(KlReportTplDTO dto);
void updKlReportTempBatch(Map<String, Object> requestMap);
List<KlReportTpl> gtTplName(KlReportTpl params);
List<KlReportTpl> selectVer();
}
package org.arch.overall.service.impl;
import cn.hutool.core.date.DateUtil;
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.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.arch.common.modules.archoverall.dto.KlReportTplDTO;
import org.arch.common.modules.archoverall.entity.KlReportTpl;
import org.arch.overall.mapper.KlReportTplMapper;
import org.arch.overall.service.KlReportTplService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
* <p>
* 架构知识库-报告模版库-报告模版结构化 服务实现类
* </p>
*
* @author makejava
* @since 2023-12-14
*/
@Service
public class KlReportTplServiceImpl extends ServiceImpl<KlReportTplMapper, KlReportTpl> implements KlReportTplService {
@Autowired
private KlReportTplMapper klReportTplMapper;
@Override
public IPage<KlReportTpl> gtKlReportTemp(KlReportTplDTO dto) {
Integer current = dto.getCurrent();
Integer pageSize = dto.getPageSize();
if (current == null) {
current = 1;
}
if (pageSize == null) {
pageSize = 10;
}
LambdaQueryWrapper<KlReportTpl> queryWrapper = new LambdaQueryWrapper<KlReportTpl>();
queryWrapper.like(dto.getTplName() != null && !("").equals(dto.getTplName()), KlReportTpl::getTplName, dto.getTplName());
queryWrapper.eq(dto.getTplType() != null , KlReportTpl::getTplType,dto.getTplType());
queryWrapper.ge(dto.getBeginTime() != null , KlReportTpl::getCreateTime, DateUtil.format(dto.getBeginTime(), "yyyy-MM-dd 00:00:00"));
queryWrapper.le(dto.getEndTime() != null , KlReportTpl::getCreateTime, DateUtil.format(dto.getEndTime(), "yyyy-MM-dd 23:59:59"));
queryWrapper.eq(KlReportTpl::getDelFlag, 0);
queryWrapper.orderByDesc(KlReportTpl::getCreateTime);
IPage<KlReportTpl> aPage = klReportTplMapper.selectPage(new Page<>(current, pageSize), queryWrapper);
return aPage;
}
@Override
public void updKlReportTempBatch(Map<String, Object> requestMap) {
LambdaQueryWrapper<KlReportTpl> queryWrapper = new QueryWrapper<KlReportTpl>().lambda();
List<Long> tplId = (List<Long>) requestMap.get("tplId");
queryWrapper.in(KlReportTpl::getTplId, tplId);
List<KlReportTpl> arcs = klReportTplMapper.selectList(queryWrapper);
arcs.forEach(e->{
e.setDelFlag((byte) 1);
klReportTplMapper.updateById(e);
});
}
@Override
public List<KlReportTpl> gtTplName(KlReportTpl params) {
LambdaQueryWrapper<KlReportTpl> queryWrapper = new LambdaQueryWrapper<KlReportTpl>();
queryWrapper.eq(StrUtil.isNotBlank(params.getTplName()), KlReportTpl::getTplName, params.getTplName());
queryWrapper.eq(KlReportTpl::getDelFlag, 0);
List<KlReportTpl> gtListToTopName = klReportTplMapper.selectList(queryWrapper);
return gtListToTopName;
}
@Override
public List<KlReportTpl> selectVer() {
List<KlReportTpl> gtver = klReportTplMapper.selectVer();
return gtver;
}
}
package org.arch.common.modules.archoverall.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 架构知识库-报告模版库-报告模版结构化
* </p>
*
* @author lizhen
* @since 2023-12-18
*/
@Data
@Accessors(chain = true)
@NoArgsConstructor
@ApiModel(value="KlReportTplDTO", description="架构知识库-报告模版库-报告模版结构化")
public class KlReportTplDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "当前页")
private Integer current;
@ApiModelProperty(value = "每页显示条数")
private Integer pageSize;
@ApiModelProperty(value = "总条数")
private Integer total;
@ApiModelProperty(value = "主键")
private Long tplId;
@ApiModelProperty(value = "编码")
@Size(max=50,message="不能超过最大长度:50")
private String tplCode;
@ApiModelProperty(value = "模版名称")
@Size(max=50,message="不能超过最大长度:50")
private String tplName;
@ApiModelProperty(value = "模版类型 1:需求模版 2:概设模板")
private Integer tplType;
@ApiModelProperty(value = "附件ID")
private Long fileId;
@ApiModelProperty(value = "附件名称")
private String fileName;
@ApiModelProperty(value = "备注")
@Size(max=500,message="不能超过最大长度:500")
private String tplRemark;
@ApiModelProperty(value = "创建人")
private Long createMan;
@ApiModelProperty(value = "创建时间")
private Date createTime;
@ApiModelProperty(value = "最后一次修改时间")
private Date lastUpdateTime;
@ApiModelProperty(value = "最后一次修改人")
private Long lastUpdateMan;
@ApiModelProperty(value = "是否删除 1:已删除 0:未删除")
private Integer delFlag;
@ApiModelProperty(value = "版本")
private String version;
@ApiModelProperty(value = "开始时间")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date beginTime;
@ApiModelProperty(value = "结束时间")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date endTime;
@ApiModelProperty(value = "附件链接")
private String fileUrl;
public Long getTplId() {
return tplId;
}
public void setTplId(Long tplId) {
this.tplId = tplId;
}
public String getTplCode() {
return tplCode;
}
public void setTplCode(String tplCode) {
this.tplCode = tplCode;
}
public String getTplName() {
return tplName;
}
public void setTplName(String tplName) {
this.tplName = tplName;
}
public Integer getTplType() {
return tplType;
}
public void setTplType(Integer tplType) {
this.tplType = tplType;
}
public Long getFileId() {
return fileId;
}
public void setFileId(Long fileId) {
this.fileId = fileId;
}
public String getTplRemark() {
return tplRemark;
}
public void setTplRemark(String tplRemark) {
this.tplRemark = tplRemark;
}
public Long getCreateMan() {
return createMan;
}
public void setCreateMan(Long createMan) {
this.createMan = createMan;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getLastUpdateTime() {
return lastUpdateTime;
}
public void setLastUpdateTime(Date lastUpdateTime) {
this.lastUpdateTime = lastUpdateTime;
}
public Long getLastUpdateMan() {
return lastUpdateMan;
}
public void setLastUpdateMan(Long lastUpdateMan) {
this.lastUpdateMan = lastUpdateMan;
}
public Integer getDelFlag() {
return delFlag;
}
public void setDelFlag(Integer delFlag) {
this.delFlag = delFlag;
}
@Override
public String toString() {
return "ArchiKlReportTpl{" +
"tplId=" + tplId +
", tplCode=" + tplCode +
", tplName=" + tplName +
", tplType=" + tplType +
", fileId=" + fileId +
", tempRemark=" + tplRemark +
", createMan=" + createMan +
", createTime=" + createTime +
", lastUpdateTime=" + lastUpdateTime +
", lastUpdateMan=" + lastUpdateMan +
", delFlag=" + delFlag +
"}";
}
}
package org.arch.common.modules.archoverall.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 架构知识库-报告模版库-报告模版结构化
* </p>
*
* @author makejava
* @since 2023-12-14
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@TableName("kl_report_tpl")
@ApiModel(value = "KlReportTemp对象", description = "架构知识库-报告模版库-报告模版结构化")
public class KlReportTpl extends Model<KlReportTpl> {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键")
@TableId(value = "tpl_id", type = IdType.AUTO)
private Long tplId;
@ApiModelProperty(value = "编码")
private String tplCode;
@ApiModelProperty(value = "模版名称")
private String tplName;
@ApiModelProperty(value = "模版类型 1:需求模版 2:概设模板")
private Byte tplType;
@ApiModelProperty(value = "附件ID")
private Long fileId;
@ApiModelProperty(value = "附件名称")
private String fileName;
@ApiModelProperty(value = "备注")
private String tplRemark;
@ApiModelProperty(value = "创建人")
private Long createMan;
@ApiModelProperty(value = "附件链接")
private String fileUrl;
@ApiModelProperty(value = "创建时间")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date createTime;
@ApiModelProperty(value = "最后一次修改时间")
private Date lastUpdateTime;
@ApiModelProperty(value = "最后一次修改人")
private Long lastUpdateMan;
@ApiModelProperty(value = "是否删除 1:已删除 0:未删除")
private Byte delFlag;
@ApiModelProperty(value = "版本")
private String version;
@Override
public Serializable pkVal() {
return this.tplId;
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!