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")
@ApiOperation("编辑时-暂存")
public ResultVO<Boolean> saveBom(@Valid @RequestBody OriginalSaveBomDTO bom) {
return ResultVO.success(originalParentService.saveBom(bom));
return ResultVO.success(originalParentService.saveBom(bom,false));
}
@PostMapping("saveSubmit")

View File

@ -96,13 +96,16 @@ public class BomNewOriginalParentService extends ServiceImpl<BomNewOriginalParen
* @param bom
* @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<BomNewOriginalChildEntity> childEntities = Convert.toList(BomNewOriginalChildEntity.class, saveEnts);
// originalChildService.getBaseMapper().deleteByMap(ImmutableMap.of("parent_row_id",bom.getParentRowId()));
childEntities.forEach(u -> {
u.setParentRowId(bom.getParentRowId());
if(submitIs){
u.setEditStatus(OriginalEditStatusEnum.HANDLER_FINISHED.getValue());
}
});
if (CollUtil.isNotEmpty(childEntities)) {
@ -122,7 +125,7 @@ public class BomNewOriginalParentService extends ServiceImpl<BomNewOriginalParen
* @return
*/
public Boolean saveSubmit(OriginalSaveBomDTO bom) {
saveBom(bom);
saveBom(bom,true);
//将状态变为已处理
BomNewOriginalParentEntity parentEntity = new BomNewOriginalParentEntity();
parentEntity.setRowId(bom.getParentRowId());
@ -362,7 +365,7 @@ public class BomNewOriginalParentService extends ServiceImpl<BomNewOriginalParen
if (CollUtil.isNotEmpty(convert.getEBomChildResult())) {
ebomChildService.saveOrUpdateBatch(convert.getEBomChildResult());
}
//将原始BOM转为已处理
//将原始BOM及子级转为已处理
if (CollUtil.isNotEmpty(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.nflg.product.bomnew.constant.EBomSourceEnum;
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.MaterialMainMapper;
import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildEntity;
@ -58,6 +59,7 @@ public class OriginalBomToEBomConvert extends BaseConvert {
public OriginalBomToEBomConvert(BomNewOriginalParentEntity inParent, List<BomOriginalListVO> inBomDetail) {
parent = Convert.convert(BomOriginalListVO.class, inParent);
parent.setBomRowId(parent.getRowId());
bomDetail = inBomDetail;
}
@ -68,6 +70,7 @@ public class OriginalBomToEBomConvert extends BaseConvert {
SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(bomDetail);
//处理父级
hanlerDo(parent);
this.hasHandlerParentIds.add(parent.getRowId());
@ -83,8 +86,11 @@ public class OriginalBomToEBomConvert extends BaseConvert {
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());
//无编码
if (StrUtil.isBlank(parentEnt.getMaterialNo())) {
@ -140,6 +146,7 @@ public class OriginalBomToEBomConvert extends BaseConvert {
}
}
}
}
@ -148,15 +155,23 @@ public class OriginalBomToEBomConvert extends BaseConvert {
* 构建EBom父级
*/
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();
BeanUtil.copyProperties(parentEnt, eBomParent);
eBomParent.setRowId(IdWorker.getId());
eBomParent.setSource(EBomSourceEnum.FROM_BOM.getValue());
eBomParent.setCurrentVersion(Objects.isNull(ebom) ? "" : VersionUtil.getNextVersion(ebom.getCurrentVersion()));
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);
return eBomParent.getRowId();
}

View File

@ -45,7 +45,11 @@
<sql id="whr">
<if test="query.status!= null">
<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 test="query.drawingNos!=null and query.drawingNos.size()>0">
@ -108,7 +112,13 @@
row_id in
<foreach collection="rowIds" item="rowId" open="(" separator="," close=")">
#{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 id="updateRootState">