1,转EBOM

This commit is contained in:
大米 2023-12-08 15:24:19 +08:00
parent 056e2409fa
commit d990adb50c
4 changed files with 37 additions and 9 deletions

View File

@ -71,7 +71,7 @@ public class OriginalBomApi extends BaseApi {
@PostMapping("saveBom") @PostMapping("saveBom")
@ApiOperation("编辑时-暂存") @ApiOperation("编辑时-暂存")
public ResultVO<Boolean> saveBom(@Valid @RequestBody OriginalSaveBomDTO bom) { public ResultVO<Boolean> saveBom(@Valid @RequestBody OriginalSaveBomDTO bom) {
return ResultVO.success(originalParentService.saveBom(bom)); return ResultVO.success(originalParentService.saveBom(bom,false));
} }
@PostMapping("saveSubmit") @PostMapping("saveSubmit")

View File

@ -96,13 +96,16 @@ public class BomNewOriginalParentService extends ServiceImpl<BomNewOriginalParen
* @param bom * @param bom
* @return * @return
*/ */
public Boolean saveBom(OriginalSaveBomDTO bom) { public Boolean saveBom(OriginalSaveBomDTO bom ,Boolean submitIs) {
List<BomOriginalListVO> saveEnts = bom.getBomList().stream().filter(u -> u.getDelIs().equals(0)).collect(Collectors.toList()); List<BomOriginalListVO> saveEnts = bom.getBomList().stream().filter(u -> u.getDelIs().equals(0)).collect(Collectors.toList());
List<BomNewOriginalChildEntity> childEntities = Convert.toList(BomNewOriginalChildEntity.class, saveEnts); List<BomNewOriginalChildEntity> childEntities = Convert.toList(BomNewOriginalChildEntity.class, saveEnts);
// originalChildService.getBaseMapper().deleteByMap(ImmutableMap.of("parent_row_id",bom.getParentRowId())); // originalChildService.getBaseMapper().deleteByMap(ImmutableMap.of("parent_row_id",bom.getParentRowId()));
childEntities.forEach(u -> { childEntities.forEach(u -> {
u.setParentRowId(bom.getParentRowId()); u.setParentRowId(bom.getParentRowId());
if(submitIs){
u.setEditStatus(OriginalEditStatusEnum.HANDLER_FINISHED.getValue());
}
}); });
if (CollUtil.isNotEmpty(childEntities)) { if (CollUtil.isNotEmpty(childEntities)) {
@ -122,7 +125,7 @@ public class BomNewOriginalParentService extends ServiceImpl<BomNewOriginalParen
* @return * @return
*/ */
public Boolean saveSubmit(OriginalSaveBomDTO bom) { public Boolean saveSubmit(OriginalSaveBomDTO bom) {
saveBom(bom); saveBom(bom,true);
//将状态变为已处理 //将状态变为已处理
BomNewOriginalParentEntity parentEntity = new BomNewOriginalParentEntity(); BomNewOriginalParentEntity parentEntity = new BomNewOriginalParentEntity();
parentEntity.setRowId(bom.getParentRowId()); parentEntity.setRowId(bom.getParentRowId());
@ -362,7 +365,7 @@ public class BomNewOriginalParentService extends ServiceImpl<BomNewOriginalParen
if (CollUtil.isNotEmpty(convert.getEBomChildResult())) { if (CollUtil.isNotEmpty(convert.getEBomChildResult())) {
ebomChildService.saveOrUpdateBatch(convert.getEBomChildResult()); ebomChildService.saveOrUpdateBatch(convert.getEBomChildResult());
} }
//将原始BOM转为已处理 //将原始BOM及子级转为已处理
if (CollUtil.isNotEmpty(convert.getHasHandlerParentIds())) { if (CollUtil.isNotEmpty(convert.getHasHandlerParentIds())) {
this.getBaseMapper().updateBomState(OriginalStatusEnum.OVER_CONVERT.getValue(), convert.getHasHandlerParentIds()); this.getBaseMapper().updateBomState(OriginalStatusEnum.OVER_CONVERT.getValue(), convert.getHasHandlerParentIds());
} }

View File

@ -11,6 +11,7 @@ import com.google.common.collect.ImmutableList;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
import com.nflg.product.bomnew.constant.EBomSourceEnum; import com.nflg.product.bomnew.constant.EBomSourceEnum;
import com.nflg.product.bomnew.constant.OriginalConstant; import com.nflg.product.bomnew.constant.OriginalConstant;
import com.nflg.product.bomnew.constant.OriginalStatusEnum;
import com.nflg.product.bomnew.mapper.master.BomNewEbomChildMapper; import com.nflg.product.bomnew.mapper.master.BomNewEbomChildMapper;
import com.nflg.product.bomnew.mapper.master.MaterialMainMapper; import com.nflg.product.bomnew.mapper.master.MaterialMainMapper;
import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildEntity; import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildEntity;
@ -58,6 +59,7 @@ public class OriginalBomToEBomConvert extends BaseConvert {
public OriginalBomToEBomConvert(BomNewOriginalParentEntity inParent, List<BomOriginalListVO> inBomDetail) { public OriginalBomToEBomConvert(BomNewOriginalParentEntity inParent, List<BomOriginalListVO> inBomDetail) {
parent = Convert.convert(BomOriginalListVO.class, inParent); parent = Convert.convert(BomOriginalListVO.class, inParent);
parent.setBomRowId(parent.getRowId());
bomDetail = inBomDetail; bomDetail = inBomDetail;
} }
@ -68,6 +70,7 @@ public class OriginalBomToEBomConvert extends BaseConvert {
SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(bomDetail); SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(bomDetail);
//处理父级 //处理父级
hanlerDo(parent); hanlerDo(parent);
this.hasHandlerParentIds.add(parent.getRowId()); this.hasHandlerParentIds.add(parent.getRowId());
@ -83,8 +86,11 @@ public class OriginalBomToEBomConvert extends BaseConvert {
private void hanlerDo(BomOriginalListVO parentEnt) { private void hanlerDo(BomOriginalListVO parentEnt) {
if(!OriginalStatusEnum.UN_CONVERT.equalsValue(parentEnt.getStatus())){
return;
}
//子节点 //子节点
List<BomOriginalListVO> parentChild = bomDetail.stream().filter(u -> u.getParentRowId().equals(parentEnt.getRowId()) ).collect(Collectors.toList()); List<BomOriginalListVO> parentChild = bomDetail.stream().filter(u -> u.getParentRowId().equals(parentEnt.getBomRowId()) ).collect(Collectors.toList());
List<BomOriginalListVO> parentChildNoMaterilaNoList = parentChild.stream().filter(u -> StrUtil.isBlank(u.getMaterialNo())).collect(Collectors.toList()); List<BomOriginalListVO> parentChildNoMaterilaNoList = parentChild.stream().filter(u -> StrUtil.isBlank(u.getMaterialNo())).collect(Collectors.toList());
//无编码 //无编码
if (StrUtil.isBlank(parentEnt.getMaterialNo())) { if (StrUtil.isBlank(parentEnt.getMaterialNo())) {
@ -140,6 +146,7 @@ public class OriginalBomToEBomConvert extends BaseConvert {
} }
} }
} }
} }
@ -148,15 +155,23 @@ public class OriginalBomToEBomConvert extends BaseConvert {
* 构建EBom父级 * 构建EBom父级
*/ */
private Long buildEBomParent(BomOriginalListVO parentEnt) { private Long buildEBomParent(BomOriginalListVO parentEnt) {
BomNewEbomParentEntity ebom = SpringUtil.getBean(BomNewEbomParentService.class).lambdaQuery().eq(BomNewEbomParentEntity::getMaterialNo, parentEnt.getMaterialNo()).one(); BomNewEbomParentEntity ebom = SpringUtil.getBean(BomNewEbomParentService.class).lambdaQuery().eq(BomNewEbomParentEntity::getMaterialNo, parentEnt.getMaterialNo())
.eq(BomNewEbomParentEntity::getLastVersionIs,1).one();
BomNewEbomParentEntity eBomParent = new BomNewEbomParentEntity(); BomNewEbomParentEntity eBomParent = new BomNewEbomParentEntity();
BeanUtil.copyProperties(parentEnt, eBomParent); BeanUtil.copyProperties(parentEnt, eBomParent);
eBomParent.setRowId(IdWorker.getId()); eBomParent.setRowId(IdWorker.getId());
eBomParent.setSource(EBomSourceEnum.FROM_BOM.getValue()); eBomParent.setSource(EBomSourceEnum.FROM_BOM.getValue());
eBomParent.setCurrentVersion(Objects.isNull(ebom) ? "" : VersionUtil.getNextVersion(ebom.getCurrentVersion())); eBomParent.setCurrentVersion(Objects.isNull(ebom) ? "" : VersionUtil.getNextVersion(ebom.getCurrentVersion()));
eBomParent.setConvertToEbomTime(LocalDateTime.now()); eBomParent.setConvertToEbomTime(LocalDateTime.now());
eBomParent.setSourceRowId(parentEnt.getRowId()); eBomParent.setSourceRowId(parentEnt.getBomRowId());
eBomParent.setLastVersionIs(1);
if(Objects.nonNull(ebom)) {
ebom.setLastVersionIs(0);
this.eBomParentResult.add(ebom);
}
this.eBomParentResult.add(eBomParent); this.eBomParentResult.add(eBomParent);
return eBomParent.getRowId(); return eBomParent.getRowId();
} }

View File

@ -45,7 +45,11 @@
<sql id="whr"> <sql id="whr">
<if test="query.status!= null"> <if test="query.status!= null">
<if test="query.status==2"> <if test="query.status==2">
and status=2 and created_time> DATE_ADD(now(), INTERVAL -3 DAY) and status=2
<if test="query.startDate==null or query.startDate==''">
and created_time> DATE_ADD(now(), INTERVAL -3 DAY)
</if>
</if> </if>
</if> </if>
<if test="query.drawingNos!=null and query.drawingNos.size()>0"> <if test="query.drawingNos!=null and query.drawingNos.size()>0">
@ -108,7 +112,13 @@
row_id in row_id in
<foreach collection="rowIds" item="rowId" open="(" separator="," close=")"> <foreach collection="rowIds" item="rowId" open="(" separator="," close=")">
#{rowId} #{rowId}
</foreach> </foreach>;
update t_bom_new_original_child set status = #{status} where
parent_row_id in
<foreach collection="rowIds" item="rowId" open="(" separator="," close=")">
#{rowId}
</foreach>;
</update> </update>
<update id="updateRootState"> <update id="updateRootState">