From 40518a2705bcfba059db5c6d0507421584c79324 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Tue, 5 Nov 2024 11:04:28 +0800 Subject: [PATCH 1/5] =?UTF-8?q?PBOM-=E9=94=81=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nflg/product/bomnew/api/user/PBomApi.java | 10 ++++++++++ .../mapper/master/BomNewPbomParentMapper.java | 3 +++ .../product/bomnew/pojo/dto/LockParamDTO.java | 18 ++++++++++++++++++ .../pojo/entity/BomNewPbomParentEntity.java | 12 ++++++++++++ .../bomnew/pojo/vo/BomNewPbomParentVO.java | 12 ++++++++++++ .../service/BomNewPbomParentService.java | 11 +++++++++++ .../service/domain/EBom/EBomToPbomBase.java | 4 +++- .../EBom/topbomnew/FormalEBomToPbomBase.java | 3 +++ .../mapper/master/BomNewPbomParentMapper.xml | 12 ++++++++++-- 9 files changed, 82 insertions(+), 3 deletions(-) create mode 100644 nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/LockParamDTO.java diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java index 613a6132..6f062199 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java @@ -491,4 +491,14 @@ public class PBomApi extends BaseApi { }; return ResultVO.success(true); } + + @PostMapping("lockOrUnLock") + @ApiOperation("PBOM-锁定OR解锁") + public ResultVO lock(@RequestBody LockParamDTO paramDTO){ + VUtils.isTure(CollUtil.isEmpty( paramDTO.getBomRowIds())).throwMessage("请选择要锁定的行"); + VUtils.isTure(Objects.isNull(paramDTO.getLockState())).throwMessage("锁定状态不能为空"); + VUtils.isTure(!ImmutableList.of(0,1).contains(paramDTO.getLockState())).throwMessage("锁定状态只能是0或1"); + bomNewPbomParentService.lock(paramDTO); + return ResultVO.success(true); + } } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewPbomParentMapper.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewPbomParentMapper.java index 4b97bcd2..4be88ee8 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewPbomParentMapper.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewPbomParentMapper.java @@ -3,6 +3,7 @@ package com.nflg.product.bomnew.mapper.master; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nflg.product.bomnew.pojo.dto.LockParamDTO; import com.nflg.product.bomnew.pojo.entity.BomNewPbomParentEntity; import com.nflg.product.bomnew.pojo.query.BomNewPbomParentQuery; import com.nflg.product.bomnew.pojo.vo.BomNewPbomParentVO; @@ -86,4 +87,6 @@ public interface BomNewPbomParentMapper extends BaseMapper getPBomExistMaterialInChildForWorkList(@Param("materialNo")String materialNo); + + void lock(@Param("paramDTO")LockParamDTO paramDTO , @Param("lockUserName") String lockUserName); } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/LockParamDTO.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/LockParamDTO.java new file mode 100644 index 00000000..fe4278fb --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/LockParamDTO.java @@ -0,0 +1,18 @@ +package com.nflg.product.bomnew.pojo.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * pbom-锁定参数 + */ +@Data +public class LockParamDTO { + @ApiModelProperty("pbom-版本行ID") + private List bomRowIds; + + @ApiModelProperty("锁定状态:0-解锁 1-锁定") + private Integer lockState; ; +} diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomNewPbomParentEntity.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomNewPbomParentEntity.java index 0708b07b..4d31e3c3 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomNewPbomParentEntity.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomNewPbomParentEntity.java @@ -382,6 +382,18 @@ public class BomNewPbomParentEntity implements Serializable { @ApiModelProperty(value = "异常状态:1=正常、2=冻结/完全弃用异常、3=递归异常、4=数据不完整异常、5=超级物料异常、6=重复异常") private Integer exceptionStatus; + @TableField(value = "lock_1020_state") + @ApiModelProperty(value = "是否锁定(1020),锁定时ebom转直接跳过") + private Integer lock1020State; + + @TableField(value = "lock_user_name") + @ApiModelProperty(value = "锁定人") + private String lockUserName; + + @TableField(value = "lock_time") + @ApiModelProperty(value = "锁定时间") + private LocalDateTime lockTime; + private static final long serialVersionUID = -31999878274445137L; } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewPbomParentVO.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewPbomParentVO.java index e59b8aa7..dcac3531 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewPbomParentVO.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewPbomParentVO.java @@ -1,6 +1,7 @@ package com.nflg.product.bomnew.pojo.vo; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.annotation.TableField; import com.nflg.product.bomnew.util.MyStrUtil; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -352,6 +353,17 @@ public class BomNewPbomParentVO extends BaseMaterialVO implements Serializable { @ApiModelProperty(value = "异常状态:1=正常、2=冻结/完全弃用异常、3=递归异常、4=数据不完整异常、5=超级物料异常、6=重复异常 7=物料主数据不存在 8=项目类别为空 9=项目赋值异常(父级物料的项目类型为Q时,子级中不能存在项目类别为Q的物料) 10=项目赋值异常(当父级物料的项目类型为F时,子级中不能存在项目类型为F的物料) 11=未填写变更原因和技术通知单 12=数量需要用户确认 13=项目类型需要用户确认") private Integer exceptionStatus=1; + + @ApiModelProperty(value = "是否锁定(1020),锁定时ebom转直接跳过") + private Integer lock1020State; + + + @ApiModelProperty(value = "锁定人") + private String lockUserName; + + @ApiModelProperty(value = "锁定时间") + private LocalDateTime lockTime; + private static final long serialVersionUID = 1L; @Override diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java index 4381b257..f689b800 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java @@ -390,6 +390,9 @@ public class BomNewPbomParentService extends ServiceImpl= PBomStatusEnum.PUBLISH.getValue()) { child.setStatus(PBomStatusEnum.BORROWED_PARTS.getValue()); } + child.setLock1020State(parentEntity.getLock1020State()); + child.setLockUserName(parentEntity.getLockUserName()); + child.setLockTime(parentEntity.getLockTime()); } else { //无BOM-版本时 确定版本号 //child.setSource(Objects.nonNull(parent) ? parent.getSource() : EBomSourceEnum.FROM_BOM.getValue()); child.setBomRowId(0L); @@ -2422,4 +2425,12 @@ public class BomNewPbomParentService extends ServiceImpl + + + @@ -59,7 +62,7 @@ should_bom_exist, super_material_status, bom_exist, last_version_is, edit_status, status, user_root_is, virtual_package_is, source_row_id, devise_user_code, devise_name,technology_user_code,technology_user_name, created_by, created_time, created_job, release_time, release_user_name,last_convert_mbom_user_name,last_convert_mbom_time, expire_end_time, remark, dept_name, level_num, change_desc, notice_nums, - order_no, modify_time,ebom_version,exception_status + order_no, modify_time,ebom_version,exception_status,lock_1020_state,lock_user_name,lock_time @@ -386,7 +389,12 @@ - + + update t_bom_new_pbom_parent set lock_1020_state=#{paramDTO.lockState} , lock_user_name=#{lockUserName}, lock_time=now() where row_id in + + #{item} + + From d528829d2b995190119af4e249366fa6c7b2a8b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Tue, 5 Nov 2024 12:34:32 +0800 Subject: [PATCH 2/5] =?UTF-8?q?PBOM-=E7=BC=96=E8=BE=91+T=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nflg/product/bomnew/service/BomNewPbomParentService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java index f689b800..db94a727 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java @@ -531,7 +531,7 @@ public class BomNewPbomParentService extends ServiceImpl fieldList = Lists.newArrayList("projectType","materialNo","drawingNo","num","unitWeight","remark"); childList.forEach(u -> { u.setParentRowId(paramDTO.getBomRowId()); - if(u.getRowId() == null){ + if(u.getRowId() == null || u.getRowId()<=0){ u.setSourceStatus(PbomSourceStatusEnum.PBOM.getValue()); u.setFacCode(parent.getFacCode()); }else{ From 37c9612a84f43d37a8a03c404b8a2ade4eead1df Mon Sep 17 00:00:00 2001 From: luolm <470431449@qq.com> Date: Tue, 5 Nov 2024 22:05:29 +0800 Subject: [PATCH 3/5] =?UTF-8?q?bom-=E7=BC=96=E8=BE=91=E6=97=B6=E7=9A=84T?= =?UTF-8?q?=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bomnew/service/BomNewPbomParentService.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java index db94a727..9431db90 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java @@ -534,6 +534,20 @@ public class BomNewPbomParentService extends ServiceImpl Date: Tue, 5 Nov 2024 22:31:11 +0800 Subject: [PATCH 4/5] =?UTF-8?q?Pbom-=E5=8F=96=E6=B6=88T=E9=A1=B9=E6=A3=80?= =?UTF-8?q?=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/nflg/product/bomnew/api/user/PBomApi.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java index 6f062199..2166d439 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java @@ -12,9 +12,7 @@ import com.google.common.collect.Sets; import com.mzt.logapi.context.LogRecordContext; import com.mzt.logapi.starter.annotation.LogRecord; import com.nflg.product.base.core.api.BaseApi; -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.constant.*; import com.nflg.product.bomnew.pojo.dto.*; import com.nflg.product.bomnew.pojo.dto.sap.impart2.ImportSapParamDTO; import com.nflg.product.bomnew.pojo.entity.BomNewPbomParentEntity; @@ -190,10 +188,11 @@ public class PBomApi extends BaseApi { @LogRecord(success = "PBom-编辑-提交,物料编码:{{#bom.materialNo}}-版本:{{#bom.currentVersion}},操作结果:{{#_ret}}", bizNo = "{{#param.bomRowId}}",type = "PBom-编辑-提交") public ResultVO editSubmit(@Valid @RequestBody EditPBomParamDTO param){ if (CollUtil.isNotEmpty(param.getChildList())) { - //检查物料编码是否存在 - bomNewPbomParentService.checkMaterialNo(param.getChildList()); + //检查物料编码是否存在 (排除T项) + List noTBom = param.getChildList().stream().filter(u -> !BomConstant.PROJECT_TYPE_TEMPORARY.equals(u.getProjectType())).collect(Collectors.toList()); + bomNewPbomParentService.checkMaterialNo(noTBom); //检查物料是否被冻结 - materialMainService.checkMaterialFreeze(param.getChildList()); + materialMainService.checkMaterialFreeze(noTBom); } bomNewPbomParentService.editSave(param, PBomEditStatusEnum.HANDLER_FINISHED); return ResultVO.success(true); From 8cbf61aafc52f95750d137871de615021a7d175b Mon Sep 17 00:00:00 2001 From: luolm <470431449@qq.com> Date: Tue, 5 Nov 2024 22:51:22 +0800 Subject: [PATCH 5/5] =?UTF-8?q?Pbom-=E8=A7=A3=E5=86=B3T=E9=A1=B9=E5=8F=AA?= =?UTF-8?q?=E8=83=BD=E5=8A=A0=E4=B8=80=E4=B8=AA=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/nflg/product/bomnew/service/BomNewPbomParentService.java | 1 + 1 file changed, 1 insertion(+) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java index 9431db90..9d896e55 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java @@ -532,6 +532,7 @@ public class BomNewPbomParentService extends ServiceImpl { u.setParentRowId(paramDTO.getBomRowId()); if(u.getRowId() == null || u.getRowId()<=0){ + u.setRowId(IdWorker.getId()); u.setSourceStatus(PbomSourceStatusEnum.PBOM.getValue()); u.setFacCode(parent.getFacCode()); //新增T项