feat(feature/DM/nflg-bom): pbom暂存操作返回修改后的列表数据

因暂存操作是事务提交,当操作数据比较多时,可能事务还在提交中,但是前端查询列表请求已经过来了,这时会查询到脏数据
This commit is contained in:
曹鹏飞 2024-03-26 13:55:49 +08:00
parent 816fdad6c4
commit a824218822
2 changed files with 8 additions and 18 deletions

View File

@ -9,7 +9,6 @@ import com.nflg.product.bomnew.constant.EBomConstant;
import com.nflg.product.bomnew.constant.PBomEditStatusEnum;
import com.nflg.product.bomnew.constant.PBomStatusEnum;
import com.nflg.product.bomnew.pojo.dto.*;
import com.nflg.product.bomnew.pojo.dto.sap.ImportToSapDTO;
import com.nflg.product.bomnew.pojo.dto.sap.impart2.ImportSapParamDTO;
import com.nflg.product.bomnew.pojo.entity.BomNewPbomParentEntity;
import com.nflg.product.bomnew.pojo.entity.BomNewTechnologyPackageTypeEntity;
@ -17,12 +16,10 @@ import com.nflg.product.bomnew.pojo.query.BomNewPbomParentQuery;
import com.nflg.product.bomnew.pojo.vo.BaseMaterialVO;
import com.nflg.product.bomnew.pojo.vo.BomCopyCheckResultVO;
import com.nflg.product.bomnew.pojo.vo.BomNewPbomParentVO;
import com.nflg.product.bomnew.pojo.vo.BomNewTechnologyPackageTypeVO;
import com.nflg.product.bomnew.service.*;
import com.nflg.product.bomnew.util.VUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import nflg.product.common.constant.STATE;
import nflg.product.common.vo.ResultVO;
import org.springframework.web.bind.annotation.*;
@ -30,10 +27,8 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.ExecutionException;
/**
@ -102,9 +97,8 @@ public class PBomApi extends BaseApi {
@PostMapping("editStaging")
@ApiOperation("编辑-暂存")
@LogRecord(success = "PBom-编辑-暂存,物料编码:{{#bom.materialNo}}-版本:{{#bom.currentVersion}},操作结果:{{#_ret}}", bizNo = "{{#param.bomRowId}}",type = "PBom-编辑-暂存")
public ResultVO<Boolean> editStaging(@Valid @RequestBody EditPBomParamDTO param){
bomNewPbomParentService.editSave(param,PBomEditStatusEnum.HANDLER_TEMP);
return ResultVO.success(true);
public ResultVO<List<BomNewPbomParentVO>> editStaging(@Valid @RequestBody EditPBomParamDTO param){
return ResultVO.success(bomNewPbomParentService.editSave(param,PBomEditStatusEnum.HANDLER_TEMP));
}
@PostMapping("editSubmit")

View File

@ -6,7 +6,6 @@ import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.spring.SpringUtil;
import com.alibaba.excel.enums.BooleanEnum;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
@ -20,9 +19,6 @@ import com.nflg.product.base.core.exception.NflgBusinessException;
import com.nflg.product.bomnew.constant.*;
import com.nflg.product.bomnew.mapper.master.BomNewPbomParentMapper;
import com.nflg.product.bomnew.pojo.dto.*;
import com.nflg.product.bomnew.pojo.dto.sap.ImportToSapChildDTO;
import com.nflg.product.bomnew.pojo.dto.sap.ImportToSapDTO;
import com.nflg.product.bomnew.pojo.dto.sap.ImportToSapParentDTO;
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;
@ -30,7 +26,6 @@ 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 com.nflg.product.bomnew.util.LevelNumUtil;
import nflg.product.common.constant.STATE;
import nflg.product.common.vo.ResultVO;
import org.springframework.beans.factory.annotation.Qualifier;
@ -43,9 +38,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ForkJoinPool;
@ -310,7 +303,7 @@ public class BomNewPbomParentService extends ServiceImpl<BomNewPbomParentMapper,
* @param paramDTO
*/
@Transactional(rollbackFor = Exception.class)
public void editSave(EditPBomParamDTO paramDTO, PBomEditStatusEnum editStatus) {
public List<BomNewPbomParentVO> editSave(EditPBomParamDTO paramDTO, PBomEditStatusEnum editStatus) {
BomNewPbomParentEntity parent = this.getById(paramDTO.getBomRowId());
VUtils.isTure(Objects.isNull(parent)).throwMessage("参数错误该BOM不存在");
LogRecordContext.putVariable("bom",parent);
@ -321,8 +314,11 @@ public class BomNewPbomParentService extends ServiceImpl<BomNewPbomParentMapper,
pbomChildService.saveOrUpdateBatch(childList);
parent.setEditStatus(editStatus.getValue());
this.updateById(parent);
if (editStatus == PBomEditStatusEnum.HANDLER_TEMP) {
return getChild(paramDTO.getBomRowId());
} else {
return null;
}
}
/**