From a9c263a4ea9ade5bbdcc917a60ace8708bfb340a Mon Sep 17 00:00:00 2001 From: wanghao Date: Tue, 11 Nov 2025 09:59:33 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E4=BB=93=E5=BA=93=E7=89=A9=E6=96=99?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WmsBaseProductController.java | 116 ++++++++++++++++ .../org/dromara/wms/domain/BaseUnitInfo.java | 64 +++++++++ .../dromara/wms/domain/WmsBaseProduct.java | 81 +++++++++++ .../wms/domain/bo/WmsBaseProductBo.java | 73 ++++++++++ .../wms/domain/vo/WmsBaseProductVo.java | 128 ++++++++++++++++++ .../wms/mapper/BaseUnitInfoMapper.java | 13 ++ .../wms/mapper/WmsBaseProductMapper.java | 39 ++++++ .../wms/service/IWmsBaseProductService.java | 69 ++++++++++ .../impl/WmsBaseProductServiceImpl.java | 123 +++++++++++++++++ .../impl/WmsInStockBillServiceImpl.java | 33 ++--- .../mapper/wms/WmsBaseProductMapper.xml | 14 ++ 11 files changed, 735 insertions(+), 18 deletions(-) create mode 100644 ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/controller/WmsBaseProductController.java create mode 100644 ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/BaseUnitInfo.java create mode 100644 ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/WmsBaseProduct.java create mode 100644 ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/bo/WmsBaseProductBo.java create mode 100644 ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/vo/WmsBaseProductVo.java create mode 100644 ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/mapper/BaseUnitInfoMapper.java create mode 100644 ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/mapper/WmsBaseProductMapper.java create mode 100644 ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/IWmsBaseProductService.java create mode 100644 ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsBaseProductServiceImpl.java create mode 100644 ruoyi-modules/ruoyi-wms/src/main/resources/mapper/wms/WmsBaseProductMapper.xml diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/controller/WmsBaseProductController.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/controller/WmsBaseProductController.java new file mode 100644 index 00000000..385eb197 --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/controller/WmsBaseProductController.java @@ -0,0 +1,116 @@ +package org.dromara.wms.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.wms.domain.vo.WmsBaseProductVo; +import org.dromara.wms.domain.bo.WmsBaseProductBo; +import org.dromara.wms.service.IWmsBaseProductService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 海威成品信息 + * 前端访问路由地址为:/wms/wmsBaseProduct + * + * @author Yinq + * @date 2025-11-10 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/wmsBaseProduct") +public class WmsBaseProductController extends BaseController { + + private final IWmsBaseProductService wmsBaseProductService; + + /** + * 查询海威成品信息列表 + */ + @SaCheckPermission("wms:wmsBaseProduct:list") + @GetMapping("/list") + public TableDataInfo list(WmsBaseProductBo bo, PageQuery pageQuery) { + return wmsBaseProductService.queryPageList(bo, pageQuery); + } + + /** + * 导出海威成品信息列表 + */ + @SaCheckPermission("wms:wmsBaseProduct:export") + @Log(title = "海威成品信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsBaseProductBo bo, HttpServletResponse response) { + List list = wmsBaseProductService.queryList(bo); + ExcelUtil.exportExcel(list, "海威成品信息", WmsBaseProductVo.class, response); + } + + /** + * 获取海威成品信息详细信息 + * + * @param productId 主键 + */ + @SaCheckPermission("wms:wmsBaseProduct:query") + @GetMapping("/{productId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable("productId") Long productId) { + return R.ok(wmsBaseProductService.queryById(productId)); + } + + /** + * 新增海威成品信息 + */ + @SaCheckPermission("wms:wmsBaseProduct:add") + @Log(title = "海威成品信息", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsBaseProductBo bo) { + return toAjax(wmsBaseProductService.insertByBo(bo)); + } + + /** + * 修改海威成品信息 + */ + @SaCheckPermission("wms:wmsBaseProduct:edit") + @Log(title = "海威成品信息", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsBaseProductBo bo) { + return toAjax(wmsBaseProductService.updateByBo(bo)); + } + + /** + * 删除海威成品信息 + * + * @param productIds 主键串 + */ + @SaCheckPermission("wms:wmsBaseProduct:remove") + @Log(title = "海威成品信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{productIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable("productIds") Long[] productIds) { + return toAjax(wmsBaseProductService.deleteWithValidByIds(List.of(productIds), true)); + } + + /** + * 下拉框查询海威成品信息列表 + */ + @GetMapping("/getWmsBaseProductList") + public R> getWmsBaseProductList(WmsBaseProductBo bo) { + List list = wmsBaseProductService.queryList(bo); + return R.ok(list); + } + +} diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/BaseUnitInfo.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/BaseUnitInfo.java new file mode 100644 index 00000000..7366ff82 --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/BaseUnitInfo.java @@ -0,0 +1,64 @@ +package org.dromara.wms.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.tenant.core.TenantEntity; + +import java.io.Serial; + +/** + * 计量单位信息对象 base_unit_info + * + * @author Yinq + * @date 2025-09-28 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("base_unit_info") +public class BaseUnitInfo extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 单位ID + */ + @TableId(value = "unit_id", type = IdType.AUTO) + private Long unitId; + + /** + * 计量单位编号 + */ + private String unitCode; + + /** + * 计量单位名称 + */ + private String unitName; + + /** + * 单位类型(1长度 2质量 3时间 4面积 5体积) + */ + private String unitType; + + /** + * 备注 + */ + private String remark; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + /** + * 删除标志(0代表存在 1代表删除) + */ + @TableLogic + private String delFlag; + +} diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/WmsBaseProduct.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/WmsBaseProduct.java new file mode 100644 index 00000000..4802cb8f --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/WmsBaseProduct.java @@ -0,0 +1,81 @@ +package org.dromara.wms.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.tenant.core.TenantEntity; + +import java.io.Serial; + +/** + * 海威成品信息对象 wms_base_product + * + * @author Yinq + * @date 2025-11-10 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_base_product") +public class WmsBaseProduct extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 物料ID + */ + @TableId(value = "product_id", type = IdType.AUTO) + private Long productId; + + /** + * 成品编码 + */ + private String productCode; + + /** + * 成品名称 + */ + private String productName; + private String externalBrand; + + /** + * 成品描述 + */ + private String productSpe; + + /** + * 单位 + */ + private Long unitId; + + /** + * 参考成本 + */ + private Double purchasePrice; + + /** + * 统一报价(参考) + */ + private Double foreignPrice; + + /** + * 备货期(天) + */ + private Long stockingPeriod; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + @TableField(exist = false) + /** + * 计量单位名称 + */ + private String unitName; + + +} diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/bo/WmsBaseProductBo.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/bo/WmsBaseProductBo.java new file mode 100644 index 00000000..073e7241 --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/bo/WmsBaseProductBo.java @@ -0,0 +1,73 @@ +package org.dromara.wms.domain.bo; + +import org.dromara.wms.domain.WmsBaseProduct; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * 海威成品信息业务对象 wms_base_product + * + * @author Yinq + * @date 2025-11-10 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = WmsBaseProduct.class, reverseConvertGenerate = false) +public class WmsBaseProductBo extends BaseEntity { + + /** + * 物料ID + */ + @NotNull(message = "物料ID不能为空", groups = { EditGroup.class }) + private Long productId; + + /** + * 成品编码 + */ + private String productCode; + + /** + * 成品名称 + */ + @NotBlank(message = "成品名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String productName; + + /** + * 成品描述 + */ + private String productSpe; + + /** + * 单位 + */ + @NotNull(message = "单位不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long unitId; + + /** + * 参考成本 + */ + private Double purchasePrice; + + /** + * 统一报价(参考) + */ + private Double foreignPrice; + + /** + * 备货期(天) + */ + private Long stockingPeriod; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + private String externalBrand; + + +} diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/vo/WmsBaseProductVo.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/vo/WmsBaseProductVo.java new file mode 100644 index 00000000..3ed2d24d --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/domain/vo/WmsBaseProductVo.java @@ -0,0 +1,128 @@ +package org.dromara.wms.domain.vo; + +import org.dromara.wms.domain.WmsBaseProduct; +import cn.idev.excel.annotation.ExcelIgnoreUnannotated; +import cn.idev.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 海威成品信息视图对象 wms_base_product + * + * @author Yinq + * @date 2025-11-10 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = WmsBaseProduct.class) +public class WmsBaseProductVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 物料ID + */ + @ExcelProperty(value = "物料ID") + private Long productId; + + /** + * 租户编号 + */ + @ExcelProperty(value = "租户编号") + private String tenantId; + + /** + * 成品编码 + */ + @ExcelProperty(value = "成品编码") + private String productCode; + + /** + * 成品名称 + */ + @ExcelProperty(value = "成品名称") + private String productName; + private String externalBrand; + + /** + * 成品描述 + */ + @ExcelProperty(value = "成品描述") + private String productSpe; + + /** + * 单位 + */ + @ExcelProperty(value = "单位") + private Long unitId; + + /** + * 参考成本 + */ + @ExcelProperty(value = "参考成本") + private Double purchasePrice; + + /** + * 统一报价(参考) + */ + @ExcelProperty(value = "统一报价(参考)") + private Double foreignPrice; + + /** + * 备货期(天) + */ + @ExcelProperty(value = "备货期", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "天=") + private Long stockingPeriod; + + /** + * 激活标识(1是 0否) + */ + @ExcelProperty(value = "激活标识", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "active_flag") + private String activeFlag; + + /** + * 创建部门 + */ + @ExcelProperty(value = "创建部门") + private Long createDept; + + /** + * 创建人 + */ + @ExcelProperty(value = "创建人") + private Long createBy; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间") + private Date createTime; + + /** + * 更新人 + */ + @ExcelProperty(value = "更新人") + private Long updateBy; + + /** + * 更新时间 + */ + @ExcelProperty(value = "更新时间") + private Date updateTime; + /** + * 计量单位名称 + */ + private String unitName; + +} diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/mapper/BaseUnitInfoMapper.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/mapper/BaseUnitInfoMapper.java new file mode 100644 index 00000000..d075f965 --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/mapper/BaseUnitInfoMapper.java @@ -0,0 +1,13 @@ +package org.dromara.wms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.dromara.wms.domain.BaseUnitInfo; + +/** + * 单位信息Mapper接口 + * + * @author Yinq + * @date 2025-11-10 + */ +public interface BaseUnitInfoMapper extends BaseMapper { +} diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/mapper/WmsBaseProductMapper.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/mapper/WmsBaseProductMapper.java new file mode 100644 index 00000000..c0000eab --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/mapper/WmsBaseProductMapper.java @@ -0,0 +1,39 @@ +package org.dromara.wms.mapper; + +import java.util.List; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; +import org.dromara.wms.domain.WmsBaseProduct; +import org.dromara.wms.domain.vo.WmsBaseProductVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import org.springframework.stereotype.Repository; + +/** + * 海威成品信息Mapper接口 + * + * @author Yinq + * @date 2025-11-10 + */ +@Repository +public interface WmsBaseProductMapper extends BaseMapperPlus { + + /** + * 查询海威成品信息列表 + * + * @param page 分页 + * @param queryWrapper 条件 + * @return 海威成品信息集合 + */ + public Page selectCustomWmsBaseProductVoList(@Param("page") Page page, @Param(Constants.WRAPPER) MPJLambdaWrapper queryWrapper); + + /** + * 查询海威成品信息列表 + * + * @param queryWrapper 条件 + * @return 海威成品信息集合 + */ + public List selectCustomWmsBaseProductVoList(@Param(Constants.WRAPPER) MPJLambdaWrapper queryWrapper); + +} diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/IWmsBaseProductService.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/IWmsBaseProductService.java new file mode 100644 index 00000000..ea5fba18 --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/IWmsBaseProductService.java @@ -0,0 +1,69 @@ +package org.dromara.wms.service; + +import org.dromara.wms.domain.WmsBaseProduct; +import org.dromara.wms.domain.vo.WmsBaseProductVo; +import org.dromara.wms.domain.bo.WmsBaseProductBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 海威成品信息Service接口 + * + * @author Yinq + * @date 2025-11-10 + */ +public interface IWmsBaseProductService { + + /** + * 查询海威成品信息 + * + * @param productId 主键 + * @return 海威成品信息 + */ + WmsBaseProductVo queryById(Long productId); + + /** + * 分页查询海威成品信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 海威成品信息分页列表 + */ + TableDataInfo queryPageList(WmsBaseProductBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的海威成品信息列表 + * + * @param bo 查询条件 + * @return 海威成品信息列表 + */ + List queryList(WmsBaseProductBo bo); + + /** + * 新增海威成品信息 + * + * @param bo 海威成品信息 + * @return 是否新增成功 + */ + Boolean insertByBo(WmsBaseProductBo bo); + + /** + * 修改海威成品信息 + * + * @param bo 海威成品信息 + * @return 是否修改成功 + */ + Boolean updateByBo(WmsBaseProductBo bo); + + /** + * 校验并批量删除海威成品信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsBaseProductServiceImpl.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsBaseProductServiceImpl.java new file mode 100644 index 00000000..6ff9d9b5 --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsBaseProductServiceImpl.java @@ -0,0 +1,123 @@ +package org.dromara.wms.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.toolkit.JoinWrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.wms.domain.BaseUnitInfo; +import org.dromara.wms.domain.WmsBaseProduct; +import org.dromara.wms.domain.bo.WmsBaseProductBo; +import org.dromara.wms.domain.vo.WmsBaseProductVo; +import org.dromara.wms.mapper.WmsBaseProductMapper; +import org.dromara.wms.service.IWmsBaseProductService; +import org.springframework.stereotype.Service; + +import java.util.Collection; +import java.util.List; + +/** + * 海威成品信息Service业务层处理 + * + * @author Yinq + * @date 2025-11-10 + */ +@RequiredArgsConstructor +@Service +public class WmsBaseProductServiceImpl implements IWmsBaseProductService { + + private final WmsBaseProductMapper baseMapper; + + /** + * 查询海威成品信息 + * + * @param productId 主键 + * @return 海威成品信息 + */ + @Override + public WmsBaseProductVo queryById(Long productId) { + return baseMapper.selectVoById(productId); + } + + /** + * 分页查询海威成品信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 海威成品信息分页列表 + */ + @Override + public TableDataInfo queryPageList(WmsBaseProductBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的海威成品信息列表 + * + * @param bo 查询条件 + * @return 海威成品信息列表 + */ + @Override + public List queryList(WmsBaseProductBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private MPJLambdaWrapper buildQueryWrapper(WmsBaseProductBo bo) { + return JoinWrappers.lambda(WmsBaseProduct.class) + .selectAll(WmsBaseProduct.class) + .leftJoin(BaseUnitInfo.class, BaseUnitInfo::getUnitId, WmsBaseProduct::getUnitId) + .select(BaseUnitInfo::getUnitName) + .eq(StringUtils.isNotBlank(bo.getProductCode()), WmsBaseProduct::getProductCode, bo.getProductCode()) + .like(StringUtils.isNotBlank(bo.getProductName()), WmsBaseProduct::getProductName, bo.getProductName()) + .like(StringUtils.isNotBlank(bo.getExternalBrand()), WmsBaseProduct::getExternalBrand, bo.getExternalBrand()) + .eq(StringUtils.isNotBlank(bo.getActiveFlag()), WmsBaseProduct::getActiveFlag, bo.getActiveFlag()); + } + + /** + * 新增海威成品信息 + * + * @param bo 海威成品信息 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(WmsBaseProductBo bo) { + WmsBaseProduct add = MapstructUtils.convert(bo, WmsBaseProduct.class); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setProductId(add.getProductId()); + } + return flag; + } + + /** + * 修改海威成品信息 + * + * @param bo 海威成品信息 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(WmsBaseProductBo bo) { + WmsBaseProduct update = MapstructUtils.convert(bo, WmsBaseProduct.class); + return baseMapper.updateById(update) > 0; + } + + + /** + * 校验并批量删除海威成品信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsInStockBillServiceImpl.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsInStockBillServiceImpl.java index def7e482..1fae4382 100644 --- a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsInStockBillServiceImpl.java +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsInStockBillServiceImpl.java @@ -42,7 +42,7 @@ public class WmsInStockBillServiceImpl implements IWmsInStockBillService { private final WmsInStockBillMapper baseMapper; private final WmsInStockDetailsMapper wmsInStockDetailsMapper; - private final RemoteCodeRuleService remoteCodeRuleService; + private RemoteCodeRuleService remoteCodeRuleService; private final IWmsInventoryDetailsService inventoryService; private final IWmsWarehouseInfoService warehouseService; @DubboReference(timeout = 30000)//超时时间 @@ -111,6 +111,10 @@ public class WmsInStockBillServiceImpl implements IWmsInStockBillService { public Boolean insertByBo(WmsInStockBillBo bo) { WmsInStockBill add = MapstructUtils.convert(bo, WmsInStockBill.class); add.setInStockCode(remoteCodeRuleService.selectCodeRuleCode("1005")); + Long inStockBillId = add.getInStockBillId(); + // WmsWarehouseInfoVo wmsWarehouseInfoVo = warehouseService.queryById(add.getWarehouseId()); + // boolean insertInventortState = wmsWarehouseInfoVo.getWmsStoreType().equals("1"); + // add.setInStockBillStatus(insertInventortState ? "3" : "4"); // 查询创建时间为今天的入库单条数 // int count = baseMapper.selectCountNowInStore(); // String dateTimeNow = DateUtils.dateTimeNow(FormatsType.YYYYMMDD); @@ -122,28 +126,21 @@ public class WmsInStockBillServiceImpl implements IWmsInStockBillService { // } boolean flag = baseMapper.insert(add) > 0; if (flag) { - Long inStockBillId = add.getInStockBillId(); - WmsWarehouseInfoVo wmsWarehouseInfoVo = warehouseService.queryById(add.getWarehouseId()); - boolean insertInventortState = wmsWarehouseInfoVo.getWmsStoreType().equals("1"); - List inStockDetailsList = bo.getInStockDetailsList(); - List inventoryDetailsList = new ArrayList<>(inStockDetailsList.size()); - - + List inventoryDetailsList = new ArrayList<>(inStockDetailsList.size());//库存集合 inStockDetailsList.forEach(item -> { item.setInStockBillId(inStockBillId); // 设置入库单明细的入库单ID - item.setProjectId(bo.getProjectId()); //关联项目 - if (insertInventortState) { - WmsInventoryDetails inventoryDetails = MapstructUtils.convert(item, WmsInventoryDetails.class); - inventoryDetails.setInventoryAmount(item.getInStockAmount()); - inventoryDetailsList.add(inventoryDetails); - } - + item.setProjectId(bo.getProjectId()); // 关联项目 + // if (insertInventortState) { + // WmsInventoryDetails inventoryDetails = MapstructUtils.convert(item, WmsInventoryDetails.class); + // inventoryDetails.setInventoryAmount(item.getInStockAmount()); + // inventoryDetailsList.add(inventoryDetails); + // } }); wmsInStockDetailsMapper.insert(inStockDetailsList); //插入子表 - if (insertInventortState) { - inventoryService.insertList(inventoryDetailsList); //插入库存 - } + // if (insertInventortState) { + // inventoryService.insertList(inventoryDetailsList); //插入库存 + // } } return flag; } diff --git a/ruoyi-modules/ruoyi-wms/src/main/resources/mapper/wms/WmsBaseProductMapper.xml b/ruoyi-modules/ruoyi-wms/src/main/resources/mapper/wms/WmsBaseProductMapper.xml new file mode 100644 index 00000000..440cd035 --- /dev/null +++ b/ruoyi-modules/ruoyi-wms/src/main/resources/mapper/wms/WmsBaseProductMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + +