From 76d6d6d154bb9c3e05c82f4cc0e0651a44d8f9f5 Mon Sep 17 00:00:00 2001 From: wanghao Date: Fri, 5 Sep 2025 15:09:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20=E8=B0=83=E6=8B=A8?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/api/WmsPdaApiController.java | 34 ++++++++++---- .../IWmsAllocateOrderDetailService.java | 4 +- .../WmsAllocateOrderDetailServiceImpl.java | 46 +++++++++++-------- .../service/impl/WmsPdaApiServiceImpl.java | 4 +- 4 files changed, 58 insertions(+), 30 deletions(-) diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/api/WmsPdaApiController.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/api/WmsPdaApiController.java index d6d6aadc..b80b074c 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/api/WmsPdaApiController.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/api/WmsPdaApiController.java @@ -12,6 +12,7 @@ import org.dromara.wms.service.*; import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -29,6 +30,7 @@ public class WmsPdaApiController extends BaseController { private final IWmsInstockPrintService wmsInstockPrintService; private final IWmsInventoryService wmsInventoryService; private final IWmsMoveOrderService wmsMoveOrderService; + private final IWmsAllocateOrderDetailService wmsAllocateOrderDetailService; /** * 原材料退库-现场扫描 @@ -148,17 +150,29 @@ public class WmsPdaApiController extends BaseController { * @return 物料 */ @PostMapping("/raw/outSelectByOrderCode") - public R> outSelectByOrderCode(String orderCode) { - List wmsOutstockDetailVo = apiService.outSelectByOrderCode(orderCode); - wmsOutstockDetailVo.forEach(item -> { - WmsInventoryVo inventory = wmsInventoryService.selectOrderBeachCode(item.getMaterialId()); - if (inventory != null) { - item.setLocationCode(inventory.getLocationCode()); - item.setBatchCode(inventory.getBatchCode()); - item.setInventoryQty(inventory.getInventoryQty()); + public R> outSelectByOrderCode(String orderCode, String orderType) { + List wmsOutstockDetailVo = null; + if (orderType.equals("5")) { + wmsOutstockDetailVo = apiService.outSelectByOrderCode(orderCode); + wmsOutstockDetailVo.forEach(item -> { + WmsInventoryVo inventory = wmsInventoryService.selectOrderBeachCode(item.getMaterialId()); + if (inventory != null) { + item.setLocationCode(inventory.getLocationCode()); + item.setBatchCode(inventory.getBatchCode()); + item.setInventoryQty(inventory.getInventoryQty()); + } + + }); + } else if (orderType.equals("7")) { + List list = wmsAllocateOrderDetailService.selectdetailListByOrderCode(orderCode); + if (list != null && list.size() > 0) { + wmsOutstockDetailVo = new ArrayList<>(list.size()); + list.forEach(item -> { + + }); } - }); + } if (wmsOutstockDetailVo == null) return R.fail("出库单号不正确"); @@ -232,7 +246,7 @@ public class WmsPdaApiController extends BaseController { moveOrderBo.setTargetLocationCode(vo.getNewLocationCode()); Boolean inserted = wmsMoveOrderService.pdaInsertByBo(moveOrderBo); - if (inserted){ + if (inserted) { boolean result = apiService.moveSubmit(vo); return result ? R.ok() : R.fail(); } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsAllocateOrderDetailService.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsAllocateOrderDetailService.java index 5eed61f0..4c09c09c 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsAllocateOrderDetailService.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsAllocateOrderDetailService.java @@ -1,7 +1,7 @@ package org.dromara.wms.service; -import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.wms.domain.bo.WmsAllocateOrderDetailBo; import org.dromara.wms.domain.vo.WmsAllocateOrderDetailVo; @@ -69,4 +69,6 @@ public interface IWmsAllocateOrderDetailService { List selectAllocateDetails(); int deleteById(Long aoDId); + + List selectdetailListByOrderCode(String orderCode); } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsAllocateOrderDetailServiceImpl.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsAllocateOrderDetailServiceImpl.java index f6eb13a0..e12765fe 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsAllocateOrderDetailServiceImpl.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsAllocateOrderDetailServiceImpl.java @@ -1,30 +1,28 @@ package org.dromara.wms.service.impl; -import com.github.yulichang.toolkit.JoinWrappers; -import com.github.yulichang.wrapper.MPJLambdaWrapper; -import org.dromara.common.core.utils.MapstructUtils; -import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.common.mybatis.core.page.PageQuery; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.toolkit.JoinWrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; import lombok.RequiredArgsConstructor; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.wms.domain.BaseMaterialInfo; import org.dromara.wms.domain.WmsAllocateOrderDetail; -import org.dromara.wms.domain.WmsBaseWarehouse; -import org.dromara.wms.domain.WmsMoveOrder; import org.dromara.wms.domain.bo.WmsAllocateOrderDetailBo; -import org.dromara.wms.domain.bo.WmsMoveOrderBo; import org.dromara.wms.domain.vo.WmsAllocateOrderDetailVo; import org.dromara.wms.mapper.WmsAllocateOrderDetailMapper; import org.dromara.wms.service.IWmsAllocateOrderDetailService; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Isolation; import org.springframework.transaction.annotation.Transactional; -import java.util.*; +import java.util.Collection; +import java.util.List; +import java.util.Map; /** * 调拨子Service业务层处理 @@ -45,7 +43,7 @@ public class WmsAllocateOrderDetailServiceImpl implements IWmsAllocateOrderDetai * @return 调拨子 */ @Override - public WmsAllocateOrderDetailVo queryById(Long aoDId){ + public WmsAllocateOrderDetailVo queryById(Long aoDId) { return baseMapper.selectVoById(aoDId); } @@ -87,11 +85,12 @@ public class WmsAllocateOrderDetailServiceImpl implements IWmsAllocateOrderDetai lqw.eq(bo.getErpSynchronousQty() != null, WmsAllocateOrderDetail::getErpSynchronousQty, bo.getErpSynchronousQty()); return lqw; } + private MPJLambdaWrapper buildJoinQueryWrapper(WmsAllocateOrderDetailBo bo) { Map params = bo.getParams(); MPJLambdaWrapper lqw = JoinWrappers.lambda(WmsAllocateOrderDetail.class) .selectAll(WmsAllocateOrderDetail.class).select(BaseMaterialInfo::getMaterialCode) - .leftJoin(BaseMaterialInfo.class,BaseMaterialInfo::getMaterialId,WmsAllocateOrderDetail::getMaterialId); + .leftJoin(BaseMaterialInfo.class, BaseMaterialInfo::getMaterialId, WmsAllocateOrderDetail::getMaterialId); lqw.eq(bo.getAoDId() != null, WmsAllocateOrderDetail::getAoDId, bo.getAoDId()); lqw.eq(StringUtils.isNotBlank(bo.getAllocateCode()), WmsAllocateOrderDetail::getAllocateCode, bo.getAllocateCode()); lqw.eq(bo.getMaterialId() != null, WmsAllocateOrderDetail::getMaterialId, bo.getMaterialId()); @@ -108,14 +107,14 @@ public class WmsAllocateOrderDetailServiceImpl implements IWmsAllocateOrderDetai * @return 是否新增成功 */ @Override - @Transactional( rollbackFor = Exception.class ) + @Transactional(rollbackFor = Exception.class) public Boolean insertByBo(List bo) { int i = 0; for (WmsAllocateOrderDetailBo detailBo : bo) { WmsAllocateOrderDetail add = MapstructUtils.convert(detailBo, WmsAllocateOrderDetail.class); /* add.setCreateBy(LoginHelper.getUsername()); add.setTenantId(LoginHelper.getTenantId());*/ - i = baseMapper.insert(add); + i = baseMapper.insert(add); } // int i = baseMapper.insertDetails(list); return i > 0; @@ -138,7 +137,7 @@ public class WmsAllocateOrderDetailServiceImpl implements IWmsAllocateOrderDetai /** * 保存前的数据校验 */ - private void validEntityBeforeSave(WmsAllocateOrderDetail entity){ + private void validEntityBeforeSave(WmsAllocateOrderDetail entity) { //TODO 做一些数据校验,如唯一约束 } @@ -151,7 +150,7 @@ public class WmsAllocateOrderDetailServiceImpl implements IWmsAllocateOrderDetai */ @Override public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ + if (isValid) { //TODO 做一些业务上的校验,判断是否需要校验 } return baseMapper.deleteByIds(ids) > 0; @@ -166,4 +165,15 @@ public class WmsAllocateOrderDetailServiceImpl implements IWmsAllocateOrderDetai public List selectAllocateDetails() { return null; } + + + @Override + public List selectdetailListByOrderCode(String orderCode) { + MPJLambdaWrapper lqw = JoinWrappers.lambda(WmsAllocateOrderDetail.class) + .selectAll(WmsAllocateOrderDetail.class) + .select(BaseMaterialInfo::getMaterialCode, BaseMaterialInfo::getMaterialName, BaseMaterialInfo::getMaterialUnit, BaseMaterialInfo::getMaterialSpec) + .leftJoin(BaseMaterialInfo.class, BaseMaterialInfo::getMaterialId, WmsAllocateOrderDetail::getMaterialId) + .eq(WmsAllocateOrderDetail::getAllocateCode, orderCode); + return baseMapper.selectVoList(lqw); + } } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsPdaApiServiceImpl.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsPdaApiServiceImpl.java index 2f400e6b..b0435819 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsPdaApiServiceImpl.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsPdaApiServiceImpl.java @@ -230,7 +230,9 @@ public class WmsPdaApiServiceImpl implements IWmsPdaApiService { public List outSelectByOrderCode(String orderCode) { MPJLambdaWrapper lqw = JoinWrappers.lambda(WmsOutstockDetail.class) .selectAll(WmsOutstockDetail.class) - .select(BaseMaterialInfo::getMaterialUnit, BaseMaterialInfo::getMaterialSpec).leftJoin(BaseMaterialInfo.class, BaseMaterialInfo::getMaterialId, WmsOutstockDetail::getMaterialId).eq(WmsOutstockDetail::getOutstockCode, orderCode); + .select(BaseMaterialInfo::getMaterialUnit, BaseMaterialInfo::getMaterialSpec) + .leftJoin(BaseMaterialInfo.class, BaseMaterialInfo::getMaterialId, WmsOutstockDetail::getMaterialId) + .eq(WmsOutstockDetail::getOutstockCode, orderCode); return wmsOutstockDetailMapper.selectVoList(lqw); }