From bfe51f9c2ce2181fee372ed5f9017c7af59cc896 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期一, 01 九月 2025 12:49:55 +0800
Subject: [PATCH] 1
---
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/LocController.java | 82 ++++++++++++++++++++++++++++++++++++++++-
1 files changed, 80 insertions(+), 2 deletions(-)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/LocController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/LocController.java
index fe87973..bf5b8a7 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/LocController.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/LocController.java
@@ -2,15 +2,20 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zy.acs.common.utils.Utils;
import com.zy.acs.framework.common.Cools;
import com.zy.acs.framework.common.R;
-import com.zy.acs.manager.common.utils.ExcelUtil;
+import com.zy.acs.framework.exception.CoolException;
import com.zy.acs.manager.common.annotation.OperationLog;
import com.zy.acs.manager.common.domain.BaseParam;
import com.zy.acs.manager.common.domain.KeyValVo;
import com.zy.acs.manager.common.domain.PageParam;
+import com.zy.acs.manager.common.utils.ExcelUtil;
+import com.zy.acs.manager.manager.controller.param.LocInitParam;
import com.zy.acs.manager.manager.entity.Loc;
+import com.zy.acs.manager.manager.entity.Zone;
import com.zy.acs.manager.manager.service.LocService;
+import com.zy.acs.manager.manager.service.ZoneService;
import com.zy.acs.manager.system.controller.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -18,6 +23,7 @@
import javax.servlet.http.HttpServletResponse;
import java.util.*;
+import java.util.stream.Collectors;
@RestController
@RequestMapping("/api")
@@ -25,13 +31,15 @@
@Autowired
private LocService locService;
+ @Autowired
+ private ZoneService zoneService;
@PreAuthorize("hasAuthority('manager:loc:list')")
@PostMapping("/loc/page")
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<Loc, BaseParam> pageParam = new PageParam<>(baseParam, Loc.class);
- return R.ok().add(locService.page(pageParam, pageParam.buildWrapper(true)));
+ return R.ok().add(locService.page(pageParam, pageParam.buildWrapper(false)));
}
@PreAuthorize("hasAuthority('manager:loc:list')")
@@ -78,6 +86,22 @@
return R.ok("Update Success").add(loc);
}
+ @PreAuthorize("hasAuthority('manager:loc:update')")
+ @OperationLog("Update Loc")
+ @PostMapping("/loc/update/many")
+ public R updateMany(@RequestBody List<Loc> locList) {
+ if (!Cools.isEmpty(locList)) {
+ for (Loc loc : locList) {
+ loc.setUpdateBy(getLoginUserId());
+ loc.setUpdateTime(new Date());
+ if (!locService.updateById(loc)) {
+ return R.error("Update Fail");
+ }
+ }
+ }
+ return R.ok("Update Success").add(locList.stream().map(Loc::getId).collect(Collectors.toList()));
+ }
+
@PreAuthorize("hasAuthority('manager:loc:remove')")
@OperationLog("Delete Loc")
@PostMapping("/loc/remove/{ids}")
@@ -108,4 +132,58 @@
ExcelUtil.build(ExcelUtil.create(locService.list(), Loc.class), response);
}
+ @PreAuthorize("hasAuthority('manager:loc:save')")
+ @OperationLog
+ @PostMapping("/loc/init")
+ public R init(@RequestBody LocInitParam param) {
+ if (param.getStartRow() > param.getEndRow()) {
+ return R.error("the start row cannot be greater than the end row !");
+ }
+ if (param.getStartBay() > param.getEndBay()) {
+ return R.error("the start bay cannot be greater than the end bay !");
+ }
+ if (param.getStartLev() > param.getEndLev()) {
+ return R.error("the start lev cannot be greater than the end lev !");
+ }
+ Zone zone = zoneService.getById(param.getZoneId());
+ for (int r = param.getStartRow(); r <= param.getEndRow(); r++) {
+ for (int b = param.getStartBay(); b <= param.getEndBay(); b++) {
+ for (int l = param.getStartLev(); l <= param.getEndLev(); l++) {
+ String locNo = Utils.zeroFill(zone.getUuid(), 2) + String.format("%03d", r) + String.format("%03d", b) + String.format("%02d", l);
+ double offset = param.getBottom() + ((l-1) * param.getLevOffset());
+ Loc loc = new Loc(
+ locNo, // 缂栧彿
+ zone.getId(), // 搴撳尯
+ locNo, // 搴撲綅缂栧彿
+ null, // 鍚嶇О
+ null, // 鏉$爜
+ param.getLocSts(), // 搴撲綅鐘舵��
+ offset, // 鍋忕Щ閲�
+ r, // 鎺�
+ b, // 鍒�
+ l, // 灞�
+ null, // 鎵樼洏鐮�
+ param.getLocType(), // 搴撲綅绫诲瀷
+ null, // 鐘舵�乕闈炵┖]
+ null, // 鏄惁鍒犻櫎[闈炵┖]
+ null, // 绉熸埛
+ getLoginUserId(), // 娣诲姞浜哄憳
+ null, // 娣诲姞鏃堕棿[闈炵┖]
+ getLoginUserId(), // 淇敼浜哄憳
+ null, // 淇敼鏃堕棿
+ null // 澶囨敞
+ );
+ loc.setCompDirect(param.getCompDirect());
+ if (locService.count(new LambdaQueryWrapper<Loc>().eq(Loc::getLocNo, locNo)) > 0) {
+ throw new CoolException(locNo + " location has exist !");
+ }
+ if (!locService.save(loc)) {
+ throw new CoolException(locNo + "location save fail !");
+ }
+ }
+ }
+ }
+ return R.ok("initialize success");
+ }
+
}
--
Gitblit v1.9.1