fix: 修复原始bom精确搜索问题
This commit is contained in:
parent
efd58784e7
commit
376bf37de1
|
|
@ -8,6 +8,7 @@ import com.nflg.product.bomnew.pojo.vo.BomOriginalListVO;
|
|||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* t_bom_new_original_parent 表数据库访问层
|
||||
|
|
@ -57,9 +58,9 @@ public interface BomNewOriginalParentMapper extends BaseMapper<BomNewOriginalPar
|
|||
* @param InHasConvertBomIs
|
||||
* @return
|
||||
*/
|
||||
List<BomOriginalListVO> getParentForDrawingNoSeach(@Param("drawingNos") List<String> drawingNos ,@Param("state") Integer state);
|
||||
List<BomOriginalListVO> getParentForDrawingNoSeach(@Param("drawingNos") Set<String> drawingNos, @Param("state") Integer state);
|
||||
|
||||
List<BomOriginalListVO> getChildForDrawingNoSeach(@Param("drawingNos") List<String> drawingNos,@Param("state") Integer state);
|
||||
List<BomOriginalListVO> getChildForDrawingNoSeach(@Param("drawingNos") Set<String> drawingNos, @Param("state") Integer state);
|
||||
|
||||
|
||||
void resetBomExist(Long rowId);
|
||||
|
|
|
|||
|
|
@ -157,18 +157,13 @@ 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<String> parentDrawingNos = new ArrayList<>(getParentDrawingNoByMaterialNo(queryDrawingNos));
|
||||
Set<String> parentDrawingNos = new HashSet<>(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);
|
||||
materialMainService.intiMaterialInfo(parents, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT2);
|
||||
List<BomOriginalListVO> childs = this.getBaseMapper().getChildForDrawingNoSeach(parentDrawingNos,query.getStatus());
|
||||
materialMainService.intiMaterialInfo(childs, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT);
|
||||
materialMainService.intiMaterialInfo(childs, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT2);
|
||||
childs.stream().filter(f -> StrUtil.isBlank(f.getCurrentVersion())).forEach(f -> {
|
||||
if (MaterialshouldBomExistUtil.checkShouldBomExist(f.getMaterialCategoryCode(), f.getMaterialGetType())) {
|
||||
f.setCurrentVersion(OriginalConstant.NO_BOM_VERSION);
|
||||
|
|
@ -176,10 +171,6 @@ public class BomNewOriginalParentService extends ServiceImpl<BomNewOriginalParen
|
|||
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);
|
||||
}
|
||||
}
|
||||
|
|
@ -194,7 +185,6 @@ public class BomNewOriginalParentService extends ServiceImpl<BomNewOriginalParen
|
|||
return result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 编辑时-暂存
|
||||
*
|
||||
|
|
@ -274,7 +264,6 @@ public class BomNewOriginalParentService extends ServiceImpl<BomNewOriginalParen
|
|||
} else {
|
||||
child.setCurrentVersion(parentEntity.getCurrentVersion());
|
||||
}
|
||||
child.setStatus(parentEntity.getStatus());
|
||||
child.setDeviseName(parentEntity.getDeviseName());
|
||||
child.setDeviseUserCode(parentEntity.getDeviseUserCode());
|
||||
// child.setCreatedBy(parentEntity.getCreatedBy());
|
||||
|
|
@ -285,7 +274,8 @@ public class BomNewOriginalParentService extends ServiceImpl<BomNewOriginalParen
|
|||
child.setLevelNum(parentEntity.getLevelNum());
|
||||
child.setDeptName(parentEntity.getDeptName());
|
||||
child.setSource(parentEntity.getSource());
|
||||
if (parentEntity.getStatus().equals(OriginalStatusEnum.OVER_CONVERT.getValue())) {
|
||||
if (Objects.equals(parent.getStatus(), OriginalStatusEnum.UN_CONVERT.getValue())
|
||||
&& !parentEntity.getStatus().equals(OriginalStatusEnum.UN_CONVERT.getValue())) {
|
||||
child.setStatus(OriginalStatusEnum.BORROWED_PARTS.getValue());
|
||||
}
|
||||
//非本人则为借用件
|
||||
|
|
|
|||
|
|
@ -182,7 +182,7 @@
|
|||
<foreach collection="materialNos" item="materialNo" open="(" separator="," close=")">
|
||||
#{materialNo}
|
||||
</foreach>
|
||||
union all
|
||||
union
|
||||
select drawing_no from t_bom_new_original_parent where material_no in
|
||||
<foreach collection="materialNos" item="materialNo" open="(" separator="," close=")">
|
||||
#{materialNo}
|
||||
|
|
@ -192,37 +192,25 @@
|
|||
|
||||
<!--物料编码搜索-父级-->
|
||||
<select id="getParentForDrawingNoSeach" resultType="com.nflg.product.bomnew.pojo.vo.BomOriginalListVO">
|
||||
SELECT if(#{state}=1 and status=2,3,status) as status, created_by as bomCreatedBy , row_id as bomRowId, row_id as childBomRowId, a.*
|
||||
FROM t_bom_new_original_parent a where 1=1
|
||||
<!-- <if test="state==1">-->
|
||||
<!-- and a.last_version_is=1-->
|
||||
<!-- <if test="InHasConvertBomIs">-->
|
||||
<!-- and a.status=1-->
|
||||
<!-- </if>-->
|
||||
<!-- </if>-->
|
||||
<if test="state==2">
|
||||
and current_version in ( select current_version from t_bom_new_original_parent where status >1 and drawing_no in
|
||||
<foreach collection="drawingNos" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
)
|
||||
</if>
|
||||
and drawing_no in
|
||||
SELECT status,row_id as bomRowId, row_id as childBomRowId, a.*
|
||||
FROM t_bom_new_original_parent a
|
||||
where status=#{state}
|
||||
and drawing_no in
|
||||
<foreach collection="drawingNos" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
order by created_time desc
|
||||
order by row_id desc
|
||||
</select>
|
||||
<!--物料编码搜索-子级-->
|
||||
<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
|
||||
select IFNULL(IF(a.`status`=1 and c.`status`!=1,3,c.`status`),a.`status`) `status`,c.current_version
|
||||
,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
|
||||
where a.last_version_is=1 and b.drawing_no in
|
||||
left join t_bom_new_original_parent c on b.drawing_no=c.drawing_no
|
||||
where b.`status` = #{state} and b.drawing_no in
|
||||
<foreach collection="drawingNos" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
|
|
|
|||
Loading…
Reference in New Issue