From add402ec68d150cd8b13c231ce991cf49889259c Mon Sep 17 00:00:00 2001 From: skyouc <958836976@qq.com> Date: 星期二, 21 十月 2025 14:03:53 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/devlop_whxrwms' into devlop_whxrwms --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/BasContainerServiceImpl.java | 69 ++++++++++++++++++++++++++++++++++ 1 files changed, 69 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..c0cd7b3 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,81 @@ 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"); + if (!params.getContainerType().equals(3L)) { + params.setPrefix("81"); + } + 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("鏂板鎴愬姛锛侊紒").add(containerList); + } } -- Gitblit v1.9.1