From 37dff52fdbadfafb00bd6624a2a79361b85acd2e Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 19 九月 2024 16:09:59 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/LocController.java | 80 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 80 insertions(+), 0 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..4c59da5 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,22 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zy.acs.common.utils.GsonUtils;
+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.framework.exception.CoolException;
import com.zy.acs.manager.common.utils.ExcelUtil;
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.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.enums.LocStsType;
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 +25,7 @@
import javax.servlet.http.HttpServletResponse;
import java.util.*;
+import java.util.stream.Collectors;
@RestController
@RequestMapping("/api")
@@ -25,6 +33,8 @@
@Autowired
private LocService locService;
+ @Autowired
+ private ZoneService zoneService;
@PreAuthorize("hasAuthority('manager:loc:list')")
@PostMapping("/loc/page")
@@ -78,6 +88,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 +134,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