diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/MBomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/MBomApi.java index fdc37164..e508337e 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/MBomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/MBomApi.java @@ -4,7 +4,9 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.nflg.product.base.core.api.BaseApi; import com.nflg.product.base.core.exception.NflgBusinessException; +import com.nflg.product.bomnew.constant.FactoryCodeEnum; import com.nflg.product.bomnew.constant.MBomConstantEnum; +import com.nflg.product.bomnew.constant.ValueEnum; import com.nflg.product.bomnew.pojo.query.BomNewMbomParentQuery; import com.nflg.product.bomnew.pojo.vo.BomNewMbomDetailVO; import com.nflg.product.bomnew.pojo.vo.BomNewMbomParentVO; @@ -29,7 +31,7 @@ import java.util.Objects; * @author makejava * @since 2024-01-01 10:53:24 */ -@Api(tags = "接口") +@Api(tags = "Mbom接口") @RestController @RequestMapping("mbom") public class MBomApi extends BaseApi { @@ -57,6 +59,17 @@ public class MBomApi extends BaseApi { } + @GetMapping("factoryList") + @ApiOperation("工厂列表") + public ResultVO factoryList() { + + List list= EnumUtils.listEnum( FactoryCodeEnum.class); + return ResultVO.success(list); + + } + + + @PostMapping("superSaterialList") @ApiOperation("设置超级物料列表") public ResultVO> superSaterialList(@RequestParam(value = "rowId") Long rowId ) { @@ -81,8 +94,8 @@ public class MBomApi extends BaseApi { if(StrUtil.isEmpty(EnumUtils.getEnumDescription(MBomConstantEnum.MBomSuperMaterialStatusEnum.class,status))){ throw new NflgBusinessException(STATE.ParamErr,"status 不在范围内"); } - - return ResultVO.success(); + bomNewMbomDetailService.superSaterialStatusTag(rowId,status); + return ResultVO.success(true); } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/constant/FactoryCodeEnum.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/constant/FactoryCodeEnum.java index 178accb9..01c7c154 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/constant/FactoryCodeEnum.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/constant/FactoryCodeEnum.java @@ -1,11 +1,13 @@ package com.nflg.product.bomnew.constant; import lombok.AllArgsConstructor; +import lombok.Data; import lombok.Getter; @Getter @AllArgsConstructor -public enum FactoryCodeEnum { + +public enum FactoryCodeEnum implements ValueEnum { FACTORY_1010 ("1010", "泉州工厂"), FACTORY_1020("1020", "仙桃工厂"); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewMbomParentMapper.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewMbomParentMapper.java index 0bea9697..9ec04ca8 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewMbomParentMapper.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewMbomParentMapper.java @@ -2,7 +2,15 @@ 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.entity.BomNewMbomParentEntity; +import com.nflg.product.bomnew.pojo.query.BomNewMbomParentQuery; +import com.nflg.product.bomnew.pojo.query.OriginalBomQuery; +import com.nflg.product.bomnew.pojo.vo.BomNewMbomMiddleVO; +import com.nflg.product.bomnew.pojo.vo.BomOriginalListVO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * t_bom_new_mbom_parent 表数据库访问层 @@ -12,4 +20,25 @@ import com.nflg.product.bomnew.pojo.entity.BomNewMbomParentEntity; * @since 2024-01-01 10:53:24 */ public interface BomNewMbomParentMapper extends BaseMapper { + + + Page getMBomListPage(Page page, @Param("query") BomNewMbomParentQuery query ); + + /** + * 查询索引 + * @param page + * @param query + * @return + */ + Page indexListPage(Page page, @Param("query") BomNewMbomParentQuery query ); + + /** + * 递归向上查找所有数据 + * @param rowId 当前行 + * @return + */ + List searchList(@Param("rowId") Long rowId ); + + + } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomNewMbomBackMaterialEntity.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomNewMbomBackMaterialEntity.java index 7ec91989..922f799c 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomNewMbomBackMaterialEntity.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomNewMbomBackMaterialEntity.java @@ -33,10 +33,19 @@ public class BomNewMbomBackMaterialEntity implements Serializable { /** * 退回的row_id(和ebom表row_id 关联) */ - @TableField(value = "source_id") - @ApiModelProperty(value = "退回的row_id(和ebom表row_id 关联)") - private Long sourceId; - + @TableField(value = "source_row_id") + @ApiModelProperty(value = "退回的row_id pbom表") + private Long sourceRowId; + + @TableField(value = "detail_row_id") + @ApiModelProperty(value = "detail行id)") + private Long detailRowId; + + @TableField(value = "bom_row_id") + @ApiModelProperty(value = "mbom_parent表row_id关联)") + private Long bomRowId; + + /** * 退回人名称 */ diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/BomNewMbomParentQuery.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/BomNewMbomParentQuery.java index 264d933b..43aef190 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/BomNewMbomParentQuery.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/BomNewMbomParentQuery.java @@ -20,20 +20,8 @@ import java.time.LocalDate; @Data @Accessors(chain = true) @ApiModel(value="com-nflg-product-bomnew-pojo-new-query-BomNewMbomParentEntityQuery") -public class BomNewMbomParentQuery implements Serializable { - - /** - * 主键行ID-雪花 - */ - @ApiModelProperty(value = "主键行ID-雪花") - private Long rowId; - - /** - * 批号-来自plm-临时 - */ - @ApiModelProperty(value = "批号-来自plm-临时") - private String batchNo; - +public class BomNewMbomParentQuery extends BasePageQuery implements Serializable { + /** * 图号 */ @@ -51,222 +39,44 @@ public class BomNewMbomParentQuery implements Serializable { */ @ApiModelProperty(value = "物料编码") private String materialNo; - + + + + /** - * 排序号 - */ - @ApiModelProperty(value = "排序号") - private String orderNumber; - - /** - * 物料名称 - */ - @ApiModelProperty(value = "物料名称") - private String materialName; - - /** - * 物料描述 - */ - @ApiModelProperty(value = "物料描述") - private String materialDesc; - - /** - * 材质,材料 - */ - @ApiModelProperty(value = "材质,材料") - private String materialTexture; - - /** - * 单位 - */ - @ApiModelProperty(value = "单位") - private String materialUnit; - - /** - * 单重 - */ - @ApiModelProperty(value = "单重") - private BigDecimal unitWeight; - - /** - * 总重 - */ - @ApiModelProperty(value = "总重") - private BigDecimal totalWeight; - - /** - * 版本号 - */ - @ApiModelProperty(value = "版本号") - private String currentVersion; - - /** - * 数量 - */ - @ApiModelProperty(value = "数量") - private BigDecimal num; - - /** - * 是否最新版:0-否 1-是 - */ - @ApiModelProperty(value = "是否最新版:0-否 1-是") - private Integer lastVersionIs; - - /** - * 1、待发布(sap)、3=已发布 - */ - @ApiModelProperty(value = "1、待发布(sap)、3=已发布") - private Integer status; - - /** - * 发布sap人员 - */ - @ApiModelProperty(value = "发布sap人员") - private String sysnSapUserName; - - /** - * 发布sap时间 - */ - @ApiModelProperty(value = "发布sap时间") - private LocalDateTime sysnSapTime; - - /** - * 开始发布sap时间 - */ - @ApiModelProperty(value = "发布sap时间开始时间") - private LocalDateTime sysnSapTimeStart; - - /** - * 结束发布sap时间 - */ - @ApiModelProperty(value = "发布sap时间结束时间") - private LocalDateTime sysnSapTimeEnd; - - /** - * 来源行ID(PBOM中parent的行ID) - */ - @ApiModelProperty(value = "来源行ID(PBOM中parent的行ID)") - private Long sourceRowId; - - /** - * 设计人员编码 - */ - @ApiModelProperty(value = "设计人员编码") - private String deviseUserCode; - - /** - * 设计人员名称 - */ - @ApiModelProperty(value = "设计人员名称") - private String deviseName; - - /** - * 创建人编码 - */ - @ApiModelProperty(value = "创建人编码") - private String createdBy; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - private LocalDateTime createdTime; - - /** - * 开始创建时间 - */ - @ApiModelProperty(value = "创建时间开始时间") - private LocalDateTime createdTimeStart; - - /** - * 结束创建时间 - */ - @ApiModelProperty(value = "创建时间结束时间") - private LocalDateTime createdTimeEnd; - - /** - * 版本过期时间=下个版本的创建时间 - */ - @ApiModelProperty(value = "版本过期时间=下个版本的创建时间") - private LocalDateTime expireEndTime; - - /** - * 开始版本过期时间=下个版本的创建时间 - */ - @ApiModelProperty(value = "版本过期时间=下个版本的创建时间开始时间") - private LocalDateTime expireEndTimeStart; - - /** - * 结束版本过期时间=下个版本的创建时间 - */ - @ApiModelProperty(value = "版本过期时间=下个版本的创建时间结束时间") - private LocalDateTime expireEndTimeEnd; - - /** - * 备注 - */ - @ApiModelProperty(value = "备注") - private String remark; - - /** - * 设计维护部门名称 - */ - @ApiModelProperty(value = "设计维护部门名称") - private String deptName; - - /** - * bom树的高度 - */ - @ApiModelProperty(value = "bom树的高度") - private Integer levelNum; - - /** - * 升版说明 - */ - @ApiModelProperty(value = "升版说明") - private String changeDesc; - - /** - * 通知单号 - */ - @ApiModelProperty(value = "通知单号") - private String noticeNums; - - /** - * 订单号 - */ + * 订单号 + */ @ApiModelProperty(value = "订单号") private String orderNo; + + + @ApiModelProperty(value = "开始时间") + private String startDate; + /** - * 修改时间 + * */ - @ApiModelProperty(value = "修改时间") - private LocalDateTime modifyTime; + @ApiModelProperty(value = "结束时间") + private String endDate; + + + + + + + + + @ApiModelProperty(value = "前端忽略,创建人编码") + private String createdBy; + /** - * 开始修改时间 - */ - @ApiModelProperty(value = "修改时间开始时间") - private LocalDateTime modifyTimeStart; - - /** - * 结束修改时间 - */ - @ApiModelProperty(value = "修改时间结束时间") - private LocalDateTime modifyTimeEnd; - - /** - * 设置每页显示条数 + * 1、待发布(sap)、3=已发布 */ - @ApiModelProperty(value = "设置每页显示条数") - private Long pageSize = 20L; - - /** - * 当前页 - */ - @ApiModelProperty(value = "当前页") - private Long page = 1L; - - private static final long serialVersionUID = 1L; + @ApiModelProperty(value = "前端忽略,状态") + private Integer status; + + + } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewMbomMiddleVO.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewMbomMiddleVO.java new file mode 100644 index 00000000..b018f890 --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewMbomMiddleVO.java @@ -0,0 +1,223 @@ +package com.nflg.product.bomnew.pojo.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.Collections; +import java.util.List; +import java.util.Objects; + +/** + * t_bom_new_mbom_parent + * + * + * @author makejava + * @since 2024-01-01 10:53:26 + */ +@Data +@Accessors(chain = true) +@ApiModel(value="com-nflg-product-bomnew-pojo-new-vo-BomNewMbomMiddleVO") +public class BomNewMbomMiddleVO extends BaseMaterialVO implements Serializable { + + /** + * 主键行ID-雪花 + */ + @ApiModelProperty(value = "主键行ID-雪花") + private Long rowId; + + + /** + * bom版本行ID,和mbom_parent表row_id关联 + */ + @ApiModelProperty(value = "bom版本行ID,和mbom_parent表row_id关联") + private Long bomRowId; + + /** + * 父级行ID + */ + @ApiModelProperty(value = "父级行ID") + private Long parentRowId; + + + + /** + * 批号-来自plm-临时 + */ + @ApiModelProperty(value = "批号-来自plm-临时") + private String batchNo; + + + + /** + * 工厂编码 + */ + @ApiModelProperty(value = "工厂编码") + private String facCode; + + + + /** + * 排序号 + */ + @ApiModelProperty(value = "排序号") + private String orderNumber; + + + + + + + + + + + /** + * 版本号 + */ + @ApiModelProperty(value = "版本号") + private String currentVersion; + + /** + * 数量 + */ + @ApiModelProperty(value = "数量") + private BigDecimal num; + + /** + * 是否最新版:0-否 1-是 + */ + @ApiModelProperty(value = "是否最新版:0-否 1-是") + private Integer lastVersionIs; + + /** + * 1、待发布(sap)、3=已发布 + */ + @ApiModelProperty(value = "1、待发布(sap)、3=已发布") + private Integer status; + + /** + * 发布sap人员 + */ + @ApiModelProperty(value = "发布sap人员") + private String sysnSapUserName; + + /** + * 发布sap时间 + */ + @ApiModelProperty(value = "发布sap时间") + private LocalDateTime sysnSapTime; + + /** + * 来源行ID(PBOM中parent的行ID) + */ + @ApiModelProperty(value = "来源行ID(PBOM中parent的行ID)") + private Long sourceRowId; + + /** + * 设计人员编码 + */ + @ApiModelProperty(value = "设计人员编码") + private String deviseUserCode; + + /** + * 设计人员名称 + */ + @ApiModelProperty(value = "设计人员名称") + private String deviseName; + + /** + * 创建人编码 + */ + @ApiModelProperty(value = "创建人编码") + private String createdBy; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建时间") + private LocalDateTime createdTime; + + /** + * 版本过期时间=下个版本的创建时间 + */ + @ApiModelProperty(value = "版本过期时间=下个版本的创建时间") + private LocalDateTime expireEndTime; + + /** + * 备注 + */ + @ApiModelProperty(value = "备注") + private String remark; + + /** + * 设计维护部门名称 + */ + @ApiModelProperty(value = "设计维护部门名称") + private String deptName; + + /** + * bom树的高度 + */ + @ApiModelProperty(value = "bom树的高度") + private Integer levelNum; + + /** + * 升版说明 + */ + @ApiModelProperty(value = "升版说明") + private String changeDesc; + + /** + * 通知单号 + */ + @ApiModelProperty(value = "通知单号") + private String noticeNums; + + /** + * 订单号 + */ + @ApiModelProperty(value = "订单号") + private String orderNo; + + /** + * 修改时间 + */ + @ApiModelProperty(value = "修改时间") + private LocalDateTime modifyTime; + + + + /** + * 超级物料 0-否 1-是 + */ + @ApiModelProperty(value = "超级物料 0-否 1-是") + private Integer superMaterialStatus; + + /** + * 是否虚拟件 0-否 1-是 + */ + @ApiModelProperty(value = "是否虚拟件 0-否 1-是") + private Integer virtualPartIs; + + @ApiModelProperty(value = "是否有下级 0-否 1-是") + private Integer bomExist; + public Integer getBomExist(){ + if(Objects.isNull(bomExist)){ + return 0; + } + if(bomExist>0){return 1;} + return 0; + } + + + + + + private List childNodes = Collections.emptyList(); + +} diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java index e9593f89..25f225c4 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java @@ -417,8 +417,19 @@ public class BomNewEbomParentService extends ServiceImpl list, String ... ignorePropertyList) { + CheckEBomException checkEBomException = new CheckEBomException(list); + checkEBomException.initException(ignorePropertyList); + + //保存异常 + saveException(checkEBomException); + } + + + public void checkBomException(List list) { CheckEBomException checkEBomException = new CheckEBomException(list); checkEBomException.checkException(); @@ -1326,7 +1337,7 @@ public class BomNewEbomParentService extends ServiceImpl { + /** + * 退回 + * @param rowId + */ + public void back(List rowId){ - + } diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewMbomBackMaterialMapper.xml b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewMbomBackMaterialMapper.xml index eb017fd6..a6046eb8 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewMbomBackMaterialMapper.xml +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewMbomBackMaterialMapper.xml @@ -6,7 +6,14 @@ - + + + + + + + + diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewMbomParentMapper.xml b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewMbomParentMapper.xml index ff26d151..24793bbe 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewMbomParentMapper.xml +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewMbomParentMapper.xml @@ -3,43 +3,132 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - row_id, batch_no, drawing_no, fac_code, material_no, order_number, material_name, material_desc, material_texture, material_unit, unit_weight, total_weight, current_version, num, last_version_is, status, sysn_sap_user_name, sysn_sap_time, source_row_id, devise_user_code, devise_name, created_by, created_time, expire_end_time, remark, dept_name, level_num, change_desc, notice_nums, order_no, modify_time - + row_id, batch_no, drawing_no, fac_code, material_no, order_number, material_name, material_desc, + material_texture, material_unit, unit_weight, total_weight, current_version, num, last_version_is, status, + sysn_sap_user_name, sysn_sap_time, source_row_id, devise_user_code, devise_name, created_by, created_time, + expire_end_time, remark, dept_name, level_num, change_desc, notice_nums, order_no, modify_time + + + + + + + + + + + and drawing_no=#{query.drawingNo} + + + and material_no=#{query.materialNo} + + + and fac_code=#{query.facCode} + + + + + = #{query.startDate} and created_time <=#{query.endDate}]]> + + + + + + + + + + and order_no=#{query.orderNo} + + + + + + + + + + + + + + + +