From 85f15182f6a6d97ad86739967e59e80299e1b98f Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 09 九月 2025 14:14:10 +0800
Subject: [PATCH] Merge branch 'ycds-wms-dev' of http://47.97.1.152:5880/r/zy-asrs-master into ycds-wms-dev

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/LocDetlService.java                           |    3 
 construction-data/src/components/datav/index.vue                                                     |    6 
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/RoleController.java                      |    2 
 zy-asrs-wms/src/main/resources/mapper/asrs/LocDetlMapper.xml                                         |    5 
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/domain/BaseParam.java                               |    3 
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/OrderDetl.java                                 |   14 ++
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/UserController.java                      |    2 
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/OrderService.java                             |    6 
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java                    |   22 +++-
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java                   |   10 +-
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewStayTimeController.java     |    4 
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocDetlController.java                     |   35 +++++-
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OutController.java                         |    4 
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkCountInController.java  |    4 
 zy-asrs-admin/src/views/IndexView.vue                                                                |   18 +++
 zy-asrs-admin/src/views/loc/locDetl/index.vue                                                        |   28 +++++
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/domain/PageParam.java                               |   12 +
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/entity/domain/WaveTaskDetl.java                   |    3 
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java                                 |    8 +
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/LocDetlMapper.java                             |    2 
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkCountOutController.java |    4 
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderController.java                       |   41 +++++--
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocDetlServiceImpl.java                  |   13 ++
 23 files changed, 192 insertions(+), 57 deletions(-)

diff --git a/construction-data/src/components/datav/index.vue b/construction-data/src/components/datav/index.vue
index ee328a8..cfc0eab 100644
--- a/construction-data/src/components/datav/index.vue
+++ b/construction-data/src/components/datav/index.vue
@@ -83,7 +83,7 @@
 <!--                    </el-col>-->
 <!--                  </el-row>-->
                   <div class="pick-wall-box">
-                    <el-col :span="6" v-for="(item, index) in seedBracket" :key="index" @click.native="lightClick(item)">
+                    <el-col :span="6" v-for="(item, index) in seedBracket" :key="index" >
                       <div class="seed-bracket" :style="getLightStatus(item)" />
                     </el-col>
                   </div>
@@ -117,7 +117,7 @@
                     <el-col>
                       <div class="header-title">鎷h揣鏁伴噺锛�</div>
                       <dv-border-box-10  class="box">
-                        <el-input type="text" v-model="getWorkQty" disabled></el-input>
+                        <el-input type="text" v-model="selected.revQty" disabled></el-input>
                       </dv-border-box-10>
                     </el-col>
                   </el-row>
@@ -341,7 +341,7 @@
       //闅愯棌寮规
       this.show = false
       // eslint-disable-next-line no-undef
-      $ajax.post('wave/sow/review', { waveSeedId: this.selected.id, reviewNum: this.getWorkQty }).then(response => {
+      $ajax.post('wave/sow/review', { waveSeedId: this.selected.id, reviewNum: this.selected.revQty }).then(response => {
         if (response.code === 200) {
           this.getWaves()
         } else {
diff --git a/zy-asrs-admin/src/views/IndexView.vue b/zy-asrs-admin/src/views/IndexView.vue
index 42414ea..f615790 100644
--- a/zy-asrs-admin/src/views/IndexView.vue
+++ b/zy-asrs-admin/src/views/IndexView.vue
@@ -204,15 +204,33 @@
 const licenseDays = ref(365);
 getLicenseDays();
 function getLicenseDays() {
+ const currentDate = new Date();
+ const newDate = new Date(currentDate);
   post('/api/license/getLicenseDays', {}).then((resp) => {
     let result = resp.data;
     let data = result.data;
     if (result.code == 200) {
       licenseDays.value = data;
+      if(data <= 15) {
+       newDate.setDate(currentDate.getDate() + data);
+      銆�alert("璁稿彲璇佹湁鏁堟湡锛�" + data + "澶╋紝"銆�+銆�"鍒版湡鏃ユ湡锛�"銆�+銆�formatDate(newDate))
+      }
     }
   })
 }
 
+// 瀹屾暣鐨勬棩鏈熸牸寮忓寲鍑芥暟
+function formatDate(date, format = 'yyyy-MM-dd') {
+    const year = date.getFullYear();
+    const month = String(date.getMonth() + 1).padStart(2, '0');
+    const day = String(date.getDate()).padStart(2, '0');
+
+    return format
+        .replace('yyyy', year)
+        .replace('MM', month)
+        .replace('dd', day);
+}
+
 const switchHost = (item) => {
   globalState.currentHost = item;
   postForm('/api/root/change/host/auth', {
diff --git a/zy-asrs-admin/src/views/loc/locDetl/index.vue b/zy-asrs-admin/src/views/loc/locDetl/index.vue
index 2afcbdc..2857c42 100644
--- a/zy-asrs-admin/src/views/loc/locDetl/index.vue
+++ b/zy-asrs-admin/src/views/loc/locDetl/index.vue
@@ -13,6 +13,7 @@
 const TABLE_KEY = 'table-locDetl';
 let currentPage = 1;
 let pageSize = 10;
+let allQty = 0;
 const searchInput = ref("")
 const orderBy = ref({});
 const searchParam = ref({
@@ -33,7 +34,7 @@
 let tableData = ref([]);
 getColumns();
 getPage();
-
+getTotalQty();
 const {
   getColumnSearchProps,
   handleResizeColumn,
@@ -248,6 +249,26 @@
   }
 }
 
+
+function getTotalQty() {
+  state.loading = true;
+  post('/api/locDetl/all/Qty').then((resp) => {
+    let result = resp.data;
+    if (result.code == 200) {
+      let {data} = result;
+      console.log("------------=======>");
+      allQty = data?.allQty;
+      state.loading = false;
+    } else if (result.code === 401) {
+      message.error(result.msg);
+      logout()
+    } else {
+      message.error(result.msg);
+    }
+  })
+}
+
+
 function getPage() {
   state.loading = true;
   post('/api/locDetl/page', {
@@ -424,8 +445,9 @@
         </template>
       </template>
       <template #footer>
-        <div>
-          <span>褰撳墠椤垫�婚噺锛歿{ total }}</span>
+        <div style="display: 'flex';">
+          <span>鎬诲簱瀛橈細{{ allQty }} </span>
+          <span>锛� 褰撳墠椤垫�婚噺锛歿{ total }}</span>
         </div>
       </template>
     </a-table>
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/entity/domain/WaveTaskDetl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/entity/domain/WaveTaskDetl.java
index 517fd88..4a2f9f3 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/entity/domain/WaveTaskDetl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/entity/domain/WaveTaskDetl.java
@@ -25,6 +25,9 @@
      * 鏁伴噺
      */
     private Integer anfme;
+
+    @TableField(exist = false)
+    private Integer revQty;
     /**
      * 娉㈡鍙�
      */
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocDetlController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocDetlController.java
index bd1e650..2dab91e 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocDetlController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocDetlController.java
@@ -1,6 +1,7 @@
 package com.zy.asrs.wms.asrs.controller;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.parser.Feature;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -22,6 +23,7 @@
 import com.zy.asrs.wms.asrs.service.LocDetlService;
 import com.zy.asrs.wms.system.controller.BaseController;
 import com.zy.asrs.wms.utils.ExcelUtil;
+import com.zy.asrs.wms.utils.Utils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -45,23 +47,38 @@
 
     @PreAuthorize("hasAuthority('asrs:locDetl:list')")
     @PostMapping("/locDetl/page")
-    @CacheData(tableName = {"man_loc_detl"})
     public R page(@RequestBody Map<String, Object> map) {
-//        String orderType = null;
-//        if (Objects.isNull(map.get("orderType"))) {
-//             orderType = map.get("orderType").toString();
-//             map.remove("orderType");
-//        }
+        Map<String, String> order = new HashMap<>();
+        if (!Objects.isNull(map.get("orderBy"))) {
+            order = JSONObject.parseObject(JSON.toJSONString(map.get("orderBy")), Map.class);
+        }
         BaseParam baseParam = buildParam(map, BaseParam.class);
         PageParam<ViewLocDetl, BaseParam> pageParam = new PageParam<>(baseParam, ViewLocDetl.class);
-        PageParam<ViewLocDetl, BaseParam> data = locDetlService.getPage(pageParam, pageParam.buildWrapper(true));
+        QueryWrapper<ViewLocDetl> wrapper = pageParam.ignoreWrapper(true);
+        if (!Cools.isEmpty(order)) {
+            String fileds = Utils.toSymbolCase(order.get("field"), '_');
+            if (order.get("order").equals("asc")) {
+                wrapper.orderByAsc(fileds);
+            } else {
+                wrapper.orderByDesc(fileds);
+            }
+        } else {
+            wrapper.orderByDesc("create_time");
+        }
+        PageParam<ViewLocDetl, BaseParam> data = locDetlService.getPage(pageParam, wrapper);
 
-        return R.ok(data);
+        return R.ok().add(data);
+    }
+
+
+    @PreAuthorize("hasAuthority('asrs:locDetl:list')")
+    @PostMapping("/locDetl/all/Qty")
+    public R getAllStock() {
+        return locDetlService.getAllStockQty();
     }
 
     @PreAuthorize("hasAuthority('asrs:locDetl:list')")
     @PostMapping("/locDetl/outPage")
-    @CacheData(tableName = {"man_loc_detl"})
     public R outPage(@RequestBody Map<String, Object> map) {
         BaseParam baseParam = buildParam(map, BaseParam.class);
         PageParam<ViewLocDetl, BaseParam> pageParam = new PageParam<>(baseParam, ViewLocDetl.class);
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderController.java
index 5826e9f..55524a5 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderController.java
@@ -1,5 +1,7 @@
 package com.zy.asrs.wms.asrs.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.extension.plugins.pagination.Page;
@@ -58,14 +60,15 @@
 
     @PreAuthorize("hasAuthority('asrs:order:list')")
     @PostMapping("/order/in/page")
-//    @CacheData(tableName = {"man_order", "man_order_type"})
     public R pageIn(@RequestBody Map<String, Object> map) {
+        Map<String, String> order = new HashMap<>();
+        if (!Objects.isNull(map.get("orderBy"))) {
+            order = JSONObject.parseObject(JSON.toJSONString(map.get("orderBy")), Map.class);
+        }
         String condition = map.getOrDefault("condition", "").toString();
         BaseParam baseParam = buildParam(map, BaseParam.class);
         PageParam<Order, BaseParam> pageParam = new PageParam<>(baseParam, Order.class);
-//        QueryWrapper<Order> wrapper = pageParam.buildWrapper(true);
-        QueryWrapper<Order> wrapper = new QueryWrapper<>();
-
+        QueryWrapper<Order> wrapper = pageParam.ignoreWrapper(true);
         ArrayList<Long> types = new ArrayList<>();
         for (OrderType orderType : orderTypeService.list(new LambdaQueryWrapper<OrderType>().in(OrderType::getType, 1))) {
             types.add(orderType.getId());
@@ -91,28 +94,33 @@
                 }
             }
         }
-        wrapper.orderByDesc("create_time");
+
+        if (!Cools.isEmpty(order)) {
+            String fileds = Utils.toSymbolCase(order.get("field"), '_');
+            if (order.get("order").equals("asc")) {
+                wrapper.orderByAsc(fileds);
+            } else {
+                wrapper.orderByDesc(fileds);
+            }
+        } else {
+            wrapper.orderByDesc("create_time");
+        }
 
         return R.ok().add(orderService.page(pageParam, wrapper));
     }
 
     @PreAuthorize("hasAuthority('asrs:order:list')")
     @PostMapping("/order/out/page")
-//    @CacheData(tableName = {"man_order", "man_order_type"})
     public R pageOut(@RequestBody Map<String, Object> map) {
         String condition = map.getOrDefault("condition", "").toString();
         BaseParam baseParam = buildParam(map, BaseParam.class);
         PageParam<Order, BaseParam> pageParam = new PageParam<>(baseParam, Order.class);
-//        QueryWrapper<Order> wrapper = pageParam.buildWrapper(true);
         QueryWrapper<Order> wrapper = new QueryWrapper<>();
-
         ArrayList<Long> types = new ArrayList<>();
         for (OrderType orderType : orderTypeService.list(new LambdaQueryWrapper<OrderType>().eq(OrderType::getType, 2))) {
             types.add(orderType.getId());
         }
-
         wrapper.in("order_type", types);
-
         if (map.containsKey("orderOut")) {
             wrapper.isNull("wave_id");
         }
@@ -141,14 +149,12 @@
 
     @PreAuthorize("hasAuthority('asrs:order:list')")
     @PostMapping("/order/list")
-//    @CacheData(tableName = {"man_order"})
     public R list(@RequestBody Map<String, Object> map) {
         return R.ok().add(orderService.list());
     }
 
     @PreAuthorize("hasAuthority('asrs:order:list')")
     @GetMapping("/order/{id}")
-//    @CacheData(tableName = {"man_order"})
     public R get(@PathVariable("id") Long id) {
         Order order = orderService.getById(id);
         List<OrderDetl> detls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderId, order.getId()));
@@ -170,7 +176,7 @@
     @PostMapping("/order/save")
     @Transactional
     public R save(@RequestBody CreateOrderParam param) {
-        orderService.createOrder(param);
+        orderService.createOrder(param, getLoginUserId());
         return R.ok("娣诲姞鎴愬姛");
     }
 
@@ -181,6 +187,13 @@
     public R update(@RequestBody UpdateOrderParam param) {
         orderService.updateOrder(param);
         return R.ok("淇敼鎴愬姛");
+    }
+
+    @PreAuthorize("hasAuthority('asrs:order:remove')")
+    @OperationLog("瀹岀粨璁㈠崟")
+    @PostMapping("/order/done/{id}")
+    public R orderToDone(@PathVariable Long id) {
+        return R.ok().add(orderService.doneOrder(id));
     }
 
     @PreAuthorize("hasAuthority('asrs:order:remove')")
@@ -293,7 +306,7 @@
             CreateOrderParam orderParam = (CreateOrderParam) entry.getValue();
             orderParams.add(orderParam);
         }
-        orderService.createOrder(orderParams);
+        orderService.createOrder(orderParams, getLoginUserId());
         return R.ok();
     }
 
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OutController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OutController.java
index 95bd733..b81dd08 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OutController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OutController.java
@@ -84,7 +84,7 @@
 
     @PostMapping("/out/orderOut/wave/preview")
     @OperationLog("棰勮娉㈡鍑哄簱")
-    @Transactional
+    @Transactional(rollbackFor = Exception.class)
     public R orderOutWavePreview(@RequestBody OrderOutWavePreviewParam param) {
         if (param == null) {
             throw new CoolException("鍙傛暟涓嶈兘涓虹┖");
@@ -126,12 +126,12 @@
 
     @PostMapping("/out/orderOut/merge/wave")
     @OperationLog("鐢熸垚娉㈡浠诲姟")
-    @Transactional
     public R orderOutMerge(@RequestBody OrderOutMergeParamDto param) {
         outManage.orderOutMergeWave(param);
         return R.ok();
     }
 
+
     @PostMapping("/out/locs/stock")
     @OperationLog("鎵嬪姩鍑哄簱")
     public R stockOut(@RequestBody StockOutParam param) {
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewStayTimeController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewStayTimeController.java
index 2065039..ce77245 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewStayTimeController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewStayTimeController.java
@@ -29,7 +29,7 @@
     public R page(@RequestBody Map<String, Object> map) {
         BaseParam baseParam = buildParam(map, BaseParam.class);
         PageParam<ViewStayTime, BaseParam> pageParam = new PageParam<>(baseParam, ViewStayTime.class);
-        QueryWrapper<ViewStayTime> queryWrapper = pageParam.buildWrapper(true, wrapper -> wrapper.orderByDesc("stay_time"));
+        QueryWrapper<ViewStayTime> queryWrapper = pageParam.buildWrapper(true, wrapper -> wrapper.orderByDesc("stay_time"), false);
         PageParam<ViewStayTime, BaseParam> page = viewStayTimeMapper.selectPage(pageParam, queryWrapper);
         return R.ok().add(page);
     }
@@ -39,7 +39,7 @@
     public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
         BaseParam baseParam = buildParam(map, BaseParam.class);
         PageParam<ViewStayTime, BaseParam> pageParam = new PageParam<>(baseParam, ViewStayTime.class);
-        QueryWrapper<ViewStayTime> queryWrapper = pageParam.buildWrapper(true, wrapper -> wrapper.orderByDesc("stay_time"));
+        QueryWrapper<ViewStayTime> queryWrapper = pageParam.buildWrapper(true, wrapper -> wrapper.orderByDesc("stay_time"), false);
         ExcelUtil.build(ExcelUtil.create(viewStayTimeMapper.selectList(queryWrapper), ViewStayTime.class), response);
     }
 
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkCountInController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkCountInController.java
index a7b9a62..0681cf7 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkCountInController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkCountInController.java
@@ -32,7 +32,7 @@
     public R page(@RequestBody Map<String, Object> map) {
         BaseParam baseParam = buildParam(map, BaseParam.class);
         PageParam<ViewWorkCountIn, BaseParam> pageParam = new PageParam<>(baseParam, ViewWorkCountIn.class);
-        QueryWrapper<ViewWorkCountIn> queryWrapper = pageParam.buildWrapper(true, wrapper -> wrapper.orderByDesc("oneday"));
+        QueryWrapper<ViewWorkCountIn> queryWrapper = pageParam.buildWrapper(true, wrapper -> wrapper.orderByDesc("oneday"), false);
         PageParam<ViewWorkCountIn, BaseParam> page = viewWorkCountInMapper.selectPage(pageParam, queryWrapper);
         return R.ok().add(page);
     }
@@ -42,7 +42,7 @@
     public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
         BaseParam baseParam = buildParam(map, BaseParam.class);
         PageParam<ViewWorkCountIn, BaseParam> pageParam = new PageParam<>(baseParam, ViewWorkCountIn.class);
-        QueryWrapper<ViewWorkCountIn> queryWrapper = pageParam.buildWrapper(true, wrapper -> wrapper.orderByDesc("oneday"));
+        QueryWrapper<ViewWorkCountIn> queryWrapper = pageParam.buildWrapper(true, wrapper -> wrapper.orderByDesc("oneday"), false);
         ExcelUtil.build(ExcelUtil.create(viewWorkCountInMapper.selectList(queryWrapper), ViewWorkCountIn.class), response);
     }
 
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkCountOutController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkCountOutController.java
index 19712e5..ca36865 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkCountOutController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkCountOutController.java
@@ -34,7 +34,7 @@
     public R page(@RequestBody Map<String, Object> map) {
         BaseParam baseParam = buildParam(map, BaseParam.class);
         PageParam<ViewWorkCountOut, BaseParam> pageParam = new PageParam<>(baseParam, ViewWorkCountOut.class);
-        QueryWrapper<ViewWorkCountOut> queryWrapper = pageParam.buildWrapper(true, wrapper -> wrapper.orderByDesc("oneday"));
+        QueryWrapper<ViewWorkCountOut> queryWrapper = pageParam.buildWrapper(true, wrapper -> wrapper.orderByDesc("oneday"), false);
         PageParam<ViewWorkCountOut, BaseParam> page = viewWorkCountOutMapper.selectPage(pageParam, queryWrapper);
         return R.ok().add(page);
     }
@@ -44,7 +44,7 @@
     public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
         BaseParam baseParam = buildParam(map, BaseParam.class);
         PageParam<ViewWorkCountOut, BaseParam> pageParam = new PageParam<>(baseParam, ViewWorkCountOut.class);
-        QueryWrapper<ViewWorkCountOut> queryWrapper = pageParam.buildWrapper(true, wrapper -> wrapper.orderByDesc("oneday"));
+        QueryWrapper<ViewWorkCountOut> queryWrapper = pageParam.buildWrapper(true, wrapper -> wrapper.orderByDesc("oneday"), false);
         ExcelUtil.build(ExcelUtil.create(viewWorkCountOutMapper.selectList(queryWrapper), ViewWorkCountOut.class), response);
     }
 
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/OrderDetl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/OrderDetl.java
index 0eaf8d2..efe6155 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/OrderDetl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/OrderDetl.java
@@ -148,6 +148,9 @@
     @ApiModelProperty("浼樺厛绾�")
     private Integer sorted;
 
+    @ApiModelProperty("浠撳簱绫诲瀷")
+    private Integer wareType;
+
     /**
      * 鍟嗗搧搴撳瓨绱㈠紩
      */
@@ -233,6 +236,17 @@
         return null;
     }
 
+    public String getWareType$(){
+        if (wareType == null) {return  null;}
+        if (wareType == 1) {
+            return "绔嬪簱";
+        } else if (wareType == 2) {
+            return "骞冲簱";
+        } else {
+            return "绔嬪簱/骞冲簱";
+        }
+    }
+
     public String getMatId$(){
         MatService service = SpringUtils.getBean(MatService.class);
         Mat mat = service.getById(this.matId);
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java
index 5338dbd..9f23308 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.mysql.cj.util.StringUtils;
 import com.zy.asrs.wms.asrs.entity.param.StockOutParam;
 import com.zy.asrs.framework.exception.CoolException;
@@ -1169,7 +1170,6 @@
             }
 
 
-
 //            List<CacheSite> cacheSites = cacheSiteService.list(new LambdaQueryWrapper<CacheSite>()
 //                    .eq(CacheSite::getSiteStatus, CacheSiteStatusType.O.id).eq(CacheSite::getChannel, task.getTargetSite()));
 //
@@ -1279,6 +1279,12 @@
                 if (!locDetlService.updateById(locDetl)) {
                     throw new CoolException("搴撳瓨鍔犻攣澶辫触锛侊紒");
                 }
+
+                orderDetlService.update(new LambdaUpdateWrapper<OrderDetl>()
+                                .set(OrderDetl::getWareType, 2)
+                        .eq(OrderDetl::getMatId, mat.getId())
+                        .eq(StringUtils.isNullOrEmpty(outOder.getBatch()), OrderDetl::getBatch, outOder.getBatch())
+                        .in(OrderDetl::getOrderId, outOder.getOrderIds()));
             });
 
             curLoc.setLocStsId(LocStsType.R.val());
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/LocDetlMapper.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/LocDetlMapper.java
index f17e1bd..164df9b 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/LocDetlMapper.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/LocDetlMapper.java
@@ -19,4 +19,6 @@
 
 
     List<LocDetl> getStock(String matnr, String batch, List<Long> ids);
+
+    Double getAllStock();
 }
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/LocDetlService.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/LocDetlService.java
index 9d161d9..2409aab 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/LocDetlService.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/LocDetlService.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.zy.asrs.framework.common.R;
 import com.zy.asrs.wms.asrs.entity.LocDetl;
 import com.zy.asrs.wms.asrs.entity.ViewLocDetl;
 import com.zy.asrs.wms.asrs.entity.param.FieldParam;
@@ -30,4 +31,6 @@
     void removeLocDetl(Long locId);
 
     List<LocDetl> queryFlatStock(String matnr, String batch, List<FieldParam> uniqueField);
+
+    R getAllStockQty();
 }
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/OrderService.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/OrderService.java
index d64f34e..a673372 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/OrderService.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/OrderService.java
@@ -10,9 +10,9 @@
 
 public interface OrderService extends IService<Order> {
 
-    boolean createOrder(CreateOrderParam param);
+    boolean createOrder(CreateOrderParam param, Long userId);
 
-    boolean createOrder(List<CreateOrderParam> list);
+    boolean createOrder(List<CreateOrderParam> list, Long userId);
 
     boolean updateOrder(UpdateOrderParam param);
 
@@ -23,4 +23,6 @@
     Order selectByBarcode(String barcode);
 
     List<OrderInfoDto> getDetlForOrderId(Long id, String matnr);
+
+    Order doneOrder(Long id);
 }
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocDetlServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocDetlServiceImpl.java
index 0bdab34..65b4b3c 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocDetlServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocDetlServiceImpl.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zy.asrs.framework.common.R;
 import com.zy.asrs.framework.exception.CoolException;
 import com.zy.asrs.wms.asrs.entity.*;
 import com.zy.asrs.wms.asrs.entity.enums.LocAreaTypeSts;
@@ -240,4 +241,16 @@
         });
         return detls;
     }
+
+    /**
+     * 鑾峰彇鎵�鏈夊簱瀛樻暟閲�
+     * @return
+     */
+    @Override
+    public R getAllStockQty() {
+        Map<String, Double> map = new HashMap<>();
+        Double allQty = this.baseMapper.getAllStock();
+        map.put("allQty", allQty);
+        return R.ok().add(map);
+    }
 }
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java
index 82c1a9b..248d0b6 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java
@@ -239,10 +239,10 @@
         orders.forEach(order -> {
             List<OrderDetl> detls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderId, order.getId()));
             Double sum = detls.stream().mapToDouble(OrderDetl::getQty).sum();
-            Double summed = detls.stream().mapToDouble(OrderDetl::getWorkQty).sum();
-            Double v = Math.round((sum + summed) * 1000) / 1000.0;
+//            Double summed = detls.stream().mapToDouble(OrderDetl::getWorkQty).sum();
+//            Double v = Math.round((sum ) * 1000) / 1000.0;
             Double anfme = detls.stream().mapToDouble(OrderDetl::getAnfme).sum();
-            if (v.compareTo(anfme) == 0.0) {
+            if (sum.compareTo(anfme) == 0.0) {
                 order.setOrderSettle(OrderSettleType.COMPLETE.val());
                 if (!orderService.updateById(order)) {
                     throw new CoolException("鍗曟嵁鐘舵�佷慨鏀瑰け璐ワ紒锛�");
@@ -664,7 +664,7 @@
     @Override
     public R getMatsByCode(String matnr) {
         QueryWrapper<LocDetl> wrapper = new QueryWrapper<>();
-        wrapper.eq("matnr", matnr).select("id, maktx, matnr, SUM(anfme) anfme");
+        wrapper.eq("matnr", matnr).select("matnr, SUM(anfme) anfme");
         LocDetl detl = locDetlService.getOne(wrapper);
 
         Mat one = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, detl.getMatnr()), false);
@@ -672,7 +672,7 @@
             throw new CoolException("鐗╂枡涓嶅瓨鍦紒锛�");
         }
         one.setAnfme(detl.getAnfme());
-        return R.ok().add(one);
+        return R.ok().add(Arrays.asList(one));
     }
 
     /**
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java
index 465f79c..0e703ee 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java
@@ -45,16 +45,16 @@
 
     @Override
     @Transactional
-    public boolean createOrder(List<CreateOrderParam> list) {
+    public boolean createOrder(List<CreateOrderParam> list, Long userId) {
         for (CreateOrderParam orderParam : list) {
-            createOrder(orderParam);
+            createOrder(orderParam, userId);
         }
         return true;
     }
 
     @Override
     @Transactional
-    public boolean createOrder(CreateOrderParam param) {
+    public boolean createOrder(CreateOrderParam param, Long userId) {
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
         List<Order> orderList = this.list(new LambdaQueryWrapper<Order>().eq(Order::getOrderNo, param.getOrderNo()));
@@ -77,7 +77,8 @@
         order.setIoPri(orderUtils.getIoPri());
         order.setOrderTime(format.format(new Date()));
         order.setCreateTime(new Date());
-        order.setCreateBy(9527L);
+        order.setCreateBy(userId);
+        order.setUpdateBy(userId);
         boolean result = this.save(order);
         if (!result) {
             throw new CoolException("鐢熸垚璁㈠崟澶辫触");
@@ -125,7 +126,8 @@
             orderDetl.setMatId(mat.getId());
             orderDetl.setMemo(memo);
             orderDetl.setCreateTime(new Date());
-            orderDetl.setCreateBy(9527L);
+            orderDetl.setCreateBy(userId);
+            orderDetl.setUpdateBy(userId);
             boolean save = orderDetlService.save(orderDetl);
             if (!save) {
                 throw new CoolException("璁㈠崟鏄庣粏鍒涘缓澶辫触");
@@ -332,4 +334,14 @@
             return this.baseMapper.getDetlForOrderId(id, null);
         }
     }
+
+    /**
+     * 鎻愪氦瀹岀粨璁㈠崟
+     * @param id
+     * @return
+     */
+    @Override
+    public Order doneOrder(Long id) {
+        return null;
+    }
 }
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/domain/BaseParam.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/domain/BaseParam.java
index 9145e52..af72788 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/domain/BaseParam.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/domain/BaseParam.java
@@ -50,6 +50,9 @@
             this.setCondition(String.valueOf(map.get("condition")));
             map.remove("condition");
         }
+        if (null != map.get("orderBy")) {
+            map.remove("orderBy");
+        }
         this.setMap(map);
     }
 
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/domain/PageParam.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/domain/PageParam.java
index 58fc04b..f50fd66 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/domain/PageParam.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/domain/PageParam.java
@@ -67,15 +67,19 @@
     }
 
     public QueryWrapper<T> buildWrapper(Consumer<QueryWrapper<T>> consumer) {
-        return this.buildWrapper(false, consumer);
+        return this.buildWrapper(false, consumer, false);
+    }
+
+    public QueryWrapper<T> ignoreWrapper(boolean order) {
+        return this.buildWrapper(false,  null, order);
     }
 
     public QueryWrapper<T> buildWrapper(boolean like) {
-        return this.buildWrapper(like, null);
+        return this.buildWrapper(like, null, false);
     }
 
     @SuppressWarnings("all")
-    public QueryWrapper<T> buildWrapper(boolean like, Consumer<QueryWrapper<T>> consumer) {
+    public QueryWrapper<T> buildWrapper(boolean like, Consumer<QueryWrapper<T>> consumer, boolean order) {
         QueryWrapper<T> queryWrapper = new QueryWrapper<>();
         Map<String, Object> map = where.getMap();
         for (String key : map.keySet()) {
@@ -132,7 +136,7 @@
         }
 
         Field[] fields = null;
-        if (!Cools.isEmpty(cls)) {
+        if (!Cools.isEmpty(cls) && !order) {
             fields = Cools.getAllFields(cls);
             for (Field field : fields) {
                 if ("id".equals(field.getName())) {
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/RoleController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/RoleController.java
index ee19543..9750886 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/RoleController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/RoleController.java
@@ -45,7 +45,7 @@
     public R page(@RequestBody Map<String, Object> map) {
         BaseParam baseParam = buildParam(map, BaseParam.class);
         PageParam<Role, BaseParam> pageParam = new PageParam<>(baseParam, Role.class);
-        return R.ok().add(roleService.page(pageParam, pageParam.buildWrapper(true, (wrapper) -> wrapper.orderByAsc("create_time"))));
+        return R.ok().add(roleService.page(pageParam, pageParam.buildWrapper(true, (wrapper) -> wrapper.orderByAsc("create_time"), false)));
     }
 
     @PreAuthorize("hasAuthority('system:role:list')")
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/UserController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/UserController.java
index 9de8dc1..4bb3885 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/UserController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/UserController.java
@@ -44,7 +44,7 @@
     public R page(@RequestBody Map<String, Object> map) {
         BaseParam baseParam = buildParam(map, BaseParam.class);
         PageParam<User, BaseParam> pageParam = new PageParam<>(baseParam, User.class);
-        return R.ok().add(userService.page(pageParam, pageParam.buildWrapper(true, wrapper -> wrapper.orderByAsc("create_time"))));
+        return R.ok().add(userService.page(pageParam, pageParam.buildWrapper(true, wrapper -> wrapper.orderByAsc("create_time"), false)));
     }
 
     @PreAuthorize("hasAuthority('system:user:list')")
diff --git a/zy-asrs-wms/src/main/resources/mapper/asrs/LocDetlMapper.xml b/zy-asrs-wms/src/main/resources/mapper/asrs/LocDetlMapper.xml
index 0b3fd0c..90b14b4 100644
--- a/zy-asrs-wms/src/main/resources/mapper/asrs/LocDetlMapper.xml
+++ b/zy-asrs-wms/src/main/resources/mapper/asrs/LocDetlMapper.xml
@@ -29,5 +29,8 @@
             </foreach>
         </if>
     </select>
-    
+
+    <select id="getAllStock" resultType="java.lang.Double">
+        SELECT SUM(anfme) all_qty FROM man_loc_detl WHERE deleted = 0
+    </select>
 </mapper>

--
Gitblit v1.9.1