feat(wms): 出库主子表完成

dev
wanghao 1 month ago
parent 86c32e5342
commit 02af0876e2

@ -52,6 +52,10 @@ public class WmsInventoryDetails extends TenantEntity {
*/
private Double inventoryAmount;
private Double startInventoryAmount;
/**
*
*/
private String unitName;
/**
*

@ -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;
}

@ -78,4 +78,8 @@ public class WmsInventoryDetailsBo extends BaseEntity {
*/
private String productName;
private String externalBrand;
/**
*
*/
private String unitName;
}

@ -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<WmsOutStockDetails> outStockDetailsList;
}

@ -138,4 +138,8 @@ public class WmsInventoryDetailsVo implements Serializable {
*
*/
private String productSpe;
/**
*
*/
private String unitName;
}

@ -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;
}

@ -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<WmsOutStockDetails, WmsOutStockDetailsVo> {
/**

@ -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<WmsOutStockBillVo> queryPageList(WmsOutStockBillBo bo, PageQuery pageQuery) {
MPJLambdaWrapper<WmsOutStockBill> lqw = buildQueryWrapper(bo);
Page<WmsOutStockBillVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
*
*
* @param bo
* @param pageQuery
* @return
*/
@Override
public TableDataInfo<WmsOutStockBillVo> queryPageList(WmsOutStockBillBo bo, PageQuery pageQuery) {
MPJLambdaWrapper<WmsOutStockBill> lqw = buildQueryWrapper(bo);
Page<WmsOutStockBillVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
*
@ -75,16 +78,16 @@ public class WmsOutStockBillServiceImpl implements IWmsOutStockBillService {
private MPJLambdaWrapper<WmsOutStockBill> buildQueryWrapper(WmsOutStockBillBo bo) {
Map<String, Object> params = bo.getParams();
MPJLambdaWrapper<WmsOutStockBill> 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<WmsOutStockDetails> outStockDetailsList = bo.getOutStockDetailsList();
outStockDetailsList.forEach(item -> {
item.setOutStockBillId(outStockBillId);
});
//插入出库明细
wmsOutStockDetailsMapper.insert(outStockDetailsList);
}
return flag;
}
@ -120,7 +129,6 @@ public class WmsOutStockBillServiceImpl implements IWmsOutStockBillService {
}
/**
*
*

@ -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<WmsOutStockDetailsVo> queryPageList(WmsOutStockDetailsBo bo, PageQuery pageQuery) {
MPJLambdaWrapper<WmsOutStockDetails> lqw = buildQueryWrapper(bo);
Page<WmsOutStockDetailsVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
*
*
* @param bo
* @param pageQuery
* @return
*/
@Override
public TableDataInfo<WmsOutStockDetailsVo> queryPageList(WmsOutStockDetailsBo bo, PageQuery pageQuery) {
MPJLambdaWrapper<WmsOutStockDetails> lqw = buildQueryWrapper(bo);
Page<WmsOutStockDetailsVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
*
@ -72,15 +72,16 @@ public class WmsOutStockDetailsServiceImpl implements IWmsOutStockDetailsService
private MPJLambdaWrapper<WmsOutStockDetails> buildQueryWrapper(WmsOutStockDetailsBo bo) {
Map<String, Object> params = bo.getParams();
MPJLambdaWrapper<WmsOutStockDetails> 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<Long> ids, Boolean isValid) {
if(isValid){
if (isValid) {
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;

Loading…
Cancel
Save