库存管理查询出库列表改正

This commit is contained in:
刘宗坤
2024-11-13 21:52:30 +08:00
parent ab0c334f05
commit 5e250197e0
6 changed files with 78 additions and 12 deletions

View File

@@ -33,6 +33,7 @@ public class SysOaOutWarehouseBo extends BaseEntity {
/** /**
* 出库后对应的项目id * 出库后对应的项目id
*/ */
@NotNull(message = "项目id不能为空",groups = { AddGroup.class })
private Long projectId; private Long projectId;
/** /**

View File

@@ -24,7 +24,6 @@ public class SysOaOutWarehouseBoList extends BaseEntity {
/** /**
* 项目id * 项目id
*/ */
@NotNull(message = "项目id不能为空", groups = AddGroup.class)
private Long projectId; private Long projectId;
} }

View File

@@ -16,6 +16,10 @@ import java.util.List;
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
public class SysOaOutWarehouseListVo { public class SysOaOutWarehouseListVo {
/**
* ID 编号
*/
private Long id;
/** /**
* 出库后对应的项目id * 出库后对应的项目id
@@ -29,9 +33,25 @@ public class SysOaOutWarehouseListVo {
private String projectName; private String projectName;
/** /**
* 出库 * 出库数量
*/ */
private List<SysOaOutWarehouseVo> outWarehouseVoList; private Long amount;
/**
* 物料ID
*/
private Long warehouseId;
/**
* 物料名称
*/
private String warehouseName;
/**
* 物料备注
*/
private String remark;

View File

@@ -25,5 +25,8 @@ public interface SysOaOutWarehouseMapper extends BaseMapperPlus<SysOaOutWarehous
*/ */
List<SysOaOutWarehouseListVo> defineSelectList(@Param(value = "bo") SysOaOutWarehouseBo bo, @Param(value = "page") PageQuery pageQuery); List<SysOaOutWarehouseListVo> defineSelectList(@Param(value = "bo") SysOaOutWarehouseBo bo, @Param(value = "page") PageQuery pageQuery);
/**
* 获取分页的Total值
*/
Long defineQueryTotal(@Param(value = "bo") SysOaOutWarehouseBo bo, @Param(value = "page") PageQuery pageQuery);
} }

View File

@@ -19,6 +19,7 @@ import com.ruoyi.oa.mapper.SysOaProjectMapper;
import com.ruoyi.oa.mapper.SysOaWarehouseMapper; import com.ruoyi.oa.mapper.SysOaWarehouseMapper;
import com.ruoyi.oa.service.ISysOaWarehouseService; import com.ruoyi.oa.service.ISysOaWarehouseService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ruoyi.oa.domain.bo.SysOaOutWarehouseBo; import com.ruoyi.oa.domain.bo.SysOaOutWarehouseBo;
@@ -40,6 +41,7 @@ import static cn.hutool.core.bean.BeanUtil.*;
* @author liuzongkun999 * @author liuzongkun999
* @date 2024-11-02 * @date 2024-11-02
*/ */
@Slf4j
@RequiredArgsConstructor @RequiredArgsConstructor
@Service @Service
public class SysOaOutWarehouseServiceImpl implements ISysOaOutWarehouseService { public class SysOaOutWarehouseServiceImpl implements ISysOaOutWarehouseService {
@@ -82,6 +84,7 @@ public class SysOaOutWarehouseServiceImpl implements ISysOaOutWarehouseService {
/** /**
* 查询仓库出库列表 * 查询仓库出库列表
*/ */
@Override @Override
public TableDataInfo<SysOaOutWarehouseListVo> queryPageList(SysOaOutWarehouseBo bo, PageQuery pageQuery) { public TableDataInfo<SysOaOutWarehouseListVo> queryPageList(SysOaOutWarehouseBo bo, PageQuery pageQuery) {
// LambdaQueryWrapper<SysOaOutWarehouse> lqw = buildQueryWrapper(bo); // LambdaQueryWrapper<SysOaOutWarehouse> lqw = buildQueryWrapper(bo);
@@ -90,8 +93,8 @@ public class SysOaOutWarehouseServiceImpl implements ISysOaOutWarehouseService {
// record.setWarehouseName(warehouseMapper.selectVoById(record.getWarehouseId()).getName()); // record.setWarehouseName(warehouseMapper.selectVoById(record.getWarehouseId()).getName());
// record.setProjectName(warehouseMapper.selectVoById(record.getProjectId()).getName()); // record.setProjectName(warehouseMapper.selectVoById(record.getProjectId()).getName());
// } // }
Long total = baseMapper.defineQueryTotal(bo, pageQuery);
// TODO 这么写分页失效
pageQuery.setPageNum(ObjectUtil.defaultIfNull(pageQuery.getPageNum(), 1)); pageQuery.setPageNum(ObjectUtil.defaultIfNull(pageQuery.getPageNum(), 1));
pageQuery.setPageSize(ObjectUtil.defaultIfNull(pageQuery.getPageSize(), Integer.MAX_VALUE)); pageQuery.setPageSize(ObjectUtil.defaultIfNull(pageQuery.getPageSize(), Integer.MAX_VALUE));
if (pageQuery.getPageNum() <= 0) { if (pageQuery.getPageNum() <= 0) {
@@ -101,12 +104,15 @@ public class SysOaOutWarehouseServiceImpl implements ISysOaOutWarehouseService {
pageQuery.setPageSize(Integer.MAX_VALUE); pageQuery.setPageSize(Integer.MAX_VALUE);
} }
pageQuery.setPageNum((pageQuery.getPageNum() - 1)*pageQuery.getPageSize()); pageQuery.setPageNum((pageQuery.getPageNum() - 1)*pageQuery.getPageSize());
List<SysOaOutWarehouseListVo> result = baseMapper.defineSelectList(bo, pageQuery);
// IPage<SysOaOutWarehouseListVo> page = new Page<>(pageQuery.getPageNum(), pageQuery.getPageSize());
// page.setRecords(result);
// page.setTotal()
return TableDataInfo.build(result); List<SysOaOutWarehouseListVo> selectList = baseMapper.defineSelectList(bo, pageQuery);
IPage<SysOaOutWarehouseListVo> page = new Page<>(pageQuery.getPageNum(), pageQuery.getPageSize());
page.setRecords(selectList);
page.setTotal(total);
log.info(String.valueOf(total));
return TableDataInfo.build(page);
} }
/** /**
@@ -159,9 +165,11 @@ public class SysOaOutWarehouseServiceImpl implements ISysOaOutWarehouseService {
@Override @Override
public Boolean insertByBoList(SysOaOutWarehouseBoList boList) { public Boolean insertByBoList(SysOaOutWarehouseBoList boList) {
// 只进行了插入出库表
// 还缺少 检验数量是否足够,以及删除对应库存数量的业务逻辑
Long projectId = boList.getProjectId(); Long projectId = boList.getProjectId();
if (projectId == null) {
throw new Error("项目ID不能为空,新增出库失败");
}
List<SysOaOutWarehouseBo2> list = boList.getOutWareHouseList(); List<SysOaOutWarehouseBo2> list = boList.getOutWareHouseList();
list.forEach((sysOaOutWarehouseBo2 -> { list.forEach((sysOaOutWarehouseBo2 -> {

View File

@@ -63,5 +63,40 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</if> </if>
</select> </select>
<select id="defineQueryTotal" resultType="Long">
select
count(*)
from
sys_oa_out_warehouse ware
join
sys_oa_project project on ware.project_id = project.project_id
join sys_oa_warehouse warehouse on warehouse.id = ware.warehouse_id
<if test="bo != null">
<where>
<if test="bo.projectName != null and bo.projectName != ''">
and project.project_name like concat('%', #{bo.projectName}, '%')
</if>
<if test="bo.id != null and bo.id != ''">
and ware.id = #{bo.id}
</if>
<if test="bo.projectId != null and bo.projectId != ''">
and project.project_id = #{bo.projectId}
</if>
<if test="bo.amount != null and bo.amount != ''">
and ware.amount = #{bo.amount}
</if>
<if test="bo.remark != null and bo.remark != ''">
and ware.remark like concat('%', #{bo.remark}, '%')
</if>
<if test="bo.warehouseId != null and bo.warehouseId != ''">
and ware.warehouse_id = #{bo.warehouseId}
</if>
<if test="bo.warehouseName != null and bo.warehouseName != ''">
and warehouse.name like concat('%', #{bo.warehouseName}, '%')
</if>
</where>
</if>
</select>
</mapper> </mapper>