Merge branch 'refs/heads/feature/DM/nflg-bom' into dev
This commit is contained in:
commit
d4f7978ae9
|
|
@ -289,10 +289,10 @@ public class EbomApi extends BaseApi {
|
|||
return ResultVO.success(true);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("editDetail")
|
||||
@ApiOperation("编辑物料列表")
|
||||
public ResultVO<BomNewEbomEditDetailVO> editDetail(@RequestParam("rowId") Long rowId, @RequestParam("bomRowId") Long bomRowId, @RequestParam("projectType") String projectType) {
|
||||
public ResultVO<BomNewEbomEditDetailVO> editDetail(@RequestParam("rowId") Long rowId, @RequestParam("bomRowId") Long bomRowId
|
||||
, @RequestParam("projectType") String projectType, @RequestParam(value = "hideVirtualPackage", defaultValue = "0") Integer hideVirtualPackage) {
|
||||
if (Objects.isNull(rowId)) {
|
||||
VUtils.isTure(true).throwMessage("rowId 不能为空");
|
||||
}
|
||||
|
|
@ -300,7 +300,7 @@ public class EbomApi extends BaseApi {
|
|||
VUtils.isTure(true).throwMessage("bomRowId不能为空");
|
||||
}
|
||||
|
||||
return ResultVO.success(bomNewEbomParentService.editDetail(rowId, bomRowId, projectType));
|
||||
return ResultVO.success(bomNewEbomParentService.editDetail(rowId, bomRowId, projectType, hideVirtualPackage));
|
||||
}
|
||||
|
||||
@PostMapping("updateProjectType")
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ public interface BomNewDQbomParentMapper extends BaseMapper<BomNewDQbomParentEnt
|
|||
|
||||
BomNewDQbomVO getRootBomByRowId(Long rootBomRowId);
|
||||
|
||||
List<BomNewDQbomVO> getChildren(Long bomRowId);
|
||||
// List<BomNewDQbomVO> getChildren(Long bomRowId);
|
||||
|
||||
List<BomNewDQbomVO> getBom(int status, String materialNo, String drawingNo, String materialName);
|
||||
|
||||
|
|
|
|||
|
|
@ -1537,11 +1537,11 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
|
|||
return true;
|
||||
}
|
||||
|
||||
public BomNewEbomEditDetailVO editDetail(Long rowId, Long bomRowId, String projectType) {
|
||||
public BomNewEbomEditDetailVO editDetail(Long rowId, Long bomRowId, String projectType, Integer hideVirtualPackage) {
|
||||
|
||||
BomNewEbomEditDetailVO vo = new BomNewEbomEditDetailVO();
|
||||
BomNewEbomParentVO parentVO;
|
||||
if (bomRowId == null || bomRowId.longValue() == 0) {
|
||||
if (bomRowId == null || bomRowId == 0) {
|
||||
|
||||
BomNewEbomChildEntity child = SpringUtil.getBean(BomNewEbomChildService.class).getBaseMapper().selectById(rowId);
|
||||
|
||||
|
|
@ -1553,8 +1553,7 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
|
|||
|| parentVO.getMaterialCategoryCode().equals("7013")) {
|
||||
;
|
||||
} else {
|
||||
VUtils.isTure(true).throwMessage("编辑条件需满足,1.存在下级物料或是缺BOM 2.物料的分类20且流程类型为外协和采购部分\n" +
|
||||
" 3.分类70中的7013时的物料 ");
|
||||
VUtils.isTure(true).throwMessage("编辑条件需满足<br/>1.存在下级物料或是缺BOM<br/>2.物料的分类20且流程类型为外协和采购部分<br/>3.分类70中的7013时的物料 ");
|
||||
}
|
||||
vo.setDatas(new ArrayList<>());
|
||||
} else {
|
||||
|
|
@ -1566,7 +1565,17 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
|
|||
parentVO.setParentRowId(0L);
|
||||
parentVO.setChildBomRowId(rowId);
|
||||
materialMainService.intiMaterialInfo(ImmutableList.of(parentVO), EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT2);
|
||||
vo.setDatas(getChild(bomRowId));
|
||||
List<BomNewEbomParentVO> childList = getChild(bomRowId);
|
||||
if (hideVirtualPackage == 1) {
|
||||
List<BomNewEbomParentVO> virtualPackageList = childList.stream()
|
||||
.filter(c -> c.getVirtualPackageIs() == 1 && c.getBomRowId() > 0)
|
||||
.collect(Collectors.toList());
|
||||
virtualPackageList.forEach(v -> {
|
||||
childList.remove(v);
|
||||
childList.addAll(getChild(v.getBomRowId()));
|
||||
});
|
||||
}
|
||||
vo.setDatas(childList);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -375,7 +375,8 @@ public class DQBomService {
|
|||
|
||||
private void getChildren(List<BomNewDQbomVO> datas, BomNewDQbomVO parent) {
|
||||
if (Objects.isNull(parent) || parent.getBomRowId() == 0) return;
|
||||
List<BomNewDQbomVO> cc = dQBomParentService.getBaseMapper().getChildren(parent.getBomRowId());
|
||||
//List<BomNewDQbomVO> cc = dQBomParentService.getBaseMapper().getChildren(parent.getBomRowId());
|
||||
List<BomNewDQbomVO> cc = getChild(parent.getBomRowId());
|
||||
if (CollUtil.isNotEmpty(cc)) {
|
||||
cc.forEach(c -> {
|
||||
c.setParentMaterialNo(parent.getMaterialNo());
|
||||
|
|
|
|||
|
|
@ -255,11 +255,13 @@ public class EBomEdit {
|
|||
}
|
||||
materialNos.add(dto.getParent().getMaterialNo());
|
||||
//检查物料编码是否在主数据中存在
|
||||
List<BaseMaterialVO> materialBaseInfo = SpringUtil.getBean(MaterialMainService.class).getMaterialBaseInfo(materialNos);
|
||||
List<String> effectiveMaterialNos = materialBaseInfo.stream().map(u -> u.getMaterialNo()).collect(Collectors.toList());
|
||||
Set<String> difference = Sets.difference(new HashSet<>(materialNos), new HashSet<>(effectiveMaterialNos));
|
||||
VUtils.isTure(CollUtil.isNotEmpty(difference)).throwMessage(StrUtil.join(",", difference) + "在物料主数据中不存在");
|
||||
|
||||
//暂存不需检查,提交时检查
|
||||
if(ObjectUtil.equal(EbomEditStatusEnum.HANDLER_FINISHED.getValue(),dto.getOpType())) {
|
||||
List<BaseMaterialVO> materialBaseInfo = SpringUtil.getBean(MaterialMainService.class).getMaterialBaseInfo(materialNos);
|
||||
List<String> effectiveMaterialNos = materialBaseInfo.stream().map(u -> u.getMaterialNo()).collect(Collectors.toList());
|
||||
Set<String> difference = Sets.difference(new HashSet<>(materialNos), new HashSet<>(effectiveMaterialNos));
|
||||
VUtils.isTure(CollUtil.isNotEmpty(difference)).throwMessage(StrUtil.join(",", difference) + "在物料主数据中不存在");
|
||||
}
|
||||
|
||||
//检查数据是否可修改
|
||||
List<BomNewEbomParentVO> notNullRowIdList= dto.getDatas().stream().filter(u->u.getRowId()!=null && u.getRowId()>0).collect(Collectors.toList());
|
||||
|
|
|
|||
Loading…
Reference in New Issue