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 9a237081f..6b5b22bcf 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 @@ -3,6 +3,7 @@ package com.czg.controller.admin; import com.czg.log.annotation.OperationLog; import com.czg.product.param.ConsCheckStockParam; import com.czg.product.param.ConsInOutStockHeadParam; +import com.czg.product.param.ConsReportDamageParam; import com.czg.product.service.ConsStockFlowService; import com.czg.product.vo.ConsCheckStockRecordVo; import com.czg.resp.CzgResult; @@ -77,4 +78,16 @@ public class ConsStockFlowController { consStockFlowService.checkStock(param); return CzgResult.success(); } + + /** + * 耗材报损 + */ + @PostMapping("reportDamage") + @OperationLog("库存盘点") + //@SaAdminCheckPermission("consStockFlow:reportDamage") + public CzgResult reportDamage(@RequestBody ConsReportDamageParam param) { + ValidatorUtil.validateEntity(param, DefaultGroup.class); + consStockFlowService.reportDamage(param); + return CzgResult.success(); + } } \ No newline at end of file diff --git a/cash-common/cash-common-service/src/main/java/com/czg/product/dto/ConsStockFlowDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/product/dto/ConsStockFlowDTO.java index 6ac84a39d..c0b0cedfe 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/product/dto/ConsStockFlowDTO.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/product/dto/ConsStockFlowDTO.java @@ -105,6 +105,10 @@ public class ConsStockFlowDTO implements Serializable { * 商品订单id */ private Long orderId; + /** + * 相关图片urls,json数组 + */ + private String imgUrls; /** * 创建人id */ diff --git a/cash-common/cash-common-service/src/main/java/com/czg/product/entity/ConsStockFlow.java b/cash-common/cash-common-service/src/main/java/com/czg/product/entity/ConsStockFlow.java index bba81d388..28e9d20dc 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/product/entity/ConsStockFlow.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/product/entity/ConsStockFlow.java @@ -43,7 +43,7 @@ public class ConsStockFlow implements Serializable { */ private String inOutType; /** - * 出入库名目 manual-in:手动入库 manual-out:手动出库 win-in:盘盈入库 loss-out:盘亏出库 order-in:订单退款入库 order-out:订单消费出库 + * 出入库名目 manual-in:手动入库 manual-out:手动出库 win-in:盘盈入库 loss-out:盘亏出库 order-in:订单退款入库 order-out:订单消费出库 damage-out:损耗出库 */ private String inOutItem; /** @@ -110,6 +110,10 @@ public class ConsStockFlow implements Serializable { * 商品订单id */ private Long orderId; + /** + * 相关图片urls,json数组 + */ + private String imgUrls; /** * 创建人id */ diff --git a/cash-common/cash-common-service/src/main/java/com/czg/product/enums/InOutItemEnum.java b/cash-common/cash-common-service/src/main/java/com/czg/product/enums/InOutItemEnum.java index f9d6b8ce3..18d2e89ef 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/product/enums/InOutItemEnum.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/product/enums/InOutItemEnum.java @@ -36,7 +36,12 @@ public enum InOutItemEnum { /** * 订单消费出库 */ - ORDER_OUT("order-out"); + ORDER_OUT("order-out"), + + /** + * 损耗出库 + */ + DAMAGE_OUT("damage-out"); private String value; diff --git a/cash-common/cash-common-service/src/main/java/com/czg/product/param/ConsReportDamageParam.java b/cash-common/cash-common-service/src/main/java/com/czg/product/param/ConsReportDamageParam.java new file mode 100644 index 000000000..f7180bb2b --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/product/param/ConsReportDamageParam.java @@ -0,0 +1,42 @@ +package com.czg.product.param; + +import com.czg.validator.group.DefaultGroup; +import jakarta.validation.constraints.DecimalMin; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.List; + +/** + * 耗材报损入参 + * + * @author tankaikai + * @since 2025-03-06 18:35 + */ +@Data +public class ConsReportDamageParam implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 耗材id + */ + @NotNull(message = "耗材id不能为空", groups = DefaultGroup.class) + private Long conId; + + /** + * 报损数量 + */ + @NotNull(message = "报损数量不能为空", groups = DefaultGroup.class) + @DecimalMin(value = "0", message = "报损数量不能小于0") + private BigDecimal number; + + /** + * 报损照片 + */ + private List imgUrls; +} 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 6e8f6107b..df1e2d503 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 @@ -3,6 +3,7 @@ package com.czg.product.service; 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.vo.ConsCheckStockRecordVo; import com.mybatisflex.core.service.IService; @@ -45,5 +46,12 @@ public interface ConsStockFlowService extends IService { */ List getCheckStockRecordList(Long conId); + /** + * 耗材报损 + * + * @param param 耗材报损入参 + */ + void reportDamage(ConsReportDamageParam 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 ffd7fc743..d4b214dac 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 @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.util.NumberUtil; 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; @@ -12,6 +13,7 @@ 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.service.ConsStockFlowService; import com.czg.product.vo.ConsCheckStockRecordVo; import com.czg.sa.StpKit; @@ -136,7 +138,7 @@ public class ConsStockFlowServiceImpl extends ServiceImpl