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 f2a7072a..33413e4b 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 @@ -1,19 +1,30 @@ package com.nflg.product.bomnew.api.user; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.nflg.product.base.core.api.BaseApi; +import com.nflg.product.bomnew.constant.PBomEditStatusEnum; +import com.nflg.product.bomnew.pojo.dto.EditPBomDelDTO; +import com.nflg.product.bomnew.pojo.dto.EditPBomParamDTO; +import com.nflg.product.bomnew.pojo.dto.TechnologyPackageParam; +import com.nflg.product.bomnew.pojo.entity.BomNewTechnologyPackageTypeEntity; import com.nflg.product.bomnew.pojo.query.BomNewPbomParentQuery; +import com.nflg.product.bomnew.pojo.vo.BaseMaterialVO; import com.nflg.product.bomnew.pojo.vo.BomNewPbomParentVO; +import com.nflg.product.bomnew.pojo.vo.BomNewTechnologyPackageTypeVO; import com.nflg.product.bomnew.service.BomNewPbomParentService; +import com.nflg.product.bomnew.service.BomNewTechnologyPackageTypeService; +import com.nflg.product.bomnew.util.VUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import nflg.product.common.vo.ResultVO; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.List; /** * t_bom_new_pbom_parent 表控制层 @@ -22,7 +33,7 @@ import javax.annotation.Resource; * @author makejava * @since 2024-01-01 10:39:57 */ -@Api(tags = "接口") +@Api(tags = "PBom接口") @RestController @RequestMapping("pbom") public class PBomApi extends BaseApi { @@ -33,18 +44,100 @@ public class PBomApi extends BaseApi { @Resource private BomNewPbomParentService bomNewPbomParentService; - /** - * 分页查询所有数据 - * - * @param query Query 查询实体 - * @return 所有数据 - */ - @PostMapping("selectBomNewPbomParentEntityPageByCondition") - @ApiOperation("auto-按字段条件分页查询") - public ResultVO> selectBomNewPbomParentEntityPageByCondition(@RequestBody BomNewPbomParentQuery query) { + + @Resource + private BomNewTechnologyPackageTypeService technologyPackageTypeService; + + + @PostMapping("workDetailsListByPage") + @ApiOperation("PBom工作列表") + public ResultVO> workDetailsListByPage(@RequestBody BomNewPbomParentQuery query) { + return ResultVO.success(bomNewPbomParentService.workDetailsListByPage(query)); + } + + @PostMapping("releaseListByPage") + @ApiOperation("PBom已发布工作列表") + public ResultVO> releaseListByPage(@RequestBody BomNewPbomParentQuery query) { return ResultVO.success(); } - - - } + @GetMapping("getChild") + @ApiOperation("获取子级") + public ResultVO> getChild(@RequestParam("bomRowId") Long bomRowId){ + return ResultVO.success(bomNewPbomParentService.getChild(bomRowId)); + } + + @PostMapping("editStaging") + @ApiOperation("编辑-暂存") + public ResultVO editStaging(@Valid @RequestBody EditPBomParamDTO param){ + bomNewPbomParentService.editSave(param,PBomEditStatusEnum.HANDLER_TEMP); + return ResultVO.success(true); + } + + @PostMapping("editSubmit") + @ApiOperation("编辑-提交") + public ResultVO editSubmit(@Valid @RequestBody EditPBomParamDTO param){ + bomNewPbomParentService.editSave(param, PBomEditStatusEnum.HANDLER_FINISHED); + return ResultVO.success(true); + } + + @PostMapping("editDel") + @ApiOperation("编辑-删除") + public ResultVO editDel(@Valid @RequestBody EditPBomDelDTO param){ + VUtils.isTure(CollUtil.isEmpty(param.getRowIdList())).throwMessage("请选择要删除的数据行"); + bomNewPbomParentService.editDel(param); + return ResultVO.success(true); + } + + @PostMapping("setVirtualPart") + @ApiOperation("编辑-设置虚拟件") + public ResultVO setVirtualPart(@RequestBody List rowIdList){ + VUtils.isTure(CollUtil.isEmpty(rowIdList)).throwMessage("请选择要设置虚拟件的行"); + + bomNewPbomParentService.setVirtualPart(rowIdList); + return ResultVO.success(true); + } + + @GetMapping("editExport") + @ApiOperation("编辑-导出Excel") + public void editExport(@RequestParam("bomRowId") Long bomRowId, HttpServletResponse response) throws IOException { + bomNewPbomParentService.editExport(bomRowId,response); + } + + + @PostMapping("insertTechnologyPackage") + @ApiOperation("编辑-插入工艺包") + public ResultVO insertTechnologyPackage(@Valid @RequestBody TechnologyPackageParam packageParam){ + + return ResultVO.success(true); + } + + + @GetMapping("getTechnologyPackageList") + @ApiOperation("编辑-获取工艺包类型") + public ResultVO > getTechnologyPackageList(){ + + return ResultVO.success(technologyPackageTypeService.getBaseMapper().selectList(null)); + } + + @PostMapping("createTechnologyPackage") + @ApiOperation("编辑-创建虚拟包") + public ResultVO createTechnologyPackage(TechnologyPackageParam packageParam) throws IOException { + + return ResultVO.success( bomNewPbomParentService.createTechnologyPackage(packageParam)); + + } + + + + + + + + + + + + + +} diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/constant/PBomEditStatusEnum.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/constant/PBomEditStatusEnum.java new file mode 100644 index 00000000..c6841132 --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/constant/PBomEditStatusEnum.java @@ -0,0 +1,18 @@ +package com.nflg.product.bomnew.constant; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum PBomEditStatusEnum implements ValueEnum{ + + //1=待处理、2=暂存 3=已处理 + HANDLER_CREATED(1,"待处理"), + HANDLER_TEMP(2,"暂存"), + HANDLER_FINISHED(3,"已处理"); + + + private final Integer value; + private final String description; +} diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/constant/PBomStatusEnum.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/constant/PBomStatusEnum.java index 488ea8d0..73a3c787 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/constant/PBomStatusEnum.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/constant/PBomStatusEnum.java @@ -7,10 +7,12 @@ import lombok.Getter; @AllArgsConstructor public enum PBomStatusEnum implements ValueEnum{ - //1=EBOM生成、2=暂存(当编辑时状态改为暂存)、3=已发布 - EBOM_GENERATE(1,"EBOM生成"), - TEMP_SAVE(2,"暂存"), - PUBLISH(3,"已发布"); + //1=待发布 2=待分配工厂 3=已分配工厂 4=已发布 + WAIT_PUBLISH(1,"待发布"), + WAIT_FACTORY(2,"待分配工厂"), + FACTORY_CONFIRM(3,"已分配工厂"), + PUBLISH(4,"已发布"), + BORROWED_PARTS(5, "借用件"); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewPbomChildMapper.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewPbomChildMapper.java index 40b61738..0d2ef0ad 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewPbomChildMapper.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewPbomChildMapper.java @@ -3,6 +3,9 @@ package com.nflg.product.bomnew.mapper.master; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.nflg.product.bomnew.pojo.entity.BomNewPbomChildEntity; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * t_bom_new_pbom_child 表数据库访问层 @@ -12,4 +15,8 @@ import com.nflg.product.bomnew.pojo.entity.BomNewPbomChildEntity; * @since 2024-01-01 10:39:51 */ public interface BomNewPbomChildMapper extends BaseMapper { + + void delByRowId(@Param("rowIds")List rowIds); + + void setVirtualPart(@Param("rowIds") List rowIds); } 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 305e087d..19530b46 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 @@ -2,7 +2,13 @@ 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.BomNewPbomParentEntity; +import com.nflg.product.bomnew.pojo.query.BomNewPbomParentQuery; +import com.nflg.product.bomnew.pojo.vo.BomNewPbomParentVO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * t_bom_new_pbom_parent 表数据库访问层 @@ -12,4 +18,8 @@ import com.nflg.product.bomnew.pojo.entity.BomNewPbomParentEntity; * @since 2024-01-01 10:39:58 */ public interface BomNewPbomParentMapper extends BaseMapper { + + Page workDetailsListByPage(Page page, @Param("query") BomNewPbomParentQuery query , @Param("userFac") String userFac); + + List getParentChild(@Param("parentRowId") Long parentRowId); } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewTechnologyPackageTypeMapper.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewTechnologyPackageTypeMapper.java new file mode 100644 index 00000000..ea5dbdbb --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewTechnologyPackageTypeMapper.java @@ -0,0 +1,15 @@ +package com.nflg.product.bomnew.mapper.master; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.nflg.product.bomnew.pojo.entity.BomNewTechnologyPackageTypeEntity; + +/** + * t_bom_new_technology_package_type 表数据库访问层 + * 工艺包类型 + * + * @author makejava + * @since 2024-01-01 17:24:58 + */ +public interface BomNewTechnologyPackageTypeMapper extends BaseMapper { +} diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/MaterialMainMapper.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/MaterialMainMapper.java index bf8151de..cc1348ba 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/MaterialMainMapper.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/MaterialMainMapper.java @@ -37,6 +37,8 @@ public interface MaterialMainMapper extends BaseMapper { List getUserPost(@Param("userRowId") Long userRowId); + Integer getUserMultiplantFacRoleCount(@Param("userRowId") Long userRowId); + } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/EditPBomDelDTO.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/EditPBomDelDTO.java new file mode 100644 index 00000000..4a1cd8f2 --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/EditPBomDelDTO.java @@ -0,0 +1,24 @@ +package com.nflg.product.bomnew.pojo.dto; + +import com.nflg.product.bomnew.pojo.vo.BomNewPbomParentVO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * 编辑-PBOM时 删除参数 + */ +@Data +public class EditPBomDelDTO { + + @ApiModelProperty("Bom行ID") + @NotNull(message = "Bom行ID不能为空") + private Long bomRowId; + + + @ApiModelProperty("子节点rowId列表") + List rowIdList; + +} diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/EditPBomParamDTO.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/EditPBomParamDTO.java new file mode 100644 index 00000000..30aecab0 --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/EditPBomParamDTO.java @@ -0,0 +1,25 @@ +package com.nflg.product.bomnew.pojo.dto; + +import com.nflg.product.bomnew.pojo.vo.BomNewPbomParentVO; +import io.swagger.annotations.ApiModelProperty; +import io.swagger.annotations.ApiOperation; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * 编辑-PBOM时 保存参数 + */ +@Data +public class EditPBomParamDTO { + + @ApiModelProperty("Bom行ID") + @NotNull(message = "Bom行ID不能为空") + private Long bomRowId; + + + @ApiModelProperty("子节点列表") + List childList; + +} diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/TechnologyPackageParam.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/TechnologyPackageParam.java new file mode 100644 index 00000000..9432f5ef --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/TechnologyPackageParam.java @@ -0,0 +1,36 @@ +package com.nflg.product.bomnew.pojo.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * 插入工艺包参数 + */ + +@Data +public class TechnologyPackageParam { + + @ApiModelProperty("bom行ID") + @NotNull(message = "bom行ID不能为空") + private Long bomRowId; + + + @ApiModelProperty("虚拟包层次 0-上级 1-下级") + @NotNull(message = "虚拟包层次不能为空") + private Integer levelBelong; + + @ApiModelProperty("工艺包物料编码") + private String technologyPackageMaterialNo; + + + @ApiModelProperty("工艺包类型rowId(创建工艺包时用)") + private Long technologyPackageTypeRowId; + + + + @ApiModelProperty("子级rowId列表") + private List rowIds; +} diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomNewTechnologyPackageTypeEntity.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomNewTechnologyPackageTypeEntity.java new file mode 100644 index 00000000..d12abba6 --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomNewTechnologyPackageTypeEntity.java @@ -0,0 +1,55 @@ +package com.nflg.product.bomnew.pojo.entity; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import lombok.Data; +import lombok.experimental.Accessors; +import java.time.LocalDateTime; +import java.time.LocalDate; + +/** + * t_bom_new_technology_package_type + * 工艺包类型 + * + * @author makejava + * @since 2024-01-01 17:24:58 + */ +@Data +@Accessors(chain = true) +@ApiModel(value="com-nflg-product-bomnew-pojo-new-entity-BomNewTechnologyPackageTypeEntity") +@TableName(value = "t_bom_new_technology_package_type") +public class BomNewTechnologyPackageTypeEntity implements Serializable { + + /** + * 主键 + */ + @TableId(value = "row_id", type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private Long rowId; + + /** + * 类型名称 + */ + @TableField(value = "type_name") + @ApiModelProperty(value = "类型名称") + private String typeName; + + /** + * 图号后缀 + */ + @TableField(value = "drawing_no_suffix") + @ApiModelProperty(value = "图号后缀") + private String drawingNoSuffix; + + /** + * 备注 + */ + @TableField(value = "remark") + @ApiModelProperty(value = "备注") + private String remark; + + private static final long serialVersionUID = 749385441704901887L; + +} diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/BomNewPbomParentQuery.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/BomNewPbomParentQuery.java index b5fd37bd..70abfcd0 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/BomNewPbomParentQuery.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/BomNewPbomParentQuery.java @@ -21,294 +21,29 @@ import java.time.LocalDate; @Accessors(chain = true) @ApiModel(value="com-nflg-product-bomnew-pojo-new-query-BomNewPbomParentEntityQuery") public class BomNewPbomParentQuery implements Serializable { - + /** - * 主键行ID-雪花 + * 物料编码 */ - @ApiModelProperty(value = "主键行ID-雪花") - private Long rowId; - - /** - * 批号-来自plm-临时 - */ - @ApiModelProperty(value = "批号-来自plm-临时") - private String batchNo; - - /** - * 图号 - */ - @ApiModelProperty(value = "图号") - private String drawingNo; - - /** - * 工厂编码 - */ - @ApiModelProperty(value = "工厂编码") - private String facCode; - - /** - * 物料编码 - */ @ApiModelProperty(value = "物料编码") private String materialNo; - /** - * 排序号 - */ - @ApiModelProperty(value = "排序号") - private String orderNumber; - + * 图号 + */ + @ApiModelProperty(value = "图号") + private String drawingNo; + /** - * 物料名称 - */ - @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; - - /** - * 项目类别 - */ - @ApiModelProperty(value = "项目类别") - private String projectType; - - /** - * 是否跟节点 0-否 1-是 - */ - @ApiModelProperty(value = "是否跟节点 0-否 1-是") - private Integer rootIs; - - /** - * 是否应该有BOM 0-否 1-是 - */ - @ApiModelProperty(value = "是否应该有BOM 0-否 1-是") - private Integer shouldBomExist; - - /** - * 超级物料 0-否 1-是 - */ - @ApiModelProperty(value = "超级物料 0-否 1-是") - private Integer superMaterialStatus; - - /** - * 是否有BOM: 0-否 1-是 - */ - @ApiModelProperty(value = "是否有BOM: 0-否 1-是") - private Integer bomExist; - - /** - * 是否最新版:0-否 1-是 - */ - @ApiModelProperty(value = "是否最新版:0-否 1-是") - private Integer lastVersionIs; - - /** - * 1=待处理、2=暂存 3=已处理 - */ - @ApiModelProperty(value = "1=待处理、2=暂存 3=已处理") - private Integer editStatus; - - /** - * BOM状态:1=待发布 2=待分配工厂 3=已分配工厂 4=已发布 - */ - @ApiModelProperty(value = "BOM状态:1=待发布 2=待分配工厂 3=已分配工厂 4=已发布") - private Integer status; - - /** - * 是否用户跟节点 0-否 1-是 - */ - @ApiModelProperty(value = "是否用户跟节点 0-否 1-是") - private Integer userRootIs; - - /** - * 是否虚拟包 0-否 1-是 - */ - @ApiModelProperty(value = "是否虚拟包 0-否 1-是") - private Integer virtualPackageIs; - - /** - * 来源行ID(EBOM中的行ID) - */ - @ApiModelProperty(value = "来源行ID(EBOM中的行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; - - /** - * 创建人员所属岗位 0-设计人员 1-工艺人员 2-其他 - */ - @ApiModelProperty(value = "创建人员所属岗位 0-设计人员 1-工艺人员 2-其他") - private Integer createdJob; - - /** - * 发布时间 - */ - @ApiModelProperty(value = "发布时间") - private LocalDateTime releaseTime; - - /** - * 开始发布时间 - */ - @ApiModelProperty(value = "发布时间开始时间") - private LocalDateTime releaseTimeStart; - - /** - * 结束发布时间 - */ - @ApiModelProperty(value = "发布时间结束时间") - private LocalDateTime releaseTimeEnd; - - /** - * 发布人 - */ - @ApiModelProperty(value = "发布人") - private String releaseUserName; - - /** - * 版本过期时间=下个版本的创建时间 - */ - @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 LocalDateTime modifyTime; - - /** - * 开始修改时间 - */ - @ApiModelProperty(value = "修改时间开始时间") - private LocalDateTime modifyTimeStart; - - /** - * 结束修改时间 - */ - @ApiModelProperty(value = "修改时间结束时间") - private LocalDateTime modifyTimeEnd; + *工厂编码 + */ + @ApiModelProperty(value = "工厂编码") + private String facCode; + + @ApiModelProperty(value = "开始时间") + private String startDate; + + @ApiModelProperty(value = "结束时间") + private String endDate; /** * 设置每页显示条数 diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewPbomEditExcelVO.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewPbomEditExcelVO.java new file mode 100644 index 00000000..3c4f4e31 --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewPbomEditExcelVO.java @@ -0,0 +1,145 @@ +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 org.ttzero.excel.annotation.ExcelColumn; + +import javax.validation.Valid; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.Objects; + + +/** + * pom编辑导出Excel模版 + */ +@Data +@Accessors(chain = true) +public class BomNewPbomEditExcelVO implements Serializable { + + + + @ExcelColumn(value = "排序号") + private String orderNumber; + + @ExcelColumn(value = "项目类别") + private String projectType; + + + @ExcelColumn(value = "物料编码") + private String materialNo; + + @ExcelColumn(value = "版本号") + private String currentVersion; + + + @ExcelColumn(value = "图号") + private String drawingNo; + + + @ExcelColumn(value = "物料描述") + private String materialDesc; + + @ExcelColumn(value = "数量") + private BigDecimal num; + + + @ExcelColumn(value = "单位") + private String materialUnit; + + + @ExcelColumn(value = "总重") + private BigDecimal totalWeight; + + + + private Integer bomExist; + + @ExcelColumn(value = "有无下级") + private String bomExistName; + + public String getBomExistName() { + return bomExist.equals(1)? "有" : "无"; + } + + private Integer superMaterialStatus; + + @ExcelColumn(value = "是否超级物料") + private Integer superMaterialStatusName; + + public String getSuperMaterialStatusName() { + return superMaterialStatus.equals(1)? "是" : "否"; + } + + @ExcelColumn(value = "物料分类") + private String categoryName; + + private Integer virtualPartIs; + + @ExcelColumn(value = "是否虚拟件") + private String virtualPartIsName; + + public String getVirtualPartIsName() { + return virtualPartIs.equals(1)? "是" : "否"; + } + + + + @ExcelColumn(value = "创建时间") + private LocalDateTime createdTime; + + + @ExcelColumn(value = "更新时间") + private LocalDateTime modifyTime; + + + @ExcelColumn(value = "生效日期") + private LocalDateTime effectStartTime; + + public LocalDateTime getEffectStartTime() { + return createdTime; + } + + @ExcelColumn(value = "有效至") + private LocalDateTime expireEndTime; + + @ApiModelProperty("物料状态 1:激活 2:禁止采购 3:售后专用 4:冻结 5:完全弃用") + private Integer materialState; + + @ExcelColumn(value = "物料状态") + private String materialStateName; + + private String[] materialStateNameArr= {"","激活","禁止采购","售后专用","冻结","完全弃用"}; + + @ExcelColumn(value = "物料状态") + public String getMaterialStateName() { + return materialState==null?"": materialStateNameArr[materialState]; + } + + @ApiModelProperty("BOM状态:1=待发布 2=待分配工厂 3=已分配工厂 4=已发布") + public Integer status; + + private String[] statusNameArr= {"","待发布","待分配工厂","已分配工厂","已发布"}; + + @ExcelColumn(value = "BOM状态") + public String statusName() { + return status==null?"": statusNameArr[status]; + } + + @ExcelColumn(value = "设计人员") + private String deviseName; + + @ExcelColumn(value = "设计部门") + private String deptName; + + @ExcelColumn(value = "升版说明") + private String changeDesc; + + + @ExcelColumn(value = "备注") + private String remark; + private static final long serialVersionUID = 1L; +} 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 8bbf6171..d96fb71c 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 @@ -20,67 +20,45 @@ import java.time.LocalDate; @Data @Accessors(chain = true) @ApiModel(value="com-nflg-product-bomnew-pojo-new-vo-BomNewPbomParentEntityVO") -public class BomNewPbomParentVO implements Serializable { +public class BomNewPbomParentVO extends BaseMaterialVO implements Serializable { /** * 主键行ID-雪花 */ @ApiModelProperty(value = "主键行ID-雪花") - private Long rowId; - + private Long rowId=0L; + + + @ApiModelProperty("Bom行ID") + private Long bomRowId=0L; + + + @ApiModelProperty("父级行id") + private Long parentRowId=0L; /** * 批号-来自plm-临时 */ @ApiModelProperty(value = "批号-来自plm-临时") private String batchNo; - /** - * 图号 - */ - @ApiModelProperty(value = "图号") - private String drawingNo; + /** * 工厂编码 */ @ApiModelProperty(value = "工厂编码") private String facCode; - - /** - * 物料编码 - */ - @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; + + + /** * 单重 @@ -106,11 +84,7 @@ public class BomNewPbomParentVO implements Serializable { @ApiModelProperty(value = "数量") private BigDecimal num; - /** - * 项目类别 - */ - @ApiModelProperty(value = "项目类别") - private String projectType; + /** * 是否跟节点 0-否 1-是 @@ -261,6 +235,14 @@ public class BomNewPbomParentVO implements Serializable { */ @ApiModelProperty(value = "修改时间") private LocalDateTime modifyTime; + + @ApiModelProperty("生产工厂") + private String productionFactoryCode; + + @ApiModelProperty("是否虚拟件 0-否 1-是") + private Integer virtualPartIs; + + private static final long serialVersionUID = 1L; } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewTechnologyPackageTypeVO.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewTechnologyPackageTypeVO.java new file mode 100644 index 00000000..d8573bcc --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewTechnologyPackageTypeVO.java @@ -0,0 +1,48 @@ +package com.nflg.product.bomnew.pojo.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import lombok.Data; +import lombok.experimental.Accessors; +import java.time.LocalDateTime; +import java.time.LocalDate; + +/** + * t_bom_new_technology_package_type + * 工艺包类型 + * + * @author makejava + * @since 2024-01-01 17:25:00 + */ +@Data +@Accessors(chain = true) +@ApiModel(value="com-nflg-product-bomnew-pojo-new-vo-BomNewTechnologyPackageTypeEntityVO") +public class BomNewTechnologyPackageTypeVO implements Serializable { + + /** + * 主键 + */ + @ApiModelProperty(value = "主键") + private Long rowId; + + /** + * 类型名称 + */ + @ApiModelProperty(value = "类型名称") + private String typeName; + + /** + * 图号后缀 + */ + @ApiModelProperty(value = "图号后缀") + private String drawingNoSuffix; + + /** + * 备注 + */ + @ApiModelProperty(value = "备注") + private String remark; + + private static final long serialVersionUID = 1L; +} 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 86ce5566..d0582eb9 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 @@ -1,10 +1,45 @@ package com.nflg.product.bomnew.service; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.convert.Convert; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.google.common.collect.ImmutableList; +import com.nflg.product.bomnew.constant.OriginalConstant; +import com.nflg.product.bomnew.constant.PBomEditStatusEnum; +import com.nflg.product.bomnew.constant.PBomStatusEnum; import com.nflg.product.bomnew.mapper.master.BomNewPbomParentMapper; +import com.nflg.product.bomnew.pojo.dto.EditPBomDelDTO; +import com.nflg.product.bomnew.pojo.dto.EditPBomParamDTO; +import com.nflg.product.bomnew.pojo.dto.TechnologyPackageParam; +import com.nflg.product.bomnew.pojo.entity.BomNewPbomChildEntity; import com.nflg.product.bomnew.pojo.entity.BomNewPbomParentEntity; +import com.nflg.product.bomnew.pojo.entity.BomNewTechnologyPackageTypeEntity; +import com.nflg.product.bomnew.pojo.entity.MaterialMainEntity; +import com.nflg.product.bomnew.pojo.query.BomNewPbomParentQuery; +import com.nflg.product.bomnew.pojo.vo.BaseMaterialVO; +import com.nflg.product.bomnew.pojo.vo.BomNewPbomEditExcelVO; +import com.nflg.product.bomnew.pojo.vo.BomNewPbomParentVO; +import com.nflg.product.bomnew.util.EecExcelUtil; +import com.nflg.product.bomnew.util.ListCommonUtil; +import com.nflg.product.bomnew.util.MaterialshouldBomExistUtil; +import com.nflg.product.bomnew.util.VUtils; +import org.apache.tomcat.util.http.ResponseUtil; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.ttzero.excel.entity.Workbook; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; /** @@ -16,4 +51,213 @@ import org.springframework.stereotype.Service; @Service public class BomNewPbomParentService extends ServiceImpl { + + @Resource + UserRoleService userRoleService; + + @Resource + MaterialMainService materialMainService; + + @Resource + BomNewPbomChildService pbomChildService; + + @Resource + BomNewTechnologyPackageTypeService technologyPackageTypeService; + + @Resource + MaterialService materialService; + + /** + * pbom-工作列表 + * + * @param query + * @return + */ + public IPage workDetailsListByPage(BomNewPbomParentQuery query) { + + + Page result = this.getBaseMapper().workDetailsListByPage(new Page<>(query.getPage(), query.getPageSize()), query, userRoleService.getUserFactory()); + materialMainService.intiMaterialInfo(result.getRecords(), "material", "materialTexture", "projectType"); + return result; + } + + public List getChild(Long rowId) { + + List parentChild = this.getBaseMapper().getParentChild(rowId); + BomNewPbomParentEntity parent = this.getById(rowId); + if (CollUtil.isNotEmpty(parentChild)) { + materialMainService.intiMaterialInfo(parentChild, "material", "materialTexture", "projectType"); + List materialNos = parentChild.stream().map(u -> u.getMaterialNo()).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(materialNos)) { + List list = this.lambdaQuery().in(BomNewPbomParentEntity::getMaterialNo, materialNos).eq(BomNewPbomParentEntity::getLastVersionIs, 1).list(); + Map bomListMap = ListCommonUtil.listToMap(list, BomNewPbomParentEntity::getMaterialNo); + for (BomNewPbomParentVO child : parentChild) { + if (bomListMap.containsKey(child.getMaterialNo())) { + BomNewPbomParentEntity parentEntity = bomListMap.get(child.getMaterialNo()); + child.setCurrentVersion(parentEntity.getCurrentVersion()); + child.setStatus(parentEntity.getStatus()); + child.setEditStatus(parentEntity.getEditStatus()); + child.setDeviseName(parentEntity.getDeviseName()); + child.setDeviseUserCode(parentEntity.getDeviseUserCode()); + + child.setCreatedTime(parentEntity.getCreatedTime()); + child.setBomRowId(parentEntity.getRowId()); + child.setLevelNum(parentEntity.getLevelNum()); + child.setDeptName(parentEntity.getDeptName()); + child.setChangeDesc(parentEntity.getChangeDesc()); + child.setOrderNo(parentEntity.getOrderNo()); + child.setSourceRowId(parentEntity.getSourceRowId()); + child.setBomExist(parentEntity.getBomExist()); + child.setShouldBomExist(parentEntity.getShouldBomExist()); + child.setVirtualPackageIs(parentEntity.getVirtualPackageIs()); + + if (parentEntity.getStatus().equals(PBomStatusEnum.PUBLISH.getValue())) { + child.setStatus(PBomStatusEnum.BORROWED_PARTS.getValue()); + } + + } else { //无BOM-版本时 确定版本号 + + //child.setSource(Objects.nonNull(parent) ? parent.getSource() : EBomSourceEnum.FROM_BOM.getValue()); + child.setDeviseUserCode(parent.getDeviseUserCode()); + child.setDeviseName(parent.getDeviseName()); + child.setDeptName(parent.getDeptName()); + child.setStatus(parent.getStatus()); + child.setEditStatus(parent.getEditStatus()); + child.setVirtualPackageIs(parent.getVirtualPackageIs()); + if (MaterialshouldBomExistUtil.checkShouldBomExist(child)) { + child.setCurrentVersion(OriginalConstant.NO_BOM_VERSION); + child.setStatus(parent.getStatus()); + + } + + + } + } + } + } + + return parentChild; + + } + + /** + * 编辑暂存 + * + * @param paramDTO + */ + @Transactional(rollbackFor = Exception.class) + public void editSave(EditPBomParamDTO paramDTO, PBomEditStatusEnum editStatus) { + BomNewPbomParentEntity parent = this.getById(paramDTO.getBomRowId()); + VUtils.isTure(Objects.isNull(parent)).throwMessage("参数错误,该BOM不存在"); + List childList = Convert.toList(BomNewPbomChildEntity.class, paramDTO.getChildList()); + childList.forEach(u -> { + u.setParentRowId(paramDTO.getBomRowId()); + }); + pbomChildService.saveOrUpdateBatch(childList); + parent.setEditStatus(editStatus.getValue()); + this.updateById(parent); + + + } + + /** + * 编辑- + * 机加工件【分类代码以200301开头】只可以删除它的下级, + * 辅助物料(1003、1020、1021 ) 可以删除 + * + * @param paramDTO + * @param paramDTO + */ + @Transactional(rollbackFor = Exception.class) + public void editDel(EditPBomDelDTO paramDTO) { + BomNewPbomParentEntity parent = this.getById(paramDTO.getBomRowId()); + VUtils.isTure(Objects.isNull(parent)).throwMessage("参数bomRowId错误,该BOM不存在"); + BomNewPbomParentVO parentVO = Convert.convert(BomNewPbomParentVO.class, parent); + + materialMainService.intiMaterialInfo(ImmutableList.of(parentVO)); + + List childList = pbomChildService.getBaseMapper().selectBatchIds(paramDTO.getRowIdList()); + List childListVO = Convert.toList(BomNewPbomParentVO.class, childList); + + materialMainService.intiMaterialInfo(childListVO); + // 机加工件 的子级可直接删除 + if (parentVO.getMaterialCategoryCode().startsWith("200301")) { + pbomChildService.getBaseMapper().delByRowId(paramDTO.getRowIdList()); + return; + } + //删除辅助物料 + List noDelList = childListVO.stream().filter(u -> !u.getMaterialCategoryCode().startsWith("1003") && !u.getMaterialCategoryCode().startsWith("1020") && !u.getMaterialCategoryCode().startsWith("1021")).collect(Collectors.toList()); + VUtils.isTure(CollUtil.isNotEmpty(noDelList)).throwMessage("非机加工件的子级只能删除辅助物料,以下物料为非辅助物料:" + StrUtil.join(",", noDelList)); + + pbomChildService.getBaseMapper().delByRowId(paramDTO.getRowIdList()); + + } + + /** + * 设置虚拟件 + * + * @param rowIdList + */ + @Transactional(rollbackFor = Exception.class) + public void setVirtualPart(List rowIdList) { + pbomChildService.getBaseMapper().setVirtualPart(rowIdList); + } + + /** + * 编辑-导出EXCEL + * @param bomRowId + * @param response + */ + public void editExport(Long bomRowId, HttpServletResponse response) throws IOException { + EecExcelUtil.setResponseExcelHeader(response,"缺价物料列表"); + List child = this.getChild(bomRowId); + List result = Convert.toList(BomNewPbomEditExcelVO.class, child); + + new Workbook().addSheet(result).writeTo(response.getOutputStream()); + + } + + /** + * 创建工艺包 + * @param packageParam + * @return + */ + public BaseMaterialVO createTechnologyPackage(TechnologyPackageParam packageParam) throws IOException { + VUtils.isTure(Objects.isNull(packageParam.getTechnologyPackageTypeRowId())).throwMessage("请选择工艺包类型"); + BomNewTechnologyPackageTypeEntity technologyPackageTypeEntity = technologyPackageTypeService.getById(packageParam.getTechnologyPackageTypeRowId()); + //单条物料 + String drawingNo=""; + String materialName=""; + String materialDesc=""; + BomNewPbomParentVO result=null; + if(packageParam.getRowIds().size()==1){ + BomNewPbomChildEntity child = pbomChildService.getById(packageParam.getRowIds().get(0)); + result=Convert.convert(BomNewPbomParentVO.class,child); + } + else { + BomNewPbomParentEntity parent=this.getById(packageParam.getBomRowId()); + result=Convert.convert(BomNewPbomParentVO.class,parent); + } + materialMainService.intiMaterialInfo(ImmutableList.of(result) ); + VUtils.isTure(StrUtil.isBlank(result.getMaterialCategoryCode()) || !result.getMaterialCategoryCode().startsWith("20") ).throwMessage("插入工艺包的物料需时制作物料"); + + drawingNo=StrUtil.join("", result.getDrawingNo(),technologyPackageTypeEntity.getDrawingNoSuffix()); + // 检查改图号是否已存在主数据中 + List materials = materialMainService.lambdaQuery().eq(MaterialMainEntity::getDrawingNo, drawingNo).list(); + + if(CollUtil.isNotEmpty(materials)){ + return Convert.convert(BaseMaterialVO.class,materials.get(0)); + } + + + materialName=StrUtil.join("",result.getMaterialName(),technologyPackageTypeEntity.getRemark()); + materialDesc=StrUtil.join(" ",materialName,drawingNo); + + String materialNo = materialService.addMaterial(drawingNo, materialName, materialDesc, ""); + + return materialMainService.getMaterialBaseInfo(ImmutableList.of(materialNo)).get(0); + } + + + } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewTechnologyPackageTypeService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewTechnologyPackageTypeService.java new file mode 100644 index 00000000..9db26505 --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewTechnologyPackageTypeService.java @@ -0,0 +1,19 @@ +package com.nflg.product.bomnew.service; + + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.nflg.product.bomnew.mapper.master.BomNewTechnologyPackageTypeMapper; +import com.nflg.product.bomnew.pojo.entity.BomNewTechnologyPackageTypeEntity; +import org.springframework.stereotype.Service; + +/** + * t_bom_new_technology_package_type 表服务实现类 + * 工艺包类型 + * + * @author makejava + * @since 2024-01-01 17:24:58 + */ +@Service +public class BomNewTechnologyPackageTypeService extends ServiceImpl { + +} diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/UserRoleService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/UserRoleService.java index 0599ce49..33a26ea3 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/UserRoleService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/UserRoleService.java @@ -51,4 +51,18 @@ public class UserRoleService { // return 1; return technician()? UserJobEnum.ENGINEER.getValue():UserJobEnum.DESIGNER.getValue(); } + + /** + * 获取用户工厂 + * 多工厂权限时返回空 + * @return + */ + public String getUserFactory(){ + Integer userMultiplantFacRoleCount = materialMainService.getBaseMapper().getUserMultiplantFacRoleCount(SessionUtil.getRowId()); + if(userMultiplantFacRoleCount>0){ + return ""; + }else { + return SessionUtil.getFullDeptName().contains("仙桃公司")?"1020":"1010"; + } + } } diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewPbomChildMapper.xml b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewPbomChildMapper.xml index 3c6f9d1a..4de3bfdd 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewPbomChildMapper.xml +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewPbomChildMapper.xml @@ -36,5 +36,19 @@ row_id, parent_row_id, identity_no, fac_code, order_number, drawing_no, material_no, material_name, material_desc, material_texture, material_unit, material_category_code, unit_weight, num, total_weight, project_type, production_factory_code, set_production_factory_time, super_material_status, virtual_part_is, created_by, created_time, modify_time, source_row_id, remark, source_parent_material_no - + + + + delete from t_bom_new_pbom_child where row_id in + + #{item} + + + + + update t_bom_new_pbom_child set virtual_part_is=IF(virtual_part_is=1,0,1) where row_id in + + #{item} + + diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewPbomParentMapper.xml b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewPbomParentMapper.xml index 74176ec4..8f5e7b5e 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewPbomParentMapper.xml +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewPbomParentMapper.xml @@ -1,54 +1,90 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - 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, project_type, root_is, 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, created_by, created_time, created_job, release_time, release_user_name, 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, project_type, root_is, + 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, created_by, created_time, created_job, + release_time, release_user_name, expire_end_time, remark, dept_name, level_num, change_desc, notice_nums, + order_no, modify_time + + + + + and fac_code = #{query.facCode} + + + and material_no = #{query.materialNo} + + + and drawing_no = #{query.drawingNo} + + + and created_time between #{query.startDate} and #{query.endDate} + + + + + + + + + diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewTechnologyPackageTypeMapper.xml b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewTechnologyPackageTypeMapper.xml new file mode 100644 index 00000000..a683688b --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewTechnologyPackageTypeMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + row_id, type_name, drawing_no_suffix, remark + + diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/MaterialMainMapper.xml b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/MaterialMainMapper.xml index 6c4f2e75..69c18a47 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/MaterialMainMapper.xml +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/MaterialMainMapper.xml @@ -130,4 +130,9 @@ SELECT distinct b.post_name from t_authority_role_user a join t_authority_role_post b on a.role_row_id=b.role_row_id where a.user_row_id=#{userRowId} + +