From 7404d352ee7efa5ae82d6bd68a3a876a913159f8 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期三, 07 一月 2026 00:26:14 +0800
Subject: [PATCH] #

---
 src/main/webapp/static/js/basAgvWrkDetl/basAgvWrkDetl.js             |  305 ++++++++++++
 src/main/java/com/zy/asrs/controller/BasAgvWrkDetlController.java    |  125 +++++
 src/main/java/com/zy/asrs/mapper/BasAgvWrkDetlMapper.java            |   12 
 src/main/java/com/zy/asrs/service/impl/BasAgvWrkDetlServiceImpl.java |   12 
 src/main/resources/mapper/BasRgvOptMapper.xml                        |    2 
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java          |   33 
 src/main/java/basAgvWrkDetl.sql                                      |   18 
 src/main/java/com/zy/asrs/entity/BasAgvWrkDetl.java                  |  497 +++++++++++++++++++
 src/main/java/com/zy/common/CodeBuilder.java                         |    2 
 src/main/resources/mapper/BasAgvWrkDetlMapper.xml                    |   56 ++
 src/main/java/com/zy/asrs/service/BasAgvWrkDetlService.java          |    8 
 src/main/java/com/zy/core/MainProcess.java                           |    2 
 src/main/java/com/zy/core/thread/SiemensDevpThread.java              |    6 
 src/main/webapp/views/basAgvWrkDetl/basAgvWrkDetl.html               |  391 +++++++++++++++
 14 files changed, 1,444 insertions(+), 25 deletions(-)

