From 6cc705d10d7d0366eb7aa4797acdf137e4b7576f Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期五, 26 五月 2023 16:36:38 +0800
Subject: [PATCH] #平库盘点完成

---
 src/main/java/locCheckLog.sql                                        |   18 
 src/main/webapp/static/js/locCheckLog/locCheckLog.js                 |  264 ++
 src/main/resources/mapper/LocCheckLogMapper.xml                      |  107 +
 src/main/webapp/static/js/orderCheckLog/orderCheckLog.js             |  695 +++++++
 src/main/java/com/zy/asrs/entity/OrderCheckLog.java                  |  460 +++++
 src/main/java/com/zy/asrs/controller/OrderCheckController.java       |  132 +
 src/main/java/com/zy/asrs/mapper/LocCheckLogMapper.java              |   34 
 src/main/java/com/zy/asrs/service/impl/LocCheckServiceImpl.java      |   20 
 src/main/java/com/zy/asrs/service/impl/OrderCheckLogServiceImpl.java |   42 
 src/main/resources/mapper/OrderCheckMapper.xml                       |   14 
 src/main/webapp/static/js/orderCheck/orderCheck.js                   |  222 ++
 src/main/java/com/zy/asrs/entity/LocCheck.java                       |   34 
 src/main/java/com/zy/asrs/task/OrderCheckScheduler.java              |   70 
 src/main/java/com/zy/asrs/entity/LocCheckLog.java                    |  189 ++
 src/main/java/com/zy/asrs/mapper/OrderCheckLogMapper.java            |   35 
 src/main/java/com/zy/asrs/controller/OrderCheckLogController.java    |  445 +++++
 src/main/webapp/views/orderCheckLog/orderCheckLog.html               |  374 ++++
 src/main/java/com/zy/asrs/service/LocCheckService.java               |    8 
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java        |    2 
 src/main/java/com/zy/asrs/service/impl/LocCheckTrimServiceImpl.java  |   53 
 src/main/java/locCheck.sql                                           |   18 
 src/main/java/com/zy/asrs/service/LocCheckLogService.java            |   25 
 src/main/java/com/zy/asrs/service/OrderCheckService.java             |    2 
 src/main/java/com/zy/asrs/service/impl/OrderCheckServiceImpl.java    |    5 
 src/main/java/locCheckTrim.sql                                       |   18 
 src/main/webapp/static/js/saasLog/saasLog.js                         |    2 
 src/main/java/com/zy/asrs/mapper/LocCheckMapper.java                 |    8 
 src/main/webapp/views/orderCheck/orderCheck.html                     |   61 
 src/main/java/com/zy/asrs/controller/LocCheckLogController.java      |  123 +
 src/main/java/com/zy/asrs/service/impl/LocCheckLogServiceImpl.java   |   58 
 src/main/resources/mapper/LocCheckTrimMapper.xml                     |  107 +
 src/main/webapp/views/locCheckLog/locCheckLog.html                   |  171 +
 src/main/webapp/views/locCheckTrim/locCheckTrim.html                 |   58 
 src/main/java/com/zy/asrs/service/LocCheckTrimService.java           |   23 
 src/main/resources/mapper/OrderCheckLogMapper.xml                    |   82 
 src/main/java/com/zy/asrs/entity/LocCheckTrim.java                   |  220 ++
 src/main/java/com/zy/asrs/task/handler/OrderCheckHandler.java        |   61 
 src/main/java/com/zy/common/CodeBuilder.java                         |    2 
 src/main/webapp/static/js/locCheckTrim/locCheckTrim.js               |  478 +++++
 src/main/java/com/zy/asrs/mapper/OrderCheckMapper.java               |    2 
 src/main/java/orderCheckLog.sql                                      |   18 
 src/main/java/orderCheck.sql                                         |   18 
 src/main/resources/mapper/LocCheckMapper.xml                         |   34 
 src/main/java/com/zy/asrs/controller/LocCheckTrimController.java     |  437 ++++
 src/main/java/com/zy/asrs/mapper/LocCheckTrimMapper.java             |   31 
 src/main/java/com/zy/asrs/service/OrderCheckLogService.java          |   14 
 46 files changed, 5,252 insertions(+), 42 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/LocCheckLogController.java b/src/main/java/com/zy/asrs/controller/LocCheckLogController.java
new file mode 100644
index 0000000..d3c3fa5
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/LocCheckLogController.java
@@ -0,0 +1,123 @@
+package com.zy.asrs.controller;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.core.common.DateUtils;
+import com.zy.asrs.entity.LocCheckLog;
+import com.zy.asrs.service.LocCheckLogService;
+import com.core.annotations.ManagerAuth;
+import com.core.common.BaseRes;
+import com.core.common.Cools;
+import com.core.common.R;
+import com.zy.common.web.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.*;
+
+@RestController
+public class LocCheckLogController extends BaseController {
+
+    @Autowired
+    private LocCheckLogService locCheckLogService;
+
+    @RequestMapping(value = "/locCheckLog/{id}/auth")
+    @ManagerAuth
+    public R get(@PathVariable("id") String id) {
+        return R.ok(locCheckLogService.selectById(String.valueOf(id)));
+    }
+
+    @RequestMapping(value = "/locCheckLog/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<LocCheckLog> wrapper = new EntityWrapper<>();
+        excludeTrash(param);
+        convert(param, wrapper);
+        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+        return R.ok(locCheckLogService.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);
+            }
+        }
+    }
+
+    @RequestMapping(value = "/locCheckLog/add/auth")
+    @ManagerAuth
+    public R add(LocCheckLog locCheckLog) {
+        locCheckLogService.insert(locCheckLog);
+        return R.ok();
+    }
+
+	@RequestMapping(value = "/locCheckLog/update/auth")
+	@ManagerAuth
+    public R update(LocCheckLog locCheckLog){
+        if (Cools.isEmpty(locCheckLog) || null==locCheckLog.getId()){
+            return R.error();
+        }
+        locCheckLogService.updateById(locCheckLog);
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/locCheckLog/delete/auth")
+    @ManagerAuth
+    public R delete(@RequestParam(value="ids[]") Long[] ids){
+         for (Long id : ids){
+            locCheckLogService.deleteById(id);
+        }
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/locCheckLog/export/auth")
+    @ManagerAuth
+    public R export(@RequestBody JSONObject param){
+        EntityWrapper<LocCheckLog> wrapper = new EntityWrapper<>();
+        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+        Map<String, Object> map = excludeTrash(param.getJSONObject("locCheckLog"));
+        convert(map, wrapper);
+        List<LocCheckLog> list = locCheckLogService.selectList(wrapper);
+        return R.ok(exportSupport(list, fields));
+    }
+
+    @RequestMapping(value = "/locCheckLogQuery/auth")
+    @ManagerAuth
+    public R query(String condition) {
+        EntityWrapper<LocCheckLog> wrapper = new EntityWrapper<>();
+        wrapper.like("id", condition);
+        Page<LocCheckLog> page = locCheckLogService.selectPage(new Page<>(0, 10), wrapper);
+        List<Map<String, Object>> result = new ArrayList<>();
+        for (LocCheckLog locCheckLog : page.getRecords()){
+            Map<String, Object> map = new HashMap<>();
+            map.put("id", locCheckLog.getId());
+            map.put("value", locCheckLog.getId());
+            result.add(map);
+        }
+        return R.ok(result);
+    }
+
+    @RequestMapping(value = "/locCheckLog/check/column/auth")
+    @ManagerAuth
+    public R query(@RequestBody JSONObject param) {
+        Wrapper<LocCheckLog> wrapper = new EntityWrapper<LocCheckLog>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
+        if (null != locCheckLogService.selectOne(wrapper)){
+            return R.parse(BaseRes.REPEAT).add(getComment(LocCheckLog.class, String.valueOf(param.get("key"))));
+        }
+        return R.ok();
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/controller/LocCheckTrimController.java b/src/main/java/com/zy/asrs/controller/LocCheckTrimController.java
new file mode 100644
index 0000000..95e0652
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/LocCheckTrimController.java
@@ -0,0 +1,437 @@
+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.core.common.SnowflakeIdWorker;
+import com.zy.asrs.entity.LocCheckLog;
+import com.zy.asrs.entity.LocCheckTrim;
+import com.zy.asrs.entity.OrderCheckLog;
+import com.zy.asrs.service.*;
+import com.zy.common.web.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+@RestController
+public class LocCheckTrimController extends BaseController {
+
+    @Autowired
+    private OrderService orderService;
+    @Autowired
+    private OrderDetlService orderDetlService;
+    @Autowired
+    private SnowflakeIdWorker snowflakeIdWorker;
+    @Autowired
+    private DocTypeService docTypeService;
+    @Autowired
+    private WrkDetlService wrkDetlService;
+    @Autowired
+    private WaitPakinService waitPakinService;
+    @Autowired
+    private OrderLogService orderLogService;
+
+    @Autowired
+    private OrderCheckService orderCheckService;
+
+    @Autowired
+    private LocCheckService locCheckService;
+
+    @Autowired
+    private ManLocDetlService manLocDetlService;
+
+    @Autowired
+    private OrderCheckLogService orderCheckLogService;
+    @Autowired
+    private LocCheckLogService locCheckLogService;
+
+
+    @Autowired
+    private LocCheckTrimService locCheckTrimService;
+
+    //    @RequestMapping(value = "/orderCheckLog/nav/list/auth")
+//    @ManagerAuth
+//    public R navList(@RequestParam(required = false) String orderNo){
+//        EntityWrapper<Order> wrapper = new EntityWrapper<>();
+//        if (!Cools.isEmpty(orderNo)) {
+//            wrapper.like("order_no", orderNo);
+//        }
+//        wrapper.le("settle", 2).eq("status", 1);
+//        wrapper.orderBy("create_time", false);
+//        List<Order> orders = orderService.selectList(wrapper);
+//        // 淇濈暀鍑哄簱鍗�
+//        if (!Cools.isEmpty(orders)) {
+//            Iterator<Order> iterator = orders.iterator();
+//            while (iterator.hasNext()) {
+//                Order order = iterator.next();
+//                if (order.getDocType() != null) {
+//                    DocType docType = docTypeService.selectById(order.getDocType());
+//                    if (docType != null) {
+//                        if (docType.getPakout() == 0) {
+//                            iterator.remove();
+//                        }
+//                    }
+//                }
+//            }
+//        }
+//        return R.ok().add(orders);
+//    }
+//
+    @RequestMapping(value = "/locCheckTrim/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<LocCheckTrim> wrapper = new EntityWrapper<>();
+        excludeTrash(param);
+        convert(param, wrapper);
+
+
+        return R.ok(locCheckTrimService.selectPage(new Page<>(curr, limit), wrapper));
+    }
+
+    //    @RequestMapping(value = "/orderCheckLog/detl/all/auth")
+//    @ManagerAuth
+//    public R head(@RequestParam String orderNo){
+//        List<LocCheck> orderNo1 = locCheckService.selectList(new EntityWrapper<LocCheck>().eq("order_no", orderNo));
+//        return R.ok().add(orderNo1);
+//    }
+//
+//    @RequestMapping(value = "/orderCheckLog/form/add/auth")
+//    @ManagerAuth(memo = "鎵嬪姩娣诲姞璁㈠崟")
+//    @Transactional
+//    public R formAdd(@RequestBody OrderCheckParam param){
+//
+//        OrderCheck orderCheck1 = orderCheckService.selectByNo(param.getOrderNo());
+//        OrderLog orderLog = orderLogService.selectByNo(param.getOrderNo());
+//        if (orderCheck1 != null) {
+//            return R.error("鐩樼偣鍗曞崟鎹紪鍙峰凡瀛樺湪");
+//        }
+//        if (orderLog != null) {
+//            return R.error("鐩樼偣鍗曞崟鎹紪鍙峰湪鍘嗗彶妗d腑宸插瓨鍦�");
+//        }
+//        Date now = new Date();
+//        OrderCheck orderCheck = new OrderCheck();
+//        orderCheck.setOrderNo(param.getOrderNo());
+//        orderCheck.setUuid(String.valueOf(snowflakeIdWorker.nextId()));
+//        orderCheck.setOrderTime(DateUtils.convert(now));
+//        orderCheck.setStatus(1);
+//        orderCheck.setSettle(1L);
+//        orderCheck.setDocType(23L);
+//        orderCheck.setCreateTime(now);
+//        orderCheck.setUpdateTime(now);
+//        if (!orderCheckService.insert(orderCheck)) {
+//            throw new CoolException("淇濆瓨鐩樼偣鍗曚富妗eけ璐�");
+//        }
+//        for (ManLocDetl manLocDetl : param.getOrderDetlList()){
+//            LocCheck locCheck = new LocCheck();
+//            locCheck.setLocNo(manLocDetl.getLocNo());
+//            locCheck.setMaktx(manLocDetl.getMaktx());
+//            locCheck.setType(1);
+//            locCheck.setExamine(0);
+//            locCheck.setMatnr(manLocDetl.getMatnr());
+//            locCheck.setAnfme(manLocDetl.getAnfme());
+//            locCheck.setRealAnfme(0.0);
+//            locCheck.setDiffAnfme(0.0);
+//            locCheck.setCreateTime(now);
+//            locCheck.setUpdateTime(now);
+//            locCheck.setOrderNo(param.getOrderNo());
+//            if (!locCheckService.insert(locCheck)){
+//                return R.error("鎻掑叆澶辫触");
+//            }
+//        }
+//        return R.ok("鐩樼偣鍗曟坊鍔犳垚鍔�");
+//    }
+//
+//    @RequestMapping(value = "/orderCheckLog/form/modify/auth")
+//    @ManagerAuth(memo = "鎵嬪姩淇敼璁㈠崟")
+//    @Transactional
+//    public R formModify(@RequestBody OrderCheckParam param){
+//        OrderCheck orderCheck = orderCheckService.selectByNo(param.getOrderNo());
+//        if (orderCheck == null || orderCheck.getStatus() == 0) {
+//            return R.error("鐩樼偣鍗曚笉瀛樺湪");
+//        }
+//        Date now = new Date();
+//        Long userId = getUserId();
+//        // 淇敼涓绘。
+//        orderCheck.setUpdateBy(userId);
+//        orderCheck.setUpdateTime(now);
+//        if (!orderCheckService.updateById(orderCheck)) {
+//            throw new CoolException("淇敼鐩樼偣鍗曠被鍨嬪け璐�");
+//        }
+//
+//        // 淇敼鏄庣粏妗�
+////        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
+//        // 1.娓呯┖鏄庣粏妗�
+//        if (!locCheckService.delete(new EntityWrapper<LocCheck>().eq("order_no",orderCheck.getOrderNo())) ) {
+//            throw new CoolException("娓呯┖鐩樼偣鍗曟槑缁嗗け璐�");
+//        }
+//        for (ManLocDetl manLocDetl : param.getOrderDetlList()){
+//            LocCheck locCheck = new LocCheck();
+//            locCheck.setLocNo(manLocDetl.getLocNo());
+//            locCheck.setMaktx(manLocDetl.getMaktx());
+//            locCheck.setType(1);
+//            locCheck.setMatnr(manLocDetl.getMatnr());
+//            locCheck.setAnfme(manLocDetl.getAnfme());
+//            locCheck.setRealAnfme(0.0);
+//            locCheck.setDiffAnfme(0.0);
+//            locCheck.setCreateTime(now);
+//            locCheck.setUpdateTime(now);
+//            locCheck.setOrderNo(param.getOrderNo());
+//            if (!locCheckService.insert(locCheck)){
+//                return R.error("鎻掑叆澶辫触");
+//            }
+//        }
+//        return R.ok("鐩樼偣鍗曚慨鏀规垚鍔�");
+//    }
+//
+//
+//    // ------------------------------------------------------------------------------------------------
+//
+//    @RequestMapping(value = "/orderCheckLog/{id}/auth")
+//    @ManagerAuth
+//    public R get(@PathVariable("id") String id) {
+//        return R.ok(orderService.selectById(String.valueOf(id)));
+//    }
+//
+    @RequestMapping(value = "/locCheckTrim/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<LocCheckLog> wrapper = new EntityWrapper<>();
+        excludeTrash(param);
+        Object orderNo = param.get("order_no");
+        wrapper.eq("order_no",orderNo);
+        Page<LocCheckLog> manLocDetlPage = locCheckLogService.selectPage(new Page<>(curr, limit), wrapper);
+
+        return R.ok(manLocDetlPage);
+    }
+
+    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);
+            }
+        }
+    }
+//
+//    @RequestMapping(value = "/orderCheckLog/update/auth")
+//    @ManagerAuth
+//    public R update(Order order){
+//        if (Cools.isEmpty(order) || null == order.getId()){
+//            return R.error();
+//        }
+//
+//        //璁㈠崟瀹岀粨鍓嶏紝鍒ゆ柇鏄惁瀛樺湪浣滀笟涓暟鎹紝瀛樺湪鍒欎笉鑳藉畬缁�
+//        if(order.getSettle() == 4){
+//            int wrkCount = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no",order.getOrderNo()));
+//            int pakinCount = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("order_no",order.getOrderNo()));
+//            if (wrkCount > 0 || pakinCount > 0) {
+//                throw new CoolException("瀛樺湪浣滀笟涓暟鎹紝涓嶈兘瀹岀粨銆傝妫�鏌ュ叆搴撻�氱煡妗e拰宸ヤ綔妗�");
+//            }
+//        }
+//
+//        order.setUpdateBy(getUserId());
+//        order.setUpdateTime(new Date());
+//        if (!orderService.updateById(order)) {
+//            throw new CoolException("淇敼鐩樼偣鍗曞け璐�");
+//        }
+//        return R.ok();
+//    }
+//
+//    @RequestMapping(value = "/orderCheckLog/delete/auth")
+//    @ManagerAuth(memo = "鎵嬪姩鍒犻櫎璁㈠崟")
+//    @Transactional
+//    public R delete(@RequestParam String orderNo){
+//        orderCheckService.remove(orderNo);
+////        Order order = orderService.selectById(orderId);
+////        if (order != null) {
+////            order.setStatus(0);
+////        }
+////        if (!orderService.updateById(order)) {
+////            throw new CoolException("鍒犻櫎璁㈠崟澶辫触");
+////        }
+////        orderDetlService.modifyStatus(orderId, 0);
+//        return R.ok();
+//    }
+//
+//    @RequestMapping(value = "/orderCheckLog/export/auth")
+//    @ManagerAuth
+//    public R export(@RequestBody JSONObject param){
+//        EntityWrapper<Order> wrapper = new EntityWrapper<>();
+//        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+//        Map<String, Object> map = excludeTrash(param.getJSONObject("order"));
+//        convert(map, wrapper);
+//        List<Order> list = orderService.selectList(wrapper);
+//        return R.ok(exportSupport(list, fields));
+//    }
+//
+//    @RequestMapping(value = "/orderCheckLogQuery/auth")
+//    @ManagerAuth
+//    public R query(String condition) {
+//        EntityWrapper<Order> wrapper = new EntityWrapper<>();
+//        wrapper.like("id", condition);
+//        Page<Order> page = orderService.selectPage(new Page<>(0, 10), wrapper);
+//        List<Map<String, Object>> result = new ArrayList<>();
+//        for (Order order : page.getRecords()){
+//            Map<String, Object> map = new HashMap<>();
+//            map.put("id", order.getId());
+//            map.put("value", order.getOrderNo());
+//            result.add(map);
+//        }
+//        return R.ok(result);
+//    }
+//
+//    @RequestMapping(value = "/orderCheckLog/check/column/auth")
+//    @ManagerAuth
+//    public R query(@RequestBody JSONObject param) {
+//        Wrapper<Order> wrapper = new EntityWrapper<Order>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
+//        if (null != orderService.selectOne(wrapper)){
+//            return R.parse(BaseRes.REPEAT).add(getComment(Order.class, String.valueOf(param.get("key"))));
+//        }
+//        return R.ok();
+//    }
+//
+//    @RequestMapping("/orderCheck/in")
+//    public R in(@RequestBody JSONObject param){
+//        System.out.println("111 = " + 111);
+//        return R.ok();
+//    }
+//
+//    @RequestMapping("/orderCheckLog/create/auth")
+//    @ManagerAuth
+//    public R autoCreate(@RequestBody CheckDTO checkDTO){
+//        Double prec = Double.valueOf(checkDTO.getPrec());
+//        List<CheckDTO.data> data = checkDTO.getData();
+//        EntityWrapper<ManLocDetl> manLocDetlEntityWrapper = new EntityWrapper<>();
+//        int count = manLocDetlService.selectCount(manLocDetlEntityWrapper);
+//        List<ManLocDetl> countLocDetl = new ArrayList<>();
+//        double precDpuble = prec / 100;
+//        count = (int)(count * precDpuble);
+//        if (checkDTO.getData() == null){
+//            countLocDetl = locCheckService.getCountLocDetl(count);
+//        }else {
+//            for (CheckDTO.data a :data){
+//                String matnr = a.getValue();
+//                EntityWrapper<ManLocDetl> manLocDetlEntityWrapper2 = new EntityWrapper<>();
+//                manLocDetlEntityWrapper2.eq("matnr",matnr);
+//                int countfor = manLocDetlService.selectCount(manLocDetlEntityWrapper2);
+//                countfor = (countfor * precDpuble)>1? Math.round((float)(countfor * precDpuble)) : 1 ;
+//                for (ManLocDetl manLocDetl: locCheckService.getMatnrCountLocDetl(countfor,a.getValue())){
+//                    countLocDetl.add(manLocDetl);
+//                }
+//            }
+//        }
+//
+//        return R.ok().add(countLocDetl);
+//    }
+//
+//    @RequestMapping("/orderCheckLog/create/loc/auth")
+//    @ManagerAuth
+//    public R autolocCreate(@RequestBody CheckDTO checkDTO){
+//        Double prec = Double.valueOf(checkDTO.getPrec());
+//        List<CheckDTO.data> data = checkDTO.getData();
+//        EntityWrapper<ManLocDetl> manLocDetlEntityWrapper = new EntityWrapper<>();
+//        int count = manLocDetlService.selectCount(manLocDetlEntityWrapper);
+//        List<ManLocDetl> countLocDetl = new ArrayList<>();
+//        double precDpuble = prec / 100;
+//        count = (int)(count * precDpuble);
+//        if (checkDTO.getData() == null){
+//            countLocDetl = locCheckService.getCountLocDetl(count);
+//        }else {
+//            for (CheckDTO.data a :data){
+//                String locno = a.getValue();
+//                EntityWrapper<ManLocDetl> manLocDetlEntityWrapper2 = new EntityWrapper<>();
+//                manLocDetlEntityWrapper2.eq("loc_no",locno);
+//                int countfor = manLocDetlService.selectCount(manLocDetlEntityWrapper2);
+//                countfor = (countfor * precDpuble)>1? Math.round((float)(countfor * precDpuble)) : 1 ;
+//                for (ManLocDetl manLocDetl: locCheckService.getLocCountLocDetl(countfor,a.getValue())){
+//                    countLocDetl.add(manLocDetl);
+//                }
+//            }
+//        }
+//
+//        return R.ok().add(countLocDetl);
+//    }
+//
+//
+//
+//
+//    @RequestMapping(value = "/orderCheckLog/print/auth")
+//    @ManagerAuth(memo = "璁㈠崟缂栫爜鎵撳嵃")
+//    public R manPakOutPrint(@RequestParam(value = "param[]") String[] param) {
+//        if(Cools.isEmpty(param)) {
+//            return R.parse(CodeRes.EMPTY);
+//        }
+//        List<LocCheck> res = new ArrayList<>();
+//        for (String orderNo : param){
+//            res = locCheckService.selectList(new EntityWrapper<LocCheck>().eq("order_no", orderNo));
+//        }
+//        return R.ok().add(res);
+//    }
+//    @RequestMapping(value = "/orderCheck/code/auth")
+////    @ManagerAuth(memo = "鐗╂枡缂栫爜鏉″舰鐮佽幏鍙�(type:1(鏉″舰鐮�);2(浜岀淮鐮�)")
+//    public R manPakOutCodeBarcode(@RequestParam(defaultValue = "2") Integer type
+//            , @RequestParam String param
+//            , HttpServletResponse response) throws Exception {
+//        AdminInterceptor.cors(response);
+//        if (Cools.isEmpty(param)){
+//            return R.parse(BaseRes.EMPTY);
+//        }
+//        BufferedImage img;
+//        if (type == 1) {
+//            img = BarcodeUtils.encode(param);
+//        } else {
+//            img = QrCode.createImg(param);
+//        }
+//        if (!ImageIO.write(img, "jpg", response.getOutputStream())) {
+//            throw new IOException("Could not write an image of format jpg");
+//        }
+//        response.getOutputStream().flush();
+//        response.getOutputStream().close();
+//        return R.ok();
+//    }
+//
+//    @RequestMapping(value = "/orderCheckLog/mxamine")
+//    public R mxamine(@RequestBody LocCheck locCheck){
+//       locCheck.setDiffAnfme(locCheck.getAnfme()- locCheck.getRealAnfme());
+//       locCheck.setExamine(1);
+//       locCheck.setType(2);
+//       if (!locCheckService.updateById(locCheck)){
+//                return R.error("鐘舵�佹洿鏂板け璐�");
+//       }
+//
+//        return R.ok("瀹℃牳瀹屾垚锛�");
+//    }
+//    @RequestMapping(value = "/orderCheckLog/all/get/loc")
+//    public R mxamine(){
+//        List<String> list = locCheckService.getLocCount();
+//        List<KeyValueVo> keyValueVoList = new ArrayList<>();
+//        for (int i=0;i<list.size();i++){
+//            KeyValueVo vo = new KeyValueVo();
+//            vo.setName(list.get(i));
+//            vo.setValue(list.get(i));
+//            keyValueVoList.add(vo);
+//        }
+//        return R.ok(keyValueVoList);
+//
+//    }
+
+
+}
diff --git a/src/main/java/com/zy/asrs/controller/OrderCheckController.java b/src/main/java/com/zy/asrs/controller/OrderCheckController.java
index 7609be4..dec9af9 100644
--- a/src/main/java/com/zy/asrs/controller/OrderCheckController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderCheckController.java
@@ -12,6 +12,7 @@
 import com.zy.asrs.entity.param.MatnrDto;
 import com.zy.asrs.entity.param.OrderCheckParam;
 import com.zy.asrs.entity.param.OrderDomainParam;
+import com.zy.asrs.entity.result.KeyValueVo;
 import com.zy.asrs.service.*;
 import com.zy.common.CodeRes;
 import com.zy.common.config.AdminInterceptor;
@@ -55,6 +56,9 @@
 
     @Autowired
     private ManLocDetlService manLocDetlService;
+
+    @Autowired
+    private LocCheckTrimService locCheckTrimService;
 
     @RequestMapping(value = "/orderCheck/nav/list/auth")
     @ManagerAuth
@@ -143,6 +147,9 @@
             locCheck.setAnfme(manLocDetl.getAnfme());
             locCheck.setRealAnfme(0.0);
             locCheck.setDiffAnfme(0.0);
+            locCheck.setExamine(0);
+            locCheck.setOwner(manLocDetl.getOwner());
+            locCheck.setPayment(manLocDetl.getPayment());
             locCheck.setCreateTime(now);
             locCheck.setUpdateTime(now);
             locCheck.setOrderNo(param.getOrderNo());
@@ -379,5 +386,128 @@
         return R.ok();
     }
 
+    @RequestMapping("/orderCheck/create/loc/auth")
+    @ManagerAuth
+    public R autolocCreate(@RequestBody CheckDTO checkDTO){
+        Double prec = Double.valueOf(checkDTO.getPrec());
+        List<CheckDTO.data> data = checkDTO.getData();
+        EntityWrapper<ManLocDetl> manLocDetlEntityWrapper = new EntityWrapper<>();
+        int count = manLocDetlService.selectCount(manLocDetlEntityWrapper);
+        List<ManLocDetl> countLocDetl = new ArrayList<>();
+        double precDpuble = prec / 100;
+        count = (int)(count * precDpuble);
+        if (checkDTO.getData() == null){
+            countLocDetl = locCheckService.getCountLocDetl(count);
+        }else {
+            for (CheckDTO.data a :data){
+                String locno = a.getValue();
+                EntityWrapper<ManLocDetl> manLocDetlEntityWrapper2 = new EntityWrapper<>();
+                manLocDetlEntityWrapper2.eq("loc_no",locno);
+                int countfor = manLocDetlService.selectCount(manLocDetlEntityWrapper2);
+                countfor = (countfor * precDpuble)>1? Math.round((float)(countfor * precDpuble)) : 1 ;
+                for (ManLocDetl manLocDetl: locCheckService.getLocCountLocDetl(countfor,a.getValue())){
+                    countLocDetl.add(manLocDetl);
+                }
+            }
+        }
 
-}
\ No newline at end of file
+        return R.ok().add(countLocDetl);
+    }
+
+    @RequestMapping("/orderCheck/create/owner/auth")
+    @ManagerAuth
+    public R autoOwnerlocCreate(@RequestBody CheckDTO checkDTO){
+        Double prec = Double.valueOf(checkDTO.getPrec());
+        List<CheckDTO.data> data = checkDTO.getData();
+        EntityWrapper<ManLocDetl> manLocDetlEntityWrapper = new EntityWrapper<>();
+        int count = manLocDetlService.selectCount(manLocDetlEntityWrapper);
+        List<ManLocDetl> countLocDetl = new ArrayList<>();
+        double precDpuble = prec / 100;
+        count = (int)(count * precDpuble);
+        if (checkDTO.getData() == null){
+            countLocDetl = locCheckService.getCountLocDetl(count);
+        }else {
+            for (CheckDTO.data a :data){
+                String owner = a.getValue();
+                EntityWrapper<ManLocDetl> manLocDetlEntityWrapper2 = new EntityWrapper<>();
+                manLocDetlEntityWrapper2.eq("owner",owner);
+                int countfor = manLocDetlService.selectCount(manLocDetlEntityWrapper2);
+                countfor = (countfor * precDpuble)>1? Math.round((float)(countfor * precDpuble)) : 1 ;
+                for (ManLocDetl manLocDetl: locCheckService.getOwnerCountLocDetl(countfor,a.getValue())){
+                    countLocDetl.add(manLocDetl);
+                }
+            }
+        }
+
+        return R.ok().add(countLocDetl);
+    }
+
+    @RequestMapping(value = "/orderCheck/mxamine")
+    public R mxamine(@RequestBody LocCheck locCheck){ //瀹℃牳
+        locCheck.setDiffAnfme(locCheck.getRealAnfme() - locCheck.getAnfme());
+        locCheck.setExamine(1);
+        locCheck.setType(2);
+        if (!locCheckService.updateById(locCheck)){
+            return R.error("鐘舵�佹洿鏂板け璐�");
+        }
+        EntityWrapper<ManLocDetl> manLocDetlEntityWrapper = new EntityWrapper<>();
+        manLocDetlEntityWrapper.eq("loc_no",locCheck.getLocNo());
+        manLocDetlEntityWrapper.eq("matnr",locCheck.getMatnr());
+        ManLocDetl manLocDetl = new ManLocDetl();
+        manLocDetl.setAnfme(locCheck.getRealAnfme());
+        if (!manLocDetlService.update(manLocDetl,manLocDetlEntityWrapper)){
+            return R.error("鏇存柊骞冲簱搴撳瓨澶辫触");
+        }
+
+        Date now = new Date();
+        Long userId = getUserId();
+        LocCheckTrim locCheckTrim = new LocCheckTrim();
+        locCheckTrim.setLocNo(locCheck.getLocNo());
+        locCheckTrim.setMaktx(locCheck.getMaktx());
+        locCheckTrim.setType(locCheck.getType());
+        locCheckTrim.setExamine(locCheck.getExamine());
+        locCheckTrim.setMatnr(locCheck.getMatnr());
+        locCheckTrim.setAnfme(locCheck.getAnfme());
+        locCheckTrim.setRealAnfme(locCheck.getRealAnfme());
+        locCheckTrim.setDiffAnfme(locCheck.getDiffAnfme());
+        locCheckTrim.setCreateTime(now);
+        locCheckTrim.setCreateBy(userId);
+        locCheckTrim.setOrderNo(locCheck.getOrderNo());
+        if (!locCheckTrimService.insert(locCheckTrim)){
+            return R.error("鍘嗗彶妗f彃鍏ュけ璐�");
+        }
+
+
+
+        return R.ok("瀹℃牳瀹屾垚锛�");
+    }
+    @RequestMapping(value = "/orderCheck/all/get/loc")
+    public R mxamine(){
+        List<String> list = locCheckService.getLocCount();
+        List<KeyValueVo> keyValueVoList = new ArrayList<>();
+        for (int i=0;i<list.size();i++){
+            KeyValueVo vo = new KeyValueVo();
+            vo.setName(list.get(i));
+            vo.setValue(list.get(i));
+            keyValueVoList.add(vo);
+        }
+        return R.ok(keyValueVoList);
+
+    }
+
+    @RequestMapping(value = "/orderCheck/all/get/owner")
+    public R mxamineOwner(){
+        List<LocOwner> list = locCheckService.getOwnerCount();
+        List<KeyValueVo> keyValueVoList = new ArrayList<>();
+        for (LocOwner basLocOwner: list){
+            KeyValueVo vo = new KeyValueVo();
+            vo.setName(basLocOwner.getOwner());
+            vo.setValue(basLocOwner.getId());
+            keyValueVoList.add(vo);
+        }
+        return R.ok(keyValueVoList);
+
+    }
+
+
+}
diff --git a/src/main/java/com/zy/asrs/controller/OrderCheckLogController.java b/src/main/java/com/zy/asrs/controller/OrderCheckLogController.java
new file mode 100644
index 0000000..e7b5d36
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/OrderCheckLogController.java
@@ -0,0 +1,445 @@
+package com.zy.asrs.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.core.annotations.ManagerAuth;
+import com.core.common.*;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.CheckDTO;
+import com.zy.asrs.entity.param.OrderCheckParam;
+import com.zy.asrs.entity.result.KeyValueVo;
+import com.zy.asrs.service.*;
+import com.zy.common.CodeRes;
+import com.zy.common.config.AdminInterceptor;
+import com.zy.common.utils.BarcodeUtils;
+import com.zy.common.utils.QrCode;
+import com.zy.common.web.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import javax.imageio.ImageIO;
+import javax.servlet.http.HttpServletResponse;
+import java.awt.image.BufferedImage;
+import java.io.IOException;
+import java.util.*;
+
+import static jdk.nashorn.api.scripting.ScriptUtils.convert;
+
+@RestController
+public class OrderCheckLogController extends BaseController {
+
+    @Autowired
+    private OrderService orderService;
+    @Autowired
+    private OrderDetlService orderDetlService;
+    @Autowired
+    private SnowflakeIdWorker snowflakeIdWorker;
+    @Autowired
+    private DocTypeService docTypeService;
+    @Autowired
+    private WrkDetlService wrkDetlService;
+    @Autowired
+    private WaitPakinService waitPakinService;
+    @Autowired
+    private OrderLogService orderLogService;
+
+    @Autowired
+    private OrderCheckService orderCheckService;
+
+    @Autowired
+    private LocCheckService locCheckService;
+
+    @Autowired
+    private ManLocDetlService manLocDetlService;
+
+    @Autowired
+    private OrderCheckLogService orderCheckLogService;
+    @Autowired
+    private LocCheckLogService locCheckLogService;
+
+    //    @RequestMapping(value = "/orderCheckLog/nav/list/auth")
+//    @ManagerAuth
+//    public R navList(@RequestParam(required = false) String orderNo){
+//        EntityWrapper<Order> wrapper = new EntityWrapper<>();
+//        if (!Cools.isEmpty(orderNo)) {
+//            wrapper.like("order_no", orderNo);
+//        }
+//        wrapper.le("settle", 2).eq("status", 1);
+//        wrapper.orderBy("create_time", false);
+//        List<Order> orders = orderService.selectList(wrapper);
+//        // 淇濈暀鍑哄簱鍗�
+//        if (!Cools.isEmpty(orders)) {
+//            Iterator<Order> iterator = orders.iterator();
+//            while (iterator.hasNext()) {
+//                Order order = iterator.next();
+//                if (order.getDocType() != null) {
+//                    DocType docType = docTypeService.selectById(order.getDocType());
+//                    if (docType != null) {
+//                        if (docType.getPakout() == 0) {
+//                            iterator.remove();
+//                        }
+//                    }
+//                }
+//            }
+//        }
+//        return R.ok().add(orders);
+//    }
+//
+    @RequestMapping(value = "/orderCheckLog/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<OrderCheckLog> wrapper = new EntityWrapper<>();
+        excludeTrash(param);
+        convert(param, wrapper);
+        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else {
+            wrapper.orderBy("settle").orderBy("create_time", false);
+        }
+
+        return R.ok(orderCheckLogService.selectPage(new Page<>(curr, limit), wrapper));
+    }
+
+    //    @RequestMapping(value = "/orderCheckLog/detl/all/auth")
+//    @ManagerAuth
+//    public R head(@RequestParam String orderNo){
+//        List<LocCheck> orderNo1 = locCheckService.selectList(new EntityWrapper<LocCheck>().eq("order_no", orderNo));
+//        return R.ok().add(orderNo1);
+//    }
+//
+//    @RequestMapping(value = "/orderCheckLog/form/add/auth")
+//    @ManagerAuth(memo = "鎵嬪姩娣诲姞璁㈠崟")
+//    @Transactional
+//    public R formAdd(@RequestBody OrderCheckParam param){
+//
+//        OrderCheck orderCheck1 = orderCheckService.selectByNo(param.getOrderNo());
+//        OrderLog orderLog = orderLogService.selectByNo(param.getOrderNo());
+//        if (orderCheck1 != null) {
+//            return R.error("鐩樼偣鍗曞崟鎹紪鍙峰凡瀛樺湪");
+//        }
+//        if (orderLog != null) {
+//            return R.error("鐩樼偣鍗曞崟鎹紪鍙峰湪鍘嗗彶妗d腑宸插瓨鍦�");
+//        }
+//        Date now = new Date();
+//        OrderCheck orderCheck = new OrderCheck();
+//        orderCheck.setOrderNo(param.getOrderNo());
+//        orderCheck.setUuid(String.valueOf(snowflakeIdWorker.nextId()));
+//        orderCheck.setOrderTime(DateUtils.convert(now));
+//        orderCheck.setStatus(1);
+//        orderCheck.setSettle(1L);
+//        orderCheck.setDocType(23L);
+//        orderCheck.setCreateTime(now);
+//        orderCheck.setUpdateTime(now);
+//        if (!orderCheckService.insert(orderCheck)) {
+//            throw new CoolException("淇濆瓨鐩樼偣鍗曚富妗eけ璐�");
+//        }
+//        for (ManLocDetl manLocDetl : param.getOrderDetlList()){
+//            LocCheck locCheck = new LocCheck();
+//            locCheck.setLocNo(manLocDetl.getLocNo());
+//            locCheck.setMaktx(manLocDetl.getMaktx());
+//            locCheck.setType(1);
+//            locCheck.setExamine(0);
+//            locCheck.setMatnr(manLocDetl.getMatnr());
+//            locCheck.setAnfme(manLocDetl.getAnfme());
+//            locCheck.setRealAnfme(0.0);
+//            locCheck.setDiffAnfme(0.0);
+//            locCheck.setCreateTime(now);
+//            locCheck.setUpdateTime(now);
+//            locCheck.setOrderNo(param.getOrderNo());
+//            if (!locCheckService.insert(locCheck)){
+//                return R.error("鎻掑叆澶辫触");
+//            }
+//        }
+//        return R.ok("鐩樼偣鍗曟坊鍔犳垚鍔�");
+//    }
+//
+//    @RequestMapping(value = "/orderCheckLog/form/modify/auth")
+//    @ManagerAuth(memo = "鎵嬪姩淇敼璁㈠崟")
+//    @Transactional
+//    public R formModify(@RequestBody OrderCheckParam param){
+//        OrderCheck orderCheck = orderCheckService.selectByNo(param.getOrderNo());
+//        if (orderCheck == null || orderCheck.getStatus() == 0) {
+//            return R.error("鐩樼偣鍗曚笉瀛樺湪");
+//        }
+//        Date now = new Date();
+//        Long userId = getUserId();
+//        // 淇敼涓绘。
+//        orderCheck.setUpdateBy(userId);
+//        orderCheck.setUpdateTime(now);
+//        if (!orderCheckService.updateById(orderCheck)) {
+//            throw new CoolException("淇敼鐩樼偣鍗曠被鍨嬪け璐�");
+//        }
+//
+//        // 淇敼鏄庣粏妗�
+////        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
+//        // 1.娓呯┖鏄庣粏妗�
+//        if (!locCheckService.delete(new EntityWrapper<LocCheck>().eq("order_no",orderCheck.getOrderNo())) ) {
+//            throw new CoolException("娓呯┖鐩樼偣鍗曟槑缁嗗け璐�");
+//        }
+//        for (ManLocDetl manLocDetl : param.getOrderDetlList()){
+//            LocCheck locCheck = new LocCheck();
+//            locCheck.setLocNo(manLocDetl.getLocNo());
+//            locCheck.setMaktx(manLocDetl.getMaktx());
+//            locCheck.setType(1);
+//            locCheck.setMatnr(manLocDetl.getMatnr());
+//            locCheck.setAnfme(manLocDetl.getAnfme());
+//            locCheck.setRealAnfme(0.0);
+//            locCheck.setDiffAnfme(0.0);
+//            locCheck.setCreateTime(now);
+//            locCheck.setUpdateTime(now);
+//            locCheck.setOrderNo(param.getOrderNo());
+//            if (!locCheckService.insert(locCheck)){
+//                return R.error("鎻掑叆澶辫触");
+//            }
+//        }
+//        return R.ok("鐩樼偣鍗曚慨鏀规垚鍔�");
+//    }
+//
+//
+//    // ------------------------------------------------------------------------------------------------
+//
+//    @RequestMapping(value = "/orderCheckLog/{id}/auth")
+//    @ManagerAuth
+//    public R get(@PathVariable("id") String id) {
+//        return R.ok(orderService.selectById(String.valueOf(id)));
+//    }
+//
+    @RequestMapping(value = "/orderCheckLog/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<LocCheckLog> wrapper = new EntityWrapper<>();
+        excludeTrash(param);
+        Object orderNo = param.get("order_no");
+        wrapper.eq("order_no",orderNo);
+        Page<LocCheckLog> manLocDetlPage = locCheckLogService.selectPage(new Page<>(curr, limit), wrapper);
+
+        return R.ok(manLocDetlPage);
+    }
+
+    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);
+            }
+        }
+    }
+//
+//    @RequestMapping(value = "/orderCheckLog/update/auth")
+//    @ManagerAuth
+//    public R update(Order order){
+//        if (Cools.isEmpty(order) || null == order.getId()){
+//            return R.error();
+//        }
+//
+//        //璁㈠崟瀹岀粨鍓嶏紝鍒ゆ柇鏄惁瀛樺湪浣滀笟涓暟鎹紝瀛樺湪鍒欎笉鑳藉畬缁�
+//        if(order.getSettle() == 4){
+//            int wrkCount = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no",order.getOrderNo()));
+//            int pakinCount = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("order_no",order.getOrderNo()));
+//            if (wrkCount > 0 || pakinCount > 0) {
+//                throw new CoolException("瀛樺湪浣滀笟涓暟鎹紝涓嶈兘瀹岀粨銆傝妫�鏌ュ叆搴撻�氱煡妗e拰宸ヤ綔妗�");
+//            }
+//        }
+//
+//        order.setUpdateBy(getUserId());
+//        order.setUpdateTime(new Date());
+//        if (!orderService.updateById(order)) {
+//            throw new CoolException("淇敼鐩樼偣鍗曞け璐�");
+//        }
+//        return R.ok();
+//    }
+//
+//    @RequestMapping(value = "/orderCheckLog/delete/auth")
+//    @ManagerAuth(memo = "鎵嬪姩鍒犻櫎璁㈠崟")
+//    @Transactional
+//    public R delete(@RequestParam String orderNo){
+//        orderCheckService.remove(orderNo);
+////        Order order = orderService.selectById(orderId);
+////        if (order != null) {
+////            order.setStatus(0);
+////        }
+////        if (!orderService.updateById(order)) {
+////            throw new CoolException("鍒犻櫎璁㈠崟澶辫触");
+////        }
+////        orderDetlService.modifyStatus(orderId, 0);
+//        return R.ok();
+//    }
+//
+//    @RequestMapping(value = "/orderCheckLog/export/auth")
+//    @ManagerAuth
+//    public R export(@RequestBody JSONObject param){
+//        EntityWrapper<Order> wrapper = new EntityWrapper<>();
+//        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+//        Map<String, Object> map = excludeTrash(param.getJSONObject("order"));
+//        convert(map, wrapper);
+//        List<Order> list = orderService.selectList(wrapper);
+//        return R.ok(exportSupport(list, fields));
+//    }
+//
+//    @RequestMapping(value = "/orderCheckLogQuery/auth")
+//    @ManagerAuth
+//    public R query(String condition) {
+//        EntityWrapper<Order> wrapper = new EntityWrapper<>();
+//        wrapper.like("id", condition);
+//        Page<Order> page = orderService.selectPage(new Page<>(0, 10), wrapper);
+//        List<Map<String, Object>> result = new ArrayList<>();
+//        for (Order order : page.getRecords()){
+//            Map<String, Object> map = new HashMap<>();
+//            map.put("id", order.getId());
+//            map.put("value", order.getOrderNo());
+//            result.add(map);
+//        }
+//        return R.ok(result);
+//    }
+//
+//    @RequestMapping(value = "/orderCheckLog/check/column/auth")
+//    @ManagerAuth
+//    public R query(@RequestBody JSONObject param) {
+//        Wrapper<Order> wrapper = new EntityWrapper<Order>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
+//        if (null != orderService.selectOne(wrapper)){
+//            return R.parse(BaseRes.REPEAT).add(getComment(Order.class, String.valueOf(param.get("key"))));
+//        }
+//        return R.ok();
+//    }
+//
+//    @RequestMapping("/orderCheck/in")
+//    public R in(@RequestBody JSONObject param){
+//        System.out.println("111 = " + 111);
+//        return R.ok();
+//    }
+//
+//    @RequestMapping("/orderCheckLog/create/auth")
+//    @ManagerAuth
+//    public R autoCreate(@RequestBody CheckDTO checkDTO){
+//        Double prec = Double.valueOf(checkDTO.getPrec());
+//        List<CheckDTO.data> data = checkDTO.getData();
+//        EntityWrapper<ManLocDetl> manLocDetlEntityWrapper = new EntityWrapper<>();
+//        int count = manLocDetlService.selectCount(manLocDetlEntityWrapper);
+//        List<ManLocDetl> countLocDetl = new ArrayList<>();
+//        double precDpuble = prec / 100;
+//        count = (int)(count * precDpuble);
+//        if (checkDTO.getData() == null){
+//            countLocDetl = locCheckService.getCountLocDetl(count);
+//        }else {
+//            for (CheckDTO.data a :data){
+//                String matnr = a.getValue();
+//                EntityWrapper<ManLocDetl> manLocDetlEntityWrapper2 = new EntityWrapper<>();
+//                manLocDetlEntityWrapper2.eq("matnr",matnr);
+//                int countfor = manLocDetlService.selectCount(manLocDetlEntityWrapper2);
+//                countfor = (countfor * precDpuble)>1? Math.round((float)(countfor * precDpuble)) : 1 ;
+//                for (ManLocDetl manLocDetl: locCheckService.getMatnrCountLocDetl(countfor,a.getValue())){
+//                    countLocDetl.add(manLocDetl);
+//                }
+//            }
+//        }
+//
+//        return R.ok().add(countLocDetl);
+//    }
+//
+//    @RequestMapping("/orderCheckLog/create/loc/auth")
+//    @ManagerAuth
+//    public R autolocCreate(@RequestBody CheckDTO checkDTO){
+//        Double prec = Double.valueOf(checkDTO.getPrec());
+//        List<CheckDTO.data> data = checkDTO.getData();
+//        EntityWrapper<ManLocDetl> manLocDetlEntityWrapper = new EntityWrapper<>();
+//        int count = manLocDetlService.selectCount(manLocDetlEntityWrapper);
+//        List<ManLocDetl> countLocDetl = new ArrayList<>();
+//        double precDpuble = prec / 100;
+//        count = (int)(count * precDpuble);
+//        if (checkDTO.getData() == null){
+//            countLocDetl = locCheckService.getCountLocDetl(count);
+//        }else {
+//            for (CheckDTO.data a :data){
+//                String locno = a.getValue();
+//                EntityWrapper<ManLocDetl> manLocDetlEntityWrapper2 = new EntityWrapper<>();
+//                manLocDetlEntityWrapper2.eq("loc_no",locno);
+//                int countfor = manLocDetlService.selectCount(manLocDetlEntityWrapper2);
+//                countfor = (countfor * precDpuble)>1? Math.round((float)(countfor * precDpuble)) : 1 ;
+//                for (ManLocDetl manLocDetl: locCheckService.getLocCountLocDetl(countfor,a.getValue())){
+//                    countLocDetl.add(manLocDetl);
+//                }
+//            }
+//        }
+//
+//        return R.ok().add(countLocDetl);
+//    }
+//
+//
+//
+//
+//    @RequestMapping(value = "/orderCheckLog/print/auth")
+//    @ManagerAuth(memo = "璁㈠崟缂栫爜鎵撳嵃")
+//    public R manPakOutPrint(@RequestParam(value = "param[]") String[] param) {
+//        if(Cools.isEmpty(param)) {
+//            return R.parse(CodeRes.EMPTY);
+//        }
+//        List<LocCheck> res = new ArrayList<>();
+//        for (String orderNo : param){
+//            res = locCheckService.selectList(new EntityWrapper<LocCheck>().eq("order_no", orderNo));
+//        }
+//        return R.ok().add(res);
+//    }
+//    @RequestMapping(value = "/orderCheck/code/auth")
+////    @ManagerAuth(memo = "鐗╂枡缂栫爜鏉″舰鐮佽幏鍙�(type:1(鏉″舰鐮�);2(浜岀淮鐮�)")
+//    public R manPakOutCodeBarcode(@RequestParam(defaultValue = "2") Integer type
+//            , @RequestParam String param
+//            , HttpServletResponse response) throws Exception {
+//        AdminInterceptor.cors(response);
+//        if (Cools.isEmpty(param)){
+//            return R.parse(BaseRes.EMPTY);
+//        }
+//        BufferedImage img;
+//        if (type == 1) {
+//            img = BarcodeUtils.encode(param);
+//        } else {
+//            img = QrCode.createImg(param);
+//        }
+//        if (!ImageIO.write(img, "jpg", response.getOutputStream())) {
+//            throw new IOException("Could not write an image of format jpg");
+//        }
+//        response.getOutputStream().flush();
+//        response.getOutputStream().close();
+//        return R.ok();
+//    }
+//
+//    @RequestMapping(value = "/orderCheckLog/mxamine")
+//    public R mxamine(@RequestBody LocCheck locCheck){
+//       locCheck.setDiffAnfme(locCheck.getAnfme()- locCheck.getRealAnfme());
+//       locCheck.setExamine(1);
+//       locCheck.setType(2);
+//       if (!locCheckService.updateById(locCheck)){
+//                return R.error("鐘舵�佹洿鏂板け璐�");
+//       }
+//
+//        return R.ok("瀹℃牳瀹屾垚锛�");
+//    }
+//    @RequestMapping(value = "/orderCheckLog/all/get/loc")
+//    public R mxamine(){
+//        List<String> list = locCheckService.getLocCount();
+//        List<KeyValueVo> keyValueVoList = new ArrayList<>();
+//        for (int i=0;i<list.size();i++){
+//            KeyValueVo vo = new KeyValueVo();
+//            vo.setName(list.get(i));
+//            vo.setValue(list.get(i));
+//            keyValueVoList.add(vo);
+//        }
+//        return R.ok(keyValueVoList);
+//
+//    }
+
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/LocCheck.java b/src/main/java/com/zy/asrs/entity/LocCheck.java
index a5d60fd..e504aaf 100644
--- a/src/main/java/com/zy/asrs/entity/LocCheck.java
+++ b/src/main/java/com/zy/asrs/entity/LocCheck.java
@@ -5,6 +5,9 @@
 import com.baomidou.mybatisplus.annotations.TableField;
 import java.text.SimpleDateFormat;
 import java.util.Date;
+
+import com.core.common.SpringUtils;
+import com.zy.asrs.service.LocOwnerService;
 import org.springframework.format.annotation.DateTimeFormat;
 import java.text.SimpleDateFormat;
 import java.util.Date;
@@ -110,7 +113,38 @@
     @TableField("order_no")
     private String orderNo;
 
+    @ApiModelProperty(value= "瀹℃牳")
+    private Integer examine;
 
+    @ApiModelProperty(value= "鎷ユ湁鑰� 1: 鏉板厠   ")
+    private Integer owner;
+
+    /**
+     * 璐х墿褰㈡��:0锛氫唬閲囥��1锛氫粨鍌�
+     */
+    @ApiModelProperty(value= "璐х墿褰㈡��:0锛氫唬閲囥��1锛氫粨鍌�")
+    private Integer payment;
+
+    public String getOwner$(){
+        LocOwnerService service = SpringUtils.getBean(LocOwnerService.class);
+        LocOwner locOwner = service.selectById(this.owner);
+        if (!Cools.isEmpty(locOwner)){
+            return String.valueOf(locOwner.getOwner());
+        }
+        return null;
+    }
+
+    public String getPayment$(){
+        if (null == this.payment){ return null; }
+        switch (this.payment){
+            case 1:
+                return "浠撳偍";
+            case 0:
+                return "浠i噰";
+            default:
+                return String.valueOf(this.payment);
+        }
+    }
 
 
 
