耗材库存流水

This commit is contained in:
Tankaikai
2025-03-13 17:00:17 +08:00
parent 78b1990b60
commit 4e80d486c0
4 changed files with 53 additions and 6 deletions

View File

@@ -5,6 +5,7 @@ import com.czg.product.dto.ConsStockFlowDTO;
import com.czg.product.param.ConsCheckStockParam;
import com.czg.product.param.ConsInOutStockHeadParam;
import com.czg.product.param.ConsReportDamageParam;
import com.czg.product.param.ConsStockFlowParam;
import com.czg.product.service.ConsStockFlowService;
import com.czg.product.vo.ConsCheckStockRecordVo;
import com.czg.resp.CzgResult;
@@ -97,8 +98,8 @@ public class ConsStockFlowController {
@GetMapping("flow")
@OperationLog("耗材库存变动记录")
//@SaAdminCheckPermission("consStockFlow:flow")
public CzgResult<Page<ConsStockFlowDTO>> stockFlow(@RequestParam Long conId) {
Page<ConsStockFlowDTO> data = consStockFlowService.findConsStockFlowPage(conId);
public CzgResult<Page<ConsStockFlowDTO>> stockFlow(ConsStockFlowParam param) {
Page<ConsStockFlowDTO> data = consStockFlowService.findConsStockFlowPage(param);
return CzgResult.success(data);
}
}

View File

@@ -0,0 +1,30 @@
package com.czg.product.param;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 耗材出入库流水查询
* @author tankaikai
* @since 2025-03-13 15:59
*/
@Data
public class ConsStockFlowParam implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 耗材id
*/
private Long conId;
/**
* 出入库类型 in-增加 out-减少
*/
private String inOutType;
/**
* 出入库名目 win-in:手动增加 manual-in:入库 loss-out:手动减少 order-out:消耗 damage-out:报损 manual-out:出库
*/
private String inOutItem;
}

View File

@@ -5,6 +5,7 @@ import com.czg.product.entity.ConsStockFlow;
import com.czg.product.param.ConsCheckStockParam;
import com.czg.product.param.ConsInOutStockHeadParam;
import com.czg.product.param.ConsReportDamageParam;
import com.czg.product.param.ConsStockFlowParam;
import com.czg.product.vo.ConsCheckStockRecordVo;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
@@ -65,8 +66,8 @@ public interface ConsStockFlowService extends IService<ConsStockFlow> {
/**
* 获取耗材库存变动记录
* @param conId 耗材id
* @param param 查询参数
* @return 分页数据
*/
Page<ConsStockFlowDTO> findConsStockFlowPage(Long conId);
Page<ConsStockFlowDTO> findConsStockFlowPage(ConsStockFlowParam param);
}

View File

@@ -3,17 +3,20 @@ package com.czg.service.product.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson2.JSON;
import com.czg.exception.CzgException;
import com.czg.product.dto.ConsStockFlowDTO;
import com.czg.product.entity.ConsInfo;
import com.czg.product.entity.ConsStockFlow;
import com.czg.product.entity.ProductStockFlow;
import com.czg.product.enums.InOutItemEnum;
import com.czg.product.enums.InOutTypeEnum;
import com.czg.product.param.ConsCheckStockParam;
import com.czg.product.param.ConsInOutStockHeadParam;
import com.czg.product.param.ConsReportDamageParam;
import com.czg.product.param.ConsStockFlowParam;
import com.czg.product.service.ConsStockFlowService;
import com.czg.product.vo.ConsCheckStockRecordVo;
import com.czg.sa.StpKit;
@@ -203,9 +206,21 @@ public class ConsStockFlowServiceImpl extends ServiceImpl<ConsStockFlowMapper, C
}
@Override
public Page<ConsStockFlowDTO> findConsStockFlowPage(Long conId) {
public Page<ConsStockFlowDTO> findConsStockFlowPage(ConsStockFlowParam param) {
Long shopId = StpKit.USER.getShopId(0L);
return pageAs(PageUtil.buildPage(), query().eq(ConsStockFlow::getShopId, shopId).eq(ConsStockFlow::getConId, conId).orderBy(ConsStockFlow::getId, false), ConsStockFlowDTO.class);
QueryWrapper queryWrapper = QueryWrapper.create();
queryWrapper.eq(ConsStockFlow::getShopId, shopId);
if (StrUtil.isNotBlank(param.getInOutType())) {
queryWrapper.eq(ConsStockFlow::getInOutType, param.getInOutType());
}
if (StrUtil.isNotBlank(param.getInOutItem())) {
queryWrapper.eq(ConsStockFlow::getInOutItem, param.getInOutItem());
}
if (ObjUtil.isNotNull(param.getConId())) {
queryWrapper.eq(ConsStockFlow::getProductId, param.getConId());
}
queryWrapper.orderBy(ProductStockFlow::getId, false);
return pageAs(PageUtil.buildPage(), queryWrapper, ConsStockFlowDTO.class);
}
}