From 7737c1a11778a236592ff3677d54a44776fd440f Mon Sep 17 00:00:00 2001 From: skyouc <958836976@qq.com> Date: 星期六, 11 十月 2025 15:15:46 +0800 Subject: [PATCH] 容器管理初始化功能 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/BasContainerServiceImpl.java | 67 +++++++++++++++++++++++++++++++++ 1 files changed, 67 insertions(+), 0 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/BasContainerServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/BasContainerServiceImpl.java index 5f36b75..b2c69ed 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/BasContainerServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/BasContainerServiceImpl.java @@ -1,12 +1,79 @@ package com.vincent.rsf.server.manager.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.vincent.rsf.framework.common.R; +import com.vincent.rsf.framework.exception.CoolException; +import com.vincent.rsf.server.manager.controller.params.InitContainerParams; +import com.vincent.rsf.server.manager.entity.WarehouseAreas; +import com.vincent.rsf.server.manager.enums.QRCodeType; import com.vincent.rsf.server.manager.mapper.BasContainerMapper; import com.vincent.rsf.server.manager.entity.BasContainer; import com.vincent.rsf.server.manager.service.BasContainerService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.vincent.rsf.server.manager.service.WarehouseAreasService; +import org.apache.tika.utils.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Objects; @Service("basContainerService") public class BasContainerServiceImpl extends ServiceImpl<BasContainerMapper, BasContainer> implements BasContainerService { + @Autowired + private WarehouseAreasService warehouseAreasService; + + + /** + * 瀹瑰櫒鍒濆鍖� + * + * @param params + * @param loginUserId + * @return + */ + @Override + @Transactional(rollbackFor = Exception.class) + public R init(InitContainerParams params, Long loginUserId) { + if (Objects.isNull(params.getStartNo())) { + throw new CoolException("瀹瑰櫒璧峰鍊间笉鑳戒负绌猴紒锛�"); + } + if (Objects.isNull(params.getEndNo())) { + throw new CoolException("瀹瑰櫒缁撴潫鍊间笉鑳戒负绌猴紒锛�"); + } + + WarehouseAreas areas = warehouseAreasService.getOne(new LambdaQueryWrapper<WarehouseAreas>().eq(WarehouseAreas::getId, 42L)); + if (Objects.isNull(areas)) { + throw new CoolException("搴撳尯涓嶅瓨鍦紝璇疯仈绯荤鐞嗗憳锛侊紒"); + } + + if (params.getFlagInit()) { + this.remove(new LambdaQueryWrapper<>()); + } + + List<BasContainer> containerList = new ArrayList<>(); + for (int i = params.getStartNo(); i <= params.getEndNo() ; i++) { + BasContainer container = new BasContainer(); + String code = StringUtils.leftPad(i + "", params.getLength(), "0"); + + container.setAreas(areas.getName()) + .setCodeType(QRCodeType.QRCODE_TYPE_BARCODE.desc) + .setCode(params.getPrefix() + code) + .setCreateTime(new Date()) + .setCreateBy(loginUserId) + .setUpdateBy(loginUserId) + .setUpdateTime(new Date()) + .setContainerType(params.getContainerType()); + containerList.add(container); + } + + if (!this.saveBatch(containerList)) { + throw new CoolException("瀹瑰櫒淇濆瓨澶辫触,璇锋鏌ョ紪鐮佹槸鍚︽湁閲嶅锛侊紒"); + } + + return R.ok(); + } } -- Gitblit v1.9.1