diff --git a/src/main/java/com/zy/asrs/entity/LocCheckLog.java b/src/main/java/com/zy/asrs/entity/LocCheckLog.java
new file mode 100644
index 0000000..abb294b
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/LocCheckLog.java
@@ -0,0 +1,189 @@
+package com.zy.asrs.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import com.core.common.Cools;
+import com.core.common.SpringUtils;
+import com.zy.asrs.service.LocOwnerService;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+@Data
+@TableName("man_loc_check_log")
+public class LocCheckLog implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 鍞竴ID
+     */
+    @ApiModelProperty(value= "鍞竴ID")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 鐘舵�� 1: 鐩樼偣涓�  2: 鐩樼偣缁撴潫
+     */
+    @ApiModelProperty(value= "鐘舵�� 1: 鐩樼偣涓�  2: 鐩樼偣缁撴潫  ")
+    private Integer type;
+
+    /**
+     * 搴撲綅鍙�
+     */
+    @ApiModelProperty(value= "搴撲綅鍙�")
+    @TableField("loc_no")
+    private String locNo;
+
+    /**
+     * 鐗╂枡鍙�
+     */
+    @ApiModelProperty(value= "鐗╂枡鍙�")
+    private String matnr;
+    /**
+     * 鐗╂枡鍙�
+     */
+    @ApiModelProperty(value= "鐗╂枡鍚�")
+    private String maktx;
+
+    /**
+     * 鐩樼偣鍓嶆暟閲�
+     */
+    @ApiModelProperty(value= "鐩樼偣鍓嶆暟閲�")
+    @TableField("anfme")
+    private Double anfme;
+
+    /**
+     * 鐪熷疄鏁伴噺
+     */
+    @ApiModelProperty(value= "鐪熷疄鏁伴噺")
+    @TableField("real_anfme")
+    private Double realAnfme;
+
+    /**
+     * 鍒涘缓浜�
+     */
+    @ApiModelProperty(value= "鍒涘缓浜�")
+    @TableField("create_by")
+    private Long createBy;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    @ApiModelProperty(value= "鍒涘缓鏃堕棿")
+    @TableField("create_time")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * 淇敼浜�
+     */
+    @ApiModelProperty(value= "淇敼浜�")
+    @TableField("update_by")
+    private Long updateBy;
+
+    /**
+     * 淇敼鏃堕棿
+     */
+    @ApiModelProperty(value= "淇敼鏃堕棿")
+    @TableField("update_time")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    /**
+     * 澶囨敞
+     */
+    @ApiModelProperty(value= "澶囨敞")
+    private String memo;
+
+    @ApiModelProperty(value= "宸紓閲�")
+    @TableField("diff_anfme")
+    private Double diffAnfme;
+
+    @ApiModelProperty(value= "鍗曟嵁鍙�")
+    @TableField("order_no")
+    private String orderNo;
+
+    @ApiModelProperty(value= "瀹℃牳")
+    private Integer examine;
+
+    @ApiModelProperty(value= "鎷ユ湁鑰� 1: 鏉板厠   ")
+    private Integer owner;
+
+    /**
+     * 璐х墿褰㈡��:0锛氫唬閲囥��1锛氫粨鍌�
+     */
+    @ApiModelProperty(value= "璐х墿褰㈡��:0锛氫唬閲囥��1锛氫粨鍌�")
+    private Integer payment;
+
+    public String getOwner$(){
+        LocOwnerService service = SpringUtils.getBean(LocOwnerService.class);
+        LocOwner locOwner = service.selectById(this.owner);
+        if (!Cools.isEmpty(locOwner)){
+            return String.valueOf(locOwner.getOwner());
+        }
+        return null;
+    }
+
+    public String getPayment$(){
+        if (null == this.payment){ return null; }
+        switch (this.payment){
+            case 1:
+                return "浠撳偍";
+            case 0:
+                return "浠i噰";
+            default:
+                return String.valueOf(this.payment);
+        }
+    }
+
+
+
+
+//    LocCheck locCheck = new LocCheck(
+//            null,    // 鐘舵��
+//            null,    // 搴撲綅鍙�
+//            null,    // 鐗╂枡鍙�
+//            null,    // 鐩樼偣鍓嶆暟閲�
+//            null,    // 鐪熷疄鏁伴噺
+//            null,    // 鍒涘缓浜�
+//            null,    // 鍒涘缓鏃堕棿
+//            null,    // 淇敼浜�
+//            null,    // 淇敼鏃堕棿
+//            null    // 澶囨敞
+//    );
+
+    public String getType$(){
+        if (null == this.type){ return null; }
+        switch (this.type){
+            case 1:
+                return "鐩樼偣涓�";
+            case 2:
+                return "鐩樼偣缁撴潫";
+            default:
+                return String.valueOf(this.type);
+        }
+    }
+
+    public String getCreateTime$(){
+        if (Cools.isEmpty(this.createTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
+    }
+
+    public String getUpdateTime$(){
+        if (Cools.isEmpty(this.updateTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
+    }
+
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/LocCheckTrim.java b/src/main/java/com/zy/asrs/entity/LocCheckTrim.java
new file mode 100644
index 0000000..8fbc36b
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/LocCheckTrim.java
@@ -0,0 +1,220 @@
+package com.zy.asrs.entity;
+
+import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.enums.IdType;
+import com.baomidou.mybatisplus.annotations.TableField;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import com.core.common.SpringUtils;
+import com.zy.asrs.service.LocOwnerService;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
+
+@Data
+@TableName("man_loc_check_trim")
+public class LocCheckTrim implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 鍞竴ID
+     */
+    @ApiModelProperty(value= "鍞竴ID")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 鐘舵�� 1: 鐩樼偣涓�  2: 鐩樼偣缁撴潫  
+     */
+    @ApiModelProperty(value= "鐘舵�� 1: 鐩樼偣涓�  2: 鐩樼偣缁撴潫  ")
+    private Integer type;
+
+    /**
+     * 搴撲綅鍙�
+     */
+    @ApiModelProperty(value= "搴撲綅鍙�")
+    @TableField("loc_no")
+    private String locNo;
+
+    /**
+     * 鐗╂枡鍙�
+     */
+    @ApiModelProperty(value= "鐗╂枡鍙�")
+    private String matnr;
+
+    /**
+     * 鐩樼偣鍓嶆暟閲�
+     */
+    @ApiModelProperty(value= "鐩樼偣鍓嶆暟閲�")
+    private Double anfme;
+
+    /**
+     * 鐪熷疄鏁伴噺
+     */
+    @ApiModelProperty(value= "鐪熷疄鏁伴噺")
+    @TableField("real_anfme")
+    private Double realAnfme;
+
+    /**
+     * 鍒涘缓浜�
+     */
+    @ApiModelProperty(value= "鍒涘缓浜�")
+    @TableField("create_by")
+    private Long createBy;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    @ApiModelProperty(value= "鍒涘缓鏃堕棿")
+    @TableField("create_time")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * 淇敼浜�
+     */
+    @ApiModelProperty(value= "淇敼浜�")
+    @TableField("update_by")
+    private Long updateBy;
+
+    /**
+     * 淇敼鏃堕棿
+     */
+    @ApiModelProperty(value= "淇敼鏃堕棿")
+    @TableField("update_time")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    /**
+     * 澶囨敞
+     */
+    @ApiModelProperty(value= "澶囨敞")
+    private String memo;
+
+    /**
+     * 宸紓鏁伴噺
+     */
+    @ApiModelProperty(value= "宸紓鏁伴噺")
+    @TableField("diff_anfme")
+    private Double diffAnfme;
+
+    /**
+     * 璁㈠崟鍙�
+     */
+    @ApiModelProperty(value= "璁㈠崟鍙�")
+    @TableField("order_no")
+    private String orderNo;
+
+    /**
+     * 鐗╂枡鍚�
+     */
+    @ApiModelProperty(value= "鐗╂枡鍚�")
+    private String maktx;
+
+    /**
+     * 瀹℃牳
+     */
+    @ApiModelProperty(value= "瀹℃牳")
+    private Integer examine;
+
+    @ApiModelProperty(value= "鎷ユ湁鑰� 1: 鏉板厠   ")
+    private Integer owner;
+
+    /**
+     * 璐х墿褰㈡��:0锛氫唬閲囥��1锛氫粨鍌�
+     */
+    @ApiModelProperty(value= "璐х墿褰㈡��:0锛氫唬閲囥��1锛氫粨鍌�")
+    private Integer payment;
+
+    public String getOwner$(){
+        LocOwnerService service = SpringUtils.getBean(LocOwnerService.class);
+        LocOwner locOwner = service.selectById(this.owner);
+        if (!Cools.isEmpty(locOwner)){
+            return String.valueOf(locOwner.getOwner());
+        }
+        return null;
+    }
+
+    public String getPayment$(){
+        if (null == this.payment){ return null; }
+        switch (this.payment){
+            case 1:
+                return "浠撳偍";
+            case 0:
+                return "浠i噰";
+            default:
+                return String.valueOf(this.payment);
+        }
+    }
+
+    public LocCheckTrim() {}
+
+    public LocCheckTrim(Integer type,String locNo,String matnr,Double anfme,Double realAnfme,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo,Double diffAnfme,String orderNo,String maktx,Integer examine) {
+        this.type = type;
+        this.locNo = locNo;
+        this.matnr = matnr;
+        this.anfme = anfme;
+        this.realAnfme = realAnfme;
+        this.createBy = createBy;
+        this.createTime = createTime;
+        this.updateBy = updateBy;
+        this.updateTime = updateTime;
+        this.memo = memo;
+        this.diffAnfme = diffAnfme;
+        this.orderNo = orderNo;
+        this.maktx = maktx;
+        this.examine = examine;
+    }
+
+//    LocCheckTrim locCheckTrim = new LocCheckTrim(
+//            null,    // 鐘舵��
+//            null,    // 搴撲綅鍙�
+//            null,    // 鐗╂枡鍙�
+//            null,    // 鐩樼偣鍓嶆暟閲�
+//            null,    // 鐪熷疄鏁伴噺
+//            null,    // 鍒涘缓浜�
+//            null,    // 鍒涘缓鏃堕棿
+//            null,    // 淇敼浜�
+//            null,    // 淇敼鏃堕棿
+//            null,    // 澶囨敞
+//            null,    // 宸紓鏁伴噺
+//            null,    // 璁㈠崟鍙�
+//            null,    // 鐗╂枡鍚�
+//            null    // 瀹℃牳
+//    );
+
+    public String getType$(){
+        if (null == this.type){ return null; }
+        switch (this.type){
+            case 1:
+                return "鐩樼偣涓�";
+            case 2:
+                return "鐩樼偣缁撴潫";
+            default:
+                return String.valueOf(this.type);
+        }
+    }
+
+    public String getCreateTime$(){
+        if (Cools.isEmpty(this.createTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
+    }
+
+    public String getUpdateTime$(){
+        if (Cools.isEmpty(this.updateTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
+    }
+
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/OrderCheckLog.java b/src/main/java/com/zy/asrs/entity/OrderCheckLog.java
new file mode 100644
index 0000000..90ff58b
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/OrderCheckLog.java
@@ -0,0 +1,460 @@
+package com.zy.asrs.entity;
+
+import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableField;
+import com.core.common.SpringUtils;
+import com.zy.asrs.service.DocTypeService;
+import com.zy.asrs.entity.DocType;
+import com.core.common.SpringUtils;
+
+import com.core.common.SpringUtils;
+
+import com.core.common.SpringUtils;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import com.core.common.SpringUtils;
+import com.zy.asrs.service.OrderSettleService;
+import com.zy.asrs.entity.OrderSettle;
+import com.core.common.SpringUtils;
+import com.zy.system.service.UserService;
+import com.zy.system.entity.User;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import com.core.common.SpringUtils;
+import com.zy.system.service.UserService;
+import com.zy.system.entity.User;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
+
+@Data
+@TableName("man_order_check_log")
+public class OrderCheckLog implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+    @ApiModelProperty(value= "ID")
+    private Long id;
+
+    /**
+     * 缂栧彿
+     */
+    @ApiModelProperty(value= "缂栧彿")
+    private String uuid;
+
+    /**
+     * 璁㈠崟缂栧彿
+     */
+    @ApiModelProperty(value= "璁㈠崟缂栧彿")
+    @TableField("order_no")
+    private String orderNo;
+
+    /**
+     * 鍗曟嵁鏃ユ湡
+     */
+    @ApiModelProperty(value= "鍗曟嵁鏃ユ湡")
+    @TableField("order_time")
+    private String orderTime;
+
+    /**
+     * 鍗曟嵁绫诲瀷
+     */
+    @ApiModelProperty(value= "鍗曟嵁绫诲瀷")
+    @TableField("doc_type")
+    private Long docType;
+
+    /**
+     * 椤圭洰缂栧彿
+     */
+    @ApiModelProperty(value= "椤圭洰缂栧彿")
+    @TableField("item_id")
+    private Long itemId;
+
+    @ApiModelProperty(value= "")
+    @TableField("item_name")
+    private String itemName;
+
+    /**
+     * 璋冩嫧椤圭洰缂栧彿
+     */
+    @ApiModelProperty(value= "璋冩嫧椤圭洰缂栧彿")
+    @TableField("allot_item_id")
+    private Long allotItemId;
+
+    /**
+     * 鍒濆绁ㄦ嵁鍙�
+     */
+    @ApiModelProperty(value= "鍒濆绁ㄦ嵁鍙�")
+    @TableField("def_number")
+    private String defNumber;
+
+    /**
+     * 绁ㄦ嵁鍙�
+     */
+    @ApiModelProperty(value= "绁ㄦ嵁鍙�")
+    private String number;
+
+    /**
+     * 瀹㈡埛缂栧彿
+     */
+    @ApiModelProperty(value= "瀹㈡埛缂栧彿")
+    private Long cstmr;
+
+    /**
+     * 瀹㈡埛
+     */
+    @ApiModelProperty(value= "瀹㈡埛")
+    @TableField("cstmr_name")
+    private String cstmrName;
+
+    /**
+     * 鑱旂郴鏂瑰紡
+     */
+    @ApiModelProperty(value= "鑱旂郴鏂瑰紡")
+    private String tel;
+
+    /**
+     * 鎿嶄綔浜哄憳
+     */
+    @ApiModelProperty(value= "鎿嶄綔浜哄憳")
+    @TableField("oper_memb")
+    private String operMemb;
+
+    /**
+     * 鍚堣閲戦
+     */
+    @ApiModelProperty(value= "鍚堣閲戦")
+    @TableField("total_fee")
+    private Double totalFee;
+
+    /**
+     * 浼樻儬鐜�
+     */
+    @ApiModelProperty(value= "浼樻儬鐜�")
+    private Double discount;
+
+    /**
+     * 浼樻儬閲戦
+     */
+    @ApiModelProperty(value= "浼樻儬閲戦")
+    @TableField("discount_fee")
+    private Double discountFee;
+
+    /**
+     * 閿�鍞垨閲囪喘璐圭敤鍚堣
+     */
+    @ApiModelProperty(value= "閿�鍞垨閲囪喘璐圭敤鍚堣")
+    @TableField("other_fee")
+    private Double otherFee;
+
+    /**
+     * 瀹炰粯閲戦
+     */
+    @ApiModelProperty(value= "瀹炰粯閲戦")
+    @TableField("act_fee")
+    private Double actFee;
+
+    /**
+     * 浠樻绫诲瀷 1: 鐜伴噾  2: 璁拌处  
+     */
+    @ApiModelProperty(value= "浠樻绫诲瀷 1: 鐜伴噾  2: 璁拌处  ")
+    @TableField("pay_type")
+    private Integer payType;
+
+    /**
+     * 涓氬姟鍛�
+     */
+    @ApiModelProperty(value= "涓氬姟鍛�")
+    private String salesman;
+
+    /**
+     * 缁撶畻澶╂暟
+     */
+    @ApiModelProperty(value= "缁撶畻澶╂暟")
+    @TableField("account_day")
+    private Integer accountDay;
+
+    /**
+     * 閭垂鏀粯绫诲瀷 1: 鍦ㄧ嚎鏀粯  2: 璐у埌浠樻  
+     */
+    @ApiModelProperty(value= "閭垂鏀粯绫诲瀷 1: 鍦ㄧ嚎鏀粯  2: 璐у埌浠樻  ")
+    @TableField("post_fee_type")
+    private Integer postFeeType;
+
+    /**
+     * 閭垂
+     */
+    @ApiModelProperty(value= "閭垂")
+    @TableField("post_fee")
+    private Double postFee;
+
+    /**
+     * 浠樻鏃堕棿
+     */
+    @ApiModelProperty(value= "浠樻鏃堕棿")
+    @TableField("pay_time")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date payTime;
+
+    /**
+     * 鍙戣揣鏃堕棿
+     */
+    @ApiModelProperty(value= "鍙戣揣鏃堕棿")
+    @TableField("send_time")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date sendTime;
+
+    /**
+     * 鐗╂祦鍚嶇О
+     */
+    @ApiModelProperty(value= "鐗╂祦鍚嶇О")
+    @TableField("ship_name")
+    private String shipName;
+
+    /**
+     * 鐗╂祦鍗曞彿
+     */
+    @ApiModelProperty(value= "鐗╂祦鍗曞彿")
+    @TableField("ship_code")
+    private String shipCode;
+
+    /**
+     * 璁㈠崟鐘舵��
+     */
+    @ApiModelProperty(value= "璁㈠崟鐘舵��")
+    private Long settle;
+
+    /**
+     * 鐘舵�� 1: 姝e父  0: 绂佺敤  
+     */
+    @ApiModelProperty(value= "鐘舵�� 1: 姝e父  0: 绂佺敤  ")
+    private Integer status;
+
+    /**
+     * 娣诲姞浜哄憳
+     */
+    @ApiModelProperty(value= "娣诲姞浜哄憳")
+    @TableField("create_by")
+    private Long createBy;
+
+    /**
+     * 娣诲姞鏃堕棿
+     */
+    @ApiModelProperty(value= "娣诲姞鏃堕棿")
+    @TableField("create_time")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * 淇敼浜哄憳
+     */
+    @ApiModelProperty(value= "淇敼浜哄憳")
+    @TableField("update_by")
+    private Long updateBy;
+
+    /**
+     * 淇敼鏃堕棿
+     */
+    @ApiModelProperty(value= "淇敼鏃堕棿")
+    @TableField("update_time")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    /**
+     * 澶囨敞
+     */
+    @ApiModelProperty(value= "澶囨敞")
+    private String memo;
+
+    public OrderCheckLog() {}
+
+    public OrderCheckLog(Long id,String uuid,String orderNo,String orderTime,Long docType,Long itemId,String itemName,Long allotItemId,String defNumber,String number,Long cstmr,String cstmrName,String tel,String operMemb,Double totalFee,Double discount,Double discountFee,Double otherFee,Double actFee,Integer payType,String salesman,Integer accountDay,Integer postFeeType,Double postFee,Date payTime,Date sendTime,String shipName,String shipCode,Long settle,Integer status,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
+        this.id = id;
+        this.uuid = uuid;
+        this.orderNo = orderNo;
+        this.orderTime = orderTime;
+        this.docType = docType;
+        this.itemId = itemId;
+        this.itemName = itemName;
+        this.allotItemId = allotItemId;
+        this.defNumber = defNumber;
+        this.number = number;
+        this.cstmr = cstmr;
+        this.cstmrName = cstmrName;
+        this.tel = tel;
+        this.operMemb = operMemb;
+        this.totalFee = totalFee;
+        this.discount = discount;
+        this.discountFee = discountFee;
+        this.otherFee = otherFee;
+        this.actFee = actFee;
+        this.payType = payType;
+        this.salesman = salesman;
+        this.accountDay = accountDay;
+        this.postFeeType = postFeeType;
+        this.postFee = postFee;
+        this.payTime = payTime;
+        this.sendTime = sendTime;
+        this.shipName = shipName;
+        this.shipCode = shipCode;
+        this.settle = settle;
+        this.status = status;
+        this.createBy = createBy;
+        this.createTime = createTime;
+        this.updateBy = updateBy;
+        this.updateTime = updateTime;
+        this.memo = memo;
+    }
+
+//    OrderCheckLog orderCheckLog = new OrderCheckLog(
+//            null,    // ID[闈炵┖]
+//            null,    // 缂栧彿[闈炵┖]
+//            null,    // 璁㈠崟缂栧彿
+//            null,    // 鍗曟嵁鏃ユ湡
+//            null,    // 鍗曟嵁绫诲瀷
+//            null,    // 椤圭洰缂栧彿
+//            null,    // 
+//            null,    // 璋冩嫧椤圭洰缂栧彿
+//            null,    // 鍒濆绁ㄦ嵁鍙�
+//            null,    // 绁ㄦ嵁鍙�
+//            null,    // 瀹㈡埛缂栧彿
+//            null,    // 瀹㈡埛
+//            null,    // 鑱旂郴鏂瑰紡
+//            null,    // 鎿嶄綔浜哄憳
+//            null,    // 鍚堣閲戦
+//            null,    // 浼樻儬鐜�
+//            null,    // 浼樻儬閲戦
+//            null,    // 閿�鍞垨閲囪喘璐圭敤鍚堣
+//            null,    // 瀹炰粯閲戦
+//            null,    // 浠樻绫诲瀷
+//            null,    // 涓氬姟鍛�
+//            null,    // 缁撶畻澶╂暟
+//            null,    // 閭垂鏀粯绫诲瀷
+//            null,    // 閭垂
+//            null,    // 浠樻鏃堕棿
+//            null,    // 鍙戣揣鏃堕棿
+//            null,    // 鐗╂祦鍚嶇О
+//            null,    // 鐗╂祦鍗曞彿
+//            null,    // 璁㈠崟鐘舵��
+//            null,    // 鐘舵��
+//            null,    // 娣诲姞浜哄憳
+//            null,    // 娣诲姞鏃堕棿
+//            null,    // 淇敼浜哄憳
+//            null,    // 淇敼鏃堕棿
+//            null    // 澶囨敞
+//    );
+
+    public String getDocType$(){
+        DocTypeService service = SpringUtils.getBean(DocTypeService.class);
+        DocType docType = service.selectById(this.docType);
+        if (!Cools.isEmpty(docType)){
+            return String.valueOf(docType.getDocName());
+        }
+        return null;
+    }
+
+
+
+    public String getPayType$(){
+        if (null == this.payType){ return null; }
+        switch (this.payType){
+            case 1:
+                return "鐜伴噾";
+            case 2:
+                return "璁拌处";
+            default:
+                return String.valueOf(this.payType);
+        }
+    }
+
+    public String getPostFeeType$(){
+        if (null == this.postFeeType){ return null; }
+        switch (this.postFeeType){
+            case 1:
+                return "鍦ㄧ嚎鏀粯";
+            case 2:
+                return "璐у埌浠樻";
+            default:
+                return String.valueOf(this.postFeeType);
+        }
+    }
+
+    public String getPayTime$(){
+        if (Cools.isEmpty(this.payTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.payTime);
+    }
+
+    public String getSendTime$(){
+        if (Cools.isEmpty(this.sendTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.sendTime);
+    }
+
+    public String getSettle$(){
+        OrderSettleService service = SpringUtils.getBean(OrderSettleService.class);
+        OrderSettle orderSettle = service.selectById(this.settle);
+        if (!Cools.isEmpty(orderSettle)){
+            return String.valueOf(orderSettle.getSettleName());
+        }
+        return null;
+    }
+
+    public String getStatus$(){
+        if (null == this.status){ return null; }
+        switch (this.status){
+            case 1:
+                return "姝e父";
+            case 0:
+                return "绂佺敤";
+            default:
+                return String.valueOf(this.status);
+        }
+    }
+
+    public String getCreateBy$(){
+        UserService service = SpringUtils.getBean(UserService.class);
+        User user = service.selectById(this.createBy);
+        if (!Cools.isEmpty(user)){
+            return String.valueOf(user.getNickname());
+        }
+        return null;
+    }
+
+    public String getCreateTime$(){
+        if (Cools.isEmpty(this.createTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
+    }
+
+    public String getUpdateBy$(){
+        UserService service = SpringUtils.getBean(UserService.class);
+        User user = service.selectById(this.updateBy);
+        if (!Cools.isEmpty(user)){
+            return String.valueOf(user.getNickname());
+        }
+        return null;
+    }
+
+    public String getUpdateTime$(){
+        if (Cools.isEmpty(this.updateTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
+    }
+
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/LocCheckLogMapper.java b/src/main/java/com/zy/asrs/mapper/LocCheckLogMapper.java
new file mode 100644
index 0000000..3253d8b
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/LocCheckLogMapper.java
@@ -0,0 +1,34 @@
+package com.zy.asrs.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.LocCheck;
+import com.zy.asrs.entity.LocCheckLog;
+import com.zy.asrs.entity.ManLocDetl;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Mapper
+@Repository
+public interface LocCheckLogMapper extends BaseMapper<LocCheckLog> {
+
+    List<ManLocDetl> getAutoLocDetl();
+
+    List<ManLocDetl> getCountLocDetl(@Param("count") int count);
+
+    List<ManLocDetl> getMatnrCountLocDetl(@Param("count") int count,@Param("matnr") String matnr);
+
+    List<ManLocDetl> getLocCountLocDetl(@Param("count") int count,@Param("loc_no") String locno);
+
+    @Delete("DELETE FROM man_loc_check")
+    boolean deleteAll();
+
+    List<String> getLocCount();
+
+    @Insert("insert into man_loc_check_log select * from man_loc_check where order_no=#{orderNo}")
+    int save(String orderNo);
+}
diff --git a/src/main/java/com/zy/asrs/mapper/LocCheckMapper.java b/src/main/java/com/zy/asrs/mapper/LocCheckMapper.java
index 25b45de..9917cca 100644
--- a/src/main/java/com/zy/asrs/mapper/LocCheckMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocCheckMapper.java
@@ -2,6 +2,7 @@
 
 import com.zy.asrs.entity.LocCheck;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.LocOwner;
 import com.zy.asrs.entity.ManLocDetl;
 import org.apache.ibatis.annotations.Delete;
 import org.apache.ibatis.annotations.Mapper;
@@ -20,7 +21,14 @@
 
     List<ManLocDetl> getMatnrCountLocDetl(@Param("count") int count,@Param("matnr") String matnr);
 
+    List<ManLocDetl> getLocCountLocDetl(@Param("count") int count,@Param("loc_no") String locno);
+
     @Delete("DELETE FROM man_loc_check")
     boolean deleteAll();
 
+    List<String> getLocCount();
+
+    List<LocOwner> getOwnerCount();
+
+    List<ManLocDetl> getOwnerCountLocDetl(int count, String owner);
 }
diff --git a/src/main/java/com/zy/asrs/mapper/LocCheckTrimMapper.java b/src/main/java/com/zy/asrs/mapper/LocCheckTrimMapper.java
new file mode 100644
index 0000000..994e9c2
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/LocCheckTrimMapper.java
@@ -0,0 +1,31 @@
+package com.zy.asrs.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.LocCheck;
+import com.zy.asrs.entity.LocCheckTrim;
+import com.zy.asrs.entity.ManLocDetl;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Mapper
+@Repository
+public interface LocCheckTrimMapper extends BaseMapper<LocCheckTrim> {
+
+    List<ManLocDetl> getAutoLocDetl();
+
+    List<ManLocDetl> getCountLocDetl(@Param("count") int count);
+
+    List<ManLocDetl> getMatnrCountLocDetl(@Param("count") int count,@Param("matnr") String matnr);
+
+    List<ManLocDetl> getLocCountLocDetl(@Param("count") int count,@Param("loc_no") String locno);
+
+    @Delete("DELETE FROM man_loc_check")
+    boolean deleteAll();
+
+    List<String> getLocCount();
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/OrderCheckLogMapper.java b/src/main/java/com/zy/asrs/mapper/OrderCheckLogMapper.java
new file mode 100644
index 0000000..bb77aeb
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/OrderCheckLogMapper.java
@@ -0,0 +1,35 @@
+package com.zy.asrs.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.OrderCheck;
+import com.zy.asrs.entity.OrderCheckLog;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Mapper
+@Repository
+public interface OrderCheckLogMapper extends BaseMapper<OrderCheckLog> {
+
+    int updateSettle(@Param("orderId")Long orderId, @Param("settle")Long settle, @Param("userId")Long userId);
+
+    List<OrderCheck> selectComplete();
+
+    int addToLogTable(OrderCheck orderCheck);
+
+    Integer checkDetlWorkQtyLess0(@Param("orderNo") String orderNo);
+
+    void updateSettleTo1(@Param("orderNo")String orderNo);
+
+
+
+    List<OrderCheck> selectToBeHistoryOrder();
+
+    @Insert("insert into man_order_check_log select * from man_order_check where order_no=#{orderNo}")
+    int save(String orderNo);
+
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/OrderCheckMapper.java b/src/main/java/com/zy/asrs/mapper/OrderCheckMapper.java
index fe89f87..28f8e1b 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderCheckMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderCheckMapper.java
@@ -25,5 +25,5 @@
 
 
 
-    List<OrderCheck> selectToBeHistoryOrder(@Param("settle")int settle);
+    List<OrderCheck> selectToBeHistoryOrder();
 }
diff --git a/src/main/java/com/zy/asrs/service/LocCheckLogService.java b/src/main/java/com/zy/asrs/service/LocCheckLogService.java
new file mode 100644
index 0000000..0424cba
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/LocCheckLogService.java
@@ -0,0 +1,25 @@
+package com.zy.asrs.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.LocCheck;
+import com.zy.asrs.entity.LocCheckLog;
+import com.zy.asrs.entity.ManLocDetl;
+
+import java.util.List;
+
+public interface LocCheckLogService extends IService<LocCheckLog> {
+
+    List<ManLocDetl> autoCreatePick();
+
+    List<ManLocDetl> getCountLocDetl(int count);
+
+    List<ManLocDetl> getMatnrCountLocDetl(int count,String matnr);
+
+    List<ManLocDetl> getLocCountLocDetl(int count,String locno);
+
+    boolean deleteAll();
+
+    List<String> getLocCount();
+
+    boolean save(String orderNo);
+}
diff --git a/src/main/java/com/zy/asrs/service/LocCheckService.java b/src/main/java/com/zy/asrs/service/LocCheckService.java
index 661a6f1..83f06f6 100644
--- a/src/main/java/com/zy/asrs/service/LocCheckService.java
+++ b/src/main/java/com/zy/asrs/service/LocCheckService.java
@@ -2,6 +2,7 @@
 
 import com.zy.asrs.entity.LocCheck;
 import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.LocOwner;
 import com.zy.asrs.entity.ManLocDetl;
 
 import java.util.List;
@@ -14,5 +15,12 @@
 
     List<ManLocDetl> getMatnrCountLocDetl(int count,String matnr);
 
+    List<ManLocDetl> getLocCountLocDetl(int count,String locno);
+
+    List<ManLocDetl> getOwnerCountLocDetl(int count,String owner);
+
     boolean deleteAll();
+
+    List<String> getLocCount();
+    List<LocOwner> getOwnerCount();
 }
diff --git a/src/main/java/com/zy/asrs/service/LocCheckTrimService.java b/src/main/java/com/zy/asrs/service/LocCheckTrimService.java
new file mode 100644
index 0000000..901d4a7
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/LocCheckTrimService.java
@@ -0,0 +1,23 @@
+package com.zy.asrs.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.LocCheck;
+import com.zy.asrs.entity.LocCheckTrim;
+import com.zy.asrs.entity.ManLocDetl;
+
+import java.util.List;
+
+public interface LocCheckTrimService extends IService<LocCheckTrim> {
+
+    List<ManLocDetl> autoCreatePick();
+
+    List<ManLocDetl> getCountLocDetl(int count);
+
+    List<ManLocDetl> getMatnrCountLocDetl(int count,String matnr);
+
+    List<ManLocDetl> getLocCountLocDetl(int count,String locno);
+
+    boolean deleteAll();
+
+    List<String> getLocCount();
+}
diff --git a/src/main/java/com/zy/asrs/service/OrderCheckLogService.java b/src/main/java/com/zy/asrs/service/OrderCheckLogService.java
new file mode 100644
index 0000000..c2c51fb
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/OrderCheckLogService.java
@@ -0,0 +1,14 @@
+package com.zy.asrs.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.*;
+
+
+public interface OrderCheckLogService extends IService<OrderCheckLog> {
+
+
+    boolean save(String orderNo);
+
+
+    OrderCheckLog selectByNo(String orderNo);
+}
diff --git a/src/main/java/com/zy/asrs/service/OrderCheckService.java b/src/main/java/com/zy/asrs/service/OrderCheckService.java
index 6e83923..0291016 100644
--- a/src/main/java/com/zy/asrs/service/OrderCheckService.java
+++ b/src/main/java/com/zy/asrs/service/OrderCheckService.java
@@ -26,7 +26,7 @@
     void BackToInit(String orderNo);
 
 
-    List<OrderCheck> selectToBeHistoryOrder(boolean isERP);
+    List<OrderCheck> selectToBeHistoryOrder();
 
     void remove(String orderNo);
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/LocCheckLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocCheckLogServiceImpl.java
new file mode 100644
index 0000000..b8fd61e
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/LocCheckLogServiceImpl.java
@@ -0,0 +1,58 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.asrs.entity.LocCheck;
+import com.zy.asrs.entity.LocCheckLog;
+import com.zy.asrs.entity.ManLocDetl;
+import com.zy.asrs.mapper.LocCheckLogMapper;
+import com.zy.asrs.mapper.LocCheckMapper;
+import com.zy.asrs.service.LocCheckLogService;
+import com.zy.asrs.service.LocCheckService;
+import com.zy.asrs.service.ManLocDetlService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service("LocCheckLogService")
+public class LocCheckLogServiceImpl extends ServiceImpl<LocCheckLogMapper, LocCheckLog> implements LocCheckLogService {
+    @Autowired
+    private ManLocDetlService manLocDetlService;
+
+    @Override
+    public List<ManLocDetl> autoCreatePick() {
+        return  this.baseMapper.getAutoLocDetl();
+    }
+
+    @Override
+    public List<ManLocDetl> getCountLocDetl(int count) {
+        return this.baseMapper.getCountLocDetl(count);
+    }
+
+    @Override
+    public List<ManLocDetl> getMatnrCountLocDetl(int count, String matnr) {
+        return this.baseMapper.getMatnrCountLocDetl(count,matnr);
+    }
+
+    @Override
+    public List<ManLocDetl> getLocCountLocDetl(int count, String locno) {
+        return this.baseMapper.getLocCountLocDetl(count,locno);
+    }
+
+    @Override
+    public boolean deleteAll() {
+        return this.baseMapper.deleteAll();
+    }
+
+    @Override
+    public List getLocCount() {
+        return this.baseMapper.getLocCount();
+    }
+
+    @Override
+    public boolean save(String orderNo) {
+        return this.baseMapper.save(orderNo)>0;
+    }
+
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/LocCheckServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocCheckServiceImpl.java
index 869719e..9c8205c 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocCheckServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocCheckServiceImpl.java
@@ -1,5 +1,6 @@
 package com.zy.asrs.service.impl;
 
+import com.zy.asrs.entity.LocOwner;
 import com.zy.asrs.entity.ManLocDetl;
 import com.zy.asrs.mapper.LocCheckMapper;
 import com.zy.asrs.entity.LocCheck;
@@ -35,4 +36,23 @@
     public boolean deleteAll() {
         return this.baseMapper.deleteAll();
     }
+    @Override
+    public List<ManLocDetl> getLocCountLocDetl(int count, String locno) {
+        return this.baseMapper.getLocCountLocDetl(count,locno);
+    }
+
+    @Override
+    public List<ManLocDetl> getOwnerCountLocDetl(int count, String owner) {
+        return this.baseMapper.getOwnerCountLocDetl(count,owner);
+    }
+
+    @Override
+    public List getLocCount() {
+        return this.baseMapper.getLocCount();
+    }
+
+    @Override
+    public List<LocOwner> getOwnerCount() {
+        return this.baseMapper.getOwnerCount();
+    }
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/LocCheckTrimServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocCheckTrimServiceImpl.java
new file mode 100644
index 0000000..b1e1970
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/LocCheckTrimServiceImpl.java
@@ -0,0 +1,53 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.asrs.entity.LocCheck;
+import com.zy.asrs.entity.LocCheckTrim;
+import com.zy.asrs.entity.ManLocDetl;
+import com.zy.asrs.mapper.LocCheckMapper;
+import com.zy.asrs.mapper.LocCheckTrimMapper;
+import com.zy.asrs.service.LocCheckService;
+import com.zy.asrs.service.LocCheckTrimService;
+import com.zy.asrs.service.ManLocDetlService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service("LocCheckTrimService")
+public class LocCheckTrimServiceImpl extends ServiceImpl<LocCheckTrimMapper, LocCheckTrim> implements LocCheckTrimService {
+    @Autowired
+    private ManLocDetlService manLocDetlService;
+
+    @Override
+    public List<ManLocDetl> autoCreatePick() {
+        return  this.baseMapper.getAutoLocDetl();
+    }
+
+    @Override
+    public List<ManLocDetl> getCountLocDetl(int count) {
+        return this.baseMapper.getCountLocDetl(count);
+    }
+
+    @Override
+    public List<ManLocDetl> getMatnrCountLocDetl(int count, String matnr) {
+        return this.baseMapper.getMatnrCountLocDetl(count,matnr);
+    }
+
+    @Override
+    public List<ManLocDetl> getLocCountLocDetl(int count, String locno) {
+        return this.baseMapper.getLocCountLocDetl(count,locno);
+    }
+
+    @Override
+    public boolean deleteAll() {
+        return this.baseMapper.deleteAll();
+    }
+
+    @Override
+    public List getLocCount() {
+        return this.baseMapper.getLocCount();
+    }
+
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index bee7db5..e147b9b 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -15,6 +15,7 @@
 import com.zy.asrs.mapper.ManLocDetlMapper;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.MatUtils;
+import com.zy.asrs.utils.SaasUtils;
 import com.zy.common.CodeRes;
 import com.zy.common.constant.MesConstant;
 import com.zy.common.entity.Parameter;
@@ -698,6 +699,7 @@
                     return R.error("鏇存柊骞冲簱搴撳瓨鐘舵�佸け璐�");
                 }
             }
+            SaasUtils.insertLog(1,jsonLocNo,jsonOrderDetl.getMatnr(), jsonOrderDetl.getAnfme());
 
         }
         return R.ok("涓嬫灦瀹屾垚");
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderCheckLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderCheckLogServiceImpl.java
new file mode 100644
index 0000000..d433ce5
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/OrderCheckLogServiceImpl.java
@@ -0,0 +1,42 @@
+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.core.common.DateUtils;
+import com.core.common.SnowflakeIdWorker;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.OpenOrderPakinParam;
+import com.zy.asrs.entity.param.OpenOrderPakoutParam;
+import com.zy.asrs.mapper.OrderCheckLogMapper;
+import com.zy.asrs.mapper.OrderCheckMapper;
+import com.zy.asrs.mapper.OrderDetlMapper;
+import com.zy.asrs.service.*;
+import com.zy.common.model.DetlDto;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@Service("OrderCheckLogService")
+public class OrderCheckLogServiceImpl extends ServiceImpl<OrderCheckLogMapper, OrderCheckLog> implements OrderCheckLogService{
+
+
+    @Override
+    public boolean save(String orderNo) {
+        return this.baseMapper.save(orderNo) >0;
+    }
+
+    @Override
+    public OrderCheckLog selectByNo(String orderNo) {
+        List<OrderCheckLog> orderList = this.selectList(new EntityWrapper<OrderCheckLog>().eq("order_no", orderNo));
+        if (Cools.isEmpty(orderList)) {
+            return null;
+        }
+        return orderList.get(0);
+    }
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderCheckServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderCheckServiceImpl.java
index 6ab4f2a..05f9116 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderCheckServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderCheckServiceImpl.java
@@ -166,9 +166,8 @@
     }
 
     @Override
-    public List<OrderCheck> selectToBeHistoryOrder(boolean isERP) {
-        int settle = isERP ? 6 : 4;
-        return this.baseMapper.selectToBeHistoryOrder(settle);
+    public List<OrderCheck> selectToBeHistoryOrder() {
+        return this.baseMapper.selectToBeHistoryOrder();
     }
 
     @Override
diff --git a/src/main/java/com/zy/asrs/task/OrderCheckScheduler.java b/src/main/java/com/zy/asrs/task/OrderCheckScheduler.java
new file mode 100644
index 0000000..22809a7
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/OrderCheckScheduler.java
@@ -0,0 +1,70 @@
+package com.zy.asrs.task;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.zy.asrs.entity.LocCheck;
+import com.zy.asrs.entity.Order;
+import com.zy.asrs.entity.OrderCheck;
+import com.zy.asrs.service.LocCheckService;
+import com.zy.asrs.service.OrderCheckService;
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.task.handler.OrderCheckHandler;
+import com.zy.asrs.task.handler.OrderLogHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+@Slf4j
+@Component
+public class OrderCheckScheduler {
+    @Autowired
+    private LocCheckService locCheckService;
+    @Autowired
+    private OrderCheckService orderCheckService;
+
+    @Autowired
+    private OrderCheckHandler orderCheckHandler;
+
+    //瀹氭椂浠诲姟锛屽垽鏂洏鐐瑰崟鎹唴鎵�鏈夋潯鐩槸鍚﹀鏍稿畬鎴愶紝瀹屾垚鍒欐洿鏀圭洏鐐瑰崟鐘舵��
+    @Scheduled(cron = "0/10 * * * * ? ")
+    private void execute(){
+
+        List<OrderCheck> orderChecks = orderCheckService.selectList(null);
+
+        for (OrderCheck orderCheck : orderChecks){
+            if (orderCheck.getSettle() == 1 || orderCheck.getSettle() == 2){
+                EntityWrapper<LocCheck> locCheckEntityWrapper = new EntityWrapper<>();
+                locCheckEntityWrapper.eq("order_no",orderCheck.getOrderNo());
+                List<LocCheck> locChecks = locCheckService.selectList(locCheckEntityWrapper);
+                int status = 1;
+                for (LocCheck locCheck : locChecks){
+                    if (locCheck.getExamine() == 0 ){
+                        status = 0;
+                    }
+                }
+                if (status != 0){
+                    orderCheck.setSettle(4L);
+                    orderCheckService.updateById(orderCheck);
+                }
+            }
+        }
+    }
+    //瀹氭椂浠诲姟 灏嗗凡瀹屾垚鐨勭洏鐐瑰崟浠庝富琛ㄨ浆绉昏嚦鍘嗗彶妗�
+    @Scheduled(cron = "0/10 * * * * ? ")
+    private void executeLog(){
+        List<OrderCheck> orders = orderCheckService.selectToBeHistoryOrder();
+        if (orders.isEmpty()) {
+            return;
+        }
+        for (OrderCheck order : orders) {
+            ReturnT<String> result = orderCheckHandler.start(order);
+            if (!result.isSuccess()) {
+                log.error("鍗曟嵁妗orderNo={}]鍘嗗彶妗e鐞嗗け璐�", order.getOrderNo());
+            }
+        }
+    }
+
+
+}
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderCheckHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderCheckHandler.java
new file mode 100644
index 0000000..75fe659
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/handler/OrderCheckHandler.java
@@ -0,0 +1,61 @@
+package com.zy.asrs.task.handler;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.zy.asrs.entity.LocCheck;
+import com.zy.asrs.entity.Order;
+import com.zy.asrs.entity.OrderCheck;
+import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.service.LocCheckLogService;
+import com.zy.asrs.service.LocCheckService;
+import com.zy.asrs.service.OrderCheckLogService;
+import com.zy.asrs.service.OrderCheckService;
+import com.zy.asrs.task.AbstractHandler;
+import com.zy.asrs.task.core.ReturnT;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+
+@Slf4j
+@Service
+public class OrderCheckHandler extends AbstractHandler<String> {
+    @Autowired
+    private LocCheckService locCheckService;
+    @Autowired
+    private OrderCheckService orderCheckService;
+
+    @Autowired
+    private LocCheckLogService locCheckLogService;
+    @Autowired
+    private OrderCheckLogService orderCheckLogService;
+
+    @Transactional
+    public ReturnT<String> start(OrderCheck order) {
+        try {
+            // 淇濆瓨鍗曟嵁涓绘。鍘嗗彶妗�
+            if (!orderCheckLogService.save(order.getOrderNo())) {
+                exceptionHandle("淇濆瓨鍗曟嵁鍘嗗彶妗orderNo={0}]澶辫触", order.getOrderNo());
+            }
+            // 鍒犻櫎鍗曟嵁涓绘。
+            if (!orderCheckService.deleteById(order)) {
+                exceptionHandle("鍒犻櫎鍗曟嵁涓绘。[orderNo={0}]澶辫触", order.getOrderNo());
+            }
+            // 淇濆瓨鍗曟嵁鏄庣粏妗e巻鍙叉。
+            if (!locCheckLogService.save(order.getOrderNo())) {
+                exceptionHandle("淇濆瓨鍗曟嵁鏄庣粏鍘嗗彶妗orderNo={0}]澶辫触", order.getOrderNo());
+            }
+            // 鍒犻櫎宸ヤ綔鏄庣粏妗�
+            if (!locCheckService.delete(new EntityWrapper<LocCheck>().eq("order_no", order.getOrderNo()))) {
+                exceptionHandle("鍒犻櫎鍗曟嵁鏄庣粏妗orderNo={0}]澶辫触", order.getOrderNo());
+            }
+
+        } catch (Exception e) {
+            log.error("fail", e);
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return FAIL.setMsg(e.getMessage());
+        }
+        return SUCCESS;
+    }
+}
diff --git a/src/main/java/com/zy/common/CodeBuilder.java b/src/main/java/com/zy/common/CodeBuilder.java
index 3c19af8..87f6fde 100644
--- a/src/main/java/com/zy/common/CodeBuilder.java
+++ b/src/main/java/com/zy/common/CodeBuilder.java
@@ -20,7 +20,7 @@
         generator.url="192.168.4.15:1433;databasename=stasrs";
         generator.username="sa";
         generator.password="sa@123";
-        generator.table="man_order_log";
+        generator.table="man_loc_check_trim";
         generator.packagePath="com.zy.asrs";
         generator.build();
     }
diff --git a/src/main/java/locCheck.sql b/src/main/java/locCheck.sql
new file mode 100644
index 0000000..9ca7a15
--- /dev/null
+++ b/src/main/java/locCheck.sql
@@ -0,0 +1,18 @@
+-- save locCheck record
+-- mysql
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCheck/locCheck.html', 'locCheck绠$悊', null , '2', null , '1');
+
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCheck#view', '鏌ヨ', '', '3', '0', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCheck#btn-add', '鏂板', '', '3', '1', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCheck#btn-edit', '缂栬緫', '', '3', '2', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCheck#btn-delete', '鍒犻櫎', '', '3', '3', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCheck#btn-export', '瀵煎嚭', '', '3', '4', '1');
+
+-- sqlserver
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCheck/locCheck.html', N'locCheck绠$悊', null, '2', null, '1');
+
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCheck#view', N'鏌ヨ', '', '3', '0', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCheck#btn-add', N'鏂板', '', '3', '1', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCheck#btn-edit', N'缂栬緫', '', '3', '2', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCheck#btn-delete', N'鍒犻櫎', '', '3', '3', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCheck#btn-export', N'瀵煎嚭', '', '3', '4', '1');
diff --git a/src/main/java/locCheckLog.sql b/src/main/java/locCheckLog.sql
new file mode 100644
index 0000000..8dcaf43
--- /dev/null
+++ b/src/main/java/locCheckLog.sql
@@ -0,0 +1,18 @@
+-- save locCheckLog record
+-- mysql
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCheckLog/locCheckLog.html', 'locCheckLog绠$悊', null , '2', null , '1');
+
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCheckLog#view', '鏌ヨ', '', '3', '0', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCheckLog#btn-add', '鏂板', '', '3', '1', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCheckLog#btn-edit', '缂栬緫', '', '3', '2', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCheckLog#btn-delete', '鍒犻櫎', '', '3', '3', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCheckLog#btn-export', '瀵煎嚭', '', '3', '4', '1');
+
+-- sqlserver
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCheckLog/locCheckLog.html', N'locCheckLog绠$悊', null, '2', null, '1');
+
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCheckLog#view', N'鏌ヨ', '', '3', '0', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCheckLog#btn-add', N'鏂板', '', '3', '1', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCheckLog#btn-edit', N'缂栬緫', '', '3', '2', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCheckLog#btn-delete', N'鍒犻櫎', '', '3', '3', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCheckLog#btn-export', N'瀵煎嚭', '', '3', '4', '1');
diff --git a/src/main/java/locCheckTrim.sql b/src/main/java/locCheckTrim.sql
new file mode 100644
index 0000000..c02b332
--- /dev/null
+++ b/src/main/java/locCheckTrim.sql
@@ -0,0 +1,18 @@
+-- save locCheckTrim record
+-- mysql
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCheckTrim/locCheckTrim.html', 'locCheckTrim绠$悊', null , '2', null , '1');
+
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCheckTrim#view', '鏌ヨ', '', '3', '0', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCheckTrim#btn-add', '鏂板', '', '3', '1', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCheckTrim#btn-edit', '缂栬緫', '', '3', '2', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCheckTrim#btn-delete', '鍒犻櫎', '', '3', '3', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCheckTrim#btn-export', '瀵煎嚭', '', '3', '4', '1');
+
+-- sqlserver
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCheckTrim/locCheckTrim.html', N'locCheckTrim绠$悊', null, '2', null, '1');
+
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCheckTrim#view', N'鏌ヨ', '', '3', '0', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCheckTrim#btn-add', N'鏂板', '', '3', '1', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCheckTrim#btn-edit', N'缂栬緫', '', '3', '2', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCheckTrim#btn-delete', N'鍒犻櫎', '', '3', '3', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCheckTrim#btn-export', N'瀵煎嚭', '', '3', '4', '1');
diff --git a/src/main/java/orderCheck.sql b/src/main/java/orderCheck.sql
new file mode 100644
index 0000000..29f42f1
--- /dev/null
+++ b/src/main/java/orderCheck.sql
@@ -0,0 +1,18 @@
+-- save orderCheck record
+-- mysql
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'orderCheck/orderCheck.html', 'orderCheck绠$悊', null , '2', null , '1');
+
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'orderCheck#view', '鏌ヨ', '', '3', '0', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'orderCheck#btn-add', '鏂板', '', '3', '1', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'orderCheck#btn-edit', '缂栬緫', '', '3', '2', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'orderCheck#btn-delete', '鍒犻櫎', '', '3', '3', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'orderCheck#btn-export', '瀵煎嚭', '', '3', '4', '1');
+
+-- sqlserver
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'orderCheck/orderCheck.html', N'orderCheck绠$悊', null, '2', null, '1');
+
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'orderCheck#view', N'鏌ヨ', '', '3', '0', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'orderCheck#btn-add', N'鏂板', '', '3', '1', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'orderCheck#btn-edit', N'缂栬緫', '', '3', '2', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'orderCheck#btn-delete', N'鍒犻櫎', '', '3', '3', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'orderCheck#btn-export', N'瀵煎嚭', '', '3', '4', '1');
diff --git a/src/main/java/orderCheckLog.sql b/src/main/java/orderCheckLog.sql
new file mode 100644
index 0000000..f03f73c
--- /dev/null
+++ b/src/main/java/orderCheckLog.sql
@@ -0,0 +1,18 @@
+-- save orderCheckLog record
+-- mysql
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'orderCheckLog/orderCheckLog.html', 'orderCheckLog绠$悊', null , '2', null , '1');
+
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'orderCheckLog#view', '鏌ヨ', '', '3', '0', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'orderCheckLog#btn-add', '鏂板', '', '3', '1', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'orderCheckLog#btn-edit', '缂栬緫', '', '3', '2', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'orderCheckLog#btn-delete', '鍒犻櫎', '', '3', '3', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'orderCheckLog#btn-export', '瀵煎嚭', '', '3', '4', '1');
+
+-- sqlserver
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'orderCheckLog/orderCheckLog.html', N'orderCheckLog绠$悊', null, '2', null, '1');
+
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'orderCheckLog#view', N'鏌ヨ', '', '3', '0', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'orderCheckLog#btn-add', N'鏂板', '', '3', '1', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'orderCheckLog#btn-edit', N'缂栬緫', '', '3', '2', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'orderCheckLog#btn-delete', N'鍒犻櫎', '', '3', '3', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'orderCheckLog#btn-export', N'瀵煎嚭', '', '3', '4', '1');
diff --git a/src/main/resources/mapper/LocCheckLogMapper.xml b/src/main/resources/mapper/LocCheckLogMapper.xml
new file mode 100644
index 0000000..4e664a8
--- /dev/null
+++ b/src/main/resources/mapper/LocCheckLogMapper.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zy.asrs.mapper.LocCheckLogMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.LocCheck">
+        <id column="id" property="id" />
+        <result column="type" property="type" />
+        <result column="loc_no" property="locNo" />
+        <result column="matnr" property="matnr" />
+        <result column="anfme" property="anfme" />
+        <result column="real_anfme" property="realAnfme" />
+        <result column="create_by" property="createBy" />
+        <result column="create_time" property="createTime" />
+        <result column="update_by" property="updateBy" />
+        <result column="update_time" property="updateTime" />
+        <result column="memo" property="memo" />
+        <result column="examine" property="examine" />
+        <result column="owner" property="owner" />
+        <result column="payment" property="payment" />
+
+    </resultMap>
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap2" type="com.zy.asrs.entity.ManLocDetl">
+        <result column="host_id" property="hostId" />
+        <result column="loc_no" property="locNo" />
+        <result column="node_id" property="nodeId" />
+        <result column="zpallet" property="zpallet" />
+        <result column="anfme" property="anfme" />
+        <result column="matnr" property="matnr" />
+        <result column="maktx" property="maktx" />
+        <result column="name" property="name" />
+        <result column="specs" property="specs" />
+        <result column="model" property="model" />
+        <result column="batch" property="batch" />
+        <result column="unit" property="unit" />
+        <result column="barcode" property="barcode" />
+        <result column="doc_id" property="docId" />
+        <result column="doc_num" property="docNum" />
+        <result column="cust_name" property="custName" />
+        <result column="item_num" property="itemNum" />
+        <result column="count" property="count" />
+        <result column="price" property="price" />
+        <result column="weight" property="weight" />
+        <result column="status" property="status" />
+        <result column="create_by" property="createBy" />
+        <result column="create_time" property="createTime" />
+        <result column="update_by" property="updateBy" />
+        <result column="modi_time" property="modiTime" />
+        <result column="memo" property="memo" />
+        <result column="uuid" property="uuid" />
+
+
+    </resultMap>
+
+
+    <select id="getAutoLocDetl" resultMap="BaseResultMap2">
+        SELECT
+            *
+        FROM
+            man_loc_detl
+        WHERE
+            1 = 1
+        ORDER BY NEWID()
+
+    </select>
+    <select id="getCountLocDetl" resultMap="BaseResultMap2">
+        SELECT TOP ${count}
+            *
+        FROM
+            man_loc_detl
+        WHERE
+            1 = 1
+        ORDER BY NEWID()
+
+    </select>
+    <select id="getMatnrCountLocDetl" resultMap="BaseResultMap2">
+        SELECT TOP ${count}
+            *
+        FROM
+            man_loc_detl
+        WHERE
+            1 = 1
+          and matnr = #{matnr}
+        ORDER BY NEWID()
+    </select>
+
+    <select id="getLocCountLocDetl" resultMap="BaseResultMap2">
+        SELECT TOP ${count}
+            *
+        FROM
+            man_loc_detl
+        WHERE
+            1 = 1
+          and loc_no = #{loc_no}
+        ORDER BY NEWID()
+    </select>
+
+
+    <select id="getLocCount" resultType="java.lang.String">
+        SELECT loc_no FROM man_loc_check
+        GROUP BY loc_no
+    </select>
+
+
+</mapper>
diff --git a/src/main/resources/mapper/LocCheckMapper.xml b/src/main/resources/mapper/LocCheckMapper.xml
index 5066d4c..ebe0a37 100644
--- a/src/main/resources/mapper/LocCheckMapper.xml
+++ b/src/main/resources/mapper/LocCheckMapper.xml
@@ -15,6 +15,9 @@
         <result column="update_by" property="updateBy" />
         <result column="update_time" property="updateTime" />
         <result column="memo" property="memo" />
+        <result column="examine" property="examine" />
+        <result column="owner" property="owner" />
+        <result column="payment" property="payment" />
 
     </resultMap>
     <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
@@ -81,4 +84,35 @@
           and matnr = #{matnr}
         ORDER BY NEWID()
     </select>
+
+    <select id="getLocCountLocDetl" resultMap="BaseResultMap2">
+        SELECT TOP ${count}
+            *
+        FROM
+            man_loc_detl
+        WHERE
+            1 = 1
+          and loc_no = #{loc_no}
+        ORDER BY NEWID()
+    </select>
+
+
+    <select id="getLocCount" resultType="java.lang.String">
+        SELECT loc_no FROM man_loc_check
+        GROUP BY loc_no
+    </select>
+    <select id="getOwnerCount" resultType="com.zy.asrs.entity.LocOwner">
+        select * from bas_loc_owner
+    </select>
+    <select id="getOwnerCountLocDetl" resultMap="BaseResultMap2">
+        SELECT TOP ${count}
+            *
+        FROM
+            man_loc_detl
+        WHERE
+            1 = 1
+          and owner = #{owner}
+        ORDER BY NEWID()
+    </select>
+
 </mapper>
diff --git a/src/main/resources/mapper/LocCheckTrimMapper.xml b/src/main/resources/mapper/LocCheckTrimMapper.xml
new file mode 100644
index 0000000..c0311c9
--- /dev/null
+++ b/src/main/resources/mapper/LocCheckTrimMapper.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zy.asrs.mapper.LocCheckTrimMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.LocCheck">
+        <id column="id" property="id" />
+        <result column="type" property="type" />
+        <result column="loc_no" property="locNo" />
+        <result column="matnr" property="matnr" />
+        <result column="anfme" property="anfme" />
+        <result column="real_anfme" property="realAnfme" />
+        <result column="create_by" property="createBy" />
+        <result column="create_time" property="createTime" />
+        <result column="update_by" property="updateBy" />
+        <result column="update_time" property="updateTime" />
+        <result column="memo" property="memo" />
+        <result column="examine" property="examine" />
+        <result column="owner" property="owner" />
+        <result column="payment" property="payment" />
+
+    </resultMap>
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap2" type="com.zy.asrs.entity.ManLocDetl">
+        <result column="host_id" property="hostId" />
+        <result column="loc_no" property="locNo" />
+        <result column="node_id" property="nodeId" />
+        <result column="zpallet" property="zpallet" />
+        <result column="anfme" property="anfme" />
+        <result column="matnr" property="matnr" />
+        <result column="maktx" property="maktx" />
+        <result column="name" property="name" />
+        <result column="specs" property="specs" />
+        <result column="model" property="model" />
+        <result column="batch" property="batch" />
+        <result column="unit" property="unit" />
+        <result column="barcode" property="barcode" />
+        <result column="doc_id" property="docId" />
+        <result column="doc_num" property="docNum" />
+        <result column="cust_name" property="custName" />
+        <result column="item_num" property="itemNum" />
+        <result column="count" property="count" />
+        <result column="price" property="price" />
+        <result column="weight" property="weight" />
+        <result column="status" property="status" />
+        <result column="create_by" property="createBy" />
+        <result column="create_time" property="createTime" />
+        <result column="update_by" property="updateBy" />
+        <result column="modi_time" property="modiTime" />
+        <result column="memo" property="memo" />
+        <result column="uuid" property="uuid" />
+
+
+    </resultMap>
+
+
+    <select id="getAutoLocDetl" resultMap="BaseResultMap2">
+        SELECT
+            *
+        FROM
+            man_loc_detl
+        WHERE
+            1 = 1
+        ORDER BY NEWID()
+
+    </select>
+    <select id="getCountLocDetl" resultMap="BaseResultMap2">
+        SELECT TOP ${count}
+            *
+        FROM
+            man_loc_detl
+        WHERE
+            1 = 1
+        ORDER BY NEWID()
+
+    </select>
+    <select id="getMatnrCountLocDetl" resultMap="BaseResultMap2">
+        SELECT TOP ${count}
+            *
+        FROM
+            man_loc_detl
+        WHERE
+            1 = 1
+          and matnr = #{matnr}
+        ORDER BY NEWID()
+    </select>
+
+    <select id="getLocCountLocDetl" resultMap="BaseResultMap2">
+        SELECT TOP ${count}
+            *
+        FROM
+            man_loc_detl
+        WHERE
+            1 = 1
+          and loc_no = #{loc_no}
+        ORDER BY NEWID()
+    </select>
+
+
+    <select id="getLocCount" resultType="java.lang.String">
+        SELECT loc_no FROM man_loc_check
+        GROUP BY loc_no
+    </select>
+
+
+</mapper>
diff --git a/src/main/resources/mapper/OrderCheckLogMapper.xml b/src/main/resources/mapper/OrderCheckLogMapper.xml
new file mode 100644
index 0000000..32172cf
--- /dev/null
+++ b/src/main/resources/mapper/OrderCheckLogMapper.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zy.asrs.mapper.OrderCheckLogMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.Order">
+        <id column="id" property="id" />
+        <result column="uuid" property="uuid" />
+        <result column="order_no" property="orderNo" />
+        <result column="order_time" property="orderTime" />
+        <result column="doc_type" property="docType" />
+        <result column="item_id" property="itemId" />
+        <result column="item_name" property="itemName" />
+        <result column="allot_item_id" property="allotItemId" />
+        <result column="def_number" property="defNumber" />
+        <result column="number" property="number" />
+        <result column="cstmr" property="cstmr" />
+        <result column="cstmr_name" property="cstmrName" />
+        <result column="tel" property="tel" />
+        <result column="oper_memb" property="operMemb" />
+        <result column="total_fee" property="totalFee" />
+        <result column="discount" property="discount" />
+        <result column="discount_fee" property="discountFee" />
+        <result column="other_fee" property="otherFee" />
+        <result column="act_fee" property="actFee" />
+        <result column="pay_type" property="payType" />
+        <result column="salesman" property="salesman" />
+        <result column="account_day" property="accountDay" />
+        <result column="post_fee_type" property="postFeeType" />
+        <result column="post_fee" property="postFee" />
+        <result column="pay_time" property="payTime" />
+        <result column="send_time" property="sendTime" />
+        <result column="ship_name" property="shipName" />
+        <result column="ship_code" property="shipCode" />
+        <result column="settle" property="settle" />
+        <result column="status" property="status" />
+        <result column="create_by" property="createBy" />
+        <result column="create_time" property="createTime" />
+        <result column="update_by" property="updateBy" />
+        <result column="update_time" property="updateTime" />
+        <result column="memo" property="memo" />
+
+    </resultMap>
+
+    <update id="updateSettle">
+        update man_order
+        set settle = #{settle}
+        ,update_time = getdate()
+        <if test="userId != null">
+            ,update_by = #{userId}
+        </if>
+        where 1=1
+        and id = #{orderId}
+    </update>
+    <update id="updateSettleTo1">
+        UPDATE man_order set settle = 1 WHERE order_no = #{orderNo}
+    </update>
+    <select id="checkDetlWorkQtyLess0" resultType="integer">
+        select count(*) FROM man_order_detl WHERE order_no = #{orderNo} and (work_qty > 0 or qty > 0)
+    </select>
+
+    <select id="selectComplete" resultMap="BaseResultMap">
+        select top 5 *
+        from man_order
+        where 1=1
+          and settle = 4
+          and status = 1
+        order by create_time asc
+    </select>
+    <select id="selectToBeHistoryOrder" resultMap="BaseResultMap">
+        select *
+        from man_order
+        where 1=1
+          and settle = #{settle}
+        order by create_time asc
+    </select>
+
+    <insert id="addToLogTable">
+        INSERT INTO man_order_log SELECT * FROM man_order WHERE id = #{id}
+    </insert>
+
+</mapper>
diff --git a/src/main/resources/mapper/OrderCheckMapper.xml b/src/main/resources/mapper/OrderCheckMapper.xml
index 4c00411..0b483e7 100644
--- a/src/main/resources/mapper/OrderCheckMapper.xml
+++ b/src/main/resources/mapper/OrderCheckMapper.xml
@@ -3,7 +3,7 @@
 <mapper namespace="com.zy.asrs.mapper.OrderCheckMapper">
 
     <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
-    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.Order">
+    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.OrderCheck">
         <id column="id" property="id" />
         <result column="uuid" property="uuid" />
         <result column="order_no" property="orderNo" />
@@ -42,6 +42,8 @@
 
     </resultMap>
 
+
+
     <update id="updateSettle">
         update man_order
         set settle = #{settle}
@@ -63,20 +65,20 @@
         select top 5 *
         from man_order
         where 1=1
-        and settle = 4
-        and status = 1
+          and settle = 4
+          and status = 1
         order by create_time asc
     </select>
     <select id="selectToBeHistoryOrder" resultMap="BaseResultMap">
         select *
-        from man_order
+        from man_order_check
         where 1=1
-        and settle = #{settle}
+          and settle = 4
         order by create_time asc
     </select>
 
     <insert id="addToLogTable">
-        INSERT INTO man_order_log SELECT * FROM man_order WHERE id = #{id}
+        INSERT INTO man_order_check_log SELECT * FROM man_order_check WHERE id = #{id}
     </insert>
 
 </mapper>
diff --git a/src/main/webapp/static/js/locCheckLog/locCheckLog.js b/src/main/webapp/static/js/locCheckLog/locCheckLog.js
new file mode 100644
index 0000000..b6a2ad3
--- /dev/null
+++ b/src/main/webapp/static/js/locCheckLog/locCheckLog.js
@@ -0,0 +1,264 @@
+var pageCurr;
+layui.config({
+    base: baseUrl + "/static/layui/lay/modules/"
+}).use(['table','laydate', 'form', 'admin'], function(){
+    var table = layui.table;
+    var $ = layui.jquery;
+    var layer = layui.layer;
+    var layDate = layui.laydate;
+    var form = layui.form;
+    var admin = layui.admin;
+
+    // 鏁版嵁娓叉煋
+    tableIns = table.render({
+        elem: '#locCheckLog',
+        headers: {token: localStorage.getItem('token')},
+        url: baseUrl+'/locCheckLog/list/auth',
+        page: true,
+        limit: 15,
+        limits: [15, 30, 50, 100, 200, 500],
+        toolbar: '#toolbar',
+        cellMinWidth: 50,
+        height: 'full-120',
+        cols: [[
+            {type: 'checkbox'}
+            ,{field: 'id', align: 'center',title: '鍞竴ID'}
+            ,{field: 'type$', align: 'center',title: '鐘舵��'}
+            ,{field: 'locNo', align: 'center',title: '搴撲綅鍙�'}
+            ,{field: 'matnr', align: 'center',title: '鐗╂枡鍙�'}
+            ,{field: 'anfme', align: 'center',title: '鐩樼偣鍓嶆暟閲�'}
+            ,{field: 'realAnfme', align: 'center',title: '鐪熷疄鏁伴噺'}
+            ,{field: 'createBy', align: 'center',title: '鍒涘缓浜�'}
+            ,{field: 'createTime$', align: 'center',title: '鍒涘缓鏃堕棿'}
+            ,{field: 'updateBy', align: 'center',title: '淇敼浜�'}
+            ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'}
+            ,{field: 'memo', align: 'center',title: '澶囨敞'}
+            ,{field: 'diffAnfme', align: 'center',title: '宸紓鏁伴噺'}
+            ,{field: 'orderNo', align: 'center',title: '璁㈠崟鍙�'}
+            ,{field: 'maktx', align: 'center',title: '鐗╂枡鍚�'}
+            ,{field: 'examine', align: 'center',title: '瀹℃牳'}
+
+            ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120}
+        ]],
+        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) {
+            if (res.code === 403) {
+                top.location.href = baseUrl+"/";
+            }
+            pageCurr=curr;
+            limit();
+        }
+    });
+
+    // 鐩戝惉鎺掑簭浜嬩欢
+    table.on('sort(locCheckLog)', function (obj) {
+        var searchData = {};
+        $.each($('#search-box [name]').serializeArray(), function() {
+            searchData[this.name] = this.value;
+        });
+        searchData['orderByField'] = obj.field;
+        searchData['orderByType'] = obj.type;
+        tableIns.reload({
+            where: searchData,
+            page: {curr: 1}
+        });
+    });
+
+    // 鐩戝惉澶村伐鍏锋爮浜嬩欢
+    table.on('toolbar(locCheckLog)', function (obj) {
+        var checkStatus = table.checkStatus(obj.config.id).data;
+        switch(obj.event) {
+            case 'addData':
+                showEditModel();
+                break;
+            case 'deleteData':
+               if (checkStatus.length === 0) {
+                   layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
+                   return;
+               }
+               del(checkStatus.map(function (d) {
+                   return d.id;
+               }));
+               break;
+            case 'exportData':
+                admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
+                    var titles=[];
+                    var fields=[];
+                    obj.config.cols[0].map(function (col) {
+                        if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
+                            titles.push(col.title);
+                            fields.push(col.field);
+                        }
+                    });
+                    var exportData = {};
+                    $.each($('#search-box [name]').serializeArray(), function() {
+                        exportData[this.name] = this.value;
+                    });
+                    var param = {
+                        'locCheckLog': exportData,
+                        'fields': fields
+                    };
+                    $.ajax({
+                        url: baseUrl+"/locCheckLog/export/auth",
+                        headers: {'token': localStorage.getItem('token')},
+                        data: JSON.stringify(param),
+                        dataType:'json',
+                        contentType:'application/json;charset=UTF-8',
+                        method: 'POST',
+                        success: function (res) {
+                            layer.closeAll();
+                            if (res.code === 200) {
+                                table.exportFile(titles,res.data,'xls');
+                            } else if (res.code === 403) {
+                                top.location.href = baseUrl+"/";
+                            } else {
+                                layer.msg(res.msg, {icon: 2})
+                            }
+                        }
+                    });
+                });
+                break;
+        }
+    });
+
+    // 鐩戝惉琛屽伐鍏蜂簨浠�
+    table.on('tool(locCheckLog)', function(obj){
+        var data = obj.data;
+        switch (obj.event) {
+            case 'edit':
+                showEditModel(data);
+                break;
+            case "del":
+                del([data.id]);
+                break;
+        }
+    });
+
+    /* 寮圭獥 - 鏂板銆佷慨鏀� */
+    function showEditModel(mData) {
+        admin.open({
+            type: 1,
+            area: '600px',
+            title: (mData ? '淇敼' : '娣诲姞') + '璁㈠崟鐘舵��',
+            content: $('#editDialog').html(),
+            success: function (layero, dIndex) {
+                layDateRender(mData);
+                form.val('detail', mData);
+                form.on('submit(editSubmit)', function (data) {
+                    var loadIndex = layer.load(2);
+                    $.ajax({
+                        url: baseUrl+"/locCheckLog/"+(mData?'update':'add')+"/auth",
+                        headers: {'token': localStorage.getItem('token')},
+                        data: data.field,
+                        method: 'POST',
+                        success: function (res) {
+                            layer.close(loadIndex);
+                            if (res.code === 200){
+                                layer.close(dIndex);
+                                layer.msg(res.msg, {icon: 1});
+                                tableReload();
+                            } else if (res.code === 403){
+                                top.location.href = baseUrl+"/";
+                            }else {
+                                layer.msg(res.msg, {icon: 2});
+                            }
+                        }
+                    })
+                    return false;
+                });
+                $(layero).children('.layui-layer-content').css('overflow', 'visible');
+                layui.form.render('select');
+            }
+        });
+    }
+
+    /* 鍒犻櫎 */
+    function del(ids) {
+        layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', {
+            skin: 'layui-layer-admin',
+            shade: .1
+        }, function (i) {
+            layer.close(i);
+            var loadIndex = layer.load(2);
+            $.ajax({
+                url: baseUrl+"/locCheckLog/delete/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: {ids: ids},
+                method: 'POST',
+                success: function (res) {
+                    layer.close(loadIndex);
+                    if (res.code === 200){
+                        layer.msg(res.msg, {icon: 1});
+                        tableReload();
+                    } else if (res.code === 403){
+                        top.location.href = baseUrl+"/";
+                    } else {
+                        layer.msg(res.msg, {icon: 2});
+                    }
+                }
+            })
+        });
+    }
+
+    // 鎼滅储
+    form.on('submit(search)', function (data) {
+        pageCurr = 1;
+        tableReload(false);
+    });
+
+    // 閲嶇疆
+    form.on('submit(reset)', function (data) {
+        pageCurr = 1;
+        clearFormVal($('#search-box'));
+        tableReload(false);
+    });
+
+    // 鏃堕棿閫夋嫨鍣�
+    function layDateRender(data) {
+        setTimeout(function () {
+            layDate.render({
+                elem: '#createTime\\$',
+                type: 'datetime',
+                value: data!==undefined?data['createTime\\$']:null
+            });
+            layDate.render({
+                elem: '#updateTime\\$',
+                type: 'datetime',
+                value: data!==undefined?data['updateTime\\$']:null
+            });
+
+        }, 300);
+    }
+    layDateRender();
+
+});
+
+// 鍏抽棴鍔ㄤ綔
+$(document).on('click','#data-detail-close', function () {
+    parent.layer.closeAll();
+});
+
+function tableReload(child) {
+    var searchData = {};
+    $.each($('#search-box [name]').serializeArray(), function() {
+        searchData[this.name] = this.value;
+    });
+    tableIns.reload({
+        where: searchData,
+        page: {curr: pageCurr}
+     });
+}
diff --git a/src/main/webapp/static/js/locCheckTrim/locCheckTrim.js b/src/main/webapp/static/js/locCheckTrim/locCheckTrim.js
new file mode 100644
index 0000000..6c77ee7
--- /dev/null
+++ b/src/main/webapp/static/js/locCheckTrim/locCheckTrim.js
@@ -0,0 +1,478 @@
+var pageCurr;
+function getCol() {
+    var cols = [
+    ];
+    cols.push(
+        {field: 'orderNo', align: 'center',title: '鐩樼偣鍗曞彿'},
+        {field: 'matnr', align: 'center',title: '鍟嗗搧缂栧彿'},
+        {field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О'},
+        {field: 'locNo', align: 'center',title: '搴撲綅鍙�'},
+        {field: 'anfme', align: 'center',title: '鍟嗗搧鏁伴噺'},
+        {field: 'realAnfme', align: 'center',title: '鐪熷疄鏁伴噺'},
+        {field: 'diffAnfme', align: 'center',title: '宸紓鏁伴噺'},
+        {field: 'createTime$', align: 'center',title: '瀹℃牳鏃堕棿'},
+        {field: 'type$', align: 'center',title: '鐘舵��'},
+        {field: 'createBy', align: 'center',title: '瀹℃牳浜�'})
+    return cols;
+}
+layui.use(['table','laydate', 'form'], function(){
+    var table = layui.table;
+    var $ = layui.jquery;
+    var layer = layui.layer;
+    var layDate = layui.laydate;
+    var form = layui.form;
+
+    // 鏁版嵁娓叉煋
+    tableIns = table.render({
+        elem: '#waitPakinLog',
+        headers: {token: localStorage.getItem('token')},
+        url: baseUrl+'/locCheckTrim/head/page/auth',
+        page: true,
+        limit: 16,
+        limits: [16, 30, 50, 100, 200, 500],
+        even: true,
+        toolbar: '#toolbar',
+        cellMinWidth: 50,
+        cols: [getCol()],
+        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) {
+            if (res.code === 403) {
+                top.location.href = baseUrl+"/";
+            }
+            pageCurr=curr;
+            limit();
+            form.on('checkbox(tableCheckbox)', function (data) {
+                var _index = $(data.elem).attr('table-index')||0;
+                if(data.elem.checked){
+                    res.data[_index][data.value] = 'Y';
+                }else{
+                    res.data[_index][data.value] = 'N';
+                }
+            });
+        }
+    });
+
+    // 鐩戝惉鎺掑簭浜嬩欢
+    table.on('sort(locMast)', function (obj) {
+        var searchData = {};
+        $.each($('#search-box [name]').serializeArray(), function() {
+            searchData[this.name] = this.value;
+        });
+        searchData['orderByField'] = obj.field;
+        searchData['orderByType'] = obj.type;
+        tableIns.reload({
+            where: searchData,
+            page: {
+                curr: 1
+            },
+            done: function (res, curr, count) {
+                if (res.code === 403) {
+                    top.location.href = baseUrl+"/";
+                }
+                pageCurr=curr;
+                limit();
+            }
+        });
+    });
+
+    // 鐩戝惉澶村伐鍏锋爮浜嬩欢
+    table.on('toolbar(waitPakinLog)', function (obj) {
+        var checkStatus = table.checkStatus(obj.config.id);
+        switch(obj.event) {
+            case 'addData':
+                layer.open({
+                    type: 2,
+                    title: '鏂板',
+                    maxmin: true,
+                    area: [top.detailWidth, top.detailHeight],
+                    content: 'waitPakinLog_detail.html',
+                    success: function(layero, index){
+                        layer.getChildFrame('#data-detail-submit-edit', index).hide();
+                        clearFormVal(layer.getChildFrame('#detail', index));
+                        layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
+                    }
+                });
+                break;
+            case 'deleteData':
+                var data = checkStatus.data;
+                if (data.length === 0){
+                    layer.msg('璇烽�夋嫨鏁版嵁');
+                } else {
+                    layer.confirm('纭畾鍒犻櫎'+(data.length===1?'姝�':data.length)+'鏉℃暟鎹悧', function(){
+                        $.ajax({
+                            url: baseUrl+"/waitPakinLog/delete/auth",
+                            headers: {'token': localStorage.getItem('token')},
+                            data: {param: JSON.stringify(data)},
+                            method: 'POST',
+                            traditional:true,
+                            success: function (res) {
+                                if (res.code === 200){
+                                    layer.closeAll();
+                                    tableReload(false);
+                                } else if (res.code === 403){
+                                    top.location.href = baseUrl+"/";
+                                } else {
+                                    layer.msg(res.msg)
+                                }
+                            }
+                        })
+                    });
+                }
+                break;
+            case 'exportData':
+                layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
+                    var titles=[];
+                    var fields=[];
+                    obj.config.cols[0].map(function (col) {
+                        if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
+                            titles.push(col.title);
+                            fields.push(col.field);
+                        }
+                    });
+                    var exportData = {};
+                    $.each($('#search-box [name]').serializeArray(), function() {
+                        exportData[this.name] = this.value;
+                    });
+                    var param = {
+                        'waitPakinLog': exportData,
+                        'fields': fields
+                    };
+                    $.ajax({
+                        url: baseUrl+"/waitPakinLog/export/auth",
+                        headers: {'token': localStorage.getItem('token')},
+                        data: JSON.stringify(param),
+                        dataType:'json',
+                        contentType:'application/json;charset=UTF-8',
+                        method: 'POST',
+                        success: function (res) {
+                            layer.closeAll();
+                            if (res.code === 200) {
+                                table.exportFile(titles,res.data,'xls');
+                            } else if (res.code === 403) {
+                                top.location.href = baseUrl+"/";
+                            } else {
+                                layer.msg(res.msg)
+                            }
+                        }
+                    });
+                });
+                break;
+        }
+    });
+
+    // 鐩戝惉琛屽伐鍏蜂簨浠�
+    table.on('tool(waitPakinLog)', function(obj){
+        var data = obj.data;
+        switch (obj.event) {
+            // 璇︽儏
+            case 'detail':
+                layer.open({
+                    type: 2,
+                    title: '璇︽儏',
+                    maxmin: true,
+                    area: [top.detailWidth, top.detailHeight],
+                    shadeClose: true,
+                    content: 'waitPakinLog_detail.html',
+                    success: function(layero, index){
+                        setFormVal(layer.getChildFrame('#detail', index), data, true);
+                        top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true);
+                        layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide();
+                        layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
+                        layero.find('iframe')[0].contentWindow.layui.form.render('select');
+                        layero.find('iframe')[0].contentWindow.layui.form.render('checkbox');
+                    }
+                });
+                break;
+            // 缂栬緫
+            case 'edit':
+                layer.open({
+                    type: 2,
+                    title: '淇敼',
+                    maxmin: true,
+                    area: [top.detailWidth, top.detailHeight],
+                    content: 'waitPakinLog_detail.html',
+                    success: function(layero, index){
+                        layer.getChildFrame('#data-detail-submit-save', index).hide();
+                        setFormVal(layer.getChildFrame('#detail', index), data, false);
+                        top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false);
+                        top.convertDisabled(layer.getChildFrame('#id', index), true);
+                        layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
+                        layero.find('iframe')[0].contentWindow.layui.form.render('select');
+                        layero.find('iframe')[0].contentWindow.layui.form.render('checkbox');
+                    }
+                });
+                break;
+            case 'modiUser':
+                var param = top.reObject(data).modiUser;
+                if (param === undefined) {
+                    layer.msg("鏃犳暟鎹�");
+                } else {
+                    layer.open({
+                        type: 2,
+                        title: '淇敼浜哄憳璇︽儏',
+                        maxmin: true,
+                        area: [top.detailWidth, top.detailHeight],
+                        shadeClose: true,
+                        content: '../user/user_detail.html',
+                        success: function(layero, index){
+                            $.ajax({
+                                url: "baseUrl+/user/"+ param +"/auth",
+                                headers: {'token': localStorage.getItem('token')},
+                                method: 'GET',
+                                success: function (res) {
+                                    if (res.code === 200){
+                                        setFormVal(layer.getChildFrame('#detail', index), res.data, true);
+                                        top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true);
+                                        layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide();
+                                        layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
+                                        layero.find('iframe')[0].contentWindow.layui.form.render('select');
+                                        layero.find('iframe')[0].contentWindow.layui.form.render('checkbox');
+                                    } else if (res.code === 403){
+                                        top.location.href = baseUrl+"/";
+                                    }else {
+                                        layer.msg(res.msg)
+                                    }
+                                }
+                            })
+                        }
+                    });
+                }
+                break;
+            case 'appeUser':
+                var param = top.reObject(data).appeUser;
+                if (param === undefined) {
+                    layer.msg("鏃犳暟鎹�");
+                } else {
+                    layer.open({
+                        type: 2,
+                        title: '鍒涘缓鑰呰鎯�',
+                        maxmin: true,
+                        area: [top.detailWidth, top.detailHeight],
+                        shadeClose: true,
+                        content: '../user/user_detail.html',
+                        success: function(layero, index){
+                            $.ajax({
+                                url: "baseUrl+/user/"+ param +"/auth",
+                                headers: {'token': localStorage.getItem('token')},
+                                method: 'GET',
+                                success: function (res) {
+                                    if (res.code === 200){
+                                        setFormVal(layer.getChildFrame('#detail', index), res.data, true);
+                                        top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true);
+                                        layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide();
+                                        layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
+                                        layero.find('iframe')[0].contentWindow.layui.form.render('select');
+                                        layero.find('iframe')[0].contentWindow.layui.form.render('checkbox');
+                                    } else if (res.code === 403){
+                                        top.location.href = baseUrl+"/";
+                                    }else {
+                                        layer.msg(res.msg)
+                                    }
+                                }
+                            })
+                        }
+                    });
+                }
+                break;
+
+        }
+    });
+
+    // 鏁版嵁淇濆瓨鍔ㄤ綔
+    form.on('submit(save)', function () {
+        if (banMsg != null){
+            layer.msg(banMsg);
+            return;
+        }
+        method("add");
+    });
+
+    // 鏁版嵁淇敼鍔ㄤ綔
+    form.on('submit(edit)', function () {
+        method("update")
+    });
+
+    function method(name){
+        var index = layer.load(1, {
+            shade: [0.5,'#000'] //0.1閫忔槑搴︾殑鑳屾櫙
+        });
+        var data = {
+//            id: $('#id').val(),
+            id: $('#id').val(),
+            pakinId: $('#pakinId').val(),
+            barcode: $('#barcode').val(),
+            matnr: $('#matnr').val(),
+            maktx: $('#maktx').val(),
+            anfme: $('#anfme').val(),
+            unit: $('#unit').val(),
+            status: $('#status').val(),
+            memo: $('#memo').val(),
+            modiTime: top.strToDate($('#modiTime\\$').val()),
+            modiUser: $('#modiUser').val(),
+            appeTime: top.strToDate($('#appeTime\\$').val()),
+            appeUser: $('#appeUser').val(),
+
+        };
+        $.ajax({
+            url: baseUrl+"/waitPakinLog/"+name+"/auth",
+            headers: {'token': localStorage.getItem('token')},
+            data: top.reObject(data),
+            method: 'POST',
+            success: function (res) {
+                if (res.code === 200){
+                    parent.layer.closeAll();
+                    parent.$(".layui-laypage-btn")[0].click();
+                    $("#data-detail :input").each(function () {
+                        $(this).val("");
+                    });
+                } else if (res.code === 403){
+                    top.location.href = baseUrl+"/";
+                }else {
+                    layer.msg(res.msg)
+                }
+                layer.close(index);
+            }
+        })
+    }
+
+    // 澶嶉�夋浜嬩欢
+    form.on('checkbox(detailCheckbox)', function (data) {
+        var el = data.elem;
+        if (el.checked) {
+            $(el).val('Y');
+        } else {
+            $(el).val('N');
+        }
+    });
+
+    // 鎼滅储鏍忔悳绱簨浠�
+    form.on('submit(search)', function (data) {
+        pageCurr = 1;
+        tableReload(false);
+    });
+
+    // 鎼滅储鏍忛噸缃簨浠�
+    form.on('submit(reset)', function (data) {
+        pageCurr = 1;
+        clearFormVal($('#search-box'));
+        tableReload(false);
+    });
+
+    // 鏃堕棿閫夋嫨鍣�
+    layDate.render({
+        elem: '#modiTime\\$',
+        type: 'datetime'
+    });
+    layDate.render({
+        elem: '#appeTime\\$',
+        type: 'datetime'
+    });
+    layDate.render({
+        elem: '.layui-laydate-range'
+        ,type: 'datetime'
+        ,range: true
+    });
+
+});
+
+// 鍏抽棴鍔ㄤ綔
+$(document).on('click','#data-detail-close', function () {
+    parent.layer.closeAll();
+});
+
+function tableReload(child) {
+    var searchData = {};
+    $.each($('#search-box [name]').serializeArray(), function() {
+        searchData[this.name] = this.value;
+    });
+    (child ? parent.tableIns : tableIns).reload({
+        where: searchData,
+        page: {
+            curr: pageCurr
+        },
+        done: function (res, curr, count) {
+            if (res.code === 403) {
+                top.location.href = baseUrl+"/";
+            }
+            pageCurr=curr;
+            if (res.data.length === 0 && count !== 0) {
+                tableIns.reload({
+                    where: searchData,
+                    page: {
+                        curr: pageCurr-1
+                    }
+                });
+                pageCurr -= 1;
+            }
+            limit(child);
+        }
+    });
+}
+
+function setFormVal(el, data, showImg) {
+    for (var val in data) {
+        var find = el.find(":input[id='" + val + "']");
+        if (find[0]!=null){
+            if (find[0].type === 'checkbox'){
+                if (data[val]==='Y'){
+                    find.attr("checked","checked");
+                    find.val('Y');
+                } else {
+                    find.remove("checked");
+                    find.val('N');
+                }
+                continue;
+            }
+        }
+        find.val(data[val]);
+        if (showImg){
+            var next = find.next();
+            if (next.get(0)){
+                if (next.get(0).localName === "img") {
+                    find.hide();
+                    next.attr("src", data[val]);
+                    next.show();
+                }
+            }
+        }
+    }
+}
+
+function clearFormVal(el) {
+    $(':input', el)
+        .val('')
+        .removeAttr('checked')
+        .removeAttr('selected');
+}
+
+function detailScreen(index) {
+    var detail = layer.getChildFrame('#data-detail', index);
+    var height = detail.height()+60;
+    if (height > ($(window).height()*0.9)) {
+        height = ($(window).height()*0.8);
+    }
+    layer.style(index, {
+//        top: (($(window).height()-height)/3)+"px",
+        height: height+'px'
+    });
+}
+
+$('body').keydown(function () {
+    if (event.keyCode === 13) {
+        $("#search").click();
+    }
+});
diff --git a/src/main/webapp/static/js/orderCheck/orderCheck.js b/src/main/webapp/static/js/orderCheck/orderCheck.js
index e78f013..c27b889 100644
--- a/src/main/webapp/static/js/orderCheck/orderCheck.js
+++ b/src/main/webapp/static/js/orderCheck/orderCheck.js
@@ -87,6 +87,7 @@
         showEditModel();
     });
 
