Merge branch 'feature/DM/nflg-bom' of http://112.74.186.154:3000/nflj/nflg_project into feature/DM/nflg-bom

This commit is contained in:
jing's 2024-03-13 14:52:25 +08:00
commit f814d447d7
6 changed files with 19 additions and 31 deletions

View File

@ -4,25 +4,18 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.lang.TypeReference; import cn.hutool.core.lang.TypeReference;
import cn.hutool.core.thread.ThreadUtil; import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.spring.SpringUtil; import cn.hutool.extra.spring.SpringUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
import com.mzt.logapi.context.LogRecordContext; import com.mzt.logapi.context.LogRecordContext;
import com.nflg.product.base.core.conmon.util.SessionUtil; import com.nflg.product.base.core.conmon.util.SessionUtil;
@ -30,18 +23,18 @@ import com.nflg.product.base.core.exception.NflgBusinessException;
import com.nflg.product.bomnew.constant.*; import com.nflg.product.bomnew.constant.*;
import com.nflg.product.bomnew.mapper.master.BomNewEbomParentMapper; import com.nflg.product.bomnew.mapper.master.BomNewEbomParentMapper;
import com.nflg.product.bomnew.pojo.dto.*; import com.nflg.product.bomnew.pojo.dto.*;
import com.nflg.product.bomnew.pojo.entity.*; import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildEntity;
import com.nflg.product.bomnew.pojo.entity.BomNewEbomMaterialUseEntity;
import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentEntity;
import com.nflg.product.bomnew.pojo.entity.MaterialMainEntity;
import com.nflg.product.bomnew.pojo.query.BomNewEbomMaterialQuery; import com.nflg.product.bomnew.pojo.query.BomNewEbomMaterialQuery;
import com.nflg.product.bomnew.pojo.query.BomNewEbomParentQuery; import com.nflg.product.bomnew.pojo.query.BomNewEbomParentQuery;
import com.nflg.product.bomnew.pojo.vo.*; import com.nflg.product.bomnew.pojo.vo.*;
import com.nflg.product.bomnew.service.domain.EBom.*; import com.nflg.product.bomnew.service.domain.EBom.*;
import com.nflg.product.bomnew.service.domain.OriginalBom.OriginalBomDetailTask;
import com.nflg.product.bomnew.util.*; import com.nflg.product.bomnew.util.*;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import nflg.product.common.constant.STATE; import nflg.product.common.constant.STATE;
import nflg.product.common.vo.ResultVO;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -58,7 +51,6 @@ import java.util.concurrent.ExecutionException;
import java.util.concurrent.ForkJoinPool; import java.util.concurrent.ForkJoinPool;
import java.util.concurrent.ForkJoinTask; import java.util.concurrent.ForkJoinTask;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.IntStream;
/** /**
@ -683,13 +675,15 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
public void convertToPBom(EBomToPBomParamDTO paramDto) throws ExecutionException, InterruptedException { public void convertToPBom(EBomToPBomParamDTO paramDto) throws ExecutionException, InterruptedException {
//31 须有虚拟包 //31 须有虚拟包
List<BomNewEbomParentEntity> parents = this.getBaseMapper().selectBatchIds(paramDto.getBomRowIds()); List<BomNewEbomParentEntity> parents = this.getBaseMapper().selectBatchIds(paramDto.getBomRowIds());
List<String> noVirPackage = parents.stream().filter(u -> u.getMaterialNo().startsWith("31") && u.getVirtrualPackageEnum() <= 0).map(u -> u.getMaterialNo()).collect(Collectors.toList()); List<String> noVirPackage = parents.stream().filter(u -> u.getMaterialNo().startsWith("31") && u.getVirtrualPackageEnum() <= 0).map(BomNewEbomParentEntity::getMaterialNo).collect(Collectors.toList());
VUtils.isTure(CollUtil.isNotEmpty(noVirPackage)).throwMessage("31码须有虚拟包"); VUtils.isTure(CollUtil.isNotEmpty(noVirPackage)).throwMessage("31码须有虚拟包");
for (Long bomRowId : paramDto.getBomRowIds()) { for (Long bomRowId : paramDto.getBomRowIds()) {
BomNewEbomParentVO parent = Convert.convert(BomNewEbomParentVO.class, this.getById(bomRowId)); BomNewEbomParentVO parent = Convert.convert(BomNewEbomParentVO.class, this.getById(bomRowId));
VUtils.isTure(Objects.isNull(parent)).throwMessage("Bom版本不存在"+bomRowId.toString());
LogRecordContext.putVariable("bom", parent); LogRecordContext.putVariable("bom", parent);
List<BomNewEbomParentVO> bomTree = getBomTree(bomRowId); List<BomNewEbomParentVO> bomTree = getBomTree(bomRowId);
VUtils.isTure(CollUtil.isEmpty(bomTree)).throwMessage("该BOM不存在下级无需转换"+ bomRowId.toString());
parent.setBomRowId(parent.getRowId()); parent.setBomRowId(parent.getRowId());
parent.setChildBomRowId(parent.getRowId()); parent.setChildBomRowId(parent.getRowId());
parent.setParentRowId(0L); parent.setParentRowId(0L);

View File

@ -4,14 +4,12 @@ package com.nflg.product.bomnew.service;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.spring.SpringUtil; import cn.hutool.extra.spring.SpringUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.BeanUtils;
import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.nflg.product.base.core.conmon.util.SessionUtil; import com.nflg.product.base.core.conmon.util.SessionUtil;
import com.nflg.product.base.core.exception.NflgBusinessException; import com.nflg.product.base.core.exception.NflgBusinessException;
@ -19,6 +17,7 @@ import com.nflg.product.bomnew.client.MaterialMainClient;
import com.nflg.product.bomnew.config.NacosConfig; import com.nflg.product.bomnew.config.NacosConfig;
import com.nflg.product.bomnew.pojo.dto.*; import com.nflg.product.bomnew.pojo.dto.*;
import com.nflg.product.bomnew.pojo.entity.MaterialMainEntity; import com.nflg.product.bomnew.pojo.entity.MaterialMainEntity;
import com.nflg.product.bomnew.util.FlowUtil;
import com.nflg.product.bomnew.util.HttpUtils; import com.nflg.product.bomnew.util.HttpUtils;
import com.nflg.product.bomnew.util.ListCommonUtil; import com.nflg.product.bomnew.util.ListCommonUtil;
import com.nflg.product.bomnew.util.VUtils; import com.nflg.product.bomnew.util.VUtils;
@ -32,10 +31,8 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.io.IOException; import java.io.IOException;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.nflg.product.bomnew.util.FlowUtil;
@Service @Service
@Slf4j @Slf4j
@ -334,7 +331,7 @@ public class MaterialService {
list.add(material); list.add(material);
}); });
result.put("List", list); result.put("List", list);
log.error("物料申请-JSON" + JSONArray.toJSONString(list)); log.info("物料申请-JSON" + JSONArray.toJSONString(list));
HttpUtils httpUtils = new HttpUtils(); HttpUtils httpUtils = new HttpUtils();
try { try {
String url = NacosConfig.getNacosConfig().getOaUrl(); String url = NacosConfig.getNacosConfig().getOaUrl();
@ -353,6 +350,7 @@ public class MaterialService {
} }
// return null; // return null;
} catch (Exception ex) { } catch (Exception ex) {
log.error("同步OA出错",ex);
throw new NflgBusinessException(STATE.BusinessError, "同步OA出错" + ex.getMessage()); throw new NflgBusinessException(STATE.BusinessError, "同步OA出错" + ex.getMessage());
} }
} }

View File

@ -9,7 +9,6 @@ import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.spring.SpringUtil; import cn.hutool.extra.spring.SpringUtil;
import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
import com.nflg.product.base.core.conmon.util.SessionUtil; import com.nflg.product.base.core.conmon.util.SessionUtil;
import com.nflg.product.bomnew.constant.*; import com.nflg.product.bomnew.constant.*;
@ -18,13 +17,9 @@ import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildEntity;
import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentEntity; import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentEntity;
import com.nflg.product.bomnew.pojo.vo.BaseMaterialVO; import com.nflg.product.bomnew.pojo.vo.BaseMaterialVO;
import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentVO; import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentVO;
import com.nflg.product.bomnew.pojo.vo.OptionalEbomConfigVO;
import com.nflg.product.bomnew.service.BomNewEbomParentService;
import com.nflg.product.bomnew.service.MaterialMainService; import com.nflg.product.bomnew.service.MaterialMainService;
import com.nflg.product.bomnew.service.UserRoleService; import com.nflg.product.bomnew.service.UserRoleService;
import com.nflg.product.bomnew.util.ListCommonUtil;
import com.nflg.product.bomnew.util.VUtils; import com.nflg.product.bomnew.util.VUtils;
import io.swagger.models.auth.In;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@ -79,6 +74,7 @@ public class EBomEdit {
parent.setStatus(SpringUtil.getBean(UserRoleService.class).technician() ? EBomStatusEnum.CHECKED.getValue() : EBomStatusEnum.WAIT_CHECK.getValue()); parent.setStatus(SpringUtil.getBean(UserRoleService.class).technician() ? EBomStatusEnum.CHECKED.getValue() : EBomStatusEnum.WAIT_CHECK.getValue());
parent.setCreatedJob(SpringUtil.getBean(UserRoleService.class).technician() ? UserJobEnum.ENGINEER.getValue() : UserJobEnum.DESIGNER.getValue()); parent.setCreatedJob(SpringUtil.getBean(UserRoleService.class).technician() ? UserJobEnum.ENGINEER.getValue() : UserJobEnum.DESIGNER.getValue());
parent.setModifyTime(LocalDateTime.now());
return parent; return parent;
} }
@ -227,6 +223,7 @@ public class EBomEdit {
if (roleList.contains(EBomConstant.TECHNICIAN)) { if (roleList.contains(EBomConstant.TECHNICIAN)) {
parent.setStatus(EBomStatusEnum.CHECKED.getValue()); parent.setStatus(EBomStatusEnum.CHECKED.getValue());
} }
parent.setModifyTime(LocalDateTime.now());
parentEntities.add(parent); parentEntities.add(parent);
} }
@ -257,6 +254,8 @@ public class EBomEdit {
// parent.setExceptionStatus(EBomExceptionStatusEnum.OK.getValue()); // parent.setExceptionStatus(EBomExceptionStatusEnum.OK.getValue());
checkExcept(dto.getParent(), child); checkExcept(dto.getParent(), child);
}else {
child.setModifyTime(LocalDateTime.now());
} }

View File

@ -4,18 +4,14 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.spring.SpringUtil; import cn.hutool.extra.spring.SpringUtil;
import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentEntity;
import com.nflg.product.bomnew.pojo.entity.BomNewPbomChildEntity; import com.nflg.product.bomnew.pojo.entity.BomNewPbomChildEntity;
import com.nflg.product.bomnew.pojo.entity.BomNewPbomParentEntity; import com.nflg.product.bomnew.pojo.entity.BomNewPbomParentEntity;
import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentVO;
import com.nflg.product.bomnew.pojo.vo.BomNewPbomParentVO; import com.nflg.product.bomnew.pojo.vo.BomNewPbomParentVO;
import com.nflg.product.bomnew.service.BomNewEbomParentService;
import com.nflg.product.bomnew.service.BomNewPbomChildService; import com.nflg.product.bomnew.service.BomNewPbomChildService;
import com.nflg.product.bomnew.service.BomNewPbomParentService; import com.nflg.product.bomnew.service.BomNewPbomParentService;
import com.nflg.product.bomnew.util.ListCommonUtil; import com.nflg.product.bomnew.util.ListCommonUtil;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -91,6 +87,7 @@ public class PBomDetailTask extends RecursiveTask<List<BomNewPbomParentVO>> {
detailVO.setEditStatus(parent.getEditStatus()); detailVO.setEditStatus(parent.getEditStatus());
detailVO.setVirtualPackageIs(parent.getVirtualPackageIs()); detailVO.setVirtualPackageIs(parent.getVirtualPackageIs());
} }
detailVO.setModifyTime(LocalDateTime.now());
} }

View File

@ -11,6 +11,7 @@ import com.nflg.product.bomnew.pojo.entity.BomNewPbomChildEntity;
import com.nflg.product.bomnew.pojo.entity.BomNewPbomParentEntity; import com.nflg.product.bomnew.pojo.entity.BomNewPbomParentEntity;
import com.nflg.product.bomnew.pojo.vo.BomNewPbomParentVO; import com.nflg.product.bomnew.pojo.vo.BomNewPbomParentVO;
import com.nflg.product.bomnew.service.BomNewPbomParentService; import com.nflg.product.bomnew.service.BomNewPbomParentService;
import com.nflg.product.bomnew.util.ListCommonUtil;
import com.nflg.product.bomnew.util.VUtils; import com.nflg.product.bomnew.util.VUtils;
import com.nflg.product.bomnew.util.VersionUtil; import com.nflg.product.bomnew.util.VersionUtil;
import lombok.Getter; import lombok.Getter;
@ -19,8 +20,6 @@ import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.nflg.product.bomnew.util.ListCommonUtil;
/** /**
* 升级变更 * 升级变更
*/ */
@ -82,6 +81,7 @@ public class PBomUpgrade {
pbomParent.setModifyTime(LocalDateTime.now()); pbomParent.setModifyTime(LocalDateTime.now());
pbomParent.setStatus(PBomStatusEnum.WAIT_PUBLISH.getValue()); pbomParent.setStatus(PBomStatusEnum.WAIT_PUBLISH.getValue());
pbomParent.setCurrentVersion(VersionUtil.getNextVersion(parentVO.getCurrentVersion())); pbomParent.setCurrentVersion(VersionUtil.getNextVersion(parentVO.getCurrentVersion()));
pbomParent.setModifyTime(LocalDateTime.now());
if (rootIs) { if (rootIs) {
pbomParent.setRootIs(1); pbomParent.setRootIs(1);
pbomParent.setUserRootIs(1); pbomParent.setUserRootIs(1);

View File

@ -185,7 +185,7 @@
<select id="getChildForMaterialNoSeach" resultType="com.nflg.product.bomnew.pojo.vo.BomNewPbomParentVO"> <select id="getChildForMaterialNoSeach" resultType="com.nflg.product.bomnew.pojo.vo.BomNewPbomParentVO">
select if(c.status=4,2,c.status) as status ,c.current_version , c.created_by as bomCreatedBy select if(c.status=4,2,c.status) as status ,c.current_version , c.created_by as bomCreatedBy
,c.devise_name,c.devise_user_code,c.dept_name , ,c.devise_name,c.devise_user_code,c.dept_name ,
c.row_id as bomRowId, c.row_id as childBomRowId, b.* if(c.row_id is null,0,c.row_id) as bomRowId, c.row_id as childBomRowId, b.*
from t_bom_new_pbom_parent a from t_bom_new_pbom_parent a
join t_bom_new_pbom_child b on a.row_id =b.parent_row_id join t_bom_new_pbom_child b on a.row_id =b.parent_row_id
left join t_bom_new_pbom_parent c on b.material_no=c.material_no and b.fac_code=c.fac_code and c.last_version_is=1 left join t_bom_new_pbom_parent c on b.material_no=c.material_no and b.fac_code=c.fac_code and c.last_version_is=1