This commit is contained in:
jing's 2024-01-21 22:16:37 +08:00
parent 5014614de7
commit f05ae31a57
5 changed files with 67 additions and 1 deletions

View File

@ -45,5 +45,9 @@ public interface OptionalMbomMaterialMapper extends BaseMapper<OptionalMbomMater
*/
List<OptionalMbomMaterialListVO> searchList(@Param("rowId") Long rowId );
List<OptionalMbomMaterialListVO> getRecursionList(@Param("rowId") Long rowId );
}

View File

@ -4,6 +4,7 @@ package com.nflg.product.bomnew.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.spring.SpringUtil;
import com.alibaba.excel.enums.BooleanEnum;
@ -723,7 +724,7 @@ public class BomNewPbomParentService extends ServiceImpl<BomNewPbomParentMapper,
List<BomNewPbomParentVO> allChild = getAllBom(bomRowId, 0);
if (StrUtil.isBlank(rootParent.getOrderNo())) {
String orderNo = crmService.getOrderNo(rootParent.getMaterialNo());
String orderNo = RandomUtil.randomNumbers(6);// crmService.getOrderNo(rootParent.getMaterialNo());
rootParent.setOrderNo(orderNo);
}
VUtils.isTure(StrUtil.isBlank(rootParent.getOrderNo())).throwMessage("没有获取到订单号");

View File

@ -104,10 +104,33 @@ public class OptionalMbomMaterialService extends ServiceImpl<OptionalMbomMateria
return collect.get(0);
}
private OptionalMbomMaterialListVO listToTree(Long rowId,List<OptionalMbomMaterialListVO> childs) {
if(CollectionUtil.isEmpty(childs)){
return null;
}
materialMainService.intiMaterialInfo(childs);
Map<Long, List<OptionalMbomMaterialListVO>> groupMap = childs.stream().collect(Collectors.groupingBy(OptionalMbomMaterialListVO::getParentRowId));
childs.forEach(child -> {
child.setChildNodes(groupMap.get(child.getRowId()));
});
//筛选出根
List<OptionalMbomMaterialListVO> collect = childs.stream().filter(item -> Objects.equals(rowId,item.getRowId())).collect(Collectors.toList());
return collect.get(0);
}
public Boolean importSap(Long rowId){
List<OptionalMbomMaterialListVO> list=this.baseMapper.getRecursionList(rowId);
OptionalMbomMaterialListVO parent=listToTree(rowId,list);
return true;
}

View File

@ -0,0 +1,17 @@
package com.nflg.product.bomnew.service.domain.OptionalMBom;
import com.nflg.product.bomnew.constant.BomConstant;
import com.nflg.product.bomnew.pojo.dto.sap.impart2.ImportSapParamDTO;
public class OpMBomImortSap {
public ImportSapParamDTO buildSap(){
ImportSapParamDTO result=new ImportSapParamDTO();
result.setZID(parent.getRowId().toString());
result.setI_WERKS(parent.getFacCode());
result.setI_STLAN(BomConstant.SAP_YDBOM);
}
}

View File

@ -83,6 +83,27 @@
, dd._ids )
</select>
<select id="getRecursionList" >
SELECT d.*
FROM (SELECT @ids AS _ids,
(SELECT @ids := GROUP_CONCAT( row_id )
FROM t_optional_mbom_material
WHERE FIND_IN_SET( parent_row_id, @ids )) AS cids FROM
t_optional_mbom_material,
( SELECT @ids := ( SELECT pu.row_id FROM t_optional_mbom_material pu WHERE pu.row_id = ${rowId}) ) b
WHERE
@ids IS NOT NULL
) dd
, t_optional_mbom_material d
WHERE
FIND_IN_SET( d.row_id
, dd._ids )
</select>
<update id="updateBackStatus" >
UPDATE t_bom_new_mbom_detail SET material_back_status=#{materialBackStatus},modify_time=now()