copy正式发布数据
This commit is contained in:
parent
5ee6c4bf45
commit
e32c469cad
|
|
@ -1,61 +1,80 @@
|
|||
package com.nflg.product.bomnew.service;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.lang.TypeReference;
|
||||
import cn.hutool.core.thread.ThreadUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.extra.spring.SpringUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.nflg.product.base.core.conmon.util.SessionUtil;
|
||||
import com.nflg.product.base.core.exception.NflgBusinessException;
|
||||
import com.nflg.product.bomnew.constant.*;
|
||||
import com.nflg.product.bomnew.mapper.master.BomNewEbomParentFormalMapper;
|
||||
import com.nflg.product.bomnew.mapper.master.BomNewEbomParentMapper;
|
||||
import com.nflg.product.bomnew.pojo.dto.*;
|
||||
import com.nflg.product.bomnew.pojo.entity.*;
|
||||
import com.nflg.product.bomnew.pojo.query.BomNewEbomMaterialQuery;
|
||||
import com.nflg.product.bomnew.pojo.query.BomNewEbomParentQuery;
|
||||
import com.nflg.product.bomnew.pojo.vo.*;
|
||||
import com.nflg.product.bomnew.service.domain.EBom.*;
|
||||
import com.nflg.product.bomnew.util.*;
|
||||
import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildEntity;
|
||||
import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildFormalEntity;
|
||||
import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentEntity;
|
||||
import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentFormalEntity;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import nflg.product.common.constant.STATE;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.ttzero.excel.entity.ListSheet;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.ForkJoinPool;
|
||||
import java.util.concurrent.ForkJoinTask;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
|
||||
@Service
|
||||
@Slf4j
|
||||
public class BomNewEbomParentFormalService extends ServiceImpl<BomNewEbomParentFormalMapper, BomNewEbomParentFormalEntity> {
|
||||
|
||||
|
||||
public void copyEbomFormal(Long eBomRowId) {
|
||||
|
||||
|
||||
List<Long> bomListId = new ArrayList<>();
|
||||
bomListId.add(eBomRowId);
|
||||
List<BomNewEbomParentFormalEntity> parentFormalList = new ArrayList<>();
|
||||
List<BomNewEbomChildFormalEntity> childFormalList = new ArrayList<>();
|
||||
|
||||
while (!bomListId.isEmpty()) {
|
||||
QueryWrapper<BomNewEbomParentEntity> queryWrapper1 = new QueryWrapper<>();
|
||||
queryWrapper1.lambda().in(BomNewEbomParentEntity::getRowId, bomListId);
|
||||
|
||||
List<BomNewEbomParentEntity> parentEntityList = SpringUtil.getBean(BomNewEbomParentService.class).list(queryWrapper1);
|
||||
if (CollUtil.isEmpty(parentEntityList)) {
|
||||
break;
|
||||
}
|
||||
|
||||
parentFormalList.addAll(Convert.convert(new TypeReference<List<BomNewEbomParentFormalEntity>>() {
|
||||
}, parentEntityList));
|
||||
|
||||
//查询子级
|
||||
QueryWrapper<BomNewEbomChildEntity> queryWrapper2 = new QueryWrapper<>();
|
||||
queryWrapper2.lambda().in(BomNewEbomChildEntity::getParentRowId, bomListId);
|
||||
|
||||
List<BomNewEbomChildEntity> childEntityList = SpringUtil.getBean(BomNewEbomChildService.class).list(queryWrapper2);
|
||||
|
||||
if (CollUtil.isEmpty(childEntityList)) {
|
||||
break;
|
||||
}
|
||||
|
||||
childFormalList.addAll(Convert.convert(new TypeReference<List<BomNewEbomChildFormalEntity>>() {
|
||||
}, childEntityList));
|
||||
|
||||
bomListId.clear();
|
||||
|
||||
List<Long> nextBomId = childEntityList.stream().filter(u -> u.getBomVersionRowId() != null && u.getBomVersionRowId() > 0).map(BomNewEbomChildEntity::getBomVersionRowId).collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(nextBomId)) {
|
||||
bomListId.addAll(nextBomId);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (CollUtil.isNotEmpty(parentFormalList)) {
|
||||
this.saveOrUpdateBatch(parentFormalList);
|
||||
// System.out.println(JSON.toJSONString( parentFormalList));
|
||||
}
|
||||
if (CollUtil.isNotEmpty(childFormalList)) {
|
||||
// System.out.println(JSON.toJSONString( childFormalList));
|
||||
SpringUtil.getBean(BomNewEbomChildFormalService.class).saveOrUpdateBatch(childFormalList);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,53 +3,80 @@ 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.StrUtil;
|
||||
import cn.hutool.core.lang.TypeReference;
|
||||
import cn.hutool.extra.spring.SpringUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.nflg.product.base.core.conmon.util.SessionUtil;
|
||||
import com.nflg.product.base.core.exception.NflgBusinessException;
|
||||
import com.nflg.product.bomnew.constant.*;
|
||||
import com.nflg.product.bomnew.mapper.master.BomNewPbomParentFormalMapper;
|
||||
import com.nflg.product.bomnew.mapper.master.BomNewPbomParentMapper;
|
||||
import com.nflg.product.bomnew.pojo.dto.*;
|
||||
import com.nflg.product.bomnew.pojo.dto.sap.impart2.ImportSapParamDTO;
|
||||
import com.nflg.product.bomnew.pojo.entity.*;
|
||||
import com.nflg.product.bomnew.pojo.query.BomNewPbomParentQuery;
|
||||
import com.nflg.product.bomnew.pojo.vo.*;
|
||||
import com.nflg.product.bomnew.service.domain.PBom.*;
|
||||
import com.nflg.product.bomnew.service.domain.Sap;
|
||||
import com.nflg.product.bomnew.util.*;
|
||||
import nflg.product.common.constant.STATE;
|
||||
import nflg.product.common.vo.ResultVO;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import com.nflg.product.bomnew.pojo.entity.BomNewPbomChildEntity;
|
||||
import com.nflg.product.bomnew.pojo.entity.BomNewPbomChildFormalEntity;
|
||||
import com.nflg.product.bomnew.pojo.entity.BomNewPbomParentEntity;
|
||||
import com.nflg.product.bomnew.pojo.entity.BomNewPbomParentFormalEntity;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.ttzero.excel.entity.Workbook;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.ForkJoinPool;
|
||||
import java.util.concurrent.ForkJoinTask;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
|
||||
@Service
|
||||
public class BomNewPbomParentFormalService extends ServiceImpl<BomNewPbomParentFormalMapper , BomNewPbomParentFormalEntity> {
|
||||
public class BomNewPbomParentFormalService extends ServiceImpl<BomNewPbomParentFormalMapper, BomNewPbomParentFormalEntity> {
|
||||
|
||||
|
||||
/**
|
||||
* 拷贝pbom已发布数
|
||||
*/
|
||||
public void copyPbomFormal(Long pBomRowId) {
|
||||
|
||||
List<Long> bomListId = new ArrayList<>();
|
||||
bomListId.add(pBomRowId);
|
||||
List<BomNewPbomParentFormalEntity> parentFormalList = new ArrayList<>();
|
||||
List<BomNewPbomChildFormalEntity> childFormalList = new ArrayList<>();
|
||||
|
||||
while (!bomListId.isEmpty()) {
|
||||
QueryWrapper<BomNewPbomParentEntity> queryWrapper1 = new QueryWrapper<>();
|
||||
queryWrapper1.lambda().in(BomNewPbomParentEntity::getRowId, bomListId);
|
||||
|
||||
List<BomNewPbomParentEntity> parentEntityList = SpringUtil.getBean(BomNewPbomParentService.class).list(queryWrapper1);
|
||||
if (CollUtil.isEmpty(parentEntityList)) {
|
||||
break;
|
||||
}
|
||||
|
||||
parentFormalList.addAll(Convert.convert(new TypeReference<List<BomNewPbomParentFormalEntity>>() {
|
||||
}, parentEntityList));
|
||||
|
||||
//查询子级
|
||||
QueryWrapper<BomNewPbomChildEntity> queryWrapper2 = new QueryWrapper<>();
|
||||
queryWrapper2.lambda().in(BomNewPbomChildEntity::getParentRowId, bomListId);
|
||||
|
||||
List<BomNewPbomChildEntity> childEntityList = SpringUtil.getBean(BomNewPbomChildService.class).list(queryWrapper2);
|
||||
|
||||
if (CollUtil.isEmpty(childEntityList)) {
|
||||
break;
|
||||
}
|
||||
|
||||
childFormalList.addAll(Convert.convert(new TypeReference<List<BomNewPbomChildFormalEntity>>() {
|
||||
}, childEntityList));
|
||||
|
||||
bomListId.clear();
|
||||
|
||||
List<Long> nextBomId = childEntityList.stream().filter(u -> u.getBomVersionRowId() != null && u.getBomVersionRowId() > 0).map(BomNewPbomChildEntity::getBomVersionRowId).collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(nextBomId)) {
|
||||
bomListId.addAll(nextBomId);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(CollUtil.isNotEmpty(parentFormalList)){
|
||||
this.saveOrUpdateBatch(parentFormalList);
|
||||
// System.out.println(JSON.toJSONString( parentFormalList));
|
||||
}
|
||||
if(CollUtil.isNotEmpty(childFormalList)){
|
||||
// System.out.println(JSON.toJSONString( childFormalList));
|
||||
SpringUtil.getBean(BomNewPbomChildFormalService.class).saveOrUpdateBatch(childFormalList);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue