update wms手动创建出库单逻辑

master^2
yinq 3 days ago
parent dd8b00c139
commit a3114f135e

@ -76,5 +76,10 @@ public class WmsBaseLocation extends TenantEntity {
@TableField(exist = false) @TableField(exist = false)
private String areaName;//JOIN private String areaName;//JOIN
/**
*
*/
@TableField(exist = false)
private String warehouseName;
} }

@ -133,6 +133,11 @@ public class WmsReturnOrder {
@TableField(exist = false) @TableField(exist = false)
private String materialCode; private String materialCode;
/**
*
*/
@TableField(exist = false)
private String materialName;
/** /**
* *
@ -140,4 +145,9 @@ public class WmsReturnOrder {
@TableField(exist = false) @TableField(exist = false)
private String materialCategoryName;//字段映射 private String materialCategoryName;//字段映射
/**
* 退
*/
private String returnReason;
} }

@ -1,5 +1,6 @@
package org.dromara.wms.domain.bo; package org.dromara.wms.domain.bo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -48,5 +49,13 @@ public class WmsBaseLocationBo extends BaseEntity {
*/ */
private Long locationNum; private Long locationNum;
/**
* ID
*/
private Long warehouseId;
/**
*
*/
private String warehouseName;
} }

@ -102,4 +102,14 @@ public class WmsReturnOrderBo extends BaseEntity {
private Long outstockRecordId; private Long outstockRecordId;
/**
* 退
*/
private String returnReason;
/**
*
*/
private String materialName;
} }

@ -96,4 +96,10 @@ public class WmsBaseLocationVo implements Serializable {
private boolean state=false; private boolean state=false;
/**
*
*/
private String warehouseName;
} }

@ -163,4 +163,15 @@ public class WmsReturnOrderVo implements Serializable {
*/ */
private String materialCategoryName;//字段映射 private String materialCategoryName;//字段映射
/**
* 退
*/
@ExcelProperty(value = "退库原因")
private String returnReason;
/**
*
*/
private String materialName;
} }

