From 8bfe3cdd48ca3f47d054deb5aebc48154ffb4c88 Mon Sep 17 00:00:00 2001
From: cp <513960435@qq.com>
Date: 星期六, 04 一月 2025 09:26:13 +0800
Subject: [PATCH] 完善

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocMastController.java             |   27 +++
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/Constants.java                          |   93 ++++++++++
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/Utils.java                              |  306 ++++++++++++++++++++++++++++++++++
 zy-asrs-wms/src/main/resources/application.yml                                          |    2 
 zy-asrs-common/src/main/java/com/zy/asrs/common/domain/param/PickMatParam.java          |    1 
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java              |    1 
 zy-asrs-wms/src/main/webapp/static/js/locDetl/locDetl.js                                |    2 
 zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java |    4 
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/ExcelUtil.java                          |   95 ++++++++++
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java             |    9 
 10 files changed, 535 insertions(+), 5 deletions(-)

diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/domain/param/PickMatParam.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/domain/param/PickMatParam.java
index 24f7008..2fd9afb 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/domain/param/PickMatParam.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/domain/param/PickMatParam.java
@@ -6,6 +6,7 @@
 public class PickMatParam {
 
     private String matnr;
+    private String maktx;
 
     private String batch;
 
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java
index 4058f7e..3b466f1 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java
@@ -329,11 +329,11 @@
             if (!Cools.isEmpty(waitPakin.getOrderNo())){
                 Order order = orderService.selectByNo(waitPakin.getOrderNo(), hostId);
                 if (Cools.isEmpty(order)){
-                    continue;
+                    throw new CoolException("骞冲簱涓婃灦鏌ヨ璁㈠崟澶辫触");
                 }
                 OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), waitPakin.getMatnr(), waitPakin.getBatch(),hostId);
                 if (Cools.isEmpty(orderDetl)){
-                    continue;
+                    throw new CoolException("骞冲簱涓婃灦鏌ヨ璁㈠崟鏄庣粏澶辫触");
                 }
                 // 淇敼璁㈠崟鏄庣粏瀹屾垚鏁伴噺
                 if (!orderDetlService.increase(order.getId(), hostId, waitPakin.getMatnr(), waitPakin.getBatch(), waitPakin.getAnfme())) {
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java
index 35c5b2c..0677f79 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java
@@ -106,7 +106,14 @@
 //                    .where("loc_no like '" +row +"%'");
 //        }
         List<LocDetl> list = locDetlService.list(wrapper);
-        return R.ok(exportSupport(list, fields));
+        List<LocDetl> locDetls=new ArrayList<>();
+        for (LocDetl l:list
+             ) {
+            String new_String = l.getMatnr().replace("\"","");
+            l.setMatnr(new_String);
+            locDetls.add(l);
+        }
+        return R.ok(exportSupport(locDetls, fields));
     }
 
     private <T> void convert(Map<String, Object> map, QueryWrapper<T> wrapper){
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocMastController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocMastController.java
index 99fe383..3d45a21 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocMastController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocMastController.java
@@ -1,6 +1,7 @@
 package com.zy.asrs.wms.controller;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.OrderItem;
@@ -255,4 +256,30 @@
         return R.ok().add(list);
     }
 
+    @RequestMapping(value = "/wrkLastno/export/auth")
+    @ManagerAuth(memo = "搴撲綅鏄庣粏瀵煎嚭")
+    public synchronized R export(@RequestBody JSONObject param){
+        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+        QueryWrapper<LocMast> wrapper = new QueryWrapper<>();
+        Map<String, Object> map = excludeTrash(param.getJSONObject("locMast"));
+        String row = "";
+        if (map.get("row") != null) {
+            String chooseRow = (String) map.get("row");
+            if (chooseRow.length() == 1) {
+                row = "0" + chooseRow;
+                map.remove("row");
+            }else {
+                row = chooseRow;
+                map.remove("row");
+            }
+        }
+        convert(map, wrapper);
+//        if (!row.equals("")){
+//            wrapper.and()
+//                    .where("loc_no like '" +row +"%'");
+//        }
+        List<LocMast> list = locMastService.list(wrapper);
+        return R.ok(exportSupport(list, fields));
+    }
+
 }
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java
index e1ca50a..32e00bd 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java
@@ -523,6 +523,7 @@
 
             PickMatParam matParam = new PickMatParam();
             matParam.setMatnr(orderDetl.getMatnr());
+            matParam.setMaktx(orderDetl.getMaktx());
             matParam.setBatch(orderDetl.getBatch());
             matParam.setOrderNo(orderDetl.getOrderNo());
             matParam.setOrderId(orderDetl.getOrderId());
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/Constants.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/Constants.java
new file mode 100644
index 0000000..b1d2d39
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/Constants.java
@@ -0,0 +1,93 @@
+package com.zy.asrs.wms.utils;
+
+/**
+ * 绯荤粺甯搁噺
+ * Created by vincent on 2019-10-29 15:55
+ */
+public class Constants {
+    /**
+     * 榛樿鎴愬姛鐮�
+     */
+    public static final int RESULT_OK_CODE = 0;
+
+    /**
+     * 榛樿澶辫触鐮�
+     */
+    public static final int RESULT_ERROR_CODE = 1;
+
+    /**
+     * 榛樿鎴愬姛淇℃伅
+     */
+    public static final String RESULT_OK_MSG = "鎿嶄綔鎴愬姛";
+
+    /**
+     * 榛樿澶辫触淇℃伅
+     */
+    public static final String RESULT_ERROR_MSG = "鎿嶄綔澶辫触";
+
+    /**
+     * 鏃犳潈闄愰敊璇爜
+     */
+    public static final int UNAUTHORIZED_CODE = 403;
+
+    /**
+     * 鏃犳潈闄愭彁绀轰俊鎭�
+     */
+    public static final String UNAUTHORIZED_MSG = "娌℃湁璁块棶鏉冮檺";
+
+    /**
+     * 鏈璇侀敊璇爜
+     */
+    public static final int UNAUTHENTICATED_CODE = 401;
+
+    /**
+     * 鏈璇佹彁绀轰俊鎭�
+     */
+    public static final String UNAUTHENTICATED_MSG = "璇峰厛鐧诲綍";
+
+    /**
+     * 鐧诲綍杩囨湡閿欒鐮�
+     */
+    public static final int TOKEN_EXPIRED_CODE = 401;
+
+    /**
+     * 鐧诲綍杩囨湡鎻愮ず淇℃伅
+     */
+    public static final String TOKEN_EXPIRED_MSG = "鐧诲綍宸茶繃鏈�";
+
+    /**
+     * 闈炴硶token閿欒鐮�
+     */
+    public static final int BAD_CREDENTIALS_CODE = 401;
+
+    /**
+     * 闈炴硶token鎻愮ず淇℃伅
+     */
+    public static final String BAD_CREDENTIALS_MSG = "璇烽��鍑洪噸鏂扮櫥褰�";
+
+    /**
+     * 琛ㄧず鍗囧簭鐨勫��
+     */
+    public static final String ORDER_ASC_VALUE = "asc";
+
+    /**
+     * 琛ㄧず闄嶅簭鐨勫��
+     */
+    public static final String ORDER_DESC_VALUE = "desc";
+
+    /**
+     * token閫氳繃header浼犻�掔殑鍚嶇О
+     */
+    public static final String TOKEN_HEADER_NAME = "Authorization";
+
+    /**
+     * token閫氳繃鍙傛暟浼犻�掔殑鍚嶇О
+     */
+    public static final String TOKEN_PARAM_NAME = "access_token";
+
+    /**
+     * token璁よ瘉绫诲瀷
+     */
+    public static final String TOKEN_TYPE = "Bearer";
+
+}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/ExcelUtil.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/ExcelUtil.java
new file mode 100644
index 0000000..fbeb87b
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/ExcelUtil.java
@@ -0,0 +1,95 @@
+package com.zy.asrs.wms.utils;
+
+import com.zy.asrs.framework.common.Cools;
+import io.swagger.annotations.ApiModelProperty;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import java.net.URLEncoder;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Created by vincent on 2/17/2024
+ */
+public class ExcelUtil {
+
+    public static void build(Workbook workbook, HttpServletResponse response) {
+        response.reset();
+        Utils.cors(response);
+        response.setContentType("application/octet-stream; charset=utf-8");
+        try {
+            response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode("export", "UTF-8"));
+            workbook.write(response.getOutputStream());
+        } catch (IOException ignore) {}
+    }
+
+    public static <T> Workbook create(List<T> list, Class<T> clz) {
+        HSSFWorkbook workbook = new HSSFWorkbook();
+        Sheet sheet = workbook.createSheet(clz.getSimpleName());
+
+        Row header = sheet.createRow(0);
+        Field[] fields = Cools.getAllFields(clz);
+        int headerIdx = 0;
+        for (Field field : fields) {
+            if (Modifier.isFinal(field.getModifiers())
+                    || Modifier.isStatic(field.getModifiers())
+                    || Modifier.isTransient(field.getModifiers())) {
+                continue;
+            }
+            String memo = "鏈煡";
+            if (field.isAnnotationPresent(ApiModelProperty.class)) {
+                memo = field.getAnnotation(ApiModelProperty.class).value();
+            }
+            header.createCell(headerIdx).setCellValue(memo);
+            headerIdx++;
+        }
+
+        int rowIndex = 1;
+        for (T t : list) {
+            Row row = sheet.createRow(rowIndex++);
+
+            int cellIndex = 0;
+            for (Field field : fields) {
+                if (Modifier.isFinal(field.getModifiers())
+                        || Modifier.isStatic(field.getModifiers())
+                        || Modifier.isTransient(field.getModifiers())) {
+                    continue;
+                }
+
+                field.setAccessible(true);  // 姝よ寰堥噸瑕侊紝鐗瑰埆鏄瓧娈典负private鏃�
+                Object value = null;
+                try {
+                    value = field.get(t);
+                } catch (IllegalAccessException e) {
+                    e.printStackTrace();
+                }
+                if (value != null) {
+                    if (value instanceof Date) {
+                        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                        row.createCell(cellIndex).setCellValue(sdf.format((Date) value));
+                    } else {
+                        row.createCell(cellIndex).setCellValue(value.toString());
+                    }
+                }
+                cellIndex++;
+            }
+        }
+
+        for (int i = 0; i <= fields.length; i++) {
+            sheet.autoSizeColumn(i);
+        }
+
+        return workbook;
+    }
+
+
+
+}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/Utils.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/Utils.java
new file mode 100644
index 0000000..2180d2b
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/Utils.java
@@ -0,0 +1,306 @@
+package com.zy.asrs.wms.utils;
+
+
+import com.zy.asrs.framework.common.Cools;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Optional;
+import java.util.function.BiConsumer;
+import java.util.function.Function;
+
+/**
+ * Created by vincent on 2023/3/14
+ */
+public class Utils {
+
+    /**
+     * List杞负鏍戝舰缁撴瀯
+     *
+     * @param data           List
+     * @param parentId       椤剁骇鐨刾arentId
+     * @param parentIdMapper 鑾峰彇parentId鐨凢unction
+     * @param idMapper       鑾峰彇id鐨凢unction
+     * @param consumer       璧嬪�糲hildren鐨凜onsumer
+     * @param <T>            鏁版嵁鐨勭被鍨�
+     * @param <R>            parentId鐨勭被鍨�
+     * @return List<T>
+     */
+    public static <T, R> List<T> toTreeData(List<T> data,
+                                            R parentId,
+                                            Function<? super T, ? extends R> parentIdMapper,
+                                            Function<? super T, ? extends R> idMapper,
+                                            BiConsumer<T, List<T>> consumer) {
+        List<T> result = new ArrayList<>();
+        for (T d : data) {
+            R dParentId = parentIdMapper.apply(d);
+            if (parentId.equals(dParentId)) {
+                R dId = idMapper.apply(d);
+                List<T> children = toTreeData(data, dId, parentIdMapper, idMapper, consumer);
+                if(children.size() > 0) {
+                    consumer.accept(d, children);
+                }
+                result.add(d);
+            }
+        }
+        return result;
+    }
+
+//    public static <T> List<T> treeRemove(List<T> data, String condition,
+//                                         Function<? super T, ? extends String> fetcher,
+//                                         Function<T, List<T>> childrenGetter,
+//                                         BiConsumer<T, List<T>> childrenSetter) {
+//        List<T> result = new ArrayList<>();
+//        for (T node : data) {
+//            List<T> children = childrenGetter.apply(node);
+//
+//            if (children != null && !children.isEmpty()) {
+//                List<T> newChildren = treeRemove(children, condition, fetcher, childrenGetter, childrenSetter);
+//                childrenSetter.accept(node, newChildren);
+//            }
+//
+//            if (fetcher.apply(node).contains(condition)) {
+//                result.add(node);
+//            }
+//        }
+//        return result;
+//    }
+
+    public static <T> void treeRemove(List<T> list, String condition, Function<? super T, ? extends String> fetcher, Function<T, List<T>> childrenGetter) {
+        Iterator<T> iterator = list.iterator();
+        while (iterator.hasNext()) {
+            T next = iterator.next();
+            List<T> children = childrenGetter.apply(next);
+            if (children != null && !children.isEmpty()) {
+                treeRemove(children, condition, fetcher, childrenGetter);
+            } else {
+                if (!fetcher.apply(next).contains(condition)) {
+                    iterator.remove();
+                }
+            }
+        }
+    }
+
+    /**
+     * 鏁扮粍鍊掑簭
+     * @param bytes
+     * @param <T>
+     */
+    public static <T> byte[] reverse(byte[] bytes) {
+        if (bytes == null) return null;
+        for (int start = 0, end = bytes.length - 1; start < end; start++, end--) {
+            byte temp = bytes[end];
+            bytes[end] = bytes[start];
+            bytes[start] = temp;
+        }
+        return bytes;
+    }
+
+    /**
+     * 鎴彇鏁扮粍
+     * @param bytes 鍘熸暟缁�
+     * @param pos   瀹氫綅锛堟埅鍙栧悗鍖呭惈瀹氫綅鐐规暟鎹級
+     * @param len   闀垮害
+     * @return new arr
+     */
+    public static byte[] slice(byte[] bytes, int pos, int len) {
+        if (bytes == null || bytes.length == 0 || len == 0) {
+            return new byte[0];
+        }
+        if (pos + len > bytes.length) {
+            throw new RuntimeException("com.zy.acs.common.utils ArrayIndexOutOfBoundsException\n" +
+                    "鍘熸暟缁� bytes 闀垮害涓� " + bytes.length + "锛屾埅鍙栭暱搴﹁秴杩囧師鏁扮粍锛�");
+        }
+        byte[] arr = new byte[len];
+        System.arraycopy(bytes, pos, arr, 0, len);
+        return arr;
+    }
+
+    public static byte[] sliceWithReverse(byte[] bytes, int pos, int len) {
+        byte[] slice = slice(bytes, pos, len);
+        reverse(slice);
+        return slice;
+    }
+
+    public static byte[] merge(Object... objects) {
+        int len = 0;
+        for (Object object : objects) {
+            if (object instanceof byte[]) {
+                byte[] bytes = (byte[]) object;
+                len += bytes.length;
+            }
+            if (object instanceof Byte) {
+                len++;
+            }
+        }
+        byte[] arr = new byte[len];
+        int idx = 0;
+        for (Object object : objects) {
+            if (object instanceof byte[]) {
+                byte[] bytes = (byte[]) object;
+                System.arraycopy(bytes, 0, arr, idx, bytes.length);
+                idx += bytes.length;
+            }
+            if (object instanceof Byte) {
+                byte[] bytes = new byte[] {(Byte) object};
+                System.arraycopy(bytes, 0, arr, idx, bytes.length);
+                idx += bytes.length;
+            }
+        }
+        return arr;
+    }
+
+    public static <T> String join(T[] array, String seq) {
+        StringBuilder sb = new StringBuilder();
+        if (array != null) {
+            for (int i = 0; i < array.length; i++) {
+                sb.append(array[i]);
+                if (i < array.length - 1) {
+                    sb.append(seq);
+                }
+            }
+        }
+        return sb.toString();
+    }
+
+    public static String zeroFill(String msg, Integer len) {
+        len = Optional.ofNullable(len).orElse(16);
+        if (msg.length() == len){
+            return msg;
+        } else if (msg.length() > len){
+            return msg.substring(0, 16);
+        } else {
+            StringBuilder msgBuilder = new StringBuilder(msg);
+            for (int i = 0; i<len-msg.length(); i++){
+                msgBuilder.insert(0,"0");
+            }
+            return msgBuilder.toString();
+        }
+    }
+
+    public static String removePrefix(String str, String prefix) {
+        if (!Cools.isEmpty(str) && !Cools.isEmpty(prefix)) {
+            if (str.startsWith(prefix)) {
+                return str.substring(prefix.length());
+            } else {
+                return str;
+            }
+        } else {
+            return str;
+        }
+    }
+
+    public static String removeSuffix(String str, String suffix) {
+        if (!Cools.isEmpty(str) && !Cools.isEmpty(suffix)) {
+            if (str.endsWith(suffix)) {
+                return str.substring(0, str.indexOf(suffix));
+            } else {
+                return str;
+            }
+        } else {
+            return str;
+        }
+    }
+
+    /**
+     * 澶ч┘宄� 杞� symbol灏忛┘宄�
+     */
+    public static String toSymbolCase(String str, char symbol) {
+        if (str == null) {
+            return null;
+        } else {
+            int length = str.length();
+            StringBuilder sb = new StringBuilder();
+
+            for(int i = 0; i < length; ++i) {
+                char c = str.charAt(i);
+                if (Character.isUpperCase(c)) {
+                    Character preChar = i > 0 ? str.charAt(i - 1) : null;
+                    Character nextChar = i < str.length() - 1 ? str.charAt(i + 1) : null;
+                    if (null != preChar) {
+                        if (symbol == preChar) {
+                            if (null == nextChar || Character.isLowerCase(nextChar)) {
+                                c = Character.toLowerCase(c);
+                            }
+                        } else if (Character.isLowerCase(preChar)) {
+                            sb.append(symbol);
+                            if (null == nextChar || Character.isLowerCase(nextChar)) {
+                                c = Character.toLowerCase(c);
+                            }
+                        } else if (null == nextChar || Character.isLowerCase(nextChar)) {
+                            sb.append(symbol);
+                            c = Character.toLowerCase(c);
+                        }
+                    } else if (null == nextChar || Character.isLowerCase(nextChar)) {
+                        c = Character.toLowerCase(c);
+                    }
+                }
+
+                sb.append(c);
+            }
+
+            return sb.toString();
+        }
+    }
+
+    public static String toCamelCase(CharSequence name) {
+        if (null == name) {
+            return null;
+        } else {
+            String name2 = name.toString();
+            if (name2.contains("_")) {
+                int length = name2.length();
+                StringBuilder sb = new StringBuilder(length);
+                boolean upperCase = false;
+
+                for(int i = 0; i < length; ++i) {
+                    char c = name2.charAt(i);
+                    if (c == '_') {
+                        upperCase = true;
+                    } else if (upperCase) {
+                        sb.append(Character.toUpperCase(c));
+                        upperCase = false;
+                    } else {
+                        sb.append(Character.toLowerCase(c));
+                    }
+                }
+
+                return sb.toString();
+            } else {
+                return name2;
+            }
+        }
+    }
+
+    public static String sub(String str, Integer maxLen) {
+        if (str.length() > maxLen) {
+            return str.substring(0, maxLen);
+        }
+        return str;
+    }
+
+    public static String generateSeqNum(String lastSeqNum) {
+        if (Cools.isEmpty(lastSeqNum)) {
+            return zeroFill("1", 4);
+        } else {
+            int i = Integer.parseInt(lastSeqNum);
+            if (i >= 9999) {
+                return zeroFill("1", 4);
+            } else {
+                return zeroFill(String.valueOf(i+1), 4);
+            }
+        }
+    }
+
+    public static void cors(HttpServletResponse response){
+        // 璺ㄥ煙璁剧疆
+        response.setHeader("Access-Control-Max-Age", "3600");
+        response.setHeader("Access-Control-Allow-Origin", "*");
+        response.setHeader("Access-Control-Allow-Methods", "*");
+        response.setHeader("Access-Control-Allow-Headers", "*");
+        response.setHeader("Access-Control-Expose-Headers", Constants.TOKEN_HEADER_NAME);
+    }
+
+}
diff --git a/zy-asrs-wms/src/main/resources/application.yml b/zy-asrs-wms/src/main/resources/application.yml
index b47cef9..74caf64 100644
--- a/zy-asrs-wms/src/main/resources/application.yml
+++ b/zy-asrs-wms/src/main/resources/application.yml
@@ -1,5 +1,5 @@
 server:
-  port: 8085
+  port: 8081
   servlet:
     context-path: /@pom.build.finalName@
 
diff --git a/zy-asrs-wms/src/main/webapp/static/js/locDetl/locDetl.js b/zy-asrs-wms/src/main/webapp/static/js/locDetl/locDetl.js
index 8c8aeeb..1e40c56 100644
--- a/zy-asrs-wms/src/main/webapp/static/js/locDetl/locDetl.js
+++ b/zy-asrs-wms/src/main/webapp/static/js/locDetl/locDetl.js
@@ -232,7 +232,7 @@
                                         item[2] = "'" + item[2];
                                     }
                                 })
-                                table.exportFile(titles, res.data, 'xls');
+                                table.exportFile(titles, res.data, 'xlsx');
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl + "/";
                             } else {

--
Gitblit v1.9.1