From 44c725f8af474d49861c50b9a4df98f5f8d62140 Mon Sep 17 00:00:00 2001 From: x_z Date: Mon, 10 Oct 2022 11:05:39 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E5=BB=BA=E5=9E=9B=E8=A7=84?= =?UTF-8?q?=E5=88=99=E8=A1=A8=E5=90=8D=E6=8B=BC=E5=86=99=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E9=97=AE=E9=A2=98=202.=E6=B7=BB=E5=8A=A0=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=9E=9B=E5=8F=B7=E8=A7=84=E5=88=99=E6=96=B9=E6=B3=95=203.?= =?UTF-8?q?=E5=BB=BA=E5=9E=9B=E6=8E=A5=E5=8F=A3=E8=BF=94=E5=9B=9E=E5=9E=9B?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- script/数据库更新语句.sql | 4 +- ...troller.java => StackRulesController.java} | 47 ++++++---------- .../product/StackOrderController.java | 4 +- ...{StockRulesDao.java => StackRulesDao.java} | 6 +-- ...RulesEntity.java => StackRulesEntity.java} | 4 +- ...uest.java => FilterStackRulesRequest.java} | 2 +- ...lesService.java => StackRulesService.java} | 54 +++++++++---------- .../service/product/StackOrderService.java | 8 ++- .../java/com/glxp/udi/admin/util/IdUtil.java | 52 ++++++++++++++++++ .../{StockRulesDao.xml => StackRulesDao.xml} | 8 +-- 10 files changed, 116 insertions(+), 73 deletions(-) rename src/main/java/com/glxp/udi/admin/controller/basic/{StockRulesController.java => StackRulesController.java} (61%) rename src/main/java/com/glxp/udi/admin/dao/basic/{StockRulesDao.java => StackRulesDao.java} (60%) rename src/main/java/com/glxp/udi/admin/entity/basic/{StockRulesEntity.java => StackRulesEntity.java} (96%) rename src/main/java/com/glxp/udi/admin/req/basic/{FilterStockRulesRequest.java => FilterStackRulesRequest.java} (85%) rename src/main/java/com/glxp/udi/admin/service/basic/{StockRulesService.java => StackRulesService.java} (55%) create mode 100644 src/main/java/com/glxp/udi/admin/util/IdUtil.java rename src/main/resources/mybatis/mapper/basic/{StockRulesDao.xml => StackRulesDao.xml} (91%) diff --git a/script/数据库更新语句.sql b/script/数据库更新语句.sql index a1c38d5..5524928 100644 --- a/script/数据库更新语句.sql +++ b/script/数据库更新语句.sql @@ -32,8 +32,8 @@ CREATE TABLE `stack_order` ( SET FOREIGN_KEY_CHECKS = 1; -DROP TABLE IF EXISTS `stock_rules`; -CREATE TABLE `stock_rules` ( +DROP TABLE IF EXISTS `stack_rules`; +CREATE TABLE `stack_rules` ( `id` int NOT NULL AUTO_INCREMENT COMMENT 'id', `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '建垛规则名称', `customerId` bigint NULL DEFAULT NULL COMMENT '客户ID', diff --git a/src/main/java/com/glxp/udi/admin/controller/basic/StockRulesController.java b/src/main/java/com/glxp/udi/admin/controller/basic/StackRulesController.java similarity index 61% rename from src/main/java/com/glxp/udi/admin/controller/basic/StockRulesController.java rename to src/main/java/com/glxp/udi/admin/controller/basic/StackRulesController.java index e23f822..0508f26 100644 --- a/src/main/java/com/glxp/udi/admin/controller/basic/StockRulesController.java +++ b/src/main/java/com/glxp/udi/admin/controller/basic/StackRulesController.java @@ -5,11 +5,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.glxp.udi.admin.common.enums.ResultEnum; import com.glxp.udi.admin.common.res.BaseResponse; import com.glxp.udi.admin.common.util.ResultVOUtils; -import com.glxp.udi.admin.entity.basic.StockRulesEntity; -import com.glxp.udi.admin.req.basic.FilterStockRulesRequest; +import com.glxp.udi.admin.entity.basic.StackRulesEntity; +import com.glxp.udi.admin.req.basic.FilterStackRulesRequest; import com.glxp.udi.admin.req.inout.DeleteRequest; import com.glxp.udi.admin.res.PageSimpleResponse; -import com.glxp.udi.admin.service.basic.StockRulesService; +import com.glxp.udi.admin.service.basic.StackRulesService; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; @@ -24,10 +24,10 @@ import javax.annotation.Resource; */ @Slf4j @RestController -public class StockRulesController { +public class StackRulesController { @Resource - private StockRulesService stockRulesService; + private StackRulesService stockRulesService; /** * 查询建垛规则列表 @@ -35,10 +35,10 @@ public class StockRulesController { * @param filterStockRulesRequest * @return */ - @GetMapping("/udims/stockRules/filter") - public BaseResponse filterStockRules(FilterStockRulesRequest filterStockRulesRequest) { - IPage page = stockRulesService.filter(filterStockRulesRequest); - PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + @GetMapping("/udims/stackRules/filter") + public BaseResponse filterStockRules(FilterStackRulesRequest filterStockRulesRequest) { + IPage page = stockRulesService.filter(filterStockRulesRequest); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setList(page.getRecords()); pageSimpleResponse.setTotal(page.getTotal()); return ResultVOUtils.success(pageSimpleResponse); @@ -50,9 +50,9 @@ public class StockRulesController { * @param stockRulesEntity * @return */ - @PostMapping("/udims/stockRules/add") - public BaseResponse addStockRules(@RequestBody StockRulesEntity stockRulesEntity) { - stockRulesService.addStockRules(stockRulesEntity); + @PostMapping("/udims/stackRules/add") + public BaseResponse addStockRules(@RequestBody StackRulesEntity stockRulesEntity) { + stockRulesService.addStackRules(stockRulesEntity); return ResultVOUtils.success(); } @@ -62,13 +62,13 @@ public class StockRulesController { * @param stockRulesEntity * @return */ - @PostMapping("/udims/stockRules/update") - public BaseResponse updateStockRules(@RequestBody StockRulesEntity stockRulesEntity, BindingResult bindingResult) { + @PostMapping("/udims/stackRules/update") + public BaseResponse updateStockRules(@RequestBody StackRulesEntity stockRulesEntity, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } - stockRulesService.updateStockRules(stockRulesEntity); + stockRulesService.updateStackRules(stockRulesEntity); return ResultVOUtils.success("更新成功"); } @@ -78,7 +78,7 @@ public class StockRulesController { * @param deleteRequest * @return */ - @PostMapping("/udims/stockRules/delete") + @PostMapping("/udims/stackRules/delete") public BaseResponse deleteStockRules(@RequestBody DeleteRequest deleteRequest) { if (null == deleteRequest || StrUtil.isNotBlank(deleteRequest.getId())) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); @@ -87,19 +87,4 @@ public class StockRulesController { return ResultVOUtils.success("删除成功"); } - /** - * 根据客户ID查询当前启用的垛号生成规则 - * - * @param customerId - * @return - */ - @GetMapping("/udims/stockRules/getEnableStockRule") - public BaseResponse getEnableStockRule(String customerId) { - if (StrUtil.isBlank(customerId)) { - return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); - } - StockRulesEntity stockRulesEntity = stockRulesService.getEnableStockRule(customerId); - return ResultVOUtils.success(stockRulesEntity); - } - } diff --git a/src/main/java/com/glxp/udi/admin/controller/product/StackOrderController.java b/src/main/java/com/glxp/udi/admin/controller/product/StackOrderController.java index 84d42c4..c51541a 100644 --- a/src/main/java/com/glxp/udi/admin/controller/product/StackOrderController.java +++ b/src/main/java/com/glxp/udi/admin/controller/product/StackOrderController.java @@ -90,9 +90,9 @@ public class StackOrderController { } stackOrderEntity.setCustomerId(customerService.getCustomerId() + ""); - stackOrderService.insertOrder(stackOrderEntity); + String stackOrderId = stackOrderService.insertOrder(stackOrderEntity); stackCodeService.batchInsert(stackUploadRequest.getStackCodeEntityList()); - return ResultVOUtils.success("上传成功!"); + return ResultVOUtils.success(stackOrderId); } } diff --git a/src/main/java/com/glxp/udi/admin/dao/basic/StockRulesDao.java b/src/main/java/com/glxp/udi/admin/dao/basic/StackRulesDao.java similarity index 60% rename from src/main/java/com/glxp/udi/admin/dao/basic/StockRulesDao.java rename to src/main/java/com/glxp/udi/admin/dao/basic/StackRulesDao.java index b970a2d..58c9b1c 100644 --- a/src/main/java/com/glxp/udi/admin/dao/basic/StockRulesDao.java +++ b/src/main/java/com/glxp/udi/admin/dao/basic/StackRulesDao.java @@ -1,19 +1,19 @@ package com.glxp.udi.admin.dao.basic; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.glxp.udi.admin.entity.basic.StockRulesEntity; +import com.glxp.udi.admin.entity.basic.StackRulesEntity; import org.apache.ibatis.annotations.Mapper; /** * 建垛规则表数据接口 */ @Mapper -public interface StockRulesDao extends BaseMapper { +public interface StackRulesDao extends BaseMapper { /** * 自定义更新建垛规则 * * @param stockRulesEntity */ - void updateStockRules(StockRulesEntity stockRulesEntity); + void updateStackRules(StackRulesEntity stockRulesEntity); } \ No newline at end of file diff --git a/src/main/java/com/glxp/udi/admin/entity/basic/StockRulesEntity.java b/src/main/java/com/glxp/udi/admin/entity/basic/StackRulesEntity.java similarity index 96% rename from src/main/java/com/glxp/udi/admin/entity/basic/StockRulesEntity.java rename to src/main/java/com/glxp/udi/admin/entity/basic/StackRulesEntity.java index e84a88a..63b3180 100644 --- a/src/main/java/com/glxp/udi/admin/entity/basic/StockRulesEntity.java +++ b/src/main/java/com/glxp/udi/admin/entity/basic/StackRulesEntity.java @@ -13,8 +13,8 @@ import java.util.Date; * 建垛规则表 */ @Data -@TableName(value = "stock_rules") -public class StockRulesEntity { +@TableName(value = "stack_rules") +public class StackRulesEntity { /** * id diff --git a/src/main/java/com/glxp/udi/admin/req/basic/FilterStockRulesRequest.java b/src/main/java/com/glxp/udi/admin/req/basic/FilterStackRulesRequest.java similarity index 85% rename from src/main/java/com/glxp/udi/admin/req/basic/FilterStockRulesRequest.java rename to src/main/java/com/glxp/udi/admin/req/basic/FilterStackRulesRequest.java index bf7313c..9c5085e 100644 --- a/src/main/java/com/glxp/udi/admin/req/basic/FilterStockRulesRequest.java +++ b/src/main/java/com/glxp/udi/admin/req/basic/FilterStackRulesRequest.java @@ -7,7 +7,7 @@ import lombok.Data; * 查询建垛规则参数 */ @Data -public class FilterStockRulesRequest extends ListPageRequest { +public class FilterStackRulesRequest extends ListPageRequest { /** * 建垛规则名称 diff --git a/src/main/java/com/glxp/udi/admin/service/basic/StockRulesService.java b/src/main/java/com/glxp/udi/admin/service/basic/StackRulesService.java similarity index 55% rename from src/main/java/com/glxp/udi/admin/service/basic/StockRulesService.java rename to src/main/java/com/glxp/udi/admin/service/basic/StackRulesService.java index 4027a80..fbc61d4 100644 --- a/src/main/java/com/glxp/udi/admin/service/basic/StockRulesService.java +++ b/src/main/java/com/glxp/udi/admin/service/basic/StackRulesService.java @@ -4,9 +4,9 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.glxp.udi.admin.dao.basic.StockRulesDao; -import com.glxp.udi.admin.entity.basic.StockRulesEntity; -import com.glxp.udi.admin.req.basic.FilterStockRulesRequest; +import com.glxp.udi.admin.dao.basic.StackRulesDao; +import com.glxp.udi.admin.entity.basic.StackRulesEntity; +import com.glxp.udi.admin.req.basic.FilterStackRulesRequest; import com.glxp.udi.admin.service.auth.AuthAdminService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -21,10 +21,10 @@ import java.util.Date; @Slf4j @Service @Transactional(rollbackFor = Exception.class) -public class StockRulesService { +public class StackRulesService { @Resource - private StockRulesDao stockRulesDao; + private StackRulesDao stackRulesDao; @Resource private AuthAdminService authAdminService; @@ -34,10 +34,10 @@ public class StockRulesService { * @param filterStockRulesRequest * @return */ - public IPage filter(FilterStockRulesRequest filterStockRulesRequest) { - QueryWrapper wrapper = buildWrapper(filterStockRulesRequest); - IPage page = new Page<>(filterStockRulesRequest.getPage(), filterStockRulesRequest.getLimit()); - return stockRulesDao.selectPage(page, wrapper); + public IPage filter(FilterStackRulesRequest filterStockRulesRequest) { + QueryWrapper wrapper = buildWrapper(filterStockRulesRequest); + IPage page = new Page<>(filterStockRulesRequest.getPage(), filterStockRulesRequest.getLimit()); + return stackRulesDao.selectPage(page, wrapper); } /** @@ -46,8 +46,8 @@ public class StockRulesService { * @param filterStockRulesRequest * @return */ - private QueryWrapper buildWrapper(FilterStockRulesRequest filterStockRulesRequest) { - QueryWrapper wrapper = new QueryWrapper<>(); + private QueryWrapper buildWrapper(FilterStackRulesRequest filterStockRulesRequest) { + QueryWrapper wrapper = new QueryWrapper<>(); wrapper.like(StrUtil.isNotBlank(filterStockRulesRequest.getName()), "name", filterStockRulesRequest.getName()) .eq(null != filterStockRulesRequest.getStatus(), "status", filterStockRulesRequest.getStatus()) .eq(StrUtil.isNotBlank(filterStockRulesRequest.getCustomerId()), "customerId", filterStockRulesRequest.getCustomerId()); @@ -57,24 +57,24 @@ public class StockRulesService { /** * 添加建垛规则 * - * @param stockRulesEntity + * @param stackRulesEntity */ - public void addStockRules(StockRulesEntity stockRulesEntity) { - stockRulesEntity.setCreateTime(new Date()); - stockRulesEntity.setUpdateTime(new Date()); + public void addStackRules(StackRulesEntity stackRulesEntity) { + stackRulesEntity.setCreateTime(new Date()); + stackRulesEntity.setUpdateTime(new Date()); String customerId = authAdminService.getCurrentUserCustomerId(); - stockRulesEntity.setCustomerId(Long.valueOf(customerId)); - stockRulesDao.insert(stockRulesEntity); + stackRulesEntity.setCustomerId(Long.valueOf(customerId)); + stackRulesDao.insert(stackRulesEntity); } /** * 更新建垛规则 * - * @param stockRulesEntity + * @param stackRulesEntity */ - public void updateStockRules(StockRulesEntity stockRulesEntity) { - stockRulesEntity.setUpdateTime(new Date()); - stockRulesDao.updateStockRules(stockRulesEntity); + public void updateStackRules(StackRulesEntity stackRulesEntity) { + stackRulesEntity.setUpdateTime(new Date()); + stackRulesDao.updateStackRules(stackRulesEntity); } /** @@ -83,7 +83,7 @@ public class StockRulesService { * @param id 规则ID */ public void delete(String id) { - stockRulesDao.deleteById(id); + stackRulesDao.deleteById(id); } /** @@ -92,11 +92,11 @@ public class StockRulesService { * @param customerId 客户ID * @return */ - public StockRulesEntity getEnableStockRule(String customerId) { - StockRulesEntity stockRulesEntity = stockRulesDao.selectOne(new QueryWrapper() - .eq(StockRulesEntity.COL_CUSTOMERID, customerId) - .eq(StockRulesEntity.COL_STATUS, 1)); - return stockRulesEntity; + public StackRulesEntity getEnableStockRule(String customerId) { + StackRulesEntity stackRulesEntity = stackRulesDao.selectOne(new QueryWrapper() + .eq(StackRulesEntity.COL_CUSTOMERID, customerId) + .eq(StackRulesEntity.COL_STATUS, 1)); + return stackRulesEntity; } } diff --git a/src/main/java/com/glxp/udi/admin/service/product/StackOrderService.java b/src/main/java/com/glxp/udi/admin/service/product/StackOrderService.java index f65d62d..b1eef8c 100644 --- a/src/main/java/com/glxp/udi/admin/service/product/StackOrderService.java +++ b/src/main/java/com/glxp/udi/admin/service/product/StackOrderService.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.glxp.udi.admin.dao.product.StackOrderDao; import com.glxp.udi.admin.entity.product.StackOrder; import com.glxp.udi.admin.req.product.StackOrderFilterRequest; +import com.glxp.udi.admin.util.IdUtil; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -18,6 +19,8 @@ public class StackOrderService { @Resource StackOrderDao stackOrderDao; + @Resource + private IdUtil idUtil; public IPage filterList(StackOrderFilterRequest stackOrderFilterRequest) { @@ -41,8 +44,11 @@ public class StackOrderService { return stackOrderDao.exists(new QueryWrapper().eq("orderId", orderId)); } - public void insertOrder(StackOrder stackOrderEntity) { + public String insertOrder(StackOrder stackOrderEntity) { + String stackId = idUtil.getStackId(stackOrderEntity.getCustomerId()); + stackOrderEntity.setOrderId(stackId); stackOrderDao.insert(stackOrderEntity); + return stackId; } public void deleteById(Integer id) { diff --git a/src/main/java/com/glxp/udi/admin/util/IdUtil.java b/src/main/java/com/glxp/udi/admin/util/IdUtil.java new file mode 100644 index 0000000..57e4309 --- /dev/null +++ b/src/main/java/com/glxp/udi/admin/util/IdUtil.java @@ -0,0 +1,52 @@ +package com.glxp.udi.admin.util; + +import com.glxp.udi.admin.entity.basic.StackRulesEntity; +import com.glxp.udi.admin.service.basic.StackRulesService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +/** + * ID生成工具,生成客户ID,垛号等 + */ +@Slf4j +@Component +public class IdUtil { + + @Resource + private RedisUtil redisUtil; + @Resource + private StackRulesService stackRulesService; + + /** + * 根据客户ID生成垛号 + */ + public synchronized String getStackId(String customerId) { + StackRulesEntity stackRulesEntity = stackRulesService.getEnableStockRule(customerId); + StringBuffer stackId = new StringBuffer(); + //垛号固定标识 + stackId.append("DH") + .append(stackRulesEntity.getPrefix()) + //拼接起始数 + .append(stackRulesEntity.getStartNum()); + //查找该客户上一个垛号 + String key = "DH" + customerId; + int serialNum = 0; //顺序号 + Object lastStackId = redisUtil.get(key); + if (null != lastStackId) { + //生成新的顺序号 + serialNum = Integer.parseInt(String.valueOf(lastStackId)) + stackRulesEntity.getStep(); + } else { + //当前客户没有生成过垛号,直接使用规则里的顺序号生成新的顺序号 + serialNum = stackRulesEntity.getSerialNum() + stackRulesEntity.getStep(); + } + redisUtil.set(key, serialNum); + + //拼接顺序号 + stackId.append(serialNum); + + return stackId.toString(); + } + +} diff --git a/src/main/resources/mybatis/mapper/basic/StockRulesDao.xml b/src/main/resources/mybatis/mapper/basic/StackRulesDao.xml similarity index 91% rename from src/main/resources/mybatis/mapper/basic/StockRulesDao.xml rename to src/main/resources/mybatis/mapper/basic/StackRulesDao.xml index e26b485..537c517 100644 --- a/src/main/resources/mybatis/mapper/basic/StockRulesDao.xml +++ b/src/main/resources/mybatis/mapper/basic/StackRulesDao.xml @@ -1,7 +1,7 @@ - - + + @@ -29,8 +29,8 @@ remark - - update stock_rules + + update stack_rules set name = #{name}, customerId = #{customerId}, prefix = #{prefix},