fix: 原始bom列表支持查询最后一级数据
This commit is contained in:
parent
0b0368993d
commit
55db281e14
|
|
@ -11,4 +11,6 @@ public class OriginalConstant {
|
|||
public static final String COMMON_MATERIAL_CATEGORY_CODE = "200901";
|
||||
|
||||
public static final String NO_BOM_VERSION="A-1";
|
||||
|
||||
public static final String DEFAULT_BOM_VERSION="A00";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -153,20 +153,29 @@ public class BomNewOriginalParentService extends ServiceImpl<BomNewOriginalParen
|
|||
}
|
||||
}
|
||||
if (CollUtil.isNotEmpty(queryDrawingNos)) {
|
||||
List<BomNewOriginalParentEntity> materialBoms = this.lambdaQuery().in(BomNewOriginalParentEntity::getDrawingNo, queryDrawingNos).eq(BomNewOriginalParentEntity::getLastVersionIs, 1)
|
||||
.eq(BomNewOriginalParentEntity::getStatus, OriginalStatusEnum.UN_CONVERT.getValue()).list();
|
||||
if(query.getStatus().equals(1) && CollUtil.isEmpty(materialBoms)){
|
||||
return result;
|
||||
}
|
||||
// List<BomNewOriginalParentEntity> materialBoms = this.lambdaQuery().in(BomNewOriginalParentEntity::getDrawingNo, queryDrawingNos).eq(BomNewOriginalParentEntity::getLastVersionIs, 1)
|
||||
// .eq(BomNewOriginalParentEntity::getStatus, OriginalStatusEnum.UN_CONVERT.getValue()).list();
|
||||
// if(query.getStatus().equals(1) && CollUtil.isEmpty(materialBoms)){
|
||||
// return result;
|
||||
// }
|
||||
List<String> parentDrawingNos = new ArrayList<>(getParentDrawingNoByMaterialNo(queryDrawingNos));
|
||||
parentDrawingNos.addAll(queryDrawingNos);
|
||||
if (CollUtil.isNotEmpty(parentDrawingNos)) {
|
||||
List<BomOriginalListVO> parents = this.getBaseMapper().getParentForDrawingNoSeach(parentDrawingNos, query.getStatus());
|
||||
materialMainService.intiMaterialInfo(parents, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT);
|
||||
List<BomOriginalListVO> childs = this.getBaseMapper().getChildForDrawingNoSeach(parentDrawingNos,query.getStatus());
|
||||
List<BomOriginalListVO> data = new ArrayList<>();
|
||||
data.addAll(parents);
|
||||
data.addAll(childs);
|
||||
materialMainService.intiMaterialInfo(data, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT);
|
||||
materialMainService.intiMaterialInfo(childs, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT);
|
||||
childs.stream().filter(f -> StrUtil.isBlank(f.getCurrentVersion())).forEach(f -> {
|
||||
if (MaterialshouldBomExistUtil.checkShouldBomExist(f.getMaterialCategoryCode(), f.getMaterialGetType())) {
|
||||
f.setCurrentVersion(OriginalConstant.NO_BOM_VERSION);
|
||||
} else {
|
||||
f.setCurrentVersion(OriginalConstant.DEFAULT_BOM_VERSION);
|
||||
}
|
||||
});
|
||||
// List<BomOriginalListVO> data = new ArrayList<>();
|
||||
// data.addAll(parents);
|
||||
// data.addAll(childs);
|
||||
// materialMainService.intiMaterialInfo(data, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT);
|
||||
result = handSeachToTree(parents, childs);
|
||||
}
|
||||
}
|
||||
|
|
@ -486,11 +495,11 @@ public class BomNewOriginalParentService extends ServiceImpl<BomNewOriginalParen
|
|||
//开始转换
|
||||
for (BomNewOriginalParentEntity parent : bomNewOriginalParentEntities) {
|
||||
|
||||
if (!Objects.equals(parent.getCreatedBy(), SessionUtil.getUserCode())){
|
||||
importOriginalBomVOList.add(new ImportOriginalBomVO(parent.getDrawingNo(),"非本人创建"));
|
||||
log.warn(SessionUtil.getRealName()+"("+SessionUtil.getUserCode()+")转换原始bom("+parent.getRowId().toString()+")到ebom的操作被阻止");
|
||||
continue;
|
||||
}
|
||||
// if (!Objects.equals(parent.getCreatedBy(), SessionUtil.getUserCode())){
|
||||
// importOriginalBomVOList.add(new ImportOriginalBomVO(parent.getDrawingNo(),"非本人创建"));
|
||||
// log.warn(SessionUtil.getRealName()+"("+SessionUtil.getUserCode()+")转换原始bom("+parent.getRowId().toString()+")到ebom的操作被阻止");
|
||||
// continue;
|
||||
// }
|
||||
|
||||
LogRecordContext.putVariable("bom",parent);
|
||||
Long ebomRowId = IdWorker.getId();
|
||||
|
|
|
|||
|
|
@ -28,15 +28,12 @@ public class MaterialshouldBomExistUtil {
|
|||
}
|
||||
|
||||
public static boolean checkShouldBomExist(BaseMaterialVO material){
|
||||
|
||||
if(StrUtil.isNotBlank(material.getMaterialCategoryCode()) &&
|
||||
(material.getMaterialCategoryCode().startsWith("30") || material.getMaterialCategoryCode().equals(OriginalConstant.COMMON_MATERIAL_CATEGORY_CODE) ||
|
||||
( material.getMaterialCategoryCode().startsWith("20") && MaterialGetEnum.developing.equalsValue(material.getMaterialGetType()) ))){
|
||||
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
return checkShouldBomExist(material.getMaterialCategoryCode(), material.getMaterialGetType());
|
||||
}
|
||||
public static boolean checkShouldBomExist(String materialCategoryCode, Integer materialGetType){
|
||||
return StrUtil.isNotBlank(materialCategoryCode) &&
|
||||
(materialCategoryCode.startsWith("30") || materialCategoryCode.equals(OriginalConstant.COMMON_MATERIAL_CATEGORY_CODE) ||
|
||||
(materialCategoryCode.startsWith("20") && MaterialGetEnum.developing.equalsValue(materialGetType)));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -216,8 +216,9 @@
|
|||
<!--物料编码搜索-子级-->
|
||||
<select id="getChildForDrawingNoSeach" resultType="com.nflg.product.bomnew.pojo.vo.BomOriginalListVO">
|
||||
select if(#{state}=1 and c.status=2,3,c.status) as status ,c.current_version , c.created_by as bomCreatedBy
|
||||
,c.devise_name,c.devise_user_code,c.dept_name ,
|
||||
c.source, c.row_id as bomRowId, c.row_id as childBomRowId, b.*
|
||||
,IFNULL(c.devise_name,a.devise_name) as devise_name,IFNULL(c.devise_user_code,a.devise_user_code) AS devise_user_code
|
||||
,IFNULL(c.dept_name,a.dept_name) AS dept_name,IFNULL(c.source,a.source) AS source,IFNULL(c.row_id,"0") as bomRowId
|
||||
,IFNULL(c.row_id,"0") as childBomRowId, b.*
|
||||
from t_bom_new_original_parent a
|
||||
join t_bom_new_original_child b on a.row_id =b.parent_row_id
|
||||
left join t_bom_new_original_parent c on b.drawing_no=c.drawing_no and c.last_version_is=1
|
||||
|
|
|
|||
Loading…
Reference in New Issue