From 75c252bce336b9f1bd024cc186ce09992a0b01bc Mon Sep 17 00:00:00 2001
From: chen.llin <1442464845@qq.comm>
Date: 星期三, 24 十二月 2025 15:44:20 +0800
Subject: [PATCH] 出/入库单据记录

---
 src/main/java/com/zy/asrs/controller/OrderPakoutLogController.java        |  157 +++
 src/main/java/com/zy/asrs/service/impl/OrderDetlPakoutLogServiceImpl.java |   13 
 src/main/webapp/static/js/orderPakinLog/order.js                          |  219 ++++
 src/main/webapp/views/orderPakinLog/order.html                            |  233 ++++
 src/main/java/com/zy/asrs/service/OrderPakinLogService.java               |   16 
 src/main/java/com/zy/asrs/controller/OrderPakinLogController.java         |  152 +++
 src/main/java/com/zy/asrs/controller/OrderDetlPakinLogController.java     |   64 +
 src/main/java/com/zy/asrs/service/OrderDetlPakoutLogService.java          |    9 
 src/main/webapp/views/orderPakoutLog/order.html                           |  233 ++++
 src/main/java/com/zy/asrs/service/impl/OrderPakinLogServiceImpl.java      |   37 
 src/main/java/com/zy/asrs/service/OrderPakoutLogService.java              |   16 
 src/main/java/com/zy/asrs/service/impl/OrderDetlPakinLogServiceImpl.java  |   13 
 src/main/java/com/zy/asrs/controller/OrderDetlPakoutLogController.java    |   64 +
 src/main/java/com/zy/asrs/service/impl/OrderPakoutLogServiceImpl.java     |   37 
 src/main/java/com/zy/asrs/service/OrderDetlPakinLogService.java           |    9 
 src/main/webapp/static/js/orderPakoutLog/order.js                         |  219 ++++
 src/main/java/出入库历史表创建.sql                                                | 1385 ++++++++++++++++++++++++++++
 17 files changed, 2,876 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OrderDetlPakinLogController.java b/src/main/java/com/zy/asrs/controller/OrderDetlPakinLogController.java
