From 73e646965c0f99a67799ed9a12c106219b8505e5 Mon Sep 17 00:00:00 2001 From: wanghao Date: Fri, 15 Aug 2025 17:49:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20=E9=80=80=E5=BA=93?= =?UTF-8?q?=E5=85=A5=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/api/WmsPdaApiController.java | 27 +++++++--- .../wms/domain/vo/WmsReturnOrderVo.java | 13 ++--- .../wms/mapper/WmsReturnOrderMapper.java | 7 ++- .../wms/service/IWmsReturnOrderService.java | 6 ++- .../impl/WmsReturnOrderServiceImpl.java | 49 +++++++++++++------ 5 files changed, 70 insertions(+), 32 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 e385ef4..85f2208 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 @@ -50,21 +50,33 @@ public class WmsPdaApiController extends BaseController { @PostMapping("/raw/returnSubmit") public R rawReturnSubmit(@RequestBody WmsReturnOrderBo bo) { Boolean result = wmsReturnOrderService.insertByBo(bo); - if (result) { - apiService.rawReturnSubmitUpdateStateById(bo.getOutstockRecordId()); + return toAjax(result); + } + + // 退库工单查询 + @PostMapping("/returnStore/selectByCode") + public R returnStoreSelectByCode(String code) { + WmsReturnOrderVo wmsReturnOrderVo = wmsReturnOrderService.selectOrderInfoByCode(code); + if (wmsReturnOrderVo == null) { + return R.fail("查询失败"); } + return R.ok(wmsReturnOrderVo); + } + + // 退库入库提交 + @PostMapping("/returnStore/submit") + public R returnStoreSubmit(@RequestBody WmsReturnOrderVo data) { + Boolean result = wmsReturnOrderService.returnStoreSubmit(data); return toAjax(result); } @PostMapping("/raw/inSelectCode") public R inSelectCode(String code) { - WmsInstockPrintVo wmsInstockPrintVo = apiService.inSelectCode(code); if (wmsInstockPrintVo == null) { R.fail(); } return R.ok(wmsInstockPrintVo); - } @PostMapping("/raw/inSubmit") @@ -132,15 +144,16 @@ public class WmsPdaApiController extends BaseController { * 查询库位上的条码 */ @GetMapping("/ledgerSelect") - public R ledgerSelect(String batchCode,String locationCode) { + public R ledgerSelect(String batchCode, String locationCode) { // 验证库存 WmsInventoryVo wmsInventoryVo = apiService.ledgerSelect(batchCode, locationCode); if (wmsInventoryVo == null) { R.fail("条码扫描错误"); } - return R.ok(wmsInventoryVo) ; + return R.ok(wmsInventoryVo); } + // 移库提交 @GetMapping("/moveSubmit") public R moveSubmit(@RequestBody WmsInventoryVo vo) { @@ -150,7 +163,7 @@ public class WmsPdaApiController extends BaseController { return R.fail("库位条码扫描错误"); } - boolean result=apiService.moveSubmit(vo); + boolean result = apiService.moveSubmit(vo); return result ? R.ok() : R.fail(); } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsReturnOrderVo.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsReturnOrderVo.java index b5ba89e..681acd6 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsReturnOrderVo.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsReturnOrderVo.java @@ -1,21 +1,16 @@ package org.dromara.wms.domain.vo; -import java.math.BigDecimal; -import java.util.Date; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.TableField; -import com.fasterxml.jackson.annotation.JsonFormat; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; -import org.dromara.common.excel.annotation.ExcelDictFormat; -import org.dromara.common.excel.convert.ExcelDictConvert; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import org.dromara.wms.domain.WmsReturnOrder; import java.io.Serial; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; @@ -157,6 +152,8 @@ public class WmsReturnOrderVo implements Serializable { private String warehouseCode;//字段映射 private String materialCode; + private String materialName; + private String materialUnit; /** * 物料大类 diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsReturnOrderMapper.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsReturnOrderMapper.java index 56aa21c..332abc1 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsReturnOrderMapper.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsReturnOrderMapper.java @@ -1,10 +1,11 @@ package org.dromara.wms.mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.wms.domain.WmsReturnOrder; import org.dromara.wms.domain.vo.WmsReturnOrderVo; import org.springframework.stereotype.Repository; -import org.springframework.web.bind.annotation.RequestBody; /** * 退库工单Mapper接口 @@ -14,5 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; */ @Repository public interface WmsReturnOrderMapper extends BaseMapperPlus { - + @Select("select top 1 ro_id,wro.material_id,batch_code,plan_amount,plan_location_code,bmi.material_name,bmi.material_unit from wms_return_order wro\n" + + "left join base_material_info bmi on bmi.material_id=wro.material_id where batch_code=#{code} order by wro.create_time desc") + WmsReturnOrderVo selectOrderInfoByCode(@Param("code") String code); } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsReturnOrderService.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsReturnOrderService.java index 60f6354..1bdb337 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsReturnOrderService.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsReturnOrderService.java @@ -1,8 +1,8 @@ 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.WmsReturnOrderBo; import org.dromara.wms.domain.vo.WmsReturnOrderVo; @@ -66,4 +66,8 @@ public interface IWmsReturnOrderService { * @return 是否删除成功 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + WmsReturnOrderVo selectOrderInfoByCode(String code); + + Boolean returnStoreSubmit(WmsReturnOrderVo data); } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsReturnOrderServiceImpl.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsReturnOrderServiceImpl.java index 54f2146..8776de7 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsReturnOrderServiceImpl.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsReturnOrderServiceImpl.java @@ -1,27 +1,29 @@ 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.*; -import org.dromara.wms.domain.bo.WmsOutstockRecordBo; +import org.dromara.wms.domain.BaseMaterialCategory; +import org.dromara.wms.domain.BaseMaterialInfo; +import org.dromara.wms.domain.WmsBaseWarehouse; +import org.dromara.wms.domain.WmsReturnOrder; import org.dromara.wms.domain.bo.WmsReturnOrderBo; import org.dromara.wms.domain.vo.WmsReturnOrderVo; import org.dromara.wms.mapper.WmsReturnOrderMapper; import org.dromara.wms.service.IWmsReturnOrderService; import org.springframework.stereotype.Service; +import java.util.Collection; import java.util.List; import java.util.Map; -import java.util.Collection; /** * 退库工单Service业务层处理 @@ -42,7 +44,7 @@ public class WmsReturnOrderServiceImpl implements IWmsReturnOrderService { * @return 退库工单 */ @Override - public WmsReturnOrderVo queryById(Long roId){ + public WmsReturnOrderVo queryById(Long roId) { return baseMapper.selectVoById(roId); } @@ -73,6 +75,7 @@ public class WmsReturnOrderServiceImpl implements IWmsReturnOrderService { LambdaQueryWrapper lqw = buildQueryWrapper(bo); return baseMapper.selectVoList(lqw); } + private MPJLambdaWrapper buildJoinQueryWrapper(WmsReturnOrderBo bo) { Map params = bo.getParams(); MPJLambdaWrapper lqw = JoinWrappers.lambda(WmsReturnOrder.class) @@ -84,8 +87,8 @@ public class WmsReturnOrderServiceImpl implements IWmsReturnOrderService { .select(BaseMaterialInfo::getMaterialCode) .select(WmsBaseWarehouse::getWarehouseCode) - .leftJoin(BaseMaterialInfo.class,BaseMaterialInfo::getMaterialId,WmsReturnOrder::getMaterialId) - .leftJoin(WmsBaseWarehouse.class,WmsBaseWarehouse::getWarehouseId,WmsReturnOrder::getWarehouseId); + .leftJoin(BaseMaterialInfo.class, BaseMaterialInfo::getMaterialId, WmsReturnOrder::getMaterialId) + .leftJoin(WmsBaseWarehouse.class, WmsBaseWarehouse::getWarehouseId, WmsReturnOrder::getWarehouseId); lqw.eq(bo.getRoId() != null, WmsReturnOrder::getRoId, bo.getRoId()); lqw.eq(bo.getMaterialId() != null, WmsReturnOrder::getMaterialId, bo.getMaterialId()); lqw.eq(StringUtils.isNotBlank(bo.getMaterialCategoryId()), WmsReturnOrder::getMaterialCategoryId, bo.getMaterialCategoryId()); @@ -105,6 +108,7 @@ public class WmsReturnOrderServiceImpl implements IWmsReturnOrderService { lqw.orderByDesc(WmsReturnOrder::getCreateTime); return lqw; } + private LambdaQueryWrapper buildQueryWrapper(WmsReturnOrderBo bo) { Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); @@ -136,6 +140,7 @@ public class WmsReturnOrderServiceImpl implements IWmsReturnOrderService { @Override public Boolean insertByBo(WmsReturnOrderBo bo) { WmsReturnOrder add = MapstructUtils.convert(bo, WmsReturnOrder.class); + add.setCreateBy(LoginHelper.getUsername()); boolean flag = baseMapper.insert(add) > 0; if (flag) { bo.setRoId(add.getRoId()); @@ -157,7 +162,6 @@ public class WmsReturnOrderServiceImpl implements IWmsReturnOrderService { } - /** * 校验并批量删除退库工单信息 * @@ -169,4 +173,21 @@ public class WmsReturnOrderServiceImpl implements IWmsReturnOrderService { public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { return baseMapper.deleteByIds(ids) > 0; } + + @Override + public WmsReturnOrderVo selectOrderInfoByCode(String code) { + return baseMapper.selectOrderInfoByCode(code); + } + + @Override + public Boolean returnStoreSubmit(WmsReturnOrderVo data) { + WmsReturnOrder wmsReturnOrder = new WmsReturnOrder(); + wmsReturnOrder.setRoId(data.getRoId()); + wmsReturnOrder.setReturnLocationCode(data.getReturnLocationCode()); + wmsReturnOrder.setUpdateBy(LoginHelper.getUsername()); + wmsReturnOrder.setReturnAmount(data.getPlanAmount()); + wmsReturnOrder.setOrderStatus(String.valueOf(1)); + int i = baseMapper.updateById(wmsReturnOrder); + return i > 0; + } }