| | |
| | | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| | | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| | | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.wm.transaction.vo.MesWmStockSummaryReqVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.wm.transaction.vo.MesWmStockSummaryRespVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.wm.transaction.vo.MesWmTransactionPageReqVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.wm.transaction.vo.MesWmTransactionRespVO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.md.unitmeasure.MesMdUnitMeasureDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.mdm.MesMdmItemDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.transaction.MesWmTransactionDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.warehouse.MesWmWarehouseAreaDO; |
| | |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.warehouse.MesWmWarehouseLocationDO; |
| | | import cn.iocoder.yudao.module.mes.enums.MesBizTypeConstants; |
| | | import cn.iocoder.yudao.module.mes.enums.wm.MesWmTransactionTypeEnum; |
| | | import cn.iocoder.yudao.module.mes.service.md.unitmeasure.MesMdUnitMeasureService; |
| | | import cn.iocoder.yudao.module.mes.service.mdm.MesMdmItemService; |
| | | import cn.iocoder.yudao.module.mes.service.wm.transaction.MesWmTransactionService; |
| | | import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseAreaService; |
| | |
| | | private MesWmWarehouseLocationService locationService; |
| | | @Resource |
| | | private MesWmWarehouseAreaService areaService; |
| | | @Resource |
| | | private MesMdUnitMeasureService unitMeasureService; |
| | | |
| | | @GetMapping("/page") |
| | | @Operation(summary = "获取库存事务流水分页") |
| | | @Parameter(name = "id", description = "编号", required = true, example = "1") |
| | | @PreAuthorize("@ss.hasPermission('mes:wm-transaction:query')") |
| | | public CommonResult<PageResult<MesWmTransactionRespVO>> getTransactionPage(@Valid MesWmTransactionPageReqVO pageReqVO) { |
| | | PageResult<MesWmTransactionDO> pageResult = transactionService.getTransactionPage(pageReqVO); |
| | | if (pageResult.getTotal() == 0) { |
| | |
| | | return success(new PageResult<>(voList, pageResult.getTotal())); |
| | | } |
| | | |
| | | @GetMapping("/summary") |
| | | @Operation(summary = "获取仓储收发存汇总(按物料 + 仓库)") |
| | | @PreAuthorize("@ss.hasPermission('mes:wm-transaction:query')") |
| | | public CommonResult<PageResult<MesWmStockSummaryRespVO>> getStockSummary(@Valid MesWmStockSummaryReqVO reqVO) { |
| | | PageResult<MesWmStockSummaryRespVO> pageResult = transactionService.getStockSummaryPage(reqVO); |
| | | if (pageResult.getList().isEmpty()) { |
| | | return success(PageResult.empty(pageResult.getTotal())); |
| | | } |
| | | // 关联物料、仓库、单位名称 |
| | | Map<Long, MesMdmItemDO> itemMap = mdmItemService.getItemMap( |
| | | convertSet(pageResult.getList(), MesWmStockSummaryRespVO::getItemId)); |
| | | Map<Long, MesWmWarehouseDO> warehouseMap = warehouseService.getWarehouseMap( |
| | | convertSet(pageResult.getList(), MesWmStockSummaryRespVO::getWarehouseId)); |
| | | Map<Long, MesMdUnitMeasureDO> unitMap = unitMeasureService.getUnitMeasureMap( |
| | | itemMap.values().stream().map(MesMdmItemDO::getUnitMeasureId) |
| | | .filter(java.util.Objects::nonNull).collect(Collectors.toSet())); |
| | | for (MesWmStockSummaryRespVO vo : pageResult.getList()) { |
| | | MesMdmItemDO item = itemMap.get(vo.getItemId()); |
| | | |
| | | if (item != null) { |
| | | vo.setItemCode(item.getCode()); |
| | | vo.setItemName(item.getName()); |
| | | vo.setSpecification(item.getSpecification()); |
| | | MesMdUnitMeasureDO unit = unitMap.get(item.getUnitMeasureId()); |
| | | if (unit != null) { |
| | | vo.setUnitMeasureName(unit.getName()); |
| | | } |
| | | } |
| | | MesWmWarehouseDO warehouse = warehouseMap.get(vo.getWarehouseId()); |
| | | if (warehouse != null) { |
| | | vo.setWarehouseName(warehouse.getName()); |
| | | } |
| | | } |
| | | return success(pageResult); |
| | | } |
| | | |
| | | /** |
| | | * 获取业务类型名称 |
| | | */ |