@ -11,6 +11,7 @@ import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.wms.domain.WmsBaseArea; import org.dromara.wms.domain.WmsBaseArea;
import org.dromara.wms.domain.WmsBaseLocation; import org.dromara.wms.domain.WmsBaseLocation;
import org.dromara.wms.domain.WmsBaseWarehouse;
import org.dromara.wms.domain.bo.WmsBaseLocationBo; import org.dromara.wms.domain.bo.WmsBaseLocationBo;
import org.dromara.wms.domain.vo.WmsBaseLocationVo; import org.dromara.wms.domain.vo.WmsBaseLocationVo;
import org.dromara.wms.mapper.WmsBaseLocationMapper; import org.dromara.wms.mapper.WmsBaseLocationMapper;
@ -40,7 +41,7 @@ public class WmsBaseLocationServiceImpl implements IWmsBaseLocationService {
* @return * @return
*/ */
@Override @Override
public WmsBaseLocationVo queryById(Long locationId){ public WmsBaseLocationVo queryById(Long locationId) {
return baseMapper.selectVoById(locationId); return baseMapper.selectVoById(locationId);
} }
@ -69,11 +70,12 @@ public class WmsBaseLocationServiceImpl implements IWmsBaseLocationService {
MPJLambdaWrapper<WmsBaseLocation> lqw = buildQueryWrapper(bo); MPJLambdaWrapper<WmsBaseLocation> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw); return baseMapper.selectVoList(lqw);
} }
@Override @Override
public List<WmsBaseLocationVo> queryVoList(WmsBaseLocationBo bo) { public List<WmsBaseLocationVo> queryVoList(WmsBaseLocationBo bo) {
LambdaQueryWrapper<WmsBaseLocation> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<WmsBaseLocation> lqw = new LambdaQueryWrapper<>();
if (bo.getAreaId()!=null){ if (bo.getAreaId() != null) {
lqw.eq(WmsBaseLocation::getAreaId,bo.getAreaId()); lqw.eq(WmsBaseLocation::getAreaId, bo.getAreaId());
} }
return baseMapper.selectVoList(lqw); return baseMapper.selectVoList(lqw);
} }
@ -82,16 +84,15 @@ public class WmsBaseLocationServiceImpl implements IWmsBaseLocationService {
Map<String, Object> params = bo.getParams(); Map<String, Object> params = bo.getParams();
MPJLambdaWrapper<WmsBaseLocation> lqw = JoinWrappers.lambda(WmsBaseLocation.class) MPJLambdaWrapper<WmsBaseLocation> lqw = JoinWrappers.lambda(WmsBaseLocation.class)
.selectAll(WmsBaseLocation.class) .selectAll(WmsBaseLocation.class)
// .select(WmsBaseWarehouse::getWarehouseName,WmsBaseWarehouse::getWarehouseCode)
// .leftJoin(WmsBaseWarehouse.class,WmsBaseWarehouse::getWarehouseId,WmsBaseLocation::getWarehouseId)
//关联仓库改为关联区域
.select(WmsBaseArea::getAreaName, WmsBaseArea::getAreaCode) .select(WmsBaseArea::getAreaName, WmsBaseArea::getAreaCode)
.leftJoin(WmsBaseArea.class,WmsBaseArea::getAreaId,WmsBaseLocation::getAreaId) .select(WmsBaseWarehouse::getWarehouseName, WmsBaseWarehouse::getWarehouseName)
.leftJoin(WmsBaseArea.class, WmsBaseArea::getAreaId, WmsBaseLocation::getAreaId)
.leftJoin(WmsBaseWarehouse.class, WmsBaseWarehouse::getWarehouseId, WmsBaseArea::getWarehouseId)
.eq(bo.getAreaId() != null, WmsBaseLocation::getAreaId, bo.getAreaId()) .eq(bo.getAreaId() != null, WmsBaseLocation::getAreaId, bo.getAreaId())
.like(StringUtils.isNotBlank(bo.getLocationCode()), WmsBaseLocation::getLocationCode, bo.getLocationCode()) .like(StringUtils.isNotBlank(bo.getLocationCode()), WmsBaseLocation::getLocationCode, bo.getLocationCode())
.eq(bo.getLineNum() != null, WmsBaseLocation::getLineNum, bo.getLineNum()) .eq(bo.getLineNum() != null, WmsBaseLocation::getLineNum, bo.getLineNum())
.eq(bo.getLayerNum() != null, WmsBaseLocation::getLayerNum, bo.getLayerNum()) .eq(bo.getLayerNum() != null, WmsBaseLocation::getLayerNum, bo.getLayerNum())
.eq(bo.getWarehouseId() != null, WmsBaseWarehouse::getWarehouseId, bo.getWarehouseId())
.orderByDesc(WmsBaseLocation::getCreateTime); .orderByDesc(WmsBaseLocation::getCreateTime);
return lqw; return lqw;
} }
@ -129,7 +130,7 @@ public class WmsBaseLocationServiceImpl implements IWmsBaseLocationService {
/** /**
* *
*/ */
private void validEntityBeforeSave(WmsBaseLocation entity){ private void validEntityBeforeSave(WmsBaseLocation entity) {
//TODO 做一些数据校验,如唯一约束 //TODO 做一些数据校验,如唯一约束
} }
@ -142,7 +143,7 @@ public class WmsBaseLocationServiceImpl implements IWmsBaseLocationService {
*/ */
@Override @Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){ if (isValid) {
//TODO 做一些业务上的校验,判断是否需要校验 //TODO 做一些业务上的校验,判断是否需要校验
} }
return baseMapper.deleteByIds(ids) > 0; return baseMapper.deleteByIds(ids) > 0;
@ -157,9 +158,9 @@ public class WmsBaseLocationServiceImpl implements IWmsBaseLocationService {
// .leftJoin(WmsBaseWarehouse.class,WmsBaseWarehouse::getWarehouseId,WmsBaseLocation::getWarehouseId) // .leftJoin(WmsBaseWarehouse.class,WmsBaseWarehouse::getWarehouseId,WmsBaseLocation::getWarehouseId)
//关联仓库改为关联区域,通过区域查仓库 //关联仓库改为关联区域,通过区域查仓库
.select(WmsBaseArea::getAreaName, WmsBaseArea::getAreaCode, WmsBaseArea::getWarehouseId) .select(WmsBaseArea::getAreaName, WmsBaseArea::getAreaCode, WmsBaseArea::getWarehouseId)
.leftJoin(WmsBaseArea.class,WmsBaseArea::getAreaId,WmsBaseLocation::getAreaId) .leftJoin(WmsBaseArea.class, WmsBaseArea::getAreaId, WmsBaseLocation::getAreaId)
.eq( WmsBaseLocation::getLocationCode, code); .eq(WmsBaseLocation::getLocationCode, code);
return baseMapper.selectVoOne(lqw); return baseMapper.selectVoOne(lqw);
} }
} }

