This commit is contained in:
jing's 2024-01-08 22:37:34 +08:00
parent 76028e0c64
commit be8b809c6f
3 changed files with 66 additions and 16 deletions

View File

@ -2,8 +2,10 @@ package com.nflg.product.bomnew.service;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.spring.SpringUtil; import cn.hutool.extra.spring.SpringUtil;
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.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.nflg.product.base.core.conmon.util.SessionUtil; import com.nflg.product.base.core.conmon.util.SessionUtil;
@ -14,11 +16,13 @@ import com.nflg.product.bomnew.pojo.dto.BomNewMbomApplyBackMaterialDTO;
import com.nflg.product.bomnew.pojo.dto.BomNewMbomBackMaterialDTO; import com.nflg.product.bomnew.pojo.dto.BomNewMbomBackMaterialDTO;
import com.nflg.product.bomnew.pojo.entity.BomNewMbomBackMaterialEntity; import com.nflg.product.bomnew.pojo.entity.BomNewMbomBackMaterialEntity;
import com.nflg.product.bomnew.pojo.entity.BomNewMbomDetailEntity; import com.nflg.product.bomnew.pojo.entity.BomNewMbomDetailEntity;
import com.nflg.product.bomnew.pojo.entity.BomNewMbomParentEntity;
import com.nflg.product.bomnew.pojo.query.BomNewMbomBackMaterialQuery; import com.nflg.product.bomnew.pojo.query.BomNewMbomBackMaterialQuery;
import com.nflg.product.bomnew.pojo.query.BomNewMbomParentQuery; import com.nflg.product.bomnew.pojo.query.BomNewMbomParentQuery;
import com.nflg.product.bomnew.pojo.vo.BomNewMbomBackMaterialVO; import com.nflg.product.bomnew.pojo.vo.BomNewMbomBackMaterialVO;
import nflg.product.common.constant.STATE; import nflg.product.common.constant.STATE;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
@ -136,6 +140,7 @@ public class BomNewMbomBackMaterialService extends ServiceImpl<BomNewMbomBackMat
* 确认退回 * 确认退回
* @param rowIds * @param rowIds
*/ */
@Transactional(rollbackFor = Exception.class)
public void confirmBack(List<Long> rowIds ){ public void confirmBack(List<Long> rowIds ){
QueryWrapper<BomNewMbomBackMaterialEntity> queryWrapper=new QueryWrapper<>(); QueryWrapper<BomNewMbomBackMaterialEntity> queryWrapper=new QueryWrapper<>();
@ -151,20 +156,45 @@ public class BomNewMbomBackMaterialService extends ServiceImpl<BomNewMbomBackMat
throw new NflgBusinessException(STATE.BusinessError,"选择数据存在已驳回"); throw new NflgBusinessException(STATE.BusinessError,"选择数据存在已驳回");
} }
List<BomNewMbomBackMaterialEntity> updateList=new ArrayList<>(); //退回逻辑
rowIds.forEach(id->{
BomNewMbomBackMaterialEntity bean=new BomNewMbomBackMaterialEntity(); //同一个bom下退回的物料
bean.setRowId(id); Map<Long,List<BomNewMbomBackMaterialEntity>> groupBackMap2=backList.stream().collect(Collectors.groupingBy(BomNewMbomBackMaterialEntity::getBomRowId));
bean.setBackStatus(MBomConstantEnum.MBomBackStatusEnum.DEAL_1.getValue());
bean.setConfirmTime(LocalDateTime.now()); groupBackMap2.forEach((bomRowId,val)->{
bean.setConfirmUserCode(SessionUtil.getUserCode());
bean.setConfirmUserName(SessionUtil.getUserName()); BomNewMbomParentEntity parentEntity=SpringUtil.getBean(BomNewMbomParentService.class).getById(bomRowId);
updateList.add(bean); if(parentEntity==null){
}); throw new NflgBusinessException(STATE.BusinessError , StrUtil.format("{} 数据不存在 退回生成异常",bomRowId));
if(CollectionUtil.isNotEmpty(updateList)){
this.updateBatchById(updateList);
} }
List<Long> updateSourceIdList=val.stream().map(BomNewMbomBackMaterialEntity::getSourceRowId).collect(Collectors.toList());
//重新发布
//SpringUtil.getBean(BomNewPbomParentService.class).reConvertToMBom(parentEntity.getSourceRowId(),updateSourceIdList);
//更新状态
List<Long> updateIdList=val.stream().map(BomNewMbomBackMaterialEntity::getRowId).collect(Collectors.toList());
UpdateWrapper<BomNewMbomBackMaterialEntity> updateWrapper=new UpdateWrapper();
updateWrapper.lambda().in(BomNewMbomBackMaterialEntity::getRowId,updateIdList);
updateWrapper.lambda().set(BomNewMbomBackMaterialEntity::getBackStatus, MBomConstantEnum.MBomBackStatusEnum.DEAL_1.getValue());
updateWrapper.lambda(). set(BomNewMbomBackMaterialEntity::getConfirmTime,LocalDateTime.now());
updateWrapper.lambda(). set(BomNewMbomBackMaterialEntity::getConfirmUserName,SessionUtil.getUserName());
updateWrapper.lambda(). set(BomNewMbomBackMaterialEntity::getConfirmUserCode,SessionUtil.getUserCode());
update(updateWrapper);
});
} }

