diff --git a/cash-api/product-server/src/main/java/com/czg/controller/admin/ConsStockFlowController.java b/cash-api/product-server/src/main/java/com/czg/controller/admin/ConsStockFlowController.java index 04623ec5d..3551d9919 100644 --- a/cash-api/product-server/src/main/java/com/czg/controller/admin/ConsStockFlowController.java +++ b/cash-api/product-server/src/main/java/com/czg/controller/admin/ConsStockFlowController.java @@ -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> stockFlow(@RequestParam Long conId) { - Page data = consStockFlowService.findConsStockFlowPage(conId); + public CzgResult> stockFlow(ConsStockFlowParam param) { + Page data = consStockFlowService.findConsStockFlowPage(param); return CzgResult.success(data); } } \ No newline at end of file diff --git a/cash-common/cash-common-service/src/main/java/com/czg/product/param/ConsStockFlowParam.java b/cash-common/cash-common-service/src/main/java/com/czg/product/param/ConsStockFlowParam.java new file mode 100644 index 000000000..22da1e17f --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/product/param/ConsStockFlowParam.java @@ -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; +} diff --git a/cash-common/cash-common-service/src/main/java/com/czg/product/service/ConsStockFlowService.java b/cash-common/cash-common-service/src/main/java/com/czg/product/service/ConsStockFlowService.java index 1aa17ec8e..97725fb1d 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/product/service/ConsStockFlowService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/product/service/ConsStockFlowService.java @@ -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 { /** * 获取耗材库存变动记录 - * @param conId 耗材id + * @param param 查询参数 * @return 分页数据 */ - Page findConsStockFlowPage(Long conId); + Page findConsStockFlowPage(ConsStockFlowParam param); } \ No newline at end of file diff --git a/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ConsStockFlowServiceImpl.java b/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ConsStockFlowServiceImpl.java index 0ce030d82..6517868df 100644 --- a/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ConsStockFlowServiceImpl.java +++ b/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ConsStockFlowServiceImpl.java @@ -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 findConsStockFlowPage(Long conId) { + public Page 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); } } \ No newline at end of file