图纸评审
This commit is contained in:
		@ -16,4 +16,6 @@ public interface MinioPathConstant {
 | 
			
		||||
    String Design       = "design";
 | 
			
		||||
    // 设计工程量清单
 | 
			
		||||
    String BillOfQuantities       = Design+"/billOfQuantities";
 | 
			
		||||
    // 设计图纸评审
 | 
			
		||||
    String DrawingReview       = Design+"/drawingReview";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,152 @@
 | 
			
		||||
package org.dromara.design.controller;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
import lombok.RequiredArgsConstructor;
 | 
			
		||||
import jakarta.servlet.http.HttpServletResponse;
 | 
			
		||||
import jakarta.validation.constraints.*;
 | 
			
		||||
import cn.dev33.satoken.annotation.SaCheckPermission;
 | 
			
		||||
import org.dromara.design.domain.bo.AnewDrawingReviewUploadReq;
 | 
			
		||||
import org.dromara.design.domain.bo.DrawingReviewUploadReq;
 | 
			
		||||
import org.dromara.design.domain.bo.FillOutTheDesignVerificationFormReq;
 | 
			
		||||
import org.dromara.design.domain.vo.ListOfDesignDrawingsReviewRes;
 | 
			
		||||
import org.springframework.web.bind.annotation.*;
 | 
			
		||||
import org.springframework.validation.annotation.Validated;
 | 
			
		||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
 | 
			
		||||
import org.dromara.common.log.annotation.Log;
 | 
			
		||||
import org.dromara.common.web.core.BaseController;
 | 
			
		||||
import org.dromara.common.mybatis.core.page.PageQuery;
 | 
			
		||||
import org.dromara.common.core.domain.R;
 | 
			
		||||
import org.dromara.common.core.validate.AddGroup;
 | 
			
		||||
import org.dromara.common.core.validate.EditGroup;
 | 
			
		||||
import org.dromara.common.log.enums.BusinessType;
 | 
			
		||||
import org.dromara.common.excel.utils.ExcelUtil;
 | 
			
		||||
import org.dromara.design.domain.vo.BusDrawingreviewVo;
 | 
			
		||||
import org.dromara.design.domain.bo.BusDrawingreviewBo;
 | 
			
		||||
import org.dromara.design.service.IBusDrawingreviewService;
 | 
			
		||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 设计-图纸评审
 | 
			
		||||
 *
 | 
			
		||||
 * @author Lion Li
 | 
			
		||||
 * @date 2025-08-12
 | 
			
		||||
 */
 | 
			
		||||
@Validated
 | 
			
		||||
@RequiredArgsConstructor
 | 
			
		||||
@RestController
 | 
			
		||||
@RequestMapping("/design/drawingreview")
 | 
			
		||||
public class BusDrawingreviewController extends BaseController {
 | 
			
		||||
 | 
			
		||||
    private final IBusDrawingreviewService busDrawingreviewService;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 新增设计图纸评审
 | 
			
		||||
     */
 | 
			
		||||
    @SaCheckPermission("design:drawingreview:drawingReviewUpload")
 | 
			
		||||
    @Log(title = "新增设计图纸评审", businessType = BusinessType.INSERT)
 | 
			
		||||
    @RepeatSubmit()
 | 
			
		||||
    @PostMapping("/drawingReviewUpload")
 | 
			
		||||
    public R<Void> drawingReviewUpload(@RequestBody DrawingReviewUploadReq bo) {
 | 
			
		||||
        return toAjax(busDrawingreviewService.drawingReviewUpload(bo));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 设计图纸评审列表
 | 
			
		||||
     * listOfDesignDrawingsReview
 | 
			
		||||
     */
 | 
			
		||||
    @SaCheckPermission("design:drawingreview:listOfDesignDrawingsReview")
 | 
			
		||||
    @GetMapping("/listOfDesignDrawingsReview")
 | 
			
		||||
    public TableDataInfo<ListOfDesignDrawingsReviewRes> listOfDesignDrawingsReview(DrawingReviewUploadReq bo, PageQuery pageQuery) {
 | 
			
		||||
        return busDrawingreviewService.listOfDesignDrawingsReview(bo, pageQuery);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 重新上传设计图纸评审
 | 
			
		||||
     */
 | 
			
		||||
    @SaCheckPermission("design:drawingreview:anewDrawingReviewUpload")
 | 
			
		||||
    @Log(title = "重新上传设计图纸评审", businessType = BusinessType.INSERT)
 | 
			
		||||
    @RepeatSubmit()
 | 
			
		||||
    @PutMapping("/anewDrawingReviewUpload")
 | 
			
		||||
    public R<Void> anewDrawingReviewUpload(@RequestBody AnewDrawingReviewUploadReq bo) {
 | 
			
		||||
        return toAjax(busDrawingreviewService.anewDrawingReviewUpload(bo));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 填写设计验证表
 | 
			
		||||
     */
 | 
			
		||||
    @SaCheckPermission("design:drawingreview:fillOutTheDesignVerificationForm")
 | 
			
		||||
    @Log(title = "重新上传设计图纸评审", businessType = BusinessType.INSERT)
 | 
			
		||||
    @RepeatSubmit()
 | 
			
		||||
    @PutMapping("/fillOutTheDesignVerificationForm")
 | 
			
		||||
    public R<Void> fillOutTheDesignVerificationForm(@RequestBody FillOutTheDesignVerificationFormReq bo) {
 | 
			
		||||
        return toAjax(busDrawingreviewService.fillOutTheDesignVerificationForm(bo));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
//    /**
 | 
			
		||||
//     * 查询设计-图纸评审列表
 | 
			
		||||
//     */
 | 
			
		||||
//    @SaCheckPermission("design:drawingreview:list")
 | 
			
		||||
//    @GetMapping("/list")
 | 
			
		||||
//    public TableDataInfo<BusDrawingreviewVo> list(BusDrawingreviewBo bo, PageQuery pageQuery) {
 | 
			
		||||
//        return busDrawingreviewService.queryPageList(bo, pageQuery);
 | 
			
		||||
//    }
 | 
			
		||||
//
 | 
			
		||||
//    /**
 | 
			
		||||
//     * 导出设计-图纸评审列表
 | 
			
		||||
//     */
 | 
			
		||||
//    @SaCheckPermission("design:drawingreview:export")
 | 
			
		||||
//    @Log(title = "设计-图纸评审", businessType = BusinessType.EXPORT)
 | 
			
		||||
//    @PostMapping("/export")
 | 
			
		||||
//    public void export(BusDrawingreviewBo bo, HttpServletResponse response) {
 | 
			
		||||
//        List<BusDrawingreviewVo> list = busDrawingreviewService.queryList(bo);
 | 
			
		||||
//        ExcelUtil.exportExcel(list, "设计-图纸评审", BusDrawingreviewVo.class, response);
 | 
			
		||||
//    }
 | 
			
		||||
//
 | 
			
		||||
//    /**
 | 
			
		||||
//     * 获取设计-图纸评审详细信息
 | 
			
		||||
//     *
 | 
			
		||||
//     * @param id 主键
 | 
			
		||||
//     */
 | 
			
		||||
//    @SaCheckPermission("design:drawingreview:query")
 | 
			
		||||
//    @GetMapping("/{id}")
 | 
			
		||||
//    public R<BusDrawingreviewVo> getInfo(@NotNull(message = "主键不能为空")
 | 
			
		||||
//                                     @PathVariable Long id) {
 | 
			
		||||
//        return R.ok(busDrawingreviewService.queryById(id));
 | 
			
		||||
//    }
 | 
			
		||||
//
 | 
			
		||||
//    /**
 | 
			
		||||
//     * 新增设计-图纸评审
 | 
			
		||||
//     */
 | 
			
		||||
//    @SaCheckPermission("design:drawingreview:add")
 | 
			
		||||
//    @Log(title = "设计-图纸评审", businessType = BusinessType.INSERT)
 | 
			
		||||
//    @RepeatSubmit()
 | 
			
		||||
//    @PostMapping()
 | 
			
		||||
//    public R<Void> add(@Validated(AddGroup.class) @RequestBody BusDrawingreviewBo bo) {
 | 
			
		||||
//        return toAjax(busDrawingreviewService.insertByBo(bo));
 | 
			
		||||
//    }
 | 
			
		||||
//
 | 
			
		||||
//    /**
 | 
			
		||||
//     * 修改设计-图纸评审
 | 
			
		||||
//     */
 | 
			
		||||
//    @SaCheckPermission("design:drawingreview:edit")
 | 
			
		||||
//    @Log(title = "设计-图纸评审", businessType = BusinessType.UPDATE)
 | 
			
		||||
//    @RepeatSubmit()
 | 
			
		||||
//    @PutMapping()
 | 
			
		||||
//    public R<Void> edit(@Validated(EditGroup.class) @RequestBody BusDrawingreviewBo bo) {
 | 
			
		||||
//        return toAjax(busDrawingreviewService.updateByBo(bo));
 | 
			
		||||
//    }
 | 
			
		||||
//
 | 
			
		||||
//    /**
 | 
			
		||||
//     * 删除设计-图纸评审
 | 
			
		||||
//     *
 | 
			
		||||
//     * @param ids 主键串
 | 
			
		||||
//     */
 | 
			
		||||
//    @SaCheckPermission("design:drawingreview:remove")
 | 
			
		||||
//    @Log(title = "设计-图纸评审", businessType = BusinessType.DELETE)
 | 
			
		||||
//    @DeleteMapping("/{ids}")
 | 
			
		||||
//    public R<Void> remove(@NotEmpty(message = "主键不能为空")
 | 
			
		||||
//                          @PathVariable Long[] ids) {
 | 
			
		||||
//        return toAjax(busDrawingreviewService.deleteWithValidByIds(List.of(ids), true));
 | 
			
		||||
//    }
 | 
			
		||||
}
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
package org.dromara.design.design.controller;
 | 
			
		||||
package org.dromara.design.controller;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
@ -1,105 +0,0 @@
 | 
			
		||||
package org.dromara.design.design.controller;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
import lombok.RequiredArgsConstructor;
 | 
			
		||||
import jakarta.servlet.http.HttpServletResponse;
 | 
			
		||||
import jakarta.validation.constraints.*;
 | 
			
		||||
import cn.dev33.satoken.annotation.SaCheckPermission;
 | 
			
		||||
import org.springframework.web.bind.annotation.*;
 | 
			
		||||
import org.springframework.validation.annotation.Validated;
 | 
			
		||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
 | 
			
		||||
import org.dromara.common.log.annotation.Log;
 | 
			
		||||
import org.dromara.common.web.core.BaseController;
 | 
			
		||||
import org.dromara.common.mybatis.core.page.PageQuery;
 | 
			
		||||
import org.dromara.common.core.domain.R;
 | 
			
		||||
import org.dromara.common.core.validate.AddGroup;
 | 
			
		||||
import org.dromara.common.core.validate.EditGroup;
 | 
			
		||||
import org.dromara.common.log.enums.BusinessType;
 | 
			
		||||
import org.dromara.common.excel.utils.ExcelUtil;
 | 
			
		||||
import org.dromara.design.domain.vo.BusDrawingreviewVo;
 | 
			
		||||
import org.dromara.design.domain.bo.BusDrawingreviewBo;
 | 
			
		||||
import org.dromara.design.service.IBusDrawingreviewService;
 | 
			
		||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 设计-图纸评审
 | 
			
		||||
 *
 | 
			
		||||
 * @author Lion Li
 | 
			
		||||
 * @date 2025-08-12
 | 
			
		||||
 */
 | 
			
		||||
@Validated
 | 
			
		||||
@RequiredArgsConstructor
 | 
			
		||||
@RestController
 | 
			
		||||
@RequestMapping("/design/drawingreview")
 | 
			
		||||
public class BusDrawingreviewController extends BaseController {
 | 
			
		||||
 | 
			
		||||
    private final IBusDrawingreviewService busDrawingreviewService;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询设计-图纸评审列表
 | 
			
		||||
     */
 | 
			
		||||
    @SaCheckPermission("design:drawingreview:list")
 | 
			
		||||
    @GetMapping("/list")
 | 
			
		||||
    public TableDataInfo<BusDrawingreviewVo> list(BusDrawingreviewBo bo, PageQuery pageQuery) {
 | 
			
		||||
        return busDrawingreviewService.queryPageList(bo, pageQuery);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 导出设计-图纸评审列表
 | 
			
		||||
     */
 | 
			
		||||
    @SaCheckPermission("design:drawingreview:export")
 | 
			
		||||
    @Log(title = "设计-图纸评审", businessType = BusinessType.EXPORT)
 | 
			
		||||
    @PostMapping("/export")
 | 
			
		||||
    public void export(BusDrawingreviewBo bo, HttpServletResponse response) {
 | 
			
		||||
        List<BusDrawingreviewVo> list = busDrawingreviewService.queryList(bo);
 | 
			
		||||
        ExcelUtil.exportExcel(list, "设计-图纸评审", BusDrawingreviewVo.class, response);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取设计-图纸评审详细信息
 | 
			
		||||
     *
 | 
			
		||||
     * @param id 主键
 | 
			
		||||
     */
 | 
			
		||||
    @SaCheckPermission("design:drawingreview:query")
 | 
			
		||||
    @GetMapping("/{id}")
 | 
			
		||||
    public R<BusDrawingreviewVo> getInfo(@NotNull(message = "主键不能为空")
 | 
			
		||||
                                     @PathVariable Long id) {
 | 
			
		||||
        return R.ok(busDrawingreviewService.queryById(id));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 新增设计-图纸评审
 | 
			
		||||
     */
 | 
			
		||||
    @SaCheckPermission("design:drawingreview:add")
 | 
			
		||||
    @Log(title = "设计-图纸评审", businessType = BusinessType.INSERT)
 | 
			
		||||
    @RepeatSubmit()
 | 
			
		||||
    @PostMapping()
 | 
			
		||||
    public R<Void> add(@Validated(AddGroup.class) @RequestBody BusDrawingreviewBo bo) {
 | 
			
		||||
        return toAjax(busDrawingreviewService.insertByBo(bo));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 修改设计-图纸评审
 | 
			
		||||
     */
 | 
			
		||||
    @SaCheckPermission("design:drawingreview:edit")
 | 
			
		||||
    @Log(title = "设计-图纸评审", businessType = BusinessType.UPDATE)
 | 
			
		||||
    @RepeatSubmit()
 | 
			
		||||
    @PutMapping()
 | 
			
		||||
    public R<Void> edit(@Validated(EditGroup.class) @RequestBody BusDrawingreviewBo bo) {
 | 
			
		||||
        return toAjax(busDrawingreviewService.updateByBo(bo));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 删除设计-图纸评审
 | 
			
		||||
     *
 | 
			
		||||
     * @param ids 主键串
 | 
			
		||||
     */
 | 
			
		||||
    @SaCheckPermission("design:drawingreview:remove")
 | 
			
		||||
    @Log(title = "设计-图纸评审", businessType = BusinessType.DELETE)
 | 
			
		||||
    @DeleteMapping("/{ids}")
 | 
			
		||||
    public R<Void> remove(@NotEmpty(message = "主键不能为空")
 | 
			
		||||
                          @PathVariable Long[] ids) {
 | 
			
		||||
        return toAjax(busDrawingreviewService.deleteWithValidByIds(List.of(ids), true));
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -1,15 +0,0 @@
 | 
			
		||||
package org.dromara.design.design.mapper;
 | 
			
		||||
 | 
			
		||||
import org.dromara.design.domain.BusDrawingreview;
 | 
			
		||||
import org.dromara.design.domain.vo.BusDrawingreviewVo;
 | 
			
		||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 设计-图纸评审Mapper接口
 | 
			
		||||
 *
 | 
			
		||||
 * @author Lion Li
 | 
			
		||||
 * @date 2025-08-12
 | 
			
		||||
 */
 | 
			
		||||
public interface BusDrawingreviewMapper extends BaseMapperPlus<BusDrawingreview, BusDrawingreviewVo> {
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -1,131 +0,0 @@
 | 
			
		||||
package org.dromara.design.design.service.impl;
 | 
			
		||||
 | 
			
		||||
import org.dromara.common.core.utils.MapstructUtils;
 | 
			
		||||
import org.dromara.common.core.utils.StringUtils;
 | 
			
		||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
 | 
			
		||||
import org.dromara.common.mybatis.core.page.PageQuery;
 | 
			
		||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 | 
			
		||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 | 
			
		||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 | 
			
		||||
import lombok.RequiredArgsConstructor;
 | 
			
		||||
import org.springframework.stereotype.Service;
 | 
			
		||||
import org.dromara.design.domain.bo.BusDrawingreviewBo;
 | 
			
		||||
import org.dromara.design.domain.vo.BusDrawingreviewVo;
 | 
			
		||||
import org.dromara.design.domain.BusDrawingreview;
 | 
			
		||||
import org.dromara.design.mapper.BusDrawingreviewMapper;
 | 
			
		||||
import org.dromara.design.service.IBusDrawingreviewService;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
import java.util.Collection;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 设计-图纸评审Service业务层处理
 | 
			
		||||
 *
 | 
			
		||||
 * @author Lion Li
 | 
			
		||||
 * @date 2025-08-12
 | 
			
		||||
 */
 | 
			
		||||
@RequiredArgsConstructor
 | 
			
		||||
@Service
 | 
			
		||||
public class BusDrawingreviewServiceImpl extends ServiceImpl<BusDrawingreviewMapper, BusDrawingreview> implements IBusDrawingreviewService {
 | 
			
		||||
 | 
			
		||||
    private final BusDrawingreviewMapper baseMapper;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询设计-图纸评审
 | 
			
		||||
     *
 | 
			
		||||
     * @param id 主键
 | 
			
		||||
     * @return 设计-图纸评审
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    public BusDrawingreviewVo queryById(Long id){
 | 
			
		||||
        return baseMapper.selectVoById(id);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 分页查询设计-图纸评审列表
 | 
			
		||||
     *
 | 
			
		||||
     * @param bo        查询条件
 | 
			
		||||
     * @param pageQuery 分页参数
 | 
			
		||||
     * @return 设计-图纸评审分页列表
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    public TableDataInfo<BusDrawingreviewVo> queryPageList(BusDrawingreviewBo bo, PageQuery pageQuery) {
 | 
			
		||||
        LambdaQueryWrapper<BusDrawingreview> lqw = buildQueryWrapper(bo);
 | 
			
		||||
        Page<BusDrawingreviewVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
 | 
			
		||||
        return TableDataInfo.build(result);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询符合条件的设计-图纸评审列表
 | 
			
		||||
     *
 | 
			
		||||
     * @param bo 查询条件
 | 
			
		||||
     * @return 设计-图纸评审列表
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    public List<BusDrawingreviewVo> queryList(BusDrawingreviewBo bo) {
 | 
			
		||||
        LambdaQueryWrapper<BusDrawingreview> lqw = buildQueryWrapper(bo);
 | 
			
		||||
        return baseMapper.selectVoList(lqw);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private LambdaQueryWrapper<BusDrawingreview> buildQueryWrapper(BusDrawingreviewBo bo) {
 | 
			
		||||
        Map<String, Object> params = bo.getParams();
 | 
			
		||||
        LambdaQueryWrapper<BusDrawingreview> lqw = Wrappers.lambdaQuery();
 | 
			
		||||
        lqw.orderByDesc(BusDrawingreview::getId);
 | 
			
		||||
        lqw.eq(bo.getProjectId() != null, BusDrawingreview::getProjectId, bo.getProjectId());
 | 
			
		||||
        lqw.eq(StringUtils.isNotBlank(bo.getAuditType()), BusDrawingreview::getAuditType, bo.getAuditType());
 | 
			
		||||
        return lqw;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 新增设计-图纸评审
 | 
			
		||||
     *
 | 
			
		||||
     * @param bo 设计-图纸评审
 | 
			
		||||
     * @return 是否新增成功
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    public Boolean insertByBo(BusDrawingreviewBo bo) {
 | 
			
		||||
        BusDrawingreview add = MapstructUtils.convert(bo, BusDrawingreview.class);
 | 
			
		||||
        validEntityBeforeSave(add);
 | 
			
		||||
        boolean flag = baseMapper.insert(add) > 0;
 | 
			
		||||
        if (flag) {
 | 
			
		||||
            bo.setId(add.getId());
 | 
			
		||||
        }
 | 
			
		||||
        return flag;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 修改设计-图纸评审
 | 
			
		||||
     *
 | 
			
		||||
     * @param bo 设计-图纸评审
 | 
			
		||||
     * @return 是否修改成功
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    public Boolean updateByBo(BusDrawingreviewBo bo) {
 | 
			
		||||
        BusDrawingreview update = MapstructUtils.convert(bo, BusDrawingreview.class);
 | 
			
		||||
        validEntityBeforeSave(update);
 | 
			
		||||
        return baseMapper.updateById(update) > 0;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 保存前的数据校验
 | 
			
		||||
     */
 | 
			
		||||
    private void validEntityBeforeSave(BusDrawingreview entity){
 | 
			
		||||
        //TODO 做一些数据校验,如唯一约束
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 校验并批量删除设计-图纸评审信息
 | 
			
		||||
     *
 | 
			
		||||
     * @param ids     待删除的主键集合
 | 
			
		||||
     * @param isValid 是否进行有效性校验
 | 
			
		||||
     * @return 是否删除成功
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
 | 
			
		||||
        if(isValid){
 | 
			
		||||
            //TODO 做一些业务上的校验,判断是否需要校验
 | 
			
		||||
        }
 | 
			
		||||
        return baseMapper.deleteByIds(ids) > 0;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
package org.dromara.design.design.domain;
 | 
			
		||||
package org.dromara.design.domain;
 | 
			
		||||
 | 
			
		||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.*;
 | 
			
		||||
@ -1,5 +1,6 @@
 | 
			
		||||
package org.dromara.design.design.domain;
 | 
			
		||||
package org.dromara.design.domain;
 | 
			
		||||
 | 
			
		||||
import lombok.experimental.Accessors;
 | 
			
		||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.*;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
@ -18,6 +19,7 @@ import java.io.Serial;
 | 
			
		||||
@Data
 | 
			
		||||
@EqualsAndHashCode(callSuper = true)
 | 
			
		||||
@TableName("bus_drawingreview_receipts")
 | 
			
		||||
@Accessors(chain = true)
 | 
			
		||||
public class BusDrawingreviewReceipts extends BaseEntity {
 | 
			
		||||
 | 
			
		||||
    @Serial
 | 
			
		||||
@ -139,6 +141,11 @@ public class BusDrawingreviewReceipts extends BaseEntity {
 | 
			
		||||
     */
 | 
			
		||||
    private Date executorDate;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 文件名
 | 
			
		||||
     */
 | 
			
		||||
    private String fileName;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 图纸
 | 
			
		||||
     */
 | 
			
		||||
@ -26,8 +26,8 @@ public class DesVolumeCatalog extends BaseEntity {
 | 
			
		||||
    /**
 | 
			
		||||
     * 主键ID
 | 
			
		||||
     */
 | 
			
		||||
    @TableId(value = "id")
 | 
			
		||||
    private Long id;
 | 
			
		||||
    @TableId(value = "design")
 | 
			
		||||
    private Long design;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 项目ID
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,36 @@
 | 
			
		||||
package org.dromara.design.domain.bo;
 | 
			
		||||
 | 
			
		||||
import jakarta.validation.constraints.NotNull;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import lombok.experimental.Accessors;
 | 
			
		||||
import org.springframework.web.multipart.MultipartFile;
 | 
			
		||||
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @Author 铁憨憨
 | 
			
		||||
 * @Date 2025/8/12 18:19
 | 
			
		||||
 * @Version 1.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
@Data
 | 
			
		||||
@Accessors(chain = true)
 | 
			
		||||
public class AnewDrawingReviewUploadReq implements Serializable {
 | 
			
		||||
    /**
 | 
			
		||||
     * 项目ID
 | 
			
		||||
     */
 | 
			
		||||
    @NotNull(message = "项目ID不能为空")
 | 
			
		||||
    private Long projectId;
 | 
			
		||||
    /**
 | 
			
		||||
     * 图纸评审id
 | 
			
		||||
     */
 | 
			
		||||
    @NotNull(message = "图纸评审id不能为空")
 | 
			
		||||
    private Long drawingreviewId;
 | 
			
		||||
    /**
 | 
			
		||||
     * 图纸评审文件
 | 
			
		||||
     */
 | 
			
		||||
    @NotNull(message = "图纸评审文件不能为空")
 | 
			
		||||
    private MultipartFile file;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
package org.dromara.design.design.domain.bo;
 | 
			
		||||
package org.dromara.design.domain.bo;
 | 
			
		||||
 | 
			
		||||
import org.dromara.design.domain.BusDrawingreview;
 | 
			
		||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
package org.dromara.design.design.domain.bo;
 | 
			
		||||
package org.dromara.design.domain.bo;
 | 
			
		||||
 | 
			
		||||
import org.dromara.design.domain.BusDrawingreviewReceipts;
 | 
			
		||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
 | 
			
		||||
@ -0,0 +1,36 @@
 | 
			
		||||
package org.dromara.design.domain.bo;
 | 
			
		||||
 | 
			
		||||
import com.alibaba.excel.annotation.ExcelProperty;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import lombok.experimental.Accessors;
 | 
			
		||||
import org.springframework.web.multipart.MultipartFile;
 | 
			
		||||
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
import java.util.Date;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @Author 铁憨憨
 | 
			
		||||
 * @Date 2025/8/12 16:52
 | 
			
		||||
 * @Version 1.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
@Data
 | 
			
		||||
@Accessors(chain = true)
 | 
			
		||||
public class DrawingReviewUploadReq implements Serializable {
 | 
			
		||||
    /**
 | 
			
		||||
     * 项目ID
 | 
			
		||||
     */
 | 
			
		||||
    private Long projectId;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 图纸评审文件
 | 
			
		||||
     */
 | 
			
		||||
    private MultipartFile file;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 备注
 | 
			
		||||
     */
 | 
			
		||||
    @ExcelProperty(value = "备注")
 | 
			
		||||
    private String remark;
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,132 @@
 | 
			
		||||
package org.dromara.design.domain.bo;
 | 
			
		||||
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.TableId;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import lombok.experimental.Accessors;
 | 
			
		||||
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
import java.util.Date;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @Author 铁憨憨
 | 
			
		||||
 * @Date 2025/8/12 18:55
 | 
			
		||||
 * @Version 1.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
@Data
 | 
			
		||||
@Accessors(chain = true)
 | 
			
		||||
public class FillOutTheDesignVerificationFormReq implements Serializable {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 主键ID
 | 
			
		||||
     */
 | 
			
		||||
    @TableId(value = "id")
 | 
			
		||||
    private Long id;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 编号
 | 
			
		||||
     */
 | 
			
		||||
    private String num;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 项目ID
 | 
			
		||||
     */
 | 
			
		||||
    private Long projectId;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 子项目ID
 | 
			
		||||
     */
 | 
			
		||||
    private Long subprojectId;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 项目名称
 | 
			
		||||
     */
 | 
			
		||||
    private String projectName;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 子项目名称
 | 
			
		||||
     */
 | 
			
		||||
    private String subprojectName;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 设计阶段
 | 
			
		||||
     */
 | 
			
		||||
    private String stage;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 专业
 | 
			
		||||
     */
 | 
			
		||||
    private String professional;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 卷册
 | 
			
		||||
     */
 | 
			
		||||
    private String volume;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 设计人
 | 
			
		||||
     */
 | 
			
		||||
    private String designer;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 验证内容
 | 
			
		||||
     */
 | 
			
		||||
    private String verificationContent;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 验证意见
 | 
			
		||||
     */
 | 
			
		||||
    private String verificationOpinion;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 执行意见
 | 
			
		||||
     */
 | 
			
		||||
    private String executionOpinion;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 校审人员ID
 | 
			
		||||
     */
 | 
			
		||||
    private Long proofreadingId;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 审核人员ID
 | 
			
		||||
     */
 | 
			
		||||
    private Long auditId;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 执行人员ID
 | 
			
		||||
     */
 | 
			
		||||
    private Long executorId;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 校审人员
 | 
			
		||||
     */
 | 
			
		||||
    private String proofreading;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 审核人员
 | 
			
		||||
     */
 | 
			
		||||
    private String audit;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 执行人员
 | 
			
		||||
     */
 | 
			
		||||
    private String executor;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 校审时间
 | 
			
		||||
     */
 | 
			
		||||
    private Date proofreadingDate;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 审核时间
 | 
			
		||||
     */
 | 
			
		||||
    private Date auditDate;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 执行时间
 | 
			
		||||
     */
 | 
			
		||||
    private Date executorDate;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -21,7 +21,7 @@ public class DesVolumeCatalogUpdateReq implements Serializable {
 | 
			
		||||
     * 主键ID
 | 
			
		||||
     */
 | 
			
		||||
    @NotNull(message = "主键ID不能为空")
 | 
			
		||||
    private Long id;
 | 
			
		||||
    private Long design;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 设计子项
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
package org.dromara.design.design.domain.vo;
 | 
			
		||||
package org.dromara.design.domain.vo;
 | 
			
		||||
 | 
			
		||||
import java.util.Date;
 | 
			
		||||
import com.fasterxml.jackson.annotation.JsonFormat;
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
package org.dromara.design.design.domain.vo;
 | 
			
		||||
package org.dromara.design.domain.vo;
 | 
			
		||||
 | 
			
		||||
import org.dromara.design.domain.BusDrawingreview;
 | 
			
		||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
 | 
			
		||||
@ -29,9 +29,9 @@ public class BusDrawingreviewVo implements Serializable {
 | 
			
		||||
    private static final long serialVersionUID = 1L;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 项目ID
 | 
			
		||||
     * 主键ID
 | 
			
		||||
     */
 | 
			
		||||
    @ExcelProperty(value = "项目ID")
 | 
			
		||||
    @ExcelProperty(value = "主键ID")
 | 
			
		||||
    private Long id;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
@ -0,0 +1,45 @@
 | 
			
		||||
package org.dromara.design.domain.vo;
 | 
			
		||||
 | 
			
		||||
import com.alibaba.excel.annotation.ExcelProperty;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @Author 铁憨憨
 | 
			
		||||
 * @Date 2025/8/12 17:50
 | 
			
		||||
 * @Version 1.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
@Data
 | 
			
		||||
public class ListOfDesignDrawingsReviewRes implements Serializable {
 | 
			
		||||
    /**
 | 
			
		||||
     * 主键ID
 | 
			
		||||
     */
 | 
			
		||||
    @ExcelProperty(value = "主键ID")
 | 
			
		||||
    private Long id;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 项目ID
 | 
			
		||||
     */
 | 
			
		||||
    @ExcelProperty(value = "项目ID")
 | 
			
		||||
    private Long projectId;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 文件名
 | 
			
		||||
     */
 | 
			
		||||
    @ExcelProperty(value = "文件名")
 | 
			
		||||
    private String fileName;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 审核类型
 | 
			
		||||
     */
 | 
			
		||||
    @ExcelProperty(value = "审核类型")
 | 
			
		||||
    private String auditType;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 备注
 | 
			
		||||
     */
 | 
			
		||||
    @ExcelProperty(value = "备注")
 | 
			
		||||
    private String remark;
 | 
			
		||||
}
 | 
			
		||||
@ -28,7 +28,7 @@ public class DesVolumeCatalogVo implements Serializable {
 | 
			
		||||
    /**
 | 
			
		||||
     * 主键ID
 | 
			
		||||
     */
 | 
			
		||||
    private Long id;
 | 
			
		||||
    private Long design;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 项目ID
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,28 @@
 | 
			
		||||
package org.dromara.design.mapper;
 | 
			
		||||
 | 
			
		||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 | 
			
		||||
import org.apache.ibatis.annotations.Param;
 | 
			
		||||
import org.dromara.cailiaoshebei.domain.bo.MasterDataListReq;
 | 
			
		||||
import org.dromara.cailiaoshebei.domain.vo.MasterDataListRes;
 | 
			
		||||
import org.dromara.common.mybatis.core.page.PageQuery;
 | 
			
		||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
 | 
			
		||||
import org.dromara.design.domain.BusDrawingreview;
 | 
			
		||||
import org.dromara.design.domain.bo.DrawingReviewUploadReq;
 | 
			
		||||
import org.dromara.design.domain.vo.BusDrawingreviewVo;
 | 
			
		||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
 | 
			
		||||
import org.dromara.design.domain.vo.ListOfDesignDrawingsReviewRes;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 设计-图纸评审Mapper接口
 | 
			
		||||
 *
 | 
			
		||||
 * @author Lion Li
 | 
			
		||||
 * @date 2025-08-12
 | 
			
		||||
 */
 | 
			
		||||
public interface BusDrawingreviewMapper extends BaseMapperPlus<BusDrawingreview, BusDrawingreviewVo> {
 | 
			
		||||
    /**
 | 
			
		||||
     * 设计图纸评审列表
 | 
			
		||||
     * listOfDesignDrawingsReview
 | 
			
		||||
     */
 | 
			
		||||
    Page<ListOfDesignDrawingsReviewRes> listOfDesignDrawingsReview(@Param("bo") DrawingReviewUploadReq bo, @Param("page") Page<MasterDataListReq> page);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
package org.dromara.design.design.mapper;
 | 
			
		||||
package org.dromara.design.mapper;
 | 
			
		||||
 | 
			
		||||
import org.dromara.design.domain.BusDrawingreviewReceipts;
 | 
			
		||||
import org.dromara.design.domain.vo.BusDrawingreviewReceiptsVo;
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
package org.dromara.design.design.service;
 | 
			
		||||
package org.dromara.design.service;
 | 
			
		||||
 | 
			
		||||
import org.dromara.design.domain.vo.BusDrawingreviewReceiptsVo;
 | 
			
		||||
import org.dromara.design.domain.bo.BusDrawingreviewReceiptsBo;
 | 
			
		||||
@ -1,5 +1,8 @@
 | 
			
		||||
package org.dromara.design.design.service;
 | 
			
		||||
package org.dromara.design.service;
 | 
			
		||||
 | 
			
		||||
import org.dromara.design.domain.bo.AnewDrawingReviewUploadReq;
 | 
			
		||||
import org.dromara.design.domain.bo.DrawingReviewUploadReq;
 | 
			
		||||
import org.dromara.design.domain.bo.FillOutTheDesignVerificationFormReq;
 | 
			
		||||
import org.dromara.design.domain.vo.BusDrawingreviewVo;
 | 
			
		||||
import org.dromara.design.domain.bo.BusDrawingreviewBo;
 | 
			
		||||
import org.dromara.design.domain.BusDrawingreview;
 | 
			
		||||
@ -7,6 +10,9 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
 | 
			
		||||
import org.dromara.common.mybatis.core.page.PageQuery;
 | 
			
		||||
 | 
			
		||||
import com.baomidou.mybatisplus.extension.service.IService;
 | 
			
		||||
import org.dromara.design.domain.vo.ListOfDesignDrawingsReviewRes;
 | 
			
		||||
import org.springframework.web.bind.annotation.RequestBody;
 | 
			
		||||
 | 
			
		||||
import java.util.Collection;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
@ -67,4 +73,32 @@ public interface IBusDrawingreviewService extends IService<BusDrawingreview>{
 | 
			
		||||
     * @return 是否删除成功
 | 
			
		||||
     */
 | 
			
		||||
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 设计-图纸评审上传
 | 
			
		||||
     * @param bo
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    Boolean drawingReviewUpload(DrawingReviewUploadReq bo);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 设计图纸评审列表
 | 
			
		||||
     * listOfDesignDrawingsReview
 | 
			
		||||
     */
 | 
			
		||||
    TableDataInfo<ListOfDesignDrawingsReviewRes> listOfDesignDrawingsReview(DrawingReviewUploadReq bo, PageQuery pageQuery);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 重新图纸评审上传
 | 
			
		||||
     * @param bo
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    Boolean anewDrawingReviewUpload(AnewDrawingReviewUploadReq bo);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 填写设计验证表单
 | 
			
		||||
     * @param bo
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    Boolean fillOutTheDesignVerificationForm(@RequestBody FillOutTheDesignVerificationFormReq bo);
 | 
			
		||||
}
 | 
			
		||||
@ -1,5 +1,6 @@
 | 
			
		||||
package org.dromara.design.design.service.impl;
 | 
			
		||||
package org.dromara.design.service.impl;
 | 
			
		||||
 | 
			
		||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 | 
			
		||||
import org.dromara.common.core.utils.MapstructUtils;
 | 
			
		||||
import org.dromara.common.core.utils.StringUtils;
 | 
			
		||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
 | 
			
		||||
@ -0,0 +1,283 @@
 | 
			
		||||
package org.dromara.design.service.impl;
 | 
			
		||||
 | 
			
		||||
import cn.hutool.core.bean.BeanUtil;
 | 
			
		||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 | 
			
		||||
import lombok.extern.slf4j.Slf4j;
 | 
			
		||||
import org.dromara.cailiaoshebei.controller.constant;
 | 
			
		||||
import org.dromara.cailiaoshebei.domain.BusCailiaoshebeiPici;
 | 
			
		||||
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.exception.ServiceException;
 | 
			
		||||
import org.dromara.common.core.utils.MapstructUtils;
 | 
			
		||||
import org.dromara.common.core.utils.StringUtils;
 | 
			
		||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
 | 
			
		||||
import org.dromara.common.mybatis.core.page.PageQuery;
 | 
			
		||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 | 
			
		||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 | 
			
		||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 | 
			
		||||
import lombok.RequiredArgsConstructor;
 | 
			
		||||
import org.dromara.common.translation.annotation.Translation;
 | 
			
		||||
import org.dromara.design.domain.BusDrawingreviewReceipts;
 | 
			
		||||
import org.dromara.design.domain.bo.AnewDrawingReviewUploadReq;
 | 
			
		||||
import org.dromara.design.domain.bo.DrawingReviewUploadReq;
 | 
			
		||||
import org.dromara.design.domain.bo.FillOutTheDesignVerificationFormReq;
 | 
			
		||||
import org.dromara.design.domain.vo.ListOfDesignDrawingsReviewRes;
 | 
			
		||||
import org.dromara.design.service.IBusDrawingreviewReceiptsService;
 | 
			
		||||
import org.dromara.system.domain.vo.SysOssUploadVo;
 | 
			
		||||
import org.dromara.system.service.ISysOssService;
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.context.event.EventListener;
 | 
			
		||||
import org.springframework.stereotype.Service;
 | 
			
		||||
import org.dromara.design.domain.bo.BusDrawingreviewBo;
 | 
			
		||||
import org.dromara.design.domain.vo.BusDrawingreviewVo;
 | 
			
		||||
import org.dromara.design.domain.BusDrawingreview;
 | 
			
		||||
import org.dromara.design.mapper.BusDrawingreviewMapper;
 | 
			
		||||
import org.dromara.design.service.IBusDrawingreviewService;
 | 
			
		||||
import org.springframework.transaction.annotation.Transactional;
 | 
			
		||||
import org.springframework.web.multipart.MultipartFile;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
import java.util.Collection;
 | 
			
		||||
 | 
			
		||||
import static org.dromara.common.constant.MinioPathConstant.BillOfQuantities;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 设计-图纸评审Service业务层处理
 | 
			
		||||
 *
 | 
			
		||||
 * @author Lion Li
 | 
			
		||||
 * @date 2025-08-12
 | 
			
		||||
 */
 | 
			
		||||
@RequiredArgsConstructor
 | 
			
		||||
@Service
 | 
			
		||||
@Slf4j
 | 
			
		||||
public class BusDrawingreviewServiceImpl extends ServiceImpl<BusDrawingreviewMapper, BusDrawingreview> implements IBusDrawingreviewService {
 | 
			
		||||
 | 
			
		||||
    private final BusDrawingreviewMapper baseMapper;
 | 
			
		||||
 | 
			
		||||
    private final IBusDrawingreviewReceiptsService busDrawingreviewReceiptsService;
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private ISysOssService ossService;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询设计-图纸评审
 | 
			
		||||
     *
 | 
			
		||||
     * @param id 主键
 | 
			
		||||
     * @return 设计-图纸评审
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    public BusDrawingreviewVo queryById(Long id){
 | 
			
		||||
        return baseMapper.selectVoById(id);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 分页查询设计-图纸评审列表
 | 
			
		||||
     *
 | 
			
		||||
     * @param bo        查询条件
 | 
			
		||||
     * @param pageQuery 分页参数
 | 
			
		||||
     * @return 设计-图纸评审分页列表
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    public TableDataInfo<BusDrawingreviewVo> queryPageList(BusDrawingreviewBo bo, PageQuery pageQuery) {
 | 
			
		||||
        LambdaQueryWrapper<BusDrawingreview> lqw = buildQueryWrapper(bo);
 | 
			
		||||
        Page<BusDrawingreviewVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
 | 
			
		||||
        return TableDataInfo.build(result);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询符合条件的设计-图纸评审列表
 | 
			
		||||
     *
 | 
			
		||||
     * @param bo 查询条件
 | 
			
		||||
     * @return 设计-图纸评审列表
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    public List<BusDrawingreviewVo> queryList(BusDrawingreviewBo bo) {
 | 
			
		||||
        LambdaQueryWrapper<BusDrawingreview> lqw = buildQueryWrapper(bo);
 | 
			
		||||
        return baseMapper.selectVoList(lqw);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private LambdaQueryWrapper<BusDrawingreview> buildQueryWrapper(BusDrawingreviewBo bo) {
 | 
			
		||||
        Map<String, Object> params = bo.getParams();
 | 
			
		||||
        LambdaQueryWrapper<BusDrawingreview> lqw = Wrappers.lambdaQuery();
 | 
			
		||||
        lqw.orderByDesc(BusDrawingreview::getId);
 | 
			
		||||
        lqw.eq(bo.getProjectId() != null, BusDrawingreview::getProjectId, bo.getProjectId());
 | 
			
		||||
        lqw.eq(StringUtils.isNotBlank(bo.getAuditType()), BusDrawingreview::getAuditType, bo.getAuditType());
 | 
			
		||||
        return lqw;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 新增设计-图纸评审
 | 
			
		||||
     *
 | 
			
		||||
     * @param bo 设计-图纸评审
 | 
			
		||||
     * @return 是否新增成功
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    public Boolean insertByBo(BusDrawingreviewBo bo) {
 | 
			
		||||
        BusDrawingreview add = MapstructUtils.convert(bo, BusDrawingreview.class);
 | 
			
		||||
        validEntityBeforeSave(add);
 | 
			
		||||
        boolean flag = baseMapper.insert(add) > 0;
 | 
			
		||||
        if (flag) {
 | 
			
		||||
            bo.setId(add.getId());
 | 
			
		||||
        }
 | 
			
		||||
        return flag;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 修改设计-图纸评审
 | 
			
		||||
     *
 | 
			
		||||
     * @param bo 设计-图纸评审
 | 
			
		||||
     * @return 是否修改成功
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    public Boolean updateByBo(BusDrawingreviewBo bo) {
 | 
			
		||||
        BusDrawingreview update = MapstructUtils.convert(bo, BusDrawingreview.class);
 | 
			
		||||
        validEntityBeforeSave(update);
 | 
			
		||||
        return baseMapper.updateById(update) > 0;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 保存前的数据校验
 | 
			
		||||
     */
 | 
			
		||||
    private void validEntityBeforeSave(BusDrawingreview entity){
 | 
			
		||||
        //TODO 做一些数据校验,如唯一约束
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 校验并批量删除设计-图纸评审信息
 | 
			
		||||
     *
 | 
			
		||||
     * @param ids     待删除的主键集合
 | 
			
		||||
     * @param isValid 是否进行有效性校验
 | 
			
		||||
     * @return 是否删除成功
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
 | 
			
		||||
        if(isValid){
 | 
			
		||||
            //TODO 做一些业务上的校验,判断是否需要校验
 | 
			
		||||
        }
 | 
			
		||||
        return baseMapper.deleteByIds(ids) > 0;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 设计-图纸评审上传
 | 
			
		||||
     *
 | 
			
		||||
     * @param bo 设计-图纸评审上传
 | 
			
		||||
     * @return 是否上传成功
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    public Boolean drawingReviewUpload(DrawingReviewUploadReq bo) {
 | 
			
		||||
        //1、主数据新增
 | 
			
		||||
        BusDrawingreview busDrawingreview = new BusDrawingreview();
 | 
			
		||||
        busDrawingreview.setProjectId(bo.getProjectId());
 | 
			
		||||
        busDrawingreview.setRemark(bo.getRemark());
 | 
			
		||||
        int insert = baseMapper.insert(busDrawingreview);
 | 
			
		||||
        if (insert <= 0) {
 | 
			
		||||
            throw new RuntimeException("新增设计图纸评审失败");
 | 
			
		||||
        }
 | 
			
		||||
        //2、文件上传
 | 
			
		||||
        MultipartFile file = bo.getFile();
 | 
			
		||||
        if(bo.getFile() == null){
 | 
			
		||||
            throw new RuntimeException("文件不能为空");
 | 
			
		||||
        }
 | 
			
		||||
        SysOssUploadVo wordEntity = ossService.uploadWithNoSave(file, ossService.minioFileName(BillOfQuantities,file));
 | 
			
		||||
        BusDrawingreviewReceipts entity = new BusDrawingreviewReceipts().
 | 
			
		||||
            setFileName(bo.getFile().getName()).
 | 
			
		||||
            setDrawingreviewId(busDrawingreview.getId()).
 | 
			
		||||
            setPath(wordEntity.getUrl());
 | 
			
		||||
        return busDrawingreviewReceiptsService.save(entity);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 设计图纸评审列表
 | 
			
		||||
     * listOfDesignDrawingsReview
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    public TableDataInfo<ListOfDesignDrawingsReviewRes> listOfDesignDrawingsReview(DrawingReviewUploadReq bo, PageQuery pageQuery) {
 | 
			
		||||
        Page<ListOfDesignDrawingsReviewRes> page = baseMapper.listOfDesignDrawingsReview(bo, pageQuery.build());
 | 
			
		||||
        return TableDataInfo.build(page);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public Boolean anewDrawingReviewUpload(AnewDrawingReviewUploadReq bo) {
 | 
			
		||||
        MultipartFile file = bo.getFile();
 | 
			
		||||
        if(bo.getFile() == null){
 | 
			
		||||
            throw new RuntimeException("文件不能为空");
 | 
			
		||||
        }
 | 
			
		||||
        SysOssUploadVo wordEntity = ossService.uploadWithNoSave(file, ossService.minioFileName(BillOfQuantities,file));
 | 
			
		||||
        BusDrawingreviewReceipts entity = new BusDrawingreviewReceipts().
 | 
			
		||||
            setFileName(bo.getFile().getName()).
 | 
			
		||||
            setDrawingreviewId(bo.getDrawingreviewId()).
 | 
			
		||||
            setPath(wordEntity.getUrl());
 | 
			
		||||
        return busDrawingreviewReceiptsService.save(entity);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public Boolean fillOutTheDesignVerificationForm(FillOutTheDesignVerificationFormReq bo) {
 | 
			
		||||
        //修改busDrawingreviewReceiptsService数据
 | 
			
		||||
        BusDrawingreviewReceipts busDrawingreviewReceipts = BeanUtil.copyProperties(bo, BusDrawingreviewReceipts.class);
 | 
			
		||||
        return busDrawingreviewReceiptsService.updateById(busDrawingreviewReceipts);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成,单任务完成等)
 | 
			
		||||
     * 正常使用只需#processEvent.flowCode=='leave1'
 | 
			
		||||
     * 示例为了方便则使用startsWith匹配了全部示例key
 | 
			
		||||
     *
 | 
			
		||||
     * @param processEvent 参数
 | 
			
		||||
     */
 | 
			
		||||
    @org.springframework.context.event.EventListener(condition = "#processEvent.flowCode.endsWith('drawingReview')")
 | 
			
		||||
    @Transactional
 | 
			
		||||
    public void processPlansHandler(ProcessEvent processEvent) {
 | 
			
		||||
        log.info("图纸评审审核任务执行了{}", processEvent.toString());
 | 
			
		||||
        String id = processEvent.getBusinessId();
 | 
			
		||||
        //1、根据id修改
 | 
			
		||||
        BusDrawingreviewReceipts busDrawingreviewReceipts = new BusDrawingreviewReceipts();
 | 
			
		||||
        busDrawingreviewReceipts.setId(Long.valueOf(id));
 | 
			
		||||
            busDrawingreviewReceipts.setStage(processEvent.getStatus());
 | 
			
		||||
        boolean b = busDrawingreviewReceiptsService.updateById(busDrawingreviewReceipts);
 | 
			
		||||
        if (!b) {
 | 
			
		||||
            throw new RuntimeException("更新失败");
 | 
			
		||||
        }
 | 
			
		||||
        //2、查询详情,修改上一级的状态
 | 
			
		||||
        BusDrawingreviewReceipts busDrawingreviewReceipts1 = busDrawingreviewReceiptsService.getById(id);
 | 
			
		||||
        if (busDrawingreviewReceipts1 == null) {
 | 
			
		||||
            throw new RuntimeException("查询失败");
 | 
			
		||||
        }
 | 
			
		||||
        //3、根据drawingreviewId查询主表
 | 
			
		||||
        BusDrawingreview busDrawingreview = new BusDrawingreview();
 | 
			
		||||
        busDrawingreview.setId(busDrawingreviewReceipts1.getDrawingreviewId());
 | 
			
		||||
        busDrawingreview.setAuditType(processEvent.getStatus());
 | 
			
		||||
        baseMapper.updateById(busDrawingreview);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 执行任务创建监听
 | 
			
		||||
     * 示例:也可通过  @EventListener(condition = "#processTaskEvent.flowCode=='leave1'")进行判断
 | 
			
		||||
     * 在方法中判断流程节点key
 | 
			
		||||
     * if ("xxx".equals(processTaskEvent.getNodeCode())) {
 | 
			
		||||
     * //执行业务逻辑
 | 
			
		||||
     * }
 | 
			
		||||
     *
 | 
			
		||||
     * @param processTaskEvent 参数
 | 
			
		||||
     */
 | 
			
		||||
    @org.springframework.context.event.EventListener(condition = "#processTaskEvent.flowCode.endsWith('drawingReview')")
 | 
			
		||||
    public void processTaskPlansHandler(ProcessTaskEvent processTaskEvent) {
 | 
			
		||||
        log.info("图纸评审审核任务创建了{}", processTaskEvent.toString());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 监听删除流程事件
 | 
			
		||||
     * 正常使用只需#processDeleteEvent.flowCode=='leave1'
 | 
			
		||||
     * 示例为了方便则使用startsWith匹配了全部示例key
 | 
			
		||||
     *
 | 
			
		||||
     * @param processDeleteEvent 参数
 | 
			
		||||
     */
 | 
			
		||||
    @EventListener(condition = "#processDeleteEvent.flowCode.endsWith('drawingReview')")
 | 
			
		||||
    public void processDeletePlansHandler(ProcessDeleteEvent processDeleteEvent) {
 | 
			
		||||
        log.info("图纸评审计划删除流程事件,技术标准文件审核任务执行了{}", processDeleteEvent.toString());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -156,7 +156,7 @@ public class DesVolumeCatalogServiceImpl extends ServiceImpl<DesVolumeCatalogMap
 | 
			
		||||
    @Override
 | 
			
		||||
    public Boolean updateByBo(DesVolumeCatalogUpdateReq req) {
 | 
			
		||||
        // 判断卷册目录是否存在
 | 
			
		||||
        DesVolumeCatalog oldVolumeCatalog = this.getById(req.getId());
 | 
			
		||||
        DesVolumeCatalog oldVolumeCatalog = this.getById(req.getDesign());
 | 
			
		||||
        if (oldVolumeCatalog == null) {
 | 
			
		||||
            throw new ServiceException("卷册目录不存在", HttpStatus.ERROR);
 | 
			
		||||
        }
 | 
			
		||||
@ -167,7 +167,7 @@ public class DesVolumeCatalogServiceImpl extends ServiceImpl<DesVolumeCatalogMap
 | 
			
		||||
                .eq(DesVolumeCatalog::getVolumeNumber, req.getVolumeNumber())
 | 
			
		||||
                .or()
 | 
			
		||||
                .eq(DesVolumeCatalog::getDocumentName, req.getDocumentName()))
 | 
			
		||||
            .ne(DesVolumeCatalog::getId, req.getId())
 | 
			
		||||
            .ne(DesVolumeCatalog::getDesign, req.getDesign())
 | 
			
		||||
            .count();
 | 
			
		||||
        if (count > 0) {
 | 
			
		||||
            throw new ServiceException("卷册目录已存在", HttpStatus.BAD_REQUEST);
 | 
			
		||||
@ -222,11 +222,11 @@ public class DesVolumeCatalogServiceImpl extends ServiceImpl<DesVolumeCatalogMap
 | 
			
		||||
        }
 | 
			
		||||
        BeanUtils.copyProperties(volumeCatalog, vo);
 | 
			
		||||
        // 关联文件信息
 | 
			
		||||
        List<DesVolumeFile> volumeFiles = this.queryFileListById(volumeCatalog.getId());
 | 
			
		||||
        List<DesVolumeFile> volumeFiles = this.queryFileListById(volumeCatalog.getDesign());
 | 
			
		||||
        vo.setFileVoList(volumeFileService.getVoList(volumeFiles));
 | 
			
		||||
        // 关联查阅人信息
 | 
			
		||||
        List<DesVolumeFileViewer> allViewerList = volumeFileViewerService.lambdaQuery()
 | 
			
		||||
            .eq(DesVolumeFileViewer::getVolumeCatalogId, volumeCatalog.getId()).list();
 | 
			
		||||
            .eq(DesVolumeFileViewer::getVolumeCatalogId, volumeCatalog.getDesign()).list();
 | 
			
		||||
        List<Long> userIds = allViewerList.stream().map(DesVolumeFileViewer::getUserId).distinct().toList();
 | 
			
		||||
        List<SysUserVo> userVoList = userService.selectUserByIds(userIds, null);
 | 
			
		||||
        Map<Long, SysUserVo> userVoMap = userVoList.stream().collect(Collectors.toMap(SysUserVo::getUserId, Function.identity()));
 | 
			
		||||
 | 
			
		||||
@ -4,4 +4,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 | 
			
		||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 | 
			
		||||
<mapper namespace="org.dromara.design.mapper.BusDrawingreviewMapper">
 | 
			
		||||
 | 
			
		||||
    <select id="listOfDesignDrawingsReview" resultType="org.dromara.design.domain.vo.ListOfDesignDrawingsReviewRes">
 | 
			
		||||
        select
 | 
			
		||||
            bdr.id,
 | 
			
		||||
            bdr.project_id,
 | 
			
		||||
            bdr.audit_type,
 | 
			
		||||
            bdr.remark,
 | 
			
		||||
            bdr.create_time,
 | 
			
		||||
            bdr.file_name,
 | 
			
		||||
        from
 | 
			
		||||
            bus_drawingreview bdr
 | 
			
		||||
            left join bus_drawingreview_receipts bdrr on bdr.id = bdrr.drawingreview_id
 | 
			
		||||
        <where>
 | 
			
		||||
            bdr.project_id = #{bo.projectId}
 | 
			
		||||
        </where>
 | 
			
		||||
        order by
 | 
			
		||||
            bdr.create_time desc
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
</mapper>
 | 
			
		||||
 | 
			
		||||
@ -4,4 +4,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 | 
			
		||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 | 
			
		||||
<mapper namespace="org.dromara.design.mapper.BusDrawingreviewReceiptsMapper">
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
</mapper>
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user