From 2bdf31f419647deb35e31cd54f04603b5b128288 Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Wed, 12 Feb 2025 15:40:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=BA=93=E5=AD=98=E5=95=86?= =?UTF-8?q?=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/InventoryTypeEnum.java | 31 +++++++++++++++++++ .../pjcloud-supermarket-biz/pom.xml | 7 +++++ .../supermarket/config/PjcloudBizName.java | 14 +++++++++ .../supermarket/config/SequenceConfig.java | 30 ++++++++++++++++++ .../controller/SmErpCgPlanController.java | 2 +- ...roller.java => SmErpCommonController.java} | 26 ++++++++++------ .../controller/SmErpSpuController.java | 13 +++++--- .../service/impl/SmErpCgPlanServiceImpl.java | 7 +++++ .../service/impl/SmErpSpuServiceImpl.java | 8 +++++ 9 files changed, 124 insertions(+), 14 deletions(-) create mode 100644 pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/constant/InventoryTypeEnum.java create mode 100644 pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/config/PjcloudBizName.java create mode 100644 pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/config/SequenceConfig.java rename pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/{SmErpPurchaseController.java => SmErpCommonController.java} (85%) diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/constant/InventoryTypeEnum.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/constant/InventoryTypeEnum.java new file mode 100644 index 000000000..9a8fbc39e --- /dev/null +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/constant/InventoryTypeEnum.java @@ -0,0 +1,31 @@ +package com.bsd.pjcloud.supermarket.constant; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 入库类型编码前兆 + */ +@AllArgsConstructor +@Getter +public enum InventoryTypeEnum { + + CGRK(1, "CGRK"), +// CK("2", "出库"), + ; + private final Integer type; + private final String value; + + + // 根据数字返回对应的值 + public static String getValueByType(int type) { + for (InventoryTypeEnum v : InventoryTypeEnum.values()) { + if (v.type == type) { + return v.value; + } + } + return ""; // 如果没有找到对应的数字 + } + + +} diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/pom.xml b/pjcloud-supermarket/pjcloud-supermarket-biz/pom.xml index 8eac7c638..5601eb20a 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/pom.xml +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/pom.xml @@ -94,6 +94,13 @@ org.springframework.boot spring-boot-starter-test + + + com.bsd + pjcloud-common-sequence + 5.7.0 + + diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/config/PjcloudBizName.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/config/PjcloudBizName.java new file mode 100644 index 000000000..984e0182e --- /dev/null +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/config/PjcloudBizName.java @@ -0,0 +1,14 @@ +package com.bsd.pjcloud.supermarket.config; + +import cn.hutool.core.date.DateUtil; +import com.bsd.pjcloud.common.sequence.range.BizName; + +public class PjcloudBizName implements BizName { + /** + * 生成名称 + */ + @Override + public String create() { + return DateUtil.today(); + } +} \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/config/SequenceConfig.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/config/SequenceConfig.java new file mode 100644 index 000000000..5a6846213 --- /dev/null +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/config/SequenceConfig.java @@ -0,0 +1,30 @@ +package com.bsd.pjcloud.supermarket.config; + +import com.bsd.pjcloud.common.sequence.builder.DbSeqBuilder; +import com.bsd.pjcloud.common.sequence.properties.SequenceDbProperties; +import com.bsd.pjcloud.common.sequence.sequence.Sequence; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import javax.sql.DataSource; + +/** + *

+ * 设置发号器生成规则 + */ +@Configuration +public class SequenceConfig { + + @Bean + public Sequence sequence(DataSource dataSource) { + return DbSeqBuilder + .create() + .bizName(new PjcloudBizName())// 定义切片规则 + .dataSource(dataSource) // 注入数据源 + .step(1000) // 每次获取数据的个数 + .retryTimes(3) // 重试次数 + .tableName("pjcloud_sequence") // 存储表名信息 + .build(); + } +} + diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpCgPlanController.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpCgPlanController.java index ac4e71798..c1f0a9371 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpCgPlanController.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpCgPlanController.java @@ -68,7 +68,7 @@ public class SmErpCgPlanController { * @param page 分页对象 * @return */ - @Operation(summary = "分页查询" , description = "分页查询" ) + @Operation(summary = "采购计划选择商品分页数据" , description = "采购计划选择商品分页数据" ) @GetMapping("/erpSpuPage" ) @PreAuthorize("@pms.hasPermission('supermarket_smErpInventoryRecords_view')" ) public R getErpSpuPage(@ParameterObject Page page, @ParameterObject ErpCgPlanDTO erpCgPlanDTO) { diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpPurchaseController.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpCommonController.java similarity index 85% rename from pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpPurchaseController.java rename to pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpCommonController.java index e53da1458..b078dc765 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpPurchaseController.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpCommonController.java @@ -8,6 +8,8 @@ import com.bsd.pjcloud.common.core.util.BeanUtils; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.excel.annotation.ResponseExcel; import com.bsd.pjcloud.common.log.annotation.SysLog; +import com.bsd.pjcloud.common.sequence.sequence.Sequence; +import com.bsd.pjcloud.supermarket.constant.InventoryTypeEnum; import com.bsd.pjcloud.supermarket.constant.OrderTypeEnum; import com.bsd.pjcloud.supermarket.dto.cgplan.ErpCgPlanDTO; import com.bsd.pjcloud.supermarket.dto.cgplan.ErpCgPlanSaveDTO; @@ -19,6 +21,7 @@ import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springdoc.core.annotations.ParameterObject; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -26,33 +29,38 @@ import org.springframework.web.bind.annotation.*; import java.util.List; /** - * 采购计划 + * 超市公共接口 * * @author pjcloud * @date 2025-02-10 12:15:37 */ @RestController @RequiredArgsConstructor -@RequestMapping("/smErpPurchase" ) +@RequestMapping("/sm/common" ) @Tag(description = "smErpPurchase" , name = "采购计划" ) @SecurityRequirement(name = HttpHeaders.AUTHORIZATION) -public class SmErpPurchaseController { +public class SmErpCommonController { private final SmErpInventoryRecordsService smErpInventoryRecordsService; private final SmErpSpuService smErpSpuService; + @Autowired + private Sequence sequence; + /** * 采购计划选择商品分页数据 * 分页查询 - * @param page 分页对象 + * @param type @link InventoryTypeEnum * @return */ - @Operation(summary = "分页查询" , description = "分页查询" ) - @GetMapping("/erpSpuPage" ) - @PreAuthorize("@pms.hasPermission('supermarket_smErpInventoryRecords_view')" ) - public R getErpSpuPage(@ParameterObject Page page, @ParameterObject ErpCgPlanDTO erpCgPlanDTO) { - return R.ok(smErpSpuService.getErpSpuPage(page, erpCgPlanDTO)); + @Operation(summary = "获取业务流水编号" , description = "获取业务流水编号" ) + @GetMapping("/getSequence") + public R getErpSpuPage(@RequestParam("type")Integer type) { + String valueByType = InventoryTypeEnum.getValueByType(type); + String s = sequence.nextNo(); + String result = valueByType + "-" + s; + return R.ok(result); } 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 90c1a9269..17a5b11c5 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 @@ -15,11 +15,9 @@ import com.bsd.pjcloud.supermarket.dto.SupermarketSpuQueryDTO; import com.bsd.pjcloud.supermarket.dto.SupermarketSpuUpdateStockReqDTO; import com.bsd.pjcloud.supermarket.entity.SmErpAuxiliaryCodeEntity; import com.bsd.pjcloud.supermarket.entity.SmErpSpuEntity; +import com.bsd.pjcloud.supermarket.entity.SmErpStockEntity; import com.bsd.pjcloud.supermarket.entity.SmErpUnitEntity; -import com.bsd.pjcloud.supermarket.service.SmErpAuxiliaryCodeService; -import com.bsd.pjcloud.supermarket.service.SmErpSpuService; -import com.bsd.pjcloud.supermarket.service.SmErpUnitService; -import com.bsd.pjcloud.supermarket.service.SmSpuService; +import com.bsd.pjcloud.supermarket.service.*; import com.bsd.pjcloud.supermarket.vo.app.SupermarketAppSpuVo; import org.apache.commons.lang3.StringUtils; import org.springframework.security.access.prepost.PreAuthorize; @@ -56,6 +54,8 @@ public class SmErpSpuController { private final SmSpuService smSpuService; + private final SmErpStockService smErpStockService; + /** * 分页查询 * @param page 分页对象 @@ -102,6 +102,11 @@ public class SmErpSpuController { @PreAuthorize("@pms.hasPermission('supermarket_supermarketSpu_view')" ) public R getById(@PathVariable("id" ) Long id) { SmErpSpuEntity smErpSpuEntity = smErpSpuService.getById(id); + //库存 + LambdaQueryWrapper smErpStockEntityLambdaQueryWrapper = new LambdaQueryWrapper<>(); + smErpStockEntityLambdaQueryWrapper.eq(SmErpStockEntity::getSpuId, id); + SmErpStockEntity smErpStockEntity = smErpStockService.list(smErpStockEntityLambdaQueryWrapper).get(0); + smErpSpuEntity.setStock(smErpStockEntity.getBaseStcok()); List list = smErpUnitService.list(new LambdaQueryWrapper().eq(SmErpUnitEntity::getSpuId, id)); smErpSpuEntity.setSmErpUnitEntityList(list); smErpSpuEntity.setSmErpAuxiliaryCodeEntityList( diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpCgPlanServiceImpl.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpCgPlanServiceImpl.java index 9eae9a8d4..b60ccd79a 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpCgPlanServiceImpl.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpCgPlanServiceImpl.java @@ -2,6 +2,8 @@ package com.bsd.pjcloud.supermarket.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.bsd.pjcloud.common.core.util.BeanUtils; +import com.bsd.pjcloud.common.security.util.SecurityUtils; +import com.bsd.pjcloud.common.sequence.sequence.Sequence; import com.bsd.pjcloud.supermarket.dto.cgplan.ErpCgPlanSaveDTO; import com.bsd.pjcloud.supermarket.entity.SmErpCgPlanEntity; import com.bsd.pjcloud.supermarket.entity.SmErpCgPlanItemEntity; @@ -9,6 +11,7 @@ import com.bsd.pjcloud.supermarket.mapper.SmErpCgPlanItemMapper; import com.bsd.pjcloud.supermarket.mapper.SmErpCgPlanMapper; import com.bsd.pjcloud.supermarket.service.SmErpCgPlanService; import lombok.AllArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -26,10 +29,14 @@ public class SmErpCgPlanServiceImpl extends ServiceImpl items = erpCgPlanSaveDTO.getItems(); 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 4199a55a6..db440ae8d 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 @@ -87,7 +87,15 @@ public class SmErpSpuServiceImpl extends ServiceImpl smErpStockEntityLambdaQueryWrapper = new LambdaQueryWrapper<>(); + smErpStockEntityLambdaQueryWrapper.eq(SmErpStockEntity::getSpuId, supermarketSpu.getId()); + SmErpStockEntity smErpStockEntity = new SmErpStockEntity(); + smErpStockEntity.setBaseStcok(stock); + smErpStockMapper.update(smErpStockEntity,smErpStockEntityLambdaQueryWrapper); //新增包装类型 List smErpUnitEntityList = supermarketSpu.getSmErpUnitEntityList();