+
     // 宸ュ叿鏉$偣鍑讳簨浠�
     table.on('tool(order)', function (obj) {
         var data = obj.data;
@@ -101,8 +102,6 @@
             btnPrint(data.id, data.orderNo, 4);
         } else if (layEvent === 'manPrint') {
             addPakOut(data.orderNo);
-        }else if (layEvent === 'examine'){
-            examine(data);
         }else if (layEvent === 'look') {
             var $a = $(obj.tr).find('a[lay-event="look"]');
             var offset = $a.offset();
@@ -113,7 +112,7 @@
                 type: 1,
                 title: false,
                 area: '900px',
-                offset: [top + 'px', (left - 530 + $a.outerWidth()) + 'px'],
+                offset: [top + 'px', (left - 600 + $a.outerWidth()) + 'px'],
                 shade: .01,
                 shadeClose: true,
                 fixed: false,
@@ -135,9 +134,11 @@
                             {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160},
                             {field: 'locNo', title: '搴撲綅鍙�'},
                             {field: 'anfme', title: '鏁伴噺'},
-                            {field: 'realAnfme', title: '鐪熷疄鏁伴噺'},
+                            {field: 'realAnfme', title: '鐪熷疄鏁伴噺',style: 'color: blue;font-weight: bold', edit: true},
                             {field: 'diffAnfme', title: '宸紓鏁伴噺', style: 'font-weight: bold'},
                             {field: 'type$', title: '鐘舵��'},
+                            {field: 'owner$', title: '璐т富'},
+                            {field: 'payment$', title: '璐х墿鐘舵��'},
                             {align: 'center', title: '鎿嶄綔', toolbar: '#formSSXMTableBar3', minWidth: 80, width: 80, fixed: 'right'}
                         ]],
                         request: {
@@ -169,6 +170,14 @@
             showWrkTrace(data.id);
         }
     });
