申请物料及BUG修复

This commit is contained in:
大米 2023-12-06 14:01:58 +08:00
parent 777f09771b
commit 33db073a57
9 changed files with 69 additions and 23 deletions

View File

@ -49,4 +49,7 @@ public class BaseMaterialVO {
*/
@ApiModelProperty(value = "材料")
private String material;
@ApiModelProperty("材质")
private String materialTexture;
}

View File

@ -85,11 +85,7 @@ public class BomNewEbomParentVO extends BaseMaterialVO implements Serializable {
@ApiModelProperty(value = "是否最新版 0-否 1-是")
private Integer lastVersionIs;
/**
* 材质
*/
@ApiModelProperty(value = "材质")
private String materialTexture;
/**
* 单重

View File

@ -112,7 +112,7 @@ public class BomOriginalListVO extends BaseMaterialVO {
/**
* 状态 1=待转换2=已转换3=借用件
*/
@ApiModelProperty(value = "状态 1=待转换、2=已转换、3=借用件")
@ApiModelProperty(value = "状态 1=待转换、2=已转换、3=借用件,4=引用件")
private Integer status;
/**

View File

@ -160,15 +160,15 @@ public class BomNewOriginalParentService extends ServiceImpl<BomNewOriginalParen
child.setLevelNum(parentEntity.getLevelNum());
child.setDeptName(parentEntity.getDeptName());
child.setSource(parentEntity.getSource());
if(child.equals(OriginalStatusEnum.OVER_CONVERT)){
if(parentEntity.getStatus().equals(OriginalStatusEnum.OVER_CONVERT)){
child.setStatus(OriginalStatusEnum.BORROWED_PARTS.getValue());
}
//非本人则为借用件
if (child.getCreatedBy().equals(SessionUtil.getUserCode()) && OriginalStatusEnum.UN_CONVERT.equalsValue(parentEntity.getStatus())) {
if (parentEntity.getCreatedBy().equals(SessionUtil.getUserCode()) && OriginalStatusEnum.UN_CONVERT.equalsValue(parentEntity.getStatus())) {
child.setStatus(OriginalStatusEnum.REFERENCE.getValue());
}
} else { //无BOM-版本时 确定版本号
child.setStatus(OriginalStatusEnum.UN_CONVERT.getValue());
child.setStatus(parent.getStatus());
child.setSource(Objects.nonNull(parent) ? parent.getSource() : OriginalSourceEnum.CAD_IMPORT.getValue());
child.setDeviseUserCode(parent.getDeviseUserCode());
child.setDeviseName(parent.getDeviseName());
@ -303,7 +303,7 @@ public class BomNewOriginalParentService extends ServiceImpl<BomNewOriginalParen
List<BomOriginalListVO> bomTree = getBomTree(bomRowId);
List<Long> delParentRowId = bomTree.stream().filter(u -> u.getCreatedBy().equals(SessionUtil.getUserCode()) && OriginalStatusEnum.UN_CONVERT.equalsValue(u.getStatus())).map(u -> u.getParentRowId()).collect(Collectors.toList());
List<Long> delParentRowId = bomTree.stream().filter(u ->OriginalStatusEnum.UN_CONVERT.equalsValue(u.getStatus()) ).map(u -> u.getParentRowId()).collect(Collectors.toList());
delParentRowId.add(bomRowId);
if (CollUtil.isNotEmpty(delParentRowId)) {
this.getBaseMapper().delBatch(delParentRowId);

View File

@ -122,7 +122,7 @@ public abstract class BaseConvert {
parentEntity.setStatus(OriginalStatusEnum.UN_CONVERT.getValue());
parentEntity.setEditStatus(OriginalEditStatusEnum.HANDLER_CREATED.getValue());
parentEntity.setDeptRowId(SessionUtil.getPartRowId());
parentEntity.setDeptName(SessionUtil.getSecondFullDeptName());
parentEntity.setDeptName(SessionUtil.getDepartName());
parentEntity.setSource(originalSourceEnum.getValue());
parentEntity.setCreatedBy(material.getCreatedBy());

View File

@ -4,6 +4,8 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.spring.SpringUtil;
import com.google.common.collect.ImmutableList;
import com.nflg.product.base.core.conmon.util.SessionUtil;
import com.nflg.product.bomnew.constant.OriginalStatusEnum;
import com.nflg.product.bomnew.pojo.entity.BomNewOriginalParentEntity;
import com.nflg.product.bomnew.pojo.vo.BomOriginalListVO;
import com.nflg.product.bomnew.service.BomNewOriginalParentService;
@ -59,6 +61,14 @@ public class OriginalBomDetailTask extends RecursiveTask<List<BomOriginalListVO>
detailVO.setChildBomRowId(bomNewOriginalParentEntity.getRowId());
detailVO.setBomRowId(bomNewOriginalParentEntity.getRowId());
if(bomNewOriginalParentEntity.getStatus().equals(OriginalStatusEnum.OVER_CONVERT)){
detailVO.setStatus(OriginalStatusEnum.BORROWED_PARTS.getValue());
}
//非本人则为借用件
if (bomNewOriginalParentEntity.getCreatedBy().equals(SessionUtil.getUserCode()) && OriginalStatusEnum.UN_CONVERT.equalsValue(bomNewOriginalParentEntity.getStatus())) {
detailVO.setStatus(OriginalStatusEnum.REFERENCE.getValue());
}
}
}
@ -82,7 +92,8 @@ public class OriginalBomDetailTask extends RecursiveTask<List<BomOriginalListVO>
result.addAll(bomDetail);
if (CollUtil.isNotEmpty(bomDetail)) {
levelNumAdd();
List<BomOriginalListVO> collect = bomDetail.stream().filter(u -> u.getStatus().equals(1)).collect(Collectors.toList());
levelNumAdd(collect.size());
List<Long> childBowIds = bomDetail.stream().filter(u-> u.getChildBomRowId()!=null && u.getChildBomRowId() > 0).map(u->u.getChildBomRowId()).collect(Collectors.toList());
if(CollUtil.isNotEmpty(childBowIds)) {
List<BomOriginalListVO> bom = SpringUtil.getBean(BomNewOriginalParentService.class).getBaseMapper().getParentChildBatch(childBowIds);
@ -99,7 +110,7 @@ public class OriginalBomDetailTask extends RecursiveTask<List<BomOriginalListVO>
}
public synchronized void levelNumAdd(){
levelNum++;
public synchronized void levelNumAdd(Integer num){
levelNum=levelNum+num;
}
}

View File

@ -62,7 +62,7 @@ public class OriginalBomToEBomConvert extends BaseConvert {
}
public void convert() {
checkData();
// checkData();
SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(ImmutableList.of(parent));
SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(bomDetail);

View File

@ -131,10 +131,20 @@ public class PlmBomToOriginalConvert extends BaseConvert {
{
BomNewOriginalParentEntity oBOM =getOriginalBomForMaterial(parent.getChartNo());
if(Objects.isNull(oBOM)){
BomNewOriginalParentEntity parentEntity = buildParentEntity(parent,"",originalSourceEnum);
if (StrUtil.isNotBlank(parent.getMaterialCategoryCode()) && parent.getMaterialCategoryCode().equals(OriginalConstant.COMMON_MATERIAL_CATEGORY_CODE) && CollUtil.isEmpty(childs)) {
handlerCommonMaterial(parentEntity);
// 一般零部件
if(StrUtil.isNotBlank(parent.getMaterialCategoryCode()) && parent.getMaterialCategoryCode().equals(OriginalConstant.COMMON_MATERIAL_CATEGORY_CODE) && CollUtil.isEmpty(childs)) {
// 有物料编码则通过规则匹配物料作为下级
if (StrUtil.isNotBlank(parent.getMaterialNo())) {
BomNewOriginalParentEntity parentEntity = buildParentEntity(parent, "", originalSourceEnum);
handlerCommonMaterial(parentEntity);
}
else { //无物料编码则通过规则找物料 找到则替换未找到则直接进库ebom 再处理
handlerCommonMaterialForReplace(parent);
BomNewOriginalParentEntity parentEntity = buildParentEntity(parent, "", originalSourceEnum);
}
}
else {
BomNewOriginalParentEntity parentEntity = buildParentEntity(parent, "", originalSourceEnum);
}
}
}
@ -149,10 +159,14 @@ public class PlmBomToOriginalConvert extends BaseConvert {
//通过规则- 获取子级物料
BomNewOriginalParentEntity originalBomForMaterial = getOriginalBomForMaterial(childVo.getChartNo());
List<BomNewOriginalParentEntity> parentResultOne = this.resultParent.stream().filter(u -> u.getDrawingNo().equals(childVo.getChartNo())).collect(Collectors.toList());
if (Objects.isNull(originalBomForMaterial) && CollUtil.isEmpty(parentResultOne) ) {
childVo.setCreatedBy(parentEntity.getCreatedBy());
BomNewOriginalParentEntity parentEntity1 = buildParentEntity(childVo, "",originalSourceEnum);
handlerCommonMaterial(parentEntity1);
if(StrUtil.isNotBlank(childVo.getMaterialNo())) {
if (Objects.isNull(originalBomForMaterial) && CollUtil.isEmpty(parentResultOne)) {
childVo.setCreatedBy(parentEntity.getCreatedBy());
BomNewOriginalParentEntity parentEntity1 = buildParentEntity(childVo, "", originalSourceEnum);
handlerCommonMaterial(parentEntity1);
}
}else {
handlerCommonMaterialForReplace(childVo);
}
buildChildEntity(childVo,parentEntity);
@ -184,6 +198,27 @@ public class PlmBomToOriginalConvert extends BaseConvert {
}
}
private void handlerCommonMaterialForReplace(BomOriginalPlmBomVO parentEntity) {
//通过规则获取物料编码
MaterialMateVO materialMate = getMaterialByRel(parentEntity);
//找到对应物料
if (Objects.nonNull(materialMate)) {
List<BaseMaterialVO> materialBaseInfo = SpringUtil.getBean(MaterialMainMapper.class).getMaterialBaseInfo(ImmutableList.of(materialMate.getMaterialNo()));
if (CollUtil.isNotEmpty(materialBaseInfo)) {
//根据物料编码-
BaseMaterialVO baseMaterialVO = materialBaseInfo.get(0);
parentEntity.setMaterialNo(baseMaterialVO.getMaterialNo());
parentEntity.setMaterialName(baseMaterialVO.getMaterialName());
parentEntity.setMaterialDesc(baseMaterialVO.getMaterialDesc());
parentEntity.setMaterialTexture(baseMaterialVO.getMaterialTexture());
}
}
}

View File

@ -71,6 +71,7 @@
<select id="getMaterialBaseInfo" resultType="com.nflg.product.bomnew.pojo.vo.BaseMaterialVO">
select row_id as materialRowId, material_no, material_name, material_desc, procure_type, project_type, material_state,drawing_no,material_category_code ,material_get_type,drawing_no
,material_texture as material ,material_texture
from t_material_main
where material_no in
<foreach collection="materialNos" item="item" open="(" close=")" separator=",">