View File

@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.TypeReference; import cn.hutool.core.lang.TypeReference;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
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;
@ -518,6 +519,20 @@ public class BomNewPbomParentService extends ServiceImpl<BomNewPbomParentMapper,
} }
public void reConvertToMBom(Long bomRowId,List<Long> backRowId){
UpdateWrapper<BomNewPbomChildEntity > updateWrapper=new UpdateWrapper<>();
updateWrapper.lambda().set(BomNewPbomChildEntity::getProductionFactoryCode,backRowId);
updateWrapper.lambda().in(BomNewPbomChildEntity::getRowId,backRowId);
}
/** /**
* 发布MBOM * 发布MBOM
*/ */
@ -558,6 +573,8 @@ public class BomNewPbomParentService extends ServiceImpl<BomNewPbomParentMapper,
return true; return true;
} }
/** /**
* 发布Pbom * 发布Pbom
* @param bomRowId * @param bomRowId

View File

@ -6,21 +6,20 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.TypeReference; import cn.hutool.core.lang.TypeReference;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.digest.MD5; import cn.hutool.crypto.digest.MD5;
import cn.hutool.extra.spring.SpringUtil;
import com.alibaba.fastjson.JSON; 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.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.google.common.base.Objects; import com.google.common.base.Objects;
import com.google.common.collect.ImmutableList;
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;
import com.nflg.product.bomnew.constant.OptionalBomConstant; import com.nflg.product.bomnew.constant.OptionalBomConstant;
import com.nflg.product.bomnew.pojo.dto.OptionalEbomPublishAddDTO; import com.nflg.product.bomnew.pojo.dto.OptionalEbomPublishAddDTO;
import com.nflg.product.bomnew.pojo.entity.*; import com.nflg.product.bomnew.pojo.entity.*;
import com.nflg.product.bomnew.pojo.vo.OptionalEbomImportChildVO; import com.nflg.product.bomnew.pojo.vo.OptionalEbomImportChildVO;
import com.nflg.product.bomnew.service.MaterialService; import com.nflg.product.bomnew.service.*;
import com.nflg.product.bomnew.service.OptionalEbomConfigService;
import com.nflg.product.bomnew.service.OptionalMbomCompareService;
import com.nflg.product.bomnew.service.OptionalMbomMaterialService;
import nflg.product.common.constant.STATE; import nflg.product.common.constant.STATE;
import nflg.product.common.vo.ResultVO; import nflg.product.common.vo.ResultVO;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -150,6 +149,7 @@ public class PublishMaterialService {
// throw new NflgBusinessException(STATE.Error, resultVO.getMsg()); // throw new NflgBusinessException(STATE.Error, resultVO.getMsg());
// } // }
sendPack.setMaterialNo(data); sendPack.setMaterialNo(data);
sendPack.setDrawingNo(sendMaterialName);
} catch (Exception e) { } catch (Exception e) {
throw new NflgBusinessException(STATE.Error, "机型发货," + e.getMessage()); throw new NflgBusinessException(STATE.Error, "机型发货," + e.getMessage());
} }
@ -182,6 +182,7 @@ public class PublishMaterialService {
// throw new NflgBusinessException(STATE.Error, resultVO.getMsg()); // throw new NflgBusinessException(STATE.Error, resultVO.getMsg());
// } // }
makePack.setMaterialNo(data); makePack.setMaterialNo(data);
makePack.setDrawingNo(makeMaterialName);
} catch (Exception e) { } catch (Exception e) {
throw new NflgBusinessException(STATE.Error, "机型制作," + e.getMessage()); throw new NflgBusinessException(STATE.Error, "机型制作," + e.getMessage());
} }
@ -341,6 +342,7 @@ public class PublishMaterialService {
// throw new NflgBusinessException(STATE.Error, resultVO.getMsg()); // throw new NflgBusinessException(STATE.Error, resultVO.getMsg());
// } // }
makePack.setMaterialNo(data); makePack.setMaterialNo(data);
makePack.setDrawingNo(makeMaterialName);
} catch (Exception e) { } catch (Exception e) {
throw new NflgBusinessException(STATE.Error, "电控制作," + e.getMessage()); throw new NflgBusinessException(STATE.Error, "电控制作," + e.getMessage());
} }
@ -371,6 +373,7 @@ public class PublishMaterialService {
// throw new NflgBusinessException(STATE.Error, resultVO.getMsg()); // throw new NflgBusinessException(STATE.Error, resultVO.getMsg());
// } // }
sendPack.setMaterialNo(data); sendPack.setMaterialNo(data);
sendPack.setDrawingNo(sendMaterialName);
} catch (Exception e) { } catch (Exception e) {
throw new NflgBusinessException(STATE.Error, "电控发货,"+e.getMessage()); throw new NflgBusinessException(STATE.Error, "电控发货,"+e.getMessage());
} }