diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/MaterialController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/MaterialController.java index ed16d572..873b061b 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/MaterialController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/MaterialController.java @@ -5,17 +5,17 @@ import com.nflg.wms.common.pojo.ApiResult; import com.nflg.wms.common.pojo.PageData; import com.nflg.wms.common.pojo.dto.BomMaterialDTO; import com.nflg.wms.common.pojo.dto.MaterialCategoryVO; -import com.nflg.wms.common.pojo.qo.BomMaterialListQO; -import com.nflg.wms.common.pojo.qo.MaterialAddQO; -import com.nflg.wms.common.pojo.qo.MaterialSearchQO; -import com.nflg.wms.common.pojo.qo.MaterialUpdateQO; +import com.nflg.wms.common.pojo.qo.*; +import com.nflg.wms.common.pojo.vo.EbomParentVO; import com.nflg.wms.common.pojo.vo.MaterialVO; +import com.nflg.wms.common.pojo.vo.QueryMaterialsVO; import com.nflg.wms.starter.BaseController; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -144,10 +144,19 @@ public class MaterialController extends BaseController { /** * 批量获取物料信息 - * @param materialNos 物料编号列表 + * @param request 物料信息列表 */ - @PostMapping("getBomMaterials") - public ApiResult> getBomMaterials(@Valid @RequestBody @NotEmpty List materialNos) { - return ApiResult.success(materialControllerService.getBomMaterials(materialNos)); + @PostMapping("queryMaterials") + public ApiResult> queryMaterials(@Valid @RequestBody @NotEmpty List request) { + return ApiResult.success(materialControllerService.queryMaterials(request)); + } + + /** + * 单个获取物料信息 + * @param request 物料信息 + */ + @PostMapping("queryMaterial") + public ApiResult queryMaterial(@Valid @RequestBody @NotNull EbomMaterialQO request) { + return ApiResult.success(materialControllerService.queryMaterial(request)); } } diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/MaterialControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/MaterialControllerService.java index 9bf30345..691b44cc 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/MaterialControllerService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/MaterialControllerService.java @@ -10,11 +10,10 @@ import com.nflg.wms.common.constant.STATE; import com.nflg.wms.common.pojo.ApiResult; import com.nflg.wms.common.pojo.PageData; import com.nflg.wms.common.pojo.dto.*; -import com.nflg.wms.common.pojo.qo.BomMaterialListQO; -import com.nflg.wms.common.pojo.qo.MaterialAddQO; -import com.nflg.wms.common.pojo.qo.MaterialSearchQO; -import com.nflg.wms.common.pojo.qo.MaterialUpdateQO; +import com.nflg.wms.common.pojo.qo.*; +import com.nflg.wms.common.pojo.vo.EbomParentVO; import com.nflg.wms.common.pojo.vo.MaterialVO; +import com.nflg.wms.common.pojo.vo.QueryMaterialsVO; import com.nflg.wms.common.util.DateTimeUtil; import com.nflg.wms.common.util.EecExcelUtil; import com.nflg.wms.common.util.UserUtil; @@ -332,7 +331,11 @@ public class MaterialControllerService { return bomMaterialService.getCategory(name); } - public List getBomMaterials(@Valid @NotEmpty List materialNos) { - return bomMaterialService.getList(materialNos); + public List queryMaterials(@Valid @NotEmpty List request) { + return bomMaterialService.queryMaterials(request); + } + + public EbomParentVO queryMaterial(@Valid @NotEmpty EbomMaterialQO request) { + return bomMaterialService.queryMaterial(request); } } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/BomMaterialDTO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/BomMaterialDTO.java index 6f69fdda..99c06544 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/BomMaterialDTO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/BomMaterialDTO.java @@ -40,7 +40,7 @@ public class BomMaterialDTO { /** * 重量 */ - @NotBlank + @NotNull private BigDecimal materialWeight; /** diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/EbomMaterialQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/EbomMaterialQO.java new file mode 100644 index 00000000..449dc22d --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/EbomMaterialQO.java @@ -0,0 +1,17 @@ +package com.nflg.wms.common.pojo.qo; + +import lombok.Data; + +@Data +public class EbomMaterialQO { + + /** + * 图号 + */ + private String drawingNo; + + /** + * 物料编码 + */ + private String materialNo; +} diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QueryMaterialsQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QueryMaterialsQO.java new file mode 100644 index 00000000..51247fee --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QueryMaterialsQO.java @@ -0,0 +1,44 @@ +package com.nflg.wms.common.pojo.qo; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class QueryMaterialsQO { + + /** + * 前端行序号 + */ + private String orderNumber; + + /** + * 图号 + */ + private String drawingNo; + + /** + * 物料编码 + */ + private String materialNo; + + /** + * 单重 + */ + private BigDecimal unitWeight; + + /** + * 项目类别 + */ + private String projectType; + + /** + * 工厂 + */ + private String factory; + + /** + * 存储地点 + */ + private String storage; +} diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/EbomParentVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/EbomParentVO.java new file mode 100644 index 00000000..3fd0e97a --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/EbomParentVO.java @@ -0,0 +1,62 @@ +package com.nflg.wms.common.pojo.vo; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class EbomParentVO { + + private Long materialRowId; + + private String materialNo; + + private String materialName; + + private String materialDesc; + + private String materialCategoryCode; + + private Integer materialGetType; + + private String projectType; + + private String procureType; + + private Integer materialState; + + private Integer processState; + + protected String drawingNo; + + /** + * 材料 + */ + private String material; + + private String materialTexture; + + private String relCategoryCode; + + private String categoryName; + + + private String materialUnit; + + private BigDecimal materialWeight; + + /** + * 物料编码申请部门 + */ + private String applyDeptName; + + /** + * 单重 + */ + private BigDecimal unitWeight; + + /** + * 总重 + */ + private BigDecimal totalWeight; +} \ No newline at end of file diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QueryMaterialsVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QueryMaterialsVO.java new file mode 100644 index 00000000..2e17cf03 --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QueryMaterialsVO.java @@ -0,0 +1,106 @@ +package com.nflg.wms.common.pojo.vo; + +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Objects; + +@Data +public class QueryMaterialsVO { + + /** + * 物料主数据行ID + */ + private Long materialRowId; + + /** + * 物料编码 + */ + private String materialNo; + + /** + * 物料名称 + */ + private String materialName; + + /** + * 物料描述 + */ + private String materialDesc; + + /** + * 物料分类编码 + */ + private String materialCategoryCode; + + /** + * 制作物料获取类型:1=自制、2=外协、3=采购 + */ + private Integer materialGetType; + + /** + * 采购类型 + */ + private String procureType; + + /** + * 物料状态 1:激活 2:禁止采购 3:售后专用 4:冻结 5:完全弃用 + */ + private Integer materialState; + + /** + * 图号 + */ + protected String drawingNo; + + /** + * 材料 + */ + private String material; + + /** + * 材质 + */ + private String materialTexture; + + /** + * 物料大类别 + */ + private String relCategoryCode; + + /** + * 物料分类编码名称 + */ + private String categoryName; + + /** + * 单位 + */ + private String materialUnit; + + /** + * 单重 + */ + private BigDecimal materialWeight; + + /** + * 前端行序号 + */ + private String orderNumber; + + /** + * 是否有BOM: 0-否 1-是 + */ + private Integer bomExist = 0; + + private BigDecimal unitWeight; + + public BigDecimal getUnitWeight() { + if (Objects.nonNull(unitWeight)) { + return unitWeight; + } + return getMaterialWeight(); + } + + private BigDecimal totalWeight; +} diff --git a/nflg-wms-repository/src/main/resources/mapper/WmsStructuralPackageMapper.xml b/nflg-wms-repository/src/main/resources/mapper/WmsStructuralPackageMapper.xml index c3cb58b4..072d199f 100644 --- a/nflg-wms-repository/src/main/resources/mapper/WmsStructuralPackageMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/WmsStructuralPackageMapper.xml @@ -27,7 +27,7 @@ ORDER BY "no",id DESC ) t - ORDER BY id DESC; + ORDER BY id DESC