From 9fe1ec3afe8696c628d076d1f76686c4efc3012e Mon Sep 17 00:00:00 2001
From: zc <zyzc>
Date: 星期二, 21 十月 2025 10:49:55 +0800
Subject: [PATCH] 容器初始化功能优化
---
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