From 264a479aa1ad16818110e9f9d833bbf02e298f47 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期一, 16 三月 2026 10:06:28 +0800
Subject: [PATCH] #lfderp接口开发

---
 src/main/java/com/zy/asrs/service/impl/ErpOrderDetlServiceImpl.java |   12 
 src/main/resources/mapper/ErpOrderDetlMapper.xml                    |   21 
 src/main/java/com/zy/asrs/controller/ErpOrderDetlController.java    |  125 ++
 src/main/java/com/zy/asrs/service/ErpOrderService.java              |    8 
 src/main/java/erpOrder.sql                                          |   18 
 src/main/java/com/zy/asrs/mapper/ErpMatMapper.java                  |   12 
 src/main/java/com/zy/asrs/entity/param/MatSyncParam.java            |    2 
 src/main/java/com/zy/asrs/service/OpenService.java                  |   10 
 src/main/java/com/zy/asrs/task/PlcLogScheduler.java                 |    2 
 src/main/java/com/zy/asrs/controller/ErpMatController.java          |  125 ++
 src/main/webapp/static/js/erpOrder/erpOrder.js                      |  253 ++++
 src/main/webapp/static/js/erpOrderDetl/erpOrderDetl.js              |  255 ++++
 src/main/java/com/zy/asrs/entity/ErpOrder.java                      |  108 ++
 src/main/java/com/zy/asrs/task/CheckDeepScheduler.java              |    2 
 src/main/java/com/zy/asrs/task/ErrorStockScheduler.java             |    2 
 src/main/java/com/zy/asrs/service/impl/ErpOrderServiceImpl.java     |   12 
 src/main/webapp/static/js/erpMat/erpMat.js                          |  259 ++++
 src/main/webapp/views/erpMat/erpMat.html                            |  170 +++
 src/main/java/com/zy/asrs/service/ErpOrderDetlService.java          |    8 
 src/main/java/com/zy/asrs/task/NotifyLogScheduler.java              |    2 
 src/main/java/com/zy/asrs/mapper/ErpOrderDetlMapper.java            |   12 
 src/main/java/com/zy/asrs/service/impl/ErpMatServiceImpl.java       |   12 
 src/main/webapp/views/erpOrder/erpOrder.html                        |  140 ++
 src/main/java/com/zy/asrs/entity/param/TokenInfoParam.java          |   14 
 src/main/java/com/zy/asrs/mapper/ErpOrderMapper.java                |   12 
 src/main/java/com/zy/asrs/controller/OpenController.java            |  201 +++
 src/main/java/com/zy/asrs/entity/ErpMat.java                        |  151 ++
 src/main/java/com/zy/asrs/task/OrderMoveHistoryScheduler.java       |    2 
 src/main/java/com/zy/asrs/task/OverYearLogScheduler.java            |    2 
 src/main/java/com/zy/asrs/task/WorkMastScheduler.java               |    2 
 src/main/webapp/views/erpOrderDetl/erpOrderDetl.html                |  152 ++
 src/main/java/com/zy/asrs/task/OrderSyncScheduler.java              |    2 
 src/main/java/com/zy/asrs/controller/ErpOrderController.java        |  125 ++
 src/main/java/erpMat.sql                                            |   18 
 src/main/java/com/zy/common/CodeBuilder.java                        |    4 
 src/main/java/com/zy/asrs/entity/param/OrderDto.java                |   20 
 src/main/resources/mapper/ErpMatMapper.xml                          |   25 
 /dev/null                                                           |  164 ---
 src/main/java/com/zy/asrs/service/ErpMatService.java                |    8 
 src/main/resources/mapper/ErpOrderMapper.xml                        |   19 
 src/main/java/com/zy/asrs/entity/ErpOrderDetl.java                  |  117 ++
 src/main/java/com/zy/asrs/task/WorkLogScheduler.java                |    2 
 src/main/java/mat.sql                                               |   18 
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java         |  554 ++++++++++
 src/main/java/erpOrderDetl.sql                                      |   18 
 src/main/resources/application.yml                                  |   10 
 46 files changed, 3,003 insertions(+), 207 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/ErpMatController.java b/src/main/java/com/zy/asrs/controller/ErpMatController.java
