This commit is contained in:
zt
2025-08-28 23:32:19 +08:00
parent 1878a7dab3
commit 073f614a21
4 changed files with 80 additions and 12 deletions

View File

@ -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.dto.materialissue.MatMaterialIssueUpdateReq;
import org.dromara.materials.domain.vo.materialissue.MatMaterialIssueVo; import org.dromara.materials.domain.vo.materialissue.MatMaterialIssueVo;
import org.dromara.materials.domain.vo.materialreceiveitem.MatMaterialReceiveItemVo; 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.domain.vo.materialsinventory.MatMaterialsInventoryVo;
import org.dromara.materials.service.IMatMaterialIssueService; import org.dromara.materials.service.IMatMaterialIssueService;
import org.dromara.materials.service.IMatMaterialsInventoryService; import org.dromara.materials.service.IMatMaterialsInventoryService;
@ -113,7 +114,7 @@ public class MatMaterialIssueController extends BaseController {
* 查询出库记录列表 * 查询出库记录列表
*/ */
@GetMapping("/inventory/list/{projectId}") @GetMapping("/inventory/list/{projectId}")
public R<List<MatMaterialsInventory>> inventoryList(@NotEmpty(message = "项目不能为空") public R<List<MatMaterialsInventoryListVo>> inventoryList(@NotNull(message = "项目不能为空")
@PathVariable Long projectId) { @PathVariable Long projectId) {
return R.ok(matMaterialIssueService.inventoryList(projectId)); return R.ok(matMaterialIssueService.inventoryList(projectId));
} }

View File

@ -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;
}

View File

@ -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.MatMaterialIssueQueryReq;
import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueUpdateReq; import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueUpdateReq;
import org.dromara.materials.domain.vo.materialissue.MatMaterialIssueVo; 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 org.dromara.materials.domain.vo.materialsinventory.MatMaterialsInventoryVo;
import java.util.Collection; import java.util.Collection;
@ -110,5 +111,5 @@ public interface IMatMaterialIssueService extends IService<MatMaterialIssue> {
/** /**
* 查询出库记录列表 * 查询出库记录列表
*/ */
List<MatMaterialsInventory> inventoryList(Long projectId); List<MatMaterialsInventoryListVo> inventoryList(Long projectId);
} }

View File

