Merge branch 'refs/heads/feature/DM/nflg-bom' into feature/DM/nflg-bom-transition

This commit is contained in:
曹鹏飞 2024-05-26 17:24:12 +08:00
commit 376c3459b5
5 changed files with 76 additions and 17 deletions

View File

@ -256,7 +256,7 @@ public class DQBomApi extends BaseApi {
*/
@PostMapping("queryMaterials")
@ApiOperation("批量查询物料信息")
public ResultVO<List<BaseMaterialVO>> queryMaterials(@Valid @RequestBody @NotEmpty List<QueryMaterialsQuery> query) {
public ResultVO<List<QueryMaterialsVO>> queryMaterials(@Valid @RequestBody @NotEmpty List<QueryMaterialsQuery> query) {
return ResultVO.success(dQBomService.queryMaterials(query));
}
}

View File

@ -377,7 +377,7 @@ public class EbomApi extends BaseApi {
public ResultVO<BomNewEbomParentVO> temporary(@RequestBody BomNewEBomParentEditDTO dto) throws ExecutionException, InterruptedException {
checkDeleteRule(dto);
bomNewEbomParentService.deleteBomChild(dto.getDelDatas());
bomNewEbomParentService.deleteBomChild(dto.getDelDatas(), dto.getParent());
BomNewEbomParentVO temporary = bomNewEbomParentService.temporary(dto);
return ResultVO.success(temporary);
@ -388,7 +388,7 @@ public class EbomApi extends BaseApi {
@LogRecord(success = "Ebom-暂存添加,物料编码:{{#dto.parent.materialNo}}-版本:{{#dto.parent.currentVersion}},操作结果:{{#_ret.state}} {{#_ret.msg}}", bizNo = "{{#dto.parent.rowId}}", type = "Ebom-暂存添加")
public ResultVO<BomNewEbomParentVO> temporaryAdd(@RequestBody BomNewEBomParentEditDTO dto) throws ExecutionException, InterruptedException {
checkDeleteRule(dto);
bomNewEbomParentService.deleteBomChild(dto.getDelDatas());
bomNewEbomParentService.deleteBomChild(dto.getDelDatas(), dto.getParent());
BomNewEbomParentVO temporary = bomNewEbomParentService.temporary(dto);
// bomNewEbomParentService.getBaseMapper().updateRootForWaitReview();
return ResultVO.success(temporary);
@ -399,7 +399,7 @@ public class EbomApi extends BaseApi {
@LogRecord(success = "Ebom-提交添加,物料编码:{{#dto.parent.materialNo}}-版本:{{#dto.parent.currentVersion}},操作结果:{{#_ret.state}} {{#_ret.msg}}", bizNo = "{{#dto.parent.rowId}}", type = "Ebom-提交添加")
public ResultVO<Boolean> submitAdd(@RequestBody BomNewEBomParentEditDTO dto) throws ExecutionException, InterruptedException {
checkDeleteRule(dto);
bomNewEbomParentService.deleteBomChild(dto.getDelDatas());
bomNewEbomParentService.deleteBomChild(dto.getDelDatas(), dto.getParent());
return ResultVO.success(bomNewEbomParentService.submit(dto));
}
@ -409,7 +409,7 @@ public class EbomApi extends BaseApi {
@LogRecord(success = "Ebom-提交,物料编码:{{#dto.parent.materialNo}}-版本:{{#dto.parent.currentVersion}},操作结果:{{#_ret.state}} {{#_ret.msg}}", bizNo = "{{#dto.parent.rowId}}", type = "Ebom-提交")
public ResultVO<Boolean> submit(@RequestBody BomNewEBomParentEditDTO dto) throws ExecutionException, InterruptedException {
checkDeleteRule(dto);
bomNewEbomParentService.deleteBomChild(dto.getDelDatas());
bomNewEbomParentService.deleteBomChild(dto.getDelDatas(), dto.getParent());
return ResultVO.success(bomNewEbomParentService.submit(dto));
}
@ -464,7 +464,7 @@ public class EbomApi extends BaseApi {
*/
@PostMapping("queryMaterials")
@ApiOperation("批量查询物料信息")
public ResultVO<List<BaseMaterialVO>> queryMaterials(@Valid @RequestBody @NotEmpty List<QueryMaterialsQuery> query) {
public ResultVO<List<QueryMaterialsVO>> queryMaterials(@Valid @RequestBody @NotEmpty List<QueryMaterialsQuery> query) {
return ResultVO.success(bomNewEbomParentService.queryMaterials(query));
}

View File

@ -0,0 +1,56 @@
package com.nflg.product.bomnew.pojo.vo;
import com.nflg.product.base.core.conmon.util.SessionUtil;
import com.nflg.product.bomnew.constant.EBomStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
/**
* @author 曹鹏飞
* @date 2024/5/26 16:38:29
*/
@Data
@Accessors(chain = true)
public class QueryMaterialsVO extends BaseMaterialVO implements Serializable {
/**
* 设计人员名称
*/
@ApiModelProperty(value = "设计人员名称")
private String deviseName = SessionUtil.getRealName();
/**
* 设计维护部门名称
*/
@ApiModelProperty(value = "设计维护部门名称")
private String deptName = SessionUtil.getFullDeptName();
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private LocalDateTime createdTime = LocalDateTime.now();
/**
* 修改时间
*/
@ApiModelProperty(value = "修改时间")
private LocalDateTime modifyTime;
/**
* 版本过期时间=下个版本的创建时间
*/
@ApiModelProperty(value = "版本过期时间=下个版本的创建时间")
private LocalDateTime expireEndTime = LocalDateTime.parse("9999-12-31 23:59:59", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
/**
* 1=待复核2=已复核3=已退回4=定版已发布PBOM
*/
@ApiModelProperty(value = "1=待复核、2=已复核、3=已退回、4=定版已发布PBOM99=借用件 100=引用件")
private Integer status = EBomStatusEnum.CHECKED.getValue();
}

View File

@ -1977,7 +1977,7 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
* 从原始Bom导入的数据数据没有异常的情况下用户不可以删除
* 用户可以直接删除用户单击暂存或是提交时才会保存至数据库
*/
public void deleteBomChild(List<BomNewEbomParentVO> delList) {
public void deleteBomChild(List<BomNewEbomParentVO> delList, BomNewEbomParentVO parent) {
if (CollUtil.isEmpty(delList)) {
return;
}
@ -1990,12 +1990,15 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
List<BomNewEbomChildEntity> delTagList = new ArrayList<>();
//检查原始bom里过来数据是否包含正常数据
List<BomNewEbomChildEntity> check1List = delChildList.stream().filter(u -> Objects.equals(EBomSourceEnum.FROM_BOM.getValue(), u.getSource())
&& Objects.equals(u.getExceptionStatus(), EBomExceptionStatusEnum.OK.getValue())).collect(Collectors.toList());
if (CollUtil.isNotEmpty(check1List)) {
throw new NflgBusinessException(STATE.Error, StrUtil.format("从原始Bom导入的数据数据没有异常的情况下{} 不可以删除 ", StrUtil.join(",", check1List.stream().map(BomNewEbomChildEntity::getMaterialNo).collect(Collectors.toList()))));
}
// List<BomNewEbomChildEntity> check1List = delChildList.stream().filter(u -> Objects.equals(EBomSourceEnum.FROM_BOM.getValue(), u.getSource())
// && Objects.equals(u.getExceptionStatus(), EBomExceptionStatusEnum.OK.getValue())).collect(Collectors.toList());
//
// if (CollUtil.isNotEmpty(check1List)) {
// throw new NflgBusinessException(STATE.Error, StrUtil.format("从原始Bom导入的数据数据没有异常的情况下{} 不可以删除 ", StrUtil.join(",", check1List.stream().map(BomNewEbomChildEntity::getMaterialNo).collect(Collectors.toList()))));
// }
VUtils.isTure(parent.getMaterialNo().startsWith("31")
&& delChildList.stream().anyMatch(d -> !Objects.equals(d.getVirtualPartType(), VirtualPackageTypeEnum.UN_VIRTUAL_PACKAGE.getValue())))
.throwMessage("不能删除31码下的虚拟包");
//检查有bom数据关系是否可以删
// List<BomNewEbomParentVO> check2List = delList.stream().filter(u -> Objects.equals(EBomSourceEnum.FROM_BOM.getValue(), u.getSource())
@ -2361,7 +2364,7 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
return null;
}
public List<BaseMaterialVO> queryMaterials(List<QueryMaterialsQuery> query) {
public List<QueryMaterialsVO> queryMaterials(List<QueryMaterialsQuery> query) {
List<BaseMaterialVO> datas = new ArrayList<>();
List<String> keys = query.stream().map(QueryMaterialsQuery::getMaterialNo)
.filter(StrUtil::isNotBlank)
@ -2378,7 +2381,7 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
if (CollUtil.isNotEmpty(keys)) {
datas.addAll(SpringUtil.getBean(MaterialMainMapper.class).getMaterialByDrawingNo(keys));
}
return datas;
return Convert.toList(QueryMaterialsVO.class, datas);
}
public BomNewEbomParentEntity getLatestByMaterialNo(String materialNo) {

View File

@ -666,7 +666,7 @@ public class DQBomService {
return datas;
}
public List<BaseMaterialVO> queryMaterials(List<QueryMaterialsQuery> query) {
public List<QueryMaterialsVO> queryMaterials(List<QueryMaterialsQuery> query) {
List<BaseMaterialVO> datas = new ArrayList<>();
List<String> keys = query.stream().map(QueryMaterialsQuery::getMaterialNo)
.filter(StrUtil::isNotBlank)
@ -683,6 +683,6 @@ public class DQBomService {
if (CollUtil.isNotEmpty(keys)) {
datas.addAll(SpringUtil.getBean(MaterialMainMapper.class).getMaterialByDrawingNo(keys));
}
return datas;
return Convert.toList(QueryMaterialsVO.class, datas);
}
}