[add] 图纸管理
This commit is contained in:
@ -236,10 +236,13 @@ springdoc:
|
|||||||
packages-to-scan: org.dromara.other
|
packages-to-scan: org.dromara.other
|
||||||
- group: 11.分包模块
|
- group: 11.分包模块
|
||||||
packages-to-scan: org.dromara.contractor
|
packages-to-scan: org.dromara.contractor
|
||||||
- group: 12.代码生成模块
|
- group: 12.设计模块
|
||||||
packages-to-scan: org.dromara.generator
|
packages-to-scan: org.dromara.design
|
||||||
- group: 13.工作流模块
|
- group: 13.工作流模块
|
||||||
packages-to-scan: org.dromara.workflow
|
packages-to-scan: org.dromara.workflow
|
||||||
|
- group: 20.代码生成模块
|
||||||
|
packages-to-scan: org.dromara.generator
|
||||||
|
|
||||||
|
|
||||||
# 防止XSS攻击
|
# 防止XSS攻击
|
||||||
xss:
|
xss:
|
||||||
|
|||||||
@ -3,6 +3,7 @@ package org.dromara.test;
|
|||||||
import cn.hutool.core.io.FileUtil;
|
import cn.hutool.core.io.FileUtil;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.dromara.design.service.IDesTechnicalStandardService;
|
||||||
import org.dromara.facility.service.IFacPhotovoltaicPanelPartsService;
|
import org.dromara.facility.service.IFacPhotovoltaicPanelPartsService;
|
||||||
import org.dromara.project.service.IBusProjectService;
|
import org.dromara.project.service.IBusProjectService;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
@ -25,6 +26,9 @@ public class DemoTest {
|
|||||||
@Resource
|
@Resource
|
||||||
private IBusProjectService projectService;
|
private IBusProjectService projectService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IDesTechnicalStandardService desTechnicalStandardService;
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void test() {
|
void test() {
|
||||||
Boolean result = photovoltaicPanelPartsService
|
Boolean result = photovoltaicPanelPartsService
|
||||||
@ -39,13 +43,17 @@ public class DemoTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testProjectSync() {
|
void testProjectSync() {
|
||||||
projectService.insertProjectSyncThing(1897160897167638529L)
|
Long id = 1897160897167638529L;
|
||||||
|
/* projectService.insertProjectSyncThing(id)
|
||||||
.thenAccept(result -> log.info("项目异步执行数据同步成功"))
|
.thenAccept(result -> log.info("项目异步执行数据同步成功"))
|
||||||
.exceptionally(ex -> {
|
.exceptionally(ex -> {
|
||||||
log.error("项目异步执行数据同步失败", ex);
|
log.error("项目异步执行数据同步失败", ex);
|
||||||
return null;
|
return null;
|
||||||
});
|
});*/
|
||||||
;
|
Boolean saveTechnicalStandard = desTechnicalStandardService.insertFolderByTemplate(id);
|
||||||
|
if (!saveTechnicalStandard) {
|
||||||
|
log.error("同步数据失败,项目[{}]新增技术标准管理文件夹模版失败", id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
@ -105,6 +105,11 @@
|
|||||||
<artifactId>ruoyi-common-jts</artifactId>
|
<artifactId>ruoyi-common-jts</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.dromara</groupId>
|
||||||
|
<artifactId>ruoyi-workflow</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
@ -0,0 +1,23 @@
|
|||||||
|
package org.dromara.design.constant;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author lcj
|
||||||
|
* @date 2025/7/2 19:59
|
||||||
|
*/
|
||||||
|
public interface DesDrawingConstant {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对象存储前缀
|
||||||
|
*/
|
||||||
|
String OSS_PREFIX = "doc/design/drawing/";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取项目对象存储前缀
|
||||||
|
*
|
||||||
|
* @param projectId 项目id
|
||||||
|
* @return 项目对象存储前缀
|
||||||
|
*/
|
||||||
|
static String getProjectOssPrefix(Long projectId) {
|
||||||
|
return String.format("%s%s/", OSS_PREFIX, projectId);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,95 @@
|
|||||||
|
package org.dromara.design.controller;
|
||||||
|
|
||||||
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import jakarta.annotation.Resource;
|
||||||
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import org.dromara.common.core.domain.R;
|
||||||
|
import org.dromara.common.core.validate.EditGroup;
|
||||||
|
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||||
|
import org.dromara.common.log.annotation.Log;
|
||||||
|
import org.dromara.common.log.enums.BusinessType;
|
||||||
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
import org.dromara.common.web.core.BaseController;
|
||||||
|
import org.dromara.design.domain.dto.drawing.DesDrawingCreateReq;
|
||||||
|
import org.dromara.design.domain.dto.drawing.DesDrawingQueryReq;
|
||||||
|
import org.dromara.design.domain.dto.drawing.DesDrawingUpdateReq;
|
||||||
|
import org.dromara.design.domain.vo.drawing.DesDrawingVo;
|
||||||
|
import org.dromara.design.service.IDesDrawingService;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 图纸管理
|
||||||
|
*
|
||||||
|
* @author lcj
|
||||||
|
* @date 2025-07-02
|
||||||
|
*/
|
||||||
|
@Validated
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/design/drawing")
|
||||||
|
public class DesDrawingController extends BaseController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IDesDrawingService desDrawingService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询图纸管理列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("design:drawing:list")
|
||||||
|
@GetMapping("/list")
|
||||||
|
public TableDataInfo<DesDrawingVo> list(DesDrawingQueryReq req, PageQuery pageQuery) {
|
||||||
|
return desDrawingService.queryPageList(req, pageQuery);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取图纸管理详细信息
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("design:drawing:query")
|
||||||
|
@GetMapping("/{id}")
|
||||||
|
public R<DesDrawingVo> getInfo(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable Long id) {
|
||||||
|
return R.ok(desDrawingService.queryById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增图纸管理
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("design:drawing:add")
|
||||||
|
@Log(title = "图纸管理", businessType = BusinessType.INSERT)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PostMapping()
|
||||||
|
public R<DesDrawingVo> add(@RequestPart("file") MultipartFile file, DesDrawingCreateReq req) {
|
||||||
|
return R.ok(desDrawingService.insertByBo(file, req));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改图纸管理
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("design:drawing:edit")
|
||||||
|
@Log(title = "图纸管理", businessType = BusinessType.UPDATE)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PutMapping()
|
||||||
|
public R<Void> edit(@Validated(EditGroup.class) @RequestBody DesDrawingUpdateReq req) {
|
||||||
|
return toAjax(desDrawingService.updateByBo(req));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除图纸管理
|
||||||
|
*
|
||||||
|
* @param ids 主键串
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("design:drawing:remove")
|
||||||
|
@Log(title = "图纸管理", businessType = BusinessType.DELETE)
|
||||||
|
@DeleteMapping("/{ids}")
|
||||||
|
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||||
|
@PathVariable Long[] ids) {
|
||||||
|
return toAjax(desDrawingService.deleteByIds(List.of(ids)));
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -26,7 +26,7 @@ import org.springframework.web.multipart.MultipartFile;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 技术管理标准
|
* 技术标准管理
|
||||||
*
|
*
|
||||||
* @author lcj
|
* @author lcj
|
||||||
* @date 2025-07-02
|
* @date 2025-07-02
|
||||||
@ -40,7 +40,7 @@ public class DesTechnicalStandardController extends BaseController {
|
|||||||
private IDesTechnicalStandardService desTechnicalStandardService;
|
private IDesTechnicalStandardService desTechnicalStandardService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页查询技术管理标准文件列表
|
* 分页查询技术标准管理文件列表
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("design:technicalStandard:list")
|
@SaCheckPermission("design:technicalStandard:list")
|
||||||
@GetMapping("/file/page")
|
@GetMapping("/file/page")
|
||||||
@ -49,7 +49,7 @@ public class DesTechnicalStandardController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询技术管理标准文件列表
|
* 查询技术标准管理文件列表
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("design:technicalStandard:list")
|
@SaCheckPermission("design:technicalStandard:list")
|
||||||
@GetMapping("/file/list/{folderId}")
|
@GetMapping("/file/list/{folderId}")
|
||||||
@ -59,7 +59,7 @@ public class DesTechnicalStandardController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询技术管理标准文件树列表
|
* 查询技术标准管理文件树列表
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("design:technicalStandard:list")
|
@SaCheckPermission("design:technicalStandard:list")
|
||||||
@GetMapping("/folder/tree/list")
|
@GetMapping("/folder/tree/list")
|
||||||
@ -69,7 +69,7 @@ public class DesTechnicalStandardController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询技术管理标准回收站文件列表
|
* 查询技术标准管理回收站文件列表
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("design:technicalStandard:list")
|
@SaCheckPermission("design:technicalStandard:list")
|
||||||
@GetMapping("/recycleBin/list")
|
@GetMapping("/recycleBin/list")
|
||||||
@ -78,7 +78,7 @@ public class DesTechnicalStandardController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取技术管理标准详细信息
|
* 获取技术标准管理详细信息
|
||||||
*
|
*
|
||||||
* @param id 主键
|
* @param id 主键
|
||||||
*/
|
*/
|
||||||
@ -90,10 +90,10 @@ public class DesTechnicalStandardController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增技术管理标准文件
|
* 新增技术标准管理文件
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("design:technicalStandard:add")
|
@SaCheckPermission("design:technicalStandard:add")
|
||||||
@Log(title = "技术管理标准", businessType = BusinessType.INSERT)
|
@Log(title = "技术标准管理", businessType = BusinessType.INSERT)
|
||||||
@RepeatSubmit()
|
@RepeatSubmit()
|
||||||
@PostMapping("/file")
|
@PostMapping("/file")
|
||||||
public R<Void> add(@RequestPart("file") MultipartFile file, DesTechnicalStandardFileCreateReq req) {
|
public R<Void> add(@RequestPart("file") MultipartFile file, DesTechnicalStandardFileCreateReq req) {
|
||||||
@ -101,10 +101,10 @@ public class DesTechnicalStandardController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改技术管理标准
|
* 修改技术标准管理
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("design:technicalStandard:edit")
|
@SaCheckPermission("design:technicalStandard:edit")
|
||||||
@Log(title = "技术管理标准", businessType = BusinessType.UPDATE)
|
@Log(title = "技术标准管理", businessType = BusinessType.UPDATE)
|
||||||
@RepeatSubmit()
|
@RepeatSubmit()
|
||||||
@PutMapping("/file")
|
@PutMapping("/file")
|
||||||
public R<Void> edit(@RequestBody DesTechnicalStandardFileUpdateReq req) {
|
public R<Void> edit(@RequestBody DesTechnicalStandardFileUpdateReq req) {
|
||||||
@ -112,12 +112,12 @@ public class DesTechnicalStandardController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除技术管理标准文件
|
* 删除技术标准管理文件
|
||||||
*
|
*
|
||||||
* @param id 主键
|
* @param id 主键
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("design:technicalStandard:remove")
|
@SaCheckPermission("design:technicalStandard:remove")
|
||||||
@Log(title = "技术管理标准", businessType = BusinessType.DELETE)
|
@Log(title = "技术标准管理", businessType = BusinessType.DELETE)
|
||||||
@DeleteMapping("/file/{id}")
|
@DeleteMapping("/file/{id}")
|
||||||
public R<Void> remove(@NotNull(message = "主键不能为空")
|
public R<Void> remove(@NotNull(message = "主键不能为空")
|
||||||
@PathVariable Long id) {
|
@PathVariable Long id) {
|
||||||
@ -125,12 +125,12 @@ public class DesTechnicalStandardController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量删除技术管理标准回收站文件信息
|
* 批量删除技术标准管理回收站文件信息
|
||||||
*
|
*
|
||||||
* @param ids 主键串
|
* @param ids 主键串
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("design:technicalStandard:remove")
|
@SaCheckPermission("design:technicalStandard:remove")
|
||||||
@Log(title = "技术管理标准", businessType = BusinessType.DELETE)
|
@Log(title = "技术标准管理", businessType = BusinessType.DELETE)
|
||||||
@DeleteMapping("/file/recycleBin/{ids}")
|
@DeleteMapping("/file/recycleBin/{ids}")
|
||||||
public R<Void> removeRecycleBin(@NotNull(message = "主键不能为空")
|
public R<Void> removeRecycleBin(@NotNull(message = "主键不能为空")
|
||||||
@PathVariable Long[] ids) {
|
@PathVariable Long[] ids) {
|
||||||
@ -141,7 +141,7 @@ public class DesTechnicalStandardController extends BaseController {
|
|||||||
* 根据主键id批量恢复
|
* 根据主键id批量恢复
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("design:technicalStandard:recovery")
|
@SaCheckPermission("design:technicalStandard:recovery")
|
||||||
@Log(title = "技术管理标准", businessType = BusinessType.UPDATE)
|
@Log(title = "技术标准管理", businessType = BusinessType.UPDATE)
|
||||||
@PostMapping("/recovery/{ids}")
|
@PostMapping("/recovery/{ids}")
|
||||||
public R<Void> recoveryBatchById(@NotNull(message = "主键不能为空")
|
public R<Void> recoveryBatchById(@NotNull(message = "主键不能为空")
|
||||||
@PathVariable Long[] ids) {
|
@PathVariable Long[] ids) {
|
||||||
|
|||||||
@ -0,0 +1,92 @@
|
|||||||
|
package org.dromara.design.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 图纸管理对象 des_drawing
|
||||||
|
*
|
||||||
|
* @author lcj
|
||||||
|
* @date 2025-07-02
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@TableName("des_drawing")
|
||||||
|
public class DesDrawing extends BaseEntity {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
@TableId(value = "id")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 版本号
|
||||||
|
*/
|
||||||
|
private String versionNumber;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件名称
|
||||||
|
*/
|
||||||
|
private String fileName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件访问路径
|
||||||
|
*/
|
||||||
|
private String fileUrl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件类型(1过程图纸 2蓝图 3变更图纸)
|
||||||
|
*/
|
||||||
|
private String fileType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件后缀
|
||||||
|
*/
|
||||||
|
private String fileSuffix;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 状态(0正常 1删除)
|
||||||
|
*/
|
||||||
|
private String fileStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 原文件名
|
||||||
|
*/
|
||||||
|
private String originalName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否最新(0否 1是)
|
||||||
|
*/
|
||||||
|
private String newest;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核状态
|
||||||
|
*/
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除时间
|
||||||
|
*/
|
||||||
|
private Date deletedAt;
|
||||||
|
|
||||||
|
}
|
||||||
@ -10,7 +10,7 @@ import java.io.Serial;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 技术管理标准对象 des_technical_standard
|
* 技术标准管理对象 des_technical_standard
|
||||||
*
|
*
|
||||||
* @author lcj
|
* @author lcj
|
||||||
* @date 2025-07-02
|
* @date 2025-07-02
|
||||||
|
|||||||
@ -0,0 +1,43 @@
|
|||||||
|
package org.dromara.design.domain.dto.drawing;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author lcj
|
||||||
|
* @date 2025/7/2 19:31
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class DesDrawingCreateReq implements Serializable {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 7092100999544181672L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 版本号
|
||||||
|
*/
|
||||||
|
private String versionNumber;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件名称
|
||||||
|
*/
|
||||||
|
private String fileName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件类型(1过程图纸 2蓝图 3变更图纸)
|
||||||
|
*/
|
||||||
|
private String fileType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,48 @@
|
|||||||
|
package org.dromara.design.domain.dto.drawing;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author lcj
|
||||||
|
* @date 2025/7/2 19:32
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class DesDrawingQueryReq implements Serializable {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 8149145849259291103L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件名称
|
||||||
|
*/
|
||||||
|
private String fileName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件类型(1过程图纸 2蓝图 3变更图纸)
|
||||||
|
*/
|
||||||
|
private String fileType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 状态(0正常 1删除)
|
||||||
|
*/
|
||||||
|
private String fileStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 原文件名
|
||||||
|
*/
|
||||||
|
private String originalName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否最新(0否 1是)
|
||||||
|
*/
|
||||||
|
private String newest;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,38 @@
|
|||||||
|
package org.dromara.design.domain.dto.drawing;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author lcj
|
||||||
|
* @date 2025/7/2 19:31
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class DesDrawingUpdateReq implements Serializable {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = -6833934408939323557L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 版本号
|
||||||
|
*/
|
||||||
|
private String versionNumber;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件名称
|
||||||
|
*/
|
||||||
|
private String fileName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,79 @@
|
|||||||
|
package org.dromara.design.domain.vo.drawing;
|
||||||
|
|
||||||
|
import io.github.linpeilie.annotations.AutoMapper;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.dromara.design.domain.DesDrawing;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 图纸管理视图对象 des_drawing
|
||||||
|
*
|
||||||
|
* @author lcj
|
||||||
|
* @date 2025-07-02
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@AutoMapper(target = DesDrawing.class)
|
||||||
|
public class DesDrawingVo implements Serializable {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 版本号
|
||||||
|
*/
|
||||||
|
private String versionNumber;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件名称
|
||||||
|
*/
|
||||||
|
private String fileName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件访问路径
|
||||||
|
*/
|
||||||
|
private String fileUrl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件类型(1过程图纸 2蓝图 3变更图纸)
|
||||||
|
*/
|
||||||
|
private String fileType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件后缀
|
||||||
|
*/
|
||||||
|
private String fileSuffix;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 原文件名
|
||||||
|
*/
|
||||||
|
private String originalName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否最新(0否 1是)
|
||||||
|
*/
|
||||||
|
private String newest;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核状态
|
||||||
|
*/
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
}
|
||||||
@ -9,7 +9,7 @@ import java.io.Serializable;
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 技术管理标准视图对象 des_technical_standard
|
* 技术标准管理视图对象 des_technical_standard
|
||||||
*
|
*
|
||||||
* @author lcj
|
* @author lcj
|
||||||
* @date 2025-07-02
|
* @date 2025-07-02
|
||||||
|
|||||||
@ -0,0 +1,39 @@
|
|||||||
|
package org.dromara.design.enums;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author lcj
|
||||||
|
* @date 2025/7/2 20:13
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
public enum DesDrawingFileTypeEnum {
|
||||||
|
|
||||||
|
PROCESS_DRAWING("过程图纸", "1", "changedrawing"),
|
||||||
|
BLUEPRINT("蓝图", "2", "blueprintdrawing"),
|
||||||
|
CHANGE_DRAWING("变更图纸", "3", "processdrawing");
|
||||||
|
|
||||||
|
private final String text;
|
||||||
|
|
||||||
|
private final String value;
|
||||||
|
|
||||||
|
private final String code;
|
||||||
|
|
||||||
|
DesDrawingFileTypeEnum(String text, String value, String code) {
|
||||||
|
this.text = text;
|
||||||
|
this.value = value;
|
||||||
|
this.code = code;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 根据 value 获取对应的 text
|
||||||
|
public static String getTextByValue(String value) {
|
||||||
|
for (DesDrawingFileTypeEnum type : values()) {
|
||||||
|
if (Objects.equals(type.getValue(), value)) {
|
||||||
|
return type.getText();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,23 @@
|
|||||||
|
package org.dromara.design.enums;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author lcj
|
||||||
|
* @date 2025/7/2 20:07
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
public enum DesDrawingNewestEnum {
|
||||||
|
|
||||||
|
YES("1", "是"),
|
||||||
|
NO("0", "否");
|
||||||
|
|
||||||
|
private final String code;
|
||||||
|
|
||||||
|
private final String message;
|
||||||
|
|
||||||
|
DesDrawingNewestEnum(String code, String message) {
|
||||||
|
this.code = code;
|
||||||
|
this.message = message;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,15 @@
|
|||||||
|
package org.dromara.design.mapper;
|
||||||
|
|
||||||
|
import org.dromara.design.domain.DesDrawing;
|
||||||
|
import org.dromara.design.domain.vo.drawing.DesDrawingVo;
|
||||||
|
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 图纸管理Mapper接口
|
||||||
|
*
|
||||||
|
* @author lcj
|
||||||
|
* @date 2025-07-02
|
||||||
|
*/
|
||||||
|
public interface DesDrawingMapper extends BaseMapperPlus<DesDrawing, DesDrawingVo> {
|
||||||
|
|
||||||
|
}
|
||||||
@ -5,7 +5,7 @@ import org.dromara.design.domain.DesTechnicalStandard;
|
|||||||
import org.dromara.design.domain.vo.technicalstandard.DesTechnicalStandardVo;
|
import org.dromara.design.domain.vo.technicalstandard.DesTechnicalStandardVo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 技术管理标准Mapper接口
|
* 技术标准管理Mapper接口
|
||||||
*
|
*
|
||||||
* @author lcj
|
* @author lcj
|
||||||
* @date 2025-07-02
|
* @date 2025-07-02
|
||||||
|
|||||||
@ -0,0 +1,99 @@
|
|||||||
|
package org.dromara.design.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
import org.dromara.design.domain.DesDrawing;
|
||||||
|
import org.dromara.design.domain.dto.drawing.DesDrawingCreateReq;
|
||||||
|
import org.dromara.design.domain.dto.drawing.DesDrawingQueryReq;
|
||||||
|
import org.dromara.design.domain.dto.drawing.DesDrawingUpdateReq;
|
||||||
|
import org.dromara.design.domain.vo.drawing.DesDrawingVo;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 图纸管理Service接口
|
||||||
|
*
|
||||||
|
* @author lcj
|
||||||
|
* @date 2025-07-02
|
||||||
|
*/
|
||||||
|
public interface IDesDrawingService extends IService<DesDrawing> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询图纸管理
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 图纸管理
|
||||||
|
*/
|
||||||
|
DesDrawingVo queryById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询图纸管理列表
|
||||||
|
*
|
||||||
|
* @param req 查询条件
|
||||||
|
* @param pageQuery 分页参数
|
||||||
|
* @return 图纸管理分页列表
|
||||||
|
*/
|
||||||
|
TableDataInfo<DesDrawingVo> queryPageList(DesDrawingQueryReq req, PageQuery pageQuery);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询符合条件的图纸管理列表
|
||||||
|
*
|
||||||
|
* @param req 查询条件
|
||||||
|
* @return 图纸管理列表
|
||||||
|
*/
|
||||||
|
List<DesDrawingVo> queryList(DesDrawingQueryReq req);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增图纸管理
|
||||||
|
*
|
||||||
|
* @param file 文件
|
||||||
|
* @param req 图纸管理
|
||||||
|
* @return 新增图纸管理主键id
|
||||||
|
*/
|
||||||
|
DesDrawingVo insertByBo(MultipartFile file, DesDrawingCreateReq req);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改图纸管理
|
||||||
|
*
|
||||||
|
* @param req 图纸管理
|
||||||
|
* @return 是否修改成功
|
||||||
|
*/
|
||||||
|
Boolean updateByBo(DesDrawingUpdateReq req);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验并批量删除图纸管理信息
|
||||||
|
*
|
||||||
|
* @param ids 待删除的主键集合
|
||||||
|
* @return 是否删除成功
|
||||||
|
*/
|
||||||
|
Boolean deleteByIds(Collection<Long> ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构建图纸管理封装对象
|
||||||
|
*
|
||||||
|
* @param drawing 图纸管理
|
||||||
|
* @return 图纸管理封装对象
|
||||||
|
*/
|
||||||
|
DesDrawingVo getVo(DesDrawing drawing);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构建查询条件
|
||||||
|
*
|
||||||
|
* @param req 查询条件
|
||||||
|
* @return 查询条件
|
||||||
|
*/
|
||||||
|
LambdaQueryWrapper<DesDrawing> buildQueryWrapper(DesDrawingQueryReq req);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取图纸管理对象视图
|
||||||
|
*
|
||||||
|
* @param drawingPage 图纸管理对象
|
||||||
|
* @return 图纸管理对象视图
|
||||||
|
*/
|
||||||
|
Page<DesDrawingVo> getVoPage(Page<DesDrawing> drawingPage);
|
||||||
|
}
|
||||||
@ -19,7 +19,7 @@ import java.util.Collection;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 技术管理标准Service接口
|
* 技术标准管理Service接口
|
||||||
*
|
*
|
||||||
* @author lcj
|
* @author lcj
|
||||||
* @date 2025-07-02
|
* @date 2025-07-02
|
||||||
@ -27,35 +27,35 @@ import java.util.List;
|
|||||||
public interface IDesTechnicalStandardService extends IService<DesTechnicalStandard> {
|
public interface IDesTechnicalStandardService extends IService<DesTechnicalStandard> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询技术管理标准
|
* 查询技术标准管理
|
||||||
*
|
*
|
||||||
* @param id 主键
|
* @param id 主键
|
||||||
* @return 技术管理标准
|
* @return 技术标准管理
|
||||||
*/
|
*/
|
||||||
DesTechnicalStandardVo queryById(Long id);
|
DesTechnicalStandardVo queryById(Long id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询技术管理标准文件夹树列表
|
* 查询技术标准管理文件夹树列表
|
||||||
*
|
*
|
||||||
* @param req 查询参数
|
* @param req 查询参数
|
||||||
* @return 技术管理标准文件夹树列表
|
* @return 技术标准管理文件夹树列表
|
||||||
*/
|
*/
|
||||||
List<Tree<Long>> queryFolderTreeList(DesTechnicalStandardQueryReq req);
|
List<Tree<Long>> queryFolderTreeList(DesTechnicalStandardQueryReq req);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页查询文件夹下的技术管理标准文件列表
|
* 分页查询文件夹下的技术标准管理文件列表
|
||||||
*
|
*
|
||||||
* @param req 查询参数
|
* @param req 查询参数
|
||||||
* @param pageQuery 分页参数
|
* @param pageQuery 分页参数
|
||||||
* @return 技术管理标准文件列表
|
* @return 技术标准管理文件列表
|
||||||
*/
|
*/
|
||||||
TableDataInfo<DesTechnicalStandardVo> queryFilePageByFolderId(DesTechnicalStandardFileQueryReq req, PageQuery pageQuery);
|
TableDataInfo<DesTechnicalStandardVo> queryFilePageByFolderId(DesTechnicalStandardFileQueryReq req, PageQuery pageQuery);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询文件夹下的技术管理标准文件列表
|
* 查询文件夹下的技术标准管理文件列表
|
||||||
*
|
*
|
||||||
* @param folderId 文件夹id
|
* @param folderId 文件夹id
|
||||||
* @return 技术管理标准文件列表
|
* @return 技术标准管理文件列表
|
||||||
*/
|
*/
|
||||||
List<DesTechnicalStandardVo> queryFileListByFolderId(Long folderId);
|
List<DesTechnicalStandardVo> queryFileListByFolderId(Long folderId);
|
||||||
|
|
||||||
@ -69,16 +69,16 @@ public interface IDesTechnicalStandardService extends IService<DesTechnicalStand
|
|||||||
TableDataInfo<DesTechnicalStandardVo> queryRecycleBinPageList(DesTechnicalStandardQueryReq req, PageQuery pageQuery);
|
TableDataInfo<DesTechnicalStandardVo> queryRecycleBinPageList(DesTechnicalStandardQueryReq req, PageQuery pageQuery);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增技术管理标准文件
|
* 新增技术标准管理文件
|
||||||
*
|
*
|
||||||
* @param file 文件
|
* @param file 文件
|
||||||
* @param req 技术管理标准
|
* @param req 技术标准管理
|
||||||
* @return 是否新增成功
|
* @return 是否新增成功
|
||||||
*/
|
*/
|
||||||
Boolean insertFile(MultipartFile file, DesTechnicalStandardFileCreateReq req);
|
Boolean insertFile(MultipartFile file, DesTechnicalStandardFileCreateReq req);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增技术管理标准文件夹
|
* 新增技术标准管理文件夹
|
||||||
*
|
*
|
||||||
* @param projectId 项目id
|
* @param projectId 项目id
|
||||||
* @return 是否新增成功
|
* @return 是否新增成功
|
||||||
@ -86,15 +86,15 @@ public interface IDesTechnicalStandardService extends IService<DesTechnicalStand
|
|||||||
Boolean insertFolderByTemplate(Long projectId);
|
Boolean insertFolderByTemplate(Long projectId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改技术管理标准文件
|
* 修改技术标准管理文件
|
||||||
*
|
*
|
||||||
* @param req 技术管理标准
|
* @param req 技术标准管理
|
||||||
* @return 是否修改成功
|
* @return 是否修改成功
|
||||||
*/
|
*/
|
||||||
Boolean updateFile(DesTechnicalStandardFileUpdateReq req);
|
Boolean updateFile(DesTechnicalStandardFileUpdateReq req);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除技术管理标准文件信息
|
* 删除技术标准管理文件信息
|
||||||
*
|
*
|
||||||
* @param id 待删除文件的主键
|
* @param id 待删除文件的主键
|
||||||
* @return 是否删除成功
|
* @return 是否删除成功
|
||||||
@ -102,7 +102,7 @@ public interface IDesTechnicalStandardService extends IService<DesTechnicalStand
|
|||||||
Boolean deleteFileById(Long id);
|
Boolean deleteFileById(Long id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量删除技术管理标准回收站文件信息
|
* 批量删除技术标准管理回收站文件信息
|
||||||
*
|
*
|
||||||
* @param ids 待删除文件主键集合
|
* @param ids 待删除文件主键集合
|
||||||
* @return 是否删除成功
|
* @return 是否删除成功
|
||||||
|
|||||||
@ -0,0 +1,325 @@
|
|||||||
|
package org.dromara.design.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.convert.Convert;
|
||||||
|
import cn.hutool.core.io.FileUtil;
|
||||||
|
import cn.hutool.core.util.IdUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import jakarta.annotation.Resource;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.dromara.common.core.constant.HttpStatus;
|
||||||
|
import org.dromara.common.core.domain.event.ProcessDeleteEvent;
|
||||||
|
import org.dromara.common.core.domain.event.ProcessEvent;
|
||||||
|
import org.dromara.common.core.domain.event.ProcessTaskEvent;
|
||||||
|
import org.dromara.common.core.enums.BusinessStatusEnum;
|
||||||
|
import org.dromara.common.core.exception.ServiceException;
|
||||||
|
import org.dromara.common.core.utils.DateUtils;
|
||||||
|
import org.dromara.common.core.utils.ObjectUtils;
|
||||||
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
import org.dromara.design.constant.DesDrawingConstant;
|
||||||
|
import org.dromara.design.domain.DesDrawing;
|
||||||
|
import org.dromara.design.domain.dto.drawing.DesDrawingCreateReq;
|
||||||
|
import org.dromara.design.domain.dto.drawing.DesDrawingQueryReq;
|
||||||
|
import org.dromara.design.domain.dto.drawing.DesDrawingUpdateReq;
|
||||||
|
import org.dromara.design.domain.vo.drawing.DesDrawingVo;
|
||||||
|
import org.dromara.design.enums.DesDrawingFileTypeEnum;
|
||||||
|
import org.dromara.design.enums.DesDrawingNewestEnum;
|
||||||
|
import org.dromara.design.mapper.DesDrawingMapper;
|
||||||
|
import org.dromara.design.service.IDesDrawingService;
|
||||||
|
import org.dromara.project.service.IBusProjectService;
|
||||||
|
import org.dromara.system.domain.vo.SysOssUploadVo;
|
||||||
|
import org.dromara.system.service.ISysOssService;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.context.event.EventListener;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 图纸管理Service业务层处理
|
||||||
|
*
|
||||||
|
* @author lcj
|
||||||
|
* @date 2025-07-02
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
public class DesDrawingServiceImpl extends ServiceImpl<DesDrawingMapper, DesDrawing>
|
||||||
|
implements IDesDrawingService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IBusProjectService projectService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ISysOssService ossService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询图纸管理
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 图纸管理
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public DesDrawingVo queryById(Long id) {
|
||||||
|
DesDrawing drawing = this.getById(id);
|
||||||
|
if (drawing == null) {
|
||||||
|
throw new ServiceException("图纸不存在", HttpStatus.NOT_FOUND);
|
||||||
|
}
|
||||||
|
return this.getVo(drawing);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询图纸管理列表
|
||||||
|
*
|
||||||
|
* @param req 查询条件
|
||||||
|
* @param pageQuery 分页参数
|
||||||
|
* @return 图纸管理分页列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TableDataInfo<DesDrawingVo> queryPageList(DesDrawingQueryReq req, PageQuery pageQuery) {
|
||||||
|
LambdaQueryWrapper<DesDrawing> lqw = buildQueryWrapper(req);
|
||||||
|
Page<DesDrawing> result = this.page(pageQuery.build(), lqw);
|
||||||
|
return TableDataInfo.build(this.getVoPage(result));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询符合条件的图纸管理列表
|
||||||
|
*
|
||||||
|
* @param req 查询条件
|
||||||
|
* @return 图纸管理列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<DesDrawingVo> queryList(DesDrawingQueryReq req) {
|
||||||
|
LambdaQueryWrapper<DesDrawing> lqw = buildQueryWrapper(req);
|
||||||
|
return this.list(lqw).stream().map(this::getVo).toList();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增图纸管理
|
||||||
|
*
|
||||||
|
* @param file 文件
|
||||||
|
* @param req 图纸管理
|
||||||
|
* @return 新增图纸管理主键id
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public DesDrawingVo insertByBo(MultipartFile file, DesDrawingCreateReq req) {
|
||||||
|
// 数据校验
|
||||||
|
if (ObjectUtils.isEmpty(file)) {
|
||||||
|
throw new ServiceException("图纸文件不能为空", HttpStatus.BAD_REQUEST);
|
||||||
|
}
|
||||||
|
Long projectId = req.getProjectId();
|
||||||
|
if (projectService.getById(projectId) == null) {
|
||||||
|
throw new ServiceException("项目不存在", HttpStatus.BAD_REQUEST);
|
||||||
|
}
|
||||||
|
String fileType = req.getFileType();
|
||||||
|
String enumText = DesDrawingFileTypeEnum.getTextByValue(fileType);
|
||||||
|
if (StringUtils.isBlank(enumText)) {
|
||||||
|
throw new ServiceException("图纸文件类型错误", HttpStatus.BAD_REQUEST);
|
||||||
|
}
|
||||||
|
// 拼接文件名
|
||||||
|
String originalFilename = file.getOriginalFilename();
|
||||||
|
String suffix = FileUtil.getSuffix(originalFilename);
|
||||||
|
if (StringUtils.isBlank(suffix)) {
|
||||||
|
throw new ServiceException("图纸文件格式错误", HttpStatus.BAD_REQUEST);
|
||||||
|
}
|
||||||
|
String date = DateUtils.getDate();
|
||||||
|
String uuid = IdUtil.fastSimpleUUID();
|
||||||
|
String fileName = String.format("%s_%s.%s", date, uuid, suffix);
|
||||||
|
// 拼接文件路径
|
||||||
|
String filePath = DesDrawingConstant.getProjectOssPrefix(projectId) + fileName;
|
||||||
|
// 上传文件
|
||||||
|
SysOssUploadVo ossUploadVo = ossService.uploadWithNoSave(file, filePath);
|
||||||
|
// 文件信息赋值
|
||||||
|
DesDrawing desDrawing = new DesDrawing();
|
||||||
|
desDrawing.setProjectId(projectId);
|
||||||
|
desDrawing.setOriginalName(originalFilename);
|
||||||
|
String name = req.getFileName();
|
||||||
|
if (StringUtils.isBlank(name)) {
|
||||||
|
name = FileUtil.getPrefix(originalFilename);
|
||||||
|
}
|
||||||
|
desDrawing.setFileName(name);
|
||||||
|
desDrawing.setFileUrl(ossUploadVo.getUrl());
|
||||||
|
desDrawing.setFileSuffix(suffix);
|
||||||
|
desDrawing.setVersionNumber(req.getVersionNumber());
|
||||||
|
desDrawing.setFileType(fileType);
|
||||||
|
desDrawing.setNewest(DesDrawingNewestEnum.YES.getCode());
|
||||||
|
// 修改数据库中最新版本文件状态
|
||||||
|
DesDrawing oldNewestDrawing = this.lambdaQuery()
|
||||||
|
.eq(DesDrawing::getProjectId, projectId)
|
||||||
|
.eq(DesDrawing::getNewest, DesDrawingNewestEnum.YES.getCode())
|
||||||
|
.eq(DesDrawing::getFileType, fileType)
|
||||||
|
.one();
|
||||||
|
if (oldNewestDrawing != null) {
|
||||||
|
oldNewestDrawing.setNewest(DesDrawingNewestEnum.NO.getCode());
|
||||||
|
boolean result = this.updateById(oldNewestDrawing);
|
||||||
|
if (!result) {
|
||||||
|
throw new ServiceException("数据库中图纸状态更新异常");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
boolean result = this.save(desDrawing);
|
||||||
|
if (!result) {
|
||||||
|
throw new ServiceException("保存新图纸失败");
|
||||||
|
}
|
||||||
|
return this.getVo(this.getById(desDrawing.getId()));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改图纸管理
|
||||||
|
*
|
||||||
|
* @param req 图纸管理
|
||||||
|
* @return 是否修改成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean updateByBo(DesDrawingUpdateReq req) {
|
||||||
|
Long id = req.getId();
|
||||||
|
DesDrawing oldDrawing = this.getById(id);
|
||||||
|
if (oldDrawing == null) {
|
||||||
|
throw new ServiceException("图纸不存在", HttpStatus.NOT_FOUND);
|
||||||
|
}
|
||||||
|
DesDrawing desDrawing = new DesDrawing();
|
||||||
|
BeanUtils.copyProperties(req, desDrawing);
|
||||||
|
boolean result = this.updateById(desDrawing);
|
||||||
|
if (!result) {
|
||||||
|
throw new ServiceException("修改图纸失败", HttpStatus.ERROR);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验并批量删除图纸管理信息
|
||||||
|
*
|
||||||
|
* @param ids 待删除的主键集合
|
||||||
|
* @return 是否删除成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean deleteByIds(Collection<Long> ids) {
|
||||||
|
return baseMapper.deleteByIds(ids) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构建图纸管理封装对象
|
||||||
|
*
|
||||||
|
* @param drawing 图纸管理
|
||||||
|
* @return 图纸管理封装对象
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public DesDrawingVo getVo(DesDrawing drawing) {
|
||||||
|
DesDrawingVo vo = new DesDrawingVo();
|
||||||
|
if (drawing == null) {
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
|
BeanUtils.copyProperties(drawing, vo);
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构建查询条件
|
||||||
|
*
|
||||||
|
* @param req 查询条件
|
||||||
|
* @return 查询条件
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public LambdaQueryWrapper<DesDrawing> buildQueryWrapper(DesDrawingQueryReq req) {
|
||||||
|
LambdaQueryWrapper<DesDrawing> lqw = new LambdaQueryWrapper<>();
|
||||||
|
if (req == null) {
|
||||||
|
return lqw;
|
||||||
|
}
|
||||||
|
Long projectId = req.getProjectId();
|
||||||
|
String fileName = req.getFileName();
|
||||||
|
String fileType = req.getFileType();
|
||||||
|
String fileStatus = req.getFileStatus();
|
||||||
|
String originalName = req.getOriginalName();
|
||||||
|
String newest = req.getNewest();
|
||||||
|
lqw.like(StringUtils.isNotBlank(fileName), DesDrawing::getFileName, fileName);
|
||||||
|
lqw.like(StringUtils.isNotBlank(originalName), DesDrawing::getOriginalName, originalName);
|
||||||
|
lqw.eq(ObjectUtils.isNotEmpty(projectId), DesDrawing::getProjectId, projectId);
|
||||||
|
lqw.eq(StringUtils.isNotBlank(fileType), DesDrawing::getFileType, fileType);
|
||||||
|
lqw.eq(StringUtils.isNotBlank(fileStatus), DesDrawing::getFileStatus, fileStatus);
|
||||||
|
lqw.eq(StringUtils.isNotBlank(newest), DesDrawing::getNewest, newest);
|
||||||
|
return lqw;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取图纸管理对象视图
|
||||||
|
*
|
||||||
|
* @param drawingPage 图纸管理对象
|
||||||
|
* @return 图纸管理对象视图
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Page<DesDrawingVo> getVoPage(Page<DesDrawing> drawingPage) {
|
||||||
|
List<DesDrawing> drawingList = drawingPage.getRecords();
|
||||||
|
Page<DesDrawingVo> drawingVoPage = new Page<>(
|
||||||
|
drawingPage.getCurrent(),
|
||||||
|
drawingPage.getSize(),
|
||||||
|
drawingPage.getTotal());
|
||||||
|
if (CollUtil.isEmpty(drawingList)) {
|
||||||
|
return drawingVoPage;
|
||||||
|
}
|
||||||
|
List<DesDrawingVo> drawingVoList = drawingList.stream().map(entity -> {
|
||||||
|
DesDrawingVo drawingVo = new DesDrawingVo();
|
||||||
|
BeanUtils.copyProperties(entity, drawingVo);
|
||||||
|
return drawingVo;
|
||||||
|
}).toList();
|
||||||
|
drawingVoPage.setRecords(drawingVoList);
|
||||||
|
return drawingVoPage;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成,单任务完成等)
|
||||||
|
* 正常使用只需#processEvent.flowCode=='leave1'
|
||||||
|
* 示例为了方便则使用startsWith匹配了全部示例key
|
||||||
|
*
|
||||||
|
* @param processEvent 参数
|
||||||
|
*/
|
||||||
|
@EventListener(condition = "#processEvent.flowCode.endsWith('drawing')")
|
||||||
|
public void processHandler(ProcessEvent processEvent) {
|
||||||
|
log.info("图纸审核任务执行了{}", processEvent.toString());
|
||||||
|
DesDrawing drawing = this.getById(Convert.toLong(processEvent.getBusinessId()));
|
||||||
|
drawing.setStatus(processEvent.getStatus());
|
||||||
|
if (processEvent.getSubmit()) {
|
||||||
|
drawing.setStatus(BusinessStatusEnum.WAITING.getStatus());
|
||||||
|
}
|
||||||
|
this.updateById(drawing);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 执行任务创建监听
|
||||||
|
* 示例:也可通过 @EventListener(condition = "#processTaskEvent.flowCode=='leave1'")进行判断
|
||||||
|
* 在方法中判断流程节点key
|
||||||
|
* if ("xxx".equals(processTaskEvent.getNodeCode())) {
|
||||||
|
* //执行业务逻辑
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* @param processTaskEvent 参数
|
||||||
|
*/
|
||||||
|
@EventListener(condition = "#processTaskEvent.flowCode.endsWith('drawing')")
|
||||||
|
public void processTaskHandler(ProcessTaskEvent processTaskEvent) {
|
||||||
|
log.info("图纸审核任务创建了{}", processTaskEvent.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监听删除流程事件
|
||||||
|
* 正常使用只需#processDeleteEvent.flowCode=='leave1'
|
||||||
|
* 示例为了方便则使用startsWith匹配了全部示例key
|
||||||
|
*
|
||||||
|
* @param processDeleteEvent 参数
|
||||||
|
*/
|
||||||
|
@EventListener(condition = "#processDeleteEvent.flowCode.endsWith('drawing')")
|
||||||
|
public void processDeleteHandler(ProcessDeleteEvent processDeleteEvent) {
|
||||||
|
log.info("监听删除流程事件,图纸审核任务执行了{}", processDeleteEvent.toString());
|
||||||
|
DesDrawing drawing = this.getById(Convert.toLong(processDeleteEvent.getBusinessId()));
|
||||||
|
if (ObjectUtil.isNull(drawing)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
baseMapper.deleteById(drawing.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -46,7 +46,7 @@ import java.util.*;
|
|||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 技术管理标准Service业务层处理
|
* 技术标准管理Service业务层处理
|
||||||
*
|
*
|
||||||
* @author lcj
|
* @author lcj
|
||||||
* @date 2025-07-02
|
* @date 2025-07-02
|
||||||
@ -71,16 +71,16 @@ public class DesTechnicalStandardServiceImpl extends ServiceImpl<DesTechnicalSta
|
|||||||
public DesTechnicalStandardVo queryById(Long id) {
|
public DesTechnicalStandardVo queryById(Long id) {
|
||||||
DesTechnicalStandard entity = this.getById(id);
|
DesTechnicalStandard entity = this.getById(id);
|
||||||
if (entity == null) {
|
if (entity == null) {
|
||||||
throw new ServiceException("质量知识库文件或文件夹不存在", HttpStatus.NOT_FOUND);
|
throw new ServiceException("技术标准管理文件或文件夹不存在", HttpStatus.NOT_FOUND);
|
||||||
}
|
}
|
||||||
return this.getVo(entity);
|
return this.getVo(entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询质量知识库文件夹树列表
|
* 查询技术标准管理文件夹树列表
|
||||||
*
|
*
|
||||||
* @param req 查询参数
|
* @param req 查询参数
|
||||||
* @return 质量知识库文件夹树列表
|
* @return 技术标准管理文件夹树列表
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<Tree<Long>> queryFolderTreeList(DesTechnicalStandardQueryReq req) {
|
public List<Tree<Long>> queryFolderTreeList(DesTechnicalStandardQueryReq req) {
|
||||||
@ -94,11 +94,11 @@ public class DesTechnicalStandardServiceImpl extends ServiceImpl<DesTechnicalSta
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询文件夹下的质量知识库文件列表
|
* 查询文件夹下的技术标准管理文件列表
|
||||||
*
|
*
|
||||||
* @param req 查询参数
|
* @param req 查询参数
|
||||||
* @param pageQuery 分页参数
|
* @param pageQuery 分页参数
|
||||||
* @return 质量知识库文件列表
|
* @return 技术标准管理文件列表
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public TableDataInfo<DesTechnicalStandardVo> queryFilePageByFolderId(DesTechnicalStandardFileQueryReq req, PageQuery pageQuery) {
|
public TableDataInfo<DesTechnicalStandardVo> queryFilePageByFolderId(DesTechnicalStandardFileQueryReq req, PageQuery pageQuery) {
|
||||||
@ -123,10 +123,10 @@ public class DesTechnicalStandardServiceImpl extends ServiceImpl<DesTechnicalSta
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询文件夹下的质量知识库文件列表
|
* 查询文件夹下的技术标准管理文件列表
|
||||||
*
|
*
|
||||||
* @param folderId 文件夹id
|
* @param folderId 文件夹id
|
||||||
* @return 质量知识库文件列表
|
* @return 技术标准管理文件列表
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<DesTechnicalStandardVo> queryFileListByFolderId(Long folderId) {
|
public List<DesTechnicalStandardVo> queryFileListByFolderId(Long folderId) {
|
||||||
@ -168,7 +168,7 @@ public class DesTechnicalStandardServiceImpl extends ServiceImpl<DesTechnicalSta
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增质量知识库文件
|
* 新增技术标准管理文件
|
||||||
*
|
*
|
||||||
* @param file 文件
|
* @param file 文件
|
||||||
* @param req 质量知识库
|
* @param req 质量知识库
|
||||||
@ -178,7 +178,7 @@ public class DesTechnicalStandardServiceImpl extends ServiceImpl<DesTechnicalSta
|
|||||||
public Boolean insertFile(MultipartFile file, DesTechnicalStandardFileCreateReq req) {
|
public Boolean insertFile(MultipartFile file, DesTechnicalStandardFileCreateReq req) {
|
||||||
// 数据校验
|
// 数据校验
|
||||||
if (ObjectUtils.isEmpty(file)) {
|
if (ObjectUtils.isEmpty(file)) {
|
||||||
throw new ServiceException("文件不能为空", HttpStatus.BAD_REQUEST);
|
throw new ServiceException("技术标准管理文件不能为空", HttpStatus.BAD_REQUEST);
|
||||||
}
|
}
|
||||||
Long projectId = req.getProjectId();
|
Long projectId = req.getProjectId();
|
||||||
if (projectService.getById(projectId) == null) {
|
if (projectService.getById(projectId) == null) {
|
||||||
@ -188,7 +188,7 @@ public class DesTechnicalStandardServiceImpl extends ServiceImpl<DesTechnicalSta
|
|||||||
String originalFilename = file.getOriginalFilename();
|
String originalFilename = file.getOriginalFilename();
|
||||||
String suffix = FileUtil.getSuffix(originalFilename);
|
String suffix = FileUtil.getSuffix(originalFilename);
|
||||||
if (StringUtils.isBlank(suffix)) {
|
if (StringUtils.isBlank(suffix)) {
|
||||||
throw new ServiceException("文件格式错误", HttpStatus.BAD_REQUEST);
|
throw new ServiceException("技术标准管理文件格式错误", HttpStatus.BAD_REQUEST);
|
||||||
}
|
}
|
||||||
String date = DateUtils.getDate();
|
String date = DateUtils.getDate();
|
||||||
String uuid = IdUtil.fastSimpleUUID();
|
String uuid = IdUtil.fastSimpleUUID();
|
||||||
@ -226,7 +226,7 @@ public class DesTechnicalStandardServiceImpl extends ServiceImpl<DesTechnicalSta
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增质量知识库文件夹
|
* 新增技术标准管理文件夹
|
||||||
*
|
*
|
||||||
* @param projectId 项目id
|
* @param projectId 项目id
|
||||||
* @return 是否新增成功
|
* @return 是否新增成功
|
||||||
@ -263,7 +263,7 @@ public class DesTechnicalStandardServiceImpl extends ServiceImpl<DesTechnicalSta
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改质量知识库文件
|
* 修改技术标准管理文件
|
||||||
*
|
*
|
||||||
* @param req 质量知识库
|
* @param req 质量知识库
|
||||||
* @return 是否修改成功
|
* @return 是否修改成功
|
||||||
@ -273,19 +273,19 @@ public class DesTechnicalStandardServiceImpl extends ServiceImpl<DesTechnicalSta
|
|||||||
Long id = req.getId();
|
Long id = req.getId();
|
||||||
DesTechnicalStandard oldDocument = this.getById(id);
|
DesTechnicalStandard oldDocument = this.getById(id);
|
||||||
if (oldDocument == null) {
|
if (oldDocument == null) {
|
||||||
throw new ServiceException("修改质量知识库文件失败,数据不存在", HttpStatus.NOT_FOUND);
|
throw new ServiceException("修改技术标准管理文件失败,数据不存在", HttpStatus.NOT_FOUND);
|
||||||
}
|
}
|
||||||
DesTechnicalStandard document = new DesTechnicalStandard();
|
DesTechnicalStandard document = new DesTechnicalStandard();
|
||||||
BeanUtils.copyProperties(req, document);
|
BeanUtils.copyProperties(req, document);
|
||||||
boolean result = this.updateById(document);
|
boolean result = this.updateById(document);
|
||||||
if (!result) {
|
if (!result) {
|
||||||
throw new ServiceException("修改质量知识库文件失败", HttpStatus.ERROR);
|
throw new ServiceException("修改技术标准管理文件失败", HttpStatus.ERROR);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除质量知识库文件信息
|
* 删除技术标准管理文件信息
|
||||||
*
|
*
|
||||||
* @param id 待删除文件的主键
|
* @param id 待删除文件的主键
|
||||||
* @return 是否删除成功
|
* @return 是否删除成功
|
||||||
|
|||||||
@ -29,6 +29,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|||||||
import org.dromara.common.satoken.utils.LoginHelper;
|
import org.dromara.common.satoken.utils.LoginHelper;
|
||||||
import org.dromara.contractor.domain.SubContractor;
|
import org.dromara.contractor.domain.SubContractor;
|
||||||
import org.dromara.contractor.service.ISubContractorService;
|
import org.dromara.contractor.service.ISubContractorService;
|
||||||
|
import org.dromara.design.service.IDesTechnicalStandardService;
|
||||||
import org.dromara.facility.domain.FacMatrix;
|
import org.dromara.facility.domain.FacMatrix;
|
||||||
import org.dromara.facility.domain.vo.matrix.FacMatrixBySubProjectVo;
|
import org.dromara.facility.domain.vo.matrix.FacMatrixBySubProjectVo;
|
||||||
import org.dromara.facility.service.IFacMatrixService;
|
import org.dromara.facility.service.IFacMatrixService;
|
||||||
@ -113,6 +114,10 @@ public class BusProjectServiceImpl extends ServiceImpl<BusProjectMapper, BusProj
|
|||||||
@Resource
|
@Resource
|
||||||
private IQltKnowledgeDocumentService qltKnowledgeDocumentService;
|
private IQltKnowledgeDocumentService qltKnowledgeDocumentService;
|
||||||
|
|
||||||
|
@Lazy
|
||||||
|
@Resource
|
||||||
|
private IDesTechnicalStandardService desTechnicalStandardService;
|
||||||
|
|
||||||
@Lazy
|
@Lazy
|
||||||
@Resource
|
@Resource
|
||||||
private IBusProjectService self;
|
private IBusProjectService self;
|
||||||
@ -432,6 +437,11 @@ public class BusProjectServiceImpl extends ServiceImpl<BusProjectMapper, BusProj
|
|||||||
if (!saveQltKnowledgeDocument) {
|
if (!saveQltKnowledgeDocument) {
|
||||||
log.error("同步数据失败,项目[{}]新增质量知识库文件夹模版失败", id);
|
log.error("同步数据失败,项目[{}]新增质量知识库文件夹模版失败", id);
|
||||||
}
|
}
|
||||||
|
// 技术标准管理文件夹模版
|
||||||
|
Boolean saveTechnicalStandard = desTechnicalStandardService.insertFolderByTemplate(id);
|
||||||
|
if (!saveTechnicalStandard) {
|
||||||
|
log.error("同步数据失败,项目[{}]新增技术标准管理文件夹模版失败", id);
|
||||||
|
}
|
||||||
// 新增岗位
|
// 新增岗位
|
||||||
Boolean postR = postService.insertPostByDeptId(project.getDeptId());
|
Boolean postR = postService.insertPostByDeptId(project.getDeptId());
|
||||||
if (!postR) {
|
if (!postR) {
|
||||||
|
|||||||
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="org.dromara.design.mapper.DesDrawingMapper">
|
||||||
|
|
||||||
|
</mapper>
|
||||||
@ -857,3 +857,53 @@ values(1938446866786041861, '分包方物料删除', 1938446866786041857, '4',
|
|||||||
|
|
||||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||||
values(1938446866786041862, '分包方物料导出', 1938446866786041857, '5', '#', '', 1, 0, 'F', '0', '0', 'contractor:contractorMaterial:export', '#', 103, 1, sysdate(), null, null, '');
|
values(1938446866786041862, '分包方物料导出', 1938446866786041857, '5', '#', '', 1, 0, 'F', '0', '0', 'contractor:contractorMaterial:export', '#', 103, 1, sysdate(), null, null, '');
|
||||||
|
|
||||||
|
-- 菜单 SQL
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1940302123455496193, '技术标准管理', '1940300237524451330', '1', 'technicalStandard', 'design/technicalStandard/index', 1, 0, 'C', '0', '0', 'design:technicalStandard:list', '#', 103, 1, sysdate(), null, null, '技术标准管理菜单');
|
||||||
|
|
||||||
|
-- 按钮 SQL
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1940302123455496194, '技术标准管理查询', 1940302123455496193, '1', '#', '', 1, 0, 'F', '0', '0', 'design:technicalStandard:query', '#', 103, 1, sysdate(), null, null, '');
|
||||||
|
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1940302123455496195, '技术标准管理新增', 1940302123455496193, '2', '#', '', 1, 0, 'F', '0', '0', 'design:technicalStandard:add', '#', 103, 1, sysdate(), null, null, '');
|
||||||
|
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1940302123455496196, '技术标准管理修改', 1940302123455496193, '3', '#', '', 1, 0, 'F', '0', '0', 'design:technicalStandard:edit', '#', 103, 1, sysdate(), null, null, '');
|
||||||
|
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1940302123455496197, '技术标准管理删除', 1940302123455496193, '4', '#', '', 1, 0, 'F', '0', '0', 'design:technicalStandard:remove', '#', 103, 1, sysdate(), null, null, '');
|
||||||
|
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1940302123455496198, '技术标准管理导出', 1940302123455496193, '5', '#', '', 1, 0, 'F', '0', '0', 'design:technicalStandard:export', '#', 103, 1, sysdate(), null, null, '');
|
||||||
|
|
||||||
|
insert into sys_menu values('5', '测试菜单', '0', '5', 'demo', null, '', 1, 0, 'M', '0', '0', '', 'star', 103, 1, sysdate(), null, null, '测试菜单');
|
||||||
|
|
||||||
|
-- 请假测试相关按钮
|
||||||
|
insert into sys_menu VALUES (11638, '请假申请', 5, 1, 'leave', 'workflow/leave/index', '', 1, 0, 'C', '0', '0', 'workflow:leave:list', '#', 103, 1, sysdate(), NULL, NULL, '请假申请菜单');
|
||||||
|
insert into sys_menu VALUES (11639, '请假申请查询', 11638, 1, '#', '', '', 1, 0, 'F', '0', '0', 'workflow:leave:query', '#', 103, 1, sysdate(), NULL, NULL, '');
|
||||||
|
insert into sys_menu VALUES (11640, '请假申请新增', 11638, 2, '#', '', '', 1, 0, 'F', '0', '0', 'workflow:leave:add', '#', 103, 1, sysdate(), NULL, NULL, '');
|
||||||
|
insert into sys_menu VALUES (11641, '请假申请修改', 11638, 3, '#', '', '', 1, 0, 'F', '0', '0', 'workflow:leave:edit', '#', 103, 1, sysdate(), NULL, NULL, '');
|
||||||
|
insert into sys_menu VALUES (11642, '请假申请删除', 11638, 4, '#', '', '', 1, 0, 'F', '0', '0', 'workflow:leave:remove', '#', 103, 1, sysdate(), NULL, NULL, '');
|
||||||
|
insert into sys_menu VALUES (11643, '请假申请导出', 11638, 5, '#', '', '', 1, 0, 'F', '0', '0', 'workflow:leave:export', '#', 103, 1, sysdate(), NULL, NULL, '');
|
||||||
|
|
||||||
|
-- 菜单 SQL
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1940367276851081217, '图纸管理', '1940300237524451330', '1', 'drawing', 'design/drawing/index', 1, 0, 'C', '0', '0', 'design:drawing:list', '#', 103, 1, sysdate(), null, null, '图纸管理菜单');
|
||||||
|
|
||||||
|
-- 按钮 SQL
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1940367276851081218, '图纸管理查询', 1940367276851081217, '1', '#', '', 1, 0, 'F', '0', '0', 'design:drawing:query', '#', 103, 1, sysdate(), null, null, '');
|
||||||
|
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1940367276851081219, '图纸管理新增', 1940367276851081217, '2', '#', '', 1, 0, 'F', '0', '0', 'design:drawing:add', '#', 103, 1, sysdate(), null, null, '');
|
||||||
|
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1940367276851081220, '图纸管理修改', 1940367276851081217, '3', '#', '', 1, 0, 'F', '0', '0', 'design:drawing:edit', '#', 103, 1, sysdate(), null, null, '');
|
||||||
|
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1940367276851081221, '图纸管理删除', 1940367276851081217, '4', '#', '', 1, 0, 'F', '0', '0', 'design:drawing:remove', '#', 103, 1, sysdate(), null, null, '');
|
||||||
|
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1940367276851081222, '图纸管理导出', 1940367276851081217, '5', '#', '', 1, 0, 'F', '0', '0', 'design:drawing:export', '#', 103, 1, sysdate(), null, null, '');
|
||||||
|
|||||||
@ -448,7 +448,7 @@ CREATE TABLE `sj_workflow`
|
|||||||
`workflow_status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '工作流状态 0、关闭、1、开启',
|
`workflow_status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '工作流状态 0、关闭、1、开启',
|
||||||
`trigger_type` tinyint(4) NOT NULL COMMENT '触发类型 1.CRON 表达式 2. 固定时间',
|
`trigger_type` tinyint(4) NOT NULL COMMENT '触发类型 1.CRON 表达式 2. 固定时间',
|
||||||
`trigger_interval` varchar(255) NOT NULL COMMENT '间隔时长',
|
`trigger_interval` varchar(255) NOT NULL COMMENT '间隔时长',
|
||||||
`next_trigger_at` bigint(13) NOT NULL COMMENT '下次触发时间',
|
`next_trigger_at` bigint NOT NULL COMMENT '下次触发时间',
|
||||||
`block_strategy` tinyint(4) NOT NULL DEFAULT 1 COMMENT '阻塞策略 1、丢弃 2、覆盖 3、并行',
|
`block_strategy` tinyint(4) NOT NULL DEFAULT 1 COMMENT '阻塞策略 1、丢弃 2、覆盖 3、并行',
|
||||||
`executor_timeout` int(11) NOT NULL DEFAULT 0 COMMENT '任务执行超时时间,单位秒',
|
`executor_timeout` int(11) NOT NULL DEFAULT 0 COMMENT '任务执行超时时间,单位秒',
|
||||||
`description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述',
|
`description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述',
|
||||||
|
|||||||
@ -1360,4 +1360,30 @@ CREATE TABLE `des_technical_standard`
|
|||||||
`deleted_at` datetime null comment '删除时间',
|
`deleted_at` datetime null comment '删除时间',
|
||||||
primary key (`id`) using btree,
|
primary key (`id`) using btree,
|
||||||
index `idx_project_id` (`project_id` asc) using btree comment '项目id'
|
index `idx_project_id` (`project_id` asc) using btree comment '项目id'
|
||||||
) comment '技术管理标准文档' collate = utf8mb4_unicode_ci;
|
) comment '技术标准管理文档' collate = utf8mb4_unicode_ci;
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `des_drawing`;
|
||||||
|
CREATE TABLE `des_drawing`
|
||||||
|
(
|
||||||
|
`id` bigint not null auto_increment comment '主键id',
|
||||||
|
`project_id` bigint not null comment '项目id',
|
||||||
|
`version_number` varchar(50) not null comment '版本号',
|
||||||
|
`file_name` varchar(255) not null comment '文件名称',
|
||||||
|
`file_url` varchar(512) null comment '文件访问路径',
|
||||||
|
`file_type` char(1) not null comment '文件类型(1过程图纸 2蓝图 3变更图纸)',
|
||||||
|
`file_suffix` varchar(20) null comment '文件后缀',
|
||||||
|
`file_status` char(1) default '0' not null comment '状态(0正常 1删除)',
|
||||||
|
`original_name` varchar(255) null comment '原文件名',
|
||||||
|
`newest` char(1) default '1' not null comment '是否最新(0否 1是)',
|
||||||
|
`status` varchar(255) null comment '审核状态',
|
||||||
|
`remark` text null comment '备注',
|
||||||
|
`create_by` bigint null comment '创建者',
|
||||||
|
`update_by` bigint null comment '更新者',
|
||||||
|
`create_time` datetime default CURRENT_TIMESTAMP null comment '创建时间',
|
||||||
|
`update_time` datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新时间',
|
||||||
|
`deleted_at` datetime null comment '删除时间',
|
||||||
|
primary key (`id`) using btree,
|
||||||
|
UNIQUE KEY `uk_project_type_newest` (`project_id`, `file_type`, `newest`),
|
||||||
|
index `idx_project_id` (`project_id` asc) using btree comment '项目id',
|
||||||
|
index `idx_file_type` (`file_type` asc) using btree comment '文件类型'
|
||||||
|
) comment '图纸管理' collate = utf8mb4_unicode_ci;
|
||||||
|
|||||||
Reference in New Issue
Block a user