库存前端页面优化
This commit is contained in:
@@ -75,6 +75,15 @@ public class WmsStockIoDetailVo {
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 库区/库位名称
|
||||
*/
|
||||
private String warehouseName;
|
||||
/**
|
||||
* 源库区/库位名称(移库用)
|
||||
*/
|
||||
private String fromWarehouseName;
|
||||
|
||||
/**
|
||||
* 源库位ID(移库时使用)
|
||||
*/
|
||||
|
||||
@@ -3,13 +3,29 @@ package com.klp.mapper;
|
||||
import com.klp.domain.WmsStockIoDetail;
|
||||
import com.klp.domain.vo.WmsStockIoDetailVo;
|
||||
import com.klp.common.core.mapper.BaseMapperPlus;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
|
||||
/**
|
||||
* 出入库单明细Mapper接口
|
||||
*
|
||||
* VO带有库区/库位名称和源库区/库位名称
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-07-18
|
||||
*/
|
||||
public interface WmsStockIoDetailMapper extends BaseMapperPlus<WmsStockIoDetailMapper, WmsStockIoDetail, WmsStockIoDetailVo> {
|
||||
|
||||
/**
|
||||
* 联查库区/库位名称的明细列表,返回Map
|
||||
*/
|
||||
List<Map<String, Object>> selectDetailWithWarehouseName(@Param("stockIoId") Long stockIoId);
|
||||
|
||||
/**
|
||||
* 分页联查库区/库位名称的明细列表,支持Wrapper动态条件,返回Page<WmsStockIoDetailVo>
|
||||
*/
|
||||
Page<WmsStockIoDetailVo> selectVoPagePlus(Page<?> page, @Param("ew") Wrapper<WmsStockIoDetail> wrapper);
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ public class WmsStockIoDetailServiceImpl implements IWmsStockIoDetailService {
|
||||
@Override
|
||||
public TableDataInfo<WmsStockIoDetailVo> queryPageList(WmsStockIoDetailBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<WmsStockIoDetail> lqw = buildQueryWrapper(bo);
|
||||
Page<WmsStockIoDetailVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
Page<WmsStockIoDetailVo> result = baseMapper.selectVoPagePlus(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
@@ -88,13 +88,13 @@ public class WmsStockIoDetailServiceImpl implements IWmsStockIoDetailService {
|
||||
if (stockIo != null && stockIo.getStatus() >= 2) {
|
||||
throw new ServiceException("已审核的单据不能修改明细");
|
||||
}
|
||||
|
||||
|
||||
WmsStockIoDetail add = BeanUtil.toBean(bo, WmsStockIoDetail.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setDetailId(add.getDetailId());
|
||||
|
||||
|
||||
// 检查主表状态,如果有明细且状态为草稿,则自动变为待审核
|
||||
if (stockIo != null && stockIo.getStatus() == 0) {
|
||||
// 检查是否有明细
|
||||
@@ -102,7 +102,7 @@ public class WmsStockIoDetailServiceImpl implements IWmsStockIoDetailService {
|
||||
new LambdaQueryWrapper<WmsStockIoDetail>()
|
||||
.eq(WmsStockIoDetail::getStockIoId, bo.getStockIoId())
|
||||
);
|
||||
|
||||
|
||||
if (detailCount > 0) {
|
||||
// 自动更新状态为待审核
|
||||
stockIo.setStatus(1);
|
||||
@@ -124,7 +124,7 @@ public class WmsStockIoDetailServiceImpl implements IWmsStockIoDetailService {
|
||||
if (stockIo != null && stockIo.getStatus() >= 2) {
|
||||
throw new ServiceException("已审核的单据不能修改明细");
|
||||
}
|
||||
|
||||
|
||||
WmsStockIoDetail update = BeanUtil.toBean(bo, WmsStockIoDetail.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
@@ -146,7 +146,7 @@ public class WmsStockIoDetailServiceImpl implements IWmsStockIoDetailService {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
|
||||
|
||||
// 获取要删除的明细对应的主表ID,检查状态
|
||||
List<WmsStockIoDetail> details = baseMapper.selectBatchIds(ids);
|
||||
if (details != null && !details.isEmpty()) {
|
||||
@@ -160,9 +160,9 @@ public class WmsStockIoDetailServiceImpl implements IWmsStockIoDetailService {
|
||||
// 按主表ID分组
|
||||
Map<Long, List<WmsStockIoDetail>> stockIoIdMap = details.stream()
|
||||
.collect(java.util.stream.Collectors.groupingBy(WmsStockIoDetail::getStockIoId));
|
||||
|
||||
|
||||
boolean flag = baseMapper.deleteBatchIds(ids) > 0;
|
||||
|
||||
|
||||
if (flag) {
|
||||
// 检查每个主表是否还有其他明细
|
||||
for (Long stockIoId : stockIoIdMap.keySet()) {
|
||||
@@ -170,7 +170,7 @@ public class WmsStockIoDetailServiceImpl implements IWmsStockIoDetailService {
|
||||
new LambdaQueryWrapper<WmsStockIoDetail>()
|
||||
.eq(WmsStockIoDetail::getStockIoId, stockIoId)
|
||||
);
|
||||
|
||||
|
||||
// 如果没有明细了,状态回退为草稿
|
||||
if (remainingCount == 0) {
|
||||
WmsStockIo stockIo = stockIoMapper.selectById(stockIoId);
|
||||
@@ -182,10 +182,10 @@ public class WmsStockIoDetailServiceImpl implements IWmsStockIoDetailService {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return flag;
|
||||
}
|
||||
|
||||
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user