@ -42,7 +42,7 @@ public class WmsReturnOrderServiceImpl implements IWmsReturnOrderService {
* @return 退 * @return 退
*/ */
@Override @Override
public WmsReturnOrderVo queryById(Long roId){ public WmsReturnOrderVo queryById(Long roId) {
return baseMapper.selectVoById(roId); return baseMapper.selectVoById(roId);
} }
@ -73,19 +73,17 @@ public class WmsReturnOrderServiceImpl implements IWmsReturnOrderService {
LambdaQueryWrapper<WmsReturnOrder> lqw = buildQueryWrapper(bo); LambdaQueryWrapper<WmsReturnOrder> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw); return baseMapper.selectVoList(lqw);
} }
private MPJLambdaWrapper<WmsReturnOrder> buildJoinQueryWrapper(WmsReturnOrderBo bo) { private MPJLambdaWrapper<WmsReturnOrder> buildJoinQueryWrapper(WmsReturnOrderBo bo) {
Map<String, Object> params = bo.getParams(); Map<String, Object> params = bo.getParams();
MPJLambdaWrapper<WmsReturnOrder> lqw = JoinWrappers.lambda(WmsReturnOrder.class) MPJLambdaWrapper<WmsReturnOrder> lqw = JoinWrappers.lambda(WmsReturnOrder.class)
.selectAll(WmsReturnOrder.class) .selectAll(WmsReturnOrder.class)
// 关联表查询物料大类名称
.select(BaseMaterialCategory::getMaterialCategoryName) .select(BaseMaterialCategory::getMaterialCategoryName)
.leftJoin(BaseMaterialCategory.class, BaseMaterialCategory::getMaterialCategoryId, WmsReturnOrder::getMaterialCategoryId) .select(BaseMaterialInfo::getMaterialName)
.select(BaseMaterialInfo::getMaterialCode)
.select(WmsBaseWarehouse::getWarehouseCode) .select(WmsBaseWarehouse::getWarehouseCode)
.leftJoin(BaseMaterialInfo.class,BaseMaterialInfo::getMaterialId,WmsReturnOrder::getMaterialId) .leftJoin(BaseMaterialCategory.class, BaseMaterialCategory::getMaterialCategoryId, WmsReturnOrder::getMaterialCategoryId)
.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.getRoId() != null, WmsReturnOrder::getRoId, bo.getRoId());
lqw.eq(bo.getMaterialId() != null, WmsReturnOrder::getMaterialId, bo.getMaterialId()); lqw.eq(bo.getMaterialId() != null, WmsReturnOrder::getMaterialId, bo.getMaterialId());
lqw.eq(StringUtils.isNotBlank(bo.getMaterialCategoryId()), WmsReturnOrder::getMaterialCategoryId, bo.getMaterialCategoryId()); lqw.eq(StringUtils.isNotBlank(bo.getMaterialCategoryId()), WmsReturnOrder::getMaterialCategoryId, bo.getMaterialCategoryId());
@ -105,6 +103,7 @@ public class WmsReturnOrderServiceImpl implements IWmsReturnOrderService {
lqw.orderByDesc(WmsReturnOrder::getCreateTime); lqw.orderByDesc(WmsReturnOrder::getCreateTime);
return lqw; return lqw;
} }
private LambdaQueryWrapper<WmsReturnOrder> buildQueryWrapper(WmsReturnOrderBo bo) { private LambdaQueryWrapper<WmsReturnOrder> buildQueryWrapper(WmsReturnOrderBo bo) {
Map<String, Object> params = bo.getParams(); Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<WmsReturnOrder> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<WmsReturnOrder> lqw = Wrappers.lambdaQuery();
@ -136,6 +135,8 @@ public class WmsReturnOrderServiceImpl implements IWmsReturnOrderService {
@Override @Override
public Boolean insertByBo(WmsReturnOrderBo bo) { public Boolean insertByBo(WmsReturnOrderBo bo) {
WmsReturnOrder add = MapstructUtils.convert(bo, WmsReturnOrder.class); WmsReturnOrder add = MapstructUtils.convert(bo, WmsReturnOrder.class);
//批次码校验 - 生产条码是否存在
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {
bo.setRoId(add.getRoId()); bo.setRoId(add.getRoId());
@ -157,7 +158,6 @@ public class WmsReturnOrderServiceImpl implements IWmsReturnOrderService {
} }
/** /**
* 退 * 退
* *

Loading…
Cancel
Save