@ -1,5 +1,6 @@
package org.dromara.materials.service.impl; package org.dromara.materials.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.core.OssClient;
import org.dromara.common.oss.exception.OssException; import org.dromara.common.oss.exception.OssException;
import org.dromara.common.oss.factory.OssFactory; import org.dromara.common.oss.factory.OssFactory;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.utils.DocumentUtil; import org.dromara.common.utils.DocumentUtil;
import org.dromara.materials.constants.MatMaterialsConstant; import org.dromara.materials.constants.MatMaterialsConstant;
import org.dromara.materials.domain.MatMaterialIssue; import org.dromara.materials.domain.MatMaterialIssue;
import org.dromara.materials.domain.MatMaterialIssueItem; import org.dromara.materials.domain.MatMaterialIssueItem;
import org.dromara.materials.domain.MatMaterials;
import org.dromara.materials.domain.MatMaterialsInventory; import org.dromara.materials.domain.MatMaterialsInventory;
import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueCreateReq; import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueCreateReq;
import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueQueryReq; 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.materialissue.MatMaterialIssueWordDto;
import org.dromara.materials.domain.dto.materialissueitem.MatMaterialIssueItemDto; import org.dromara.materials.domain.dto.materialissueitem.MatMaterialIssueItemDto;
import org.dromara.materials.domain.dto.materialissueitem.MatMaterialIssueItemWordDto; 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.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.mapper.MatMaterialIssueMapper;
import org.dromara.materials.service.IMatMaterialIssueItemService; import org.dromara.materials.service.IMatMaterialIssueItemService;
import org.dromara.materials.service.IMatMaterialIssueService; import org.dromara.materials.service.IMatMaterialIssueService;
import org.dromara.materials.service.IMatMaterialsInventoryService; import org.dromara.materials.service.IMatMaterialsInventoryService;
import org.dromara.materials.service.IMatMaterialsService;
import org.dromara.project.service.IBusProjectService; import org.dromara.project.service.IBusProjectService;
import org.dromara.system.domain.vo.SysOssVo; import org.dromara.system.domain.vo.SysOssVo;
import org.dromara.system.service.ISysOssService; import org.dromara.system.service.ISysOssService;
@ -82,6 +83,9 @@ public class MatMaterialIssueServiceImpl extends ServiceImpl<MatMaterialIssueMap
@Resource @Resource
private IMatMaterialsInventoryService materialsInventoryService; private IMatMaterialsInventoryService materialsInventoryService;
@Resource
private IMatMaterialsService matMaterialsService;
/** /**
* 查询物料领料单 * 查询物料领料单
* *
@ -260,7 +264,7 @@ public class MatMaterialIssueServiceImpl extends ServiceImpl<MatMaterialIssueMap
throw new ServiceException("物料领料单明细项新增失败", HttpStatus.ERROR); throw new ServiceException("物料领料单明细项新增失败", HttpStatus.ERROR);
} }
// 创建设备材料出库记录 // 创建设备材料出库记录
List<MatMaterialsInventory> inventoryList = itemList.stream().map(item -> { /*List<MatMaterialsInventory> inventoryList = itemList.stream().map(item -> {
MatMaterialsInventory inventory = new MatMaterialsInventory(); MatMaterialsInventory inventory = new MatMaterialsInventory();
inventory.setNumber(item.getIssuedQuantity().longValue()); inventory.setNumber(item.getIssuedQuantity().longValue());
inventory.setOutPutTime(new Date()); inventory.setOutPutTime(new Date());
@ -277,7 +281,7 @@ public class MatMaterialIssueServiceImpl extends ServiceImpl<MatMaterialIssueMap
boolean saved = materialsInventoryService.saveBatch(inventoryList); boolean saved = materialsInventoryService.saveBatch(inventoryList);
if (!saved) { if (!saved) {
throw new ServiceException("物料出库记录新增失败", HttpStatus.ERROR); throw new ServiceException("物料出库记录新增失败", HttpStatus.ERROR);
} }*/
} }
return true; return true;
} }
@ -474,16 +478,23 @@ public class MatMaterialIssueServiceImpl extends ServiceImpl<MatMaterialIssueMap
} }
@Override @Override
public List<MatMaterialsInventory> inventoryList(Long projectId) { public List<MatMaterialsInventoryListVo> inventoryList(Long projectId) {
List<MatMaterialIssueItem> list = materialIssueItemService.list(Wrappers.lambdaQuery(MatMaterialIssueItem.class) List<MatMaterialIssueItem> list = materialIssueItemService.list(Wrappers.lambdaQuery(MatMaterialIssueItem.class)
.eq(MatMaterialIssueItem::getProjectId, 1)); .eq(MatMaterialIssueItem::getProjectId, 1));
List<Long> list1 = list.stream().map(MatMaterialIssueItem::getInventoryId).toList(); List<Long> list1 = list.stream().map(MatMaterialIssueItem::getInventoryId).toList();
return materialsInventoryService.list(Wrappers.lambdaQuery(MatMaterialsInventory.class) List<MatMaterialsInventory> list2 = materialsInventoryService.list(Wrappers.lambdaQuery(MatMaterialsInventory.class)
.notIn(CollectionUtil.isNotEmpty(list1),MatMaterialsInventory::getId, list1) .notIn(CollectionUtil.isNotEmpty(list1), MatMaterialsInventory::getId, list1)
.eq(MatMaterialsInventory::getProjectId, projectId) .eq(MatMaterialsInventory::getProjectId, projectId)
.eq(MatMaterialsInventory::getOutPut, "1") .eq(MatMaterialsInventory::getOutPut, "1"));
); List<MatMaterialsInventoryListVo> matMaterialsInventoryListVos = BeanUtil.copyToList(list2, MatMaterialsInventoryListVo.class);
for (MatMaterialsInventoryListVo matMaterialsInventoryListVo : matMaterialsInventoryListVos) {
MatMaterials byId = matMaterialsService.getById(matMaterialsInventoryListVo.getMaterialsId());
BeanUtil.copyProperties(byId, matMaterialsInventoryListVo, "id");
}
return matMaterialsInventoryListVos;
} }
/** /**