new file mode 100644
index 0000000..dfbb7c4
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/ErpMatController.java
@@ -0,0 +1,125 @@
+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.ErpMat;
+import com.zy.asrs.service.ErpMatService;
+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 ErpMatController extends BaseController {
+
+    @Autowired
+    private ErpMatService erpMatService;
+
+    @RequestMapping(value = "/erpMat/{id}/auth")
+    @ManagerAuth
+    public R get(@PathVariable("id") String id) {
+        return R.ok(erpMatService.selectById(String.valueOf(id)));
+    }
+
+    @RequestMapping(value = "/erpMat/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(required = false)String condition,
+                  @RequestParam Map<String, Object> param){
+        EntityWrapper<ErpMat> wrapper = new EntityWrapper<>();
+        excludeTrash(param);
+        convert(param, wrapper);
+        allLike(ErpMat.class, param.keySet(), wrapper, condition);
+        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+        return R.ok(erpMatService.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 = "/erpMat/add/auth")
+    @ManagerAuth
+    public R add(ErpMat erpMat) {
+        erpMatService.insert(erpMat);
+        return R.ok();
+    }
+
+	@RequestMapping(value = "/erpMat/update/auth")
+	@ManagerAuth
+    public R update(ErpMat erpMat){
+        if (Cools.isEmpty(erpMat) || null==erpMat.getId()){
+            return R.error();
+        }
+        erpMatService.updateById(erpMat);
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/erpMat/delete/auth")
+    @ManagerAuth
+    public R delete(@RequestParam(value="ids[]") Long[] ids){
+         for (Long id : ids){
+            erpMatService.deleteById(id);
+        }
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/erpMat/export/auth")
+    @ManagerAuth
+    public R export(@RequestBody JSONObject param){
+        EntityWrapper<ErpMat> wrapper = new EntityWrapper<>();
+        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+        Map<String, Object> map = excludeTrash(param.getJSONObject("erpMat"));
+        convert(map, wrapper);
+        List<ErpMat> list = erpMatService.selectList(wrapper);
+        return R.ok(exportSupport(list, fields));
+    }
+
+    @RequestMapping(value = "/erpMatQuery/auth")
+    @ManagerAuth
+    public R query(String condition) {
+        EntityWrapper<ErpMat> wrapper = new EntityWrapper<>();
+        wrapper.like("id", condition);
+        Page<ErpMat> page = erpMatService.selectPage(new Page<>(0, 10), wrapper);
+        List<Map<String, Object>> result = new ArrayList<>();
+        for (ErpMat erpMat : page.getRecords()){
+            Map<String, Object> map = new HashMap<>();
+            map.put("id", erpMat.getId());
+            map.put("value", erpMat.getId());
+            result.add(map);
+        }
+        return R.ok(result);
+    }
+
+    @RequestMapping(value = "/erpMat/check/column/auth")
+    @ManagerAuth
+    public R query(@RequestBody JSONObject param) {
+        Wrapper<ErpMat> wrapper = new EntityWrapper<ErpMat>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
+        if (null != erpMatService.selectOne(wrapper)){
+            return R.parse(BaseRes.REPEAT).add(getComment(ErpMat.class, String.valueOf(param.get("key"))));
+        }
+        return R.ok();
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/controller/ErpOrderController.java b/src/main/java/com/zy/asrs/controller/ErpOrderController.java
new file mode 100644
index 0000000..807ae00
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/ErpOrderController.java
@@ -0,0 +1,125 @@
+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.ErpOrder;
+import com.zy.asrs.service.ErpOrderService;
+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 ErpOrderController extends BaseController {
+
+    @Autowired
+    private ErpOrderService erpOrderService;
+
+    @RequestMapping(value = "/erpOrder/{id}/auth")
+    @ManagerAuth
+    public R get(@PathVariable("id") String id) {
+        return R.ok(erpOrderService.selectById(String.valueOf(id)));
+    }
+
+    @RequestMapping(value = "/erpOrder/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(required = false)String condition,
+                  @RequestParam Map<String, Object> param){
+        EntityWrapper<ErpOrder> wrapper = new EntityWrapper<>();
+        excludeTrash(param);
+        convert(param, wrapper);
+        allLike(ErpOrder.class, param.keySet(), wrapper, condition);
+        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+        return R.ok(erpOrderService.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 = "/erpOrder/add/auth")
+    @ManagerAuth
+    public R add(ErpOrder erpOrder) {
+        erpOrderService.insert(erpOrder);
+        return R.ok();
+    }
+
+	@RequestMapping(value = "/erpOrder/update/auth")
+	@ManagerAuth
+    public R update(ErpOrder erpOrder){
+        if (Cools.isEmpty(erpOrder) || null==erpOrder.getId()){
+            return R.error();
+        }
+        erpOrderService.updateById(erpOrder);
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/erpOrder/delete/auth")
+    @ManagerAuth
+    public R delete(@RequestParam(value="ids[]") Long[] ids){
+         for (Long id : ids){
+            erpOrderService.deleteById(id);
+        }
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/erpOrder/export/auth")
+    @ManagerAuth
+    public R export(@RequestBody JSONObject param){
+        EntityWrapper<ErpOrder> wrapper = new EntityWrapper<>();
+        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+        Map<String, Object> map = excludeTrash(param.getJSONObject("erpOrder"));
+        convert(map, wrapper);
+        List<ErpOrder> list = erpOrderService.selectList(wrapper);
+        return R.ok(exportSupport(list, fields));
+    }
+
+    @RequestMapping(value = "/erpOrderQuery/auth")
+    @ManagerAuth
+    public R query(String condition) {
+        EntityWrapper<ErpOrder> wrapper = new EntityWrapper<>();
+        wrapper.like("id", condition);
+        Page<ErpOrder> page = erpOrderService.selectPage(new Page<>(0, 10), wrapper);
+        List<Map<String, Object>> result = new ArrayList<>();
+        for (ErpOrder erpOrder : page.getRecords()){
+            Map<String, Object> map = new HashMap<>();
+            map.put("id", erpOrder.getId());
+            map.put("value", erpOrder.getId());
+            result.add(map);
+        }
+        return R.ok(result);
+    }
+
+    @RequestMapping(value = "/erpOrder/check/column/auth")
+    @ManagerAuth
+    public R query(@RequestBody JSONObject param) {
+        Wrapper<ErpOrder> wrapper = new EntityWrapper<ErpOrder>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
+        if (null != erpOrderService.selectOne(wrapper)){
+            return R.parse(BaseRes.REPEAT).add(getComment(ErpOrder.class, String.valueOf(param.get("key"))));
+        }
+        return R.ok();
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/controller/ErpOrderDetlController.java b/src/main/java/com/zy/asrs/controller/ErpOrderDetlController.java
new file mode 100644
index 0000000..517806c
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/ErpOrderDetlController.java
@@ -0,0 +1,125 @@
+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.ErpOrderDetl;
+import com.zy.asrs.service.ErpOrderDetlService;
+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 ErpOrderDetlController extends BaseController {
+
+    @Autowired
+    private ErpOrderDetlService erpOrderDetlService;
+
+    @RequestMapping(value = "/erpOrderDetl/{id}/auth")
+    @ManagerAuth
+    public R get(@PathVariable("id") String id) {
+        return R.ok(erpOrderDetlService.selectById(String.valueOf(id)));
+    }
+
+    @RequestMapping(value = "/erpOrderDetl/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(required = false)String condition,
+                  @RequestParam Map<String, Object> param){
+        EntityWrapper<ErpOrderDetl> wrapper = new EntityWrapper<>();
+        excludeTrash(param);
+        convert(param, wrapper);
+        allLike(ErpOrderDetl.class, param.keySet(), wrapper, condition);
+        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+        return R.ok(erpOrderDetlService.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 = "/erpOrderDetl/add/auth")
+    @ManagerAuth
+    public R add(ErpOrderDetl erpOrderDetl) {
+        erpOrderDetlService.insert(erpOrderDetl);
+        return R.ok();
+    }
+
+	@RequestMapping(value = "/erpOrderDetl/update/auth")
+	@ManagerAuth
+    public R update(ErpOrderDetl erpOrderDetl){
+        if (Cools.isEmpty(erpOrderDetl) || null==erpOrderDetl.getOrderId()){
+            return R.error();
+        }
+        erpOrderDetlService.updateById(erpOrderDetl);
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/erpOrderDetl/delete/auth")
+    @ManagerAuth
+    public R delete(@RequestParam(value="ids[]") Long[] ids){
+         for (Long id : ids){
+            erpOrderDetlService.deleteById(id);
+        }
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/erpOrderDetl/export/auth")
+    @ManagerAuth
+    public R export(@RequestBody JSONObject param){
+        EntityWrapper<ErpOrderDetl> wrapper = new EntityWrapper<>();
+        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+        Map<String, Object> map = excludeTrash(param.getJSONObject("erpOrderDetl"));
+        convert(map, wrapper);
+        List<ErpOrderDetl> list = erpOrderDetlService.selectList(wrapper);
+        return R.ok(exportSupport(list, fields));
+    }
+
+    @RequestMapping(value = "/erpOrderDetlQuery/auth")
+    @ManagerAuth
+    public R query(String condition) {
+        EntityWrapper<ErpOrderDetl> wrapper = new EntityWrapper<>();
+        wrapper.like("id", condition);
+        Page<ErpOrderDetl> page = erpOrderDetlService.selectPage(new Page<>(0, 10), wrapper);
+        List<Map<String, Object>> result = new ArrayList<>();
+        for (ErpOrderDetl erpOrderDetl : page.getRecords()){
+            Map<String, Object> map = new HashMap<>();
+            map.put("id", erpOrderDetl.getOrderId());
+            map.put("value", erpOrderDetl.getOrderId());
+            result.add(map);
+        }
+        return R.ok(result);
+    }
+
+    @RequestMapping(value = "/erpOrderDetl/check/column/auth")
+    @ManagerAuth
+    public R query(@RequestBody JSONObject param) {
+        Wrapper<ErpOrderDetl> wrapper = new EntityWrapper<ErpOrderDetl>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
+        if (null != erpOrderDetlService.selectOne(wrapper)){
+            return R.parse(BaseRes.REPEAT).add(getComment(ErpOrderDetl.class, String.valueOf(param.get("key"))));
+        }
+        return R.ok();
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index cb34a46..d6e4dde 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -4,18 +4,26 @@
 import com.core.annotations.AppAuth;
 import com.core.common.*;
 import com.core.exception.CoolException;
+import com.zy.asrs.entity.ErpOrder;
+import com.zy.asrs.entity.ErpOrderDetl;
 import com.zy.asrs.entity.param.*;
+import com.zy.asrs.entity.ErpMat;
+import com.zy.asrs.service.ErpOrderDetlService;
+import com.zy.asrs.service.ErpOrderService;
 import com.zy.asrs.service.OpenService;
+import com.zy.asrs.service.ErpMatService;
 import com.zy.common.model.DetlDto;
 import com.zy.common.web.BaseController;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.io.IOException;
+import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
 
 /**
  * Created by vincent on 2022/4/8
@@ -32,7 +40,69 @@
 
     @Autowired
     private OpenService openService;
+    @Autowired
+    private ErpMatService erpMatService;
+    @Autowired
+    private ErpOrderService erpOrderService;
+    @Autowired
+    private ErpOrderDetlService erpOrderDetlService;
+    @Value("${open-asrs.auth.app-id:wms_8f7c3d126a944e3ab5c89d21f4a7c6b2}")
+    private String openAppId;
 
+    @Value("${open-asrs.auth.app-secret:D9f3A7xP1kLm8Q2tW5zH0sY6vR4bNcE7FjK3uM9pT2aL8qX6}")
+    private String openAppSecret;
+
+    @Value("${open-asrs.auth.token-valid-minutes:30}")
+    private Integer tokenValidMinutes;
+
+    private static final Map<String, TokenInfoParam> TOKEN_CACHE = new ConcurrentHashMap<>();
+
+    @PostMapping("/getToken")
+    public synchronized R getToken(@RequestBody(required = false) Map<String, String> param) {
+        log.info("{}鎺ュ彛琚闂紱璇锋眰鏁版嵁锛歿}", "/getToken", JSON.toJSONString(param));
+        if (Cools.isEmpty(param)) {
+            return R.parse(BaseRes.PARAM);
+        }
+
+        String appId = param.get("appId");
+        String appSecret = param.get("appSecret");
+        if (Cools.isEmpty(appId)) {
+            return R.error("鍙傛暟[appId]涓嶈兘涓虹┖");
+        }
+        if (Cools.isEmpty(appSecret)) {
+            return R.error("鍙傛暟[appSecret]涓嶈兘涓虹┖");
+        }
+        if (Cools.isEmpty(openAppId) || Cools.isEmpty(openAppSecret)) {
+            throw new CoolException("绯荤粺鏈厤缃畂pen-asrs.auth.app-id鎴杘pen-asrs.auth.app-secret");
+        }
+        if (!openAppId.equals(appId) || !openAppSecret.equals(appSecret)) {
+            throw new CoolException("璁よ瘉澶辫触锛岃纭appId鎴朼ppSecret鏃犺锛�");
+        }
+
+        String token = UUID.randomUUID().toString().replace("-", "");
+        long expireAt = System.currentTimeMillis() + tokenValidMinutes * 60L * 1000L;
+        TOKEN_CACHE.put(token, new TokenInfoParam(appId, expireAt));
+
+        Map<String, Object> result = new HashMap<>();
+        result.put("token", token);
+        result.put("validTime", tokenValidMinutes);
+        return R.ok().add(result);
+    }
+
+    public static boolean validToken(String authorization) {
+        if (Cools.isEmpty(authorization)) {
+            return false;
+        }
+        TokenInfoParam tokenInfo = TOKEN_CACHE.get(authorization);
+        if (tokenInfo == null) {
+            return false;
+        }
+        if (System.currentTimeMillis() > tokenInfo.getExpireAt()) {
+            TOKEN_CACHE.remove(authorization);
+            return false;
+        }
+        return true;
+    }
     @PostMapping("/order/matSync/default/v1")
     @AppAuth(memo = "鍟嗗搧淇℃伅鍚屾鎺ュ彛")
     public synchronized R syncMatInfo(@RequestHeader(required = false) String appkey,
@@ -46,22 +116,93 @@
         return R.ok();
     }
 
-    /****************************************************************************/
-    /********************************* 鎵撳寘涓婄嚎 **********************************/
-    /****************************************************************************/
+    @PostMapping("/erp/mat/sync")
+    public synchronized R erpMatSync(@RequestBody(required = false) List<Map<String, Object>> body,
+                                     HttpServletRequest request) {
+        auth(null, body, request);
+        if (Cools.isEmpty(body)) {
+            return R.parse(BaseRes.PARAM);
+        }
+        openService.syncErpMat(body);
+        Map<String, Object> res = new HashMap<>();
+        res.put("result", "SUCCESS");
+        return R.ok().add(res);
+    }
 
-//    @PostMapping("/order/pakin/new/package/v1")
-//    @AppAuth(memo = "鎵撳寘涓婄嚎鎺ュ彛")
-//    public synchronized R pakinOrderPackage(@RequestHeader(required = false) String appkey,
-//                                            @RequestBody(required = false) PackParam param,
-//                                            HttpServletRequest request) {
-//        auth(appkey, param, request);
-//        if (Cools.isEmpty(param)) {
-//            return R.parse(BaseRes.PARAM);
-//        }
-//        openService.packageUp(param);
-//        return R.ok();
-//    }
+    @PostMapping("/erp/order/addPrd")
+    public synchronized R erpOrderAddPrd(@RequestBody Object body,
+                                         HttpServletRequest request) {
+        List<OrderDto> orders;
+        if (body instanceof List) {
+            orders = JSON.parseArray(JSON.toJSONString(body), OrderDto.class);
+        } else {
+            OrderDto dto = JSON.parseObject(JSON.toJSONString(body), OrderDto.class);
+            orders = new ArrayList<>();
+            orders.add(dto);
+        }
+        auth(null, orders, request);
+        if (Cools.isEmpty(orders)) {
+            return R.parse(BaseRes.PARAM);
+        }
+        return R.ok().add(openService.addErpOrder(orders));
+    }
+
+    @PostMapping("/erp/order/addQc")
+    public synchronized R erpOrderAddQc(@RequestBody Object body,
+                                         HttpServletRequest request) {
+        List<OrderDto> orders;
+        if (body instanceof List) {
+            orders = JSON.parseArray(JSON.toJSONString(body), OrderDto.class);
+        } else {
+            OrderDto dto = JSON.parseObject(JSON.toJSONString(body), OrderDto.class);
+            orders = new ArrayList<>();
+            orders.add(dto);
+        }
+        auth(null, orders, request);
+        if (Cools.isEmpty(orders)) {
+            return R.parse(BaseRes.PARAM);
+        }
+        return R.ok().add(openService.addErpOrder(orders));
+    }
+
+    @PostMapping("/erp/order/addSrm")
+    public synchronized R erpOrderAddSrm(@RequestBody Object body,
+                                         HttpServletRequest request) {
+        List<OrderDto> orders;
+        if (body instanceof List) {
+            orders = JSON.parseArray(JSON.toJSONString(body), OrderDto.class);
+        } else {
+            OrderDto dto = JSON.parseObject(JSON.toJSONString(body), OrderDto.class);
+            orders = new ArrayList<>();
+            orders.add(dto);
+        }
+        auth(null, orders, request);
+        if (Cools.isEmpty(orders)) {
+            return R.parse(BaseRes.PARAM);
+        }
+        return R.ok().add(openService.addErpOrder(orders));
+    }
+
+    @PostMapping("/MES/inventory/details")
+    public synchronized R mesInventoryDetails(@RequestBody(required = false) Map<String, Object> param,
+                                              HttpServletRequest request) throws IOException {
+        auth(null, param, request);
+        if (param == null) {
+            param = new HashMap<>();
+        }
+        return R.ok().add(openService.mesInventoryDetails(param));
+    }
+
+    @PostMapping("/MES/inventory/summary")
+    public synchronized R mesInventorySummary(@RequestBody(required = false) Map<String, Object> param,
+                                              HttpServletRequest request) throws IOException {
+        auth(null, param, request);
+        if (param == null) {
+            param = new HashMap<>();
+        }
+        return R.ok().add(openService.mesInventorySummary(param));
+    }
+
 
     /**
      * 娣诲姞鍏ュ簱鍗�
@@ -152,17 +293,31 @@
     }
 
     private void auth(String appkey, Object obj, HttpServletRequest request) {
-        log.info("{}鎺ュ彛琚闂紱appkey:{}锛涜姹傛暟鎹細{}", "open/sensorType/list/auth/v1", appkey, JSON.toJSONString(obj));
+        log.info("{}鎺ュ彛琚闂紱token:{}锛涜姹傛暟鎹細{}", "open/sensorType/list/auth/v1", request.getHeader("Authorization"), JSON.toJSONString(obj));
         request.setAttribute("cache", obj);
         if (!auth) {
             return;
         }
-        if (Cools.isEmpty(appkey)) {
-            throw new CoolException("璁よ瘉澶辫触锛岃纭appkey鏃犺锛�");
+        String authorization = request.getHeader("Authorization");
+        if (Cools.isEmpty(authorization)) {
+            authorization = request.getHeader("authorization");
         }
-        if (!APP_KEY_LIST.contains(appkey)) {
-            throw new CoolException("璁よ瘉澶辫触锛岃纭appkey鏃犺锛�");
+        if (!Cools.isEmpty(authorization)) {
+            String val = authorization.trim();
+            if (val.toLowerCase().startsWith("bearer")) {
+                int idx = val.indexOf(' ');
+                authorization = idx > -1 ? val.substring(idx + 1).trim() : "";
+            } else {
+                authorization = val;
+            }
         }
+        if (!Cools.isEmpty(authorization)) {
+            if (validToken(authorization)) {
+                return;
+            }
+            throw new CoolException("璁よ瘉澶辫触锛岃纭Authorization鏃犺锛�");
+        }
+        throw new CoolException("璁よ瘉澶辫触锛岃纭Authorization鏃犺锛�");
     }
 
     public static void main(String[] args) {
diff --git a/src/main/java/com/zy/asrs/entity/ErpMat.java b/src/main/java/com/zy/asrs/entity/ErpMat.java
new file mode 100644
index 0000000..094f253
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/ErpMat.java
@@ -0,0 +1,151 @@
+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 io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
+
+@Data
+@TableName("asr_erp_mat")
+public class ErpMat implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 鑷id
+     */
+    @ApiModelProperty(value= "鑷id")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 鐗╂枡缂栫爜
+     */
+    @ApiModelProperty(value= "鐗╂枡缂栫爜")
+    private String matNr;
+
+    /**
+     * 鐗╂枡鍚嶇О
+     */
+    @ApiModelProperty(value= "鐗╂枡鍚嶇О")
+    private String makTx;
+
+    /**
+     * 鐗╂枡鍒嗙粍缂栫爜
+     */
+    @ApiModelProperty(value= "鐗╂枡鍒嗙粍缂栫爜")
+    @TableField("group_id")
+    private String groupId;
+
+    /**
+     * 鐗╂枡鍒嗙粍
+     */
+    @ApiModelProperty(value= "鐗╂枡鍒嗙粍")
+    @TableField("group_name")
+    private String groupName;
+
+    /**
+     * 瑙勬牸
+     */
+    @ApiModelProperty(value= "瑙勬牸")
+    private String spec;
+
+    /**
+     * 鍨嬪彿
+     */
+    @ApiModelProperty(value= "鍨嬪彿")
+    private String model;
+
+    /**
+     * 閲嶉噺
+     */
+    @ApiModelProperty(value= "閲嶉噺")
+    private Double weight;
+
+    /**
+     * 棰滆壊
+     */
+    @ApiModelProperty(value= "棰滆壊")
+    private String color;
+
+    /**
+     * 灏哄
+     */
+    @ApiModelProperty(value= "灏哄")
+    private String size;
+
+    /**
+     * 鍗曚綅
+     */
+    @ApiModelProperty(value= "鍗曚綅")
+    private String unit;
+
+    /**
+     * 鎻忚堪
+     */
+    @ApiModelProperty(value= "鎻忚堪")
+    private String describe;
+
+    /**
+     * 浠撳簱Id
+     */
+    @ApiModelProperty(value= "浠撳簱Id")
+    @TableField("wareHouse_id")
+    private String wareHouseId;
+
+    /**
+     * 鎿嶄綔绫诲瀷锛�1 鏂板锛堥粯璁わ級锛�2 淇敼锛�3 绂佺敤锛�4 鍚敤锛�
+     */
+    @ApiModelProperty(value= "鎿嶄綔绫诲瀷锛�1 鏂板锛堥粯璁わ級锛�2 淇敼锛�3 绂佺敤锛�4 鍚敤锛�")
+    @TableField("operate_type")
+    private Integer operateType;
+
+    /**
+     * 1:宸插彂閫� 0锛氬緟鍙戦��
+     */
+    @ApiModelProperty(value= "1:宸插彂閫� 0锛氬緟鍙戦��")
+    @TableField("send_status")
+    private Integer sendStatus;
+
+    public ErpMat() {}
+
+    public ErpMat(String matNr,String makTx,String groupId,String groupName,String spec,String model,Double weight,String color,String size,String unit,String describe,String wareHouseId,Integer operateType,Integer sendStatus) {
+        this.matNr = matNr;
+        this.makTx = makTx;
+        this.groupId = groupId;
+        this.groupName = groupName;
+        this.spec = spec;
+        this.model = model;
+        this.weight = weight;
+        this.color = color;
+        this.size = size;
+        this.unit = unit;
+        this.describe = describe;
+        this.wareHouseId = wareHouseId;
+        this.operateType = operateType;
+        this.sendStatus = sendStatus;
+    }
+
+//    ErpMat erpMat = new ErpMat(
+//            null,    // 鐗╂枡缂栫爜[闈炵┖]
+//            null,    // 鐗╂枡鍚嶇О[闈炵┖]
+//            null,    // 鐗╂枡鍒嗙粍缂栫爜
+//            null,    // 鐗╂枡鍒嗙粍
+//            null,    // 瑙勬牸
+//            null,    // 鍨嬪彿
+//            null,    // 閲嶉噺
+//            null,    // 棰滆壊
+//            null,    // 灏哄
+//            null,    // 鍗曚綅
+//            null,    // 鎻忚堪
+//            null,    // 浠撳簱Id
+//            null,    // 鎿嶄綔绫诲瀷锛�1 鏂板锛堥粯璁わ級锛�2 淇敼锛�3 绂佺敤锛�4 鍚敤锛�
+//            null    // 1:宸插彂閫� 0锛氬緟鍙戦��
+//    );
+
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/ErpOrder.java b/src/main/java/com/zy/asrs/entity/ErpOrder.java
new file mode 100644
index 0000000..3a70658
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/ErpOrder.java
@@ -0,0 +1,108 @@
+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 io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
+
+@Data
+@TableName("asr_erp_order")
+public class ErpOrder implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 鑷id
+     */
+    @ApiModelProperty(value= "鑷id")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 璁㈠崟缂栫爜
+     */
+    @ApiModelProperty(value= "璁㈠崟缂栫爜")
+    @TableField("order_no")
+    private String orderNo;
+
+    /**
+     * 璁㈠崟绫诲瀷锛�1 鍑哄簱鍗曪紱2 鍏ュ簱鍗曪紱3 璋冩嫧鍗曪紱
+     */
+    @ApiModelProperty(value= "璁㈠崟绫诲瀷锛�1 鍑哄簱鍗曪紱2 鍏ュ簱鍗曪紱3 璋冩嫧鍗曪紱")
+    @TableField("order_type")
+    private Integer orderType;
+
+    /**
+     * 涓氬姟绫诲瀷
+     */
+    @ApiModelProperty(value= "涓氬姟绫诲瀷")
+    @TableField("wk_type")
+    private String wkType;
+
+    /**
+     * 涓氬姟鏃堕棿
+     */
+    @ApiModelProperty(value= "涓氬姟鏃堕棿")
+    @TableField("business_time")
+    private Long businessTime;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    @ApiModelProperty(value= "鍒涘缓鏃堕棿")
+    @TableField("create_time")
+    private Long createTime;
+
+    /**
+     * 浠撳簱id
+     */
+    @ApiModelProperty(value= "浠撳簱id")
+    @TableField("warehouse_id")
+    private String warehouseId;
+
+    /**
+     * 鎿嶄綔绫诲瀷锛�1 鏂板锛堥粯璁わ級锛�2 淇敼锛�3 鍙栨秷锛�4 鍏抽棴锛�
+     */
+    @ApiModelProperty(value= "鎿嶄綔绫诲瀷锛�1 鏂板锛堥粯璁わ級锛�2 淇敼锛�3 鍙栨秷锛�4 鍏抽棴锛�")
+    @TableField("operate_type")
+    private Integer operateType;
+
+    /**
+     * 鍙戦�佺姸鎬�1锛氬凡鍙戦�� 0锛氬緟鍙戦��
+     */
+    @ApiModelProperty(value= "鍙戦�佺姸鎬�1锛氬凡鍙戦�� 0锛氬緟鍙戦��")
+    @TableField("send_status")
+    private Integer sendStatus;
+
+    public ErpOrder() {}
+
+    public ErpOrder(Integer id,String orderNo,Integer orderType,String wkType,Long businessTime,Long createTime,String warehouseId,Integer operateType,Integer sendStatus) {
+        this.id = id;
+        this.orderNo = orderNo;
+        this.orderType = orderType;
+        this.wkType = wkType;
+        this.businessTime = businessTime;
+        this.createTime = createTime;
+        this.warehouseId = warehouseId;
+        this.operateType = operateType;
+        this.sendStatus = sendStatus;
+    }
+
+//    ErpOrder erpOrder = new ErpOrder(
+//            null,    // 鑷id[闈炵┖]
+//            null,    // 璁㈠崟缂栫爜[闈炵┖]
+//            null,    // 璁㈠崟绫诲瀷锛�1 鍑哄簱鍗曪紱2 鍏ュ簱鍗曪紱3 璋冩嫧鍗曪紱[闈炵┖]
+//            null,    // 涓氬姟绫诲瀷[闈炵┖]
+//            null,    // 涓氬姟鏃堕棿[闈炵┖]
+//            null,    // 鍒涘缓鏃堕棿[闈炵┖]
+//            null,    // 浠撳簱id[闈炵┖]
+//            null,    // 鎿嶄綔绫诲瀷锛�1 鏂板锛堥粯璁わ級锛�2 淇敼锛�3 鍙栨秷锛�4 鍏抽棴锛�
+//            null    // 鍙戦�佺姸鎬�1锛氬凡鍙戦�� 0锛氬緟鍙戦��
+//    );
+
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/ErpOrderDetl.java b/src/main/java/com/zy/asrs/entity/ErpOrderDetl.java
new file mode 100644
index 0000000..dee7c59
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/ErpOrderDetl.java
@@ -0,0 +1,117 @@
+package com.zy.asrs.entity;
+
+import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableField;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
+
+@Data
+@TableName("asr_erp_order_detl")
+public class ErpOrderDetl implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 鍗曟嵁id
+     */
+    @ApiModelProperty(value= "鍗曟嵁id")
+    @TableField("order_id")
+    private Integer orderId;
+
+    /**
+     * 琛屽唴鐮�
+     */
+    @ApiModelProperty(value= "琛屽唴鐮�")
+    @TableField("line_id")
+    private String lineId;
+
+    /**
+     * 鐗╂枡缂栫爜
+     */
+    @ApiModelProperty(value= "鐗╂枡缂栫爜")
+    private String matNr;
+
+    /**
+     * 鐗╂枡鍚嶇О
+     */
+    @ApiModelProperty(value= "鐗╂枡鍚嶇О")
+    private String makTx;
+
+    /**
+     * 鏁伴噺
+     */
+    @ApiModelProperty(value= "鏁伴噺")
+    private Long anfme;
+
+    /**
+     * 瑙勬牸
+     */
+    @ApiModelProperty(value= "瑙勬牸")
+    private String spec;
+
+    /**
+     * 鍨嬪彿
+     */
+    @ApiModelProperty(value= "鍨嬪彿")
+    private String model;
+
+    /**
+     * 鍗曚綅
+     */
+    @ApiModelProperty(value= "鍗曚綅")
+    private String unit;
+
+    /**
+     * 鎵规鍙�
+     */
+    @ApiModelProperty(value= "鎵规鍙�")
+    private String batch;
+
+    /**
+     * 璁″垝璺熻釜鍙�
+     */
+    @ApiModelProperty(value= "璁″垝璺熻釜鍙�")
+    @TableField("plan_no")
+    private String planNo;
+
+    /**
+     * 璐ㄦ鐘舵�侊紝1鍚堟牸0涓嶅悎鏍�3璁╂鎺ユ敹9寰呮
+     */
+    @ApiModelProperty(value= "璐ㄦ鐘舵�侊紝1鍚堟牸0涓嶅悎鏍�3璁╂鎺ユ敹9寰呮")
+    @TableField("qc_status")
+    private Integer qcStatus;
+
+    public ErpOrderDetl() {}
+
+    public ErpOrderDetl(Integer orderId,String lineId,String matNr,String makTx,Long anfme,String spec,String model,String unit,String batch,String planNo,Integer qcStatus) {
+        this.orderId = orderId;
+        this.lineId = lineId;
+        this.matNr = matNr;
+        this.makTx = makTx;
+        this.anfme = anfme;
+        this.spec = spec;
+        this.model = model;
+        this.unit = unit;
+        this.batch = batch;
+        this.planNo = planNo;
+        this.qcStatus = qcStatus;
+    }
+
+//    ErpOrderDetl erpOrderDetl = new ErpOrderDetl(
+//            null,    // 鍗曟嵁id[闈炵┖]
+//            null,    // 琛屽唴鐮乕闈炵┖]
+//            null,    // 鐗╂枡缂栫爜[闈炵┖]
+//            null,    // 鐗╂枡鍚嶇О[闈炵┖]
+//            null,    // 鏁伴噺[闈炵┖]
+//            null,    // 瑙勬牸
+//            null,    // 鍨嬪彿
+//            null,    // 鍗曚綅
+//            null,    // 鎵规鍙�
+//            null,    // 璁″垝璺熻釜鍙�
+//            null    // 璐ㄦ鐘舵�侊紝1鍚堟牸0涓嶅悎鏍�3璁╂鎺ユ敹9寰呮
+//    );
+
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java b/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java
index ff2f451..298a252 100644
--- a/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java
@@ -19,7 +19,7 @@
     public List<MatParam> matDetails;
 
     @Data
-    public class MatParam{
+    public static class MatParam{
         /**
          * 鍟嗗搧缂栧彿
          */
diff --git a/src/main/java/com/zy/asrs/entity/param/OrderDto.java b/src/main/java/com/zy/asrs/entity/param/OrderDto.java
new file mode 100644
index 0000000..0abf937
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/OrderDto.java
@@ -0,0 +1,20 @@
+package com.zy.asrs.entity.param;
+
+import com.zy.asrs.entity.ErpOrder;
+import com.zy.asrs.entity.ErpOrderDetl;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class OrderDto {
+    private String orderNo;
+    private Integer orderType;
+    private String wkType;
+    private Long businessTime;
+    private Long createTime;
+    private String wareHouseId;
+    private Integer operateType;
+    private Integer sendStatus;
+    private List<ErpOrderDetl> orderItems;
+}
diff --git a/src/main/java/com/zy/asrs/entity/param/TokenInfoParam.java b/src/main/java/com/zy/asrs/entity/param/TokenInfoParam.java
new file mode 100644
index 0000000..6d78d14
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/TokenInfoParam.java
@@ -0,0 +1,14 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+@Data
+public class TokenInfoParam {
+    private  String appId;
+    private  long expireAt;
+
+    public TokenInfoParam(String appId, long expireAt) {
+        this.appId = appId;
+        this.expireAt = expireAt;
+    }
+}
diff --git a/src/main/java/com/zy/asrs/mapper/ErpMatMapper.java b/src/main/java/com/zy/asrs/mapper/ErpMatMapper.java
new file mode 100644
index 0000000..ab5fbbc
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/ErpMatMapper.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.mapper;
+
+import com.zy.asrs.entity.ErpMat;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface ErpMatMapper extends BaseMapper<ErpMat> {
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/ErpOrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/ErpOrderDetlMapper.java
new file mode 100644
index 0000000..b16e618
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/ErpOrderDetlMapper.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.mapper;
+
+import com.zy.asrs.entity.ErpOrderDetl;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface ErpOrderDetlMapper extends BaseMapper<ErpOrderDetl> {
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/ErpOrderMapper.java b/src/main/java/com/zy/asrs/mapper/ErpOrderMapper.java
new file mode 100644
index 0000000..b62ee4a
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/ErpOrderMapper.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.mapper;
+
+import com.zy.asrs.entity.ErpOrder;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface ErpOrderMapper extends BaseMapper<ErpOrder> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/ErpMatService.java b/src/main/java/com/zy/asrs/service/ErpMatService.java
new file mode 100644
index 0000000..f252c81
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/ErpMatService.java
@@ -0,0 +1,8 @@
+package com.zy.asrs.service;
+
+import com.zy.asrs.entity.ErpMat;
+import com.baomidou.mybatisplus.service.IService;
+
+public interface ErpMatService extends IService<ErpMat> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/ErpOrderDetlService.java b/src/main/java/com/zy/asrs/service/ErpOrderDetlService.java
new file mode 100644
index 0000000..054e2d8
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/ErpOrderDetlService.java
@@ -0,0 +1,8 @@
+package com.zy.asrs.service;
+
+import com.zy.asrs.entity.ErpOrderDetl;
+import com.baomidou.mybatisplus.service.IService;
+
+public interface ErpOrderDetlService extends IService<ErpOrderDetl> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/ErpOrderService.java b/src/main/java/com/zy/asrs/service/ErpOrderService.java
new file mode 100644
index 0000000..9f57723
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/ErpOrderService.java
@@ -0,0 +1,8 @@
+package com.zy.asrs.service;
+
+import com.zy.asrs.entity.ErpOrder;
+import com.baomidou.mybatisplus.service.IService;
+
+public interface ErpOrderService extends IService<ErpOrder> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index afd90b1..407ef75 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -4,7 +4,9 @@
 import com.zy.asrs.entity.result.OpenOrderCompeteResult;
 import com.zy.asrs.entity.result.StockVo;
 
+import java.io.IOException;
 import java.util.List;
+import java.util.Map;
 
 public interface OpenService {
 
@@ -43,4 +45,12 @@
      * @param param
      */
     void syncMat(MatSyncParam param);
+
+    void syncErpMat(List<Map<String, Object>> body);
+
+    Map<String, Object> addErpOrder(List<OrderDto> orders);
+
+    List<Map<String, Object>> mesInventoryDetails(Map<String, Object> param) throws IOException;
+
+    List<Map<String, Object>> mesInventorySummary(Map<String, Object> param) throws IOException;
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/ErpMatServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ErpMatServiceImpl.java
new file mode 100644
index 0000000..66425bd
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/ErpMatServiceImpl.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.service.impl;
+
+import com.zy.asrs.mapper.ErpMatMapper;
+import com.zy.asrs.entity.ErpMat;
+import com.zy.asrs.service.ErpMatService;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service("erpMatService")
+public class ErpMatServiceImpl extends ServiceImpl<ErpMatMapper, ErpMat> implements ErpMatService {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/ErpOrderDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ErpOrderDetlServiceImpl.java
new file mode 100644
index 0000000..c2ad311
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/ErpOrderDetlServiceImpl.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.service.impl;
+
+import com.zy.asrs.mapper.ErpOrderDetlMapper;
+import com.zy.asrs.entity.ErpOrderDetl;
+import com.zy.asrs.service.ErpOrderDetlService;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service("erpOrderDetlService")
+public class ErpOrderDetlServiceImpl extends ServiceImpl<ErpOrderDetlMapper, ErpOrderDetl> implements ErpOrderDetlService {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/ErpOrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ErpOrderServiceImpl.java
new file mode 100644
index 0000000..ea303e0
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/ErpOrderServiceImpl.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.service.impl;
+
+import com.zy.asrs.mapper.ErpOrderMapper;
+import com.zy.asrs.entity.ErpOrder;
+import com.zy.asrs.service.ErpOrderService;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service("erpOrderService")
+public class ErpOrderServiceImpl extends ServiceImpl<ErpOrderMapper, ErpOrder> implements ErpOrderService {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 5d8970a..783b114 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -11,17 +11,29 @@
 import com.zy.asrs.entity.result.StockVo;
 import com.zy.asrs.mapper.TagMapper;
 import com.zy.asrs.service.*;
+import com.zy.asrs.service.ErpMatService;
+import com.zy.asrs.service.ErpOrderService;
+import com.zy.asrs.service.ErpOrderDetlService;
 import com.zy.asrs.utils.MatUtils;
 import com.zy.common.model.DetlDto;
+import com.zy.common.utils.HttpHandler;
 import com.zy.common.utils.NodeUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.PlatformTransactionManager;
+import org.springframework.transaction.TransactionDefinition;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.support.TransactionTemplate;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * Created by vincent on 2022/4/9
@@ -48,7 +60,16 @@
     private TagService tagService;
     @Autowired
     private TagMapper tagMapper;
-
+    @Autowired
+    private ErpMatService erpMatService;
+    @Autowired
+    private ErpOrderService erpOrderService;
+    @Autowired
+    private ErpOrderDetlService erpOrderDetlService;
+    @Autowired
+    private ApiLogService apiLogService;
+    @Autowired
+    private PlatformTransactionManager transactionManager;
     @Override
     @Transactional
     public void pakinOrderCreate(OpenOrderPakinParam param) {
@@ -519,7 +540,7 @@
                 } else {
                     tagId = tagService.getTop().getId();
                 }
-                mat.sync(param);
+                mat.sync(matParam);
 //            mat.setMatnr(param.getMatnr());
 //            mat.setMaktx(param.getMaktx());
 //            mat.setSpecs(param.getSpecs());
@@ -535,7 +556,7 @@
                     log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}]", mat.getMatnr());
                 }
             } else {
-                mat.sync(param);
+                mat.sync(matParam);
                 if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr",matParam.getMatnr()))) {
                     throw new CoolException("鏇存柊宸插瓨鍦ㄥ晢鍝佷俊鎭け璐ワ紝璇疯仈绯荤鐞嗗憳");
                 }
@@ -544,4 +565,531 @@
 
     }
 
+    @Override
+    @Transactional
+    public void syncErpMat(List<Map<String, Object>> body) {
+        if (Cools.isEmpty(body)) {
+            return;
+        }
+        int count = 0;
+        for (Map<String, Object> m : body) {
+            Object matNrObj = m.get("matNr");
+            Object makTxObj = m.get("makTx");
+            if (Cools.isEmpty(matNrObj) || Cools.isEmpty(makTxObj)) {
+                continue;
+            }
+            ErpMat erpMat = new ErpMat();
+            erpMat.setMatNr(String.valueOf(matNrObj));
+            erpMat.setMakTx(String.valueOf(makTxObj));
+            Object groupIdObj = m.get("groupId");
+            if (!Cools.isEmpty(groupIdObj)) {
+                erpMat.setGroupId(String.valueOf(groupIdObj));
+            }
+            Object groupNameObj = m.get("groupName");
+            if (!Cools.isEmpty(groupNameObj)) {
+                erpMat.setGroupName(String.valueOf(groupNameObj));
+            }
+            Object specObj = m.get("spec");
+            if (!Cools.isEmpty(specObj)) {
+                erpMat.setSpec(String.valueOf(specObj));
+            }
+            Object modelObj = m.get("model");
+            if (!Cools.isEmpty(modelObj)) {
+                erpMat.setModel(String.valueOf(modelObj));
+            }
+            Object weightObj = m.get("weight");
+            if (!Cools.isEmpty(weightObj)) {
+                Double w = null;
+                if (weightObj instanceof Number) {
+                    w = ((Number) weightObj).doubleValue();
+                } else {
+                    try {
+                        w = Double.valueOf(String.valueOf(weightObj));
+                    } catch (Exception ignored) {}
+                }
+                erpMat.setWeight(w);
+            }
+            Object colorObj = m.get("color");
+            if (!Cools.isEmpty(colorObj)) {
+                erpMat.setColor(String.valueOf(colorObj));
+            }
+            Object sizeObj = m.get("size");
+            if (!Cools.isEmpty(sizeObj)) {
+                erpMat.setSize(String.valueOf(sizeObj));
+            }
+            Object unitObj = m.get("unit");
+            if (!Cools.isEmpty(unitObj)) {
+                erpMat.setUnit(String.valueOf(unitObj));
+            }
+            Object describleObj = m.get("describle");
+            if (!Cools.isEmpty(describleObj)) {
+                erpMat.setDescribe(String.valueOf(describleObj));
+            }
+            Object wareHouseIdObj = m.get("wareHouseId");
+            if (!Cools.isEmpty(wareHouseIdObj)) {
+                erpMat.setWareHouseId(String.valueOf(wareHouseIdObj));
+            }
+            // 璋冪敤澶栭儴鎺ュ彛鏍¢獙
+            String syncError = null;
+            String whId = erpMat.getWareHouseId();
+            if (!Cools.isEmpty(whId)) {
+                if ("WH01".equals(whId)) {
+                    syncError = syncToWarehouse1(erpMat);
+                } else if ("WH2".equals(whId)) {
+                    syncError = syncToWarehouse2(erpMat);
+                } else if ("WH3".equals(whId)) {
+                    syncError = syncToWarehouse3(erpMat);
+                } else {
+                    callApiLogSave(null, null, "鏈壘鍒板搴斾粨搴撶紪鐮侊紒锛�", true);
+                    throw new CoolException("鍚屾澶栭儴鎺ュ彛澶辫触锛屼粨搴揑D锛�" + whId + "锛岄敊璇俊鎭細鏈壘鍒板搴斾粨搴撶紪鍙�"  );
+                }
+            }
+
+            if (syncError != null) {
+                // 濡傛灉鍚屾澶辫触锛屽垯涓嶆彃鍏ユ暟鎹簱锛屾姏寮傚父鍥炴粴鎴栬�呰烦杩囷紙褰撳墠閫昏緫涓烘姏寮傚父锛屽洜涓烘槸浜嬪姟鏁翠綋锛�
+                // 鑻ヨ閮ㄥ垎鎴愬姛锛岄渶瑕佽皟鏁翠簨鍔$瓥鐣ャ�傝繖閲屽亣璁捐姹傚叏閮ㄦ垚鍔熴��
+                throw new CoolException("鍚屾澶栭儴鎺ュ彛澶辫触锛屼粨搴揑D锛�" + whId + "锛岀墿鏂欙細" + erpMat.getMatNr() + "锛岄敊璇俊鎭細" + syncError);
+            }
+
+            Object operateTypeObj = m.get("operateType");
+            if (!Cools.isEmpty(operateTypeObj)) {
+                Integer ot = null;
+                if (operateTypeObj instanceof Number) {
+                    ot = ((Number) operateTypeObj).intValue();
+                } else {
+                    try {
+                        ot = Integer.valueOf(String.valueOf(operateTypeObj));
+                    } catch (Exception ignored) {}
+                }
+                erpMat.setOperateType(ot);
+            }
+            erpMat.setSendStatus(1);
+            boolean ok = erpMatService.insert(erpMat);
+            if (ok) {
+                count++;
+            }
+        }
+        if (count <= 0) {
+            throw new CoolException("鍚屾鐗╂枡澶辫触锛屾棤鏈夋晥鏁版嵁鎻掑叆");
+        }
+    }
+
+    // 妯℃嫙璋冪敤浠撳簱1鎺ュ彛
+    private String syncToWarehouse1(ErpMat mat) {
+        log.info("Calling Warehouse 1 API for mat: {}", mat.getMatNr());
+        return callMatSyncApi(mat, "http://localhost:8081");
+    }
+
+    // 妯℃嫙璋冪敤浠撳簱2鎺ュ彛
+    private String syncToWarehouse2(ErpMat mat) {
+        log.info("Calling Warehouse 2 API for mat: {}", mat.getMatNr());
+        return callMatSyncApi(mat, "http://localhost:8080");
+    }
+
+    // 妯℃嫙璋冪敤浠撳簱3鎺ュ彛
+    private String syncToWarehouse3(ErpMat mat) {
+        log.info("Calling Warehouse 3 API for mat: {}", mat.getMatNr());
+        return callMatSyncApi(mat, "http://localhost:8080");
+    }
+
+    private String callMatSyncApi(ErpMat mat, String baseUrl) {
+        try {
+            // 鏋勯�犺姹傚弬鏁�
+            MatSyncParam param = new MatSyncParam();
+            List<MatSyncParam.MatParam> list = new ArrayList<>();
+            MatSyncParam.MatParam matParam = new MatSyncParam.MatParam();
+            Date now = new Date();
+
+            // 瀛楁鏄犲皠
+            matParam.setMatnr(mat.getMatNr());
+            matParam.setMaktx(mat.getMakTx());
+            matParam.setSpecs(mat.getSpec());
+            matParam.setModel(mat.getModel());
+            matParam.setWeight(mat.getWeight());
+            matParam.setColor(mat.getColor());
+            matParam.setUnit(mat.getUnit());
+            matParam.setMemo(mat.getDescribe());
+            matParam.setGroupCode(mat.getGroupId());
+            matParam.setGroupName(mat.getGroupName());
+            
+            list.add(matParam);
+            param.setMatDetails(list);
+            param.setCreateTime(String.valueOf(now));
+            String path = "/lfdwms/open/asrs/order/matSync/default/v1";
+            String json = JSON.toJSONString(param);
+
+            Map<String, Object> headers = new HashMap<>();
+            headers.put("appkey", "ea1f0459efc02a79f046f982767939ae");
+            // headers.put("x-acgw-identity", "your_identity");
+            String response = new HttpHandler.Builder()
+                    .setHeaders(headers)
+                    .setUri(baseUrl)
+                    .setPath(path)
+                    .setJson(json)
+                    .build()
+                    .doPost();
+            
+            if (Cools.isEmpty(response)) {
+                return "鎺ュ彛鏃犲搷搴�";
+            }
+            
+            JSONObject jsonResponse = JSON.parseObject(response);
+            if (jsonResponse == null) {
+                return "鎺ュ彛鍝嶅簲鏍煎紡閿欒";
+            }
+            
+            // 鏍规嵁瀹為檯杩斿洖缁撴瀯鍒ゆ柇鎴愬姛澶辫触
+            // 鍋囪 code == 0 鎴� 200 涓烘垚鍔�
+            Integer code = jsonResponse.getInteger("code");
+            if (code != null && (code == 0 || code == 200)) {
+                return null; // 鎴愬姛杩斿洖 null
+            } else {
+                return jsonResponse.getString("msg") != null ? jsonResponse.getString("msg") : "鏈煡閿欒锛宑ode=" + code;
+            }
+
+        } catch (Exception e) {
+            log.error("Call sync api error", e);
+            return "鎺ュ彛璋冪敤寮傚父锛�" + e.getMessage();
+        }
+    }
+
+    @Override
+    public Map<String, Object> addErpOrder(List<OrderDto> orders) {
+        if (Cools.isEmpty(orders)) {
+            Map<String, Object> res = new HashMap<>();
+            res.put("result", "FAIL");
+            res.put("successOrders", new ArrayList<>());
+            res.put("failOrders", new ArrayList<>());
+            res.put("successCount", 0);
+            res.put("failCount", 0);
+            return res;
+        }
+
+        TransactionTemplate transactionTemplate = new TransactionTemplate(transactionManager);
+        transactionTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
+
+        List<String> successOrders = new ArrayList<>();
+        List<Map<String, Object>> failOrders = new ArrayList<>();
+
+        for (OrderDto dto : orders) {
+            String orderNo = dto != null ? dto.getOrderNo() : null;
+            try {
+                transactionTemplate.execute(status -> {
+                    if (dto == null) {
+                        throw new CoolException("璁㈠崟鍙傛暟涓嶅畬鏁�");
+                    }
+                    ErpOrder order = new ErpOrder();
+                    order.setOrderNo(dto.getOrderNo());
+                    order.setOrderType(dto.getOrderType());
+                    order.setWkType(dto.getWkType());
+                    order.setBusinessTime(dto.getBusinessTime());
+                    order.setCreateTime(dto.getCreateTime());
+                    order.setWarehouseId(dto.getWareHouseId());
+                    order.setOperateType(dto.getOperateType());
+                    order.setSendStatus(dto.getSendStatus() != null ? dto.getSendStatus() : 0);
+
+                    List<ErpOrderDetl> detls = dto.getOrderItems();
+
+                    if (Cools.isEmpty(order.getOrderNo()) || order.getOrderType() == null
+                            || Cools.isEmpty(order.getWkType()) || order.getBusinessTime() == null || order.getCreateTime() == null
+                            || Cools.isEmpty(order.getWarehouseId())) {
+                        throw new CoolException("璁㈠崟鍙傛暟涓嶅畬鏁�");
+                    }
+                    if (Cools.isEmpty(detls)) {
+                        throw new CoolException("璁㈠崟鏄庣粏涓虹┖");
+                    }
+
+                    String syncError = null;
+                    String whId = order.getWarehouseId();
+                    Integer orderType = order.getOrderType();
+
+                    if (!Cools.isEmpty(whId)) {
+                        if ("WH01".equals(whId)) {
+                            syncError = syncOrderToWarehouse1(order, detls, orderType);
+                        } else if ("WH2".equals(whId)) {
+                            syncError = syncOrderToWarehouse2(order, detls, orderType);
+                        } else if ("WH3".equals(whId)) {
+                            syncError = syncOrderToWarehouse3(order, detls, orderType);
+                        } else {
+                            throw new CoolException("鏈壘鍒板搴斾粨搴撶紪鍙�");
+                        }
+                    }
+
+                    if (syncError != null) {
+                        throw new CoolException(syncError);
+                    }
+
+                    if (!erpOrderService.insert(order)) {
+                        throw new CoolException("璁㈠崟鎻掑叆澶辫触");
+                    }
+                    if (order.getId() == null) {
+                        throw new CoolException("璁㈠崟鎻掑叆澶辫触锛屾湭杩斿洖orderId");
+                    }
+
+                    for (ErpOrderDetl detl : detls) {
+                        if (detl == null || Cools.isEmpty(detl.getLineId()) || Cools.isEmpty(detl.getMatNr())
+                                || Cools.isEmpty(detl.getMakTx()) || detl.getAnfme() == null) {
+                            throw new CoolException("鏄庣粏鍙傛暟涓嶅畬鏁�");
+                        }
+                        detl.setOrderId(order.getId());
+                        if (!erpOrderDetlService.insert(detl)) {
+                            throw new CoolException("璁㈠崟鏄庣粏鎻掑叆澶辫触");
+                        }
+                    }
+                    return null;
+                });
+                successOrders.add(orderNo);
+            } catch (Exception e) {
+                Map<String, Object> fail = new HashMap<>();
+                fail.put("orderNo", orderNo);
+                fail.put("msg", e.getMessage());
+                failOrders.add(fail);
+            }
+        }
+
+        Map<String, Object> res = new HashMap<>();
+        res.put("successOrders", successOrders);
+        res.put("failOrders", failOrders);
+        res.put("successCount", successOrders.size());
+        res.put("failCount", failOrders.size());
+        res.put("result", failOrders.isEmpty() ? "SUCCESS" : (successOrders.isEmpty() ? "FAIL" : "PART_SUCCESS"));
+        return res;
+    }
+
+    @Override
+    public List<Map<String, Object>> mesInventoryDetails(Map<String, Object> param) throws IOException {
+        String wareHouseId = param != null ? String.valueOf(param.get("wareHouseId")) : null;
+        if ("null".equalsIgnoreCase(wareHouseId)) wareHouseId = null;
+
+        List<String> whIds = new ArrayList<>();
+        if (Cools.isEmpty(wareHouseId)) {
+            whIds.add("WH01");
+            whIds.add("WH02");
+            whIds.add("WH03");
+        } else {
+            whIds.add(wareHouseId);
+        }
+
+        List<Map<String, Object>> result = new ArrayList<>();
+        for (String whId : whIds) {
+            String baseUrl = getWarehouseBaseUrl(whId);
+            if (Cools.isEmpty(baseUrl)) {
+                throw new CoolException("鏈壘鍒板搴斾粨搴撶紪鍙�");
+            }
+            Map<String, Object> payload = param == null ? new HashMap<>() : new HashMap<>(param);
+            payload.put("wareHouseId", whId);
+            List<Map<String, Object>> data = callMesInventoryApi(baseUrl, "/lfdwms/open/asrs/MES/inventory/details", payload);
+            if (!Cools.isEmpty(data)) {
+                result.addAll(data);
+            }
+        }
+        return result;
+    }
+
+    @Override
+    public List<Map<String, Object>> mesInventorySummary(Map<String, Object> param) throws IOException {
+        String wareHouseId = param != null ? String.valueOf(param.get("wareHouseId")) : null;
+        if ("null".equalsIgnoreCase(wareHouseId)) wareHouseId = null;
+
+        List<String> whIds = new ArrayList<>();
+        if (Cools.isEmpty(wareHouseId)) {
+            whIds.add("WH01");
+            whIds.add("WH02");
+            whIds.add("WH03");
+        } else {
+            whIds.add(wareHouseId);
+        }
+
+        List<Map<String, Object>> result = new ArrayList<>();
+        for (String whId : whIds) {
+            String baseUrl = getWarehouseBaseUrl(whId);
+            if (Cools.isEmpty(baseUrl)) {
+                throw new CoolException("鏈壘鍒板搴斾粨搴撶紪鍙�");
+            }
+            Map<String, Object> payload = param == null ? new HashMap<>() : new HashMap<>(param);
+            payload.put("wareHouseId", whId);
+            List<Map<String, Object>> data = callMesInventoryApi(baseUrl, "/lfdwms/open/asrs/MES/inventory/summary", payload);
+            if (!Cools.isEmpty(data)) {
+                result.addAll(data);
+            }
+        }
+        return result;
+    }
+
+    private String getWarehouseBaseUrl(String wareHouseId) {
+        if (Cools.isEmpty(wareHouseId)) {
+            return null;
+        }
+        String wh = wareHouseId.trim();
+        if ("WH01".equalsIgnoreCase(wh) || "WH1".equalsIgnoreCase(wh)) {
+            return "http://localhost:8081";
+        }
+        if ("WH02".equalsIgnoreCase(wh) || "WH2".equalsIgnoreCase(wh)) {
+            return "http://localhost:8080";
+        }
+        if ("WH03".equalsIgnoreCase(wh) || "WH3".equalsIgnoreCase(wh)) {
+            return "http://localhost:8080";
+        }
+        return null;
+    }
+
+    private List<Map<String, Object>> callMesInventoryApi(String baseUrl, String path, Map<String, Object> payload) throws IOException {
+        String json = JSON.toJSONString(payload == null ? new HashMap<>() : payload);
+        Map<String, Object> headers = new HashMap<>();
+        headers.put("appkey", "ea1f0459efc02a79f046f982767939ae");
+        String response = new HttpHandler.Builder()
+                .setHeaders(headers)
+                .setUri(baseUrl)
+                .setPath(path)
+                .setJson(json)
+                .build()
+                .doPost();
+
+        if (Cools.isEmpty(response)) {
+            throw new CoolException("鎺ュ彛鏃犲搷搴�");
+        }
+        JSONObject jsonResponse = JSON.parseObject(response);
+        if (jsonResponse == null) {
+            throw new CoolException("鎺ュ彛鍝嶅簲鏍煎紡閿欒");
+        }
+        Integer code = jsonResponse.getInteger("code");
+        if (code != null && (code == 0 || code == 200)) {
+            Object data = jsonResponse.get("data");
+            if (data == null) {
+                return new ArrayList<>();
+            }
+            if (data instanceof List) {
+                return JSON.parseObject(JSON.toJSONString(data), List.class);
+            }
+            List<Map<String, Object>> list = new ArrayList<>();
+            Map<String, Object> one = JSON.parseObject(JSON.toJSONString(data), Map.class);
+            if (one != null) {
+                list.add(one);
+            }
+            return list;
+        }
+        String msg = jsonResponse.getString("msg");
+        throw new CoolException(!Cools.isEmpty(msg) ? msg : "鏈煡閿欒锛宑ode=" + code);
+    }
+
+    // 妯℃嫙璋冪敤浠撳簱1鎺ュ彛
+    private String syncOrderToWarehouse1(ErpOrder order, List<ErpOrderDetl> details, Integer orderType) {
+        log.info("Calling Warehouse 1 API for order: {}", order.getOrderNo());
+        return callOrderSyncApi(order, details, orderType, "http://localhost:8081");
+    }
+
+    // 妯℃嫙璋冪敤浠撳簱2鎺ュ彛
+    private String syncOrderToWarehouse2(ErpOrder order, List<ErpOrderDetl> details, Integer orderType) {
+        log.info("Calling Warehouse 2 API for order: {}", order.getOrderNo());
+        return callOrderSyncApi(order, details, orderType, "http://localhost:8080");
+    }
+
+    // 妯℃嫙璋冪敤浠撳簱3鎺ュ彛
+    private String syncOrderToWarehouse3(ErpOrder order, List<ErpOrderDetl> details, Integer orderType) {
+        log.info("Calling Warehouse 3 API for order: {}", order.getOrderNo());
+        return callOrderSyncApi(order, details, orderType, "http://localhost:8080");
+    }
+
+    private String callOrderSyncApi(ErpOrder order, List<ErpOrderDetl> details, Integer orderType, String baseUrl) {
+        try {
+            // 鏍规嵁 orderType 鍒ゆ柇鎺ュ彛璺緞
+            // 鍋囪 1=鍑哄簱锛�2=鍏ュ簱锛堣鏍规嵁瀹為檯涓氬姟璋冩暣锛岃繖閲屾寜鐢ㄦ埛鎻忚堪閫昏緫瀹炵幇锛�
+            // 鐢ㄦ埛鎻忚堪锛氳嫢鏄叆搴撳崟鍒欒皟鐢╫rder/pakin/default/v1锛岃嫢鏄嚭搴搊rder/pakout/default/v1
+            // 鍋囪 orderType 2 涓哄叆搴擄紝1 鎴� 3 涓哄嚭搴擄紙闇�纭 3 璋冩嫧鍗曞睘浜庡摢绫伙紝鏆傚綊涓哄嚭搴撴垨涓嶅鐞嗭級
+            
+            String path;
+            String json;
+            
+            if (orderType == 2) {
+                // 鍏ュ簱鍗�
+                path = "/lfdwms/open/asrs/order/pakin/default/v1";
+                OpenOrderPakinParam param = new OpenOrderPakinParam();
+                param.setOrderNo(order.getOrderNo());
+                // 杩欓噷鍙兘闇�瑕佹槧灏� wkType 鍒� orderType 瀛楃涓诧紝鎴栬�呯洿鎺ョ敤
+                param.setOrderType(order.getWkType()); 
+                param.setOrderTime(DateUtils.convert(new Date(order.getBusinessTime())));
+                
+                List<DetlDto> detlDtos = new ArrayList<>();
+                if (!Cools.isEmpty(details)) {
+                    for (ErpOrderDetl d : details) {
+                        DetlDto dto = new DetlDto();
+                        dto.setMatnr(d.getMatNr());
+                        // 濡傛灉鏈� batch 瀛楁鍒欒缃紝OpenOrderPakinParam 鐨� DetlDto 鍙兘闇�瑕佺‘璁ゅ瓧娈�
+                        dto.setBatch(d.getBatch());
+                        dto.setAnfme(d.getAnfme() != null ? d.getAnfme().doubleValue() : 0.0);
+                        // 鍏朵粬瀛楁鏄犲皠...
+                        detlDtos.add(dto);
+                    }
+                }
+                param.setOrderDetails(detlDtos);
+                json = JSON.toJSONString(param);
+                
+            } else if (orderType == 1 || orderType == 3) {
+                // 鍑哄簱鍗�
+                path = "/lfdwms/open/asrs/order/pakout/default/v1";
+                OpenOrderPakoutParam param = new OpenOrderPakoutParam();
+                param.setOrderNo(order.getOrderNo());
+                param.setOrderType(order.getWkType());
+                param.setOrderTime(DateUtils.convert(new Date(order.getBusinessTime())));
+                param.setLgort("5006"); // 蹇呭~鏍¢獙瑕佹眰
+                
+                List<DetlDto> detlDtos = new ArrayList<>();
+                if (!Cools.isEmpty(details)) {
+                    for (ErpOrderDetl d : details) {
+                        DetlDto dto = new DetlDto();
+                        dto.setMatnr(d.getMatNr());
+                        dto.setBatch(d.getBatch());
+                        dto.setAnfme(d.getAnfme() != null ? d.getAnfme().doubleValue() : 0.0);
+                        detlDtos.add(dto);
+                    }
+                }
+                param.setOrderDetails(detlDtos);
+                json = JSON.toJSONString(param);
+            } else {
+                return "鏈煡鐨勮鍗曠被鍨嬶細" + orderType;
+            }
+
+            Map<String, Object> headers = new HashMap<>();
+            headers.put("appkey", "ea1f0459efc02a79f046f982767939ae");
+            String response = new HttpHandler.Builder()
+                    .setHeaders(headers)
+                    .setUri(baseUrl)
+                    .setPath(path)
+                    .setJson(json)
+                    .build()
+                    .doPost();
+            
+            if (Cools.isEmpty(response)) {
+                return "鎺ュ彛鏃犲搷搴�";
+            }
+            
+            JSONObject jsonResponse = JSON.parseObject(response);
+            if (jsonResponse == null) {
+                return "鎺ュ彛鍝嶅簲鏍煎紡閿欒";
+            }
+            
+            Integer code = jsonResponse.getInteger("code");
+            if (code != null && (code == 0 || code == 200)) {
+                return null;
+            } else {
+                return jsonResponse.getString("msg") != null ? jsonResponse.getString("msg") : "鏈煡閿欒锛宑ode=" + code;
+            }
+
+        } catch (Exception e) {
+            log.error("Call order sync api error", e);
+            return "鎺ュ彛璋冪敤寮傚父锛�" + e.getMessage();
+        }
+    }
+    public void callApiLogSave(Mat mat, String url, String response, Boolean bool) {
+        apiLogService.save(
+                "ERP鍚屾鐗╂枡淇℃伅",
+                url,
+                null,
+                null,
+                "鐗╂枡缂栧彿锛�" + (mat != null ? mat.getMatnr() : null) +
+                        "銆佺墿鏂欏悕绉帮細" + (mat != null ? mat.getMaktx() : null),
+                response,
+                bool
+        );
+    }
 }
diff --git a/src/main/java/com/zy/asrs/task/CheckDeepScheduler.java b/src/main/java/com/zy/asrs/task/CheckDeepScheduler.java
index 3e92958..a68c0d5 100644
--- a/src/main/java/com/zy/asrs/task/CheckDeepScheduler.java
+++ b/src/main/java/com/zy/asrs/task/CheckDeepScheduler.java
@@ -46,7 +46,7 @@
     /**
      * 灏嗕袱涓繁搴撲綅鍚堝苟涓烘繁娴呭簱浣�,鐗╂枡鍙风浉鍚岋紝婧愬簱浣嶅叆搴撴棩鏈熸棭浜庣洰鏍囧簱浣嶅搴旀繁搴撲綅鍏ュ簱鏃ユ湡锛屽簱浣嶇姸鎬侀兘涓篎
      */
-    @Scheduled(cron = "0/5 * * * * ?")
+//    @Scheduled(cron = "0/5 * * * * ?")
     private void execute() throws ParseException {
 //        if (!confirmDeep) return;
         //if (true) return;
diff --git a/src/main/java/com/zy/asrs/task/ErrorStockScheduler.java b/src/main/java/com/zy/asrs/task/ErrorStockScheduler.java
index 917cfc4..86c1498 100644
--- a/src/main/java/com/zy/asrs/task/ErrorStockScheduler.java
+++ b/src/main/java/com/zy/asrs/task/ErrorStockScheduler.java
@@ -19,7 +19,7 @@
     @Autowired
     private ErrorStockHandler errorStockHandler;
 
-    @Scheduled(cron = "0/3 * * * * ? ")
+//    @Scheduled(cron = "0/3 * * * * ? ")
     private void execute(){
         ReturnT<String> returnT = errorStockHandler.start();
         if (!returnT.isSuccess()) {
diff --git a/src/main/java/com/zy/asrs/task/NotifyLogScheduler.java b/src/main/java/com/zy/asrs/task/NotifyLogScheduler.java
index 93799d9..fef0038 100644
--- a/src/main/java/com/zy/asrs/task/NotifyLogScheduler.java
+++ b/src/main/java/com/zy/asrs/task/NotifyLogScheduler.java
@@ -19,7 +19,7 @@
     @Autowired
     private NotifyLogHandler notifyLogHandler;
 
-    @Scheduled(cron = "0/3 * * * * ? ")
+//    @Scheduled(cron = "0/3 * * * * ? ")
     private void execute(){
         ReturnT<String> returnT = notifyLogHandler.start();
         if (!returnT.isSuccess()) {
diff --git a/src/main/java/com/zy/asrs/task/OrderMoveHistoryScheduler.java b/src/main/java/com/zy/asrs/task/OrderMoveHistoryScheduler.java
index 2f1081a..730b720 100644
--- a/src/main/java/com/zy/asrs/task/OrderMoveHistoryScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderMoveHistoryScheduler.java
@@ -14,7 +14,7 @@
     /**
      * 灏嗗凡瀹屾垚order鍜宱rderDetl绉诲姩鍒發og琛�
      */
-    @Scheduled(cron = "0/30 * * * * ?")
+//    @Scheduled(cron = "0/30 * * * * ?")
     public void execute(){
         orderMoveHistoryHandler.start();
     }
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index 61004e9..e6abf1d 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -29,7 +29,7 @@
     @Autowired
     private ApiLogService apiLogService;
 
-    @Scheduled(cron = "0 0 1 * * ? ")
+//    @Scheduled(cron = "0 0 1 * * ? ")
     public void clearApiLog(){
         try {
             apiLogService.clearWeekBefore();
diff --git a/src/main/java/com/zy/asrs/task/OverYearLogScheduler.java b/src/main/java/com/zy/asrs/task/OverYearLogScheduler.java
index 95a8a29..c41beca 100644
--- a/src/main/java/com/zy/asrs/task/OverYearLogScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OverYearLogScheduler.java
@@ -19,7 +19,7 @@
     @Autowired
     private OverYearLogHandler overYearLogHandler;
 
-    @Scheduled(cron = "0/3 * * * * ? ")
+//    @Scheduled(cron = "0/3 * * * * ? ")
     private void execute(){
         ReturnT<String> returnT = overYearLogHandler.start();
         if (!returnT.isSuccess()) {
diff --git a/src/main/java/com/zy/asrs/task/PlcLogScheduler.java b/src/main/java/com/zy/asrs/task/PlcLogScheduler.java
index 708392f..ada5011 100644
--- a/src/main/java/com/zy/asrs/task/PlcLogScheduler.java
+++ b/src/main/java/com/zy/asrs/task/PlcLogScheduler.java
@@ -19,7 +19,7 @@
     @Autowired
     private PlcLogHandler plcLogHandler;
 
-    @Scheduled(cron = "0/3 * * * * ? ")
+//    @Scheduled(cron = "0/3 * * * * ? ")
     private void execute(){
         ReturnT<String> returnT = plcLogHandler.start();
         if (!returnT.isSuccess()) {
diff --git a/src/main/java/com/zy/asrs/task/WorkLogScheduler.java b/src/main/java/com/zy/asrs/task/WorkLogScheduler.java
index 06a0624..c6af012 100644
--- a/src/main/java/com/zy/asrs/task/WorkLogScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WorkLogScheduler.java
@@ -23,7 +23,7 @@
     @Autowired
     private WrkMastService wrkMastService;
 
-    @Scheduled(cron = "0/3 * * * * ? ")
+//    @Scheduled(cron = "0/3 * * * * ? ")
     private void execute(){
         List<WrkMast> wrkMasts = wrkMastService.selectToBeHistoryData();
         if (wrkMasts.isEmpty()) {
diff --git a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
index 10bffd4..cfa22dc 100644
--- a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
@@ -26,7 +26,7 @@
     @Autowired
     private WorkMastHandler workMastHandler;
 
-    @Scheduled(cron = "0/3 * * * * ? ")
+//    @Scheduled(cron = "0/3 * * * * ? ")
     private void execute(){
         List<WrkMast> wrkMasts = wrkMastService.selectToBeCompleteData();
         if (wrkMasts.isEmpty()) {
diff --git a/src/main/java/com/zy/common/CodeBuilder.java b/src/main/java/com/zy/common/CodeBuilder.java
index 6a3ff20..fef11c3 100644
--- a/src/main/java/com/zy/common/CodeBuilder.java
+++ b/src/main/java/com/zy/common/CodeBuilder.java
@@ -17,10 +17,10 @@
 //        generator.table="sys_host";
         // sqlserver
         generator.sqlOsType = SqlOsType.SQL_SERVER;
-        generator.url="192.168.4.15:1433;databasename=hylyasrs";
+        generator.url="127.0.0.1:1433;databasename=lfdasrs-ERP";
         generator.username="sa";
         generator.password="sa@123";
-        generator.table="man_loc_check";
+        generator.table="asr_erp_order_detl";
         generator.packagePath="com.zy.asrs";
         generator.build();
     }
diff --git a/src/main/java/com/zy/ints/entity/ErpDetTb.java b/src/main/java/com/zy/ints/entity/ErpDetTb.java
deleted file mode 100644
index 2ba895b..0000000
--- a/src/main/java/com/zy/ints/entity/ErpDetTb.java
+++ /dev/null
@@ -1,217 +0,0 @@
-package com.zy.ints.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 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("ERP_DETTB")
-public class ErpDetTb implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 鍗曟嵁鍙风爜  涓婚敭
-     */
-    @ApiModelProperty(value = "鍗曟嵁鍙风爜")
-    @TableId(value = "BIL_NO", type = IdType.INPUT)
-    @TableField("BIL_NO")
-    private String billNo;
-
-    /**
-     * 鍝佸彿
-     */
-    @ApiModelProperty(value = "鍝佸彿")
-    @TableId(value = "prd_no", type = IdType.INPUT)
-    @TableField("PRD_NO")
-    private String prdNo;
-
-    /**
-     * 鍗曟嵁绫诲埆
-     */
-    @ApiModelProperty(value = "鍗曟嵁绫诲埆:" +
-            "TF_PSS:閲囪喘閿�鍞甛n" +
-            "TF_IC:搴撳瓨璋冩嫧\n" +
-            "TF_IJ:搴撳瓨璋冩暣\n" +
-            "TF_ML:鐢熶骇棰嗘枡\n" +
-            "TF_MM0:鐢熶骇缂村簱\n" +
-            "TF_TC:鎵樺伐閫�鍥�")
-    private String iokindid;
-
-    /**
-     * 澧炲噺绗﹀彿:1锛堝姞锛屽叆搴擄級銆�2锛堝噺锛屽嚭搴擄級
-     */
-    @ApiModelProperty(value = "澧炲噺绗﹀彿:1锛堝姞锛屽叆搴擄級銆�2锛堝噺锛屽嚭搴擄級")
-    private String addId;
-
-    @ApiModelProperty(value = "澧炲噺绗﹀彿:1锛堝姞锛屽叆搴擄級銆�2锛堝噺锛屽嚭搴擄級")
-    @TableField("ADD_ID")
-    private Integer addId2;
-
-    /**
-     * 鏁伴噺
-     */
-    @ApiModelProperty(value = "鏁伴噺")
-    @TableField("QTY")
-    private Double qty;
-
-    /**
-     * 璐у搧鐗瑰緛
-     */
-    @ApiModelProperty(value = "璐у搧鐗瑰緛")
-    @TableId(value = "prd_mark", type = IdType.INPUT)
-    @TableField("PRD_MARK")
-    private String prdMark;
-
-    /**
-     * 浠撳簱
-     */
-    @ApiModelProperty(value = "浠撳簱")
-    @TableField("WH")
-    private String wh;
-
-    /**
-     * 鏃ユ湡
-     */
-    @ApiModelProperty(value = "鏃ユ湡")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @TableField("BIL_DATE")
-    private Date billdate;
-
-    /**
-     * 鐘舵��:0锛堝垵濮嬬姸鎬侊級銆�1锛堝凡鎺ユ敹锛夈��2锛堝紓甯革級
-     */
-    @ApiModelProperty(value = "鐘舵��:0锛堝垵濮嬬姸鎬侊級銆�1锛堝凡鎺ユ敹锛夈��2锛堝紓甯革級")
-    @TableField("STATUS")
-    private Integer status;
-
-    /**
-     * 琛屽彿 涓婚敭
-     */
-    @ApiModelProperty(value = "鐘舵��:0锛堝垵濮嬬姸鎬侊級銆�1锛堝凡鎺ユ敹锛夈��2锛堝紓甯革級")
-    @TableField("ITM")
-    private Integer itm;
-
-    /**
-     * 澶囩敤瀛楁1
-     */
-    @ApiModelProperty(value = "澶囩敤瀛楁1")
-    @TableField("Temp1")
-    private String temp1;
-
-    /**
-     * 澶囩敤瀛楁2
-     */
-    @ApiModelProperty(value = "澶囩敤瀛楁2")
-    @TableField("Temp2")
-    private String temp2;
-
-    /**
-     * 澶囩敤瀛楁3
-     */
-    @ApiModelProperty(value = "澶囩敤瀛楁3")
-    @TableField("Temp3")
-    private String temp3;
-
-    public ErpDetTb() {
-    }
-
-    public ErpDetTb(String billNo, String prdNo, String iokindid, int itm, Integer addId2, String addId, Double qty, String prdMark, String wh, Date billdate, Integer status, String temp1, String temp2, String temp3) {
-        this.billNo = billNo;
-        this.prdNo = prdNo;
-        this.iokindid = iokindid;
-        this.itm = itm;
-        this.addId2 = addId2;
-        this.addId = addId;
-        this.qty = qty;
-        this.prdMark = prdMark;
-        this.wh = wh;
-        this.billdate = billdate;
-        this.status = status;
-        this.temp1 = temp1;
-        this.temp2 = temp2;
-        this.temp3 = temp3;
-    }
-
-    public ErpDetTb(String billNo, String prdNo, int itm, Integer addId2, Double qty, String prdMark, String wh, Date billdate, Integer status, String temp1, String temp2, String temp3) {
-        this.billNo = billNo;
-        this.prdNo = prdNo;
-        this.itm = itm;
-        this.addId2 = addId2;
-        this.qty = qty;
-        this.prdMark = prdMark;
-        this.wh = wh;
-        this.billdate = billdate;
-        this.status = status;
-        this.temp1 = temp1;
-        this.temp2 = temp2;
-        this.temp3 = temp3;
-    }
-
-//    DetTb detTb = new DetTb(
-//            null,    // id[闈炵┖]
-//            null,    // 鍗曟嵁鍙风爜[闈炵┖]
-//            null,    // 鍝佸彿[闈炵┖]
-//            null,    // 鍗曟嵁绫诲埆[闈炵┖]
-//            null,    // 澧炲噺绗﹀彿:1锛堝姞锛屽叆搴擄級銆�2锛堝噺锛屽嚭搴擄級[闈炵┖]
-//            null,    // 鏁伴噺[闈炵┖]
-//            null,    // 璐у搧鐗瑰緛[闈炵┖]
-//            null,    // 浠撳簱
-//            null,    // 鏃ユ湡[闈炵┖]
-//            null,    // 鐘舵��:0锛堝垵濮嬬姸鎬侊級銆�1锛堝凡鎺ユ敹锛夈��2锛堝紓甯革級[闈炵┖]
-//            null,    // 澶囩敤瀛楁1
-//            null,    // 澶囩敤瀛楁2
-//            null    // 澶囩敤瀛楁3
-//    );
-
-    public String getBilldate$() {
-        if (Cools.isEmpty(this.billdate)) {
-            return "";
-        }
-        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.billdate);
-    }
-
-    public String getIokindid$(){
-        if (null == this.iokindid){ return null; }
-        switch (this.iokindid){
-            case "TF_PSS":
-                return "閲囪喘閿�鍞�";
-            case "TF_IC":
-                return "搴撳瓨璋冩嫧";
-            case "TF_IJ":
-                return "搴撳瓨璋冩暣";
-            case "TF_ML":
-                return "鐢熶骇棰嗘枡";
-            case "TF_MM0":
-                return "鐢熶骇缂村簱";
-            case "TF_TC":
-                return "鎵樺伐閫�鍥�";
-            default:
-                return String.valueOf(this.status);
-        }
-    }
-
-    public String getStatus$(){
-        if (null == this.status){ return null; }
-        switch (this.status){
-            case 0:
-                return "0(鍒濆鐘舵��)";
-            case 1:
-                return "1(宸叉帴鏀�)";
-            case 2:
-                return "2(寮傚父)";
-            default:
-                return String.valueOf(this.status);
-        }
-    }
-
-}
diff --git a/src/main/java/com/zy/ints/entity/ErpDetTbBak.java b/src/main/java/com/zy/ints/entity/ErpDetTbBak.java
deleted file mode 100644
index fd9cfe4..0000000
--- a/src/main/java/com/zy/ints/entity/ErpDetTbBak.java
+++ /dev/null
@@ -1,198 +0,0 @@
-package com.zy.ints.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 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("ERP_DETTB_BAK")
-public class ErpDetTbBak implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 鍗曟嵁鍙风爜  涓婚敭
-     */
-    @ApiModelProperty(value = "鍗曟嵁鍙风爜")
-    @TableId(value = "BIL_NO", type = IdType.INPUT)
-    @TableField("BIL_NO")
-    private String billNo;
-
-    /**
-     * 鍝佸彿
-     */
-    @ApiModelProperty(value = "鍝佸彿")
-    @TableId(value = "prd_no", type = IdType.INPUT)
-    @TableField("PRD_NO")
-    private String prdNo;
-
-    /**
-     * 鍗曟嵁绫诲埆
-     */
-    @ApiModelProperty(value = "鍗曟嵁绫诲埆:" +
-            "TF_PSS:閲囪喘閿�鍞甛n" +
-            "TF_IC:搴撳瓨璋冩嫧\n" +
-            "TF_IJ:搴撳瓨璋冩暣\n" +
-            "TF_ML:鐢熶骇棰嗘枡\n" +
-            "TF_MM0:鐢熶骇缂村簱\n" +
-            "TF_TC:鎵樺伐閫�鍥�")
-    private String iokindid;
-
-    /**
-     * 澧炲噺绗﹀彿:1锛堝姞锛屽叆搴擄級銆�2锛堝噺锛屽嚭搴擄級
-     */
-    @ApiModelProperty(value = "澧炲噺绗﹀彿:1锛堝姞锛屽叆搴擄級銆�2锛堝噺锛屽嚭搴擄級")
-    private String addId;
-
-    @ApiModelProperty(value = "澧炲噺绗﹀彿:1锛堝姞锛屽叆搴擄級銆�2锛堝噺锛屽嚭搴擄級")
-    @TableField("ADD_ID")
-    private Integer addId2;
-
-    /**
-     * 鏁伴噺
-     */
-    @ApiModelProperty(value = "鏁伴噺")
-    @TableField("QTY")
-    private Double qty;
-
-    /**
-     * 璐у搧鐗瑰緛
-     */
-    @ApiModelProperty(value = "璐у搧鐗瑰緛")
-    @TableId(value = "prd_mark", type = IdType.INPUT)
-    @TableField("PRD_MARK")
-    private String prdMark;
-
-    /**
-     * 浠撳簱
-     */
-    @ApiModelProperty(value = "浠撳簱")
-    @TableField("WH")
-    private String wh;
-
-    /**
-     * 鏃ユ湡
-     */
-    @ApiModelProperty(value = "鏃ユ湡")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @TableField("BIL_DATE")
-    private Date billdate;
-
-    /**
-     * 鐘舵��:0锛堝垵濮嬬姸鎬侊級銆�1锛堝凡鎺ユ敹锛夈��2锛堝紓甯革級
-     */
-    @ApiModelProperty(value = "鐘舵��:0锛堝垵濮嬬姸鎬侊級銆�1锛堝凡鎺ユ敹锛夈��2锛堝紓甯革級")
-    @TableField("STATUS")
-    private Integer status;
-
-    /**
-     * 琛屽彿 涓婚敭
-     */
-    @ApiModelProperty(value = "鐘舵��:0锛堝垵濮嬬姸鎬侊級銆�1锛堝凡鎺ユ敹锛夈��2锛堝紓甯革級")
-    @TableField("ITM")
-    private Integer itm;
-
-    /**
-     * 澶囩敤瀛楁1
-     */
-    @ApiModelProperty(value = "澶囩敤瀛楁1")
-    @TableField("Temp1")
-    private String temp1;
-
-    /**
-     * 澶囩敤瀛楁2
-     */
-    @ApiModelProperty(value = "澶囩敤瀛楁2")
-    @TableField("Temp2")
-    private String temp2;
-
-    /**
-     * 澶囩敤瀛楁3
-     */
-    @ApiModelProperty(value = "澶囩敤瀛楁3")
-    @TableField("Temp3")
-    private String temp3;
-
-    public ErpDetTbBak() {
-    }
-
-    public ErpDetTbBak(String billNo, String prdNo, String iokindid, int itm, int addId2, String addId, Double qty, String prdMark, String wh, Date billdate, Integer status, String temp1, String temp2, String temp3) {
-        this.billNo = billNo;
-        this.prdNo = prdNo;
-        this.iokindid = iokindid;
-        this.itm = itm;
-        this.addId2 = addId2;
-        this.addId = addId;
-        this.qty = qty;
-        this.prdMark = prdMark;
-        this.wh = wh;
-        this.billdate = billdate;
-        this.status = status;
-        this.temp1 = temp1;
-        this.temp2 = temp2;
-        this.temp3 = temp3;
-    }
-
-    public ErpDetTbBak(String billNo, String prdNo, int itm, int addId2, Double qty, String prdMark, String wh, Date billdate, Integer status, String temp1, String temp2, String temp3) {
-        this.billNo = billNo;
-        this.prdNo = prdNo;
-        this.itm = itm;
-        this.addId2 = addId2;
-        this.qty = qty;
-        this.prdMark = prdMark;
-        this.wh = wh;
-        this.billdate = billdate;
-        this.status = status;
-        this.temp1 = temp1;
-        this.temp2 = temp2;
-        this.temp3 = temp3;
-    }
-
-//    DetTb detTb = new DetTb(
-//            null,    // id[闈炵┖]
-//            null,    // 鍗曟嵁鍙风爜[闈炵┖]
-//            null,    // 鍝佸彿[闈炵┖]
-//            null,    // 鍗曟嵁绫诲埆[闈炵┖]
-//            null,    // 澧炲噺绗﹀彿:1锛堝姞锛屽叆搴擄級銆�2锛堝噺锛屽嚭搴擄級[闈炵┖]
-//            null,    // 鏁伴噺[闈炵┖]
-//            null,    // 璐у搧鐗瑰緛[闈炵┖]
-//            null,    // 浠撳簱
-//            null,    // 鏃ユ湡[闈炵┖]
-//            null,    // 鐘舵��:0锛堝垵濮嬬姸鎬侊級銆�1锛堝凡鎺ユ敹锛夈��2锛堝紓甯革級[闈炵┖]
-//            null,    // 澶囩敤瀛楁1
-//            null,    // 澶囩敤瀛楁2
-//            null    // 澶囩敤瀛楁3
-//    );
-
-    public String getBilldate$() {
-        if (Cools.isEmpty(this.billdate)) {
-            return "";
-        }
-        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.billdate);
-    }
-
-    public String getStatus$(){
-        if (null == this.status){ return null; }
-        switch (this.status){
-            case 0:
-                return "0(鍒濆鐘舵��)";
-            case 1:
-                return "1(宸叉帴鏀�)";
-            case 2:
-                return "2(寮傚父)";
-            default:
-                return String.valueOf(this.status);
-        }
-    }
-
-
-}
diff --git a/src/main/java/com/zy/ints/entity/ErpLk.java b/src/main/java/com/zy/ints/entity/ErpLk.java
deleted file mode 100644
index f70be53..0000000
--- a/src/main/java/com/zy/ints/entity/ErpLk.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package com.zy.ints.entity;
-
-import com.baomidou.mybatisplus.annotations.TableId;
-import com.baomidou.mybatisplus.enums.IdType;
-import com.baomidou.mybatisplus.annotations.TableField;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import com.baomidou.mybatisplus.annotations.TableName;
-
-import java.io.Serializable;
-
-@Data
-@TableName("bas_erp_lk")
-public class ErpLk implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 鍝佸彿
-     */
-    @ApiModelProperty(value = "鍝佸彿")
-    @TableId(value = "prd_no", type = IdType.INPUT)
-    @TableField("prd_no")
-    private String prdNo;
-
-    /**
-     * 璐у搧鐗瑰緛
-     */
-    @ApiModelProperty(value = "璐у搧鐗瑰緛")
-    @TableId(value = "prd_mark", type = IdType.INPUT)
-    @TableField("prd_mark")
-    private String prdMark;
-
-    /**
-     * 鏁伴噺
-     */
-    @ApiModelProperty(value = "鏁伴噺")
-    private Double qty;
-
-    /**
-     * 浠撳簱
-     */
-    @ApiModelProperty(value = "浠撳簱")
-    private String wh;
-
-    /**
-     * 鐘舵��:0锛堝垵濮嬬姸鎬侊級銆�1锛堝凡鎺ユ敹锛夈��2锛堝紓甯革級
-     */
-    @ApiModelProperty(value = "鐘舵��:0锛堝垵濮嬬姸鎬侊級銆�1锛堝凡鎺ユ敹锛夈��2锛堝紓甯革級")
-    private Integer status;
-
-    /**
-     * 澶囩敤瀛楁1
-     */
-    @ApiModelProperty(value = "澶囩敤瀛楁1")
-    private String temp1;
-
-    /**
-     * 澶囩敤瀛楁2
-     */
-    @ApiModelProperty(value = "澶囩敤瀛楁2")
-    private String temp2;
-
-    /**
-     * 澶囩敤瀛楁3
-     */
-    @ApiModelProperty(value = "澶囩敤瀛楁3")
-    private String temp3;
-
-    public ErpLk() {
-    }
-
-    public ErpLk(String prdNo, String prdMark, Double qty, String wh, Integer status, String temp1, String temp2, String temp3) {
-        this.prdNo = prdNo;
-        this.prdMark = prdMark;
-        this.qty = qty;
-        this.wh = wh;
-        this.status = status;
-        this.temp1 = temp1;
-        this.temp2 = temp2;
-        this.temp3 = temp3;
-    }
-
-//    ErpLk erpLk = new ErpLk(
-//            null,    // id[闈炵┖]
-//            null,    // 鍝佸彿[闈炵┖]
-//            null,    // 璐у搧鐗瑰緛[闈炵┖]
-//            null,    // 鏁伴噺[闈炵┖]
-//            null,    // 浠撳簱
-//            null,    // 鐘舵��:0锛堝垵濮嬬姸鎬侊級銆�1锛堝凡鎺ユ敹锛夈��2锛堝紓甯革級[闈炵┖]
-//            null,    // 澶囩敤瀛楁1
-//            null,    // 澶囩敤瀛楁2
-//            null    // 澶囩敤瀛楁3
-//    );
-
-    public String getStatus$(){
-        if (null == this.status){ return null; }
-        switch (this.status){
-            case 0:
-                return "0(鍒濆鐘舵��)";
-            case 1:
-                return "1(宸叉帴鏀�)";
-            case 2:
-                return "2(寮傚父)";
-            default:
-                return String.valueOf(this.status);
-        }
-    }
-
-
-}
diff --git a/src/main/java/com/zy/ints/entity/ErpLkBak.java b/src/main/java/com/zy/ints/entity/ErpLkBak.java
deleted file mode 100644
index 3399fe8..0000000
--- a/src/main/java/com/zy/ints/entity/ErpLkBak.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package com.zy.ints.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 io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.io.Serializable;
-
-@Data
-@TableName("bas_erp_lk_bak")
-public class ErpLkBak implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 鍝佸彿
-     */
-    @ApiModelProperty(value = "鍝佸彿")
-    @TableId(value = "prd_no", type = IdType.INPUT)
-    @TableField("prd_no")
-    private String prdNo;
-
-    /**
-     * 璐у搧鐗瑰緛
-     */
-    @ApiModelProperty(value = "璐у搧鐗瑰緛")
-    @TableId(value = "prd_mark", type = IdType.INPUT)
-    @TableField("prd_mark")
-    private String prdMark;
-
-    /**
-     * 鏁伴噺
-     */
-    @ApiModelProperty(value = "鏁伴噺")
-    private Double qty;
-
-    /**
-     * 浠撳簱
-     */
-    @ApiModelProperty(value = "浠撳簱")
-    private String wh;
-
-    /**
-     * 鐘舵��:0锛堝垵濮嬬姸鎬侊級銆�1锛堝凡鎺ユ敹锛夈��2锛堝紓甯革級
-     */
-    @ApiModelProperty(value = "鐘舵��:0锛堝垵濮嬬姸鎬侊級銆�1锛堝凡鎺ユ敹锛夈��2锛堝紓甯革級")
-    private Integer status;
-
-    /**
-     * 澶囩敤瀛楁1
-     */
-    @ApiModelProperty(value = "澶囩敤瀛楁1")
-    private String temp1;
-
-    /**
-     * 澶囩敤瀛楁2
-     */
-    @ApiModelProperty(value = "澶囩敤瀛楁2")
-    private String temp2;
-
-    /**
-     * 澶囩敤瀛楁3
-     */
-    @ApiModelProperty(value = "澶囩敤瀛楁3")
-    private String temp3;
-
-    public ErpLkBak() {
-    }
-
-    public ErpLkBak(String prdNo, String prdMark, Double qty, String wh, Integer status, String temp1, String temp2, String temp3) {
-        this.prdNo = prdNo;
-        this.prdMark = prdMark;
-        this.qty = qty;
-        this.wh = wh;
-        this.status = status;
-        this.temp1 = temp1;
-        this.temp2 = temp2;
-        this.temp3 = temp3;
-    }
-
-//    ErpLk erpLk = new ErpLk(
-//            null,    // id[闈炵┖]
-//            null,    // 鍝佸彿[闈炵┖]
-//            null,    // 璐у搧鐗瑰緛[闈炵┖]
-//            null,    // 鏁伴噺[闈炵┖]
-//            null,    // 浠撳簱
-//            null,    // 鐘舵��:0锛堝垵濮嬬姸鎬侊級銆�1锛堝凡鎺ユ敹锛夈��2锛堝紓甯革級[闈炵┖]
-//            null,    // 澶囩敤瀛楁1
-//            null,    // 澶囩敤瀛楁2
-//            null    // 澶囩敤瀛楁3
-//    );
-
-    public String getStatus$(){
-        if (null == this.status){ return null; }
-        switch (this.status){
-            case 0:
-                return "0(鍒濆鐘舵��)";
-            case 1:
-                return "1(宸叉帴鏀�)";
-            case 2:
-                return "2(寮傚父)";
-            default:
-                return String.valueOf(this.status);
-        }
-    }
-
-
-}
diff --git a/src/main/java/com/zy/ints/entity/LkDetTb.java b/src/main/java/com/zy/ints/entity/LkDetTb.java
deleted file mode 100644
index 694975f..0000000
--- a/src/main/java/com/zy/ints/entity/LkDetTb.java
+++ /dev/null
@@ -1,164 +0,0 @@
-package com.zy.ints.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 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("lk_det_tb")
-public class LkDetTb implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 鍗曟嵁鍙风爜
-     */
-    @ApiModelProperty(value = "鍗曟嵁鍙风爜")
-    @TableId(value = "bill_no", type = IdType.INPUT)
-    @TableField("bill_no")
-    private String billNo;
-
-    /**
-     * 鍝佸彿
-     */
-    @ApiModelProperty(value = "鍝佸彿")
-    @TableId(value = "prd_no", type = IdType.INPUT)
-    @TableField("prd_no")
-    private String prdNo;
-
-    /**
-     * 鍗曟嵁绫诲埆
-     */
-    @ApiModelProperty(value = "鍗曟嵁绫诲埆:" +
-            "TF_PSS:閲囪喘閿�鍞甛n" +
-            "TF_IC:搴撳瓨璋冩嫧\n" +
-            "TF_IJ:搴撳瓨璋冩暣\n" +
-            "TF_ML:鐢熶骇棰嗘枡\n" +
-            "TF_MM0:鐢熶骇缂村簱\n" +
-            "TF_TC:鎵樺伐閫�鍥�")
-    private String iokindid;
-
-    /**
-     * 澧炲噺绗﹀彿:1锛堝姞锛屽叆搴擄級銆�2锛堝噺锛屽嚭搴擄級
-     */
-    @ApiModelProperty(value = "澧炲噺绗﹀彿:1锛堝姞锛屽叆搴擄級銆�2锛堝噺锛屽嚭搴擄級")
-    @TableField("add_id")
-    private String addId;
-
-    /**
-     * 鏁伴噺
-     */
-    @ApiModelProperty(value = "鏁伴噺")
-    private Double qty;
-
-    /**
-     * 璐у搧鐗瑰緛
-     */
-    @ApiModelProperty(value = "璐у搧鐗瑰緛")
-    @TableId(value = "prd_mark", type = IdType.INPUT)
-    @TableField("prd_mark")
-    private String prdMark;
-
-    /**
-     * 浠撳簱
-     */
-    @ApiModelProperty(value = "浠撳簱")
-    private String wh;
-
-    /**
-     * 鏃ユ湡
-     */
-    @ApiModelProperty(value = "鏃ユ湡")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date billdate;
-
-    /**
-     * 鐘舵��:0锛堝垵濮嬬姸鎬侊級銆�1锛堝凡鎺ユ敹锛夈��2锛堝紓甯革級
-     */
-    @ApiModelProperty(value = "鐘舵��:0锛堝垵濮嬬姸鎬侊級銆�1锛堝凡鎺ユ敹锛夈��2锛堝紓甯革級")
-    private Integer status;
-
-    /**
-     * 澶囩敤瀛楁1
-     */
-    @ApiModelProperty(value = "澶囩敤瀛楁1")
-    private String temp1;
-
-    /**
-     * 澶囩敤瀛楁2
-     */
-    @ApiModelProperty(value = "澶囩敤瀛楁2")
-    private String temp2;
-
-    /**
-     * 澶囩敤瀛楁3
-     */
-    @ApiModelProperty(value = "澶囩敤瀛楁3")
-    private String temp3;
-
-    public LkDetTb() {
-    }
-
-    public LkDetTb(String billNo, String prdNo, String iokindid, String addId, Double qty, String prdMark, String wh, Date billdate, Integer status, String temp1, String temp2, String temp3) {
-        this.billNo = billNo;
-        this.prdNo = prdNo;
-        this.iokindid = iokindid;
-        this.addId = addId;
-        this.qty = qty;
-        this.prdMark = prdMark;
-        this.wh = wh;
-        this.billdate = billdate;
-        this.status = status;
-        this.temp1 = temp1;
-        this.temp2 = temp2;
-        this.temp3 = temp3;
-    }
-
-//    DetTb detTb = new DetTb(
-//            null,    // id[闈炵┖]
-//            null,    // 鍗曟嵁鍙风爜[闈炵┖]
-//            null,    // 鍝佸彿[闈炵┖]
-//            null,    // 鍗曟嵁绫诲埆[闈炵┖]
-//            null,    // 澧炲噺绗﹀彿:1锛堝姞锛屽叆搴擄級銆�2锛堝噺锛屽嚭搴擄級[闈炵┖]
-//            null,    // 鏁伴噺[闈炵┖]
-//            null,    // 璐у搧鐗瑰緛[闈炵┖]
-//            null,    // 浠撳簱
-//            null,    // 鏃ユ湡[闈炵┖]
-//            null,    // 鐘舵��:0锛堝垵濮嬬姸鎬侊級銆�1锛堝凡鎺ユ敹锛夈��2锛堝紓甯革級[闈炵┖]
-//            null,    // 澶囩敤瀛楁1
-//            null,    // 澶囩敤瀛楁2
-//            null    // 澶囩敤瀛楁3
-//    );
-
-    public String getBilldate$() {
-        if (Cools.isEmpty(this.billdate)) {
-            return "";
-        }
-        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.billdate);
-    }
-
-    public String getStatus$(){
-        if (null == this.status){ return null; }
-        switch (this.status){
-            case 0:
-                return "0(鍒濆鐘舵��)";
-            case 1:
-                return "1(宸叉帴鏀�)";
-            case 2:
-                return "2(寮傚父)";
-            default:
-                return String.valueOf(this.status);
-        }
-    }
-
-
-}
diff --git a/src/main/java/com/zy/ints/entity/LkDetTbBak.java b/src/main/java/com/zy/ints/entity/LkDetTbBak.java
deleted file mode 100644
index f21d57a..0000000
--- a/src/main/java/com/zy/ints/entity/LkDetTbBak.java
+++ /dev/null
@@ -1,164 +0,0 @@
-package com.zy.ints.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 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("lk_det_tb_bak")
-public class LkDetTbBak implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 鍗曟嵁鍙风爜
-     */
-    @ApiModelProperty(value = "鍗曟嵁鍙风爜")
-    @TableId(value = "bill_no", type = IdType.INPUT)
-    @TableField("bill_no")
-    private String billNo;
-
-    /**
-     * 鍝佸彿
-     */
-    @ApiModelProperty(value = "鍝佸彿")
-    @TableId(value = "prd_no", type = IdType.INPUT)
-    @TableField("prd_no")
-    private String prdNo;
-
-    /**
-     * 鍗曟嵁绫诲埆
-     */
-    @ApiModelProperty(value = "鍗曟嵁绫诲埆:" +
-            "TF_PSS:閲囪喘閿�鍞甛n" +
-            "TF_IC:搴撳瓨璋冩嫧\n" +
-            "TF_IJ:搴撳瓨璋冩暣\n" +
-            "TF_ML:鐢熶骇棰嗘枡\n" +
-            "TF_MM0:鐢熶骇缂村簱\n" +
-            "TF_TC:鎵樺伐閫�鍥�")
-    private String iokindid;
-
-    /**
-     * 澧炲噺绗﹀彿:1锛堝姞锛屽叆搴擄級銆�2锛堝噺锛屽嚭搴擄級
-     */
-    @ApiModelProperty(value = "澧炲噺绗﹀彿:1锛堝姞锛屽叆搴擄級銆�2锛堝噺锛屽嚭搴擄級")
-    @TableField("add_id")
-    private String addId;
-
-    /**
-     * 鏁伴噺
-     */
-    @ApiModelProperty(value = "鏁伴噺")
-    private Double qty;
-
-    /**
-     * 璐у搧鐗瑰緛
-     */
-    @ApiModelProperty(value = "璐у搧鐗瑰緛")
-    @TableId(value = "prd_mark", type = IdType.INPUT)
-    @TableField("prd_mark")
-    private String prdMark;
-
-    /**
-     * 浠撳簱
-     */
-    @ApiModelProperty(value = "浠撳簱")
-    private String wh;
-
-    /**
-     * 鏃ユ湡
-     */
-    @ApiModelProperty(value = "鏃ユ湡")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date billdate;
-
-    /**
-     * 鐘舵��:0锛堝垵濮嬬姸鎬侊級銆�1锛堝凡鎺ユ敹锛夈��2锛堝紓甯革級
-     */
-    @ApiModelProperty(value = "鐘舵��:0锛堝垵濮嬬姸鎬侊級銆�1锛堝凡鎺ユ敹锛夈��2锛堝紓甯革級")
-    private Integer status;
-
-    /**
-     * 澶囩敤瀛楁1
-     */
-    @ApiModelProperty(value = "澶囩敤瀛楁1")
-    private String temp1;
-
-    /**
-     * 澶囩敤瀛楁2
-     */
-    @ApiModelProperty(value = "澶囩敤瀛楁2")
-    private String temp2;
-
-    /**
-     * 澶囩敤瀛楁3
-     */
-    @ApiModelProperty(value = "澶囩敤瀛楁3")
-    private String temp3;
-
-    public LkDetTbBak() {
-    }
-
-    public LkDetTbBak(String billNo, String prdNo, String iokindid, String addId, Double qty, String prdMark, String wh, Date billdate, Integer status, String temp1, String temp2, String temp3) {
-        this.billNo = billNo;
-        this.prdNo = prdNo;
-        this.iokindid = iokindid;
-        this.addId = addId;
-        this.qty = qty;
-        this.prdMark = prdMark;
-        this.wh = wh;
-        this.billdate = billdate;
-        this.status = status;
-        this.temp1 = temp1;
-        this.temp2 = temp2;
-        this.temp3 = temp3;
-    }
-
-//    DetTb detTb = new DetTb(
-//            null,    // id[闈炵┖]
-//            null,    // 鍗曟嵁鍙风爜[闈炵┖]
-//            null,    // 鍝佸彿[闈炵┖]
-//            null,    // 鍗曟嵁绫诲埆[闈炵┖]
-//            null,    // 澧炲噺绗﹀彿:1锛堝姞锛屽叆搴擄級銆�2锛堝噺锛屽嚭搴擄級[闈炵┖]
-//            null,    // 鏁伴噺[闈炵┖]
-//            null,    // 璐у搧鐗瑰緛[闈炵┖]
-//            null,    // 浠撳簱
-//            null,    // 鏃ユ湡[闈炵┖]
-//            null,    // 鐘舵��:0锛堝垵濮嬬姸鎬侊級銆�1锛堝凡鎺ユ敹锛夈��2锛堝紓甯革級[闈炵┖]
-//            null,    // 澶囩敤瀛楁1
-//            null,    // 澶囩敤瀛楁2
-//            null    // 澶囩敤瀛楁3
-//    );
-
-    public String getBilldate$() {
-        if (Cools.isEmpty(this.billdate)) {
-            return "";
-        }
-        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.billdate);
-    }
-
-    public String getStatus$(){
-        if (null == this.status){ return null; }
-        switch (this.status){
-            case 0:
-                return "0(鍒濆鐘舵��)";
-            case 1:
-                return "1(宸叉帴鏀�)";
-            case 2:
-                return "2(寮傚父)";
-            default:
-                return String.valueOf(this.status);
-        }
-    }
-
-
-}
diff --git a/src/main/java/com/zy/ints/entity/Prdt.java b/src/main/java/com/zy/ints/entity/Prdt.java
deleted file mode 100644
index 46515f3..0000000
--- a/src/main/java/com/zy/ints/entity/Prdt.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package com.zy.ints.entity;
-
-import com.baomidou.mybatisplus.annotations.TableId;
-import com.baomidou.mybatisplus.enums.IdType;
-import com.baomidou.mybatisplus.annotations.TableField;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import com.baomidou.mybatisplus.annotations.TableName;
-
-import java.io.Serializable;
-
-@Data
-@TableName("ERP_PRDT")
-public class Prdt implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 鍝佸彿
-     */
-    @ApiModelProperty(value = "鍝佸彿")
-    @TableId(value = "prd_no", type = IdType.INPUT)
-    @TableField("prd_no")
-    private String prdNo;
-
-    /**
-     * 鍝佸悕
-     */
-    @ApiModelProperty(value = "鍝佸悕")
-    private String name;
-
-    /**
-     * 鍗曚綅
-     */
-    @ApiModelProperty(value = "鍗曚綅")
-    private String ut;
-
-    /**
-     * 瑙勬牸
-     */
-    @ApiModelProperty(value = "瑙勬牸")
-    private String spc;
-
-    /**
-     * 绫诲瀷
-     */
-    @ApiModelProperty(value = "绫诲瀷")
-    private Integer type;
-
-    /**
-     * 鐘舵��
-     */
-    @ApiModelProperty(value = "鐘舵��")
-    private Integer status;
-
-    /**
-     * 澶囩敤瀛楁1
-     */
-    @ApiModelProperty(value = "澶囩敤瀛楁1")
-    private String temp1;
-
-    /**
-     * 澶囩敤瀛楁2
-     */
-    @ApiModelProperty(value = "澶囩敤瀛楁2")
-    private String temp2;
-
-    /**
-     * 澶囩敤瀛楁3
-     */
-    @ApiModelProperty(value = "澶囩敤瀛楁3")
-    private String temp3;
-
-    public Prdt() {
-    }
-
-    public Prdt(String prdNo, String name, String ut, String spc, Integer type, Integer status) {
-        this.prdNo = prdNo;
-        this.name = name;
-        this.ut = ut;
-        this.spc = spc;
-        this.type = type;
-        this.status = status;
-    }
-
-//    Prdt prdt = new Prdt(
-//            null,    // id[闈炵┖]
-//            null,    // 鍝佸彿[闈炵┖]
-//            null,    // 鍝佸悕[闈炵┖]
-//            null,    // 鍗曚綅
-//            null,    // 瑙勬牸
-//            null,    // 绫诲瀷[闈炵┖]
-//            null    // 鐘舵�乕闈炵┖]
-//    );
-
-    public String getStatus$(){
-        if (null == this.status){ return null; }
-        switch (this.status){
-            case 0:
-                return "0(鍒濆鐘舵��)";
-            case 1:
-                return "1(宸叉帴鏀�)";
-            case 2:
-                return "2(寮傚父)";
-            default:
-                return String.valueOf(this.status);
-        }
-    }
-
-
-}
diff --git a/src/main/java/com/zy/ints/entity/PrdtBak.java b/src/main/java/com/zy/ints/entity/PrdtBak.java
deleted file mode 100644
index fc7228b..0000000
--- a/src/main/java/com/zy/ints/entity/PrdtBak.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package com.zy.ints.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 io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.io.Serializable;
-
-@Data
-@TableName("ERP_PRDT_BAK")
-public class PrdtBak implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 鍝佸彿
-     */
-    @ApiModelProperty(value = "鍝佸彿")
-    @TableId(value = "prd_no", type = IdType.INPUT)
-    @TableField("prd_no")
-    private String prdNo;
-
-    /**
-     * 鍝佸悕
-     */
-    @ApiModelProperty(value = "鍝佸悕")
-    private String name;
-
-    /**
-     * 鍗曚綅
-     */
-    @ApiModelProperty(value = "鍗曚綅")
-    private String ut;
-
-    /**
-     * 瑙勬牸
-     */
-    @ApiModelProperty(value = "瑙勬牸")
-    private String spc;
-
-    /**
-     * 绫诲瀷
-     */
-    @ApiModelProperty(value = "绫诲瀷")
-    private Integer type;
-
-    /**
-     * 鐘舵��
-     */
-    @ApiModelProperty(value = "鐘舵��")
-    private Integer status;
-
-    /**
-     * 澶囩敤瀛楁1
-     */
-    @ApiModelProperty(value = "澶囩敤瀛楁1")
-    private String temp1;
-
-    /**
-     * 澶囩敤瀛楁2
-     */
-    @ApiModelProperty(value = "澶囩敤瀛楁2")
-    private String temp2;
-
-    /**
-     * 澶囩敤瀛楁3
-     */
-    @ApiModelProperty(value = "澶囩敤瀛楁3")
-    private String temp3;
-
-    public PrdtBak() {
-    }
-
-    public PrdtBak(String prdNo, String name, String ut, String spc, Integer type, Integer status) {
-        this.prdNo = prdNo;
-        this.name = name;
-        this.ut = ut;
-        this.spc = spc;
-        this.type = type;
-        this.status = status;
-    }
-
-//    Prdt prdt = new Prdt(
-//            null,    // id[闈炵┖]
-//            null,    // 鍝佸彿[闈炵┖]
-//            null,    // 鍝佸悕[闈炵┖]
-//            null,    // 鍗曚綅
-//            null,    // 瑙勬牸
-//            null,    // 绫诲瀷[闈炵┖]
-//            null    // 鐘舵�乕闈炵┖]
-//    );
-
-    public String getStatus$(){
-        if (null == this.status){ return null; }
-        switch (this.status){
-            case 0:
-                return "0(鍒濆鐘舵��)";
-            case 1:
-                return "1(宸叉帴鏀�)";
-            case 2:
-                return "2(寮傚父)";
-            default:
-                return String.valueOf(this.status);
-        }
-    }
-
-
-}
diff --git a/src/main/java/com/zy/ints/erp/ErpDbProperties.java b/src/main/java/com/zy/ints/erp/ErpDbProperties.java
deleted file mode 100644
index 30df009..0000000
--- a/src/main/java/com/zy/ints/erp/ErpDbProperties.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.zy.ints.erp;
-
-import lombok.Data;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.stereotype.Component;
-
-/**
- * Created by vincent on 2020/11/26
- */
-@Data
-@ConfigurationProperties(prefix = "erp.db")
-@Component
-public class ErpDbProperties {
-
-    private String driver_class_name;
-
-    private String url;
-
-    private String username;
-
-    private String password;
-
-//    {
-//        driver_class_name = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
-//        ur = "jdbc:sqlserver://127.0.0.1:1433;databasename=byrk";
-//        username = "sa";
-//        password = "sa@123";
-//    }
-
-}
diff --git a/src/main/java/com/zy/ints/erp/ErpSqlServer.java b/src/main/java/com/zy/ints/erp/ErpSqlServer.java
deleted file mode 100644
index fc8b96b..0000000
--- a/src/main/java/com/zy/ints/erp/ErpSqlServer.java
+++ /dev/null
@@ -1,363 +0,0 @@
-package com.zy.ints.erp;
-
-import com.baomidou.mybatisplus.annotations.TableField;
-import com.baomidou.mybatisplus.annotations.TableName;
-import com.core.common.Cools;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-import java.sql.*;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * 绠�鍗曟寔涔呭眰妗嗘灦
- * Created by vincent on 2020/11/26
- */
-@Slf4j
-@Service
-public class ErpSqlServer {
-
-    // 鏁版嵁搴撹繛鎺�
-//    private Connection conn;
-    // 鍒涘缓棰勭紪璇戣鍙ュ璞★紝涓�鑸兘鏄敤杩欎釜鑰屼笉鐢⊿tatement
-    private PreparedStatement pstm = null;
-    // 鍒涘缓涓�涓粨鏋滈泦瀵硅薄
-    private ResultSet rs = null;
-
-    @Autowired
-    private ErpDbProperties erpDbProperties;
-
-    /*****************************************************************************/
-    /**********************************   灏佽   **********************************/
-    /*****************************************************************************/
-
-    /**
-     * 鏌ヨ
-     */
-    public <T> List<T> select(String sql, Class<T> cls) {
-        List<Map<String, Object>> result = executeQuery(sql);
-        List<T> list = new ArrayList<>();
-        if (null != result) {
-            for (Map<String, Object> entity : result) {
-                list.add(Cools.conver(entity, cls));
-            }
-        }
-        return list;
-    }
-
-
-    /**
-     * 鎵弿鎵�鏈夊疄鍔涚被灞炴�ч噷鐨凾ableField娉ㄨВ,骞跺皢閲岄潰鐨勫�间綔涓篶olumn
-     *
-     * @param cls
-     * @param <T>
-     * @return
-     */
-    public <T> String selectFrontPart(Class<T> cls) {
-        String tableName = cls.getDeclaredAnnotation(TableName.class).value();
-        List<HashMap<String, String>> columnAndField = new ArrayList<>();
-        String sql = "SELECT ";
-        if (Cools.isEmpty(tableName)) {
-            return null;
-        }
-        Field[] allFields = Cools.getAllFields(cls);
-        for (Field f : allFields) {
-            if (Modifier.isFinal(f.getModifiers())
-                    || Modifier.isStatic(f.getModifiers())
-                    || Modifier.isTransient(f.getModifiers())) {
-                continue;
-            }
-            String column = null;
-            if (f.isAnnotationPresent(TableField.class)) {
-                column = f.getAnnotation(TableField.class).value();
-            }
-            if (Cools.isEmpty(column)) {
-                column = f.getName();
-            }
-            String name = f.getName();
-            HashMap<String, String> container = new HashMap<>();
-            container.put(column, name);
-            columnAndField.add(container);
-        }
-        for (int i = 0; i < columnAndField.size(); i++) {
-            HashMap<String, String> stringStringHashMap = columnAndField.get(i);
-            if (i == columnAndField.size() - 1) {
-                for (String s : stringStringHashMap.keySet()) {
-                    sql = sql + s + " AS " + stringStringHashMap.get(s);
-                }
-            } else {
-                for (String s : stringStringHashMap.keySet()) {
-                    sql = sql + s + " AS " + stringStringHashMap.get(s) + ", ";
-                }
-            }
-        }
-        sql = sql + " FROM " + tableName;
-        return sql;
-    }
-
-    public String addWhere(String sql, Map<String, String> condition) {
-        int conditionSize = 1;
-        sql = sql + " WHERE ";
-        for (String s : condition.keySet()) {
-            if (conditionSize == condition.keySet().size()) {
-                sql = sql + s + " = " + condition.get(s);
-            } else {
-                sql = sql + s + " = " + condition.get(s) + " and ";
-            }
-            conditionSize = conditionSize + 1;
-        }
-        return sql;
-    }
-
-    /**
-     * map鐨勯敭鏄垪鍚�, 鍊肩瓑鍚屼簬鍊�
-     * key: id, value: 1 绛夊悓浜� WHERE id = 1
-     * 濡傛灉瑕佹煡璇㈠瓧绗︿覆闇�瑕佽嚜琛屽姞涓�''
-     * key:name, value: 'zhs'绛夊悓浜� WHERE name = 'zhs'
-     *
-     * @param cls
-     * @param condition
-     * @param <T>
-     * @return
-     */
-    public <T> List<T> selectList(Class<T> cls, Map<String, String> condition) {
-        String sql = selectFrontPart(cls);
-        String finalSQL = addWhere(sql, condition);
-        return select(finalSQL, cls);
-    }
-
-    public <T> List<T> selectAll(Class<T> cls) {
-        String sql = selectFrontPart(cls);
-        return select(sql, cls);
-    }
-
-    public List<Map<String, Object>> select(String sql) {
-        return executeQuery(sql);
-    }
-
-    /**
-     * 淇敼
-     */
-    public int update(String sql) {
-        return executeUpdate(sql);
-    }
-
-    public <T> int delete(Class<T> cls, Map<String, String> condition) {
-        String tableName = cls.getDeclaredAnnotation(TableName.class).value();
-        if (Cools.isEmpty(tableName)) {
-            return 0;
-        }
-        String sql = "DELETE FROM " + tableName;
-        String finalSQL = addWhere(sql, condition);
-        return executeUpdate(finalSQL);
-    }
-
-    public <T> int insert(Class<T> cls, Map<String, Object> condition) {
-        String tableName = cls.getDeclaredAnnotation(TableName.class).value();
-        if (Cools.isEmpty(tableName)) {
-            return 0;
-        }
-        String sql = "INSERT INTO " + tableName + " (";
-        int conditionSize = 1;
-        for (String s : condition.keySet()) {
-            if (conditionSize == condition.keySet().size()) {
-                sql = sql + s + ")";
-            } else {
-                sql = sql + s + ",";
-            }
-            conditionSize = conditionSize + 1;
-        }
-        sql = sql + " VALUES(";
-        int valuesSize = 1;
-        for (String s : condition.keySet()) {
-            if (valuesSize == condition.keySet().size()) {
-
-                sql = sql + condition.get(s) + ")";
-            } else {
-                sql = sql + condition.get(s) + ",";
-            }
-            valuesSize = valuesSize + 1;
-        }
-
-        return executeUpdate(sql);
-    }
-
-
-    /*****************************************************************************/
-    /*********************************   鏍稿績灞�   *********************************/
-    /*****************************************************************************/
-
-
-    private List<Map<String, Object>> executeQuery(String sql) {
-        Connection conn = null;
-        try {
-            conn = getConn();
-            pstm = conn.prepareStatement(sql);
-            rs = pstm.executeQuery();
-//            List<Map<String, Object>> maps = convertList(rs);
-            return convertList(rs);
-        } catch (Exception e) {
-            e.printStackTrace();
-            return null;
-        } finally {
-            release();
-            if (conn != null) {
-                try {
-                    conn.close();
-                    conn = null;
-                } catch (SQLException e) {
-                    e.printStackTrace();
-                }
-            }
-        }
-    }
-
-    public Number executeQueryCount(String sql, String column) {
-        Number value = 0;
-        Connection conn = null;
-        try {
-            conn = getConn();
-            pstm = conn.prepareStatement(sql);
-            rs = pstm.executeQuery();
-//            ResultSetMetaData metaData = rs.getMetaData();
-            while (rs.next()) {
-                value = (Number) rs.getInt(column);
-            }
-            return value;
-        } catch (Exception e) {
-            e.printStackTrace();
-            return 0;
-        } finally {
-            release();
-            if (conn != null) {
-                try {
-                    conn.close();
-                    conn = null;
-                } catch (SQLException e) {
-                    e.printStackTrace();
-                }
-            }
-        }
-    }
-
-    private int executeUpdate(String sql) {
-        Connection conn = null;
-        try {
-            conn = getConn();
-            if (null != conn) {
-                pstm = conn.prepareStatement(sql);
-            } else {
-                log.error("鏇存柊ERP涓棿琛ㄥけ璐�===>>鏁版嵁搴撹繛鎺onn涓虹┖");
-                log.error("鏇存柊ERP涓棿琛ㄥけ璐�===>>" + sql);
-            }
-            return pstm.executeUpdate();
-        } catch (Exception e) {
-            e.printStackTrace();
-            log.error("鏇存柊ERP涓棿琛ㄥけ璐�===>>" + sql);
-            log.error("鏇存柊ERP涓棿琛ㄥけ璐�===>>" + e);
-            return 0;
-        } finally {
-            release();
-            if (conn != null) {
-                try {
-                    conn.close();
-                    conn = null;
-                } catch (SQLException e) {
-                    e.printStackTrace();
-                }
-            }
-        }
-    }
-
-    private static List<Map<String, Object>> convertList(ResultSet rs) throws SQLException {
-        List<Map<String, Object>> list = new ArrayList<>();
-        ResultSetMetaData md = rs.getMetaData();
-        int columnCount = md.getColumnCount();
-        while (rs.next()) {
-            Map<String, Object> rowData = new HashMap<>();
-            for (int i = 1; i <= columnCount; i++) {
-                rowData.put(md.getColumnName(i), rs.getObject(i));
-            }
-            list.add(rowData);
-        }
-        return list;
-    }
-
-    //synchronized
-    public Connection getConn() throws SQLException {
-        Connection conn = null;
-        try {
-            Class.forName(erpDbProperties.getDriver_class_name()).newInstance();
-            conn = DriverManager.getConnection(erpDbProperties.getUrl(), erpDbProperties.getUsername(), erpDbProperties.getPassword());
-        } catch (Exception e) {
-            log.error("鑾峰彇ERP鏁版嵁搴撹繛鎺ュけ璐�");
-            e.printStackTrace();
-            throw new RuntimeException("鑾峰彇ERP鏁版嵁搴撹繛鎺ュけ璐�");
-        }
-        return conn;
-//        if (null == this.conn || this.conn.isClosed()) {
-//            try {
-//                Class.forName(erpDbProperties.getDriver_class_name()).newInstance();
-//                this.conn = DriverManager.getConnection(erpDbProperties.getUr(), erpDbProperties.getUsername(), erpDbProperties.getPassword());
-//            } catch (Exception e) {
-//                log.error("鑾峰彇ERP鏁版嵁搴撹繛鎺ュけ璐�");
-//                e.printStackTrace();
-//                throw new RuntimeException("鑾峰彇ERP鏁版嵁搴撹繛鎺ュけ璐�");
-//            }
-//        }
-//        return this.conn;
-    }
-
-    private void release() {
-        if (rs != null) {
-            try {
-                rs.close();
-            } catch (SQLException e) {
-                e.printStackTrace();
-            }
-        }
-        if (pstm != null) {
-            try {
-                pstm.close();
-            } catch (SQLException e) {
-                e.printStackTrace();
-            }
-        }
-//        if (conn != null) {
-//            try {
-//                conn.close();
-//                conn = null;
-//            } catch (SQLException e) {
-//                e.printStackTrace();
-//            }
-//        }
-    }
-
-    /**
-     * 娣辨嫹璐�
-     */
-    public ArrayList deepClone(List list) throws Exception {
-        // 搴忓垪鍖�
-        ByteArrayOutputStream bos = new ByteArrayOutputStream();
-        ObjectOutputStream oos = new ObjectOutputStream(bos);
-
-        oos.writeObject(list);
-
-        // 鍙嶅簭鍒楀寲
-        ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
-        ObjectInputStream ois = new ObjectInputStream(bis);
-
-        return (ArrayList) ois.readObject();
-    }
-
-}
diff --git a/src/main/java/com/zy/ints/task/scheduler/ErpDetTbScheduler.java b/src/main/java/com/zy/ints/task/scheduler/ErpDetTbScheduler.java
deleted file mode 100644
index 0e41258..0000000
--- a/src/main/java/com/zy/ints/task/scheduler/ErpDetTbScheduler.java
+++ /dev/null
@@ -1,243 +0,0 @@
-package com.zy.ints.task.scheduler;
-
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.core.common.Cools;
-import com.core.common.DateUtils;
-import com.core.common.SnowflakeIdWorker;
-import com.zy.asrs.entity.*;
-import com.zy.asrs.service.*;
-import com.zy.ints.entity.ErpDetTb;
-import com.zy.ints.entity.ErpDetTbBak;
-import com.zy.ints.erp.ErpSqlServer;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-
-/**
- * erp浠诲姟鎺у埗鍣�
- * Created by vincent on 2020/11/27
- */
-@Slf4j
-@Component
-public class ErpDetTbScheduler {
-    /**
-     * ERP鎺ュ彛鏄惁鍚敤
-     */
-    @Value("${erp.enabled}")
-    private Boolean erpEnabled;
-    @Value("${erp.enabledErpDetTb}")
-    private Boolean erpEnabledErpDetTb;
-    @Value("${erp.useName.ip}")
-    private String ip;
-    @Autowired
-    private ErpSqlServer erpSqlServer;
-    @Autowired
-    private MatService matService;
-    @Autowired
-    private OrderService orderService;
-    @Autowired
-    private OrderDetlService orderDetlService;
-    @Autowired
-    private SnowflakeIdWorker snowflakeIdWorker;
-    @Autowired
-    private DocTypeService docTypeService;
-    @Autowired
-    private ApiLogService apiLogService;
-
-    /**
-     * 鑾峰彇鍏ュ嚭搴撹鍗曚俊鎭�
-     */
-    @Scheduled(cron = "${erp.refreshtime}")
-    public void InOrOutOrder() {
-        if (!erpEnabledErpDetTb) return;
-        String sqlSelectErpDetTb = "select BIL_NO as billNo,prd_no as prdNo,ITM as itm,ADD_ID as addId2,QTY as qty,PRD_MARK as prdMark,WH as wh,STATUS as status,Temp1 as temp1,Temp2 as temp2,Temp3 as temp3 from ERP_DETTB where 1=1";
-        String sqlUpDateErpDetTbOne = "update ERP_DETTB set STATUS=1 where 1=1 and PRD_NO=";
-        String sqlUpDateErpDetTbTwo = "update ERP_DETTB set STATUS=2 ";
-
-        try {
-            List<ErpDetTb> erpDetTbs = erpSqlServer.select(sqlSelectErpDetTb, ErpDetTb.class);
-            if (erpDetTbs.size() > 0) {
-                for (ErpDetTb erpDetTb : erpDetTbs) {
-                    Date now = new Date();
-                    Integer status = erpDetTb.getStatus();
-                    if (status == 0) {
-                        Mat mat = matService.selectByMatnr(erpDetTb.getPrdNo());
-                        if (Cools.isEmpty(mat)) {
-                            if(Cools.isEmpty(erpDetTb.getTemp1())){
-                                erpSqlServer.update(sqlUpDateErpDetTbTwo + ",Temp1='鍝佸彿淇℃伅鍦ㄧ珛搴撲笉瀛樺湪锛岃鍏堟坊鍔犲晢鍝侊紒锛侊紒'" + "where 1=1 "
-                                        +" and PRD_NO=" + "'" + erpDetTb.getPrdNo() + "'"
-                                        +" and ITM=" + "'" + erpDetTb.getItm() + "'"
-                                        +" and BIL_NO=" + "'" + erpDetTb.getBillNo() + "'");
-                                callApiLogSave(erpDetTb, "ERP_DETTB", "鍝佸彿淇℃伅鍦ㄧ珛搴撲笉瀛樺湪锛岃鍏堟坊鍔犲晢鍝侊紒锛侊紒", false);
-                            }
-                        } else {
-                            Order order = orderService.selectByNo(erpDetTb.getBillNo()+"---"+erpDetTb.getItm());
-                            if (Cools.isEmpty(order)) {
-                                order = new Order(
-                                        String.valueOf(snowflakeIdWorker.nextId()),    // 缂栧彿[闈炵┖]
-                                        erpDetTb.getBillNo()+"---"+erpDetTb.getItm(),    // 璁㈠崟缂栧彿
-                                        DateUtils.convert(now),    // 鍗曟嵁鏃ユ湡
-                                        null,    // 鍗曟嵁绫诲瀷
-                                        null,    // 椤圭洰缂栧彿
-                                        null,    //
-                                        null,    // 璋冩嫧椤圭洰缂栧彿
-                                        null,    // 鍒濆绁ㄦ嵁鍙�
-                                        null,    // 绁ㄦ嵁鍙�
-                                        null,    // 瀹㈡埛缂栧彿
-                                        null,    // 瀹㈡埛
-                                        null,    // 鑱旂郴鏂瑰紡
-                                        null,    // 鎿嶄綔浜哄憳
-                                        null,    // 鍚堣閲戦
-                                        null,    // 浼樻儬鐜�
-                                        null,    // 浼樻儬閲戦
-                                        null,    // 閿�鍞垨閲囪喘璐圭敤鍚堣
-                                        null,    // 瀹炰粯閲戦
-                                        null,    // 浠樻绫诲瀷
-                                        null,    // 涓氬姟鍛�
-                                        null,    // 缁撶畻澶╂暟
-                                        null,    // 閭垂鏀粯绫诲瀷
-                                        null,    // 閭垂
-                                        null,    // 浠樻鏃堕棿
-                                        null,    // 鍙戣揣鏃堕棿
-                                        null,    // 鐗╂祦鍚嶇О
-                                        null,    // 鐗╂祦鍗曞彿
-                                        1L,    // 璁㈠崟鐘舵��
-                                        1,    // 鐘舵��
-                                        9999L,    // 娣诲姞浜哄憳
-                                        now,    // 娣诲姞鏃堕棿
-                                        9999L,    // 淇敼浜哄憳
-                                        now,    // 淇敼鏃堕棿
-                                        null    // 澶囨敞
-                                );
-                                String InAndOut = erpDetTb.getAddId2().equals(2) ? "锛堝嚭搴擄級" : "锛堝叆搴擄級";
-                                DocType docType = docTypeService.selectOrAdd("ERP璁㈠崟"+InAndOut, erpDetTb.getAddId2().equals(1));
-                                if (!Cools.isEmpty(docType)) {
-                                    order.setDocType(docType.getDocId());
-                                    if (!orderService.insert(order)) {
-                                        callApiLogSave(erpDetTb, "ERP_DETTB", "璁㈠崟涓绘。娣诲姞澶辫触锛侊紒", false);
-                                        continue;
-                                    } else {
-                                        callApiLogSave(erpDetTb, "ERP_DETTB", "璁㈠崟涓绘。娣诲姞鎴愬姛锛侊紒", true);
-                                    }
-                                }
-                            }
-                            Order order1 = orderService.selectByNo(erpDetTb.getBillNo()+"---"+erpDetTb.getItm());
-                            if (!Cools.isEmpty(order1)) {
-//                                OrderDetl orderDetl = orderDetlService.selectItem(order1.getId(), erpDetTb.getBillNo(), erpDetTb.getPrdMark());
-                                OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no",erpDetTb.getBillNo()+"---"+erpDetTb.getItm()).eq("matnr",erpDetTb.getPrdNo()));
-                                if (Cools.isEmpty(orderDetl)) {
-                                    orderDetl = new OrderDetl();
-                                    orderDetl.setOrderId(order1.getId());
-                                    orderDetl.setOrderNo(erpDetTb.getBillNo()+"---"+erpDetTb.getItm());
-                                    orderDetl.setAnfme(erpDetTb.getQty());
-                                    orderDetl.setQty(0.0D);
-                                    orderDetl.setMatnr(erpDetTb.getPrdNo());
-                                    orderDetl.setMaktx(mat.getMaktx());
-                                    orderDetl.setBatch(erpDetTb.getPrdMark());
-                                    orderDetl.setSpecs(mat.getSpecs());
-                                    orderDetl.setUnit(mat.getUnit());
-                                    orderDetl.setOrigin(erpDetTb.getItm().toString());
-
-                                    orderDetl.setStatus(1);
-                                    orderDetl.setCreateBy(9999L);
-                                    orderDetl.setCreateTime(now);
-                                    orderDetl.setUpdateBy(9999L);
-                                    orderDetl.setUpdateTime(now);
-                                    orderDetl.setMemo(erpDetTb.getWh());
-                                    if (orderDetlService.insert(orderDetl)) {
-                                        erpSqlServer.update(sqlUpDateErpDetTbOne + "'" + erpDetTb.getPrdNo() + "'");
-                                        callApiLogSave(erpDetTb, "ERP_DETTB", "鎺ユ敹ERP涓嬪彂璁㈠崟鎺ユ敹鎴愬姛锛侊紒", true);
-                                    } else {
-                                        if (Cools.isEmpty(erpDetTb.getTemp2())){
-                                            erpSqlServer.update(sqlUpDateErpDetTbTwo + ",temp2='娣诲姞璁㈠崟鏄庣粏妗eけ璐ワ紒锛侊紒'" + "where 1=1 "
-                                                    +" and PRD_NO=" + "'" + erpDetTb.getPrdNo() + "'"
-                                                    +" and ITM=" + "'" + erpDetTb.getItm() + "'"
-                                                    +" and BIL_NO=" + "'" + erpDetTb.getBillNo() + "'");
-                                            callApiLogSave(erpDetTb, "ERP_DETTB", "ERP涓嬪彂璁㈠崟鎺ユ敹澶辫触锛侊紒", false);
-                                        }
-                                    }
-                                }else if (!erpDetTb.getItm().toString().equals(orderDetl.getOrigin())){
-                                    orderDetl.setAnfme(orderDetl.getAnfme()+erpDetTb.getQty());
-                                    EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
-                                    wrapper.eq("id", orderDetl.getId());
-                                    if (orderDetlService.update(orderDetl,wrapper)) {
-                                        erpSqlServer.update(sqlUpDateErpDetTbOne + "'" + erpDetTb.getPrdNo() + "'");
-                                        callApiLogSave(erpDetTb, "ERP_DETTB", "鎺ユ敹ERP涓嬪彂璁㈠崟鎺ユ敹鎴愬姛锛侊紒", true);
-                                    } else {
-                                        if (Cools.isEmpty(erpDetTb.getTemp2())){
-                                            erpSqlServer.update(sqlUpDateErpDetTbTwo + ",temp2='鏇存柊璁㈠崟鏄庣粏妗eけ璐ワ紒锛侊紒'" + "where 1=1 "
-                                                    +" and PRD_NO=" + "'" + erpDetTb.getPrdNo() + "'"
-                                                    +" and ITM=" + "'" + erpDetTb.getItm() + "'"
-                                                    +" and BIL_NO=" + "'" + erpDetTb.getBillNo() + "'");
-                                            callApiLogSave(erpDetTb, "ERP_DETTB", "ERP涓嬪彂璁㈠崟鎺ユ敹澶辫触锛侊紒", false);
-                                        }
-                                    }
-                                }else {
-                                    if (Cools.isEmpty(erpDetTb.getTemp3())){
-                                        erpSqlServer.update(sqlUpDateErpDetTbTwo + ",temp3='鏇存柊璁㈠崟鏄庣粏妗eけ璐ワ紒锛侊紒璁㈠崟鏄庣粏宸插瓨鍦紒锛�'" + "where 1=1 "
-                                                +" and PRD_NO=" + "'" + erpDetTb.getPrdNo() + "'"
-                                                +" and ITM=" + "'" + erpDetTb.getItm() + "'"
-                                                +" and BIL_NO=" + "'" + erpDetTb.getBillNo() + "'");
-                                        callApiLogSave(erpDetTb, "ERP_DETTB", "ERP涓嬪彂璁㈠崟鎺ユ敹澶辫触锛侊紒", false);
-                                    }
-                                }
-                            }
-                        }
-                    } else if (status == 1) {
-                        String format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(now);
-                        HashMap<String, Object> condition = new HashMap<>();
-                        condition.put("BIL_NO", "'" + erpDetTb.getBillNo() + "'");
-                        condition.put("PRD_NO", "'" + erpDetTb.getPrdNo() + "'");
-                        condition.put("ITM", "'" + erpDetTb.getItm() + "'");
-                        condition.put("ADD_ID", "'" + erpDetTb.getAddId2() + "'");
-                        condition.put("QTY", "'" + erpDetTb.getQty() + "'");
-                        condition.put("PRD_MARK", "'" + erpDetTb.getPrdMark() + "'");
-                        condition.put("WH", "'" + erpDetTb.getWh() + "'");
-                        condition.put("BIL_DATE", "'" + format + "'");
-                        condition.put("STATUS", "'" + erpDetTb.getStatus() + "'");
-                        condition.put("Temp1", "'" + erpDetTb.getTemp1() + "'");
-                        condition.put("Temp2", "'" + erpDetTb.getTemp2() + "'");
-                        condition.put("Temp3", "'" + erpDetTb.getTemp3() + "'");
-                        erpSqlServer.insert(ErpDetTbBak.class, condition);
-
-//                        callApiLogSave(erpDetTb, "ERP_DETTB_BAK", "ERP涓嬪彂璁㈠崟澶囦唤鎴愬姛锛侊紒", true);
-
-                        HashMap<String, String> condition2 = new HashMap<>();
-                        condition2.put("BIL_NO", "'" + erpDetTb.getBillNo() + "'");
-                        condition2.put("PRD_NO", "'" + erpDetTb.getPrdNo() + "'");
-                        condition2.put("ITM", "'" + erpDetTb.getItm() + "'");
-//                        condition2.put("PRD_MARK", "'" + erpDetTb.getPrdMark() + "'");
-                        erpSqlServer.delete(ErpDetTb.class, condition2);
-
-//                        callApiLogSave(erpDetTb, "ERP_DETTB", "ERP涓嬪彂璁㈠崟澶囦唤鍚庡垹闄ゆ垚鍔燂紒锛�", true);
-
-                    } else {
-                        if (Cools.isEmpty(erpDetTb.getTemp1()) && Cools.isEmpty(erpDetTb.getTemp2()) && Cools.isEmpty(erpDetTb.getTemp3())){
-                            erpSqlServer.update(sqlUpDateErpDetTbTwo + ",Temp1='鎺ユ敹ERP涓嬪彂璁㈠崟澶辫触锛侊紒锛佺姸鎬佸紓甯革紒锛侊紒璇稥RP銆佺珛搴撳弻鏂瑰崗鍔╄В鍐炽��'" + "where 1=1 "
-                                    +" and PRD_NO=" + "'" + erpDetTb.getPrdNo() + "'"
-                                    +" and ITM=" + "'" + erpDetTb.getItm() + "'"
-                                    +" and BIL_NO=" + "'" + erpDetTb.getBillNo() + "'");
-                            callApiLogSave(erpDetTb, "ERP_DETTB", "鎺ユ敹ERP涓嬪彂璁㈠崟澶辫触锛侊紒锛佺姸鎬佸紓甯革紒锛侊紒", false);
-                        }
-                    }
-                }
-            }
-        } catch (Exception e) {
-            Date date = new Date();
-            log.error(date + ": 琛ㄥ悕锛欵RP_DETTB :" + e);
-        }
-    }
-
-    public void callApiLogSave(ErpDetTb erpDetTb, String tableName, String response, Boolean bool) {
-        apiLogService.save("ERP涓嬪彂璁㈠崟淇℃伅", tableName, "null", ip,
-                "璁㈠崟鍙凤細" + erpDetTb.getBillNo() + "銆佸搧鍙凤細" + erpDetTb.getPrdNo() + "銆佽揣鍝佺壒寰侊細" + erpDetTb.getPrdMark() + "銆佺姸鎬侊細" + erpDetTb.getStatus$(),
-                response, bool);
-    }
-}
diff --git a/src/main/java/com/zy/ints/task/scheduler/ErpLkScheduler.java b/src/main/java/com/zy/ints/task/scheduler/ErpLkScheduler.java
deleted file mode 100644
index e5e7c3f..0000000
--- a/src/main/java/com/zy/ints/task/scheduler/ErpLkScheduler.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package com.zy.ints.task.scheduler;
-
-import com.baomidou.mybatisplus.plugins.Page;
-import com.zy.asrs.entity.LocDetl;
-import com.zy.asrs.service.ApiLogService;
-import com.zy.asrs.service.LocDetlService;
-import com.zy.common.web.BaseController;
-import com.zy.ints.entity.ErpLk;
-import com.zy.ints.entity.ErpLkBak;
-import com.zy.ints.erp.ErpSqlServer;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-
-/**
- * erp浠诲姟鎺у埗鍣�
- * Created by vincent on 2020/11/27
- */
-@Slf4j
-@Component
-public class ErpLkScheduler extends BaseController {
-    /**
-     * ERP鎺ュ彛鏄惁鍚敤
-     */
-    @Value("${erp.enabled}")
-    private Boolean erpEnabled;
-    @Value("${erp.useName.ip}")
-    private String ip;
-    @Autowired
-    private ApiLogService apiLogService;
-    @Autowired
-    private ErpSqlServer erpSqlServer;
-    @Autowired
-    private LocDetlService locDetlService;
-
-    /**
-     * ERP涓巐k搴撳瓨鏁版嵁姣斿
-     */
-    @Scheduled(cron = "${erp.refreshtime}")
-    public void proofread() {
-        if (!erpEnabled) return;
-        String sqlSelectErpLk = "select prd_no as prdNo,prd_mark as prdMark,qty,wh,status,temp1,temp2,temp3 from bas_erp_lk where 1=1";
-        String sqlSelectErpLkBak = "select prd_no as prdNo,prd_mark as prdMark,qty,wh,status,temp1,temp2,temp3 from bas_erp_lk_bak where 1=1";
-        String sqlUpDateErpLkOne = "update bas_erp_lk set status=1 where prd_no=";
-        String sqlUpDateErpLkTwo = "update bas_erp_lk set status=2 where prd_no=";
-        String sqlUpDateErpLkBak = "update bas_erp_lk_bak set qty=";
-
-        try {
-            List<ErpLk> erpLks = erpSqlServer.select(sqlSelectErpLk, ErpLk.class);
-            if (erpLks.size() > 0) {
-                for (ErpLk erpLk : erpLks) {
-                    Integer status = erpLk.getStatus();
-                    if (status == 0) {
-                        HashMap<String, Object> param = new HashMap<>();
-                        param.put("curr", 1);
-                        param.put("limit", 20);
-                        param.put("matnr", erpLk.getPrdNo());
-                        param.put("batch", erpLk.getPrdMark());
-                        Page<LocDetl> stockStatis = locDetlService.getStockStatis(toPage(1, 10, param, LocDetl.class));
-                        if (stockStatis.getRecords().size() == 1) {
-                            for (LocDetl locDetl : stockStatis.getRecords()) {
-                                if (locDetl.getAnfme() - erpLk.getQty() == 0) {
-                                    erpSqlServer.update(sqlUpDateErpLkOne + "'" + erpLk.getPrdNo() + "' and prd_mark='" + erpLk.getPrdMark() + "'");
-                                    callApiLogSave(erpLk, "bas_erp_lk", "搴撳瓨瀵规瘮鏁伴噺鐩稿悓锛侊紒锛佹�婚噺涓猴細" + erpLk.getQty(), true);
-                                } else {
-                                    erpSqlServer.update(sqlUpDateErpLkTwo + "'" + erpLk.getPrdNo() + "' and prd_mark='" + erpLk.getPrdMark() + "'");
-                                    callApiLogSave(erpLk, "bas_erp_lk", "搴撳瓨瀵规瘮鏁伴噺涓嶅悓锛侊紒锛佺珛搴撴�婚噺涓猴細" + locDetl.getAnfme() + "銆丒RP鎬婚噺涓猴細" + erpLk.getQty(), false);
-                                }
-                            }
-                        } else {
-                            callApiLogSave(erpLk, "bas_erp_lk", "绔嬪簱搴撳瓨寮傚父锛侊紒锛佺浉鍚屽搧鍙枫�佽揣鍝佺壒寰佺殑璐х墿閲嶅锛侊紒锛�", false);
-                        }
-                    } else if (status == 1) {
-                        List<ErpLkBak> erpLkBaks = erpSqlServer.select(sqlSelectErpLkBak + " and prd_no='" + erpLk.getPrdNo() + "' and prd_mark='" + erpLk.getPrdMark() + "'", ErpLkBak.class);
-                        if (erpLkBaks.size() == 1) {
-                            erpSqlServer.update(sqlUpDateErpLkBak + "'" + erpLk.getQty() + "' where 1=1  " +
-                                    "and prd_no='" + erpLk.getPrdNo() + "'" +
-                                    "and prd_mark='" + erpLk.getPrdMark() + "'"
-                            );
-                        } else if (erpLkBaks.size() == 0) {
-                            HashMap<String, Object> condition = new HashMap<>();
-                            condition.put("prd_no", "'" + erpLk.getPrdNo() + "'");
-                            condition.put("prd_mark", "'" + erpLk.getPrdMark() + "'");
-                            condition.put("qty", "'" + erpLk.getQty() + "'");
-                            condition.put("wh", "'" + erpLk.getWh() + "'");
-                            condition.put("status", "'" + erpLk.getStatus() + "'");
-                            condition.put("temp1", "'" + erpLk.getTemp1() + "'");
-                            condition.put("temp2", "'" + erpLk.getTemp2() + "'");
-                            condition.put("temp3", "'" + erpLk.getTemp3() + "'");
-                            erpSqlServer.insert(ErpLkBak.class, condition);
-                        } else {
-                            callApiLogSave(erpLk, "bas_erp_lk", "搴撳瓨瀵规瘮璁板綍澶囦唤瀛樺湪寮傚父锛侊紒锛�", false);
-                        }
-//                        callApiLogSave(erpLk, "bas_erp_lk", "搴撳瓨瀵规瘮璁板綍澶囦唤鎴愬姛锛侊紒锛佹�婚噺涓猴細" + erpLk.getQty(), true);
-
-                        HashMap<String, String> condition2 = new HashMap<>();
-                        condition2.put("prd_no", "'" + erpLk.getPrdNo() + "'");
-                        condition2.put("prd_mark", "'" + erpLk.getPrdMark() + "'");
-                        erpSqlServer.delete(ErpLk.class, condition2);
-//                        callApiLogSave(erpLk, "bas_erp_lk", "搴撳瓨瀵规瘮璁板綍澶囦唤鍚庡垹闄ゆ垚鍔燂紒锛侊紒鎬婚噺涓猴細" + erpLk.getQty(), true);
-
-                    } else {
-                        callApiLogSave(erpLk, "bas_erp_lk", "搴撳瓨瀵规瘮瀛樺湪寮傚父鏁版嵁鏈鐞嗭紒锛侊紒", false);
-                    }
-                }
-            }
-        } catch (Exception e) {
-            Date date = new Date();
-            log.error(date + ": 琛ㄥ悕锛歜as_erp_lk :" + e);
-        }
-    }
-
-    public void callApiLogSave(ErpLk erpLk, String tableName, String response, Boolean bool) {
-        apiLogService.save("ERP涓巐k搴撳瓨鏁版嵁姣斿", tableName, "null", ip,
-                "鍝佸彿锛�" + erpLk.getPrdNo() + "銆佽揣鍝佺壒寰侊細" + erpLk.getPrdMark() + "銆佹暟閲忥細" + erpLk.getQty() + "銆佺姸鎬侊細" + erpLk.getStatus$(),
-                response, bool);
-    }
-}
diff --git a/src/main/java/com/zy/ints/task/scheduler/ErpPrdtScheduler.java b/src/main/java/com/zy/ints/task/scheduler/ErpPrdtScheduler.java
deleted file mode 100644
index 7992a73..0000000
--- a/src/main/java/com/zy/ints/task/scheduler/ErpPrdtScheduler.java
+++ /dev/null
@@ -1,169 +0,0 @@
-package com.zy.ints.task.scheduler;
-
-import com.core.common.Cools;
-import com.zy.asrs.entity.Mat;
-import com.zy.asrs.entity.Tag;
-import com.zy.asrs.service.ApiLogService;
-import com.zy.asrs.service.MatService;
-import com.zy.asrs.service.TagService;
-import com.zy.ints.entity.Prdt;
-import com.zy.ints.entity.PrdtBak;
-import com.zy.ints.erp.ErpSqlServer;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-
-/**
- * erp浠诲姟鎺у埗鍣�
- * Created by vincent on 2020/11/27
- */
-@Slf4j
-@Component
-public class ErpPrdtScheduler {
-
-    /**
-     * ERP鎺ュ彛鏄惁鍚敤
-     */
-    @Value("${erp.enabled}")
-    private Boolean erpEnabled;
-    @Value("${erp.useName.ip}")
-    private String ip;
-    @Value("${erp.enabledErpPrdt}")
-    private Boolean enabledErpPrdt;
-    @Autowired
-    private ApiLogService apiLogService;
-    @Autowired
-    private TagService tagService;
-    @Autowired
-    private ErpSqlServer erpSqlServer;
-    @Autowired
-    private MatService matService;
-
-    /**
-     * 鑾峰彇鍟嗗搧淇℃伅琛ㄨ祫鏂�
-     */
-    @Scheduled(cron = "${erp.refreshtime}")
-    public void obtainPedt() {
-        if (!enabledErpPrdt) return;
-        String sqlSelectPrdt = "select prd_no as prdNo,name,ut,spc,status,type,temp1,temp2,temp3 from ERP_PRDT where 1=1 and temp1 is null";
-        String sqlUpDatePrdtOne = "update ERP_PRDT set status=1 where prd_no=";
-        String sqlUpDatePrdtTwo = "update ERP_PRDT set status=2 ";
-        try {
-            Tag tag = tagService.selectByName("鍏ㄩ儴", 1);
-
-            List<Prdt> prdts = erpSqlServer.select(sqlSelectPrdt, Prdt.class);
-            if (prdts.size() > 0) {
-                for (Prdt prdt : prdts) {
-                    Date date = new Date();
-                    if (prdt.getStatus() == 0) {
-                        Integer type = prdt.getType();
-                        if (type == 1) {
-                            Mat mat = matService.selectByMatnr(prdt.getPrdNo());
-                            if (Cools.isEmpty(mat)) {
-                                Mat matNew = new Mat();
-                                matNew.setTagId(tag.getId());
-                                matNew.setMatnr(prdt.getPrdNo());
-                                matNew.setMaktx(prdt.getName());
-                                matNew.setUnit(prdt.getUt());
-                                matNew.setSpecs(prdt.getSpc());
-                                matNew.setCreateBy(9999L);//9999琛ㄧずerp涓嬪彂
-                                matNew.setCreateTime(date);
-                                matNew.setUpdateBy(9999L);//9999琛ㄧずerp涓嬪彂
-                                matNew.setUpdateTime(date);
-                                if (matService.insert(matNew)) {
-                                    erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'");
-                                    callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佹坊鍔犲晢鍝佷俊鎭垚鍔燂紒", true);
-                                } else {
-                                    if (Cools.isEmpty(prdt.getTemp1())){
-                                        erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='娣诲姞ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佺姸鎬佸紓甯革紒锛侊紒'"
-                                                + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'");
-                                        callApiLogSave(prdt, "ERP_PRDT", "娣诲姞ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佺姸鎬佸紓甯革紒锛侊紒", false);
-                                    }
-                                }
-                            } else {
-                                if (Cools.isEmpty(prdt.getTemp1())){
-                                    erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佸晢鍝佸凡瀛樺湪锛侊紒锛�'"
-                                            + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'");
-                                    callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佸晢鍝佸凡瀛樺湪锛侊紒锛�", false);
-                                }
-                            }
-                        } else if (type == 2) {
-                            Mat mat = matService.selectByMatnr(prdt.getPrdNo());
-                            if (!Cools.isEmpty(mat)) {
-                                mat.setMaktx(prdt.getName());
-                                mat.setUnit(prdt.getUt());
-                                mat.setSpecs(prdt.getSpc());
-                                if (matService.updateById(mat)) {
-                                    erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'");
-                                    callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佷慨鏀瑰晢鍝佷俊鎭垚鍔燂紒", true);
-                                } else {
-                                    if (Cools.isEmpty(prdt.getTemp1())){
-                                        erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佷慨鏀瑰晢鍝佷俊鎭け璐ワ紒锛侊紒'"
-                                                + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'");
-                                        callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佷慨鏀瑰晢鍝佷俊鎭け璐ワ紒锛侊紒", false);
-                                    }
-                                }
-                            }
-                        } else if (type == 3) {
-                            Mat mat = matService.selectByMatnr(prdt.getPrdNo());
-                            if (!Cools.isEmpty(mat)) {
-                                if (matService.deleteById(mat.getId())) {
-                                    erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'");
-                                    callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佸垹闄ゅ晢鍝佷俊鎭垚鍔燂紒", true);
-                                } else {
-                                    if (Cools.isEmpty(prdt.getTemp1())){
-                                        erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佸垹闄ゅ晢鍝佷俊鎭け璐ワ紒'"
-                                                + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'");
-                                        callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佸垹闄ゅ晢鍝佷俊鎭け璐ワ紒", false);
-                                    }
-                                }
-                            }
-                        } else {
-                            if (Cools.isEmpty(prdt.getTemp1()) && Cools.isEmpty(prdt.getTemp2()) && Cools.isEmpty(prdt.getTemp3())){
-                                erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛乼ype鐘舵�佸紓甯革紒锛侊紒'"
-                                        + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'");
-                                callApiLogSave(prdt, "ERP_PRDT", "鍟嗗搧淇℃伅鍑虹幇寮傚父璧勬枡鏈鐞嗭紒", false);
-                            }
-                        }
-                    } else if (prdt.getStatus() == 1) {
-                        HashMap<String, Object> condition = new HashMap<>();
-                        condition.put("prd_no", "'" + prdt.getPrdNo() + "'");
-                        condition.put("name", "'" + prdt.getName() + "'");
-                        condition.put("ut", "'" + prdt.getUt() + "'");
-                        condition.put("spc", "'" + prdt.getSpc() + "'");
-                        condition.put("type", "'" + prdt.getType() + "'");
-                        condition.put("status", "'" + prdt.getStatus() + "'");
-                        erpSqlServer.insert(PrdtBak.class, condition);
-//                        callApiLogSave(prdt, "erp_prdt_bak", "ERP涓嬪彂鍟嗗搧淇℃伅澶囦唤鎴愬姛锛�", true);
-
-                        HashMap<String, String> condition2 = new HashMap<>();
-                        condition2.put("prd_no", "'" + prdt.getPrdNo() + "'");
-                        erpSqlServer.delete(Prdt.class, condition2);
-//                        callApiLogSave(prdt, "erp_prdt", "ERP涓嬪彂鍟嗗搧淇℃伅澶囦唤鍚庡垹闄ゆ垚鍔燂紒", true);
-                    } else {
-                        if (Cools.isEmpty(prdt.getTemp1()) && Cools.isEmpty(prdt.getTemp2()) && Cools.isEmpty(prdt.getTemp3())){
-                            erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛乻tatus鐘舵�佸紓甯革紒锛侊紒'"
-                                    + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'");
-                            callApiLogSave(prdt, "ERP_PRDT", "鍟嗗搧淇℃伅鍑虹幇寮傚父璧勬枡鏈鐞嗭紒", false);
-                        }
-                    }
-                }
-            }
-        } catch (Exception e) {
-            Date date = new Date();
-            log.error(date + ": 琛ㄥ悕锛欵RP_PRDT :" + e);
-        }
-    }
-
-    public void callApiLogSave(Prdt prdt, String tableName, String response, Boolean bool) {
-        apiLogService.save("ERP涓嬪彂鍟嗗搧淇℃伅", tableName, "null", ip,
-                "鍝佸彿锛�" + prdt.getPrdNo() + "銆佸搧鍚嶏細" + prdt.getName() + "銆佺被鍨嬶細" + prdt.getType() + "銆佺姸鎬侊細" + prdt.getStatus$(),
-                response, bool);
-    }
-}
diff --git a/src/main/java/com/zy/ints/task/scheduler/ErpPrdtSchedulerNew.java b/src/main/java/com/zy/ints/task/scheduler/ErpPrdtSchedulerNew.java
deleted file mode 100644
index a35671f..0000000
--- a/src/main/java/com/zy/ints/task/scheduler/ErpPrdtSchedulerNew.java
+++ /dev/null
@@ -1,177 +0,0 @@
-package com.zy.ints.task.scheduler;
-
-import com.core.common.Cools;
-import com.zy.asrs.entity.Mat;
-import com.zy.asrs.entity.Tag;
-import com.zy.asrs.service.ApiLogService;
-import com.zy.asrs.service.MatService;
-import com.zy.asrs.service.TagService;
-import com.zy.ints.entity.Prdt;
-import com.zy.ints.entity.PrdtBak;
-import com.zy.ints.erp.ErpSqlServer;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-
-/**
- * erp浠诲姟鎺у埗鍣�
- * Created by vincent on 2020/11/27
- */
-@Slf4j
-@Component
-public class ErpPrdtSchedulerNew {
-
-    /**
-     * ERP鎺ュ彛鏄惁鍚敤
-     */
-    @Value("${erp.enabled}")
-    private Boolean erpEnabled;
-    @Value("${erp.enabledNew}")
-    private Boolean erpEnabledNew;
-    @Value("${erp.useName.ip}")
-    private String ip;
-    @Autowired
-    private ApiLogService apiLogService;
-    @Autowired
-    private TagService tagService;
-    @Autowired
-    private ErpSqlServer erpSqlServer;
-    @Autowired
-    private MatService matService;
-
-    /**
-     * 鑾峰彇鍟嗗搧淇℃伅琛ㄨ祫鏂�   骞村墠
-     */
-    @Scheduled(cron = "${erp.refreshtime}")
-    public void obtainPedt() {
-        if (!erpEnabledNew) return;
-        String sqlSelectPrdt = "select PRD_NO as prdNo,NAME as name,UT as ut,SPC as spc from PRDT where 1=1";
-        String sqlUpDatePrdtOne = "update PRDT set STATUS=1 where PRD_NO=";
-        String sqlUpDatePrdtTwo = "update PRDT set STATUS=2 where PRD_NO=";
-        try {
-            Tag tag = tagService.selectByName("鍏ㄩ儴", 1);
-
-            List<Prdt> prdts = erpSqlServer.select(sqlSelectPrdt, Prdt.class);
-            Date date = new Date();
-            if (prdts.size() > 0) {
-                for (Prdt prdt : prdts) {
-                    Mat mat = matService.selectByMatnr(prdt.getPrdNo());
-                    if (Cools.isEmpty(mat)) {
-                        Mat matNew = new Mat();
-                        matNew.setTagId(tag.getId());
-                        matNew.setMatnr(prdt.getPrdNo());
-                        matNew.setMaktx(prdt.getName());
-                        matNew.setUnit(prdt.getUt());
-                        matNew.setSpecs(prdt.getSpc());
-                        matNew.setCreateBy(9999L);//9999琛ㄧずerp涓嬪彂
-                        matNew.setCreateTime(date);
-                        matNew.setUpdateBy(9999L);//9999琛ㄧずerp涓嬪彂
-                        matNew.setUpdateTime(date);
-                        if (matService.insert(matNew)) {
-//                            erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'");
-                            callApiLogSave(prdt, "PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佹坊鍔犲晢鍝佷俊鎭垚鍔燂紒", true);
-                        } else {
-//                            erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'");
-                            callApiLogSave(prdt, "PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佹坊鍔犲晢鍝佷俊鎭け璐ワ紒锛侊紒", false);
-                        }
-                    } else {
-//                        erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'");
-                        callApiLogSave(prdt, "PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佸晢鍝佸凡瀛樺湪锛侊紒锛�", false);
-                    }
-                }
-            }
-            /*if (prdts.size() > 0) {
-                for (Prdt prdt : prdts) {
-                    Date date = new Date();
-                    if (prdt.getStatus() == 0) {
-                        Integer type = prdt.getType();
-                        if (type == 1) {
-                            Mat mat = matService.selectByMatnr(prdt.getPrdNo());
-                            if (Cools.isEmpty(mat)) {
-                                Mat matNew = new Mat();
-                                matNew.setTagId(tag.getId());
-                                matNew.setMatnr(prdt.getPrdNo());
-                                matNew.setMaktx(prdt.getName());
-                                matNew.setUnit(prdt.getUt());
-                                matNew.setSpecs(prdt.getSpc());
-                                matNew.setCreateBy(9999L);//9999琛ㄧずerp涓嬪彂
-                                matNew.setCreateTime(date);
-                                matNew.setUpdateBy(9999L);//9999琛ㄧずerp涓嬪彂
-                                matNew.setUpdateTime(date);
-                                if (matService.insert(matNew)) {
-                                    erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'");
-                                    callApiLogSave(prdt, "PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佹坊鍔犲晢鍝佷俊鎭垚鍔燂紒", true);
-                                } else {
-                                    erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'");
-                                    callApiLogSave(prdt, "PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佹坊鍔犲晢鍝佷俊鎭け璐ワ紒锛侊紒", false);
-                                }
-                            } else {
-                                erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'");
-                                callApiLogSave(prdt, "PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佸晢鍝佸凡瀛樺湪锛侊紒锛�", false);
-                            }
-                        } else if (type == 2) {
-                            Mat mat = matService.selectByMatnr(prdt.getPrdNo());
-                            if (!Cools.isEmpty(mat)) {
-                                mat.setMaktx(prdt.getName());
-                                mat.setUnit(prdt.getUt());
-                                mat.setSpecs(prdt.getSpc());
-                                if (matService.updateById(mat)) {
-                                    erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'");
-                                    callApiLogSave(prdt, "PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佷慨鏀瑰晢鍝佷俊鎭垚鍔燂紒", true);
-                                } else {
-                                    erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'");
-                                    callApiLogSave(prdt, "PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佷慨鏀瑰晢鍝佷俊鎭け璐ワ紒锛侊紒", false);
-                                }
-                            }
-                        } else if (type == 3) {
-                            Mat mat = matService.selectByMatnr(prdt.getPrdNo());
-                            if (!Cools.isEmpty(mat)) {
-                                if (matService.deleteById(mat.getId())) {
-                                    erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'");
-                                    callApiLogSave(prdt, "PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佸垹闄ゅ晢鍝佷俊鎭垚鍔燂紒", true);
-                                } else {
-                                    erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'");
-                                    callApiLogSave(prdt, "PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佸垹闄ゅ晢鍝佷俊鎭け璐ワ紒", false);
-                                }
-                            }
-                        } else {
-                            callApiLogSave(prdt, "PRDT", "鍟嗗搧淇℃伅鍑虹幇寮傚父璧勬枡鏈鐞嗭紒", false);
-                        }
-                    } else if (prdt.getStatus() == 1) {
-                        HashMap<String, Object> condition = new HashMap<>();
-                        condition.put("PRD_NO", "'" + prdt.getPrdNo() + "'");
-                        condition.put("NAME", "'" + prdt.getName() + "'");
-                        condition.put("UT", "'" + prdt.getUt() + "'");
-                        condition.put("SPC", "'" + prdt.getSpc() + "'");
-                        condition.put("TYPE", "'" + prdt.getType() + "'");
-                        condition.put("STATUS", "'" + prdt.getStatus() + "'");
-                        erpSqlServer.insert(PrdtBak.class, condition);
-//                        callApiLogSave(prdt, "erp_prdt_bak", "ERP涓嬪彂鍟嗗搧淇℃伅澶囦唤鎴愬姛锛�", true);
-
-                        HashMap<String, String> condition2 = new HashMap<>();
-                        condition2.put("prd_no", "'" + prdt.getPrdNo() + "'");
-                        erpSqlServer.delete(Prdt.class, condition2);
-//                        callApiLogSave(prdt, "erp_prdt", "ERP涓嬪彂鍟嗗搧淇℃伅澶囦唤鍚庡垹闄ゆ垚鍔燂紒", true);
-                    } else {
-                        callApiLogSave(prdt, "PRDT", "鍟嗗搧淇℃伅鍑虹幇寮傚父璧勬枡鏈鐞嗭紒", false);
-                    }
-                }*/
-//            }
-        } catch (Exception e) {
-            Date date = new Date();
-            log.error(date + ": 琛ㄥ悕锛歅RDT :" + e);
-        }
-    }
-
-    public void callApiLogSave(Prdt prdt, String tableName, String response, Boolean bool) {
-        apiLogService.save("ERP涓嬪彂鍟嗗搧淇℃伅", tableName, "null", ip,
-                "鍝佸彿锛�" + prdt.getPrdNo() + "銆佸搧鍚嶏細" + prdt.getName() + "銆佺被鍨嬶細" + prdt.getType() + "銆佺姸鎬侊細" + prdt.getStatus$(),
-                response, bool);
-    }
-}
diff --git a/src/main/java/com/zy/ints/task/scheduler/LkDetTbScheduler.java b/src/main/java/com/zy/ints/task/scheduler/LkDetTbScheduler.java
deleted file mode 100644
index 67eccbf..0000000
--- a/src/main/java/com/zy/ints/task/scheduler/LkDetTbScheduler.java
+++ /dev/null
@@ -1,164 +0,0 @@
-package com.zy.ints.task.scheduler;
-
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.core.common.Cools;
-import com.zy.asrs.entity.DocType;
-import com.zy.asrs.entity.Order;
-import com.zy.asrs.entity.OrderDetl;
-import com.zy.asrs.service.ApiLogService;
-import com.zy.asrs.service.DocTypeService;
-import com.zy.asrs.service.OrderDetlService;
-import com.zy.asrs.service.OrderService;
-import com.zy.ints.entity.LkDetTb;
-import com.zy.ints.entity.LkDetTbBak;
-import com.zy.ints.erp.ErpSqlServer;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-
-/**
- * erp浠诲姟鎺у埗鍣�
- * Created by vincent on 2020/11/27
- */
-@Slf4j
-@Component
-public class LkDetTbScheduler {
-    /**
-     * ERP鎺ュ彛鏄惁鍚敤
-     */
-    @Value("${erp.enabled}")
-    private Boolean erpEnabled;
-    @Value("${erp.useName.ip}")
-    private String ip;
-    @Autowired
-    private ApiLogService apiLogService;
-    @Autowired
-    private ErpSqlServer erpSqlServer;
-    @Autowired
-    private OrderService orderService;
-    @Autowired
-    private OrderDetlService orderDetlService;
-    @Autowired
-    private DocTypeService docTypeService;
-
-    /**
-     * 涓婃姤鍏ュ嚭搴撳畬缁撹鍗曚俊鎭�
-     */
-    @Scheduled(cron = "${erp.refreshtime}")
-    public void reportOrder() {
-        if (!erpEnabled) return;
-        String sqlSelectLkDetTb = "select bill_no as billNo,prd_no as prdNo,iokindid,add_id as addId,qty,prd_mark as prdMark,wh,billdate,status,temp1,temp2,temp3 from lk_det_tb where 1=1";
-        String sqlSelectLkDetTbBak = "select bill_no as billNo,prd_no as prdNo,iokindid,add_id as addId,qty,prd_mark as prdMark,wh,billdate,status,temp1,temp2,temp3 from lk_det_tb_bak where 1=1";
-
-        try {
-            List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 4L));
-            if (orders.size() > 0) {
-                for (Order order : orders) {
-
-                    List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
-                    if (!Cools.isEmpty(orderDetls)) {
-                        for (OrderDetl orderDetl : orderDetls) {
-                            String orderNo = orderDetl.getOrderNo().split("---")[0];
-                            Integer itm = Integer.getInteger(orderDetl.getOrderNo().split("---")[1]);
-                            Date now = new Date();
-                            List<LkDetTb> lkDetTbs = erpSqlServer.select(sqlSelectLkDetTb +
-                                            " and bill_no='" + orderNo + "'" +
-                                            " and prd_no='" + orderDetl.getMatnr() + "'" +
-                                            " and ITM='" + itm + "'" +
-                                            " and prd_mark='" + orderDetl.getBatch() + "'"
-                                    , LkDetTb.class);
-                            List<LkDetTbBak> lkDetTbBaks = erpSqlServer.select(sqlSelectLkDetTbBak +
-                                            " and bill_no='" + orderNo + "'" +
-                                            " and prd_no='" + orderDetl.getMatnr() + "'" +
-                                            " and ITM='" + itm + "'" +
-                                            " and prd_mark='" + orderDetl.getBatch() + "'"
-                                    , LkDetTbBak.class);
-                            if (lkDetTbs.size() == 1) {
-                                callApiLogSaveLkDetTb(lkDetTbs.get(0), "erp_det_tb", "宸茬粡涓婃姤浣嗘槸鏄庣粏渚濇棫瀛樺湪锛岃鑱旂郴寮�鍙戜汉鍛橈紒锛侊紒", false);
-                                continue;
-                            } else if (lkDetTbBaks.size() == 1) {
-                                callApiLogSaveLkDetTbBak(lkDetTbBaks.get(0), "erp_det_tb_bak", "宸茬粡涓婃姤浣嗘槸鏄庣粏渚濇棫瀛樺湪锛岃鑱旂郴寮�鍙戜汉鍛橈紒锛侊紒", false);
-                                continue;
-                            } else if (lkDetTbs.size() > 1) {
-                                callApiLogSaveLkDetTb(lkDetTbs.get(0), "erp_det_tb", "瀛樺湪閲嶅璧勬枡锛岃仈绯诲紑鍙戜汉鍛橈紒锛侊紒", false);
-                                continue;
-                            } else if (lkDetTbBaks.size() > 1) {
-                                callApiLogSaveLkDetTbBak(lkDetTbBaks.get(0), "erp_det_tb_bak", "瀛樺湪閲嶅璧勬枡锛岃仈绯诲紑鍙戜汉鍛橈紒锛侊紒", false);
-                                continue;
-                            } else {
-                                String format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(now);
-                                HashMap<String, Object> condition = new HashMap<>();
-                                condition.put("bill_no", "'" + orderNo + "'");
-                                condition.put("prd_no", "'" + orderDetl.getMatnr() + "'");
-                                condition.put("itm", "'" + itm + "'");
-
-                                DocType docType = docTypeService.selectById(order.getDocType());
-                                if (!Cools.isEmpty(docType)) {
-                                    int addid = docType.getPakin() == 1 ? 1 : 2;
-                                    condition.put("iokindid", "'" + docType.getDocName$() + "'");
-                                    condition.put("add_id", "'" + addid + "'");
-                                }
-
-                                condition.put("qty", "'" + orderDetl.getQty() + "'");
-                                condition.put("prd_mark", "'" + orderDetl.getBatch() + "'");
-                                condition.put("wh", "'" + orderDetl.getMemo() + "'");
-                                condition.put("billdate", "'" + format + "'");
-                                condition.put("status", "'" + 0 + "'");
-                                erpSqlServer.insert(LkDetTb.class, condition);
-                                callApiLogSaveOrderDetl(orderDetl, "瀹岀粨璁㈠崟鏄庣粏涓婃姤瀹屾垚", true);
-                            }
-                            //淇濆瓨璁㈠崟鏄庣粏鍘嗗彶妗�
-                            if (orderDetlService.addToLogTable(orderDetl)) {
-//                                callApiLogSaveOrderDetl(orderDetl, "淇濆瓨璁㈠崟鏄庣粏鍘嗗彶妗f垚鍔燂紒", true);
-                                //鍒犻櫎璁㈠崟鏄庣粏
-                                orderDetlService.deleteById(orderDetl.getId());
-                                callApiLogSaveOrderDetl(orderDetl, "璁㈠崟鏄庣粏妗d繚瀛樺悗鍒犻櫎鎴愬姛锛�", true);
-                            }
-                        }
-                        //淇濆瓨璁㈠崟鍘嗗彶妗�
-                        if (orderService.addToLogTable(order)) {
-//                            callApiLogSaveOrder(order, "瀹岀粨璁㈠崟涓婃姤瀹屾垚锛屽苟淇濆瓨璁㈠崟鍘嗗彶妗f垚鍔燂紒锛侊紒", true);
-                            //鍒犻櫎瀹岀粨璁㈠崟
-                            orderService.deleteById(order.getId());
-                            callApiLogSaveOrder(order, "瀹岀粨璁㈠崟涓婃姤瀹屾垚锛屽苟淇濆瓨璁㈠崟鍘嗗彶妗e悗鍒犻櫎瀹岀粨璁㈠崟鎴愬姛锛侊紒锛�", true);
-                        }
-                    }
-                }
-            }
-
-        } catch (Exception e) {
-            Date date = new Date();
-            log.error(date + ": 琛ㄥ悕锛歭k_det_tb :" + e);
-        }
-    }
-
-    public void callApiLogSaveLkDetTb(LkDetTb lkDetTb, String tableName, String response, Boolean bool) {
-        apiLogService.save("涓婃姤瀹岀粨璁㈠崟鏄庣粏淇℃伅", tableName, "null", ip,
-                "璁㈠崟鍙凤細" + lkDetTb.getBillNo() + "銆佸搧鍙凤細" + lkDetTb.getPrdNo() + "銆佽揣鍝佺壒寰侊細" + lkDetTb.getPrdMark() + "銆佺姸鎬侊細" + lkDetTb.getStatus$(),
-                response, bool);
-    }
-
-    public void callApiLogSaveLkDetTbBak(LkDetTbBak lkDetTbBak, String tableName, String response, Boolean bool) {
-        apiLogService.save("涓婃姤瀹岀粨璁㈠崟鏄庣粏淇℃伅", tableName, "null", ip,
-                "璁㈠崟鍙凤細" + lkDetTbBak.getBillNo() + "銆佸搧鍙凤細" + lkDetTbBak.getPrdNo() + "銆佽揣鍝佺壒寰侊細" + lkDetTbBak.getPrdMark() + "銆佺姸鎬侊細" + lkDetTbBak.getStatus$(),
-                response, bool);
-    }
-
-    public void callApiLogSaveOrderDetl(OrderDetl orderDetl, String response, Boolean bool) {
-        apiLogService.save("涓婃姤瀹岀粨璁㈠崟鏄庣粏淇℃伅", "lk_det_tb", "null", ip,
-                "璁㈠崟鍙凤細" + orderDetl.getOrderNo() + "銆佸搧鍙凤細" + orderDetl.getMatnr() + "銆佽揣鍝佺壒寰侊細" + orderDetl.getBatch(),
-                response, bool);
-    }
-
-    public void callApiLogSaveOrder(Order order, String response, Boolean bool) {
-        apiLogService.save("瀹岀粨璁㈠崟淇℃伅涓婃姤瀹屾垚", "lk_det_tb", "null", ip,
-                "璁㈠崟鍙凤細" + order.getOrderNo(), response, bool);
-    }
-}
diff --git a/src/main/java/erpMat.sql b/src/main/java/erpMat.sql
new file mode 100644
index 0000000..73ab026
--- /dev/null
+++ b/src/main/java/erpMat.sql
@@ -0,0 +1,18 @@
+-- save erpMat record
+-- mysql
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'erpMat/erpMat.html', 'erpMat绠$悊', null , '2', null , '1');
+
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'erpMat#view', '鏌ヨ', '', '3', '0', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'erpMat#btn-add', '鏂板', '', '3', '1', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'erpMat#btn-edit', '缂栬緫', '', '3', '2', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'erpMat#btn-delete', '鍒犻櫎', '', '3', '3', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'erpMat#btn-export', '瀵煎嚭', '', '3', '4', '1');
+
+-- sqlserver
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'erpMat/erpMat.html', N'erpMat绠$悊', null, '2', null, '1');
+
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'erpMat#view', N'鏌ヨ', '', '3', '0', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'erpMat#btn-add', N'鏂板', '', '3', '1', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'erpMat#btn-edit', N'缂栬緫', '', '3', '2', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'erpMat#btn-delete', N'鍒犻櫎', '', '3', '3', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'erpMat#btn-export', N'瀵煎嚭', '', '3', '4', '1');
diff --git a/src/main/java/erpOrder.sql b/src/main/java/erpOrder.sql
new file mode 100644
index 0000000..94f6de5
--- /dev/null
+++ b/src/main/java/erpOrder.sql
@@ -0,0 +1,18 @@
+-- save erpOrder record
+-- mysql
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'erpOrder/erpOrder.html', 'erpOrder绠$悊', null , '2', null , '1');
+
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'erpOrder#view', '鏌ヨ', '', '3', '0', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'erpOrder#btn-add', '鏂板', '', '3', '1', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'erpOrder#btn-edit', '缂栬緫', '', '3', '2', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'erpOrder#btn-delete', '鍒犻櫎', '', '3', '3', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'erpOrder#btn-export', '瀵煎嚭', '', '3', '4', '1');
+
+-- sqlserver
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'erpOrder/erpOrder.html', N'erpOrder绠$悊', null, '2', null, '1');
+
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'erpOrder#view', N'鏌ヨ', '', '3', '0', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'erpOrder#btn-add', N'鏂板', '', '3', '1', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'erpOrder#btn-edit', N'缂栬緫', '', '3', '2', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'erpOrder#btn-delete', N'鍒犻櫎', '', '3', '3', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'erpOrder#btn-export', N'瀵煎嚭', '', '3', '4', '1');
diff --git a/src/main/java/erpOrderDetl.sql b/src/main/java/erpOrderDetl.sql
new file mode 100644
index 0000000..b837b4f
--- /dev/null
+++ b/src/main/java/erpOrderDetl.sql
@@ -0,0 +1,18 @@
+-- save erpOrderDetl record
+-- mysql
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'erpOrderDetl/erpOrderDetl.html', 'erpOrderDetl绠$悊', null , '2', null , '1');
+
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'erpOrderDetl#view', '鏌ヨ', '', '3', '0', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'erpOrderDetl#btn-add', '鏂板', '', '3', '1', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'erpOrderDetl#btn-edit', '缂栬緫', '', '3', '2', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'erpOrderDetl#btn-delete', '鍒犻櫎', '', '3', '3', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'erpOrderDetl#btn-export', '瀵煎嚭', '', '3', '4', '1');
+
+-- sqlserver
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'erpOrderDetl/erpOrderDetl.html', N'erpOrderDetl绠$悊', null, '2', null, '1');
+
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'erpOrderDetl#view', N'鏌ヨ', '', '3', '0', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'erpOrderDetl#btn-add', N'鏂板', '', '3', '1', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'erpOrderDetl#btn-edit', N'缂栬緫', '', '3', '2', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'erpOrderDetl#btn-delete', N'鍒犻櫎', '', '3', '3', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'erpOrderDetl#btn-export', N'瀵煎嚭', '', '3', '4', '1');
diff --git a/src/main/java/mat.sql b/src/main/java/mat.sql
new file mode 100644
index 0000000..bc55617
--- /dev/null
+++ b/src/main/java/mat.sql
@@ -0,0 +1,18 @@
+-- save mat record
+-- mysql
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'mat/mat.html', 'mat绠$悊', null , '2', null , '1');
+
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'mat#view', '鏌ヨ', '', '3', '0', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'mat#btn-add', '鏂板', '', '3', '1', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'mat#btn-edit', '缂栬緫', '', '3', '2', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'mat#btn-delete', '鍒犻櫎', '', '3', '3', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'mat#btn-export', '瀵煎嚭', '', '3', '4', '1');
+
+-- sqlserver
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'mat/mat.html', N'mat绠$悊', null, '2', null, '1');
+
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'mat#view', N'鏌ヨ', '', '3', '0', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'mat#btn-add', N'鏂板', '', '3', '1', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'mat#btn-edit', N'缂栬緫', '', '3', '2', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'mat#btn-delete', N'鍒犻櫎', '', '3', '3', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'mat#btn-export', N'瀵煎嚭', '', '3', '4', '1');
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index ddec027..e3324db 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,5 +1,5 @@
 server:
-  port: 8081
+  port: 9999
   servlet:
     context-path: /@pom.build.finalName@
 
@@ -10,7 +10,7 @@
     enabled: false
   datasource:
     driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-    url: jdbc:sqlserver://localhost:1433;databasename=lfdasrs
+    url: jdbc:sqlserver://localhost:1433;databasename=lfdasrsErp
     username: sa
     password: sa@123
   mvc:
@@ -51,10 +51,10 @@
   groupCount: 4
 #ERP鎺ュ彛
 erp:
-  enabled: true
+  enabled: false
   enabledNew: false
-  enabledErpDetTb: true
-  enabledErpPrdt: true
+  enabledErpDetTb: false
+  enabledErpPrdt: false
   #  enabled: false
   #鏌ョ湅ERP涓棿琛ㄩ棿闅�
   refreshtime: 0/5 * * * * ?
diff --git a/src/main/resources/mapper/ErpMatMapper.xml b/src/main/resources/mapper/ErpMatMapper.xml
new file mode 100644
index 0000000..4583254
--- /dev/null
+++ b/src/main/resources/mapper/ErpMatMapper.xml
@@ -0,0 +1,25 @@
+<?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.ErpMatMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.ErpMat">
+        <result column="id" property="id" />
+        <result column="mat_nr " property="matNr" />
+        <result column="mak_tx" property="makTx" />
+        <result column="group_id" property="groupId" />
+        <result column="group_name" property="groupName" />
+        <result column="spec" property="spec" />
+        <result column="model" property="model" />
+        <result column="weight" property="weight" />
+        <result column="color" property="color" />
+        <result column="size" property="size" />
+        <result column="unit" property="unit" />
+        <result column="describe" property="describe" />
+        <result column="wareHouse_id" property="wareHouseId" />
+        <result column="operate_type" property="operateType" />
+        <result column="send_status" property="sendStatus" />
+
+    </resultMap>
+
+</mapper>
diff --git a/src/main/resources/mapper/ErpOrderDetlMapper.xml b/src/main/resources/mapper/ErpOrderDetlMapper.xml
new file mode 100644
index 0000000..e77d41a
--- /dev/null
+++ b/src/main/resources/mapper/ErpOrderDetlMapper.xml
@@ -0,0 +1,21 @@
+<?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.ErpOrderDetlMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.ErpOrderDetl">
+        <result column="order_id" property="orderId" />
+        <result column="line_id" property="lineId" />
+        <result column="mat_nr " property="matNr" />
+        <result column="mak_tx" property="makTx" />
+        <result column="anfme" property="anfme" />
+        <result column="spec" property="spec" />
+        <result column="model" property="model" />
+        <result column="unit" property="unit" />
+        <result column="batch" property="batch" />
+        <result column="plan_no" property="planNo" />
+        <result column="qc_status" property="qcStatus" />
+
+    </resultMap>
+
+</mapper>
diff --git a/src/main/resources/mapper/ErpOrderMapper.xml b/src/main/resources/mapper/ErpOrderMapper.xml
new file mode 100644
index 0000000..50df8be
--- /dev/null
+++ b/src/main/resources/mapper/ErpOrderMapper.xml
@@ -0,0 +1,19 @@
+<?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.ErpOrderMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.ErpOrder">
+        <id column="id" property="id" />
+        <result column="order_no" property="orderNo" />
+        <result column="order_type" property="orderType" />
+        <result column="wk_type" property="wkType" />
+        <result column="business_time" property="businessTime" />
+        <result column="create_time" property="createTime" />
+        <result column="warehouse_id" property="warehouseId" />
+        <result column="operate_type" property="operateType" />
+        <result column="send_status" property="sendStatus" />
+
+    </resultMap>
+
+</mapper>
diff --git a/src/main/webapp/static/js/erpMat/erpMat.js b/src/main/webapp/static/js/erpMat/erpMat.js
new file mode 100644
index 0000000..adec5ab
--- /dev/null
+++ b/src/main/webapp/static/js/erpMat/erpMat.js
@@ -0,0 +1,259 @@
+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: '#erpMat',
+        headers: {token: localStorage.getItem('token')},
+        url: baseUrl+'/erpMat/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: 'matNr', align: 'center',title: '鐗╂枡缂栫爜'}
+            ,{field: 'makTx', align: 'center',title: '鐗╂枡鍚嶇О'}
+            ,{field: 'groupId', align: 'center',title: '鐗╂枡鍒嗙粍缂栫爜'}
+            ,{field: 'groupName', align: 'center',title: '鐗╂枡鍒嗙粍'}
+            ,{field: 'spec', align: 'center',title: '瑙勬牸'}
+            ,{field: 'model', align: 'center',title: '鍨嬪彿'}
+            ,{field: 'weight', align: 'center',title: '閲嶉噺'}
+            ,{field: 'color', align: 'center',title: '棰滆壊'}
+            ,{field: 'size', align: 'center',title: '灏哄'}
+            ,{field: 'unit', align: 'center',title: '鍗曚綅'}
+            ,{field: 'describe', align: 'center',title: '鎻忚堪'}
+            ,{field: 'wareHouseId', align: 'center',title: '浠撳簱Id'}
+            ,{field: 'operateType', align: 'center',title: '鎿嶄綔绫诲瀷锛�1 鏂板锛堥粯璁わ級锛�2 淇敼锛�3 绂佺敤锛�4 鍚敤锛�'}
+            ,{field: 'sendStatus', align: 'center',title: '1:宸插彂閫� 0锛氬緟鍙戦��'}
+
+            ,{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(erpMat)', 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(erpMat)', 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 = {
+                        'erpMat': exportData,
+                        'fields': fields
+                    };
+                    $.ajax({
+                        url: baseUrl+"/erpMat/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(erpMat)', 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+"/erpMat/"+(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+"/erpMat/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: '.layui-laydate-range'
+                ,type: 'datetime'
+                ,range: true
+            });
+
+        }, 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/erpOrder/erpOrder.js b/src/main/webapp/static/js/erpOrder/erpOrder.js
new file mode 100644
index 0000000..fe992b2
--- /dev/null
+++ b/src/main/webapp/static/js/erpOrder/erpOrder.js
@@ -0,0 +1,253 @@
+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: '#erpOrder',
+        headers: {token: localStorage.getItem('token')},
+        url: baseUrl+'/erpOrder/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: 'orderNo', align: 'center',title: '璁㈠崟缂栫爜'}
+            ,{field: 'orderType', align: 'center',title: '璁㈠崟绫诲瀷锛�1 鍑哄簱鍗曪紱2 鍏ュ簱鍗曪紱3 璋冩嫧鍗曪紱'}
+            ,{field: 'wkType', align: 'center',title: '涓氬姟绫诲瀷'}
+            ,{field: 'businessTime', align: 'center',title: '涓氬姟鏃堕棿'}
+            ,{field: 'createTime', align: 'center',title: '鍒涘缓鏃堕棿'}
+            ,{field: 'warehouseId', align: 'center',title: '浠撳簱id'}
+            ,{field: 'operateType', align: 'center',title: '鎿嶄綔绫诲瀷锛�1 鏂板锛堥粯璁わ級锛�2 淇敼锛�3 鍙栨秷锛�4 鍏抽棴锛�'}
+            ,{field: 'sendStatus', align: 'center',title: '鍙戦�佺姸鎬�1锛氬凡鍙戦�� 0锛氬緟鍙戦��'}
+
+            ,{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(erpOrder)', 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(erpOrder)', 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 = {
+                        'erpOrder': exportData,
+                        'fields': fields
+                    };
+                    $.ajax({
+                        url: baseUrl+"/erpOrder/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(erpOrder)', 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+"/erpOrder/"+(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+"/erpOrder/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: '.layui-laydate-range'
+                ,type: 'datetime'
+                ,range: true
+            });
+
+        }, 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/erpOrderDetl/erpOrderDetl.js b/src/main/webapp/static/js/erpOrderDetl/erpOrderDetl.js
new file mode 100644
index 0000000..2bbb08e
--- /dev/null
+++ b/src/main/webapp/static/js/erpOrderDetl/erpOrderDetl.js
@@ -0,0 +1,255 @@
+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: '#erpOrderDetl',
+        headers: {token: localStorage.getItem('token')},
+        url: baseUrl+'/erpOrderDetl/list/auth',
+        page: true,
+        limit: 15,
+        limits: [15, 30, 50, 100, 200, 500],
+        toolbar: '#toolbar',
+        cellMinWidth: 50,
+        height: 'full-120',
+        cols: [[
+            {type: 'checkbox'}
+            ,{field: 'orderId', align: 'center',title: '鍗曟嵁id'}
+            ,{field: 'lineId', align: 'center',title: '琛屽唴鐮�'}
+            ,{field: 'matNr', align: 'center',title: '鐗╂枡缂栫爜'}
+            ,{field: 'makTx', align: 'center',title: '鐗╂枡鍚嶇О'}
+            ,{field: 'anfme', align: 'center',title: '鏁伴噺'}
+            ,{field: 'spec', align: 'center',title: '瑙勬牸'}
+            ,{field: 'model', align: 'center',title: '鍨嬪彿'}
+            ,{field: 'unit', align: 'center',title: '鍗曚綅'}
+            ,{field: 'batch', align: 'center',title: '鎵规鍙�'}
+            ,{field: 'planNo', align: 'center',title: '璁″垝璺熻釜鍙�'}
+            ,{field: 'qcStatus', align: 'center',title: '璐ㄦ鐘舵�侊紝1鍚堟牸0涓嶅悎鏍�3璁╂鎺ユ敹9寰呮'}
+
+            ,{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(erpOrderDetl)', 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(erpOrderDetl)', 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 = {
+                        'erpOrderDetl': exportData,
+                        'fields': fields
+                    };
+                    $.ajax({
+                        url: baseUrl+"/erpOrderDetl/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(erpOrderDetl)', 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+"/erpOrderDetl/"+(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+"/erpOrderDetl/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: '.layui-laydate-range'
+                ,type: 'datetime'
+                ,range: true
+            });
+
+        }, 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/views/erpMat/erpMat.html b/src/main/webapp/views/erpMat/erpMat.html
new file mode 100644
index 0000000..3e5894f
--- /dev/null
+++ b/src/main/webapp/views/erpMat/erpMat.html
@@ -0,0 +1,170 @@
+<!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">
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="id" 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 class="layui-inline">
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="condition" 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="erpMat" lay-filter="erpMat"></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/erpMat/erpMat.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">鐗╂枡缂栫爜: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="matNr" placeholder="璇疯緭鍏ョ墿鏂欑紪鐮�" lay-vertype="tips" lay-verify="required">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">鐗╂枡鍚嶇О: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="makTx" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" lay-vertype="tips" lay-verify="required">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鐗╂枡鍒嗙粍缂栫爜: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="groupId" placeholder="璇疯緭鍏ョ墿鏂欏垎缁勭紪鐮�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鐗╂枡鍒嗙粍: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="groupName" placeholder="璇疯緭鍏ョ墿鏂欏垎缁�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">瑙勬牸: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="spec" placeholder="璇疯緭鍏ヨ鏍�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍨嬪彿: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="model" placeholder="璇疯緭鍏ュ瀷鍙�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">閲嶉噺: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="weight" placeholder="璇疯緭鍏ラ噸閲�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">棰滆壊: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="color" placeholder="璇疯緭鍏ラ鑹�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">灏哄: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="size" placeholder="璇疯緭鍏ュ昂瀵�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍗曚綅: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="unit" placeholder="璇疯緭鍏ュ崟浣�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鎻忚堪: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="describe" placeholder="璇疯緭鍏ユ弿杩�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">浠撳簱Id: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="wareHouseId" placeholder="璇疯緭鍏ヤ粨搴揑d">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鎿嶄綔绫诲瀷锛�1 鏂板锛堥粯璁わ級锛�2 淇敼锛�3 绂佺敤锛�4 鍚敤锛�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="operateType" placeholder="璇疯緭鍏ユ搷浣滅被鍨嬶紝1 鏂板锛堥粯璁わ級锛�2 淇敼锛�3 绂佺敤锛�4 鍚敤锛�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">1:宸插彂閫� 0锛氬緟鍙戦��: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="sendStatus" placeholder="璇疯緭鍏�1:宸插彂閫� 0锛氬緟鍙戦��">
+                    </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/erpOrder/erpOrder.html b/src/main/webapp/views/erpOrder/erpOrder.html
new file mode 100644
index 0000000..afa8aaf
--- /dev/null
+++ b/src/main/webapp/views/erpOrder/erpOrder.html
@@ -0,0 +1,140 @@
+<!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">
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="id" 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 class="layui-inline">
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="condition" 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="erpOrder" lay-filter="erpOrder"></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/erpOrder/erpOrder.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="璇疯緭鍏ヨ嚜澧瀒d" lay-vertype="tips" lay-verify="required">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">璁㈠崟缂栫爜: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="orderNo" placeholder="璇疯緭鍏ヨ鍗曠紪鐮�" lay-vertype="tips" lay-verify="required">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">璁㈠崟绫诲瀷锛�1 鍑哄簱鍗曪紱2 鍏ュ簱鍗曪紱3 璋冩嫧鍗曪紱: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="orderType" placeholder="璇疯緭鍏ヨ鍗曠被鍨嬶紝1 鍑哄簱鍗曪紱2 鍏ュ簱鍗曪紱3 璋冩嫧鍗曪紱" lay-vertype="tips" lay-verify="required">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">涓氬姟绫诲瀷: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="wkType" placeholder="璇疯緭鍏ヤ笟鍔$被鍨�" lay-vertype="tips" lay-verify="required">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">涓氬姟鏃堕棿: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="businessTime" placeholder="璇疯緭鍏ヤ笟鍔℃椂闂�" lay-vertype="tips" lay-verify="required">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">鍒涘缓鏃堕棿: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="createTime" placeholder="璇疯緭鍏ュ垱寤烘椂闂�" lay-vertype="tips" lay-verify="required">
+                    </div>
+                </div>
+                <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="warehouseId" placeholder="璇疯緭鍏ヤ粨搴搃d" lay-vertype="tips" lay-verify="required">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鎿嶄綔绫诲瀷锛�1 鏂板锛堥粯璁わ級锛�2 淇敼锛�3 鍙栨秷锛�4 鍏抽棴锛�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="operateType" placeholder="璇疯緭鍏ユ搷浣滅被鍨嬶紝1 鏂板锛堥粯璁わ級锛�2 淇敼锛�3 鍙栨秷锛�4 鍏抽棴锛�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍙戦�佺姸鎬�1锛氬凡鍙戦�� 0锛氬緟鍙戦��: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="sendStatus" placeholder="璇疯緭鍏ュ彂閫佺姸鎬�1锛氬凡鍙戦�� 0锛氬緟鍙戦��">
+                    </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/erpOrderDetl/erpOrderDetl.html b/src/main/webapp/views/erpOrderDetl/erpOrderDetl.html
new file mode 100644
index 0000000..a923e58
--- /dev/null
+++ b/src/main/webapp/views/erpOrderDetl/erpOrderDetl.html
@@ -0,0 +1,152 @@
+<!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">
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="id" 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 class="layui-inline">
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="condition" 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="erpOrderDetl" lay-filter="erpOrderDetl"></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/erpOrderDetl/erpOrderDetl.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="orderId" placeholder="璇疯緭鍏ュ崟鎹甶d" lay-vertype="tips" lay-verify="required">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">琛屽唴鐮�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="lineId" placeholder="璇疯緭鍏ヨ鍐呯爜" lay-vertype="tips" lay-verify="required">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">鐗╂枡缂栫爜: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="matNr" placeholder="璇疯緭鍏ョ墿鏂欑紪鐮�" lay-vertype="tips" lay-verify="required">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">鐗╂枡鍚嶇О: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="makTx" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" lay-vertype="tips" lay-verify="required">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">鏁伴噺: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="anfme" placeholder="璇疯緭鍏ユ暟閲�" lay-vertype="tips" lay-verify="required">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">瑙勬牸: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="spec" placeholder="璇疯緭鍏ヨ鏍�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍨嬪彿: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="model" placeholder="璇疯緭鍏ュ瀷鍙�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍗曚綅: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="unit" placeholder="璇疯緭鍏ュ崟浣�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鎵规鍙�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="batch" placeholder="璇疯緭鍏ユ壒娆″彿">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">璁″垝璺熻釜鍙�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="planNo" placeholder="璇疯緭鍏ヨ鍒掕窡韪彿">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">璐ㄦ鐘舵�侊紝1鍚堟牸0涓嶅悎鏍�3璁╂鎺ユ敹9寰呮: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="qcStatus" placeholder="璇疯緭鍏ヨ川妫�鐘舵�侊紝1鍚堟牸0涓嶅悎鏍�3璁╂鎺ユ敹9寰呮">
+                    </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>
+

--
Gitblit v1.9.1