From 9569af2a6abcccc3f312abff0a7e660c0f2be2c8 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期五, 26 十二月 2025 17:23:19 +0800
Subject: [PATCH] 电压改电量

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/utils/UtilsController.java |  100 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 100 insertions(+), 0 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/utils/UtilsController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/utils/UtilsController.java
new file mode 100644
index 0000000..9a7ab84
--- /dev/null
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/utils/UtilsController.java
@@ -0,0 +1,100 @@
+package com.zy.acs.manager.manager.controller.utils;
+
+import com.alibaba.excel.EasyExcel;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.google.common.collect.Lists;
+import com.zy.acs.common.utils.Utils;
+import com.zy.acs.manager.common.annotation.OperationLog;
+import com.zy.acs.manager.manager.entity.Code;
+import com.zy.acs.manager.manager.entity.Loc;
+import com.zy.acs.manager.manager.service.CodeGapService;
+import com.zy.acs.manager.manager.service.CodeService;
+import com.zy.acs.manager.manager.service.LocService;
+import com.zy.acs.manager.manager.service.RouteService;
+import com.zy.acs.manager.system.controller.BaseController;
+import io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Created by vincent on 2023/6/12
+ */
+@Api(tags = "Utils Api")
+@RestController
+@RequestMapping("/api/file")
+public class UtilsController extends BaseController {
+
+    @Autowired
+    private RouteService routeService;
+
+    @Autowired
+    private LocService locService;
+
+    @Autowired
+    private CodeService codeService;
+
+    @Autowired
+    private CodeGapService codeGapService;
+
+    /**
+     * 鏂囦欢涓婁紶
+     * <p>
+     * 1. 鍒涘缓excel瀵瑰簲鐨勫疄浣撳璞� 鍙傜収{@link Map<Integer, String>}
+     * <p>
+     * 2. 鐢变簬榛樿涓�琛岃鐨勮鍙杄xcel锛屾墍浠ラ渶瑕佸垱寤篹xcel涓�琛屼竴琛岀殑鍥炶皟鐩戝惉鍣紝鍙傜収{@link MapDataListener}
+     * <p>
+     * 3. 鐩存帴璇诲嵆鍙�
+     */
+    @RequestMapping("/excel/map/import")
+    @ResponseBody
+    @OperationLog("import map data")
+    public String upload(MultipartFile file) throws IOException {
+        EasyExcel.read(file.getInputStream(), new MapDataListener(routeService, codeService, codeGapService)).sheet().doRead();
+        return "success";
+    }
+
+
+    private List<Integer> starts = Lists.newArrayList(7, 62, 126, 182, 237, 292, 347, 436, 525, 614, 793, 882, 970, 1059, 1148, 1324, 1416, 1505);
+
+    private int d = 10;
+
+    private int d2 = 5;
+
+    private List<Integer> starts2 = Lists.newArrayList(389, 478, 567, 745, 835, 923, 1012, 1101, 1190, 1366, 1458, 1547);
+
+
+    @RequestMapping("/loc")
+    @ResponseBody
+    @OperationLog("import map data")
+    public String loc() {
+        List<Loc> list = locService.list(new LambdaQueryWrapper<Loc>().orderByAsc(Loc::getRow).orderByAsc(Loc::getBay).orderByAsc(Loc::getLev));
+        for (Loc loc : list) {
+//            if (loc.getBay() <= 24) {
+//                Integer i = starts.get((loc.getRow() - 1) / 2);
+//                Code cacheByData = codeService.getCacheByData(Utils.zeroFill((loc.getBay()%8 -1+ i + loc.getBay() / 8 * 10) + "", 8));
+//                loc.setCode(cacheByData.getId());
+//                locService.updateById(loc);
+//            }
+//            if (loc.getBay() > 24 && loc.getBay() <= 32) {
+//                Integer i = starts.get((loc.getRow() - 1)  / 2) + 30;
+//                Code cacheByData = codeService.getCacheByData(Utils.zeroFill(((loc.getBay() - 24)%4-1 + i + (loc.getBay() - 24) / 4 * 6) + "", 8));
+//                loc.setCode(cacheByData.getId());
+//                locService.updateById(loc);
+//            }
+            if (loc.getBay() > 32) {
+                Integer i = starts2.get((loc.getRow() - 13) / 2);
+                Code cacheByData = codeService.getCacheByData(Utils.zeroFill((Utils.zeroFill((((loc.getBay()-1) % 8) + i + (((loc.getBay()-1) / 8) - 4) * 10) + "", 8)) + "", 8));
+                loc.setCode(cacheByData.getId());
+                locService.updateById(loc);
+            }
+        }
+        return "success";
+    }
+}

--
Gitblit v1.9.1