diff --git a/src/main/java/basAgvWrkDetl.sql b/src/main/java/basAgvWrkDetl.sql
new file mode 100644
index 0000000..8bfa927
--- /dev/null
+++ b/src/main/java/basAgvWrkDetl.sql
@@ -0,0 +1,18 @@
+-- save basAgvWrkDetl record
+-- mysql
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basAgvWrkDetl/basAgvWrkDetl.html', 'basAgvWrkDetl绠$悊', null , '2', null , '1');
+
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basAgvWrkDetl#view', '鏌ヨ', '', '3', '0', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basAgvWrkDetl#btn-add', '鏂板', '', '3', '1', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basAgvWrkDetl#btn-edit', '缂栬緫', '', '3', '2', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basAgvWrkDetl#btn-delete', '鍒犻櫎', '', '3', '3', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basAgvWrkDetl#btn-export', '瀵煎嚭', '', '3', '4', '1');
+
+-- sqlserver
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basAgvWrkDetl/basAgvWrkDetl.html', N'basAgvWrkDetl绠$悊', null, '2', null, '1');
+
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basAgvWrkDetl#view', N'鏌ヨ', '', '3', '0', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basAgvWrkDetl#btn-add', N'鏂板', '', '3', '1', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basAgvWrkDetl#btn-edit', N'缂栬緫', '', '3', '2', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basAgvWrkDetl#btn-delete', N'鍒犻櫎', '', '3', '3', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basAgvWrkDetl#btn-export', N'瀵煎嚭', '', '3', '4', '1');
diff --git a/src/main/java/com/zy/asrs/controller/BasAgvWrkDetlController.java b/src/main/java/com/zy/asrs/controller/BasAgvWrkDetlController.java
new file mode 100644
index 0000000..893d6eb
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/BasAgvWrkDetlController.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.BasAgvWrkDetl;
+import com.zy.asrs.service.BasAgvWrkDetlService;
+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 BasAgvWrkDetlController extends BaseController {
+
+    @Autowired
+    private BasAgvWrkDetlService basAgvWrkDetlService;
+
+    @RequestMapping(value = "/basAgvWrkDetl/{id}/auth")
+    @ManagerAuth
+    public R get(@PathVariable("id") String id) {
+        return R.ok(basAgvWrkDetlService.selectById(String.valueOf(id)));
+    }
+
+    @RequestMapping(value = "/basAgvWrkDetl/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<BasAgvWrkDetl> wrapper = new EntityWrapper<>();
+        excludeTrash(param);
+        convert(param, wrapper);
+        allLike(BasAgvWrkDetl.class, param.keySet(), wrapper, condition);
+        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+        return R.ok(basAgvWrkDetlService.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 = "/basAgvWrkDetl/add/auth")
+    @ManagerAuth
+    public R add(BasAgvWrkDetl basAgvWrkDetl) {
+        basAgvWrkDetlService.insert(basAgvWrkDetl);
+        return R.ok();
+    }
+
+	@RequestMapping(value = "/basAgvWrkDetl/update/auth")
+	@ManagerAuth
+    public R update(BasAgvWrkDetl basAgvWrkDetl){
+        if (Cools.isEmpty(basAgvWrkDetl) || null==basAgvWrkDetl.getId()){
+            return R.error();
+        }
+        basAgvWrkDetlService.updateById(basAgvWrkDetl);
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/basAgvWrkDetl/delete/auth")
+    @ManagerAuth
+    public R delete(@RequestParam(value="ids[]") Long[] ids){
+         for (Long id : ids){
+            basAgvWrkDetlService.deleteById(id);
+        }
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/basAgvWrkDetl/export/auth")
+    @ManagerAuth
+    public R export(@RequestBody JSONObject param){
+        EntityWrapper<BasAgvWrkDetl> wrapper = new EntityWrapper<>();
+        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+        Map<String, Object> map = excludeTrash(param.getJSONObject("basAgvWrkDetl"));
+        convert(map, wrapper);
+        List<BasAgvWrkDetl> list = basAgvWrkDetlService.selectList(wrapper);
+        return R.ok(exportSupport(list, fields));
+    }
+
+    @RequestMapping(value = "/basAgvWrkDetlQuery/auth")
+    @ManagerAuth
+    public R query(String condition) {
+        EntityWrapper<BasAgvWrkDetl> wrapper = new EntityWrapper<>();
+        wrapper.like("id", condition);
+        Page<BasAgvWrkDetl> page = basAgvWrkDetlService.selectPage(new Page<>(0, 10), wrapper);
+        List<Map<String, Object>> result = new ArrayList<>();
+        for (BasAgvWrkDetl basAgvWrkDetl : page.getRecords()){
+            Map<String, Object> map = new HashMap<>();
+            map.put("id", basAgvWrkDetl.getId());
+            map.put("value", basAgvWrkDetl.getId());
+            result.add(map);
+        }
+        return R.ok(result);
+    }
+
+    @RequestMapping(value = "/basAgvWrkDetl/check/column/auth")
+    @ManagerAuth
+    public R query(@RequestBody JSONObject param) {
+        Wrapper<BasAgvWrkDetl> wrapper = new EntityWrapper<BasAgvWrkDetl>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
+        if (null != basAgvWrkDetlService.selectOne(wrapper)){
+            return R.parse(BaseRes.REPEAT).add(getComment(BasAgvWrkDetl.class, String.valueOf(param.get("key"))));
+        }
+        return R.ok();
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/BasAgvWrkDetl.java b/src/main/java/com/zy/asrs/entity/BasAgvWrkDetl.java
new file mode 100644
index 0000000..93cc42e
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/BasAgvWrkDetl.java
@@ -0,0 +1,497 @@
+package com.zy.asrs.entity;
+
+import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableField;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import org.springframework.format.annotation.DateTimeFormat;
+import com.core.common.SpringUtils;
+import com.zy.system.service.UserService;
+import com.zy.system.entity.User;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import com.core.common.SpringUtils;
+import com.zy.system.service.UserService;
+import com.zy.system.entity.User;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
+
+@Data
+@TableName("asr_bas_agv_wrk_detl")
+public class BasAgvWrkDetl implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 宸ヤ綔鍙�
+     */
+    @ApiModelProperty(value= "宸ヤ綔鍙�")
+    @TableField("wrk_no")
+    private Integer wrkNo;
+
+    /**
+     * 宸ヤ綔鏃堕棿
+     */
+    @ApiModelProperty(value= "宸ヤ綔鏃堕棿")
+    @TableField("io_time")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date ioTime;
+
+    /**
+     * 鏁伴噺
+     */
+    @ApiModelProperty(value= "鏁伴噺")
+    private Double anfme;
+
+    /**
+     * 鎵樼洏鏉$爜
+     */
+    @ApiModelProperty(value= "鎵樼洏鏉$爜")
+    private String zpallet;
+
+    /**
+     * 鍟嗗搧缂栧彿
+     */
+    @ApiModelProperty(value= "鍟嗗搧缂栧彿")
+    private String matnr;
+
+    /**
+     * 鍟嗗搧鍚嶇О
+     */
+    @ApiModelProperty(value= "鍟嗗搧鍚嶇О")
+    private String maktx;
+
+    /**
+     * 鎵瑰彿
+     */
+    @ApiModelProperty(value= "鎵瑰彿")
+    private String batch;
+
+    /**
+     * 鍗曟嵁缂栧彿
+     */
+    @ApiModelProperty(value= "鍗曟嵁缂栧彿")
+    @TableField("order_no")
+    private String orderNo;
+
+    /**
+     * 瑙勬牸
+     */
+    @ApiModelProperty(value= "瑙勬牸")
+    private String specs;
+
+    /**
+     * 鍨嬪彿
+     */
+    @ApiModelProperty(value= "鍨嬪彿")
+    private String model;
+
+    /**
+     * 棰滆壊
+     */
+    @ApiModelProperty(value= "棰滆壊")
+    private String color;
+
+    /**
+     * 鍝佺墝
+     */
+    @ApiModelProperty(value= "鍝佺墝")
+    private String brand;
+
+    /**
+     * 鍗曚綅
+     */
+    @ApiModelProperty(value= "鍗曚綅")
+    private String unit;
+
+    /**
+     * 鍗曚环
+     */
+    @ApiModelProperty(value= "鍗曚环")
+    private Double price;
+
+    /**
+     * sku
+     */
+    @ApiModelProperty(value= "sku")
+    private String sku;
+
+    /**
+     * 鍗曚綅閲�
+     */
+    @ApiModelProperty(value= "鍗曚綅閲�")
+    private Double units;
+
+    /**
+     * 鏉$爜
+     */
+    @ApiModelProperty(value= "鏉$爜")
+    private String barcode;
+
+    /**
+     * 浜у湴
+     */
+    @ApiModelProperty(value= "浜у湴")
+    private String origin;
+
+    /**
+     * 鍘傚
+     */
+    @ApiModelProperty(value= "鍘傚")
+    private String manu;
+
+    /**
+     * 鐢熶骇鏃ユ湡
+     */
+    @ApiModelProperty(value= "鐢熶骇鏃ユ湡")
+    @TableField("manu_date")
+    private String manuDate;
+
+    /**
+     * 鍝侀」鏁�
+     */
+    @ApiModelProperty(value= "鍝侀」鏁�")
+    @TableField("item_num")
+    private String itemNum;
+
+    /**
+     * 瀹夊叏搴撳瓨閲�
+     */
+    @ApiModelProperty(value= "瀹夊叏搴撳瓨閲�")
+    @TableField("safe_qty")
+    private Double safeQty;
+
+    /**
+     * 閲嶉噺
+     */
+    @ApiModelProperty(value= "閲嶉噺")
+    private Double weight;
+
+    /**
+     * 闀垮害
+     */
+    @ApiModelProperty(value= "闀垮害")
+    @TableField("man_length")
+    private Double manLength;
+
+    /**
+     * 浣撶Н
+     */
+    @ApiModelProperty(value= "浣撶Н")
+    private Double volume;
+
+    /**
+     * 涓夋柟缂栫爜
+     */
+    @ApiModelProperty(value= "涓夋柟缂栫爜")
+    @TableField("three_code")
+    private String threeCode;
+
+    /**
+     * 渚涘簲鍟�
+     */
+    @ApiModelProperty(value= "渚涘簲鍟�")
+    private String supp;
+
+    /**
+     * 渚涘簲鍟嗙紪鐮�
+     */
+    @ApiModelProperty(value= "渚涘簲鍟嗙紪鐮�")
+    @TableField("supp_code")
+    private String suppCode;
+
+    /**
+     * 鏄惁鎵规 1: 鏄�  0: 鍚�  
+     */
+    @ApiModelProperty(value= "鏄惁鎵规 1: 鏄�  0: 鍚�  ")
+    @TableField("be_batch")
+    private Integer beBatch;
+
+    /**
+     * 淇濊川鏈�
+     */
+    @ApiModelProperty(value= "淇濊川鏈�")
+    @TableField("dead_time")
+    private String deadTime;
+
+    /**
+     * 棰勮澶╂暟
+     */
+    @ApiModelProperty(value= "棰勮澶╂暟")
+    @TableField("dead_warn")
+    private Integer deadWarn;
+
+    /**
+     * 鍒惰喘 1: 鍒堕��  2: 閲囪喘  3: 澶栧崗  
+     */
+    @ApiModelProperty(value= "鍒惰喘 1: 鍒堕��  2: 閲囪喘  3: 澶栧崗  ")
+    private Integer source;
+
+    /**
+     * 瑕佹眰妫�楠� 1: 鏄�  0: 鍚�  
+     */
+    @ApiModelProperty(value= "瑕佹眰妫�楠� 1: 鏄�  0: 鍚�  ")
+    private Integer inspect;
+
+    /**
+     * 鍗遍櫓鍝� 1: 鏄�  0: 鍚�  
+     */
+    @ApiModelProperty(value= "鍗遍櫓鍝� 1: 鏄�  0: 鍚�  ")
+    private Integer danger;
+
+    /**
+     * 淇敼浜哄憳
+     */
+    @ApiModelProperty(value= "淇敼浜哄憳")
+    @TableField("modi_user")
+    private Long modiUser;
+
+    /**
+     * 淇敼鏃堕棿
+     */
+    @ApiModelProperty(value= "淇敼鏃堕棿")
+    @TableField("modi_time")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date modiTime;
+
+    /**
+     * 娣诲姞浜哄憳
+     */
+    @ApiModelProperty(value= "娣诲姞浜哄憳")
+    @TableField("appe_user")
+    private Long appeUser;
+
+    /**
+     * 娣诲姞鏃堕棿
+     */
+    @ApiModelProperty(value= "娣诲姞鏃堕棿")
+    @TableField("appe_time")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date appeTime;
+
+    /**
+     * 澶囨敞
+     */
+    @ApiModelProperty(value= "澶囨敞")
+    private String memo;
+
+    @ApiModelProperty(value= "")
+    @TableField("line_number")
+    private Long lineNumber;
+
+    @ApiModelProperty(value= "")
+    private String standby1;
+
+    @ApiModelProperty(value= "")
+    private String standby2;
+
+    @ApiModelProperty(value= "")
+    private String standby3;
+
+    @ApiModelProperty(value= "")
+    @TableField("box_type1")
+    private String boxType1;
+
+    @ApiModelProperty(value= "")
+    @TableField("box_type2")
+    private String boxType2;
+
+    @ApiModelProperty(value= "")
+    @TableField("box_type3")
+    private String boxType3;
+
+    public BasAgvWrkDetl() {}
+
+    public BasAgvWrkDetl(Integer wrkNo,Date ioTime,Double anfme,String zpallet,String matnr,String maktx,String batch,String orderNo,String specs,String model,String color,String brand,String unit,Double price,String sku,Double units,String barcode,String origin,String manu,String manuDate,String itemNum,Double safeQty,Double weight,Double manLength,Double volume,String threeCode,String supp,String suppCode,Integer beBatch,String deadTime,Integer deadWarn,Integer source,Integer inspect,Integer danger,Long modiUser,Date modiTime,Long appeUser,Date appeTime,String memo,Long lineNumber,String standby1,String standby2,String standby3,String boxType1,String boxType2,String boxType3) {
+        this.wrkNo = wrkNo;
+        this.ioTime = ioTime;
+        this.anfme = anfme;
+        this.zpallet = zpallet;
+        this.matnr = matnr;
+        this.maktx = maktx;
+        this.batch = batch;
+        this.orderNo = orderNo;
+        this.specs = specs;
+        this.model = model;
+        this.color = color;
+        this.brand = brand;
+        this.unit = unit;
+        this.price = price;
+        this.sku = sku;
+        this.units = units;
+        this.barcode = barcode;
+        this.origin = origin;
+        this.manu = manu;
+        this.manuDate = manuDate;
+        this.itemNum = itemNum;
+        this.safeQty = safeQty;
+        this.weight = weight;
+        this.manLength = manLength;
+        this.volume = volume;
+        this.threeCode = threeCode;
+        this.supp = supp;
+        this.suppCode = suppCode;
+        this.beBatch = beBatch;
+        this.deadTime = deadTime;
+        this.deadWarn = deadWarn;
+        this.source = source;
+        this.inspect = inspect;
+        this.danger = danger;
+        this.modiUser = modiUser;
+        this.modiTime = modiTime;
+        this.appeUser = appeUser;
+        this.appeTime = appeTime;
+        this.memo = memo;
+        this.lineNumber = lineNumber;
+        this.standby1 = standby1;
+        this.standby2 = standby2;
+        this.standby3 = standby3;
+        this.boxType1 = boxType1;
+        this.boxType2 = boxType2;
+        this.boxType3 = boxType3;
+    }
+
+//    BasAgvWrkDetl basAgvWrkDetl = new BasAgvWrkDetl(
+//            null,    // 宸ヤ綔鍙穂闈炵┖]
+//            null,    // 宸ヤ綔鏃堕棿
+//            null,    // 鏁伴噺
+//            null,    // 鎵樼洏鏉$爜
+//            null,    // 鍟嗗搧缂栧彿[闈炵┖]
+//            null,    // 鍟嗗搧鍚嶇О
+//            null,    // 鎵瑰彿
+//            null,    // 鍗曟嵁缂栧彿
+//            null,    // 瑙勬牸
+//            null,    // 鍨嬪彿
+//            null,    // 棰滆壊
+//            null,    // 鍝佺墝
+//            null,    // 鍗曚綅
+//            null,    // 鍗曚环
+//            null,    // sku
+//            null,    // 鍗曚綅閲�
+//            null,    // 鏉$爜
+//            null,    // 浜у湴
+//            null,    // 鍘傚
+//            null,    // 鐢熶骇鏃ユ湡
+//            null,    // 鍝侀」鏁�
+//            null,    // 瀹夊叏搴撳瓨閲�
+//            null,    // 閲嶉噺
+//            null,    // 闀垮害
+//            null,    // 浣撶Н
+//            null,    // 涓夋柟缂栫爜
+//            null,    // 渚涘簲鍟�
+//            null,    // 渚涘簲鍟嗙紪鐮�
+//            null,    // 鏄惁鎵规
+//            null,    // 淇濊川鏈�
+//            null,    // 棰勮澶╂暟
+//            null,    // 鍒惰喘
+//            null,    // 瑕佹眰妫�楠�
+//            null,    // 鍗遍櫓鍝�
+//            null,    // 淇敼浜哄憳
+//            null,    // 淇敼鏃堕棿
+//            null,    // 娣诲姞浜哄憳
+//            null,    // 娣诲姞鏃堕棿
+//            null,    // 澶囨敞
+//            null,    // 
+//            null,    // 
+//            null,    // 
+//            null,    // 
+//            null,    // 
+//            null,    // 
+//            null    // 
+//    );
+
+    public String getIoTime$(){
+        if (Cools.isEmpty(this.ioTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.ioTime);
+    }
+
+    public String getBeBatch$(){
+        if (null == this.beBatch){ return null; }
+        switch (this.beBatch){
+            case 1:
+                return "鏄�";
+            case 0:
+                return "鍚�";
+            default:
+                return String.valueOf(this.beBatch);
+        }
+    }
+
+    public String getSource$(){
+        if (null == this.source){ return null; }
+        switch (this.source){
+            case 1:
+                return "鍒堕��";
+            case 2:
+                return "閲囪喘";
+            case 3:
+                return "澶栧崗";
+            default:
+                return String.valueOf(this.source);
+        }
+    }
+
+    public String getInspect$(){
+        if (null == this.inspect){ return null; }
+        switch (this.inspect){
+            case 1:
+                return "鏄�";
+            case 0:
+                return "鍚�";
+            default:
+                return String.valueOf(this.inspect);
+        }
+    }
+
+    public String getDanger$(){
+        if (null == this.danger){ return null; }
+        switch (this.danger){
+            case 1:
+                return "鏄�";
+            case 0:
+                return "鍚�";
+            default:
+                return String.valueOf(this.danger);
+        }
+    }
+
+    public String getModiUser$(){
+        UserService service = SpringUtils.getBean(UserService.class);
+        User user = service.selectById(this.modiUser);
+        if (!Cools.isEmpty(user)){
+            return String.valueOf(user.getNickname());
+        }
+        return null;
+    }
+
+    public String getModiTime$(){
+        if (Cools.isEmpty(this.modiTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.modiTime);
+    }
+
+    public String getAppeUser$(){
+        UserService service = SpringUtils.getBean(UserService.class);
+        User user = service.selectById(this.appeUser);
+        if (!Cools.isEmpty(user)){
+            return String.valueOf(user.getNickname());
+        }
+        return null;
+    }
+
+    public String getAppeTime$(){
+        if (Cools.isEmpty(this.appeTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime);
+    }
+
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/BasAgvWrkDetlMapper.java b/src/main/java/com/zy/asrs/mapper/BasAgvWrkDetlMapper.java
new file mode 100644
index 0000000..e5833a1
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/BasAgvWrkDetlMapper.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.mapper;
+
+import com.zy.asrs.entity.BasAgvWrkDetl;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface BasAgvWrkDetlMapper extends BaseMapper<BasAgvWrkDetl> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/BasAgvWrkDetlService.java b/src/main/java/com/zy/asrs/service/BasAgvWrkDetlService.java
new file mode 100644
index 0000000..99a7884
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/BasAgvWrkDetlService.java
@@ -0,0 +1,8 @@
+package com.zy.asrs.service;
+
+import com.zy.asrs.entity.BasAgvWrkDetl;
+import com.baomidou.mybatisplus.service.IService;
+
+public interface BasAgvWrkDetlService extends IService<BasAgvWrkDetl> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/BasAgvWrkDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasAgvWrkDetlServiceImpl.java
new file mode 100644
index 0000000..a391fd9
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/BasAgvWrkDetlServiceImpl.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.service.impl;
+
+import com.zy.asrs.mapper.BasAgvWrkDetlMapper;
+import com.zy.asrs.entity.BasAgvWrkDetl;
+import com.zy.asrs.service.BasAgvWrkDetlService;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service("basAgvWrkDetlService")
+public class BasAgvWrkDetlServiceImpl extends ServiceImpl<BasAgvWrkDetlMapper, BasAgvWrkDetl> implements BasAgvWrkDetlService {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index f9b28d0..10784d2 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -4819,6 +4819,10 @@
      * arm浠诲姟瀹屾垚鑷姩缁勬墭
      * */
     public synchronized void  armMissionAccomplished1() {
+        Config configAGVAUTOIN = configService.selectConfigByCode("AGVAUTOIN");
+        if(!Boolean.parseBoolean(configAGVAUTOIN.getValue())){
+            return;
+        }
         try{
             for (DevpSlave devp : slaveProperties.getDevp()) {
                 // 閬嶅巻鎷f枡鍏ュ簱鍙�
@@ -4917,6 +4921,10 @@
      * arm浠诲姟瀹屾垚鑷姩缁勬墭
      * */
     public synchronized void  armMissionAccomplished2() {
+        Config configAGVAUTOIN = configService.selectConfigByCode("AGVAUTOIN");
+        if(!Boolean.parseBoolean(configAGVAUTOIN.getValue())){
+            return;
+        }
         try{
             List<BasArm> basArmList = basArmService.selectList(new EntityWrapper<BasArm>().gt("arm_no",4));
             for (BasArm basArm : basArmList) {
@@ -5197,6 +5205,10 @@
      * arm浠诲姟涓嬪彂
      * */
     public synchronized void armTaskAssignment2() {
+        Config configAGVAUTOIN = configService.selectConfigByCode("AGVAUTOIN");
+        if(!Boolean.parseBoolean(configAGVAUTOIN.getValue())){
+            return;
+        }
         try{
             List<BasArm> basArmList = basArmService.selectList(new EntityWrapper<BasArm>().gt("arm_no",4));
             for (BasArm basArm : basArmList) {
@@ -5531,7 +5543,7 @@
                     // 浠诲姟鐢熸垚鍖� --------------------------------------------------------------------------
 
                     BasAgvMast basAgvMast = new BasAgvMast();
-
+                    BasAgvWrkDetl basAgvWrkDetl = new BasAgvWrkDetl();
 
                     try {
                         LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
@@ -5943,23 +5955,6 @@
                     if ((!Cools.isEmpty(staProtocol.getWorkNo()) && staProtocol.getWorkNo().equals(basAgvMast.getTaskNo())) || basAgvMast.getSourceStaNo().equals(2033)){
                         AgvTaskAssignmentParam agvTaskAssignmentParam = new AgvTaskAssignmentParam(basAgvMast);
                         if(basAgvMast.getFloorNo()==1) {
-//                            WrkMast wrkMast = wrkMastService.selectByWrkNo(staProtocol.getWorkNo());
-//                            AgvBindCtnrAndBinParam agvBindCtnrAndBinParam = new AgvBindCtnrAndBinParam(basAgvMast);
-//                            agvBindCtnrAndBinParam.setCtnrCode(basAgvMast.getTimestamp().toString());
-//                            agvBindCtnrAndBinParam.setCtnrTyp("1");
-//                            ReturnT<String> resultBind = new PostMesDataUtils().postMesDataAgv("AGV瀹瑰櫒缁戝畾瑙g粦", AgvConstant.AGV_URL, AgvConstant.AGV_CTNRANDBING, agvBindCtnrAndBinParam);
-//                            if (resultBind.getCode()==200){
-//                                //浠诲姟涓嬪彂
-//                                ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV浠诲姟涓嬪彂", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam);
-//                                if (result.getCode()==200){
-//                                    basAgvMast.setStatus(1);
-//                                    basAgvMastService.updateById(basAgvMast);
-//                                } else {
-//                                    agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV浠诲姟涓嬪彂澶辫触", "浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"浠诲姟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false);
-//                                }
-//                            } else {
-//                                agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV瀹瑰櫒缁戝畾瑙g粦", "浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"浠诲姟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false);
-//                            }
                             //浠诲姟涓嬪彂
                             ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV浠诲姟涓嬪彂", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam);
                             if (result.getCode()==200){
@@ -5977,7 +5972,7 @@
                                     agvBindCtnrAndBinTwoParam.setPodcode(basAgvMast.getBarcode());
                                     agvBindCtnrAndBinTwoParam.setPositionCode(basAgvMast.getSourceStaNo().toString());
                                     agvBindCtnrAndBinTwoParam.setIndBind("1");;
-                                    ReturnT<String> resultBind = new PostMesDataUtils().postMesDataArmGrating("AGV瀹瑰櫒缁戝畾瑙g粦",
+                                    ReturnT<String> resultBind = new PostMesDataUtils().postMesDataArmGrating("AGV瀹瑰櫒缁戝畾",
                                             AgvConstant.AGV_URL+"/"+AgvConstant.AGV_hikRpcService,AgvConstant.getAGVADAPTOR(2), agvBindCtnrAndBinTwoParam);
                                     if (resultBind.getCode()!=200){
                                         basAgvMast.setStatus(4);
diff --git a/src/main/java/com/zy/common/CodeBuilder.java b/src/main/java/com/zy/common/CodeBuilder.java
index 710ac24..4d86f1f 100644
--- a/src/main/java/com/zy/common/CodeBuilder.java
+++ b/src/main/java/com/zy/common/CodeBuilder.java
@@ -20,7 +20,7 @@
         generator.url="localhost:1433;databasename=jshdasrs";
         generator.username="sa";
         generator.password="sa@123";
-        generator.table="man_mat";
+        generator.table="asr_bas_agv_wrk_detl";
         generator.packagePath="com.zy.asrs";
         generator.build();
     }
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index b1d46b0..3d8a469 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -118,8 +118,8 @@
                     continue;
                 }
                 mainService.rgvIoExecute(11);//鍙栬揣
-                mainService.rgvIoExecuteScheduling();
                 mainService.rgvOutExecute();//鏀捐揣
+                mainService.rgvIoExecuteScheduling();
                 mainService.rgvTaskComplete();//浠诲姟瀹屾垚
             } catch (Exception e) {
                 e.printStackTrace();
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 2dc0858..c2ea24f 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -613,16 +613,16 @@
                     boolean[] status1 = siemensS7Net.getByteTransform().TransBool(result.Content, offset + offset3 - 4, 3);
                     boolean[] statusErr = siemensS7Net.getByteTransform().TransBool(result.Content, offset + offset3 - 8, 3);
                     boolean[] statusSign = siemensS7Net.getByteTransform().TransBool(resultErr.Content, offsetSign, 3);
-                    if(siteId == 2032){
-
-                    }
                     boolean loading = false;
                     if(!status1[0])
                     {
                         loading = true;
                     }
                     staProtocol.setLoading(loading);  // 鏈夌墿
+                    if(siteId == 2032){
+                        staProtocol.setLoading(loading);  // 鏈夌墿
 
+                    }
                     staProtocol.setInEnable(status1[2]); // 鍙叆
                     staProtocol.setOutEnable(status1[2]);// 鍙嚭
                     staProtocol.setErr(status1[6]);
diff --git a/src/main/resources/mapper/BasAgvWrkDetlMapper.xml b/src/main/resources/mapper/BasAgvWrkDetlMapper.xml
new file mode 100644
index 0000000..b0a6464
--- /dev/null
+++ b/src/main/resources/mapper/BasAgvWrkDetlMapper.xml
@@ -0,0 +1,56 @@
+<?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.BasAgvWrkDetlMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.BasAgvWrkDetl">
+        <result column="wrk_no" property="wrkNo" />
+        <result column="io_time" property="ioTime" />
+        <result column="anfme" property="anfme" />
+        <result column="zpallet" property="zpallet" />
+        <result column="matnr" property="matnr" />
+        <result column="maktx" property="maktx" />
+        <result column="batch" property="batch" />
+        <result column="order_no" property="orderNo" />
+        <result column="specs" property="specs" />
+        <result column="model" property="model" />
+        <result column="color" property="color" />
+        <result column="brand" property="brand" />
+        <result column="unit" property="unit" />
+        <result column="price" property="price" />
+        <result column="sku" property="sku" />
+        <result column="units" property="units" />
+        <result column="barcode" property="barcode" />
+        <result column="origin" property="origin" />
+        <result column="manu" property="manu" />
+        <result column="manu_date" property="manuDate" />
+        <result column="item_num" property="itemNum" />
+        <result column="safe_qty" property="safeQty" />
+        <result column="weight" property="weight" />
+        <result column="man_length" property="manLength" />
+        <result column="volume" property="volume" />
+        <result column="three_code" property="threeCode" />
+        <result column="supp" property="supp" />
+        <result column="supp_code" property="suppCode" />
+        <result column="be_batch" property="beBatch" />
+        <result column="dead_time" property="deadTime" />
+        <result column="dead_warn" property="deadWarn" />
+        <result column="source" property="source" />
+        <result column="inspect" property="inspect" />
+        <result column="danger" property="danger" />
+        <result column="modi_user" property="modiUser" />
+        <result column="modi_time" property="modiTime" />
+        <result column="appe_user" property="appeUser" />
+        <result column="appe_time" property="appeTime" />
+        <result column="memo" property="memo" />
+        <result column="line_number" property="lineNumber" />
+        <result column="standby1" property="standby1" />
+        <result column="standby2" property="standby2" />
+        <result column="standby3" property="standby3" />
+        <result column="box_type1" property="boxType1" />
+        <result column="box_type2" property="boxType2" />
+        <result column="box_type3" property="boxType3" />
+
+    </resultMap>
+
+</mapper>
diff --git a/src/main/resources/mapper/BasRgvOptMapper.xml b/src/main/resources/mapper/BasRgvOptMapper.xml
index 2c243a0..8f83242 100644
--- a/src/main/resources/mapper/BasRgvOptMapper.xml
+++ b/src/main/resources/mapper/BasRgvOptMapper.xml
@@ -26,7 +26,7 @@
 
     <select id="getBasRgvOpt" resultMap="BaseResultMap">
         SELECT TOP 1 *
-        FROM bas_rgv_opt
+        FROM asr_bas_rgv_opt
         WHERE rgv_no = #{rgvNo}
         ORDER BY send_time DESC
     </select>
diff --git a/src/main/webapp/static/js/basAgvWrkDetl/basAgvWrkDetl.js b/src/main/webapp/static/js/basAgvWrkDetl/basAgvWrkDetl.js
new file mode 100644
index 0000000..892f0ed
--- /dev/null
+++ b/src/main/webapp/static/js/basAgvWrkDetl/basAgvWrkDetl.js
@@ -0,0 +1,305 @@
+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: '#basAgvWrkDetl',
+        headers: {token: localStorage.getItem('token')},
+        url: baseUrl+'/basAgvWrkDetl/list/auth',
+        page: true,
+        limit: 15,
+        limits: [15, 30, 50, 100, 200, 500],
+        toolbar: '#toolbar',
+        cellMinWidth: 50,
+        height: 'full-120',
+        cols: [[
+            {type: 'checkbox'}
+            ,{field: 'wrkNo', align: 'center',title: '宸ヤ綔鍙�'}
+            ,{field: 'ioTime$', align: 'center',title: '宸ヤ綔鏃堕棿'}
+            ,{field: 'anfme', align: 'center',title: '鏁伴噺'}
+            ,{field: 'zpallet', align: 'center',title: '鎵樼洏鏉$爜'}
+            ,{field: 'matnr', align: 'center',title: '鍟嗗搧缂栧彿'}
+            ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О'}
+            ,{field: 'batch', align: 'center',title: '鎵瑰彿'}
+            ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿'}
+            ,{field: 'specs', align: 'center',title: '瑙勬牸'}
+            ,{field: 'model', align: 'center',title: '鍨嬪彿'}
+            ,{field: 'color', align: 'center',title: '棰滆壊'}
+            ,{field: 'brand', align: 'center',title: '鍝佺墝'}
+            ,{field: 'unit', align: 'center',title: '鍗曚綅'}
+            ,{field: 'price', align: 'center',title: '鍗曚环'}
+            ,{field: 'sku', align: 'center',title: 'sku'}
+            ,{field: 'units', align: 'center',title: '鍗曚綅閲�'}
+            ,{field: 'barcode', align: 'center',title: '鏉$爜'}
+            ,{field: 'origin', align: 'center',title: '浜у湴'}
+            ,{field: 'manu', align: 'center',title: '鍘傚'}
+            ,{field: 'manuDate', align: 'center',title: '鐢熶骇鏃ユ湡'}
+            ,{field: 'itemNum', align: 'center',title: '鍝侀」鏁�'}
+            ,{field: 'safeQty', align: 'center',title: '瀹夊叏搴撳瓨閲�'}
+            ,{field: 'weight', align: 'center',title: '閲嶉噺'}
+            ,{field: 'manLength', align: 'center',title: '闀垮害'}
+            ,{field: 'volume', align: 'center',title: '浣撶Н'}
+            ,{field: 'threeCode', align: 'center',title: '涓夋柟缂栫爜'}
+            ,{field: 'supp', align: 'center',title: '渚涘簲鍟�'}
+            ,{field: 'suppCode', align: 'center',title: '渚涘簲鍟嗙紪鐮�'}
+            ,{field: 'beBatch$', align: 'center',title: '鏄惁鎵规'}
+            ,{field: 'deadTime', align: 'center',title: '淇濊川鏈�'}
+            ,{field: 'deadWarn', align: 'center',title: '棰勮澶╂暟'}
+            ,{field: 'source$', align: 'center',title: '鍒惰喘'}
+            ,{field: 'inspect$', align: 'center',title: '瑕佹眰妫�楠�'}
+            ,{field: 'danger$', align: 'center',title: '鍗遍櫓鍝�'}
+            ,{field: 'modiUser$', align: 'center',title: '淇敼浜哄憳'}
+            ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿'}
+            ,{field: 'appeUser$', align: 'center',title: '娣诲姞浜哄憳'}
+            ,{field: 'appeTime$', align: 'center',title: '娣诲姞鏃堕棿'}
+            ,{field: 'memo', align: 'center',title: '澶囨敞'}
+            ,{field: 'lineNumber', align: 'center',title: ''}
+            ,{field: 'standby1', align: 'center',title: ''}
+            ,{field: 'standby2', align: 'center',title: ''}
+            ,{field: 'standby3', align: 'center',title: ''}
+            ,{field: 'boxType1', align: 'center',title: ''}
+            ,{field: 'boxType2', align: 'center',title: ''}
+            ,{field: 'boxType3', align: 'center',title: ''}
+
+            ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120}
+        ]],
+        request: {
+            pageName: 'curr',
+            pageSize: 'limit'
+        },
+        parseData: function (res) {
+            return {
+                'code': res.code,
+                'msg': res.msg,
+                'count': res.data.total,
+                'data': res.data.records
+            }
+        },
+        response: {
+            statusCode: 200
+        },
+        done: function(res, curr, count) {
+            if (res.code === 403) {
+                top.location.href = baseUrl+"/";
+            }
+            pageCurr=curr;
+            limit();
+        }
+    });
+
+    // 鐩戝惉鎺掑簭浜嬩欢
+    table.on('sort(basAgvWrkDetl)', 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(basAgvWrkDetl)', 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 = {
+                        'basAgvWrkDetl': exportData,
+                        'fields': fields
+                    };
+                    $.ajax({
+                        url: baseUrl+"/basAgvWrkDetl/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(basAgvWrkDetl)', 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+"/basAgvWrkDetl/"+(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+"/basAgvWrkDetl/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
+            });
+            layDate.render({
+                elem: '#ioTime\\$',
+                type: 'datetime',
+                value: data!==undefined?data['ioTime\\$']:null
+            });
+            layDate.render({
+                elem: '#modiTime\\$',
+                type: 'datetime',
+                value: data!==undefined?data['modiTime\\$']:null
+            });
+            layDate.render({
+                elem: '#appeTime\\$',
+                type: 'datetime',
+                value: data!==undefined?data['appeTime\\$']:null
+            });
+
+        }, 300);
+    }
+    layDateRender();
+
+});
+
+// 鍏抽棴鍔ㄤ綔
+$(document).on('click','#data-detail-close', function () {
+    parent.layer.closeAll();
+});
+
+function tableReload(child) {
+    var searchData = {};
+    $.each($('#search-box [name]').serializeArray(), function() {
+        searchData[this.name] = this.value;
+    });
+    tableIns.reload({
+        where: searchData,
+        page: {curr: pageCurr}
+     });
+}
diff --git a/src/main/webapp/views/basAgvWrkDetl/basAgvWrkDetl.html b/src/main/webapp/views/basAgvWrkDetl/basAgvWrkDetl.html
new file mode 100644
index 0000000..24a9b21
--- /dev/null
+++ b/src/main/webapp/views/basAgvWrkDetl/basAgvWrkDetl.html
@@ -0,0 +1,391 @@
+<!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="basAgvWrkDetl" lay-filter="basAgvWrkDetl"></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/basAgvWrkDetl/basAgvWrkDetl.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="wrkNo" 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="ioTime" id="ioTime$" placeholder="璇疯緭鍏ュ伐浣滄椂闂�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鏁伴噺: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="anfme" placeholder="璇疯緭鍏ユ暟閲�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鎵樼洏鏉$爜: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="zpallet" placeholder="璇疯緭鍏ユ墭鐩樻潯鐮�">
+                    </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">鍟嗗搧鍚嶇О: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="maktx" placeholder="璇疯緭鍏ュ晢鍝佸悕绉�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鎵瑰彿: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="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="orderNo" placeholder="璇疯緭鍏ュ崟鎹紪鍙�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">瑙勬牸: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="specs" 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="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="brand" 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="price" placeholder="璇疯緭鍏ュ崟浠�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">sku: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="sku" placeholder="璇疯緭鍏ku">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍗曚綅閲�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="units" placeholder="璇疯緭鍏ュ崟浣嶉噺">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鏉$爜: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="barcode" placeholder="璇疯緭鍏ユ潯鐮�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">浜у湴: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="origin" placeholder="璇疯緭鍏ヤ骇鍦�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍘傚: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="manu" placeholder="璇疯緭鍏ュ巶瀹�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鐢熶骇鏃ユ湡: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="manuDate" placeholder="璇疯緭鍏ョ敓浜ф棩鏈�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍝侀」鏁�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="itemNum" placeholder="璇疯緭鍏ュ搧椤规暟">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">瀹夊叏搴撳瓨閲�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="safeQty" 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="manLength" placeholder="璇疯緭鍏ラ暱搴�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">浣撶Н: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="volume" placeholder="璇疯緭鍏ヤ綋绉�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">涓夋柟缂栫爜: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="threeCode" placeholder="璇疯緭鍏ヤ笁鏂圭紪鐮�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">渚涘簲鍟�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="supp" placeholder="璇疯緭鍏ヤ緵搴斿晢">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">渚涘簲鍟嗙紪鐮�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="suppCode" placeholder="璇疯緭鍏ヤ緵搴斿晢缂栫爜">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鏄惁鎵规: </label>
+                    <div class="layui-input-block">
+                        <select name="beBatch">
+                            <option value="">璇烽�夋嫨鏄惁鎵规</option>
+                            <option value="1">鏄�</option>
+                            <option value="0">鍚�</option>
+                        </select>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">淇濊川鏈�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="deadTime" placeholder="璇疯緭鍏ヤ繚璐ㄦ湡">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">棰勮澶╂暟: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="deadWarn" placeholder="璇疯緭鍏ラ璀﹀ぉ鏁�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍒惰喘: </label>
+                    <div class="layui-input-block">
+                        <select name="source">
+                            <option value="">璇烽�夋嫨鍒惰喘</option>
+                            <option value="1">鍒堕��</option>
+                            <option value="2">閲囪喘</option>
+                            <option value="3">澶栧崗</option>
+                        </select>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">瑕佹眰妫�楠�: </label>
+                    <div class="layui-input-block">
+                        <select name="inspect">
+                            <option value="">璇烽�夋嫨瑕佹眰妫�楠�</option>
+                            <option value="1">鏄�</option>
+                            <option value="0">鍚�</option>
+                        </select>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍗遍櫓鍝�: </label>
+                    <div class="layui-input-block">
+                        <select name="danger">
+                            <option value="">璇烽�夋嫨鍗遍櫓鍝�</option>
+                            <option value="1">鏄�</option>
+                            <option value="0">鍚�</option>
+                        </select>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">淇敼浜哄憳: </label>
+                    <div class="layui-input-block cool-auto-complete">
+                        <input class="layui-input" name="modiUser" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" style="display: none">
+                        <input id="modiUser$" name="modiUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" onfocus=this.blur()>
+                        <div class="cool-auto-complete-window">
+                            <input class="cool-auto-complete-window-input" data-key="userQueryBymodiUser" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                            <select class="cool-auto-complete-window-select" data-key="userQueryBymodiUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                            </select>
+                        </div>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">淇敼鏃堕棿: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="modiTime" id="modiTime$" placeholder="璇疯緭鍏ヤ慨鏀规椂闂�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">娣诲姞浜哄憳: </label>
+                    <div class="layui-input-block cool-auto-complete">
+                        <input class="layui-input" name="appeUser" placeholder="璇疯緭鍏ユ坊鍔犱汉鍛�" style="display: none">
+                        <input id="appeUser$" name="appeUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ユ坊鍔犱汉鍛�" onfocus=this.blur()>
+                        <div class="cool-auto-complete-window">
+                            <input class="cool-auto-complete-window-input" data-key="userQueryByappeUser" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                            <select class="cool-auto-complete-window-select" data-key="userQueryByappeUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                            </select>
+                        </div>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">娣诲姞鏃堕棿: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="appeTime" id="appeTime$" placeholder="璇疯緭鍏ユ坊鍔犳椂闂�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">澶囨敞: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="memo" placeholder="璇疯緭鍏ュ娉�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="lineNumber" placeholder="璇疯緭鍏�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="standby1" placeholder="璇疯緭鍏�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="standby2" placeholder="璇疯緭鍏�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="standby3" placeholder="璇疯緭鍏�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="boxType1" placeholder="璇疯緭鍏�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="boxType2" placeholder="璇疯緭鍏�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="boxType3" placeholder="璇疯緭鍏�">
+                    </div>
+                </div>
+
+             </div>
+        </div>
+        <hr class="layui-bg-gray">
+        <div class="layui-form-item text-right">
+            <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button>
+            <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+        </div>
+    </form>
+</script>
+</html>
+

--
Gitblit v1.9.1