From de1ed3ae7e53a5bffa396d5fefa536d7c9031978 Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Thu, 20 Feb 2025 16:17:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../supermarket/entity/SmErpSpuEntity.java | 25 +++++---- .../supermarket/entity/SmErpStockEntity.java | 17 +++++- .../supermarket/vo/stockwarn/StockWarnVO.java | 15 ++++++ .../controller/SmErpSpuController.java | 25 ++++++++- .../supermarket/mapper/SmErpStockMapper.java | 6 +++ .../service/SmErpStockService.java | 8 +++ .../service/impl/SmErpSpuServiceImpl.java | 8 ++- .../service/impl/SmErpStockServiceImpl.java | 9 ++++ .../resources/mapper/SmErpStockMapper.xml | 53 ++++++++++++++++++- .../admin/controller/SysUserController.java | 2 +- 10 files changed, 151 insertions(+), 17 deletions(-) create mode 100644 pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/stockwarn/StockWarnVO.java diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpSpuEntity.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpSpuEntity.java index 0e65f4aca..2d2f288e5 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpSpuEntity.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpSpuEntity.java @@ -242,17 +242,6 @@ public class SmErpSpuEntity extends Model { @Schema(description="联营扣率") private BigDecimal jointDeductionRate; - /** - * 库存上限 - */ - @Schema(description="库存上限") - private Integer inventoryUpperLimit; - - /** - * 库存下限 - */ - @Schema(description="库存下限") - private Integer inventoryLowerLimit; /** * 毛利率 @@ -332,4 +321,18 @@ public class SmErpSpuEntity extends Model { @TableField(exist = false) private List smErpUnitEntityList; + /** + * 库存上限 + */ + @Schema(description="库存上限") + @TableField(exist = false) + private Integer inventoryUpperLimit; + + /** + * 库存下限 + */ + @Schema(description="库存下限") + @TableField(exist = false) + private Integer inventoryLowerLimit; + } \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpStockEntity.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpStockEntity.java index 464923ecf..5528e6121 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpStockEntity.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpStockEntity.java @@ -33,7 +33,7 @@ public class SmErpStockEntity extends Model { * 基础库存数量 */ @Schema(description="基础库存数量") - private Integer baseStcok; + private Integer baseStock; /** * 乐观锁版本号 @@ -88,4 +88,19 @@ public class SmErpStockEntity extends Model { */ @Schema(description="租户编号") private Long tenantId; + + @Schema(description="当前库存") + private Integer currentStock; + + /** + * 库存上限 + */ + @Schema(description="库存上限") + private Integer inventoryUpperLimit; + + /** + * 库存下限 + */ + @Schema(description="库存下限") + private Integer inventoryLowerLimit; } \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/stockwarn/StockWarnVO.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/stockwarn/StockWarnVO.java new file mode 100644 index 000000000..31909124e --- /dev/null +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/stockwarn/StockWarnVO.java @@ -0,0 +1,15 @@ +package com.bsd.pjcloud.supermarket.vo.stockwarn; + +import com.bsd.pjcloud.supermarket.entity.SmErpSpuEntity; +import lombok.Data; + +@Data +public class StockWarnVO extends SmErpSpuEntity { + private String warnType; // 预警类型字段 + + private Long spuId; + + private Integer baseStock; + + private Integer currentStock; +} diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpSpuController.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpSpuController.java index baf1c2c08..ae4f043c6 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpSpuController.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpSpuController.java @@ -4,6 +4,8 @@ import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.common.core.util.BeanUtils; @@ -20,6 +22,9 @@ import com.bsd.pjcloud.supermarket.entity.SmErpUnitEntity; import com.bsd.pjcloud.supermarket.service.*; import com.bsd.pjcloud.supermarket.vo.app.SupermarketAppSpuVo; import com.bsd.pjcloud.supermarket.vo.erpspu.SmErpSpuSimpleVo; +import com.bsd.pjcloud.supermarket.vo.stockwarn.StockWarnVO; +import com.github.yulichang.toolkit.JoinWrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.commons.lang3.StringUtils; import org.springframework.security.access.prepost.PreAuthorize; import com.bsd.pjcloud.common.excel.annotation.ResponseExcel; @@ -107,7 +112,9 @@ public class SmErpSpuController { LambdaQueryWrapper smErpStockEntityLambdaQueryWrapper = new LambdaQueryWrapper<>(); smErpStockEntityLambdaQueryWrapper.eq(SmErpStockEntity::getSpuId, id); SmErpStockEntity smErpStockEntity = smErpStockService.list(smErpStockEntityLambdaQueryWrapper).get(0); - smErpSpuEntity.setStock(smErpStockEntity.getBaseStcok()); + smErpSpuEntity.setStock(smErpStockEntity.getBaseStock()); + smErpStockEntity.setInventoryLowerLimit(smErpStockEntity.getInventoryLowerLimit()); + smErpStockEntity.setInventoryUpperLimit(smErpStockEntity.getInventoryUpperLimit()); List list = smErpUnitService.list(new LambdaQueryWrapper().eq(SmErpUnitEntity::getSpuId, id)); smErpSpuEntity.setSmErpUnitEntityList(list); smErpSpuEntity.setSmErpAuxiliaryCodeEntityList( @@ -185,6 +192,22 @@ public class SmErpSpuController { return R.ok(bean); } + /** + * 分页查询 + * @param page 分页对象 + * @param supermarketSpu 商品spu + * @return + */ + @Operation(summary = "分页查询库存预警" , description = "分页查询库存预警" ) + @GetMapping("/warnStock/page" ) + @PreAuthorize("@pms.hasPermission('supermarket_supermarketSpu_view')" ) + public R getWarnStockPage(@ParameterObject Page page, @ParameterObject SmErpSpuEntity supermarketSpu) { + + IPage iPage = smErpStockService.selectWarnStockWithSpu(page, supermarketSpu); + + return R.ok(iPage); + + } // --------APP----------------- diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/mapper/SmErpStockMapper.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/mapper/SmErpStockMapper.java index 011caebee..54099af81 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/mapper/SmErpStockMapper.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/mapper/SmErpStockMapper.java @@ -1,11 +1,17 @@ package com.bsd.pjcloud.supermarket.mapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; +import com.bsd.pjcloud.supermarket.entity.SmErpSpuEntity; import com.bsd.pjcloud.supermarket.entity.SmErpStockEntity; +import com.bsd.pjcloud.supermarket.vo.stockwarn.StockWarnVO; +import com.github.houbb.heaven.annotation.reflect.Param; import org.apache.ibatis.annotations.Mapper; @Mapper public interface SmErpStockMapper extends PjcloudBaseMapper { + IPage selectWarnStockWithSpu(Page page, @Param("param") SmErpSpuEntity param); } \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmErpStockService.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmErpStockService.java index 389014f9e..212872861 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmErpStockService.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmErpStockService.java @@ -1,8 +1,16 @@ package com.bsd.pjcloud.supermarket.service; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.bsd.pjcloud.supermarket.entity.SmErpSpuEntity; import com.bsd.pjcloud.supermarket.entity.SmErpStockEntity; +import com.bsd.pjcloud.supermarket.vo.stockwarn.StockWarnVO; +import com.github.houbb.heaven.annotation.reflect.Param; public interface SmErpStockService extends IService { + + + IPage selectWarnStockWithSpu(Page page,SmErpSpuEntity param); } \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java index 00edac29d..95d2f783f 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java @@ -61,7 +61,9 @@ public class SmErpSpuServiceImpl extends ServiceImpl smErpStockEntityLambdaQueryWrapper = new LambdaQueryWrapper<>(); smErpStockEntityLambdaQueryWrapper.eq(SmErpStockEntity::getSpuId, supermarketSpu.getId()); SmErpStockEntity smErpStockEntity = new SmErpStockEntity(); - smErpStockEntity.setBaseStcok(stock); + smErpStockEntity.setBaseStock(stock); + smErpStockEntity.setInventoryLowerLimit(supermarketSpu.getInventoryLowerLimit()); + smErpStockEntity.setInventoryUpperLimit(supermarketSpu.getInventoryUpperLimit()); smErpStockMapper.update(smErpStockEntity,smErpStockEntityLambdaQueryWrapper); //新增包装类型 diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpStockServiceImpl.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpStockServiceImpl.java index dc0e1adce..c03259544 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpStockServiceImpl.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpStockServiceImpl.java @@ -1,9 +1,13 @@ package com.bsd.pjcloud.supermarket.service.impl; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.bsd.pjcloud.supermarket.entity.SmErpSpuEntity; import com.bsd.pjcloud.supermarket.entity.SmErpStockEntity; import com.bsd.pjcloud.supermarket.mapper.SmErpStockMapper; import com.bsd.pjcloud.supermarket.service.SmErpStockService; +import com.bsd.pjcloud.supermarket.vo.stockwarn.StockWarnVO; import org.springframework.stereotype.Service; /** * 商品包装单位(sku) @@ -13,4 +17,9 @@ import org.springframework.stereotype.Service; */ @Service public class SmErpStockServiceImpl extends ServiceImpl implements SmErpStockService { + + @Override + public IPage selectWarnStockWithSpu(Page page, SmErpSpuEntity param) { + return baseMapper.selectWarnStockWithSpu(page, param); + } } \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SmErpStockMapper.xml b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SmErpStockMapper.xml index 95ec7bbf9..fb628cbfb 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SmErpStockMapper.xml +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SmErpStockMapper.xml @@ -5,7 +5,7 @@ - + @@ -14,5 +14,56 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java index fe3e2e0eb..059e3602a 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java @@ -378,7 +378,7 @@ public class SysUserController { return R.ok(userService.list(Wrappers.lambdaQuery().eq(SysUser::getPhone, mobile))); } - @GetMapping("/ getSimpleUserAll") + @GetMapping("/getSimpleUserAll") @Schema(description = "简要用户信息") public R> getSimpleUserAllList(@RequestParam(value = "mobile",required = false) String mobile, @RequestParam(value = "name",required = false) String name){