new file mode 100644
index 0000000..0af1cb1
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/OrderDetlPakinLogController.java
@@ -0,0 +1,64 @@
+package com.zy.asrs.controller;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.core.annotations.ManagerAuth;
+import com.core.common.Cools;
+import com.core.common.DateUtils;
+import com.core.common.R;
+import com.zy.asrs.entity.OrderDetlPakinLog;
+import com.zy.asrs.service.OrderDetlPakinLogService;
+import com.zy.common.web.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+@RestController
+@RequestMapping("order/pakinLog")
+public class OrderDetlPakinLogController extends BaseController {
+
+    @Autowired
+    private OrderDetlPakinLogService orderDetlService;
+
+    @RequestMapping(value = "/orderDetl/list/auth")
+    @ManagerAuth
+    public R list(@RequestParam(defaultValue = "1") Integer curr,
+                  @RequestParam(defaultValue = "10") Integer limit,
+                  @RequestParam(required = false) String orderByField,
+                  @RequestParam(required = false) String orderByType,
+                  @RequestParam Map<String, Object> param) {
+        EntityWrapper<OrderDetlPakinLog> wrapper = new EntityWrapper<>();
+        excludeTrash(param);
+        convert(param, wrapper);
+        if (!Cools.isEmpty(orderByField)) {
+            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
+        } else {
+            wrapper.orderBy("create_time", false);
+        }
+        Page<OrderDetlPakinLog> orderDetlPage = orderDetlService.selectPage(new Page<>(curr, limit), wrapper);
+        return R.ok(orderDetlPage);
+    }
+
+    private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) {
+        for (Map.Entry<String, Object> entry : map.entrySet()) {
+            String key = entry.getKey();
+            String val = String.valueOf(entry.getValue());
+            if (Cools.isEmpty(val) || "null".equals(val)) {
+                continue;
+            }
+            if (val.contains(RANGE_TIME_LINK)) {
+                String[] dates = val.split(RANGE_TIME_LINK);
+                wrapper.ge(key, DateUtils.convert(dates[0]));
+                wrapper.le(key, DateUtils.convert(dates[1]));
+            } else if ("order_id".equals(key) || "orderId".equals(key)) {
+                // order_id浣跨敤绮剧‘鍖归厤
+                wrapper.eq(key, val);
+            } else {
+                wrapper.like(key, val);
+            }
+        }
+    }
+
+}
+
diff --git a/src/main/java/com/zy/asrs/controller/OrderDetlPakoutLogController.java b/src/main/java/com/zy/asrs/controller/OrderDetlPakoutLogController.java
new file mode 100644
index 0000000..ea6f0cb
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/OrderDetlPakoutLogController.java
@@ -0,0 +1,64 @@
+package com.zy.asrs.controller;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.core.annotations.ManagerAuth;
+import com.core.common.Cools;
+import com.core.common.DateUtils;
+import com.core.common.R;
+import com.zy.asrs.entity.OrderDetlPakoutLog;
+import com.zy.asrs.service.OrderDetlPakoutLogService;
+import com.zy.common.web.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+@RestController
+@RequestMapping("order/pakoutLog")
+public class OrderDetlPakoutLogController extends BaseController {
+
+    @Autowired
+    private OrderDetlPakoutLogService orderDetlService;
+
+    @RequestMapping(value = "/orderDetl/list/auth")
+    @ManagerAuth
+    public R list(@RequestParam(defaultValue = "1") Integer curr,
+                  @RequestParam(defaultValue = "10") Integer limit,
+                  @RequestParam(required = false) String orderByField,
+                  @RequestParam(required = false) String orderByType,
+                  @RequestParam Map<String, Object> param) {
+        EntityWrapper<OrderDetlPakoutLog> wrapper = new EntityWrapper<>();
+        excludeTrash(param);
+        convert(param, wrapper);
+        if (!Cools.isEmpty(orderByField)) {
+            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
+        } else {
+            wrapper.orderBy("create_time", false);
+        }
+        Page<OrderDetlPakoutLog> orderDetlPage = orderDetlService.selectPage(new Page<>(curr, limit), wrapper);
+        return R.ok(orderDetlPage);
+    }
+
+    private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) {
+        for (Map.Entry<String, Object> entry : map.entrySet()) {
+            String key = entry.getKey();
+            String val = String.valueOf(entry.getValue());
+            if (Cools.isEmpty(val) || "null".equals(val)) {
+                continue;
+            }
+            if (val.contains(RANGE_TIME_LINK)) {
+                String[] dates = val.split(RANGE_TIME_LINK);
+                wrapper.ge(key, DateUtils.convert(dates[0]));
+                wrapper.le(key, DateUtils.convert(dates[1]));
+            } else if ("order_id".equals(key) || "orderId".equals(key)) {
+                // order_id浣跨敤绮剧‘鍖归厤
+                wrapper.eq(key, val);
+            } else {
+                wrapper.like(key, val);
+            }
+        }
+    }
+
+}
+
diff --git a/src/main/java/com/zy/asrs/controller/OrderPakinLogController.java b/src/main/java/com/zy/asrs/controller/OrderPakinLogController.java
new file mode 100644
index 0000000..06604a5
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/OrderPakinLogController.java
@@ -0,0 +1,152 @@
+package com.zy.asrs.controller;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.core.annotations.ManagerAuth;
+import com.core.common.*;
+import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.result.WrkTraceVo;
+import com.zy.asrs.service.*;
+import com.zy.common.web.BaseController;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.*;
+
+@RestController
+@RequestMapping("order/pakinLog")
+public class OrderPakinLogController extends BaseController {
+
+    @Autowired
+    private OrderPakinLogService orderService;
+    @Autowired
+    private OrderDetlPakinLogService orderDetlService;
+    @Autowired
+    private WrkDetlService wrkDetlService;
+    @Autowired
+    private WrkMastService wrkMastService;
+    @Autowired
+    private WrkMastLogService wrkMastLogService;
+
+    @RequestMapping(value = "/order/head/page/auth")
+    @ManagerAuth
+    public R head(@RequestParam(defaultValue = "1") Integer curr,
+                  @RequestParam(defaultValue = "10") Integer limit,
+                  @RequestParam(required = false) String orderByField,
+                  @RequestParam(required = false) String orderByType,
+                  @RequestParam Map<String, Object> param) {
+        EntityWrapper<OrderPakinLog> wrapper = new EntityWrapper<>();
+        excludeTrash(param);
+        convert(param, wrapper);
+        if (!Cools.isEmpty(orderByField)) {
+            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
+        } else {
+            wrapper.orderBy("create_time", false);
+        }
+        return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper));
+    }
+
+    @RequestMapping(value = "/order/detl/all/auth")
+    @ManagerAuth
+    public R head(@RequestParam Long orderId) {
+        return R.ok().add(orderDetlService.selectList(new EntityWrapper<OrderDetlPakinLog>().eq("order_id", orderId)));
+    }
+
+    @PostMapping(value = "/order/wrk/trace/auth")
+    @ManagerAuth
+    public R orderWrkTrace(@RequestParam("orderId") Long orderId) {
+        OrderPakinLog order = orderService.selectById(orderId);
+        if (null == order) {
+            return R.error("鍗曟嵁涓嶅瓨鍦�");
+        }
+        // 鏁伴噺缁熻
+        List<OrderDetlPakinLog> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetlPakinLog>().eq("order_id", orderId));
+        double totalQty = 0;
+        double wrkQty = 0;
+        double lackQty = 0;
+        double endQty = 0;
+        for (OrderDetlPakinLog orderDetl : orderDetls) {
+            totalQty = totalQty + orderDetl.getAnfme();
+            wrkQty = wrkQty + (orderDetl.getWorkQty() != null ? orderDetl.getWorkQty() : 0);
+            endQty = endQty + (orderDetl.getQty() != null ? orderDetl.getQty() : 0);
+        }
+        // 浠诲姟杩芥函
+        List<WrkTraceVo> wrkTraceVos = new ArrayList<>();
+        List<WrkDetl> wrkDetls = wrkDetlService.selectAndLogByOrderNoGroupByMatnrOfSum(order.getOrderNo());
+        for (WrkDetl wrkDetl : wrkDetls) {
+            WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime()));
+            if (wrkMast == null) {
+                WrkMastLog wrkMastLog = wrkMastLogService.selectOne(new EntityWrapper<WrkMastLog>().eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime()));
+                if (wrkMastLog != null && wrkMastLog.getIoType() == 103) {
+                    wrkMastLog = wrkMastLogService.selectOne(new EntityWrapper<WrkMastLog>().eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime()).eq("io_type", 53));
+                }
+                if (wrkMastLog != null) {
+                    wrkMast = new WrkMast();
+                    BeanUtils.copyProperties(wrkMastLog, wrkMast);
+                } else {
+                    continue;
+                }
+            }
+            boolean exist = false;
+            for (WrkTraceVo vo : wrkTraceVos) {
+                if (vo.getWrkNo().equals(wrkMast.getWrkNo()) && vo.getIoTimeStr().equals(DateUtils.convert(wrkMast.getIoTime()))) {
+                    vo.getWrkDetls().add(wrkDetl);
+                    exist = true;
+                }
+            }
+            if (!exist) {
+                WrkTraceVo vo = new WrkTraceVo(wrkMast.getWrkNo(), DateUtils.convert(wrkMast.getIoTime()), wrkMast, wrkDetl);
+                wrkTraceVos.add(vo);
+            }
+        }
+        if (!Cools.isEmpty(wrkTraceVos) && wrkTraceVos.size() > 1) {
+            wrkTraceVos.sort((o1, o2) -> (int) (o2.getWrkMast().getIoTime().getTime() - o1.getWrkMast().getIoTime().getTime()));
+        }
+        return R.ok().add(Cools
+                .add("list", wrkTraceVos)
+                .add("orderNo", order.getOrderNo())
+                .add("totalQty", totalQty)
+                .add("wrkQty", wrkQty)
+                .add("lackQty", lackQty)
+                .add("endQty", endQty)
+        );
+    }
+
+    @RequestMapping(value = "/order/{id}/auth")
+    @ManagerAuth
+    public R get(@PathVariable("id") String id) {
+        return R.ok(orderService.selectById(String.valueOf(id)));
+    }
+
+    @RequestMapping(value = "/order/list/auth")
+    @ManagerAuth
+    public R list(@RequestParam(defaultValue = "1") Integer curr,
+                  @RequestParam(defaultValue = "10") Integer limit,
+                  @RequestParam(required = false) String orderByField,
+                  @RequestParam(required = false) String orderByType,
+                  @RequestParam Map<String, Object> param) {
+        EntityWrapper<OrderPakinLog> wrapper = new EntityWrapper<>();
+        excludeTrash(param);
+        convert(param, wrapper);
+        if (!Cools.isEmpty(orderByField)) {
+            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
+        }
+        return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper));
+    }
+
+    private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) {
+        for (Map.Entry<String, Object> entry : map.entrySet()) {
+            String val = String.valueOf(entry.getValue());
+            if (val.contains(RANGE_TIME_LINK)) {
+                String[] dates = val.split(RANGE_TIME_LINK);
+                wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
+                wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
+            } else {
+                wrapper.like(entry.getKey(), val);
+            }
+        }
+    }
+
+}
+
diff --git a/src/main/java/com/zy/asrs/controller/OrderPakoutLogController.java b/src/main/java/com/zy/asrs/controller/OrderPakoutLogController.java
new file mode 100644
index 0000000..d34c648
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/OrderPakoutLogController.java
@@ -0,0 +1,157 @@
+package com.zy.asrs.controller;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.core.annotations.ManagerAuth;
+import com.core.common.*;
+import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.result.WrkTraceVo;
+import com.zy.asrs.service.*;
+import com.zy.common.web.BaseController;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.*;
+
+@RestController
+@RequestMapping("order/pakoutLog")
+public class OrderPakoutLogController extends BaseController {
+
+    @Autowired
+    private OrderPakoutLogService orderService;
+    @Autowired
+    private OrderDetlPakoutLogService orderDetlService;
+    @Autowired
+    private WrkDetlService wrkDetlService;
+    @Autowired
+    private WrkMastService wrkMastService;
+    @Autowired
+    private WrkMastLogService wrkMastLogService;
+
+    @RequestMapping(value = "/order/head/page/auth")
+    @ManagerAuth
+    public R head(@RequestParam(defaultValue = "1") Integer curr,
+            @RequestParam(defaultValue = "10") Integer limit,
+            @RequestParam(required = false) String orderByField,
+            @RequestParam(required = false) String orderByType,
+            @RequestParam Map<String, Object> param) {
+        EntityWrapper<OrderPakoutLog> wrapper = new EntityWrapper<>();
+        excludeTrash(param);
+        convert(param, wrapper);
+        if (!Cools.isEmpty(orderByField)) {
+            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
+        } else {
+            wrapper.orderBy("create_time", false);
+        }
+        return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper));
+    }
+
+    @RequestMapping(value = "/order/detl/all/auth")
+    @ManagerAuth
+    public R head(@RequestParam Long orderId) {
+        return R.ok().add(orderDetlService.selectList(new EntityWrapper<OrderDetlPakoutLog>().eq("order_id", orderId)));
+    }
+
+    @PostMapping(value = "/order/wrk/trace/auth")
+    @ManagerAuth
+    public R orderWrkTrace(@RequestParam("orderId") Long orderId) {
+        OrderPakoutLog order = orderService.selectById(orderId);
+        if (null == order) {
+            return R.error("鍗曟嵁涓嶅瓨鍦�");
+        }
+        // 鏁伴噺缁熻
+        List<OrderDetlPakoutLog> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetlPakoutLog>().eq("order_id", orderId));
+        double totalQty = 0;
+        double wrkQty = 0;
+        double lackQty = 0;
+        double endQty = 0;
+        for (OrderDetlPakoutLog orderDetl : orderDetls) {
+            totalQty = totalQty + orderDetl.getAnfme();
+            wrkQty = wrkQty + (orderDetl.getWorkQty() != null ? orderDetl.getWorkQty() : 0);
+            endQty = endQty + (orderDetl.getQty() != null ? orderDetl.getQty() : 0);
+        }
+        // 浠诲姟杩芥函
+        List<WrkTraceVo> wrkTraceVos = new ArrayList<>();
+        List<WrkDetl> wrkDetls = wrkDetlService.selectAndLogByOrderNoGroupByMatnrOfSum(order.getOrderNo());
+        for (WrkDetl wrkDetl : wrkDetls) {
+            WrkMast wrkMast = wrkMastService.selectOne(
+                    new EntityWrapper<WrkMast>().eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime()));
+            if (wrkMast == null) {
+                WrkMastLog wrkMastLog = wrkMastLogService.selectOne(new EntityWrapper<WrkMastLog>()
+                        .eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime()));
+                if (wrkMastLog != null && wrkMastLog.getIoType() == 103) {
+                    wrkMastLog = wrkMastLogService.selectOne(new EntityWrapper<WrkMastLog>()
+                            .eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime()).eq("io_type", 53));
+                }
+                if (wrkMastLog != null) {
+                    wrkMast = new WrkMast();
+                    BeanUtils.copyProperties(wrkMastLog, wrkMast);
+                } else {
+                    continue;
+                }
+            }
+            boolean exist = false;
+            for (WrkTraceVo vo : wrkTraceVos) {
+                if (vo.getWrkNo().equals(wrkMast.getWrkNo())
+                        && vo.getIoTimeStr().equals(DateUtils.convert(wrkMast.getIoTime()))) {
+                    vo.getWrkDetls().add(wrkDetl);
+                    exist = true;
+                }
+            }
+            if (!exist) {
+                WrkTraceVo vo = new WrkTraceVo(wrkMast.getWrkNo(), DateUtils.convert(wrkMast.getIoTime()), wrkMast,
+                        wrkDetl);
+                wrkTraceVos.add(vo);
+            }
+        }
+        if (!Cools.isEmpty(wrkTraceVos) && wrkTraceVos.size() > 1) {
+            wrkTraceVos.sort(
+                    (o1, o2) -> (int) (o2.getWrkMast().getIoTime().getTime() - o1.getWrkMast().getIoTime().getTime()));
+        }
+        return R.ok().add(Cools
+                .add("list", wrkTraceVos)
+                .add("orderNo", order.getOrderNo())
+                .add("totalQty", totalQty)
+                .add("wrkQty", wrkQty)
+                .add("lackQty", lackQty)
+                .add("endQty", endQty));
+    }
+
+    @RequestMapping(value = "/order/{id}/auth")
+    @ManagerAuth
+    public R get(@PathVariable("id") String id) {
+        return R.ok(orderService.selectById(String.valueOf(id)));
+    }
+
+    @RequestMapping(value = "/order/list/auth")
+    @ManagerAuth
+    public R list(@RequestParam(defaultValue = "1") Integer curr,
+            @RequestParam(defaultValue = "10") Integer limit,
+            @RequestParam(required = false) String orderByField,
+            @RequestParam(required = false) String orderByType,
+            @RequestParam Map<String, Object> param) {
+        EntityWrapper<OrderPakoutLog> wrapper = new EntityWrapper<>();
+        excludeTrash(param);
+        convert(param, wrapper);
+        if (!Cools.isEmpty(orderByField)) {
+            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
+        }
+        return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper));
+    }
+
+    private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) {
+        for (Map.Entry<String, Object> entry : map.entrySet()) {
+            String val = String.valueOf(entry.getValue());
+            if (val.contains(RANGE_TIME_LINK)) {
+                String[] dates = val.split(RANGE_TIME_LINK);
+                wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
+                wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
+            } else {
+                wrapper.like(entry.getKey(), val);
+            }
+        }
+    }
+
+}
+
diff --git a/src/main/java/com/zy/asrs/service/OrderDetlPakinLogService.java b/src/main/java/com/zy/asrs/service/OrderDetlPakinLogService.java
new file mode 100644
index 0000000..bddf8f8
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/OrderDetlPakinLogService.java
@@ -0,0 +1,9 @@
+package com.zy.asrs.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.OrderDetlPakinLog;
+
+public interface OrderDetlPakinLogService extends IService<OrderDetlPakinLog> {
+
+}
+
diff --git a/src/main/java/com/zy/asrs/service/OrderDetlPakoutLogService.java b/src/main/java/com/zy/asrs/service/OrderDetlPakoutLogService.java
new file mode 100644
index 0000000..acb1641
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/OrderDetlPakoutLogService.java
@@ -0,0 +1,9 @@
+package com.zy.asrs.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.OrderDetlPakoutLog;
+
+public interface OrderDetlPakoutLogService extends IService<OrderDetlPakoutLog> {
+
+}
+
diff --git a/src/main/java/com/zy/asrs/service/OrderPakinLogService.java b/src/main/java/com/zy/asrs/service/OrderPakinLogService.java
new file mode 100644
index 0000000..d0bceec
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/OrderPakinLogService.java
@@ -0,0 +1,16 @@
+package com.zy.asrs.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.OrderDetlPakinLog;
+import com.zy.asrs.entity.OrderPakinLog;
+
+import java.util.List;
+
+public interface OrderPakinLogService extends IService<OrderPakinLog> {
+
+    OrderPakinLog selectByNo(String orderNo);
+
+    List<OrderDetlPakinLog> selectDetlsByOrderId(Long orderId);
+
+}
+
diff --git a/src/main/java/com/zy/asrs/service/OrderPakoutLogService.java b/src/main/java/com/zy/asrs/service/OrderPakoutLogService.java
new file mode 100644
index 0000000..67e57b9
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/OrderPakoutLogService.java
@@ -0,0 +1,16 @@
+package com.zy.asrs.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.OrderDetlPakoutLog;
+import com.zy.asrs.entity.OrderPakoutLog;
+
+import java.util.List;
+
+public interface OrderPakoutLogService extends IService<OrderPakoutLog> {
+
+    OrderPakoutLog selectByNo(String orderNo);
+
+    List<OrderDetlPakoutLog> selectDetlsByOrderId(Long orderId);
+
+}
+
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlPakinLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlPakinLogServiceImpl.java
new file mode 100644
index 0000000..4413908
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlPakinLogServiceImpl.java
@@ -0,0 +1,13 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.asrs.entity.OrderDetlPakinLog;
+import com.zy.asrs.mapper.OrderDetlPakinLogMapper;
+import com.zy.asrs.service.OrderDetlPakinLogService;
+import org.springframework.stereotype.Service;
+
+@Service("orderDetlPakinLogService")
+public class OrderDetlPakinLogServiceImpl extends ServiceImpl<OrderDetlPakinLogMapper, OrderDetlPakinLog> implements OrderDetlPakinLogService {
+
+}
+
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlPakoutLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlPakoutLogServiceImpl.java
new file mode 100644
index 0000000..e192123
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlPakoutLogServiceImpl.java
@@ -0,0 +1,13 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.asrs.entity.OrderDetlPakoutLog;
+import com.zy.asrs.mapper.OrderDetlPakoutLogMapper;
+import com.zy.asrs.service.OrderDetlPakoutLogService;
+import org.springframework.stereotype.Service;
+
+@Service("orderDetlPakoutLogService")
+public class OrderDetlPakoutLogServiceImpl extends ServiceImpl<OrderDetlPakoutLogMapper, OrderDetlPakoutLog> implements OrderDetlPakoutLogService {
+
+}
+
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderPakinLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderPakinLogServiceImpl.java
new file mode 100644
index 0000000..0a9320c
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/OrderPakinLogServiceImpl.java
@@ -0,0 +1,37 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.core.common.Cools;
+import com.zy.asrs.entity.OrderDetlPakinLog;
+import com.zy.asrs.entity.OrderPakinLog;
+import com.zy.asrs.mapper.OrderDetlPakinLogMapper;
+import com.zy.asrs.mapper.OrderPakinLogMapper;
+import com.zy.asrs.service.OrderPakinLogService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service("orderPakinLogService")
+public class OrderPakinLogServiceImpl extends ServiceImpl<OrderPakinLogMapper, OrderPakinLog> implements OrderPakinLogService {
+
+    @Autowired
+    private OrderDetlPakinLogMapper orderDetlPakinLogMapper;
+
+    @Override
+    public OrderPakinLog selectByNo(String orderNo) {
+        List<OrderPakinLog> orderList = this.selectList(new EntityWrapper<OrderPakinLog>().eq("order_no", orderNo));
+        if (Cools.isEmpty(orderList)) {
+            return null;
+        }
+        return orderList.get(0);
+    }
+
+    @Override
+    public List<OrderDetlPakinLog> selectDetlsByOrderId(Long orderId) {
+        return orderDetlPakinLogMapper.selectList(new EntityWrapper<OrderDetlPakinLog>().eq("order_id", orderId));
+    }
+
+}
+
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderPakoutLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderPakoutLogServiceImpl.java
new file mode 100644
index 0000000..ae67ebf
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/OrderPakoutLogServiceImpl.java
@@ -0,0 +1,37 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.core.common.Cools;
+import com.zy.asrs.entity.OrderDetlPakoutLog;
+import com.zy.asrs.entity.OrderPakoutLog;
+import com.zy.asrs.mapper.OrderDetlPakoutLogMapper;
+import com.zy.asrs.mapper.OrderPakoutLogMapper;
+import com.zy.asrs.service.OrderPakoutLogService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service("orderPakoutLogService")
+public class OrderPakoutLogServiceImpl extends ServiceImpl<OrderPakoutLogMapper, OrderPakoutLog> implements OrderPakoutLogService {
+
+    @Autowired
+    private OrderDetlPakoutLogMapper orderDetlPakoutLogMapper;
+
+    @Override
+    public OrderPakoutLog selectByNo(String orderNo) {
+        List<OrderPakoutLog> orderList = this.selectList(new EntityWrapper<OrderPakoutLog>().eq("order_no", orderNo));
+        if (Cools.isEmpty(orderList)) {
+            return null;
+        }
+        return orderList.get(0);
+    }
+
+    @Override
+    public List<OrderDetlPakoutLog> selectDetlsByOrderId(Long orderId) {
+        return orderDetlPakoutLogMapper.selectList(new EntityWrapper<OrderDetlPakoutLog>().eq("order_id", orderId));
+    }
+
+}
+
diff --git "a/src/main/java/\345\207\272\345\205\245\345\272\223\345\216\206\345\217\262\350\241\250\345\210\233\345\273\272.sql" "b/src/main/java/\345\207\272\345\205\245\345\272\223\345\216\206\345\217\262\350\241\250\345\210\233\345\273\272.sql"
new file mode 100644
index 0000000..1e83cf8
--- /dev/null
+++ "b/src/main/java/\345\207\272\345\205\245\345\272\223\345\216\206\345\217\262\350\241\250\345\210\233\345\273\272.sql"
@@ -0,0 +1,1385 @@
+CREATE TABLE [dbo].[man_order_log_pakout] (
+[id] bigint  NOT NULL,
+[uuid] varchar(255) COLLATE Chinese_PRC_CI_AS  NOT NULL,
+[order_no] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[order_time] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[doc_type] bigint  NULL,
+[item_id] bigint  NULL,
+[item_name] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[allot_item_id] bigint  NULL,
+[def_number] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[number] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[cstmr] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[cstmr_name] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[tel] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[oper_memb] varchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
+[total_fee] decimal(24,9)  NULL,
+[discount] decimal(24,9)  NULL,
+[discount_fee] decimal(24,9)  NULL,
+[other_fee] decimal(24,9)  NULL,
+[act_fee] decimal(24,9)  NULL,
+[pay_type] int  NULL,
+[salesman] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[account_day] int  NULL,
+[post_fee_type] int  NULL,
+[post_fee] decimal(24,9)  NULL,
+[pay_time] datetime  NULL,
+[send_time] datetime  NULL,
+[ship_name] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[ship_code] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[settle] bigint  NULL,
+[status] int  NULL,
+[create_by] bigint  NULL,
+[create_time] datetime  NULL,
+[update_by] bigint  NULL,
+[update_time] datetime  NULL,
+[memo] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[move_status] int  NULL,
+[pakin_pakout_status] int DEFAULT ((2)) NULL,
+[monthly_settle_id] bigint DEFAULT NULL NULL,
+[monthly_settle_no] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT NULL NULL
+)
+ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[man_order_log_pakout] SET (LOCK_ESCALATION = TABLE)
+GO
+
+CREATE NONCLUSTERED INDEX [idx_monthly_settle_id]
+ON [dbo].[man_order_log_pakout] (
+[monthly_settle_id] ASC
+)
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'ID',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'缂栧彿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'uuid'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'璁㈠崟缂栧彿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'order_no'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍗曟嵁鏃ユ湡',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'order_time'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍗曟嵁绫诲瀷[man_doc_type]',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'doc_type'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'椤圭洰缂栧彿[man_item]',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'item_id'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'璋冩嫧椤圭洰缂栧彿[man_item]',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'allot_item_id'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍒濆绁ㄦ嵁鍙�',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'def_number'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'绁ㄦ嵁鍙�',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'number'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'瀹㈡埛缂栧彿[man_cstmr]',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'cstmr'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'瀹㈡埛',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'cstmr_name'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鑱旂郴鏂瑰紡',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'tel'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鎿嶄綔浜哄憳',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'oper_memb'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍚堣閲戦',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'total_fee'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'浼樻儬鐜�',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'discount'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'浼樻儬閲戦',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'discount_fee'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'閿�鍞垨閲囪喘璐圭敤鍚堣',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'other_fee'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'瀹炰粯閲戦',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'act_fee'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'浠樻绫诲瀷{1:鐜伴噾,2:璁拌处}',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'pay_type'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'涓氬姟鍛�',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'salesman'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'缁撶畻澶╂暟',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'account_day'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'閭垂鏀粯绫诲瀷{1:鍦ㄧ嚎鏀粯,2:璐у埌浠樻}',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'post_fee_type'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'閭垂',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'post_fee'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'浠樻鏃堕棿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'pay_time'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍙戣揣鏃堕棿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'send_time'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鐗╂祦鍚嶇О',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'ship_name'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鐗╂祦鍗曞彿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'ship_code'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'璁㈠崟鐘舵�乕man_order_settle]',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'settle'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鐘舵�亄1:姝e父,0:绂佺敤}',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'status'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'娣诲姞浜哄憳[sys_user]',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'create_by'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'娣诲姞鏃堕棿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'create_time'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'淇敼浜哄憳[sys_user]',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'update_by'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'淇敼鏃堕棿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'update_time'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'澶囨敞',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'memo'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍏ュ嚭搴撶被鍨嬶紙0锛氭湭鐭ワ紝1锛氬叆搴擄紝2锛氬嚭搴擄級',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'pakin_pakout_status'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鏈堢粨ID',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'monthly_settle_id'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鏈堢粨缂栧彿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakout',
+'COLUMN', N'monthly_settle_no'
+
+
+
+CREATE TABLE [dbo].[man_order_log_pakin] (
+[id] bigint  NOT NULL,
+[uuid] varchar(255) COLLATE Chinese_PRC_CI_AS  NOT NULL,
+[order_no] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[order_time] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[doc_type] bigint  NULL,
+[item_id] bigint  NULL,
+[item_name] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[allot_item_id] bigint  NULL,
+[def_number] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[number] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[cstmr] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[cstmr_name] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[tel] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[oper_memb] varchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
+[total_fee] decimal(24,9)  NULL,
+[discount] decimal(24,9)  NULL,
+[discount_fee] decimal(24,9)  NULL,
+[other_fee] decimal(24,9)  NULL,
+[act_fee] decimal(24,9)  NULL,
+[pay_type] int  NULL,
+[salesman] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[account_day] int  NULL,
+[post_fee_type] int  NULL,
+[post_fee] decimal(24,9)  NULL,
+[pay_time] datetime  NULL,
+[send_time] datetime  NULL,
+[ship_name] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[ship_code] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[settle] bigint  NULL,
+[status] int  NULL,
+[create_by] bigint  NULL,
+[create_time] datetime  NULL,
+[update_by] bigint  NULL,
+[update_time] datetime  NULL,
+[memo] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[move_status] int  NULL,
+[pakin_pakout_status] int DEFAULT ((1)) NULL,
+[monthly_settle_id] bigint DEFAULT NULL NULL,
+[monthly_settle_no] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT NULL NULL
+)
+ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[man_order_log_pakin] SET (LOCK_ESCALATION = TABLE)
+GO
+
+CREATE NONCLUSTERED INDEX [idx_monthly_settle_id]
+ON [dbo].[man_order_log_pakin] (
+[monthly_settle_id] ASC
+)
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'ID',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'缂栧彿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'uuid'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'璁㈠崟缂栧彿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'order_no'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍗曟嵁鏃ユ湡',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'order_time'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍗曟嵁绫诲瀷[man_doc_type]',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'doc_type'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'椤圭洰缂栧彿[man_item]',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'item_id'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'璋冩嫧椤圭洰缂栧彿[man_item]',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'allot_item_id'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍒濆绁ㄦ嵁鍙�',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'def_number'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'绁ㄦ嵁鍙�',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'number'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'瀹㈡埛缂栧彿[man_cstmr]',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'cstmr'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'瀹㈡埛',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'cstmr_name'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鑱旂郴鏂瑰紡',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'tel'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鎿嶄綔浜哄憳',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'oper_memb'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍚堣閲戦',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'total_fee'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'浼樻儬鐜�',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'discount'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'浼樻儬閲戦',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'discount_fee'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'閿�鍞垨閲囪喘璐圭敤鍚堣',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'other_fee'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'瀹炰粯閲戦',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'act_fee'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'浠樻绫诲瀷{1:鐜伴噾,2:璁拌处}',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'pay_type'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'涓氬姟鍛�',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'salesman'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'缁撶畻澶╂暟',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'account_day'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'閭垂鏀粯绫诲瀷{1:鍦ㄧ嚎鏀粯,2:璐у埌浠樻}',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'post_fee_type'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'閭垂',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'post_fee'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'浠樻鏃堕棿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'pay_time'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍙戣揣鏃堕棿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'send_time'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鐗╂祦鍚嶇О',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'ship_name'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鐗╂祦鍗曞彿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'ship_code'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'璁㈠崟鐘舵�乕man_order_settle]',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'settle'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鐘舵�亄1:姝e父,0:绂佺敤}',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'status'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'娣诲姞浜哄憳[sys_user]',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'create_by'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'娣诲姞鏃堕棿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'create_time'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'淇敼浜哄憳[sys_user]',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'update_by'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'淇敼鏃堕棿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'update_time'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'澶囨敞',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'memo'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍏ュ嚭搴撶被鍨嬶紙0锛氭湭鐭ワ紝1锛氬叆搴擄紝2锛氬嚭搴擄級',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'pakin_pakout_status'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鏈堢粨ID',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'monthly_settle_id'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鏈堢粨缂栧彿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_log_pakin',
+'COLUMN', N'monthly_settle_no'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+CREATE TABLE [dbo].[man_order_detl_log_pakin] (
+[id] bigint  NOT NULL,
+[order_id] bigint  NOT NULL,
+[order_no] varchar(255) COLLATE Chinese_PRC_CI_AS  NOT NULL,
+[anfme] decimal(24,9) DEFAULT ((1)) NOT NULL,
+[qty] decimal(24,9) DEFAULT ((0)) NOT NULL,
+[matnr] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[maktx] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[batch] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[specs] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[model] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[color] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[brand] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[unit] varchar(50) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[price] decimal(24,9) DEFAULT ((1)) NOT NULL,
+[sku] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[units] decimal(24,9) DEFAULT ((1)) NOT NULL,
+[barcode] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[origin] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[manu] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[manu_date] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[item_num] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[safe_qty] decimal(24,9) DEFAULT ((999999)) NOT NULL,
+[weight] decimal(24,9) DEFAULT ((9999)) NOT NULL,
+[man_length] decimal(24,9) DEFAULT ((9999)) NOT NULL,
+[volume] decimal(24,9) DEFAULT ((9999)) NOT NULL,
+[three_code] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[supp] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[supp_code] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[be_batch] int DEFAULT ((0)) NOT NULL,
+[dead_time] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[dead_warn] int DEFAULT ((9999)) NOT NULL,
+[source] int DEFAULT ((0)) NOT NULL,
+[inspect] int DEFAULT ((0)) NOT NULL,
+[danger] int DEFAULT ((0)) NOT NULL,
+[status] int DEFAULT ((1)) NOT NULL,
+[create_by] bigint  NULL,
+[create_time] datetime  NULL,
+[update_by] bigint  NULL,
+[update_time] datetime  NULL,
+[memo] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NULL,
+[work_qty] decimal(24,9) DEFAULT ((0)) NULL,
+[qr_code] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[start_date] datetime  NULL,
+[end_date] datetime  NULL,
+[pakin_pakout_status] int DEFAULT ((1)) NOT NULL,
+[line_number] bigint DEFAULT ((1)) NOT NULL,
+[standby1] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NULL,
+[standby2] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NULL,
+[standby3] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NULL,
+[box_type1] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT ('1') NULL,
+[box_type2] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT ('1') NULL,
+[box_type3] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT ('1') NULL
+)
+ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[man_order_detl_log_pakin] SET (LOCK_ESCALATION = TABLE)
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'ID',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'璁㈠崟鍐呯爜[man_order]',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'order_id'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍗曟嵁缂栧彿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'order_no'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鏁伴噺',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'anfme'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍟嗗搧缂栫爜',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'matnr'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍟嗗搧鍚嶇О',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'maktx'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鎵瑰彿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'batch'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'瑙勬牸',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'specs'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍨嬪彿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'model'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'棰滆壊',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'color'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍝佺墝',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'brand'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍗曚綅',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'unit'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍗曚环',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'price'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'sku',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'sku'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍗曚綅閲�',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'units'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鏉$爜',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'barcode'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'浜у湴',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'origin'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍘傚',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'manu'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鐢熶骇鏃ユ湡',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'manu_date'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍝侀」鏁�',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'item_num'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'瀹夊叏搴撳瓨閲�',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'safe_qty'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'閲嶉噺',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'weight'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'闀垮害',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'man_length'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'浣撶Н',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'volume'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'涓夋柟缂栫爜',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'three_code'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'渚涘簲鍟�',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'supp'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'渚涘簲鍟嗙紪鐮�',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'supp_code'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鏄惁鎵规{1:鏄�,0:鍚',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'be_batch'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'淇濊川鏈�',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'dead_time'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'棰勮澶╂暟',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'dead_warn'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍒惰喘{1:鍒堕��,2:閲囪喘,3:澶栧崗}',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'source'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'瑕佹眰妫�楠寋1:鏄�,0:鍚',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'inspect'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍗遍櫓鍝亄1:鏄�,0:鍚',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'danger'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鐘舵�亄1:姝e父,0:绂佺敤}',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'status'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'娣诲姞浜哄憳[sys_user]',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'create_by'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'娣诲姞鏃堕棿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'create_time'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'淇敼浜哄憳[sys_user]',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'update_by'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'淇敼鏃堕棿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'update_time'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'澶囨敞',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'memo'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鏉″舰鐮�',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'qr_code'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鏀跺嵎寮�濮嬫棩鏈�',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'start_date'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鏀跺嵎缁撴潫鏃ユ湡',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'end_date'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍏ュ嚭搴撶被鍨嬶紙0锛氭湭鐭ワ紝1锛氬叆搴擄紝2锛氬嚭搴擄級',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'pakin_pakout_status'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'琛屽彿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakin',
+'COLUMN', N'line_number'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+CREATE TABLE [dbo].[man_order_detl_log_pakout] (
+[id] bigint  NOT NULL,
+[order_id] bigint  NOT NULL,
+[order_no] varchar(255) COLLATE Chinese_PRC_CI_AS  NOT NULL,
+[anfme] decimal(24,9) DEFAULT ((1)) NOT NULL,
+[qty] decimal(24,9) DEFAULT ((0)) NOT NULL,
+[matnr] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[maktx] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[batch] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[specs] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[model] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[color] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[brand] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[unit] varchar(50) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[price] decimal(24,9) DEFAULT ((1)) NOT NULL,
+[sku] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[units] decimal(24,9) DEFAULT ((1)) NOT NULL,
+[barcode] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[origin] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[manu] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[manu_date] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[item_num] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[safe_qty] decimal(24,9) DEFAULT ((999999)) NOT NULL,
+[weight] decimal(24,9) DEFAULT ((9999)) NOT NULL,
+[man_length] decimal(24,9) DEFAULT ((9999)) NOT NULL,
+[volume] decimal(24,9) DEFAULT ((9999)) NOT NULL,
+[three_code] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[supp] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[supp_code] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
+[be_batch] int DEFAULT ((0)) NOT NULL,
+[dead_time] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[dead_warn] int DEFAULT ((9999)) NOT NULL,
+[source] int DEFAULT ((0)) NOT NULL,
+[inspect] int DEFAULT ((0)) NOT NULL,
+[danger] int DEFAULT ((0)) NOT NULL,
+[status] int DEFAULT ((1)) NOT NULL,
+[create_by] bigint  NULL,
+[create_time] datetime  NULL,
+[update_by] bigint  NULL,
+[update_time] datetime  NULL,
+[memo] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NULL,
+[work_qty] decimal(24,9) DEFAULT ((0)) NULL,
+[qr_code] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
+[start_date] datetime  NULL,
+[end_date] datetime  NULL,
+[pakin_pakout_status] int DEFAULT ((2)) NOT NULL,
+[line_number] bigint DEFAULT ((1)) NOT NULL,
+[standby1] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NULL,
+[standby2] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NULL,
+[standby3] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NULL,
+[box_type1] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT ('1') NULL,
+[box_type2] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT ('1') NULL,
+[box_type3] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT ('1') NULL
+)
+ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[man_order_detl_log_pakout] SET (LOCK_ESCALATION = TABLE)
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'ID',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'璁㈠崟鍐呯爜[man_order]',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'order_id'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍗曟嵁缂栧彿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'order_no'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鏁伴噺',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'anfme'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍟嗗搧缂栫爜',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'matnr'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍟嗗搧鍚嶇О',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'maktx'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鎵瑰彿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'batch'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'瑙勬牸',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'specs'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍨嬪彿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'model'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'棰滆壊',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'color'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍝佺墝',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'brand'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍗曚綅',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'unit'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍗曚环',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'price'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'sku',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'sku'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍗曚綅閲�',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'units'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鏉$爜',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'barcode'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'浜у湴',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'origin'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍘傚',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'manu'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鐢熶骇鏃ユ湡',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'manu_date'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍝侀」鏁�',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'item_num'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'瀹夊叏搴撳瓨閲�',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'safe_qty'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'閲嶉噺',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'weight'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'闀垮害',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'man_length'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'浣撶Н',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'volume'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'涓夋柟缂栫爜',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'three_code'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'渚涘簲鍟�',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'supp'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'渚涘簲鍟嗙紪鐮�',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'supp_code'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鏄惁鎵规{1:鏄�,0:鍚',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'be_batch'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'淇濊川鏈�',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'dead_time'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'棰勮澶╂暟',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'dead_warn'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍒惰喘{1:鍒堕��,2:閲囪喘,3:澶栧崗}',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'source'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'瑕佹眰妫�楠寋1:鏄�,0:鍚',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'inspect'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍗遍櫓鍝亄1:鏄�,0:鍚',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'danger'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鐘舵�亄1:姝e父,0:绂佺敤}',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'status'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'娣诲姞浜哄憳[sys_user]',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'create_by'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'娣诲姞鏃堕棿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'create_time'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'淇敼浜哄憳[sys_user]',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'update_by'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'淇敼鏃堕棿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'update_time'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'澶囨敞',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'memo'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鏉″舰鐮�',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'qr_code'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鏀跺嵎寮�濮嬫棩鏈�',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'start_date'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鏀跺嵎缁撴潫鏃ユ湡',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'end_date'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'鍏ュ嚭搴撶被鍨嬶紙0锛氭湭鐭ワ紝1锛氬叆搴擄紝2锛氬嚭搴擄級',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'pakin_pakout_status'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'琛屽彿',
+'SCHEMA', N'dbo',
+'TABLE', N'man_order_detl_log_pakout',
+'COLUMN', N'line_number'
\ No newline at end of file
diff --git a/src/main/webapp/static/js/orderPakinLog/order.js b/src/main/webapp/static/js/orderPakinLog/order.js
new file mode 100644
index 0000000..0bc0366
--- /dev/null
+++ b/src/main/webapp/static/js/orderPakinLog/order.js
@@ -0,0 +1,219 @@
+var insTbCount = 0;
+layui.config({
+    base: baseUrl + "/static/layui/lay/modules/"
+}).use(['layer', 'form', 'table', 'util', 'admin', 'laydate'], function () {
+    var $ = layui.jquery;
+    var layer = layui.layer;
+    var form = layui.form;
+    var table = layui.table;
+    var util = layui.util;
+    var admin = layui.admin;
+    var layDate = layui.laydate;
+    var laytpl = layui.laytpl;
+
+    // 娓叉煋鎼滅储妯℃澘
+    $.ajax({
+        url: baseUrl + "/docType/list/auth",
+        headers: { 'token': localStorage.getItem('token') },
+        data: {
+            limit: 9999,
+            pakin: 1
+        },
+        method: 'POST',
+        success: function (res) {
+            if (res.code === 200) {
+                let template = Handlebars.compile($('#docTypeTpl').html());
+                $('#docType-query').html(template(res.data));
+                layui.form.render('select');
+            } else if (res.code === 403) {
+                top.location.href = baseUrl + "/";
+            } else {
+                layer.msg(res.msg, { icon: 2 })
+            }
+        }
+    })
+
+    // 娓叉煋琛ㄦ牸
+    var insTb = table.render({
+        elem: '#order',
+        url: baseUrl + '/order/pakinLog/order/head/page/auth',
+        method: 'POST',
+        headers: { token: localStorage.getItem('token') },
+        page: true,
+        cellMinWidth: 100,
+        cols: [[
+            { type: 'numbers' },
+            { field: 'orderNo', title: '鍗曟嵁缂栧彿', templet: '#orderNoTpl' },
+            { field: 'orderTime', align: 'center', title: '涓氬姟鏃堕棿', },
+            { field: 'cstmrName', align: 'center', title: '瀹㈡埛', },
+            { field: 'docType$', align: 'center', title: '绫诲瀷', minWidth: 160, width: 160 },
+            { align: 'center', title: '鏄庣粏', toolbar: '#tbLook', minWidth: 160, width: 160 },
+            { field: 'createTime$', title: '鍒涘缓鏃堕棿', minWidth: 200, width: 200 },
+            { field: 'settle$', align: 'center', title: '鐘舵��', templet: '#settleTpl', minWidth: 160, width: 160 },
+            { field: 'memo', align: 'center', title: '澶囨敞', hide: true }
+        ]],
+        request: {
+            pageName: 'curr',
+            pageSize: 'limit'
+        },
+        parseData: function (res) {
+            return {
+                'code': res.code,
+                'msg': res.msg,
+                'count': res.data.total,
+                'data': res.data.records
+            }
+        },
+        response: {
+            statusCode: 200
+        },
+        done: function (res, curr, count) {
+            limit();
+            if (res.code === 403) {
+                top.location.href = baseUrl + "/";
+            }
+            insTbCount = count;
+        }
+    });
+
+    // 鎼滅储
+    form.on('submit(tbSearch)', function (data) {
+        insTb.reload({ where: data.field, page: { curr: 1 } });
+    });
+
+    // 宸ュ叿鏉$偣鍑讳簨浠�
+    table.on('tool(order)', function (obj) {
+        var data = obj.data;
+        var layEvent = obj.event;
+        if (layEvent === 'wrkTrace') {
+            showWrkTrace(data.id);
+        } else if (layEvent === 'look') {
+            var $a = $(obj.tr).find('a[lay-event="look"]');
+            var offset = $a.offset();
+            var top = offset.top;
+            var left = offset.left;
+            layer.open({
+                type: 1,
+                title: false,
+                area: '820px',
+                offset: [top + 'px', (left - 530 + $a.outerWidth()) + 'px'],
+                shade: .01,
+                shadeClose: true,
+                fixed: false,
+                content: '<table id="lookSSXMTable" lay-filter="lookSSXMTable"></table>',
+                success: function (layero) {
+                    table.render({
+                        elem: '#lookSSXMTable',
+                        method: 'POST',
+                        headers: { token: localStorage.getItem('token') },
+                        url: baseUrl + '/order/pakinLog/orderDetl/list/auth',
+                        where: {
+                            order_id: data.id
+                        },
+                        page: true,
+                        cellMinWidth: 100,
+                        cols: [[
+                            { type: 'numbers' },
+                            { field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160 },
+                            { field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160 },
+                            { field: 'batch', title: '鎵瑰彿' },
+                            { field: 'anfme', title: '鏁伴噺' },
+                            { field: 'workQty', title: '浣滀笟鏁伴噺' },
+                            { field: 'qty', title: '瀹屾垚鏁伴噺', style: 'font-weight: bold' },
+                            { field: 'specs', title: '瑙勬牸' }
+                        ]],
+                        request: {
+                            pageName: 'curr',
+                            pageSize: 'limit'
+                        },
+                        parseData: function (res) {
+                            return {
+                                'code': res.code,
+                                'msg': res.msg,
+                                'count': res.data.total,
+                                'data': res.data.records
+                            }
+                        },
+                        response: {
+                            statusCode: 200
+                        },
+                        done: function () {
+                            $(layero).find('.layui-table-view').css('margin', '0');
+                        },
+                        size: ''
+                    });
+                }
+            });
+        }
+    });
+
+    // 浠诲姟杩芥函
+    function showWrkTrace(orderId) {
+        let loadIndex = layer.msg('璇锋眰涓�...', { icon: 16, shade: 0.01, time: false });
+        $.ajax({
+            url: baseUrl + "/order/pakinLog/order/wrk/trace/auth",
+            headers: { 'token': localStorage.getItem('token') },
+            data: {
+                orderId: orderId
+            },
+            method: 'POST',
+            success: function (res) {
+                layer.close(loadIndex);
+                if (res.code === 200) {
+                    laytpl(wrkTraceDialog.innerHTML).render(res.data, function (html) {
+                        admin.open({
+                            type: 1,
+                            title: '浠诲姟杩芥函',
+                            area: ['800px', '450px'],
+                            shadeClose: true,
+                            content: html,
+                            success: function (layero, dIndex) {
+                                $(layero).children('.layui-layer-content').css('overflow', 'visible');
+                                /** 缁熻鍥捐〃 */
+                                var traceCharts = echarts.init(document.getElementById('wrkTraceCharts'));
+                                var traceOptions = {
+                                    title: {
+                                        text: '鎬婚噺/浣滀笟/瀹屾垚', x: 'center', y: '38%',
+                                        textStyle: { fontSize: 18, color: '#262626', fontWeight: 'normal' },
+                                        subtextStyle: { fontSize: 36, color: '#10B4E8' },
+                                        itemGap: 20
+                                    },
+                                    color: ['#10B4E8', '#E0E0E0', '#FF0000'],
+                                    tooltip: { trigger: 'item' },
+                                    series: [{ name: '鏁伴噺', type: 'pie', radius: ['75%', '80%'], label: { normal: { show: false } } }]
+                                };
+                                traceCharts.setOption(traceOptions);
+                                // 璧嬪��
+                                traceCharts.setOption({
+                                    title: {
+                                        subtext: res.data.totalQty + "/" + res.data.wrkQty + "/" + res.data.endQty
+                                    },
+                                    series: [
+                                        {
+                                            data: [
+                                                { name: '宸蹭綔涓�', value: res.data.wrkQty },
+                                                { name: '鏈綔涓�', value: res.data.totalQty - res.data.wrkQty - res.data.lackQty },
+                                                { name: '搴撳瓨涓嶈冻', value: res.data.lackQty },
+                                            ]
+                                        }
+                                    ]
+                                });
+                            }
+                        });
+                    });
+                } else if (res.code === 403) {
+                    top.location.href = baseUrl + "/";
+                } else {
+                    layer.msg(res.msg, { icon: 2 });
+                }
+            }
+        })
+    }
+
+    layDate.render({
+        elem: '.layui-laydate-range'
+        , type: 'datetime'
+        , range: true
+    });
+});
+
diff --git a/src/main/webapp/static/js/orderPakoutLog/order.js b/src/main/webapp/static/js/orderPakoutLog/order.js
new file mode 100644
index 0000000..6571042
--- /dev/null
+++ b/src/main/webapp/static/js/orderPakoutLog/order.js
@@ -0,0 +1,219 @@
+var insTbCount = 0;
+layui.config({
+    base: baseUrl + "/static/layui/lay/modules/"
+}).use(['layer', 'form', 'table', 'util', 'admin', 'laydate'], function () {
+    var $ = layui.jquery;
+    var layer = layui.layer;
+    var form = layui.form;
+    var table = layui.table;
+    var util = layui.util;
+    var admin = layui.admin;
+    var layDate = layui.laydate;
+    var laytpl = layui.laytpl;
+
+    // 娓叉煋鎼滅储妯℃澘
+    $.ajax({
+        url: baseUrl + "/docType/list/auth",
+        headers: { 'token': localStorage.getItem('token') },
+        data: {
+            limit: 9999,
+            pakout: 1
+        },
+        method: 'POST',
+        success: function (res) {
+            if (res.code === 200) {
+                let template = Handlebars.compile($('#docTypeTpl').html());
+                $('#docType-query').html(template(res.data));
+                layui.form.render('select');
+            } else if (res.code === 403) {
+                top.location.href = baseUrl + "/";
+            } else {
+                layer.msg(res.msg, { icon: 2 })
+            }
+        }
+    })
+
+    // 娓叉煋琛ㄦ牸
+    var insTb = table.render({
+        elem: '#order',
+        url: baseUrl + '/order/pakoutLog/order/head/page/auth',
+        method: 'POST',
+        headers: { token: localStorage.getItem('token') },
+        page: true,
+        cellMinWidth: 100,
+        cols: [[
+            { type: 'numbers' },
+            { field: 'orderNo', title: '鍗曟嵁缂栧彿', templet: '#orderNoTpl' },
+            { field: 'orderTime', align: 'center', title: '涓氬姟鏃堕棿' },
+            { field: 'cstmrName', align: 'center', title: '瀹㈡埛' },
+            { field: 'docType$', align: 'center', title: '绫诲瀷', minWidth: 160, width: 160 },
+            { align: 'center', title: '鏄庣粏', toolbar: '#tbLook', minWidth: 160, width: 160 },
+            { field: 'createTime$', title: '鍒涘缓鏃堕棿', minWidth: 200, width: 200 },
+            { field: 'settle$', align: 'center', title: '鐘舵��', templet: '#settleTpl', minWidth: 160, width: 160 },
+            { field: 'memo', align: 'center', title: '澶囨敞', hide: true }
+        ]],
+        request: {
+            pageName: 'curr',
+            pageSize: 'limit'
+        },
+        parseData: function (res) {
+            return {
+                'code': res.code,
+                'msg': res.msg,
+                'count': res.data.total,
+                'data': res.data.records
+            }
+        },
+        response: {
+            statusCode: 200
+        },
+        done: function (res, curr, count) {
+            limit();
+            if (res.code === 403) {
+                top.location.href = baseUrl + "/";
+            }
+            insTbCount = count;
+        }
+    });
+
+    // 鎼滅储
+    form.on('submit(tbSearch)', function (data) {
+        insTb.reload({ where: data.field, page: { curr: 1 } });
+    });
+
+    // 宸ュ叿鏉$偣鍑讳簨浠�
+    table.on('tool(order)', function (obj) {
+        var data = obj.data;
+        var layEvent = obj.event;
+        if (layEvent === 'wrkTrace') {
+            showWrkTrace(data.id);
+        } else if (layEvent === 'look') {
+            var $a = $(obj.tr).find('a[lay-event="look"]');
+            var offset = $a.offset();
+            var top = offset.top;
+            var left = offset.left;
+            layer.open({
+                type: 1,
+                title: false,
+                area: '820px',
+                offset: [top + 'px', (left - 530 + $a.outerWidth()) + 'px'],
+                shade: .01,
+                shadeClose: true,
+                fixed: false,
+                content: '<table id="lookSSXMTable" lay-filter="lookSSXMTable"></table>',
+                success: function (layero) {
+                    table.render({
+                        elem: '#lookSSXMTable',
+                        method: 'POST',
+                        headers: { token: localStorage.getItem('token') },
+                        url: baseUrl + '/order/pakoutLog/orderDetl/list/auth',
+                        where: {
+                            order_id: data.id
+                        },
+                        page: true,
+                        cellMinWidth: 100,
+                        cols: [[
+                            { type: 'numbers' },
+                            { field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160 },
+                            { field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160 },
+                            { field: 'batch', title: '鎵瑰彿' },
+                            { field: 'anfme', title: '鏁伴噺' },
+                            { field: 'workQty', title: '浣滀笟鏁伴噺' },
+                            { field: 'qty', title: '瀹屾垚鏁伴噺', style: 'font-weight: bold' },
+                            { field: 'specs', title: '瑙勬牸' }
+                        ]],
+                        request: {
+                            pageName: 'curr',
+                            pageSize: 'limit'
+                        },
+                        parseData: function (res) {
+                            return {
+                                'code': res.code,
+                                'msg': res.msg,
+                                'count': res.data.total,
+                                'data': res.data.records
+                            }
+                        },
+                        response: {
+                            statusCode: 200
+                        },
+                        done: function () {
+                            $(layero).find('.layui-table-view').css('margin', '0');
+                        },
+                        size: ''
+                    });
+                }
+            });
+        }
+    });
+
+    // 浠诲姟杩芥函
+    function showWrkTrace(orderId) {
+        let loadIndex = layer.msg('璇锋眰涓�...', { icon: 16, shade: 0.01, time: false });
+        $.ajax({
+            url: baseUrl + "/order/pakoutLog/order/wrk/trace/auth",
+            headers: { 'token': localStorage.getItem('token') },
+            data: {
+                orderId: orderId
+            },
+            method: 'POST',
+            success: function (res) {
+                layer.close(loadIndex);
+                if (res.code === 200) {
+                    laytpl(wrkTraceDialog.innerHTML).render(res.data, function (html) {
+                        admin.open({
+                            type: 1,
+                            title: '浠诲姟杩芥函',
+                            area: ['800px', '450px'],
+                            shadeClose: true,
+                            content: html,
+                            success: function (layero, dIndex) {
+                                $(layero).children('.layui-layer-content').css('overflow', 'visible');
+                                /** 缁熻鍥捐〃 */
+                                var traceCharts = echarts.init(document.getElementById('wrkTraceCharts'));
+                                var traceOptions = {
+                                    title: {
+                                        text: '鎬婚噺/浣滀笟/瀹屾垚', x: 'center', y: '38%',
+                                        textStyle: { fontSize: 18, color: '#262626', fontWeight: 'normal' },
+                                        subtextStyle: { fontSize: 36, color: '#10B4E8' },
+                                        itemGap: 20
+                                    },
+                                    color: ['#10B4E8', '#E0E0E0', '#FF0000'],
+                                    tooltip: { trigger: 'item' },
+                                    series: [{ name: '鏁伴噺', type: 'pie', radius: ['75%', '80%'], label: { normal: { show: false } } }]
+                                };
+                                traceCharts.setOption(traceOptions);
+                                // 璧嬪��
+                                traceCharts.setOption({
+                                    title: {
+                                        subtext: res.data.totalQty + "/" + res.data.wrkQty + "/" + res.data.endQty
+                                    },
+                                    series: [
+                                        {
+                                            data: [
+                                                { name: '宸蹭綔涓�', value: res.data.wrkQty },
+                                                { name: '鏈綔涓�', value: res.data.totalQty - res.data.wrkQty - res.data.lackQty },
+                                                { name: '搴撳瓨涓嶈冻', value: res.data.lackQty },
+                                            ]
+                                        }
+                                    ]
+                                });
+                            }
+                        });
+                    });
+                } else if (res.code === 403) {
+                    top.location.href = baseUrl + "/";
+                } else {
+                    layer.msg(res.msg, { icon: 2 });
+                }
+            }
+        })
+    }
+
+    layDate.render({
+        elem: '.layui-laydate-range'
+        , type: 'datetime'
+        , range: true
+    });
+});
+
diff --git a/src/main/webapp/views/orderPakinLog/order.html b/src/main/webapp/views/orderPakinLog/order.html
new file mode 100644
index 0000000..fe2d881
--- /dev/null
+++ b/src/main/webapp/views/orderPakinLog/order.html
@@ -0,0 +1,233 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <!--[if lt IE 9]>
+    <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
+    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+    <![endif]-->
+    <style>
+        .wrk-trace {
+            color: green;
+            cursor: pointer;
+            margin-left: 6px;
+            font-size: 18px;
+        }
+
+        .layui-timeline:first-child .layui-timeline-item {
+            margin-top: 30px;
+        }
+    </style>
+</head>
+
+<body>
+
+    <!-- 姝f枃寮�濮� -->
+    <div class="layui-fluid">
+        <div class="layui-card">
+            <div class="layui-card-body">
+                <!-- 琛ㄦ牸椤堕儴宸ュ叿鏍� -->
+                <div class="layui-form toolbar">
+                    <div class="layui-form-item">
+                        <div class="layui-inline">
+                            <div class="layui-input-inline mr0">
+                                <input name="order_no" class="layui-input" type="text" placeholder="杈撳叆鍗曟嵁缂栧彿" />
+                            </div>
+                        </div>
+                        <div class="layui-inline" style="width: 300px">
+                            <div class="layui-input-inline">
+                                <input class="layui-input layui-laydate-range" name="create_time" type="text"
+                                    placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px">
+                            </div>
+                        </div>
+                        <div class="layui-inline">
+                            <div class="layui-input-inline">
+                                <select name="doc_type" id="docType-query">
+                                </select>
+                            </div>
+                        </div>
+                        <div class="layui-inline">
+                            <div class="layui-input-inline">
+                                <select name="settle">
+                                    <option value="">閫夋嫨鐘舵��</option>
+                                    <option value="1">寰呭鐞�</option>
+                                    <option value="2">浣滀笟涓�</option>
+                                    <option value="4">宸插畬鎴�</option>
+                                    <option value="6">涓婃姤瀹屾垚</option>
+                                </select>
+                            </div>
+                        </div>
+                        <div class="layui-inline">
+                            <button class="layui-btn icon-btn" lay-filter="tbSearch" lay-submit>
+                                <i class="layui-icon">&#xe615;</i>鎼滅储
+                            </button>
+                        </div>
+                    </div>
+                </div>
+                <table id="order" lay-filter="order"></table>
+            </div>
+        </div>
+        <div class="layui-card">
+            <div class="layui-card-body">
+                鍏ュ簱鍘嗗彶鍗曟嵁锛氭煡璇㈠凡瀹屾垚鐨勫叆搴撳崟鎹巻鍙茶褰曘��
+            </div>
+        </div>
+    </div>
+    <!-- 琛ㄦ牸鎿嶄綔鍒� -->
+    <script type="text/html" id="tbLook">
+    <span class="layui-text">
+        <a href="javascript:;" lay-event="look">
+            <i class="layui-icon" style="font-size: 12px;">&#xe61a;</i> 鏌ョ湅鍗曟嵁鏄庣粏
+        </a>
+    </span>
+</script>
+    <script type="text/html" id="orderNoTpl">
+    {{d.orderNo}}
+    {{# if(d.settle > 1 && d.settle !== 3){ }}
+    <i class="layui-icon layui-icon-about wrk-trace" lay-tips="鏌ョ湅浠诲姟杩芥函" lay-direction="2" lay-offset="-10px,0px" lay-event="wrkTrace"></i>
+    {{# } }}
+</script>
+
+    <script type="text/html" id="settleTpl">
+    <span name="settle"
+          {{# if( d.settle === 1){ }}
+          class="layui-badge layui-badge-red"
+          {{# }else if(d.settle === 2){ }}
+          class="layui-badge layui-badge-green"
+          {{# }else if(d.settle === 3){ }}
+          class="layui-badge layui-badge-gray"
+          {{# }else if(d.settle === 4){ }}
+          class="layui-badge layui-badge-blue"
+          {{# }else if(d.settle === 5){ }}
+          class="layui-badge layui-badge-gray"
+          {{# }else if(d.settle === 6){ }}
+          class="layui-badge layui-badge-gray"
+          {{# } }}
+    >{{d.settle$}}</span>
+</script>
+    <!-- 璁㈠崟浠诲姟杩芥函 -->
+    <script id="wrkTraceDialog" type="text/html" style="position: relative">
+    <div style="position: absolute; top: 0; left: 0;">
+        <div class="layui-card" style="overflow: hidden;">
+            <div class="layui-card-header" style="text-align: center;width: 80%;font-weight: inherit;font-size: 18px">{{ d.orderNo }}</div>
+            <div class="layui-card-body">
+                <div id="wrkTraceCharts" style="height: 300px;width: 400px;transform: translateX(-10%);"></div>
+            </div>
+        </div>
+    </div>
+    <div class="layui-row" >
+        <div class="layui-col-md5">
+            <h1 style="opacity: 0;">Hello World</h1>
+        </div>
+        <div  class="layui-col-md7" style="">
+            {{#  if(d.list.length > 0){ }}
+            <ul class="layui-timeline" style="height: 400px; overflow: scroll;">
+                {{#  layui.each(d.list, function(index, item){ }}
+                <li class="layui-timeline-item">
+                    <i class="layui-icon layui-timeline-axis">&#xe63f;</i>
+                    <div class="layui-timeline-content layui-text">
+                        <div class="layui-timeline-title">
+                            <h3 class="inline-block">
+                                {{ item.wrkNo }}&nbsp;
+
+                                {{#  if(item.wrkMast.ioType < 100){ }}
+                                <span class="layui-badge layui-bg-blue" style="line-height: 20px;">
+                                 {{ item.wrkMast.ioType$ }}&nbsp;
+                                </span>
+                                {{#  } }}
+
+                                {{#  if(item.wrkMast.ioType > 100){ }}
+                                <span class="layui-badge layui-bg-orange" style="line-height: 20px;">
+                                  {{ item.wrkMast.ioType$ }}&nbsp;
+                                </span>
+                                {{#  } }}
+
+
+                                {{#  if(item.wrkMast.wrkSts < 14){ }}
+                                <span class="layui-badge layui-bg-red" style="line-height: 20px;">
+                                    {{ item.wrkMast.wrkSts$ }}&nbsp;
+                                </span>
+                                {{#  } }}
+
+                                {{#  if(item.wrkMast.wrkSts >= 14){ }}
+                                <span class="layui-badge layui-bg-green" style="line-height: 20px;">
+                                    {{ item.wrkMast.wrkSts$ }}&nbsp;
+                                </span>
+                                {{#  } }}
+
+                            </h3>&emsp;
+                            {{ item.wrkMast.ioTime$ }}
+                        </div>
+
+                        <table class="layui-table" lay-skin="nob" style="width: 80%">
+                            <tbody>
+                            {{#  layui.each(item.wrkDetls, function(idx, wrkDetl){ }}
+                            <tr style="background: none">
+                                <td>No.</td>
+                                <td><span class="layui-badge layui-bg-cyan">{{ idx+1 }}</span></td>
+                            </tr>
+                            <tr style="background: none">
+                                <td>鍝佸彿锛�</td>
+                                <td>{{ wrkDetl.matnr }}</td>
+                            </tr>
+                            <tr style="background: none">
+                                <td>鍝佸悕锛�</td>
+                                <td>{{ wrkDetl.maktx }}</td>
+                            </tr>
+                            <tr style="background: none">
+                                <td>瑙勬牸锛�</td>
+                                <td>{{ wrkDetl.specs }}</td>
+                            </tr>
+                            <tr style="background: none">
+                                <td>鏁伴噺锛�</td>
+                                <td style="font-weight: bold">{{ wrkDetl.anfme }}</td>
+                            </tr>
+                            <tr style="background: none">
+                                <td>鏉$爜锛�</td>
+                                <td style="font-weight: bold">{{ wrkDetl.zpallet }}</td>
+                            </tr>
+                            {{#  }); }}
+                            </tbody>
+                        </table>
+
+                        <hr class="layui-border-cyan" style="width: 90%; opacity: .6;">
+                    </div>
+                </li>
+                {{#  }); }}
+            </ul>
+            {{#  } else { }}
+            <div style="height: 350px;display: flex;justify-content: center;align-items: center;">
+                <h2 style="font-weight: bold;letter-spacing: 2px">鏆傛棤浠诲姟</h2>
+            </div>
+            {{#  } }}
+        </div>
+    </div>
+
+
+</script>
+    <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+    <script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
+    <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+    <script type="text/javascript" src="../../static/js/echarts/echarts.min.js" charset="utf-8"></script>
+    <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+    <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+    <script type="text/javascript" src="../../static/js/orderPakinLog/order.js" charset="utf-8"></script>
+
+    <script type="text/template" id="docTypeTpl">
+    <option value="">閫夋嫨绫诲瀷</option>
+    {{#each records}}
+    <option value="{{docId}}">{{docName}}</option>
+    {{/each}}
+</script>
+</body>
+
+</html>
+
diff --git a/src/main/webapp/views/orderPakoutLog/order.html b/src/main/webapp/views/orderPakoutLog/order.html
new file mode 100644
index 0000000..9825a74
--- /dev/null
+++ b/src/main/webapp/views/orderPakoutLog/order.html
@@ -0,0 +1,233 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <!--[if lt IE 9]>
+    <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
+    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+    <![endif]-->
+    <style>
+        .wrk-trace {
+            color: green;
+            cursor: pointer;
+            margin-left: 6px;
+            font-size: 18px;
+        }
+
+        .layui-timeline:first-child .layui-timeline-item {
+            margin-top: 30px;
+        }
+    </style>
+</head>
+
+<body>
+
+    <!-- 姝f枃寮�濮� -->
+    <div class="layui-fluid">
+        <div class="layui-card">
+            <div class="layui-card-body">
+                <!-- 琛ㄦ牸椤堕儴宸ュ叿鏍� -->
+                <div class="layui-form toolbar">
+                    <div class="layui-form-item">
+                        <div class="layui-inline">
+                            <div class="layui-input-inline mr0">
+                                <input name="order_no" class="layui-input" type="text" placeholder="杈撳叆鍗曟嵁缂栧彿" />
+                            </div>
+                        </div>
+                        <div class="layui-inline" style="width: 300px">
+                            <div class="layui-input-inline">
+                                <input class="layui-input layui-laydate-range" name="create_time" type="text"
+                                    placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px">
+                            </div>
+                        </div>
+                        <div class="layui-inline">
+                            <div class="layui-input-inline">
+                                <select name="doc_type" id="docType-query">
+                                </select>
+                            </div>
+                        </div>
+                        <div class="layui-inline">
+                            <div class="layui-input-inline">
+                                <select name="settle">
+                                    <option value="">閫夋嫨鐘舵��</option>
+                                    <option value="1">寰呭鐞�</option>
+                                    <option value="2">浣滀笟涓�</option>
+                                    <option value="4">宸插畬鎴�</option>
+                                    <option value="6">涓婃姤瀹屾垚</option>
+                                </select>
+                            </div>
+                        </div>
+                        <div class="layui-inline">
+                            <button class="layui-btn icon-btn" lay-filter="tbSearch" lay-submit>
+                                <i class="layui-icon">&#xe615;</i>鎼滅储
+                            </button>
+                        </div>
+                    </div>
+                </div>
+                <table id="order" lay-filter="order"></table>
+            </div>
+        </div>
+        <div class="layui-card">
+            <div class="layui-card-body">
+                鍑哄簱鍘嗗彶鍗曟嵁锛氭煡璇㈠凡瀹屾垚鐨勫嚭搴撳崟鎹巻鍙茶褰曘��
+            </div>
+        </div>
+    </div>
+    <!-- 琛ㄦ牸鎿嶄綔鍒� -->
+    <script type="text/html" id="tbLook">
+    <span class="layui-text">
+        <a href="javascript:;" lay-event="look">
+            <i class="layui-icon" style="font-size: 12px;">&#xe61a;</i> 鏌ョ湅鍗曟嵁鏄庣粏
+        </a>
+    </span>
+</script>
+    <script type="text/html" id="orderNoTpl">
+    {{d.orderNo}}
+    {{# if(d.settle > 1 && d.settle !== 3){ }}
+    <i class="layui-icon layui-icon-about wrk-trace" lay-tips="鏌ョ湅浠诲姟杩芥函" lay-direction="2" lay-offset="-10px,0px" lay-event="wrkTrace"></i>
+    {{# } }}
+</script>
+
+    <script type="text/html" id="settleTpl">
+    <span name="settle"
+          {{# if( d.settle === 1){ }}
+          class="layui-badge layui-badge-red"
+          {{# }else if(d.settle === 2){ }}
+          class="layui-badge layui-badge-green"
+          {{# }else if(d.settle === 3){ }}
+          class="layui-badge layui-badge-gray"
+          {{# }else if(d.settle === 4){ }}
+          class="layui-badge layui-badge-blue"
+          {{# }else if(d.settle === 5){ }}
+          class="layui-badge layui-badge-gray"
+          {{# }else if(d.settle === 6){ }}
+          class="layui-badge layui-badge-gray"
+          {{# } }}
+    >{{d.settle$}}</span>
+</script>
+    <!-- 璁㈠崟浠诲姟杩芥函 -->
+    <script id="wrkTraceDialog" type="text/html" style="position: relative">
+    <div style="position: absolute; top: 0; left: 0;">
+        <div class="layui-card" style="overflow: hidden;">
+            <div class="layui-card-header" style="text-align: center;width: 80%;font-weight: inherit;font-size: 18px">{{ d.orderNo }}</div>
+            <div class="layui-card-body">
+                <div id="wrkTraceCharts" style="height: 300px;width: 400px;transform: translateX(-10%);"></div>
+            </div>
+        </div>
+    </div>
+    <div class="layui-row" >
+        <div class="layui-col-md5">
+            <h1 style="opacity: 0;">Hello World</h1>
+        </div>
+        <div  class="layui-col-md7" style="">
+            {{#  if(d.list.length > 0){ }}
+            <ul class="layui-timeline" style="height: 400px; overflow: scroll;">
+                {{#  layui.each(d.list, function(index, item){ }}
+                <li class="layui-timeline-item">
+                    <i class="layui-icon layui-timeline-axis">&#xe63f;</i>
+                    <div class="layui-timeline-content layui-text">
+                        <div class="layui-timeline-title">
+                            <h3 class="inline-block">
+                                {{ item.wrkNo }}&nbsp;
+
+                                {{#  if(item.wrkMast.ioType < 100){ }}
+                                <span class="layui-badge layui-bg-blue" style="line-height: 20px;">
+                                 {{ item.wrkMast.ioType$ }}&nbsp;
+                                </span>
+                                {{#  } }}
+
+                                {{#  if(item.wrkMast.ioType > 100){ }}
+                                <span class="layui-badge layui-bg-orange" style="line-height: 20px;">
+                                  {{ item.wrkMast.ioType$ }}&nbsp;
+                                </span>
+                                {{#  } }}
+
+
+                                {{#  if(item.wrkMast.wrkSts < 14){ }}
+                                <span class="layui-badge layui-bg-red" style="line-height: 20px;">
+                                    {{ item.wrkMast.wrkSts$ }}&nbsp;
+                                </span>
+                                {{#  } }}
+
+                                {{#  if(item.wrkMast.wrkSts >= 14){ }}
+                                <span class="layui-badge layui-bg-green" style="line-height: 20px;">
+                                    {{ item.wrkMast.wrkSts$ }}&nbsp;
+                                </span>
+                                {{#  } }}
+
+                            </h3>&emsp;
+                            {{ item.wrkMast.ioTime$ }}
+                        </div>
+
+                        <table class="layui-table" lay-skin="nob" style="width: 80%">
+                            <tbody>
+                            {{#  layui.each(item.wrkDetls, function(idx, wrkDetl){ }}
+                            <tr style="background: none">
+                                <td>No.</td>
+                                <td><span class="layui-badge layui-bg-cyan">{{ idx+1 }}</span></td>
+                            </tr>
+                            <tr style="background: none">
+                                <td>鍝佸彿锛�</td>
+                                <td>{{ wrkDetl.matnr }}</td>
+                            </tr>
+                            <tr style="background: none">
+                                <td>鍝佸悕锛�</td>
+                                <td>{{ wrkDetl.maktx }}</td>
+                            </tr>
+                            <tr style="background: none">
+                                <td>瑙勬牸锛�</td>
+                                <td>{{ wrkDetl.specs }}</td>
+                            </tr>
+                            <tr style="background: none">
+                                <td>鏁伴噺锛�</td>
+                                <td style="font-weight: bold">{{ wrkDetl.anfme }}</td>
+                            </tr>
+                            <tr style="background: none">
+                                <td>鏉$爜锛�</td>
+                                <td style="font-weight: bold">{{ wrkDetl.zpallet }}</td>
+                            </tr>
+                            {{#  }); }}
+                            </tbody>
+                        </table>
+
+                        <hr class="layui-border-cyan" style="width: 90%; opacity: .6;">
+                    </div>
+                </li>
+                {{#  }); }}
+            </ul>
+            {{#  } else { }}
+            <div style="height: 350px;display: flex;justify-content: center;align-items: center;">
+                <h2 style="font-weight: bold;letter-spacing: 2px">鏆傛棤浠诲姟</h2>
+            </div>
+            {{#  } }}
+        </div>
+    </div>
+
+
+</script>
+    <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+    <script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
+    <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+    <script type="text/javascript" src="../../static/js/echarts/echarts.min.js" charset="utf-8"></script>
+    <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+    <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+    <script type="text/javascript" src="../../static/js/orderPakoutLog/order.js" charset="utf-8"></script>
+
+    <script type="text/template" id="docTypeTpl">
+    <option value="">閫夋嫨绫诲瀷</option>
+    {{#each records}}
+    <option value="{{docId}}">{{docName}}</option>
+    {{/each}}
+</script>
+</body>
+
+</html>
+

--
Gitblit v1.9.1