diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/WmsInventoryDetails.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/WmsInventoryDetails.java index 9474e624..e002eb46 100644 --- a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/WmsInventoryDetails.java +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/WmsInventoryDetails.java @@ -52,6 +52,10 @@ public class WmsInventoryDetails extends TenantEntity { */ private Double inventoryAmount; private Double startInventoryAmount; + /** + * 物料单位 + */ + private String unitName; /** * 锁定数量 diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/WmsOutStockDetails.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/WmsOutStockDetails.java index 240cdcdd..15ba663f 100644 --- a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/WmsOutStockDetails.java +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/WmsOutStockDetails.java @@ -1,9 +1,9 @@ package org.dromara.wms.domain; -import org.dromara.common.tenant.core.TenantEntity; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import lombok.EqualsAndHashCode; +import org.dromara.common.tenant.core.TenantEntity; import java.io.Serial; @@ -89,4 +89,23 @@ public class WmsOutStockDetails extends TenantEntity { private Long inventoryDetailsId; + @TableField(exist = false) + private Double oldInventoryAmount; + @TableField(exist = false) + /** + * 成品编码 + */ + private String productCode; + @TableField(exist = false) + /** + * 成品名称 + */ + private String productName; + @TableField(exist = false) + private String externalBrand; + @TableField(exist = false) + /** + * 成品描述 + */ + private String productSpe; } diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/bo/WmsInventoryDetailsBo.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/bo/WmsInventoryDetailsBo.java index 5be2b9d9..379fd70f 100644 --- a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/bo/WmsInventoryDetailsBo.java +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/bo/WmsInventoryDetailsBo.java @@ -78,4 +78,8 @@ public class WmsInventoryDetailsBo extends BaseEntity { */ private String productName; private String externalBrand; + /** + * 物料单位 + */ + private String unitName; } diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/bo/WmsOutStockBillBo.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/bo/WmsOutStockBillBo.java index ec9314a7..7894cbe0 100644 --- a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/bo/WmsOutStockBillBo.java +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/bo/WmsOutStockBillBo.java @@ -8,6 +8,9 @@ import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; +import org.dromara.wms.domain.WmsOutStockDetails; + +import java.util.List; /** * 出库单业务对象 wms_out_stock_bill @@ -76,5 +79,7 @@ public class WmsOutStockBillBo extends BaseEntity { */ private Long warehouseId; + private List outStockDetailsList; + } diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/vo/WmsInventoryDetailsVo.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/vo/WmsInventoryDetailsVo.java index 0bada427..2d6292d7 100644 --- a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/vo/WmsInventoryDetailsVo.java +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/vo/WmsInventoryDetailsVo.java @@ -138,4 +138,8 @@ public class WmsInventoryDetailsVo implements Serializable { * 成品描述 */ private String productSpe; + /** + * 物料单位 + */ + private String unitName; } diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/vo/WmsOutStockDetailsVo.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/vo/WmsOutStockDetailsVo.java index a9d902e7..120df08a 100644 --- a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/vo/WmsOutStockDetailsVo.java +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/vo/WmsOutStockDetailsVo.java @@ -142,6 +142,20 @@ public class WmsOutStockDetailsVo implements Serializable { */ @ExcelProperty(value = "库存ID") private Long inventoryDetailsId; + /** + * 成品编码 + */ + private String productCode; + /** + * 成品名称 + */ + private String productName; + private String externalBrand; + + /** + * 成品描述 + */ + private String productSpe; } diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/mapper/WmsOutStockDetailsMapper.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/mapper/WmsOutStockDetailsMapper.java index 639faa45..b53942d7 100644 --- a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/mapper/WmsOutStockDetailsMapper.java +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/mapper/WmsOutStockDetailsMapper.java @@ -8,6 +8,7 @@ import org.apache.ibatis.annotations.Param; import org.dromara.wms.domain.WmsOutStockDetails; import org.dromara.wms.domain.vo.WmsOutStockDetailsVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import org.springframework.stereotype.Repository; /** * 出库单明细Mapper接口 @@ -15,6 +16,7 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; * @author Yinq * @date 2025-11-12 */ +@Repository public interface WmsOutStockDetailsMapper extends BaseMapperPlus { /** diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsOutStockBillServiceImpl.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsOutStockBillServiceImpl.java index d6ff867a..a2deabde 100644 --- a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsOutStockBillServiceImpl.java +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsOutStockBillServiceImpl.java @@ -1,26 +1,27 @@ package org.dromara.wms.service.impl; +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.apache.dubbo.config.annotation.DubboReference; 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.github.yulichang.toolkit.JoinWrappers; -import com.github.yulichang.wrapper.MPJLambdaWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import lombok.RequiredArgsConstructor; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.system.api.RemoteCodeRuleService; -import org.springframework.stereotype.Service; +import org.dromara.wms.domain.WmsOutStockBill; +import org.dromara.wms.domain.WmsOutStockDetails; import org.dromara.wms.domain.bo.WmsOutStockBillBo; import org.dromara.wms.domain.vo.WmsOutStockBillVo; -import org.dromara.wms.domain.WmsOutStockBill; import org.dromara.wms.mapper.WmsOutStockBillMapper; +import org.dromara.wms.mapper.WmsOutStockDetailsMapper; import org.dromara.wms.service.IWmsOutStockBillService; +import org.springframework.stereotype.Service; +import java.util.Collection; import java.util.List; import java.util.Map; -import java.util.Collection; /** * 出库单Service业务层处理 @@ -33,8 +34,10 @@ import java.util.Collection; public class WmsOutStockBillServiceImpl implements IWmsOutStockBillService { private final WmsOutStockBillMapper baseMapper; + private final WmsOutStockDetailsMapper wmsOutStockDetailsMapper; @DubboReference private RemoteCodeRuleService remoteCodeRuleService; + /** * 查询出库单 * @@ -42,23 +45,23 @@ public class WmsOutStockBillServiceImpl implements IWmsOutStockBillService { * @return 出库单 */ @Override - public WmsOutStockBillVo queryById(Long outStockBillId){ + public WmsOutStockBillVo queryById(Long outStockBillId) { return baseMapper.selectVoById(outStockBillId); } - /** - * 分页查询出库单列表 - * - * @param bo 查询条件 - * @param pageQuery 分页参数 - * @return 出库单分页列表 - */ - @Override - public TableDataInfo queryPageList(WmsOutStockBillBo bo, PageQuery pageQuery) { - MPJLambdaWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } + /** + * 分页查询出库单列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 出库单分页列表 + */ + @Override + public TableDataInfo queryPageList(WmsOutStockBillBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } /** * 查询符合条件的出库单列表 @@ -75,16 +78,16 @@ public class WmsOutStockBillServiceImpl implements IWmsOutStockBillService { private MPJLambdaWrapper buildQueryWrapper(WmsOutStockBillBo bo) { Map params = bo.getParams(); MPJLambdaWrapper lqw = JoinWrappers.lambda(WmsOutStockBill.class) - .selectAll(WmsOutStockBill.class) - .eq(WmsOutStockBill::getDelFlag, "0") - .eq(StringUtils.isNotBlank(bo.getOutStockType()), WmsOutStockBill::getOutStockType, bo.getOutStockType()) - .eq(bo.getProjectId() != null, WmsOutStockBill::getProjectId, bo.getProjectId()) - .eq(bo.getCustomerId() != null, WmsOutStockBill::getCustomerId, bo.getCustomerId()) - .eq(StringUtils.isNotBlank(bo.getCustomerUser()), WmsOutStockBill::getCustomerUser, bo.getCustomerUser()) - .eq(StringUtils.isNotBlank(bo.getOutStockBillStatus()), WmsOutStockBill::getOutStockBillStatus, bo.getOutStockBillStatus()) - .eq(bo.getWarehouseId() != null, WmsOutStockBill::getWarehouseId, bo.getWarehouseId()) - .eq(bo.getCreateTime() != null, WmsOutStockBill::getCreateTime, bo.getCreateTime()) -; + .selectAll(WmsOutStockBill.class) + .eq(WmsOutStockBill::getDelFlag, "0") + .eq(StringUtils.isNotBlank(bo.getOutStockType()), WmsOutStockBill::getOutStockType, bo.getOutStockType()) + .eq(bo.getProjectId() != null, WmsOutStockBill::getProjectId, bo.getProjectId()) + .eq(bo.getCustomerId() != null, WmsOutStockBill::getCustomerId, bo.getCustomerId()) + .eq(StringUtils.isNotBlank(bo.getCustomerUser()), WmsOutStockBill::getCustomerUser, bo.getCustomerUser()) + .eq(StringUtils.isNotBlank(bo.getOutStockBillStatus()), WmsOutStockBill::getOutStockBillStatus, bo.getOutStockBillStatus()) + .eq(bo.getWarehouseId() != null, WmsOutStockBill::getWarehouseId, bo.getWarehouseId()) + .between(params.get("beginCreateTime") != null && params.get("endCreateTime") != null, + WmsOutStockBill::getCreateTime, params.get("beginCreateTime"), params.get("endCreateTime")); return lqw; } @@ -98,10 +101,16 @@ public class WmsOutStockBillServiceImpl implements IWmsOutStockBillService { public Boolean insertByBo(WmsOutStockBillBo bo) { WmsOutStockBill add = MapstructUtils.convert(bo, WmsOutStockBill.class); add.setOutStockCode(remoteCodeRuleService.selectCodeRuleCode("1006")); - + add.setOutStockBillStatus("3"); boolean flag = baseMapper.insert(add) > 0; if (flag) { - bo.setOutStockBillId(add.getOutStockBillId()); + Long outStockBillId = add.getOutStockBillId(); + List outStockDetailsList = bo.getOutStockDetailsList(); + outStockDetailsList.forEach(item -> { + item.setOutStockBillId(outStockBillId); + }); + //插入出库明细 + wmsOutStockDetailsMapper.insert(outStockDetailsList); } return flag; } @@ -120,7 +129,6 @@ public class WmsOutStockBillServiceImpl implements IWmsOutStockBillService { } - /** * 校验并批量删除出库单信息 * diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsOutStockDetailsServiceImpl.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsOutStockDetailsServiceImpl.java index fde4ebe1..f96b6068 100644 --- a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsOutStockDetailsServiceImpl.java +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsOutStockDetailsServiceImpl.java @@ -1,24 +1,24 @@ package org.dromara.wms.service.impl; -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.extension.plugins.pagination.Page; import com.github.yulichang.toolkit.JoinWrappers; import com.github.yulichang.wrapper.MPJLambdaWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; +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.wms.domain.WmsBaseProduct; +import org.dromara.wms.domain.WmsOutStockDetails; import org.dromara.wms.domain.bo.WmsOutStockDetailsBo; import org.dromara.wms.domain.vo.WmsOutStockDetailsVo; -import org.dromara.wms.domain.WmsOutStockDetails; import org.dromara.wms.mapper.WmsOutStockDetailsMapper; import org.dromara.wms.service.IWmsOutStockDetailsService; +import org.springframework.stereotype.Service; +import java.util.Collection; import java.util.List; import java.util.Map; -import java.util.Collection; /** * 出库单明细Service业务层处理 @@ -39,23 +39,23 @@ public class WmsOutStockDetailsServiceImpl implements IWmsOutStockDetailsService * @return 出库单明细 */ @Override - public WmsOutStockDetailsVo queryById(Long outStockDetailsId){ + public WmsOutStockDetailsVo queryById(Long outStockDetailsId) { return baseMapper.selectVoById(outStockDetailsId); } - /** - * 分页查询出库单明细列表 - * - * @param bo 查询条件 - * @param pageQuery 分页参数 - * @return 出库单明细分页列表 - */ - @Override - public TableDataInfo queryPageList(WmsOutStockDetailsBo bo, PageQuery pageQuery) { - MPJLambdaWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } + /** + * 分页查询出库单明细列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 出库单明细分页列表 + */ + @Override + public TableDataInfo queryPageList(WmsOutStockDetailsBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } /** * 查询符合条件的出库单明细列表 @@ -72,15 +72,16 @@ public class WmsOutStockDetailsServiceImpl implements IWmsOutStockDetailsService private MPJLambdaWrapper buildQueryWrapper(WmsOutStockDetailsBo bo) { Map params = bo.getParams(); MPJLambdaWrapper lqw = JoinWrappers.lambda(WmsOutStockDetails.class) - .selectAll(WmsOutStockDetails.class) - .eq(WmsOutStockDetails::getDelFlag, "0") - .eq(bo.getWarehouseId() != null, WmsOutStockDetails::getWarehouseId, bo.getWarehouseId()) - .eq(bo.getMaterielId() != null, WmsOutStockDetails::getMaterielId, bo.getMaterielId()) - .eq(StringUtils.isNotBlank(bo.getBatchNumber()), WmsOutStockDetails::getBatchNumber, bo.getBatchNumber()) - .between(params.get("beginCreateTime") != null && params.get("endCreateTime") != null, - WmsOutStockDetails::getCreateTime ,params.get("beginCreateTime"), params.get("endCreateTime")) - .eq(bo.getOutStockBillId() != null, WmsOutStockDetails::getOutStockBillId, bo.getOutStockBillId()) -; + .selectAll(WmsOutStockDetails.class) + .leftJoin(WmsBaseProduct.class, WmsBaseProduct::getProductId, WmsOutStockDetails::getMaterielId) + .select(WmsBaseProduct::getProductCode, WmsBaseProduct::getProductName,WmsBaseProduct::getExternalBrand,WmsBaseProduct::getProductSpe) + // .eq(WmsOutStockDetails::getDelFlag, "0") + .eq(bo.getWarehouseId() != null, WmsOutStockDetails::getWarehouseId, bo.getWarehouseId()) + .eq(bo.getMaterielId() != null, WmsOutStockDetails::getMaterielId, bo.getMaterielId()) + .eq(StringUtils.isNotBlank(bo.getBatchNumber()), WmsOutStockDetails::getBatchNumber, bo.getBatchNumber()) + .between(params.get("beginCreateTime") != null && params.get("endCreateTime") != null, + WmsOutStockDetails::getCreateTime, params.get("beginCreateTime"), params.get("endCreateTime")) + .eq(bo.getOutStockBillId() != null, WmsOutStockDetails::getOutStockBillId, bo.getOutStockBillId()); return lqw; } @@ -117,7 +118,7 @@ public class WmsOutStockDetailsServiceImpl implements IWmsOutStockDetailsService /** * 保存前的数据校验 */ - private void validEntityBeforeSave(WmsOutStockDetails entity){ + private void validEntityBeforeSave(WmsOutStockDetails entity) { //TODO 做一些数据校验,如唯一约束 } @@ -130,7 +131,7 @@ public class WmsOutStockDetailsServiceImpl implements IWmsOutStockDetailsService */ @Override public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ + if (isValid) { //TODO 做一些业务上的校验,判断是否需要校验 } return baseMapper.deleteByIds(ids) > 0;