diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/WmsInStockDetails.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/WmsInStockDetails.java index 8c981983..0d00f1a8 100644 --- a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/WmsInStockDetails.java +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/WmsInStockDetails.java @@ -1,9 +1,12 @@ package org.dromara.wms.domain; -import org.dromara.common.tenant.core.TenantEntity; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; +import org.dromara.common.tenant.core.TenantEntity; import java.io.Serial; @@ -72,5 +75,28 @@ public class WmsInStockDetails extends TenantEntity { */ private String delFlag; + @TableField(exist = false) + /** + * SAP物料编码 + */ + private String materialCode; + @TableField(exist = false) + /** + * SAP物料名称 + */ + private String materialName; + @TableField(exist = false) + /** + * 物料品牌 + */ + private String materialBrand; + @TableField(exist = false) + private String materialModel; + + @TableField(exist = false) + /** + * 仓库名称 + */ + private String warehouseName; } diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/vo/WmsInStockDetailsVo.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/vo/WmsInStockDetailsVo.java index ed3fa5a7..3a16a7a8 100644 --- a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/vo/WmsInStockDetailsVo.java +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/vo/WmsInStockDetailsVo.java @@ -94,5 +94,27 @@ public class WmsInStockDetailsVo implements Serializable { @ExcelProperty(value = "更新时间") private Date updateTime; + /** + * SAP物料编码 + */ + private String materialCode; + /** + * SAP物料名称 + */ + private String materialName; + + /** + * 物料品牌 + */ + private String materialBrand; + + /** + * 物料型号 + */ + private String materialModel; + /** + * 仓库名称 + */ + private String warehouseName; } diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/mapper/WmsInStockBillMapper.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/mapper/WmsInStockBillMapper.java index 5ac71243..e6de8089 100644 --- a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/mapper/WmsInStockBillMapper.java +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/mapper/WmsInStockBillMapper.java @@ -18,4 +18,5 @@ import org.springframework.stereotype.Repository; */ public interface WmsInStockBillMapper extends BaseMapperPlus { + int selectCountNowInStore(); } diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsInStockBillServiceImpl.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsInStockBillServiceImpl.java index cf33fdd8..d618fb52 100644 --- a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsInStockBillServiceImpl.java +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsInStockBillServiceImpl.java @@ -4,6 +4,8 @@ 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.enums.FormatsType; +import org.dromara.common.core.utils.DateUtils; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.PageQuery; @@ -17,6 +19,7 @@ import org.dromara.wms.mapper.WmsInStockDetailsMapper; import org.dromara.wms.service.IWmsInStockBillService; import org.springframework.stereotype.Service; +import java.time.LocalDate; import java.util.Collection; import java.util.List; import java.util.Map; @@ -83,7 +86,8 @@ public class WmsInStockBillServiceImpl implements IWmsInStockBillService { .eq(StringUtils.isNotBlank(bo.getFlowStatus()), WmsInStockBill::getFlowStatus, bo.getFlowStatus()) .eq(bo.getWarehouseId() != null, WmsInStockBill::getWarehouseId, bo.getWarehouseId()) .between(params.get("beginCreateTime") != null && params.get("endCreateTime") != null, - WmsInStockBill::getCreateTime, params.get("beginCreateTime"), params.get("endCreateTime")); + WmsInStockBill::getCreateTime, params.get("beginCreateTime"), params.get("endCreateTime")) + .orderByDesc(WmsInStockBill::getCreateTime); } /** @@ -95,6 +99,17 @@ public class WmsInStockBillServiceImpl implements IWmsInStockBillService { @Override public Boolean insertByBo(WmsInStockBillBo bo) { WmsInStockBill add = MapstructUtils.convert(bo, WmsInStockBill.class); + // 查询创建时间为今天的入库单条数 + int count = baseMapper.selectCountNowInStore(); + String dateTimeNow = DateUtils.dateTimeNow(FormatsType.YYYYMMDD); + if (count > 0) { + String tag = String.format("%03d", count + 1); + add.setInStockCode("RK" + dateTimeNow + "-" + tag); + } else { + add.setInStockCode("RK" + dateTimeNow + "-" + "001"); + } + + add.setFlowStatus("就绪"); boolean flag = baseMapper.insert(add) > 0; if (flag) { diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsInStockDetailsServiceImpl.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsInStockDetailsServiceImpl.java index afe14747..3fb54ac0 100644 --- a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsInStockDetailsServiceImpl.java +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsInStockDetailsServiceImpl.java @@ -1,24 +1,25 @@ 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.BaseMaterialInfo; +import org.dromara.wms.domain.WmsInStockDetails; +import org.dromara.wms.domain.WmsWarehouseInfo; import org.dromara.wms.domain.bo.WmsInStockDetailsBo; import org.dromara.wms.domain.vo.WmsInStockDetailsVo; -import org.dromara.wms.domain.WmsInStockDetails; import org.dromara.wms.mapper.WmsInStockDetailsMapper; import org.dromara.wms.service.IWmsInStockDetailsService; +import org.springframework.stereotype.Service; +import java.util.Collection; import java.util.List; import java.util.Map; -import java.util.Collection; /** * 入库单明细Service业务层处理 @@ -39,23 +40,23 @@ public class WmsInStockDetailsServiceImpl implements IWmsInStockDetailsService { * @return 入库单明细 */ @Override - public WmsInStockDetailsVo queryById(Long inStockDetailsId){ + public WmsInStockDetailsVo queryById(Long inStockDetailsId) { return baseMapper.selectVoById(inStockDetailsId); } - /** - * 分页查询入库单明细列表 - * - * @param bo 查询条件 - * @param pageQuery 分页参数 - * @return 入库单明细分页列表 - */ - @Override - public TableDataInfo queryPageList(WmsInStockDetailsBo 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(WmsInStockDetailsBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } /** * 查询符合条件的入库单明细列表 @@ -72,12 +73,15 @@ public class WmsInStockDetailsServiceImpl implements IWmsInStockDetailsService { private MPJLambdaWrapper buildQueryWrapper(WmsInStockDetailsBo bo) { Map params = bo.getParams(); MPJLambdaWrapper lqw = JoinWrappers.lambda(WmsInStockDetails.class) - .selectAll(WmsInStockDetails.class) - .eq(bo.getInStockBillId() != null, WmsInStockDetails::getInStockBillId, bo.getInStockBillId()) - .eq(bo.getWarehouseId() != null, WmsInStockDetails::getWarehouseId, bo.getWarehouseId()) - .eq(bo.getMaterialId() != null, WmsInStockDetails::getMaterialId, bo.getMaterialId()) - .eq(StringUtils.isNotBlank(bo.getBatchNumber()), WmsInStockDetails::getBatchNumber, bo.getBatchNumber()) -; + .selectAll(WmsInStockDetails.class) + .leftJoin(BaseMaterialInfo.class, BaseMaterialInfo::getMaterialId, WmsInStockDetails::getMaterialId) + .select(BaseMaterialInfo::getMaterialCode, BaseMaterialInfo::getMaterialName, BaseMaterialInfo::getMaterialModel) + .leftJoin(WmsWarehouseInfo.class, WmsWarehouseInfo::getWarehouseId, WmsInStockDetails::getWarehouseId) + .select(WmsWarehouseInfo::getWarehouseName) + .eq(bo.getInStockBillId() != null, WmsInStockDetails::getInStockBillId, bo.getInStockBillId()) + .eq(bo.getWarehouseId() != null, WmsInStockDetails::getWarehouseId, bo.getWarehouseId()) + .eq(bo.getMaterialId() != null, WmsInStockDetails::getMaterialId, bo.getMaterialId()) + .eq(StringUtils.isNotBlank(bo.getBatchNumber()), WmsInStockDetails::getBatchNumber, bo.getBatchNumber()); return lqw; } @@ -114,7 +118,7 @@ public class WmsInStockDetailsServiceImpl implements IWmsInStockDetailsService { /** * 保存前的数据校验 */ - private void validEntityBeforeSave(WmsInStockDetails entity){ + private void validEntityBeforeSave(WmsInStockDetails entity) { //TODO 做一些数据校验,如唯一约束 } @@ -127,7 +131,7 @@ public class WmsInStockDetailsServiceImpl implements IWmsInStockDetailsService { */ @Override public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ + if (isValid) { //TODO 做一些业务上的校验,判断是否需要校验 } return baseMapper.deleteByIds(ids) > 0; diff --git a/ruoyi-modules/ruoyi-wms/src/main/resources/mapper/wms/WmsInStockBillMapper.xml b/ruoyi-modules/ruoyi-wms/src/main/resources/mapper/wms/WmsInStockBillMapper.xml index c7a31ae4..a9f5fe6a 100644 --- a/ruoyi-modules/ruoyi-wms/src/main/resources/mapper/wms/WmsInStockBillMapper.xml +++ b/ruoyi-modules/ruoyi-wms/src/main/resources/mapper/wms/WmsInStockBillMapper.xml @@ -11,4 +11,11 @@ ${ew.getCustomSqlSegment} + +