diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/controller/MatMaterialIssueController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/controller/MatMaterialIssueController.java index 40134a31..ce38cbce 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/controller/MatMaterialIssueController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/controller/MatMaterialIssueController.java @@ -18,6 +18,7 @@ import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueQueryReq; import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueUpdateReq; import org.dromara.materials.domain.vo.materialissue.MatMaterialIssueVo; import org.dromara.materials.domain.vo.materialreceiveitem.MatMaterialReceiveItemVo; +import org.dromara.materials.domain.vo.materialsinventory.MatMaterialsInventoryListVo; import org.dromara.materials.domain.vo.materialsinventory.MatMaterialsInventoryVo; import org.dromara.materials.service.IMatMaterialIssueService; import org.dromara.materials.service.IMatMaterialsInventoryService; @@ -113,7 +114,7 @@ public class MatMaterialIssueController extends BaseController { * 查询出库记录列表 */ @GetMapping("/inventory/list/{projectId}") - public R> inventoryList(@NotEmpty(message = "项目不能为空") + public R> inventoryList(@NotNull(message = "项目不能为空") @PathVariable Long projectId) { return R.ok(matMaterialIssueService.inventoryList(projectId)); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/vo/materialsinventory/MatMaterialsInventoryListVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/vo/materialsinventory/MatMaterialsInventoryListVo.java new file mode 100644 index 00000000..4e74098f --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/vo/materialsinventory/MatMaterialsInventoryListVo.java @@ -0,0 +1,55 @@ +package org.dromara.materials.domain.vo.materialsinventory; + +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import org.dromara.materials.domain.MatMaterialsInventory; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + +/** + * 材料出/入库视图对象 mat_materials_inventory + * + * @author lilemy + * @date 2025-03-06 + */ +@Data +@AutoMapper(target = MatMaterialsInventory.class) +public class MatMaterialsInventoryListVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + private Long id; + + /** + * 材料id + */ + private Long materialsId; + /** + * 材料名称 + */ + private String materialsName; + + /** + * 出/入库的数量 + */ + private Long number; + + /** + * 计量单位 + */ + private String weightId; + + + /** + * 规格型号名称 + */ + private String typeSpecificationName; + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/IMatMaterialIssueService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/IMatMaterialIssueService.java index 33f4370b..6bc9c103 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/IMatMaterialIssueService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/IMatMaterialIssueService.java @@ -12,6 +12,7 @@ import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueCreateReq; import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueQueryReq; import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueUpdateReq; import org.dromara.materials.domain.vo.materialissue.MatMaterialIssueVo; +import org.dromara.materials.domain.vo.materialsinventory.MatMaterialsInventoryListVo; import org.dromara.materials.domain.vo.materialsinventory.MatMaterialsInventoryVo; import java.util.Collection; @@ -110,5 +111,5 @@ public interface IMatMaterialIssueService extends IService { /** * 查询出库记录列表 */ - List inventoryList(Long projectId); + List inventoryList(Long projectId); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/MatMaterialIssueServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/MatMaterialIssueServiceImpl.java index a22034df..d31d7966 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/MatMaterialIssueServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/MatMaterialIssueServiceImpl.java @@ -1,5 +1,6 @@ package org.dromara.materials.service.impl; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -22,11 +23,11 @@ import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.oss.core.OssClient; import org.dromara.common.oss.exception.OssException; import org.dromara.common.oss.factory.OssFactory; -import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.utils.DocumentUtil; import org.dromara.materials.constants.MatMaterialsConstant; import org.dromara.materials.domain.MatMaterialIssue; import org.dromara.materials.domain.MatMaterialIssueItem; +import org.dromara.materials.domain.MatMaterials; import org.dromara.materials.domain.MatMaterialsInventory; import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueCreateReq; import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueQueryReq; @@ -34,13 +35,13 @@ import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueUpdateReq; import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueWordDto; import org.dromara.materials.domain.dto.materialissueitem.MatMaterialIssueItemDto; import org.dromara.materials.domain.dto.materialissueitem.MatMaterialIssueItemWordDto; -import org.dromara.materials.domain.enums.MatMaterialsInventoryOutPutEnum; import org.dromara.materials.domain.vo.materialissue.MatMaterialIssueVo; -import org.dromara.materials.domain.vo.materialsinventory.MatMaterialsInventoryVo; +import org.dromara.materials.domain.vo.materialsinventory.MatMaterialsInventoryListVo; import org.dromara.materials.mapper.MatMaterialIssueMapper; import org.dromara.materials.service.IMatMaterialIssueItemService; import org.dromara.materials.service.IMatMaterialIssueService; import org.dromara.materials.service.IMatMaterialsInventoryService; +import org.dromara.materials.service.IMatMaterialsService; import org.dromara.project.service.IBusProjectService; import org.dromara.system.domain.vo.SysOssVo; import org.dromara.system.service.ISysOssService; @@ -82,6 +83,9 @@ public class MatMaterialIssueServiceImpl extends ServiceImpl inventoryList = itemList.stream().map(item -> { + /*List inventoryList = itemList.stream().map(item -> { MatMaterialsInventory inventory = new MatMaterialsInventory(); inventory.setNumber(item.getIssuedQuantity().longValue()); inventory.setOutPutTime(new Date()); @@ -277,7 +281,7 @@ public class MatMaterialIssueServiceImpl extends ServiceImpl inventoryList(Long projectId) { + public List inventoryList(Long projectId) { List list = materialIssueItemService.list(Wrappers.lambdaQuery(MatMaterialIssueItem.class) .eq(MatMaterialIssueItem::getProjectId, 1)); List list1 = list.stream().map(MatMaterialIssueItem::getInventoryId).toList(); - return materialsInventoryService.list(Wrappers.lambdaQuery(MatMaterialsInventory.class) - .notIn(CollectionUtil.isNotEmpty(list1),MatMaterialsInventory::getId, list1) + List list2 = materialsInventoryService.list(Wrappers.lambdaQuery(MatMaterialsInventory.class) + .notIn(CollectionUtil.isNotEmpty(list1), MatMaterialsInventory::getId, list1) .eq(MatMaterialsInventory::getProjectId, projectId) - .eq(MatMaterialsInventory::getOutPut, "1") - ); + .eq(MatMaterialsInventory::getOutPut, "1")); + List matMaterialsInventoryListVos = BeanUtil.copyToList(list2, MatMaterialsInventoryListVo.class); + for (MatMaterialsInventoryListVo matMaterialsInventoryListVo : matMaterialsInventoryListVos) { + MatMaterials byId = matMaterialsService.getById(matMaterialsInventoryListVo.getMaterialsId()); + BeanUtil.copyProperties(byId, matMaterialsInventoryListVo, "id"); + } + + return matMaterialsInventoryListVos; + } /**