This commit is contained in:
zt
2025-08-28 22:37:32 +08:00
parent aa31eb97b9
commit 1878a7dab3
21 changed files with 234 additions and 14 deletions

View File

@ -7,6 +7,9 @@ import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.design.domain.bo.DesUserBo;
import org.dromara.design.domain.vo.DesUserVo;
import org.dromara.design.service.IDesUserService;
import org.dromara.project.domain.vo.project.BusSubProjectVo;
import org.dromara.project.service.IBusProjectService;
import org.springframework.web.bind.annotation.*;
@ -39,6 +42,7 @@ public class BusDrawingreviewReceiptsController extends BaseController {
private final IBusDrawingreviewReceiptsService busDrawingreviewReceiptsService;
private final IDesUserService desUserService;
/**
* 查询设计-图纸评审验证列表
@ -108,5 +112,24 @@ public class BusDrawingreviewReceiptsController extends BaseController {
}
/**
* 获取设计-图纸评审验证详细信息
*
* @param drawingreviewId 主键
*/
@GetMapping("/review/{drawingreviewId}")
public R<BusDrawingreviewReceiptsVo> getInfoByReviewId(@NotNull(message = "关联id不能为空")
@PathVariable Long drawingreviewId) {
return R.ok(busDrawingreviewReceiptsService.getInfoByReviewId(drawingreviewId));
}
/**
* 获取设计人列表
*
*/
@GetMapping("/desUser/list")
public R<List<DesUserVo>> list(DesUserBo bo) {
return R.ok(desUserService.queryList(bo));
}
}

View File

