1.bug修复
This commit is contained in:
parent
2166a0a33f
commit
312004ee61
|
|
@ -140,12 +140,15 @@ public class OriginalBomApi extends BaseApi {
|
|||
return ResultVO.error("请上传Excel文件");
|
||||
}
|
||||
originalParentService.importBom(file);
|
||||
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() {
|
||||
@Override
|
||||
public void afterCommit() {
|
||||
originalParentService.computeLevelNumAndRootState();
|
||||
}
|
||||
});
|
||||
|
||||
//计算层级
|
||||
originalParentService.computeLevelNumAndRootState();
|
||||
// TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() {
|
||||
// @Override
|
||||
// public void afterCommit() {
|
||||
// originalParentService.computeLevelNumAndRootState();
|
||||
// }
|
||||
// });
|
||||
|
||||
return ResultVO.success(true);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,5 +16,5 @@ import java.util.List;
|
|||
public interface BomNewOriginalChildMapper extends BaseMapper<BomNewOriginalChildEntity> {
|
||||
|
||||
|
||||
void delOriginalChildNotInRowIds(@Param("rowIds")List<Long> rowIds);
|
||||
void delOriginalChildNotInRowIds(@Param("rowIds")List<Long> rowIds ,@Param("parentRowId") Long parentRowId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ import com.nflg.product.bomnew.service.domain.OriginalBom.OriginalBomDetailTask;
|
|||
import com.nflg.product.bomnew.service.domain.OriginalBom.OriginalBomToEBomConvert;
|
||||
import com.nflg.product.bomnew.service.domain.OriginalBom.PlmBomToOriginalConvert;
|
||||
import com.nflg.product.bomnew.util.*;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.map.LinkedMap;
|
||||
import org.bouncycastle.cert.dane.DANEEntry;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
|
|
@ -52,6 +53,7 @@ import java.util.stream.Stream;
|
|||
* @since 2023-11-09 09:23:14
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
public class BomNewOriginalParentService extends ServiceImpl<BomNewOriginalParentMapper, BomNewOriginalParentEntity> {
|
||||
|
||||
@Resource
|
||||
|
|
@ -110,8 +112,8 @@ public class BomNewOriginalParentService extends ServiceImpl<BomNewOriginalParen
|
|||
|
||||
if (CollUtil.isNotEmpty(childEntities)) {
|
||||
//删除行
|
||||
List<Long> delRowIds = bom.getBomList().stream().map(u->u.getRowId()).collect(Collectors.toList());
|
||||
originalChildService.getBaseMapper().delOriginalChildNotInRowIds(delRowIds);
|
||||
List<Long> delRowIds = bom.getBomList().stream().filter(u->u.getRowId()>0).map(u-> u.getRowId()).collect(Collectors.toList());
|
||||
originalChildService.getBaseMapper().delOriginalChildNotInRowIds(delRowIds,bom.getParentRowId());
|
||||
originalChildService.saveOrUpdateBatch(childEntities);
|
||||
}
|
||||
return true;
|
||||
|
|
@ -282,16 +284,14 @@ public class BomNewOriginalParentService extends ServiceImpl<BomNewOriginalParen
|
|||
*/
|
||||
public void computeLevelNumAndRootState() {
|
||||
//计算树的层级数
|
||||
CompletableFuture.runAsync(() -> {
|
||||
// CompletableFuture.runAsync(() -> {
|
||||
try {
|
||||
this.compucteLevelNum();
|
||||
this.getBaseMapper().updateRootState();
|
||||
} catch (ExecutionException e) {
|
||||
throw new RuntimeException(e);
|
||||
} catch (InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
} catch (Exception e) {
|
||||
log.info("计算层级出错:"+e.getMessage());
|
||||
}
|
||||
});
|
||||
// });
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -390,8 +390,8 @@ public class BomNewOriginalParentService extends ServiceImpl<BomNewOriginalParen
|
|||
VUtils.isTure(CollUtil.isNotEmpty(noLevelNo)).throwMessage(StrUtil.join(",",noLevelNo )+"层次为空");
|
||||
List<Integer> noDrawingNo = excelContext.stream().filter(u -> StrUtil.isBlank(u.getChartNo())).map(u->u.getRowNum()).collect(Collectors.toList());
|
||||
VUtils.isTure(CollUtil.isNotEmpty(noDrawingNo)).throwMessage(StrUtil.join(",",noDrawingNo )+"图号为空");
|
||||
List<Integer> noNum = excelContext.stream().filter(u -> Objects.isNull(u.getQty())).map(u->u.getRowNum()).collect(Collectors.toList());
|
||||
VUtils.isTure(CollUtil.isNotEmpty(noNum)).throwMessage( StrUtil.join(",",noNum )+"数量为空");
|
||||
// List<Integer> noNum = excelContext.stream().filter(u -> Objects.isNull(u.getQty())).map(u->u.getRowNum()).collect(Collectors.toList());
|
||||
// VUtils.isTure(CollUtil.isNotEmpty(noNum)).throwMessage( StrUtil.join(",",noNum )+"数量为空");
|
||||
|
||||
for (BomNewOriginalExcelDTO data : excelContext) {
|
||||
List<BomNewOriginalExcelDTO> parentData = excelContext.stream().filter(u -> u.getLevelNo().equals(data.getLevelNo() - 1) && u.getRowNum() < data.getRowNum())
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public class MaterialMateCache {
|
|||
}
|
||||
Pattern p = Pattern.compile(namePattern);
|
||||
Pattern p2 = Pattern.compile(texturePattern);
|
||||
if(p.matcher(mate.getMaterialName()).find() && p2.matcher(mate.getMaterialTexture()).find()){
|
||||
if(p.matcher(materialName).find() && p2.matcher(materialTexture).find()){
|
||||
return mate;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ public abstract class BaseConvert {
|
|||
parentEntity.setEditStatus(OriginalEditStatusEnum.HANDLER_CREATED.getValue());
|
||||
parentEntity.setDeptRowId(SessionUtil.getPartRowId());
|
||||
parentEntity.setDeptName(SessionUtil.getDepartName());
|
||||
|
||||
parentEntity.setRemark(material.getRemark());
|
||||
parentEntity.setSource(originalSourceEnum.getValue());
|
||||
parentEntity.setCreatedBy(SessionUtil.getUserCode());
|
||||
parentEntity.setCreatedTime(LocalDateTime.now());
|
||||
|
|
@ -154,6 +154,7 @@ public abstract class BaseConvert {
|
|||
childEntity.setUnitWeight(material.getWeight());
|
||||
childEntity.setNum(Convert.toBigDecimal(material.getQty()) );
|
||||
childEntity.setCreatedBy(SessionUtil.getUserCode());
|
||||
childEntity.setRemark(material.getRemark());
|
||||
this.resultChild.add(childEntity);
|
||||
return childEntity;
|
||||
|
||||
|
|
|
|||
|
|
@ -81,11 +81,11 @@ public class PlmBomToOriginalConvert extends BaseConvert {
|
|||
//沒有原始BOM
|
||||
if (Objects.isNull(originalBom)) {
|
||||
BomNewOriginalParentEntity parentEntity = buildParentEntity(parent, "",originalSourceEnum);
|
||||
if (StrUtil.isNotBlank(parent.getMaterialCategoryCode()) && parent.getMaterialCategoryCode().equals(OriginalConstant.COMMON_MATERIAL_CATEGORY_CODE) && CollUtil.isEmpty(childs)) {
|
||||
handlerCommonMaterial(parentEntity);
|
||||
} else {
|
||||
// if (StrUtil.isNotBlank(parent.getMaterialCategoryCode()) && parent.getMaterialCategoryCode().equals(OriginalConstant.COMMON_MATERIAL_CATEGORY_CODE) && CollUtil.isEmpty(childs)) {
|
||||
// handlerCommonMaterial(parentEntity);
|
||||
// } else {
|
||||
handlerChild(parentEntity,originalSourceEnum);
|
||||
}
|
||||
// }
|
||||
} else { //有原始BOM
|
||||
//草稿状态
|
||||
if (OriginalStatusEnum.UN_CONVERT.equalsValue(originalBom.getStatus())) {
|
||||
|
|
@ -157,15 +157,16 @@ public class PlmBomToOriginalConvert extends BaseConvert {
|
|||
//一般零部件
|
||||
if (StrUtil.isNotBlank(childVo.getMaterialCategoryCode()) && childVo.getMaterialCategoryCode().equals(OriginalConstant.COMMON_MATERIAL_CATEGORY_CODE)) {
|
||||
//通过规则- 获取子级物料
|
||||
BomNewOriginalParentEntity originalBomForMaterial = getOriginalBomForMaterial(childVo.getChartNo());
|
||||
List<BomNewOriginalParentEntity> parentResultOne = this.resultParent.stream().filter(u -> u.getDrawingNo().equals(childVo.getChartNo())).collect(Collectors.toList());
|
||||
if(StrUtil.isNotBlank(childVo.getMaterialNo())) {
|
||||
if (Objects.isNull(originalBomForMaterial) && CollUtil.isEmpty(parentResultOne)) {
|
||||
childVo.setCreatedBy(parentEntity.getCreatedBy());
|
||||
BomNewOriginalParentEntity parentEntity1 = buildParentEntity(childVo, "", originalSourceEnum);
|
||||
handlerCommonMaterial(parentEntity1);
|
||||
}
|
||||
}else {
|
||||
// BomNewOriginalParentEntity originalBomForMaterial = getOriginalBomForMaterial(childVo.getChartNo());
|
||||
// List<BomNewOriginalParentEntity> parentResultOne = this.resultParent.stream().filter(u -> u.getDrawingNo().equals(childVo.getChartNo())).collect(Collectors.toList());
|
||||
// if(StrUtil.isNotBlank(childVo.getMaterialNo())) {
|
||||
// if (Objects.isNull(originalBomForMaterial) && CollUtil.isEmpty(parentResultOne)) {
|
||||
// childVo.setCreatedBy(parentEntity.getCreatedBy());
|
||||
// BomNewOriginalParentEntity parentEntity1 = buildParentEntity(childVo, "", originalSourceEnum);
|
||||
// handlerCommonMaterial(parentEntity1);
|
||||
// }
|
||||
// }else
|
||||
if(StrUtil.isBlank(childVo.getMaterialNo())) {
|
||||
handlerCommonMaterialForReplace(childVo);
|
||||
}
|
||||
buildChildEntity(childVo,parentEntity);
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
|
||||
<delete id="delOriginalChildNotInRowIds">
|
||||
delete from t_bom_new_original_child where row_id not in
|
||||
delete from t_bom_new_original_child where parent_row_id=#{parentRowId} and row_id not in
|
||||
<foreach collection="rowIds" item="rowId" open="(" separator="," close=")">
|
||||
#{rowId}
|
||||
</foreach>
|
||||
|
|
|
|||
Loading…
Reference in New Issue