+    //鍗曟嵁鏄庣粏琛� 瀹℃牳鎸夐挳
+    table.on('tool(lookSSXMTable)', function (obj) {
+        var data = obj.data;
+        var layEvent = obj.event;
+        if (layEvent === 'examine') {
+            examine(data);
+        }
+    })
 
     function showWrkTrace(orderId) {
         console.log(orderId);
@@ -194,6 +203,10 @@
                     // 缁勮鏁版嵁
                     if (xxDataList.length <= 0) {
                         layer.tips('璇锋坊鍔犲崟鎹槑缁�', '#matAddBtnComment', {tips: [1, '#ff4c4c']});
+                        return false;
+                    }
+                    if (data.field.orderNo == "" || data.field.orderNo == null) {
+                        layer.tips('璇疯緭鍏ョ洏鐐瑰崟缂栧彿', '#orderNo', {tips: [1, '#ff4c4c']});
                         return false;
                     }
                     let nList = admin.util.deepClone(xxDataList);
@@ -249,10 +262,13 @@
                         {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
                         {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160},
                         {field: 'locNo', title: '搴撲綅鍙�'},
+                        {field: 'owner$', title: '璐т富'},
+                        {field: 'payment$', title: '璐х墿鐘舵��'},
                         {field: 'anfme', title: '搴撳瓨鏁伴噺'},
                         {field: 'realAnfme', title: '鐪熷疄鏁伴噺'},
                         {field: 'diffAnfme', title: '宸紓鏁伴噺', style: 'font-weight: bold'},
                         {field: 'type$', title: '鐘舵��'},
+
                         {align: 'center', title: '鎿嶄綔', toolbar: '#formSSXMTableBarr', minWidth: 80, width: 80, fixed: 'right'}
                     ]],
                     done: function (res) {
@@ -346,12 +362,17 @@
                 function showEditModel2(exp) {
                     var checkType = $("#checkType option:selected").val();
                     var tp = '';
-                    if (checkType == 'loc'){
+                    if (checkType == 'locno'){
                         tp = 2;
                     }
                     if (checkType == 'matnr'){
                         tp = 3;
                     }
+                    if (checkType == 'owner'){
+                        tp = 4;
+                    }
+
+
                     admin.open({
                         type: 1,
                         offset: '150px',
@@ -365,9 +386,25 @@
                             form.on('submit(matEditSubmit)', function (data) {
                                 var prec = $("#selectPerc option:selected").val();
                                 var selectList;
+                                if (tp == 2){
+                                    prec = $("#selectPerc2 option:selected").val();
+                                    selectList = matXmSelect2.getValue();
+                                    console.log(selectList);
+                                    for (let i = 0; i<selectList.length; i++) {
+                                        selectList[i].children="";
+                                    }
+                                }
                                 if (tp == 3){
                                     prec = $("#selectPerc3 option:selected").val();
                                     selectList = matXmSelect.getValue();
+                                    console.log(selectList);
+                                    for (let i = 0; i<selectList.length; i++) {
+                                        selectList[i].children="";
+                                    }
+                                }
+                                if (tp == 4){
+                                    prec = $("#selectPerc4 option:selected").val();
+                                    selectList = matXmSelect3.getValue();
                                     console.log(selectList);
                                     for (let i = 0; i<selectList.length; i++) {
                                         selectList[i].children="";
@@ -381,28 +418,78 @@
 
                                 json.data = selectList;
                                 console.log(json);
-                                $.ajax({
-                                    url: baseUrl+"/orderCheck/create/auth",
-                                    headers: {'token': localStorage.getItem('token')},
-                                    contentType:'application/json;charset=UTF-8',
-                                    data: JSON.stringify(json),
-                                    method: 'POST',
-                                    async: false,
-                                    success: function (res) {
-                                        if (res.code === 200){
-                                            for (var i =0;i<res.data.length;i++){
-                                                xxDataList.push(res.data[i]);
-                                                console.log(xxDataList);
-                                                insTbSSXM.reload({data: xxDataList, page: {curr: 1}});
-                                            }
 
-                                        } else if (res.code === 403){
-                                            top.location.href = baseUrl+"/";
-                                        }else {
-                                            layer.msg(res.msg, {icon: 2})
+                                if ( tp == 2 || tp == ''){
+                                    $.ajax({
+                                        url: baseUrl+"/orderCheck/create/auth",
+                                        headers: {'token': localStorage.getItem('token')},
+                                        contentType:'application/json;charset=UTF-8',
+                                        data: JSON.stringify(json),
+                                        method: 'POST',
+                                        async: false,
+                                        success: function (res) {
+                                            if (res.code === 200){
+                                                for (var i =0;i<res.data.length;i++){
+                                                    xxDataList.push(res.data[i]);
+                                                    console.log(xxDataList);
+                                                    insTbSSXM.reload({data: xxDataList, page: {curr: 1}});
+                                                }
+
+                                            } else if (res.code === 403){
+                                                top.location.href = baseUrl+"/";
+                                            }else {
+                                                layer.msg(res.msg, {icon: 2})
+                                            }
                                         }
-                                    }
-                                })
+                                    })
+                                }else if (tp == 3){
+                                    $.ajax({
+                                        url: baseUrl+"/orderCheck/create/loc/auth",
+                                        headers: {'token': localStorage.getItem('token')},
+                                        contentType:'application/json;charset=UTF-8',
+                                        data: JSON.stringify(json),
+                                        method: 'POST',
+                                        async: false,
+                                        success: function (res) {
+                                            if (res.code === 200){
+                                                for (var i =0;i<res.data.length;i++){
+                                                    xxDataList.push(res.data[i]);
+                                                    console.log(xxDataList);
+                                                    insTbSSXM.reload({data: xxDataList, page: {curr: 1}});
+                                                }
+
+                                            } else if (res.code === 403){
+                                                top.location.href = baseUrl+"/";
+                                            }else {
+                                                layer.msg(res.msg, {icon: 2})
+                                            }
+                                        }
+                                    })
+                                }else if (tp == 4){
+                                    $.ajax({
+                                        url: baseUrl+"/orderCheck/create/owner/auth",
+                                        headers: {'token': localStorage.getItem('token')},
+                                        contentType:'application/json;charset=UTF-8',
+                                        data: JSON.stringify(json),
+                                        method: 'POST',
+                                        async: false,
+                                        success: function (res) {
+                                            if (res.code === 200){
+                                                for (var i =0;i<res.data.length;i++){
+                                                    xxDataList.push(res.data[i]);
+                                                    console.log(xxDataList);
+                                                    insTbSSXM.reload({data: xxDataList, page: {curr: 1}});
+                                                }
+
+                                            } else if (res.code === 403){
+                                                top.location.href = baseUrl+"/";
+                                            }else {
+                                                layer.msg(res.msg, {icon: 2})
+                                            }
+                                        }
+                                    })
+                                }
+
                                 layer.close(dIndex);
                                 return false;
                             });
@@ -435,6 +522,62 @@
                                     });
                                 }
                             })
+
+                            // 娓叉煋鐗╂枡閫夋嫨
+                            var matXmSelect2 = xmSelect.render({
+                                el: '#mat2',
+                                style: {
+                                    width: '340px',
+                                },
+                                autoRow: true,
+                                toolbar: { show: true },
+                                filterable: true,
+                                remoteSearch: true,
+                                remoteMethod: function(val, cb, show){
+                                    $.ajax({
+                                        url: baseUrl+"/orderCheck/all/get/loc",
+                                        headers: {'token': localStorage.getItem('token')},
+                                        method: 'POST',
+                                        success: function (res) {
+                                            if (res.code === 200){
+                                                cb(res.data)
+                                            } else {
+                                                cb([]);
+                                                layer.msg(res.msg, {icon: 2});
+                                            }
+                                        }
+                                    });
+                                }
+                            })
+                            // 娓叉煋鐗╂枡閫夋嫨
+                            var matXmSelect3 = xmSelect.render({
+                                el: '#mat4',
+                                style: {
+                                    width: '340px',
+                                },
+                                autoRow: true,
+                                toolbar: { show: true },
+                                filterable: true,
+                                remoteSearch: true,
+                                remoteMethod: function(val, cb, show){
+                                    $.ajax({
+                                        url: baseUrl+"/orderCheck/all/get/owner",
+                                        headers: {'token': localStorage.getItem('token')},
+                                        method: 'POST',
+                                        success: function (res) {
+                                            if (res.code === 200){
+                                                cb(res.data)
+                                            } else {
+                                                cb([]);
+                                                layer.msg(res.msg, {icon: 2});
+                                            }
+                                        }
+                                    });
+                                }
+                            })
+
+
+
                             // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯
                             $(layero).children('.layui-layer-content').css('overflow', 'visible');
                             layui.form.render('select');
@@ -590,7 +733,36 @@
         })
     }
 