@ -129,7 +129,7 @@ public class DesDesignChangeController extends BaseController {
*/
@SaCheckPermission("design:designChange:add")
@GetMapping("/catalogList/{projectId}")
public R<List<DesVolumeCatalog>> catalogList(@PathVariable("projectId") Long projectId) {
public R<List<DesVolumeCatalogVo>> catalogList(@PathVariable("projectId") Long projectId) {
return R.ok(desVolumeCatalogService.catalogList(projectId));
}

View File

@ -164,4 +164,8 @@ public class BusDrawingreviewReceipts extends BaseEntity {
private String approve;
/**
* 审定日期
*/
private LocalDate approveDate;
}

View File

@ -155,4 +155,5 @@ public class BusDrawingreviewReceiptsBo extends BaseEntity {
private String approve;
private LocalDate approveDate;
}

View File

@ -3,6 +3,8 @@ package org.dromara.design.domain.vo;
import java.time.LocalDate;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.design.domain.BusDrawingreviewReceipts;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
@ -85,6 +87,9 @@ public class BusDrawingreviewReceiptsVo implements Serializable {
@ExcelProperty(value = "专业")
private String professional;
@Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "professional",other = "des_user_major")
private String professionalName;
/**
* 卷册
*/
@ -97,6 +102,9 @@ public class BusDrawingreviewReceiptsVo implements Serializable {
@ExcelProperty(value = "设计人")
private String designer;
@Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "designer")
private String designerName;
/**
* 验证内容
*/
@ -181,5 +189,18 @@ public class BusDrawingreviewReceiptsVo implements Serializable {
@ExcelProperty(value = "最终审核状态")
private String finalState;
/**
* 审定人员Id
*/
private Long approveId;
/**
* 审定人员
*/
private String approve;
/**
* 审定日期
*/
private LocalDate approveDate;
}

View File

@ -158,4 +158,9 @@ public class DesDesignChangeVo implements Serializable {
*/
private String auditStatus;
/**
* 是否弹窗
*/
private Boolean isWindow =true;
}

View File

@ -76,4 +76,9 @@ public class DesVolumeFileVo implements Serializable {
*/
private String auditStatus;
/**
* 是否弹窗
*/
private Boolean isWindow =true;
}

View File

@ -1,5 +1,9 @@
package org.dromara.design.service;
import jakarta.validation.constraints.NotNull;
import org.dromara.design.domain.DesDesignChange;
import org.dromara.design.domain.DesVolumeCatalog;
import org.dromara.design.domain.DesVolumeFile;
import org.dromara.design.domain.vo.BusDrawingreviewReceiptsVo;
import org.dromara.design.domain.bo.BusDrawingreviewReceiptsBo;
import org.dromara.design.domain.BusDrawingreviewReceipts;
@ -7,6 +11,8 @@ 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.springframework.web.bind.annotation.PathVariable;
import java.util.Collection;
import java.util.List;
@ -67,4 +73,16 @@ public interface IBusDrawingreviewReceiptsService extends IService<BusDrawingrev
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
/**
* 根据ReviewId查询
*/
BusDrawingreviewReceiptsVo getInfoByReviewId(Long drawingreviewId);
void createReceipts(DesVolumeCatalog volumeCatalog,List<DesVolumeFile> desVolumeFiles);
void createReceipts(DesDesignChange designChange);
}

View File

@ -118,6 +118,6 @@ public interface IDesVolumeCatalogService extends IService<DesVolumeCatalog> {
* 获取变更单所选择的卷册目录列表
*
*/
List<DesVolumeCatalog> catalogList(Long projectId);
List<DesVolumeCatalogVo> catalogList(Long projectId);
}

View File

@ -9,6 +9,12 @@ 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.design.domain.DesDesignChange;
import org.dromara.design.domain.DesVolumeCatalog;
import org.dromara.design.domain.DesVolumeFile;
import org.dromara.design.service.IDesVolumeCatalogService;
import org.dromara.project.service.IBusProjectService;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.dromara.design.domain.bo.BusDrawingreviewReceiptsBo;
import org.dromara.design.domain.vo.BusDrawingreviewReceiptsVo;
@ -16,9 +22,7 @@ import org.dromara.design.domain.BusDrawingreviewReceipts;
import org.dromara.design.mapper.BusDrawingreviewReceiptsMapper;
import org.dromara.design.service.IBusDrawingreviewReceiptsService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
import java.util.*;
/**
* 设计-图纸评审验证Service业务层处理
@ -32,6 +36,10 @@ public class BusDrawingreviewReceiptsServiceImpl extends ServiceImpl<BusDrawingr
private final BusDrawingreviewReceiptsMapper baseMapper;
private final IBusProjectService projectService;
private final IDesVolumeCatalogService desVolumeCatalogService;
/**
* 查询设计-图纸评审验证
*
@ -130,4 +138,61 @@ public class BusDrawingreviewReceiptsServiceImpl extends ServiceImpl<BusDrawingr
}
return baseMapper.deleteByIds(ids) > 0;
}
@Override
public BusDrawingreviewReceiptsVo getInfoByReviewId(Long drawingreviewId) {
return baseMapper.selectVoOne(Wrappers.<BusDrawingreviewReceipts>lambdaQuery()
.eq(BusDrawingreviewReceipts::getDrawingreviewId, drawingreviewId)
.orderByDesc(BusDrawingreviewReceipts::getCreateTime)
.last("limit 1")
);
}
@Async
@Override
public void createReceipts(DesVolumeCatalog volumeCatalog, List<DesVolumeFile> desVolumeFiles) {
String projectName = projectService.getById(volumeCatalog.getProjectId()).getProjectName();
ArrayList<BusDrawingreviewReceipts> list = new ArrayList<>();
for (DesVolumeFile desVolumeFile : desVolumeFiles) {
BusDrawingreviewReceipts busDrawingreviewReceipts = new BusDrawingreviewReceipts();
busDrawingreviewReceipts.setDrawingreviewId(desVolumeFile.getId());
busDrawingreviewReceipts.setProjectId(volumeCatalog.getProjectId());
busDrawingreviewReceipts.setProjectName(projectName);
busDrawingreviewReceipts.setDesigner(volumeCatalog.getPrincipal());
String uuid = UUID.randomUUID().toString().replace("-", "").substring(0, 16);
busDrawingreviewReceipts.setNum("PS-" + uuid);
busDrawingreviewReceipts.setProfessional(volumeCatalog.getSpecialty());
busDrawingreviewReceipts.setVolume(volumeCatalog.getDocumentName());
list.add(busDrawingreviewReceipts);
}
baseMapper.insertBatch(list);
}
@Async
@Override
public void createReceipts(DesDesignChange designChange) {
DesVolumeCatalog volumeCatalog = desVolumeCatalogService.getOne(Wrappers.<DesVolumeCatalog>lambdaQuery()
.eq(DesVolumeCatalog::getVolumeNumber, designChange.getVolumeNo())
.eq(DesVolumeCatalog::getProjectId, designChange.getProjectId())
.last("limit 1")
);
BusDrawingreviewReceipts busDrawingreviewReceipts = new BusDrawingreviewReceipts();
busDrawingreviewReceipts.setDrawingreviewId(designChange.getId());
busDrawingreviewReceipts.setProjectId(designChange.getProjectId());
busDrawingreviewReceipts.setProjectName(designChange.getProjectName());
busDrawingreviewReceipts.setDesigner(volumeCatalog.getPrincipal());
String uuid = UUID.randomUUID().toString().replace("-", "").substring(0, 16);
busDrawingreviewReceipts.setNum("PS-" + uuid);
busDrawingreviewReceipts.setProfessional(volumeCatalog.getSpecialty());
busDrawingreviewReceipts.setVolume(volumeCatalog.getDocumentName());
save(busDrawingreviewReceipts);
}
}

View File

@ -40,13 +40,11 @@ import org.dromara.design.domain.dto.designchange.DesDesignChangeCreateReq;
import org.dromara.design.domain.dto.designchange.DesDesignChangeQueryReq;
import org.dromara.design.domain.dto.designchange.DesDesignChangeUpdateReq;
import org.dromara.design.domain.dto.designchange.DesDesignExtendDetailDto;
import org.dromara.design.domain.vo.BusDrawingreviewReceiptsVo;
import org.dromara.design.domain.vo.designchange.DesDesignChangeVo;
import org.dromara.design.domain.vo.volumefile.DesVolumeFileVo;
import org.dromara.design.mapper.DesDesignChangeMapper;
import org.dromara.design.service.IDesDesignChangeService;
import org.dromara.design.service.IDesDrawingService;
import org.dromara.design.service.IDesVolumeCatalogService;
import org.dromara.design.service.IDesVolumeFileService;
import org.dromara.design.service.*;
import org.dromara.facility.domain.FacMatrix;
import org.dromara.project.service.IBusProjectService;
import org.dromara.system.domain.vo.SysOssVo;
@ -96,6 +94,9 @@ public class DesDesignChangeServiceImpl extends ServiceImpl<DesDesignChangeMappe
@Resource
protected IDesDrawingService drawingService;
@Resource
private IBusDrawingreviewReceiptsService drawingreviewReceiptsService;
@Lazy
@Resource
private IDesDrawingService self;
@ -114,6 +115,12 @@ public class DesDesignChangeServiceImpl extends ServiceImpl<DesDesignChangeMappe
}
DesDesignChangeVo vo = this.getVo(designChange);
vo.setExtendDetail(JSONUtil.toBean(designChange.getDetail(), DesDesignExtendDetailDto.class));
BusDrawingreviewReceiptsVo infoByReviewId = drawingreviewReceiptsService.getInfoByReviewId(designChange.getId());
if(infoByReviewId != null && infoByReviewId.getApproveId()!=null){
vo.setIsWindow(false);
}
return vo;
}
@ -234,8 +241,10 @@ public class DesDesignChangeServiceImpl extends ServiceImpl<DesDesignChangeMappe
if (!save) {
throw new ServiceException("新增设计变更单失败", HttpStatus.ERROR);
}
drawingreviewReceiptsService.createReceipts(entity);
DesDesignChangeVo vo = this.getVo(this.getById(entity.getId()));
vo.setExtendDetail(req.getExtendDetail());
return vo;
}
@ -719,7 +728,7 @@ public class DesDesignChangeServiceImpl extends ServiceImpl<DesDesignChangeMappe
*/
@EventListener(condition = "#processEvent.flowCode.endsWith('designchangeddoc')")
public void docProcessHandler(ProcessEvent processEvent) {
log.info("设计变更文件审核任务执行了{}", processEvent.toString());
log.info("设计变更审核任务执行了{}", processEvent.toString());
String str = Convert.toStr(processEvent.getBusinessId());
if (StringUtils.isNotBlank(str) && str.endsWith("_audit")) {
str = StringUtils.removeEnd(str, "_audit");

View File

@ -139,7 +139,7 @@ public class DesUserServiceImpl extends ServiceImpl<DesUserMapper, DesUser> impl
baseMapper.delete(Wrappers.<DesUser>lambdaQuery().eq(DesUser::getProjectId, dto.getProjectId()));
List<DesUser> desUsers = MapstructUtils.convert(dto.getList(), DesUser.class);
//todo:发消息
return baseMapper.insertBatch(desUsers);
return saveBatch(desUsers);
}
@Override

View File

@ -332,7 +332,7 @@ public class DesVolumeCatalogServiceImpl extends ServiceImpl<DesVolumeCatalogMap
}
@Override
public List<DesVolumeCatalog> catalogList(Long projectId) {
public List<DesVolumeCatalogVo> catalogList(Long projectId) {
//查询已有审核通过蓝图的卷册目录
List<DesVolumeFile> list = volumeFileService.list(Wrappers.lambdaQuery(DesVolumeFile.class)
@ -346,7 +346,7 @@ public class DesVolumeCatalogServiceImpl extends ServiceImpl<DesVolumeCatalogMap
}
List<Long> list1 = list.stream().map(DesVolumeFile::getVolumeCatalogId).distinct().toList();
return baseMapper.selectList(Wrappers.lambdaQuery(DesVolumeCatalog.class)
return baseMapper.selectVoList(Wrappers.lambdaQuery(DesVolumeCatalog.class)
.eq(DesVolumeCatalog::getProjectId, projectId)
.in(DesVolumeCatalog::getDesign, list1)
.orderByDesc(DesVolumeCatalog::getCreateTime)

View File

@ -22,10 +22,12 @@ import org.dromara.design.domain.DesVolumeCatalog;
import org.dromara.design.domain.DesVolumeFile;
import org.dromara.design.domain.bo.DesVolumeFileBo;
import org.dromara.design.domain.dto.volumefile.DesVolumeFileCreateReq;
import org.dromara.design.domain.vo.BusDrawingreviewReceiptsVo;
import org.dromara.design.domain.vo.volumefile.DesVolumeFileCodeVo;
import org.dromara.design.domain.vo.volumefile.DesVolumeFileJoinVo;
import org.dromara.design.domain.vo.volumefile.DesVolumeFileVo;
import org.dromara.design.mapper.DesVolumeFileMapper;
import org.dromara.design.service.IBusDrawingreviewReceiptsService;
import org.dromara.design.service.IDesDrawingService;
import org.dromara.design.service.IDesVolumeCatalogService;
import org.dromara.design.service.IDesVolumeFileService;
@ -67,6 +69,10 @@ public class DesVolumeFileServiceImpl extends ServiceImpl<DesVolumeFileMapper, D
@Resource
private IDesDrawingService self;
@Resource
private IBusDrawingreviewReceiptsService busDrawingreviewReceiptsService;
/**
* 分页查询卷册文件列表
*
@ -158,7 +164,13 @@ public class DesVolumeFileServiceImpl extends ServiceImpl<DesVolumeFileMapper, D
if (volumeFile == null) {
throw new ServiceException("对应卷册文件信息不存在", HttpStatus.NOT_FOUND);
}
return getVo(volumeFile);
DesVolumeFileVo vo = getVo(volumeFile);
BusDrawingreviewReceiptsVo infoByReviewId = busDrawingreviewReceiptsService.getInfoByReviewId(volumeFile.getId());
if(infoByReviewId != null && infoByReviewId.getApproveId()!=null){
vo.setIsWindow(false);
}
return vo;
}
/**
@ -200,6 +212,7 @@ public class DesVolumeFileServiceImpl extends ServiceImpl<DesVolumeFileMapper, D
if (!save) {
throw new ServiceException("新增卷册文件信息异常", HttpStatus.ERROR);
}
busDrawingreviewReceiptsService.createReceipts(volumeCatalog, desVolumeFiles);
return true;
}

View File

@ -12,11 +12,15 @@ 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.materials.domain.MatMaterialsInventory;
import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueCreateReq;
import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueQueryReq;
import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueUpdateReq;
import org.dromara.materials.domain.vo.materialissue.MatMaterialIssueVo;
import org.dromara.materials.domain.vo.materialreceiveitem.MatMaterialReceiveItemVo;
import org.dromara.materials.domain.vo.materialsinventory.MatMaterialsInventoryVo;
import org.dromara.materials.service.IMatMaterialIssueService;
import org.dromara.materials.service.IMatMaterialsInventoryService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -35,6 +39,8 @@ public class MatMaterialIssueController extends BaseController {
@Resource
private IMatMaterialIssueService matMaterialIssueService;
@Resource
private IMatMaterialsInventoryService materialsInventoryService;
/**
* 查询物料领料单列表
@ -102,4 +108,14 @@ public class MatMaterialIssueController extends BaseController {
@PathVariable Long[] ids) {
return toAjax(matMaterialIssueService.deleteByIds(List.of(ids)));
}
/**
* 查询出库记录列表
*/
@GetMapping("/inventory/list/{projectId}")
public R<List<MatMaterialsInventory>> inventoryList(@NotEmpty(message = "项目不能为空")
@PathVariable Long projectId) {
return R.ok(matMaterialIssueService.inventoryList(projectId));
}
}

View File

@ -74,4 +74,10 @@ public class MatMaterialIssueItem extends BaseEntity {
*/
private String remark;
/**
* 出入库id
*/
private Long inventoryId;
}

View File

@ -69,4 +69,9 @@ public class MatMaterialIssueItemDto {
*/
private String remark;
/**
* 出入库id
*/
private Long inventoryId;
}

View File

@ -72,4 +72,8 @@ public class MatMaterialIssueItemVo implements Serializable {
*/
private String remark;
/**
* 出入库id
*/
private Long inventoryId;
}

View File

@ -7,10 +7,12 @@ import jakarta.servlet.http.HttpServletResponse;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.materials.domain.MatMaterialIssue;
import org.dromara.materials.domain.MatMaterialsInventory;
import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueCreateReq;
import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueQueryReq;
import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueUpdateReq;
import org.dromara.materials.domain.vo.materialissue.MatMaterialIssueVo;
import org.dromara.materials.domain.vo.materialsinventory.MatMaterialsInventoryVo;
import java.util.Collection;
import java.util.List;
@ -103,4 +105,10 @@ public interface IMatMaterialIssueService extends IService<MatMaterialIssue> {
* @return 物料领料单分页对象视图
*/
Page<MatMaterialIssueVo> getVoPage(Page<MatMaterialIssue> materialIssuePage);
/**
* 查询出库记录列表
*/
List<MatMaterialsInventory> inventoryList(Long projectId);
}

View File

@ -1,7 +1,9 @@
package org.dromara.materials.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.deepoove.poi.XWPFTemplate;
@ -34,6 +36,7 @@ import org.dromara.materials.domain.dto.materialissueitem.MatMaterialIssueItemDt
import org.dromara.materials.domain.dto.materialissueitem.MatMaterialIssueItemWordDto;
import org.dromara.materials.domain.enums.MatMaterialsInventoryOutPutEnum;
import org.dromara.materials.domain.vo.materialissue.MatMaterialIssueVo;
import org.dromara.materials.domain.vo.materialsinventory.MatMaterialsInventoryVo;
import org.dromara.materials.mapper.MatMaterialIssueMapper;
import org.dromara.materials.service.IMatMaterialIssueItemService;
import org.dromara.materials.service.IMatMaterialIssueService;
@ -470,6 +473,19 @@ public class MatMaterialIssueServiceImpl extends ServiceImpl<MatMaterialIssueMap
return materialIssueVoPage;
}
@Override
public List<MatMaterialsInventory> inventoryList(Long projectId) {
List<MatMaterialIssueItem> list = materialIssueItemService.list(Wrappers.lambdaQuery(MatMaterialIssueItem.class)
.eq(MatMaterialIssueItem::getProjectId, 1));
List<Long> list1 = list.stream().map(MatMaterialIssueItem::getInventoryId).toList();
return materialsInventoryService.list(Wrappers.lambdaQuery(MatMaterialsInventory.class)
.notIn(CollectionUtil.isNotEmpty(list1),MatMaterialsInventory::getId, list1)
.eq(MatMaterialsInventory::getProjectId, projectId)
.eq(MatMaterialsInventory::getOutPut, "1")
);
}
/**
* 获取文件数量
*

View File

@ -94,6 +94,7 @@ public class TenderSupplierInputServiceImpl extends ServiceImpl<TenderSupplierIn
lqw.eq(StringUtils.isNotBlank(bo.getSupplierType()), TenderSupplierInput::getSupplierType, bo.getSupplierType());
lqw.eq(StringUtils.isNotBlank(bo.getInputFile()), TenderSupplierInput::getInputFile, bo.getInputFile());
lqw.like(StringUtils.isNotBlank(bo.getSupplierName()), TenderSupplierInput::getSupplierName, bo.getSupplierName());
lqw.like(StringUtils.isNotBlank(bo.getState()), TenderSupplierInput::getState, bo.getState());
return lqw;
}