+    function examine(data){
+        console.log(data)
+        layer.confirm('璇风‘瀹氱湡瀹炴暟閲忎互鍙婂樊寮傛暟閲�!', {
+            shade: .1,
+            skin: 'layui-layer-admin'
+        }, function (i) {
+            $.ajax({
+                url: baseUrl + "/orderCheck/mxamine",
+                headers: {'token': localStorage.getItem('token')},
+                contentType:'application/json;charset=UTF-8',
+                data: JSON.stringify(data),
+                method: 'POST',
+                async: false,
+                success: function (res) {
+                    if (res.code === 200){
+                        layer.msg(res.msg);
+                    }else {
+                        layer.msg(res.msg);
+                    }
+                }
+            });
 
 
+        });
+    }
+
+    // 椤甸潰淇敼
+    table.on('edit(lookSSXMTable)', function (obj) {
+        console.log(obj.data)
+    })
+
 
 });
diff --git a/src/main/webapp/static/js/orderCheckLog/orderCheckLog.js b/src/main/webapp/static/js/orderCheckLog/orderCheckLog.js
new file mode 100644
index 0000000..5042c90
--- /dev/null
+++ b/src/main/webapp/static/js/orderCheckLog/orderCheckLog.js
@@ -0,0 +1,695 @@
+var insTbCount = 0;
+var printMatCodeNos = [];
+layui.config({
+    base: baseUrl + "/static/layui/lay/modules/"
+}).use(['layer', 'form', 'table', 'util', 'admin', 'xmSelect', '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 xmSelect = layui.xmSelect;
+    var layDate = layui.laydate;
+
+    // 娓叉煋鎼滅储妯℃澘
+    $.ajax({
+        url: baseUrl+"/docType/list/auth",
+        headers: {'token': localStorage.getItem('token')},
+        data: {
+            limit: 9999
+        },
+        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+'/orderCheckLog/head/page/auth',
+        headers: {token: localStorage.getItem('token')},
+        page: true,
+        cellMinWidth: 100,
+        cols: [[
+            {type: 'numbers'},
+            // {field: 'orderNo', title: '鍗曟嵁缂栧彿', templet: '#orderNoTpl'},
+            {field: 'orderNo', title: '鍗曟嵁缂栧彿',  minWidth: 160},
+            {field: 'docType$', align: 'center', title: '绫诲瀷',  minWidth: 160},
+            {align: 'center', title: '鏄庣粏', toolbar: '#tbLook', minWidth: 160},
+            {field: 'createTime$', title: '鍒涘缓鏃堕棿', minWidth: 200},
+            {field: 'settle$', align: 'center', title: '鐘舵��', templet: '#settleTpl',  minWidth: 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}});
+    });
+
+    // 娣诲姞
+    $("#orderAddBtn").click(function () {
+        showEditModel();
+    });
+
+
+    // 宸ュ叿鏉$偣鍑讳簨浠�
+    table.on('tool(order)', function (obj) {
+        var data = obj.data;
+        var layEvent = obj.event;
+        if (layEvent === 'edit') {
+            showEditModel(data);
+        } else if (layEvent === 'del') {
+            doDel(data.orderNo);
+        } else if (layEvent === 'complete') {
+            doModify(data.id, data.orderNo, 4);
+        } else if (layEvent === 'btnPrint') {
+            btnPrint(data.id, data.orderNo, 4);
+        } else if (layEvent === 'manPrint') {
+            addPakOut(data.orderNo);
+        }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: '900px',
+                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',
+                        headers: {token: localStorage.getItem('token')},
+                        url: baseUrl+'/orderCheckLog/list/auth',
+                        where: {
+                            order_id: data.id,
+                            order_no: data.orderNo
+                        },
+                        page: true,
+                        cellMinWidth: 100,
+                        cols: [[   //宸ュ叿鏉℃槑缁�
+                            {type: 'numbers'},
+                            {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
+                            {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160},
+                            {field: 'locNo', title: '搴撲綅鍙�'},
+                            {field: 'anfme', title: '鏁伴噺'},
+                            {field: 'realAnfme', title: '鐪熷疄鏁伴噺',style: 'color: blue;font-weight: bold', edit: true},
+                            {field: 'diffAnfme', title: '宸紓鏁伴噺', style: 'font-weight: bold'},
+                            {field: 'owner$', title: '璐т富'},
+                            {field: 'payment$', title: '璐х墿鐘舵��'},
+                            {field: 'type$', 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: ''
+                    });
+
+                }
+
+
+            });
+        }else if (layEvent === 'wrkTrace'){
+            showWrkTrace(data.id);
+        }
+    });
+    //鍗曟嵁鏄庣粏琛� 瀹℃牳鎸夐挳
+    table.on('tool(lookSSXMTable)', function (obj) {
+        var data = obj.data;
+        var layEvent = obj.event;
+        if (layEvent === 'examine') {
+            examine(data);
+        }
+    })
+
+    function showWrkTrace(orderId) {
+        console.log(orderId);
+    }
+
+    // 鏄剧ず琛ㄥ崟寮圭獥
+    function showEditModel(expTpe) {
+        admin.open({
+            type: 1,
+            title: (expTpe ? '淇敼' : '娣诲姞') + '鐩樼偣鍗�',
+            content: $('#editDialog').html(),
+            area: '1300px',
+            success: function (layero, dIndex) {
+                $(layero).children('.layui-layer-content').css('overflow', 'visible');
+                var isExpAdd = !expTpe;
+                // 鍥炴樉鏁版嵁
+                form.val('editForm', expTpe);
+                if (expTpe) {
+                    $('#orderNo').attr("disabled", "disabled");
+                }
+                // 琛ㄥ崟鎻愪氦浜嬩欢
+                form.on('submit(orderEditSubmit)', function (data) {
+                    // 缁勮鏁版嵁
+                    if (xxDataList.length <= 0) {
+                        layer.tips('璇锋坊鍔犲崟鎹槑缁�', '#matAddBtnComment', {tips: [1, '#ff4c4c']});
+                        return false;
+                    }
+                    let nList = admin.util.deepClone(xxDataList);
+                    // for (let xi = 0; xi < nList.length; xi++) {
+                    //     if (nList[xi].anfme <= 0){
+                    //         layer.msg('鏄庣粏淇敼鏁伴噺涓嶅悎娉�', {icon: 2});
+                    //         return false;
+                    //     }
+                    //     if (nList[xi].anfme < nList[xi].workQty){
+                    //         layer.msg('鏁伴噺涓嶈兘灏忎簬宸蹭綔涓氭暟閲�', {icon: 2});
+                    //         return false;
+                    //     }
+                    // }
+                    layer.load(2);
+                    console.log(data);
+                    $.ajax({
+                        url: baseUrl+"/orderCheckLog/form/" + (isExpAdd?"add":"modify") + "/auth",
+                        headers: {'token': localStorage.getItem('token')},
+                        data: JSON.stringify({
+                            orderId: Number(data.field.id),
+                            docType: Number(data.field.docType),
+                            orderNo: data.field.orderNo,
+                            orderDetlList: nList
+                        }),
+                        contentType:'application/json;charset=UTF-8',
+                        method: 'POST',
+                        success: function (res) {
+                            layer.closeAll('loading');
+                            if (res.code === 200){
+                                layer.close(dIndex);
+                                $(".layui-laypage-btn")[0].click();
+                                layer.msg(res.msg, {icon: 1});
+                            } else if (res.code === 403){
+                                top.location.href = baseUrl+"/";
+                            }else {
+                                layer.msg(res.msg, {icon: 2});
+                            }
+                        }
+                    })
+                    return false;
+                });
+                // 鏄庣粏琛ㄦ牸
+                var xxDataList = [];
+                var tbOptions = {
+                    elem: '#formSSXMTable',
+                    headers: {token: localStorage.getItem('token')},
+                    data: xxDataList,
+                    page: true,
+                    height: '350px;',
+                    cellMinWidth: 100,
+                    cols: [[
+                        {type: 'numbers'},
+                        {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
+                        {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160},
+                        {field: 'locNo', title: '搴撲綅鍙�'},
+                        {field: 'anfme', title: '搴撳瓨鏁伴噺'},
+                        {field: 'realAnfme', title: '鐪熷疄鏁伴噺'},
+                        {field: 'diffAnfme', title: '宸紓鏁伴噺', style: 'font-weight: bold'},
+                        {field: 'type$', title: '鐘舵��'}
+                    ]],
+                    done: function (res) {
+                        $(layero).find('.layui-table-view').css('margin', '0');
+                    },
+                    size: ''
+                };
+
+
+                if (!isExpAdd) {
+
+                    $.ajax({
+                        url: baseUrl+"/orderCheckLog/detl/all/auth?orderNo=" + expTpe.orderNo,
+                        headers: {'token': localStorage.getItem('token')},
+                        method: 'GET',
+                        async: false,
+                        success: function (res) {
+                            if (res.code === 200){
+                                console.log(res.data);
+                                xxDataList = res.data;
+                                tbOptions.data = xxDataList;
+                            } else if (res.code === 403){
+                                top.location.href = baseUrl+"/";
+                            }else {
+                                layer.msg(res.msg, {icon: 2})
+                            }
+                        }
+                    })
+                }
+                var insTbSSXM = table.render(tbOptions);
+
+                // 宸ュ叿鏉$偣鍑讳簨浠�
+                table.on('tool(formSSXMTable)', function (obj) {
+                    var data = obj.data;
+                    var layEvent = obj.event;
+                    if (layEvent === 'edit') {
+                        showEditModel2(data);
+                    } else if (layEvent === 'del') {
+                        if(data.workQty > 0){
+                            layer.msg("宸插瓨鍦ㄤ綔涓氭暟閲忥紝涓嶈兘鍒犻櫎", {icon: 2});
+                            return;
+                        }
+                        layer.confirm('纭畾瑕佸垹闄ゅ悧锛�', {
+                            shade: .1,
+                            skin: 'layui-layer-admin'
+                        }, function (i) {
+                            layer.close(i);
+                            for (var j = 0; j < xxDataList.length; j++) {
+                                if (xxDataList[j].matnr === data.matnr && xxDataList[j].batch === data.batch) {
+                                    xxDataList.splice(j, 1);
+                                    break;
+                                }
+                            }
+                            insTbSSXM.reload({data: xxDataList, page: {curr: 1}});
+                        });
+                    }
+                });
+                // 鏄庣粏鏁版嵁淇敼
+                table.on('edit(formSSXMTable)', function (obj) {
+                    let index = obj.tr.attr("data-index");
+                    let data = xxDataList[index];
+                    if (obj.field === 'anfme'){
+                        let vle = Number(obj.value);
+                        if (isNaN(vle)) {
+                            layer.msg("璇疯緭鍏ユ暟瀛�", {icon: 2});
+                            return false;
+                        } else {
+                            if (vle <= 0) {
+                                layer.msg("鏁伴噺蹇呴』澶т簬闆�", {icon: 2});
+                                // data[obj.field] = 0;
+                                // insTbSSXM.reload({data: xxDataList});
+                                return false;
+                            }
+                            if(obj.value < data.workQty){
+                                layer.msg("杈撳叆鏁伴噺涓嶈兘灏忎簬浣滀笟涓暟閲�", {icon: 2});
+                                // data[obj.field] = 0;
+                                // insTbSSXM.reload({data: xxDataList});
+                                return false;
+                            }
+                        }
+                    }
+                    data[obj.field] = obj.value;
+                    insTbSSXM.reload({data: xxDataList});
+                });
+
+                $('#matAddBtnComment').click(function () {
+                    showEditModel2();
+                });
+
+                // 鏄剧ず娣诲姞鏄庣粏琛ㄥ崟寮圭獥
+                function showEditModel2(exp) {
+                    var checkType = $("#checkType option:selected").val();
+                    var tp = '';
+                    if (checkType == 'locno'){
+                        tp = 2;
+                    }
+                    if (checkType == 'matnr'){
+                        tp = 3;
+                    }
+
+                    admin.open({
+                        type: 1,
+                        offset: '150px',
+                        area: '680px',
+                        title: (exp ? '淇敼' : '娣诲姞') + '鏄庣粏',
+                        content: $('#matEditDialog'+tp).html(),
+                        success: function (layero, dIndex) {
+                            // 鍥炴樉鏁版嵁
+                            form.val('matEditForm', exp);
+                            // 琛ㄥ崟鎻愪氦浜嬩欢
+                            form.on('submit(matEditSubmit)', function (data) {
+                                var prec = $("#selectPerc option:selected").val();
+                                var selectList;
+                                if (tp == 2){
+                                    prec = $("#selectPerc2 option:selected").val();
+                                    selectList = matXmSelect2.getValue();
+                                    console.log(selectList);
+                                    for (let i = 0; i<selectList.length; i++) {
+                                        selectList[i].children="";
+                                    }
+                                }
+                                if (tp == 3){
+                                    prec = $("#selectPerc3 option:selected").val();
+                                    selectList = matXmSelect.getValue();
+                                    console.log(selectList);
+                                    for (let i = 0; i<selectList.length; i++) {
+                                        selectList[i].children="";
+                                    }
+                                }
+                                var json = {
+                                    prec:prec,
+                                    data:{
+                                    }
+                                }
+
+                                json.data = selectList;
+                                console.log(json);
+
+                                if ( tp != 2){
+                                    $.ajax({
+                                        url: baseUrl+"/orderCheckLog/create/auth",
+                                        headers: {'token': localStorage.getItem('token')},
+                                        contentType:'application/json;charset=UTF-8',
+                                        data: JSON.stringify(json),
+                                        method: 'POST',
+                                        async: false,
+                                        success: function (res) {
+                                            if (res.code === 200){
+                                                for (var i =0;i<res.data.length;i++){
+                                                    xxDataList.push(res.data[i]);
+                                                    console.log(xxDataList);
+                                                    insTbSSXM.reload({data: xxDataList, page: {curr: 1}});
+                                                }
+
+                                            } else if (res.code === 403){
+                                                top.location.href = baseUrl+"/";
+                                            }else {
+                                                layer.msg(res.msg, {icon: 2})
+                                            }
+                                        }
+                                    })
+                                }else {
+                                    $.ajax({
+                                        url: baseUrl+"/orderCheckLog/create/loc/auth",
+                                        headers: {'token': localStorage.getItem('token')},
+                                        contentType:'application/json;charset=UTF-8',
+                                        data: JSON.stringify(json),
+                                        method: 'POST',
+                                        async: false,
+                                        success: function (res) {
+                                            if (res.code === 200){
+                                                for (var i =0;i<res.data.length;i++){
+                                                    xxDataList.push(res.data[i]);
+                                                    console.log(xxDataList);
+                                                    insTbSSXM.reload({data: xxDataList, page: {curr: 1}});
+                                                }
+
+                                            } else if (res.code === 403){
+                                                top.location.href = baseUrl+"/";
+                                            }else {
+                                                layer.msg(res.msg, {icon: 2})
+                                            }
+                                        }
+                                    })
+                                }
+
+                                layer.close(dIndex);
+                                return false;
+                            });
+                            // 娓叉煋鐗╂枡閫夋嫨
+                            var matXmSelect = xmSelect.render({
+                                el: '#mat3',
+                                style: {
+                                    width: '340px',
+                                },
+                                autoRow: true,
+                                toolbar: { show: true },
+                                filterable: true,
+                                remoteSearch: true,
+                                remoteMethod: function(val, cb, show){
+                                    $.ajax({
+                                        url: baseUrl+"/mat/all/get/kv",
+                                        headers: {'token': localStorage.getItem('token')},
+                                        data: {
+                                            condition: val
+                                        },
+                                        method: 'POST',
+                                        success: function (res) {
+                                            if (res.code === 200){
+                                                cb(res.data)
+                                            } else {
+                                                cb([]);
+                                                layer.msg(res.msg, {icon: 2});
+                                            }
+                                        }
+                                    });
+                                }
+                            })
+
+                            // 娓叉煋鐗╂枡閫夋嫨
+                            var matXmSelect2 = xmSelect.render({
+                                el: '#mat2',
+                                style: {
+                                    width: '340px',
+                                },
+                                autoRow: true,
+                                toolbar: { show: true },
+                                filterable: true,
+                                remoteSearch: true,
+                                remoteMethod: function(val, cb, show){
+                                    $.ajax({
+                                        url: baseUrl+"/orderCheckLog/all/get/loc",
+                                        headers: {'token': localStorage.getItem('token')},
+                                        method: 'POST',
+                                        success: function (res) {
+                                            if (res.code === 200){
+                                                cb(res.data)
+                                            } else {
+                                                cb([]);
+                                                layer.msg(res.msg, {icon: 2});
+                                            }
+                                        }
+                                    });
+                                }
+                            })
+
+                            // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯
+                            $(layero).children('.layui-layer-content').css('overflow', 'visible');
+                            layui.form.render('select');
+                        }
+                    });
+                }
+
+            }
+        });
+    }
+
+    // 鍒犻櫎鍗曟嵁
+    function doDel(orderNo) {
+        layer.confirm('纭畾瑕佸垹闄ゅ悧锛�', {
+            shade: .1,
+            skin: 'layui-layer-admin'
+        }, function (i) {
+            layer.close(i);
+            layer.load(2);
+            $.ajax({
+                url: baseUrl+"/orderCheckLog/delete/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: {
+                    orderNo: orderNo
+                },
+                method: 'POST',
+                success: function (res) {
+                    layer.closeAll('loading');
+                    if (res.code === 200){
+                        if (insTbCount === 0) {
+                            insTb.reload({page: {curr: 1}});
+                        } else {
+                            $(".layui-laypage-btn")[0].click();
+                        }
+                        layer.msg(res.msg, {icon: 1});
+                    } else if (res.code === 403){
+                        top.location.href = baseUrl+"/";
+                    }else {
+                        layer.msg(res.msg, {icon: 2});
+                    }
+                }
+            })
+        });
+    }
+
+    // 淇敼璁㈠崟鐘舵��
+    function doModify(orderId, orderNo, settle) {
+        layer.confirm('纭畾瑕佹墜鍔ㄥ畬缁撳悧锛�', {
+            shade: .1,
+            skin: 'layui-layer-admin'
+        }, function (i) {
+            layer.close(i);
+            layer.load(2);
+            console.log(orderId);
+            console.log(settle);
+            $.ajax({
+                url: baseUrl+"/order/update/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: {
+                    id: orderId,
+                    orderNo: orderNo,
+                    settle: settle
+                },
+                method: 'POST',
+                success: function (res) {
+                    layer.closeAll('loading');
+                    if (res.code === 200){
+                        if (insTbCount === 0) {
+                            insTb.reload({page: {curr: 1}});
+                        } else {
+                            $(".layui-laypage-btn")[0].click();
+                        }
+                        layer.msg(res.msg, {icon: 1});
+                    } 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
+    });
+    // 鐢熸垚鎷h揣鍗�
+    function addPakOut(expTpe) {
+        $.ajax({
+            url: baseUrl+"/ManPakOut/add/auth",
+            headers: {'token': localStorage.getItem('token')},
+            data: JSON.stringify({
+                docType: Number(20),
+                orderNo: expTpe,
+            }),
+            contentType:'application/json;charset=UTF-8',
+            method: 'POST',
+            success: function (res) {
+                if (res.code === 200){
+                    layer.msg("鐢熸垚鎷h揣鍗曪細ok");
+                } else if (res.code === 403){
+                    layer.msg("鐢熸垚鎷h揣鍗曞け璐ワ細403");
+                }else {
+                    layer.msg("鐢熸垚鎷h揣鍗曞け璐ワ細鏈煡寮傚父");
+                }
+
+            }
+        })
+    }
+    // 鎵撳嵃
+    function btnPrint(orderId, orderNo, settle) {
+        console.log(orderId);
+        console.log(orderNo);
+        console.log(settle);
+        printMatCodeNos.push(orderNo)
+        var templateNo = 3;
+        $.ajax({
+            url: baseUrl+"/orderCheckLog/print/auth",
+            headers: {'token': localStorage.getItem('token')},
+            data: {param: printMatCodeNos},
+            method: 'POST',
+            async: false,
+            success: function (res) {
+                if (res.code === 200){
+                    layer.closeAll();
+                    console.log(res);
+                    for (let i=0;i<res.data.length;i++){
+                        var templateDom = $("#templatePreview"+templateNo);
+                        var className = templateDom.attr("class");
+                        if (className === 'template-barcode') {
+                            res.data[i]["barcodeUrl"]=baseUrl+"/orderCheckLog/code/auth?type=1&param="+res.data[i].orderNo+
+                                ";"+res.data[i].matnr+";"+res.data[i].batch;
+                        } else {
+                            res.data[i]["barcodeUrl"]=baseUrl+"/orderCheckLog/code/auth?type=2&param="+res.data[i].orderNo+
+                                ";"+res.data[i].matnr+";"+res.data[i].batch;
+                        }
+                    }
+                    var tpl = templateDom.html();
+                    var template = Handlebars.compile(tpl);
+                    var html = template(res);
+                    var box = $("#box");
+                    box.html(html);box.show();
+                    box.print({mediaPrint:true});
+                    box.hide();
+                } else if (res.code === 403){
+                    top.location.href = baseUrl+"/";
+                }else {
+                    layer.msg(res.msg)
+                }
+            }
+        })
+    }
+
+    function examine(data){
+        console.log(data)
+        layer.confirm('璇风‘瀹氱湡瀹炴暟閲忎互鍙婂樊寮傛暟閲�!', {
+            shade: .1,
+            skin: 'layui-layer-admin'
+        }, function (i) {
+            $.ajax({
+                url: baseUrl + "/orderCheckLog/mxamine",
+                headers: {'token': localStorage.getItem('token')},
+                contentType:'application/json;charset=UTF-8',
+                data: JSON.stringify(data),
+                method: 'POST',
+                async: false,
+                success: function (res) {
+                    if (res.code === 200){
+                        layer.msg(res.msg);
+                    }else {
+                        layer.msg(res.msg);
+                    }
+                }
+            });
+
+
+        });
+    }
+
+    // 椤甸潰淇敼
+    table.on('edit(lookSSXMTable)', function (obj) {
+        console.log(obj.data)
+    })
+
+
+});
diff --git a/src/main/webapp/static/js/saasLog/saasLog.js b/src/main/webapp/static/js/saasLog/saasLog.js
index 6d2833e..b5c5278 100644
--- a/src/main/webapp/static/js/saasLog/saasLog.js
+++ b/src/main/webapp/static/js/saasLog/saasLog.js
@@ -30,7 +30,7 @@
             ,{field: 'ioTime$', align: 'center',title: '鎿嶄綔鏃堕棿'}
             ,{field: 'createBy', align: 'center',title: '', hide:true}
 
-            ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120}
+
         ]],
         request: {
             pageName: 'curr',
diff --git a/src/main/webapp/views/locCheckLog/locCheckLog.html b/src/main/webapp/views/locCheckLog/locCheckLog.html
new file mode 100644
index 0000000..7170b28
--- /dev/null
+++ b/src/main/webapp/views/locCheckLog/locCheckLog.html
@@ -0,0 +1,171 @@
+<!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">
+</head>
+<body>
+
+<div class="layui-fluid">
+    <div class="layui-card">
+        <div class="layui-card-body">
+            <div class="layui-form toolbar" id="search-box">
+                <div class="layui-form-item">
+                    <div class="layui-inline">
+                        <label class="layui-form-label">缂栧彿:</label>
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off">
+                        </div>
+                    </div>
+                    <div class="layui-inline">&emsp;
+                        <button class="layui-btn icon-btn" lay-filter="search" lay-submit>
+                            <i class="layui-icon">&#xe615;</i>鎼滅储
+                        </button>
+                        <button class="layui-btn icon-btn" lay-filter="reset" lay-submit>
+                            <i class="layui-icon">&#xe666;</i>閲嶇疆
+                        </button>
+                    </div>
+                </div>
+            </div>
+            <table class="layui-hide" id="locCheckLog" lay-filter="locCheckLog"></table>
+        </div>
+    </div>
+</div>
+
+<script type="text/html" id="toolbar">
+    <div class="layui-btn-container">
+        <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>
+        <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>
+        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button>
+    </div>
+</script>
+
+<script type="text/html" id="operate">
+    <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>
+    <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a>
+</script>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.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/locCheckLog/locCheckLog.js" charset="utf-8"></script>
+</body>
+<!-- 琛ㄥ崟寮圭獥 -->
+<script type="text/html" id="editDialog">
+    <form id="detail" lay-filter="detail" class="layui-form admin-form model-form">
+        <input name="id" type="hidden">
+        <div class="layui-row">
+            <div class="layui-col-md12">
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">鍞竴ID: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="id" placeholder="璇疯緭鍏ュ敮涓�ID" lay-vertype="tips" lay-verify="required">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鐘舵��: </label>
+                    <div class="layui-input-block">
+                        <select name="type">
+                            <option value="">璇烽�夋嫨鐘舵��</option>
+                            <option value="1">鐩樼偣涓�</option>
+                            <option value="2">鐩樼偣缁撴潫</option>
+                        </select>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">搴撲綅鍙�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="locNo" placeholder="璇疯緭鍏ュ簱浣嶅彿">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鐗╂枡鍙�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="matnr" placeholder="璇疯緭鍏ョ墿鏂欏彿">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鐩樼偣鍓嶆暟閲�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="anfme" placeholder="璇疯緭鍏ョ洏鐐瑰墠鏁伴噺">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鐪熷疄鏁伴噺: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="realAnfme" placeholder="璇疯緭鍏ョ湡瀹炴暟閲�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍒涘缓浜�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="createBy" placeholder="璇疯緭鍏ュ垱寤轰汉">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍒涘缓鏃堕棿: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="createTime" id="createTime$" placeholder="璇疯緭鍏ュ垱寤烘椂闂�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">淇敼浜�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="updateBy" placeholder="璇疯緭鍏ヤ慨鏀逛汉">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">淇敼鏃堕棿: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="updateTime" id="updateTime$" placeholder="璇疯緭鍏ヤ慨鏀规椂闂�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">澶囨敞: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="memo" placeholder="璇疯緭鍏ュ娉�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">宸紓鏁伴噺: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="diffAnfme" placeholder="璇疯緭鍏ュ樊寮傛暟閲�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">璁㈠崟鍙�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="orderNo" placeholder="璇疯緭鍏ヨ鍗曞彿">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鐗╂枡鍚�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="maktx" placeholder="璇疯緭鍏ョ墿鏂欏悕">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">瀹℃牳: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="examine" placeholder="璇疯緭鍏ュ鏍�">
+                    </div>
+                </div>
+
+             </div>
+        </div>
+        <hr class="layui-bg-gray">
+        <div class="layui-form-item text-right">
+            <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button>
+            <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+        </div>
+    </form>
+</script>
+</html>
+
diff --git a/src/main/webapp/views/locCheckTrim/locCheckTrim.html b/src/main/webapp/views/locCheckTrim/locCheckTrim.html
new file mode 100644
index 0000000..eb1b0a4
--- /dev/null
+++ b/src/main/webapp/views/locCheckTrim/locCheckTrim.html
@@ -0,0 +1,58 @@
+<!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/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 鎼滅储鏍� -->
+<div id="search-box" class="layui-form layui-card-header">
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="order_no" placeholder="鐩樼偣鍗曞彿" autocomplete="off">
+        </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 id="data-search-btn" class="layui-btn-container layui-form-item">
+        <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button>
+        <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>
+    </div>
+</div>
+
+<!-- 琛ㄦ牸 -->
+<div class="layui-form">
+    <table class="layui-hide" id="waitPakinLog" lay-filter="waitPakinLog"></table>
+</div>
+<script type="text/html" id="toolbar">
+    <div class="layui-btn-container">
+        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="margin-top: 10px">瀵煎嚭</button>
+    </div>
+</script>
+
+<script type="text/html" id="operate">
+</script>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.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/locCheckTrim/locCheckTrim.js" charset="utf-8"></script>
+
+<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe>
+
+</body>
+</html>
+
diff --git a/src/main/webapp/views/orderCheck/orderCheck.html b/src/main/webapp/views/orderCheck/orderCheck.html
index 1a30105..50922e8 100644
--- a/src/main/webapp/views/orderCheck/orderCheck.html
+++ b/src/main/webapp/views/orderCheck/orderCheck.html
@@ -153,6 +153,8 @@
         <select id="checkType" name="checkType" lay-filter="checkType">
           <option value="all" selected="">鍏ㄩ儴鐗╂枡</option>
           <option value="matnr">鐗╂枡鍙�</option>
+          <option value="locno">搴撲綅鍙�</option>
+          <option value="owner">璐т富</option>
         </select>
       </div>
     </div>
@@ -188,9 +190,6 @@
   <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>
   <a class="layui-btn layui-btn-danger layui-btn-xs btn-delete" lay-event="del">鍒犻櫎</a>
   {{# } }}
-  {{# if ((d.settle == 0 || d.settle == 1) && (d.docType == 21 || d.docType == 11 || d.docType == 12)) { }}
-  <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="manPrint">鐢熸垚鎷h揣鍗�</a>
-  {{# } }}
   {{# if (d.settle == 2) { }}
   <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="complete">瀹岀粨</a>
   {{# } }}
@@ -202,8 +201,14 @@
   <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">鍒犻櫎</a>
 </script>
 <script type="text/html" id="formSSXMTableBar3">
+  {{# if (d.type == 2 && d.examine == 0 ) { }}
   <!--    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">淇敼</a>-->
   <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="examine">瀹℃牳</a>
+  {{# } }}
+  {{# if (d.examine == 1 ) { }}
+  <span name="settle" class="layui-badge layui-badge-blue">宸插鏍�</span>
+  {{# } }}
+
 </script>
 <!-- 琛ㄥ崟寮圭獥1 -->
 <script type="text/html" id="matEditDialog">
@@ -229,6 +234,29 @@
   </form>
 </script>
 
+<!-- 琛ㄥ崟寮圭獥3 -->
+<script type="text/html" id="matEditDialog2">
+  <form id="matEditForm2" lay-filter="matEditForm2" class="layui-form model-form">
+    <input name="experimentId" type="hidden"/>
+    <div class="layui-form-item" style="float: left">
+      <label class="layui-form-label">搴撲綅 - 澶氶��</label>
+      <div class="layui-input-block">
+        <div id="mat2" name="mat">
+        </div>
+      </div>
+      <label class="layui-form-label"style="margin-top: 15px;">鐩樼偣鐜囷細</label>
+      <div class="layui-input-block" style="margin-top: 15px;">
+        <select id="selectPerc2" name="selectPerc2" lay-filter="selectPerc2">
+          <option value="100" selected="">100%</option>
+        </select>
+      </div>
+    </div>
+    <div class="layui-form-item text-right" style="margin-left: 35px">
+      <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+      <button class="layui-btn" lay-filter="matEditSubmit" lay-submit>淇濆瓨</button>
+    </div>
+  </form>
+</script>
 
 <!-- 琛ㄥ崟寮圭獥3 -->
 <script type="text/html" id="matEditDialog3">
@@ -258,6 +286,33 @@
   </form>
 </script>
 
+<script type="text/html" id="matEditDialog4">
+  <form id="matEditForm4" lay-filter="matEditForm4" class="layui-form model-form">
+    <input name="experimentId" type="hidden"/>
+    <div class="layui-form-item" style="float: left">
+      <label class="layui-form-label">璐т富 - 澶氶��</label>
+      <div class="layui-input-block">
+        <div id="mat4" name="mat">
+        </div>
+      </div>
+      <label class="layui-form-label"style="margin-top: 15px;">鐩樼偣鐜囷細</label>
+      <div class="layui-input-block" style="margin-top: 15px;">
+        <select id="selectPerc4" name="selectPerc4" lay-filter="selectPerc4">
+          <option value="100" selected="">100%</option>
+          <option value="80">80%</option>
+          <option value="60">60%</option>
+          <option value="40">40%</option>
+          <option value="10">10%</option>
+        </select>
+      </div>
+    </div>
+    <div class="layui-form-item text-right" style="margin-left: 35px">
+      <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+      <button class="layui-btn" lay-filter="matEditSubmit" lay-submit>淇濆瓨</button>
+    </div>
+  </form>
+</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>
diff --git a/src/main/webapp/views/orderCheckLog/orderCheckLog.html b/src/main/webapp/views/orderCheckLog/orderCheckLog.html
new file mode 100644
index 0000000..d1024c4
--- /dev/null
+++ b/src/main/webapp/views/orderCheckLog/orderCheckLog.html
@@ -0,0 +1,374 @@
+<!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">
+    <!--    <link rel="stylesheet" href="../../static/css/common.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>
+        .btn-add {
+            display: none;
+        }
+        .btn-edit {
+            display: none;
+        }
+        .btn-complete {
+            display: none;
+        }
+        .btn-delete {
+            display: none;
+        }
+        .contain td {
+            border: 1px solid #000;
+            /*font-family: 榛戜綋;*/
+            /*font-weight: bold;*/
+            /*color: #000000;*/
+        }
+        .wrk-trace {
+            color: green;
+            cursor: pointer;
+            margin-left: 6px;
+            font-size: 18px;
+        }
+    </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>
+                        <button id="orderAddBtn" class="layui-btn icon-btn btn-add"><i class="layui-icon">&#xe654;</i>娣诲姞
+                        </button>
+                    </div>
+                </div>
+            </div>
+            <table id="order" lay-filter="order"></table>
+        </div>
+    </div>
+
+</div>
+<!-- 琛ㄦ牸鎿嶄綔鍒� -->
+<script type="text/html" id="operate">
+    <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="btnPrint">鎵撳嵃</a>
+    {{# if (d.settle == 0 || d.settle == 1) { }}
+    <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>
+    <a class="layui-btn layui-btn-danger layui-btn-xs btn-delete" lay-event="del">鍒犻櫎</a>
+    {{# } }}
+    <!--    {{# if ((d.settle == 0 || d.settle == 1) && (d.docType == 21 || d.docType == 11 || d.docType == 12)) { }}-->
+    <!--    <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="manPrint">鐢熸垚鎷h揣鍗�</a>-->
+    <!--    {{# } }}-->
+    {{# if (d.settle == 2) { }}
+    <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="complete">瀹岀粨</a>
+    {{# } }}
+
+</script>
+<!-- 琛ㄦ牸鎿嶄綔鍒� -->
+<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" class="layui-badge layui-badge-gray">{{d.settle$}}</span>-->
+<!--</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 type="text/html" id="editDialog">
+    <form id="editForm" lay-filter="editForm" class="layui-form model-form">
+        <input name="id" type="hidden"/>
+        <div class="layui-form-item">
+            <label class="layui-form-label">鐩樼偣绫诲瀷锛�</label>
+            <div class="layui-input-block" >
+                <select id="checkType" name="checkType" lay-filter="checkType">
+                    <option value="all" selected="">鍏ㄩ儴鐗╂枡</option>
+                    <option value="matnr">鐗╂枡鍙�</option>
+                    <option value="locno">搴撲綅鍙�</option>
+                </select>
+            </div>
+        </div>
+
+        <div class="layui-form-item">
+            <label class="layui-form-label">鐩樼偣鍗曠紪鍙凤細</label>
+            <div class="layui-input-block">
+                <input id="orderNo" name="orderNo" placeholder="杈撳叆鍗曟嵁缂栧彿" type="text" class="layui-input" maxlength="20" lay-verType="tips" />
+                <!--                lay-verify="required"-->
+            </div>
+        </div>
+        <div class="layui-form-item" style="position: relative;">
+            <label class="layui-form-label">鍗曟嵁鏄庣粏锛�</label>
+            <div class="layui-input-block">
+                <table id="formSSXMTable" lay-filter="formSSXMTable"></table>
+
+            </div>
+            <button class="layui-btn layui-btn-sm icon-btn" id="matAddBtnComment"
+                    style="position: absolute; left: 20px;top: 60px;padding: 0 5px;" type="button">
+                <i class="layui-icon">&#xe654;</i>娣诲姞鏄庣粏
+            </button>
+        </div>
+        <div class="layui-form-item text-right">
+            <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+            <button class="layui-btn" lay-filter="orderEditSubmit" lay-submit>淇濆瓨</button>
+        </div>
+    </form>
+</script>
+
+<!-- 琛ㄦ牸鎿嶄綔鍒� -->
+<script type="text/html" id="formSSXMTableBar">
+    {{# if (d.settle == 0 || d.settle == 1) { }}
+    <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>
+    <a class="layui-btn layui-btn-danger layui-btn-xs btn-delete" lay-event="del">鍒犻櫎</a>
+    {{# } }}
+    {{# if (d.settle == 2) { }}
+    <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="complete">瀹岀粨</a>
+    {{# } }}
+    <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="btnPrint">鎵撳嵃</a>
+</script>
+<!-- 琛ㄦ牸鎿嶄綔鍒� -->
+<script type="text/html" id="formSSXMTableBarr">
+    <!--    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">淇敼</a>-->
+    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">鍒犻櫎</a>
+</script>
+<script type="text/html" id="formSSXMTableBar3">
+    {{# if (d.type == 2 && d.examine == 0 ) { }}
+    <!--    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">淇敼</a>-->
+    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="examine">瀹℃牳</a>
+    {{# } }}
+    {{# if (d.examine == 1 ) { }}
+    <span name="settle" class="layui-badge layui-badge-blue">宸插鏍�</span>
+    {{# } }}
+
+</script>
+<!-- 琛ㄥ崟寮圭獥1 -->
+<script type="text/html" id="matEditDialog">
+    <form id="matEditForm" lay-filter="matEditForm" class="layui-form model-form">
+        <input name="experimentId" type="hidden"/>
+        <div class="layui-form-item" style="float: left">
+
+            <label class="layui-form-label"style="margin-top: 15px;">鐩樼偣鐜囷細</label>
+            <div class="layui-input-block" style="margin-top: 15px;">
+                <select id="selectPerc" name="selectPerc" lay-filter="selectPerc">
+                    <option value="100" selected="">100%</option>
+                    <option value="80">80%</option>
+                    <option value="60">60%</option>
+                    <option value="40">40%</option>
+                    <option value="10">10%</option>
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item text-right" style="margin-left: 35px">
+            <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+            <button class="layui-btn" lay-filter="matEditSubmit" lay-submit>淇濆瓨</button>
+        </div>
+    </form>
+</script>
+
+<!-- 琛ㄥ崟寮圭獥3 -->
+<script type="text/html" id="matEditDialog2">
+    <form id="matEditForm2" lay-filter="matEditForm2" class="layui-form model-form">
+        <input name="experimentId" type="hidden"/>
+        <div class="layui-form-item" style="float: left">
+            <label class="layui-form-label">搴撲綅 - 澶氶��</label>
+            <div class="layui-input-block">
+                <div id="mat2" name="mat">
+                </div>
+            </div>
+            <label class="layui-form-label"style="margin-top: 15px;">鐩樼偣鐜囷細</label>
+            <div class="layui-input-block" style="margin-top: 15px;">
+                <select id="selectPerc2" name="selectPerc2" lay-filter="selectPerc2">
+                    <option value="100" selected="">100%</option>
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item text-right" style="margin-left: 35px">
+            <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+            <button class="layui-btn" lay-filter="matEditSubmit" lay-submit>淇濆瓨</button>
+        </div>
+    </form>
+</script>
+
+<!-- 琛ㄥ崟寮圭獥3 -->
+<script type="text/html" id="matEditDialog3">
+    <form id="matEditForm3" lay-filter="matEditForm3" class="layui-form model-form">
+        <input name="experimentId" type="hidden"/>
+        <div class="layui-form-item" style="float: left">
+            <label class="layui-form-label">鐗╂枡 - 澶氶��</label>
+            <div class="layui-input-block">
+                <div id="mat3" name="mat">
+                </div>
+            </div>
+            <label class="layui-form-label"style="margin-top: 15px;">鐩樼偣鐜囷細</label>
+            <div class="layui-input-block" style="margin-top: 15px;">
+                <select id="selectPerc3" name="selectPerc3" lay-filter="selectPerc3">
+                    <option value="100" selected="">100%</option>
+                    <option value="80">80%</option>
+                    <option value="60">60%</option>
+                    <option value="40">40%</option>
+                    <option value="10">10%</option>
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item text-right" style="margin-left: 35px">
+            <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+            <button class="layui-btn" lay-filter="matEditSubmit" lay-submit>淇濆瓨</button>
+        </div>
+    </form>
+</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/js/jquery/jQuery.print.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.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/orderCheckLog/orderCheckLog.js" charset="utf-8"></script>
+
+<script type="text/template" id="docTypeTpl">
+    <option value="">閫夋嫨绫诲瀷</option>
+    {{#each records}}
+    <option value="{{docId}}">{{docName}}</option>
+    {{/each}}
+</script>
+<!-- 鎵撳嵃鎿嶄綔寮圭獥 -->
+<div id="printDataDiv" style="display: none;padding: 20px">
+    <div class="layui-form" style="text-align: center">
+        <hr>
+        <!--鍗曢�夋-->
+        <div class="layui-form-item" style="display: inline-block; margin-bottom: 10px">
+            <input type="radio" name="selectTemplate" value="3" title="妯℃澘涓�" lay-filter="selectTemplateRadio" checked="">
+        </div>
+        <fieldset class="layui-elem-field site-demo-button" style="margin-top: 30px;text-align: left;">
+            <legend>鎵撳嵃棰勮</legend>
+            <div id="template-container" style="margin: 20px;text-align: center">
+                <!-- 棰勮鍥� 3 -->
+                <div id="template-preview-3" class="template-preview" style="display: inline-block">
+                    <table class="contain" width="280" style="overflow: hidden;font-size: xx-small;table-layout: fixed;">
+                    </table>
+                </div>
+            </div>
+        </fieldset>
+    </div>
+</div>
+<div id="box" style="display: block"></div>
+
+<!-- 鍒濆鍖栨墦鍗版ā鏉跨殑鏉″舰鐮� -->
+<script type="text/javascript">
+    // $('.template-barcode').attr("src", baseUrl+"/mac/code/auth?type=1&param=123");
+    $('.template-qrcode').attr("src", baseUrl+"/mac/code/auth?type=2&param=123");
+</script>
+<!-- 妯℃澘寮曟搸 -->
+<!-- 妯℃澘3 -->
+<script type="text/template" id="templatePreview3" class="template-qrcode">
+    {{#each data}}
+    <table class="contain" width="280" style="overflow: hidden;font-size: xx-small;table-layout: fixed;">
+        <thead></thead>
+        <tbody style="font-weight: bold">
+        <tr style="height: 30px;">
+            <td align="center" scope="col" colspan="1">鏂欏彿</td>
+            <td align="lift" colspan="4" style="padding-left: 8px;overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">{{this.matnr}}</td>
+            <td align="center" scope="col" colspan="3" rowspan="3">
+                <img class="template-code template-qrcode" src="{{this.barcodeUrl}}" width="80%">
+            </td>
+        </tr>
+        <tr style="height: 30px">
+            <td align="center" scope="col" colspan="1">鍟嗗搧</td>
+            <!--            overflow:hidden; 婧㈠嚭闅愯棌 white-space:nowrap; text-overflow:ellipsis;-->
+            <!--             word-break : break-all;  瓒呭嚭鑷姩鎹㈣-->
+            <td align="lift" colspan="4" style="padding-left: 8px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">{{this.maktx}}</td>
+        </tr>
+        <tr style="height: 30px">
+            <td align="center" scope="col" colspan="1">鎵瑰彿</td>
+            <td align="lift" colspan="4" style="padding-left: 8px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">{{this.batch}}</td>
+        </tr>
+        <tr style="height: 30px">
+            <td align="center" scope="col" colspan="1">瑙勬牸</td>
+            <td align="lift" colspan="3" style="padding-left: 8px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">{{this.specs}}</td>
+            <td align="center" scope="col" colspan="1">鏁伴噺</td>
+            <td align="lift" colspan="3" style="padding-left: 8px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">{{this.anfme}}</td>
+        </tr>
+        <tr style="height: 30px">
+            <td align="center" scope="col" colspan="1">鏃ユ湡</td>
+            <td align="lift" colspan="7  " style="padding-left: 8px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">{{this.createTime$}}</td>
+        </tr>
+        </tbody>
+    </table>
+    <div style="height: 20px">
+
+    </div>
+    {{/each}}
+</script>
+</body>
+
+</html>
+

--
Gitblit v1.9.1