From 0bcf985811837c6423d6e964a1ff8e096d0b9ff2 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期三, 09 七月 2025 09:03:49 +0800
Subject: [PATCH] #新增rgv设备/任务管理

---
 src/main/java/com/zy/asrs/service/impl/WrkMastStaServiceImpl.java    |   12 
 src/main/java/com/zy/asrs/entity/WrkMastStaLog.java                  |  260 +++
 src/main/java/com/zy/asrs/entity/BasRgv.java                         |  225 ++
 src/main/java/com/zy/asrs/controller/BasRgvPathController.java       |  127 +
 src/main/resources/mapper/BasRgvPathMapper.xml                       |   18 
 src/main/java/com/zy/asrs/service/impl/RgvOneSignServiceImpl.java    |   12 
 src/main/java/com/zy/asrs/service/impl/BasRgvPathServiceImpl.java    |   12 
 src/main/java/com/zy/asrs/service/BasRgvService.java                 |    8 
 src/main/java/com/zy/asrs/service/WrkMastStaService.java             |    8 
 src/main/java/com/zy/asrs/mapper/WrkMastStaLogMapper.java            |   12 
 src/main/webapp/views/basRgv/basRgv.html                             |  196 ++
 src/main/resources/mapper/BasRgvMapMapper.xml                        |   17 
 src/main/webapp/views/wrkMastStaLog/wrkMastStaLog.html               |  205 ++
 src/main/java/com/zy/asrs/controller/WrkMastStaLogController.java    |  128 +
 src/main/webapp/views/basRgvPath/basRgvPath.html                     |  132 +
 src/main/java/com/zy/asrs/entity/RgvOneSign.java                     |   56 
 src/main/resources/mapper/WrkMastStaLogMapper.xml                    |   24 
 src/main/java/com/zy/asrs/service/impl/WrkMastStaLogServiceImpl.java |   12 
 src/main/webapp/static/js/basRgvPath/basRgvPath.js                   |  282 +++
 src/main/java/com/zy/asrs/mapper/BasRgvPathMapper.java               |   12 
 src/main/java/com/zy/asrs/entity/BasRgvMap.java                      |   91 +
 src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java               |   12 
 src/main/java/com/zy/asrs/service/BasRgvPathService.java             |    8 
 src/main/java/com/zy/asrs/service/impl/BasRgvMapServiceImpl.java     |   12 
 src/main/resources/mapper/RgvOneSignMapper.xml                       |   13 
 src/main/webapp/static/js/wrkMastStaLog/wrkMastStaLog.js             |  272 +++
 src/main/webapp/static/js/wrkMastSta/wrkMastSta.js                   |  272 +++
 src/main/webapp/views/wrkMastSta/wrkMastSta.html                     |  235 +++
 src/main/java/com/zy/asrs/service/BasRgvMapService.java              |    8 
 src/main/java/com/zy/asrs/mapper/BasRgvMapper.java                   |   12 
 src/main/java/com/zy/asrs/entity/BasRgvPath.java                     |  150 +
 src/main/java/com/zy/asrs/service/WrkMastStaLogService.java          |    8 
 src/main/webapp/views/basRgvMap/basRgvMap.html                       |  128 +
 src/main/java/com/zy/asrs/controller/BasRgvMapController.java        |  127 +
 src/main/java/com/zy/asrs/controller/BasRgvController.java           |  127 +
 src/main/java/com/zy/asrs/service/impl/BasRgvServiceImpl.java        |   12 
 src/main/java/com/zy/asrs/mapper/BasRgvMapMapper.java                |   12 
 src/main/resources/mapper/WrkMastStaMapper.xml                       |   23 
 src/main/java/com/zy/asrs/entity/WrkMastSta.java                     |  275 +++
 src/main/resources/mapper/BasRgvMapper.xml                           |   25 
 src/main/java/com/zy/asrs/controller/WrkMastStaController.java       |  128 +
 src/main/java/com/zy/asrs/mapper/RgvOneSignMapper.java               |   12 
 src/main/webapp/static/js/basRgv/basRgv.js                           |  269 +++
 src/main/java/com/zy/asrs/service/RgvOneSignService.java             |    8 
 src/main/java/com/zy/asrs/service/impl/BasRgvPathService.java        |    8 
 src/main/webapp/static/js/rgvOneSign/rgvOneSign.js                   |  246 +++
 src/main/java/com/zy/asrs/controller/RgvOneSignController.java       |  127 +
 src/main/webapp/static/js/basRgvMap/basRgvMap.js                     |  251 +++
 48 files changed, 4,629 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/BasRgvController.java b/src/main/java/com/zy/asrs/controller/BasRgvController.java
new file mode 100644
index 0000000..f00d772
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/BasRgvController.java
@@ -0,0 +1,127 @@
+package com.zy.asrs.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.core.annotations.ManagerAuth;
+import com.core.common.BaseRes;
+import com.core.common.Cools;
+import com.core.common.DateUtils;
+import com.core.common.R;
+import com.zy.asrs.entity.BasRgv;
+import com.zy.asrs.service.BasRgvService;
+import com.zy.common.web.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+public class BasRgvController extends BaseController {
+
+    @Autowired
+    private BasRgvService basRgvService;
+
+    @RequestMapping(value = "/basRgv/{id}/auth")
+    @ManagerAuth
+    public R get(@PathVariable("id") String id) {
+        return R.ok(basRgvService.selectById(String.valueOf(id)));
+    }
+
+    @RequestMapping(value = "/basRgv/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<BasRgv> wrapper = new EntityWrapper<>();
+        excludeTrash(param);
+        convert(param, wrapper);
+        allLike(BasRgv.class, param.keySet(), wrapper, condition);
+        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+        return R.ok(basRgvService.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 = "/basRgv/add/auth")
+    @ManagerAuth(memo = "鏂板RGV")
+    public R add(BasRgv basRgv) {
+        basRgvService.insert(basRgv);
+        return R.ok();
+    }
+
+	@RequestMapping(value = "/basRgv/update/auth")
+	@ManagerAuth(memo = "淇敼RGV")
+    public R update(BasRgv basRgv){
+        if (Cools.isEmpty(basRgv) || null==basRgv.getRgvNo()){
+            return R.error();
+        }
+        basRgvService.updateById(basRgv);
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/basRgv/delete/auth")
+    @ManagerAuth(memo = "鍒犻櫎RGV")
+    public R delete(@RequestParam(value="ids[]") Long[] ids){
+         for (Long id : ids){
+            basRgvService.deleteById(id);
+        }
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/basRgv/export/auth")
+    @ManagerAuth(memo = "瀵煎嚭RGV鍩虹淇℃伅")
+    public R export(@RequestBody JSONObject param){
+        EntityWrapper<BasRgv> wrapper = new EntityWrapper<>();
+        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+        Map<String, Object> map = excludeTrash(param.getJSONObject("basRgv"));
+        convert(map, wrapper);
+        List<BasRgv> list = basRgvService.selectList(wrapper);
+        return R.ok(exportSupport(list, fields));
+    }
+
+    @RequestMapping(value = "/basRgvQuery/auth")
+    @ManagerAuth
+    public R query(String condition) {
+        EntityWrapper<BasRgv> wrapper = new EntityWrapper<>();
+        wrapper.like("rgv_no", condition);
+        Page<BasRgv> page = basRgvService.selectPage(new Page<>(0, 10), wrapper);
+        List<Map<String, Object>> result = new ArrayList<>();
+        for (BasRgv basRgv : page.getRecords()){
+            Map<String, Object> map = new HashMap<>();
+            map.put("id", basRgv.getRgvNo());
+            map.put("value", basRgv.getRgvNo());
+            result.add(map);
+        }
+        return R.ok(result);
+    }
+
+    @RequestMapping(value = "/basRgv/check/column/auth")
+    @ManagerAuth
+    public R query(@RequestBody JSONObject param) {
+        Wrapper<BasRgv> wrapper = new EntityWrapper<BasRgv>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
+        if (null != basRgvService.selectOne(wrapper)){
+            return R.parse(BaseRes.REPEAT).add(getComment(BasRgv.class, String.valueOf(param.get("key"))));
+        }
+        return R.ok();
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/controller/BasRgvMapController.java b/src/main/java/com/zy/asrs/controller/BasRgvMapController.java
new file mode 100644
index 0000000..8e14ce9
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/BasRgvMapController.java
@@ -0,0 +1,127 @@
+package com.zy.asrs.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.core.annotations.ManagerAuth;
+import com.core.common.BaseRes;
+import com.core.common.Cools;
+import com.core.common.DateUtils;
+import com.core.common.R;
+import com.zy.asrs.entity.BasRgvMap;
+import com.zy.asrs.service.BasRgvMapService;
+import com.zy.common.web.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+public class BasRgvMapController extends BaseController {
+
+    @Autowired
+    private BasRgvMapService basRgvMapService;
+
+    @RequestMapping(value = "/basRgvMap/{id}/auth")
+    @ManagerAuth
+    public R get(@PathVariable("id") String id) {
+        return R.ok(basRgvMapService.selectById(String.valueOf(id)));
+    }
+
+    @RequestMapping(value = "/basRgvMap/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<BasRgvMap> wrapper = new EntityWrapper<>();
+        excludeTrash(param);
+        convert(param, wrapper);
+        allLike(BasRgvMap.class, param.keySet(), wrapper, condition);
+        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+        return R.ok(basRgvMapService.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 = "/basRgvMap/add/auth")
+    @ManagerAuth
+    public R add(BasRgvMap basRgvMap) {
+        basRgvMapService.insert(basRgvMap);
+        return R.ok();
+    }
+
+	@RequestMapping(value = "/basRgvMap/update/auth")
+	@ManagerAuth
+    public R update(BasRgvMap basRgvMap){
+        if (Cools.isEmpty(basRgvMap) || null==basRgvMap.getRgvNo()){
+            return R.error();
+        }
+        basRgvMapService.updateById(basRgvMap);
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/basRgvMap/delete/auth")
+    @ManagerAuth
+    public R delete(@RequestParam(value="ids[]") Long[] ids){
+         for (Long id : ids){
+            basRgvMapService.deleteById(id);
+        }
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/basRgvMap/export/auth")
+    @ManagerAuth
+    public R export(@RequestBody JSONObject param){
+        EntityWrapper<BasRgvMap> wrapper = new EntityWrapper<>();
+        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+        Map<String, Object> map = excludeTrash(param.getJSONObject("basRgvMap"));
+        convert(map, wrapper);
+        List<BasRgvMap> list = basRgvMapService.selectList(wrapper);
+        return R.ok(exportSupport(list, fields));
+    }
+
+    @RequestMapping(value = "/basRgvMapQuery/auth")
+    @ManagerAuth
+    public R query(String condition) {
+        EntityWrapper<BasRgvMap> wrapper = new EntityWrapper<>();
+        wrapper.like("rgv_no", condition);
+        Page<BasRgvMap> page = basRgvMapService.selectPage(new Page<>(0, 10), wrapper);
+        List<Map<String, Object>> result = new ArrayList<>();
+        for (BasRgvMap basRgvMap : page.getRecords()){
+            Map<String, Object> map = new HashMap<>();
+            map.put("id", basRgvMap.getRgvNo());
+            map.put("value", basRgvMap.getRgvNo());
+            result.add(map);
+        }
+        return R.ok(result);
+    }
+
+    @RequestMapping(value = "/basRgvMap/check/column/auth")
+    @ManagerAuth
+    public R query(@RequestBody JSONObject param) {
+        Wrapper<BasRgvMap> wrapper = new EntityWrapper<BasRgvMap>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
+        if (null != basRgvMapService.selectOne(wrapper)){
+            return R.parse(BaseRes.REPEAT).add(getComment(BasRgvMap.class, String.valueOf(param.get("key"))));
+        }
+        return R.ok();
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/controller/BasRgvPathController.java b/src/main/java/com/zy/asrs/controller/BasRgvPathController.java
new file mode 100644
index 0000000..0f05163
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/BasRgvPathController.java
@@ -0,0 +1,127 @@
+package com.zy.asrs.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.core.annotations.ManagerAuth;
+import com.core.common.BaseRes;
+import com.core.common.Cools;
+import com.core.common.DateUtils;
+import com.core.common.R;
+import com.zy.asrs.entity.BasRgvPath;
+import com.zy.asrs.service.BasRgvPathService;
+import com.zy.common.web.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+public class BasRgvPathController extends BaseController {
+
+    @Autowired
+    private BasRgvPathService basRgvPathService;
+
+    @RequestMapping(value = "/basRgvPath/{id}/auth")
+    @ManagerAuth
+    public R get(@PathVariable("id") String id) {
+        return R.ok(basRgvPathService.selectById(String.valueOf(id)));
+    }
+
+    @RequestMapping(value = "/basRgvPath/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<BasRgvPath> wrapper = new EntityWrapper<>();
+        excludeTrash(param);
+        convert(param, wrapper);
+        allLike(BasRgvPath.class, param.keySet(), wrapper, condition);
+        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+        return R.ok(basRgvPathService.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 = "/basRgvPath/add/auth")
+    @ManagerAuth
+    public R add(BasRgvPath basRgvPath) {
+        basRgvPathService.insert(basRgvPath);
+        return R.ok();
+    }
+
+	@RequestMapping(value = "/basRgvPath/update/auth")
+	@ManagerAuth
+    public R update(BasRgvPath basRgvPath){
+        if (Cools.isEmpty(basRgvPath) || null==basRgvPath.getRgvNo()){
+            return R.error();
+        }
+        basRgvPathService.updateById(basRgvPath);
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/basRgvPath/delete/auth")
+    @ManagerAuth
+    public R delete(@RequestParam(value="ids[]") Long[] ids){
+         for (Long id : ids){
+            basRgvPathService.deleteById(id);
+        }
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/basRgvPath/export/auth")
+    @ManagerAuth
+    public R export(@RequestBody JSONObject param){
+        EntityWrapper<BasRgvPath> wrapper = new EntityWrapper<>();
+        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+        Map<String, Object> map = excludeTrash(param.getJSONObject("basRgvPath"));
+        convert(map, wrapper);
+        List<BasRgvPath> list = basRgvPathService.selectList(wrapper);
+        return R.ok(exportSupport(list, fields));
+    }
+
+    @RequestMapping(value = "/basRgvPathQuery/auth")
+    @ManagerAuth
+    public R query(String condition) {
+        EntityWrapper<BasRgvPath> wrapper = new EntityWrapper<>();
+        wrapper.like("rgv_no", condition);
+        Page<BasRgvPath> page = basRgvPathService.selectPage(new Page<>(0, 10), wrapper);
+        List<Map<String, Object>> result = new ArrayList<>();
+        for (BasRgvPath basRgvPath : page.getRecords()){
+            Map<String, Object> map = new HashMap<>();
+            map.put("id", basRgvPath.getRgvNo());
+            map.put("value", basRgvPath.getRgvNo());
+            result.add(map);
+        }
+        return R.ok(result);
+    }
+
+    @RequestMapping(value = "/basRgvPath/check/column/auth")
+    @ManagerAuth
+    public R query(@RequestBody JSONObject param) {
+        Wrapper<BasRgvPath> wrapper = new EntityWrapper<BasRgvPath>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
+        if (null != basRgvPathService.selectOne(wrapper)){
+            return R.parse(BaseRes.REPEAT).add(getComment(BasRgvPath.class, String.valueOf(param.get("key"))));
+        }
+        return R.ok();
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/controller/RgvOneSignController.java b/src/main/java/com/zy/asrs/controller/RgvOneSignController.java
new file mode 100644
index 0000000..4fde041
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/RgvOneSignController.java
@@ -0,0 +1,127 @@
+package com.zy.asrs.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.core.annotations.ManagerAuth;
+import com.core.common.BaseRes;
+import com.core.common.Cools;
+import com.core.common.DateUtils;
+import com.core.common.R;
+import com.zy.asrs.entity.RgvOneSign;
+import com.zy.asrs.service.RgvOneSignService;
+import com.zy.common.web.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+public class RgvOneSignController extends BaseController {
+
+    @Autowired
+    private RgvOneSignService rgvOneSignService;
+
+    @RequestMapping(value = "/rgvOneSign/{id}/auth")
+    @ManagerAuth
+    public R get(@PathVariable("id") String id) {
+        return R.ok(rgvOneSignService.selectById(String.valueOf(id)));
+    }
+
+    @RequestMapping(value = "/rgvOneSign/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<RgvOneSign> wrapper = new EntityWrapper<>();
+        excludeTrash(param);
+        convert(param, wrapper);
+        allLike(RgvOneSign.class, param.keySet(), wrapper, condition);
+        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+        return R.ok(rgvOneSignService.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 = "/rgvOneSign/add/auth")
+    @ManagerAuth
+    public R add(RgvOneSign rgvOneSign) {
+        rgvOneSignService.insert(rgvOneSign);
+        return R.ok();
+    }
+
+	@RequestMapping(value = "/rgvOneSign/update/auth")
+	@ManagerAuth
+    public R update(RgvOneSign rgvOneSign){
+        if (Cools.isEmpty(rgvOneSign) || null==rgvOneSign.getId()){
+            return R.error();
+        }
+        rgvOneSignService.updateById(rgvOneSign);
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/rgvOneSign/delete/auth")
+    @ManagerAuth
+    public R delete(@RequestParam(value="ids[]") Long[] ids){
+         for (Long id : ids){
+            rgvOneSignService.deleteById(id);
+        }
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/rgvOneSign/export/auth")
+    @ManagerAuth
+    public R export(@RequestBody JSONObject param){
+        EntityWrapper<RgvOneSign> wrapper = new EntityWrapper<>();
+        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+        Map<String, Object> map = excludeTrash(param.getJSONObject("rgvOneSign"));
+        convert(map, wrapper);
+        List<RgvOneSign> list = rgvOneSignService.selectList(wrapper);
+        return R.ok(exportSupport(list, fields));
+    }
+
+    @RequestMapping(value = "/rgvOneSignQuery/auth")
+    @ManagerAuth
+    public R query(String condition) {
+        EntityWrapper<RgvOneSign> wrapper = new EntityWrapper<>();
+        wrapper.like("id", condition);
+        Page<RgvOneSign> page = rgvOneSignService.selectPage(new Page<>(0, 10), wrapper);
+        List<Map<String, Object>> result = new ArrayList<>();
+        for (RgvOneSign rgvOneSign : page.getRecords()){
+            Map<String, Object> map = new HashMap<>();
+            map.put("id", rgvOneSign.getId());
+            map.put("value", rgvOneSign.getId());
+            result.add(map);
+        }
+        return R.ok(result);
+    }
+
+    @RequestMapping(value = "/rgvOneSign/check/column/auth")
+    @ManagerAuth
+    public R query(@RequestBody JSONObject param) {
+        Wrapper<RgvOneSign> wrapper = new EntityWrapper<RgvOneSign>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
+        if (null != rgvOneSignService.selectOne(wrapper)){
+            return R.parse(BaseRes.REPEAT).add(getComment(RgvOneSign.class, String.valueOf(param.get("key"))));
+        }
+        return R.ok();
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/controller/WrkMastStaController.java b/src/main/java/com/zy/asrs/controller/WrkMastStaController.java
new file mode 100644
index 0000000..b820da7
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/WrkMastStaController.java
@@ -0,0 +1,128 @@
+package com.zy.asrs.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.core.annotations.ManagerAuth;
+import com.core.common.BaseRes;
+import com.core.common.Cools;
+import com.core.common.DateUtils;
+import com.core.common.R;
+import com.zy.asrs.entity.WrkMastSta;
+import com.zy.asrs.service.WrkMastStaService;
+import com.zy.common.web.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+public class WrkMastStaController extends BaseController {
+
+    @Autowired
+    private WrkMastStaService wrkMastStaService;
+
+    @RequestMapping(value = "/wrkMastSta/{id}/auth")
+    @ManagerAuth
+    public R get(@PathVariable("id") String id) {
+        return R.ok(wrkMastStaService.selectById(String.valueOf(id)));
+    }
+
+    @RequestMapping(value = "/wrkMastSta/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<WrkMastSta> wrapper = new EntityWrapper<>();
+        excludeTrash(param);
+        convert(param, wrapper);
+        allLike(WrkMastSta.class, param.keySet(), wrapper, condition);
+        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+        wrapper.orderBy("update_time", false);
+        return R.ok(wrkMastStaService.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 = "/wrkMastSta/add/auth")
+    @ManagerAuth(memo = "RGV浠诲姟娣诲姞")
+    public R add(WrkMastSta wrkMastSta) {
+        wrkMastStaService.insert(wrkMastSta);
+        return R.ok();
+    }
+
+	@RequestMapping(value = "/wrkMastSta/update/auth")
+	@ManagerAuth(memo = "RGV浠诲姟淇敼")
+    public R update(WrkMastSta wrkMastSta){
+        if (Cools.isEmpty(wrkMastSta) || null==wrkMastSta.getId()){
+            return R.error();
+        }
+        wrkMastStaService.updateById(wrkMastSta);
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/wrkMastSta/delete/auth")
+    @ManagerAuth(memo = "RGV浠诲姟鍒犻櫎")
+    public R delete(@RequestParam(value="ids[]") Long[] ids){
+         for (Long id : ids){
+            wrkMastStaService.deleteById(id);
+        }
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/wrkMastSta/export/auth")
+    @ManagerAuth
+    public R export(@RequestBody JSONObject param){
+        EntityWrapper<WrkMastSta> wrapper = new EntityWrapper<>();
+        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+        Map<String, Object> map = excludeTrash(param.getJSONObject("wrkMastSta"));
+        convert(map, wrapper);
+        List<WrkMastSta> list = wrkMastStaService.selectList(wrapper);
+        return R.ok(exportSupport(list, fields));
+    }
+
+    @RequestMapping(value = "/wrkMastStaQuery/auth")
+    @ManagerAuth
+    public R query(String condition) {
+        EntityWrapper<WrkMastSta> wrapper = new EntityWrapper<>();
+        wrapper.like("id", condition);
+        Page<WrkMastSta> page = wrkMastStaService.selectPage(new Page<>(0, 10), wrapper);
+        List<Map<String, Object>> result = new ArrayList<>();
+        for (WrkMastSta wrkMastSta : page.getRecords()){
+            Map<String, Object> map = new HashMap<>();
+            map.put("id", wrkMastSta.getId());
+            map.put("value", wrkMastSta.getId());
+            result.add(map);
+        }
+        return R.ok(result);
+    }
+
+    @RequestMapping(value = "/wrkMastSta/check/column/auth")
+    @ManagerAuth
+    public R query(@RequestBody JSONObject param) {
+        Wrapper<WrkMastSta> wrapper = new EntityWrapper<WrkMastSta>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
+        if (null != wrkMastStaService.selectOne(wrapper)){
+            return R.parse(BaseRes.REPEAT).add(getComment(WrkMastSta.class, String.valueOf(param.get("key"))));
+        }
+        return R.ok();
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/controller/WrkMastStaLogController.java b/src/main/java/com/zy/asrs/controller/WrkMastStaLogController.java
new file mode 100644
index 0000000..9221d7a
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/WrkMastStaLogController.java
@@ -0,0 +1,128 @@
+package com.zy.asrs.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.core.annotations.ManagerAuth;
+import com.core.common.BaseRes;
+import com.core.common.Cools;
+import com.core.common.DateUtils;
+import com.core.common.R;
+import com.zy.asrs.entity.WrkMastStaLog;
+import com.zy.asrs.service.WrkMastStaLogService;
+import com.zy.common.web.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+public class WrkMastStaLogController extends BaseController {
+
+    @Autowired
+    private WrkMastStaLogService wrkMastStaLogService;
+
+    @RequestMapping(value = "/wrkMastStaLog/{id}/auth")
+    @ManagerAuth
+    public R get(@PathVariable("id") String id) {
+        return R.ok(wrkMastStaLogService.selectById(String.valueOf(id)));
+    }
+
+    @RequestMapping(value = "/wrkMastStaLog/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<WrkMastStaLog> wrapper = new EntityWrapper<>();
+        excludeTrash(param);
+        convert(param, wrapper);
+        allLike(WrkMastStaLog.class, param.keySet(), wrapper, condition);
+        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+        wrapper.orderBy("update_time", false);
+        return R.ok(wrkMastStaLogService.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 = "/wrkMastStaLog/add/auth")
+    @ManagerAuth
+    public R add(WrkMastStaLog wrkMastStaLog) {
+        wrkMastStaLogService.insert(wrkMastStaLog);
+        return R.ok();
+    }
+
+	@RequestMapping(value = "/wrkMastStaLog/update/auth")
+	@ManagerAuth
+    public R update(WrkMastStaLog wrkMastStaLog){
+        if (Cools.isEmpty(wrkMastStaLog) || null==wrkMastStaLog.getId()){
+            return R.error();
+        }
+        wrkMastStaLogService.updateById(wrkMastStaLog);
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/wrkMastStaLog/delete/auth")
+    @ManagerAuth
+    public R delete(@RequestParam(value="ids[]") Long[] ids){
+         for (Long id : ids){
+            wrkMastStaLogService.deleteById(id);
+        }
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/wrkMastStaLog/export/auth")
+    @ManagerAuth
+    public R export(@RequestBody JSONObject param){
+        EntityWrapper<WrkMastStaLog> wrapper = new EntityWrapper<>();
+        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+        Map<String, Object> map = excludeTrash(param.getJSONObject("wrkMastStaLog"));
+        convert(map, wrapper);
+        List<WrkMastStaLog> list = wrkMastStaLogService.selectList(wrapper);
+        return R.ok(exportSupport(list, fields));
+    }
+
+    @RequestMapping(value = "/wrkMastStaLogQuery/auth")
+    @ManagerAuth
+    public R query(String condition) {
+        EntityWrapper<WrkMastStaLog> wrapper = new EntityWrapper<>();
+        wrapper.like("id", condition);
+        Page<WrkMastStaLog> page = wrkMastStaLogService.selectPage(new Page<>(0, 10), wrapper);
+        List<Map<String, Object>> result = new ArrayList<>();
+        for (WrkMastStaLog wrkMastStaLog : page.getRecords()){
+            Map<String, Object> map = new HashMap<>();
+            map.put("id", wrkMastStaLog.getId());
+            map.put("value", wrkMastStaLog.getId());
+            result.add(map);
+        }
+        return R.ok(result);
+    }
+
+    @RequestMapping(value = "/wrkMastStaLog/check/column/auth")
+    @ManagerAuth
+    public R query(@RequestBody JSONObject param) {
+        Wrapper<WrkMastStaLog> wrapper = new EntityWrapper<WrkMastStaLog>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
+        if (null != wrkMastStaLogService.selectOne(wrapper)){
+            return R.parse(BaseRes.REPEAT).add(getComment(WrkMastStaLog.class, String.valueOf(param.get("key"))));
+        }
+        return R.ok();
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/BasRgv.java b/src/main/java/com/zy/asrs/entity/BasRgv.java
new file mode 100644
index 0000000..86bffa1
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/BasRgv.java
@@ -0,0 +1,225 @@
+package com.zy.asrs.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import com.core.common.Cools;
+import com.core.common.SpringUtils;
+import com.zy.system.entity.User;
+import com.zy.system.service.UserService;
+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("asr_bas_rgv")
+public class BasRgv implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * RGV缂栧彿
+     */
+    @ApiModelProperty(value= "RGV缂栧彿")
+    @TableId(value = "rgv_no", type = IdType.INPUT)
+    @TableField("rgv_no")
+    private Integer rgvNo;
+
+    /**
+     * 鍙叆
+     */
+    @ApiModelProperty(value= "鍙叆")
+    @TableField("in_enable")
+    private String inEnable;
+
+    /**
+     * 鍙嚭
+     */
+    @ApiModelProperty(value= "鍙嚭")
+    @TableField("out_enable")
+    private String outEnable;
+
+    /**
+     * 浣滀笟鎬�
+     */
+    @ApiModelProperty(value= "浣滀笟鎬�")
+    @TableField("rgv_sts")
+    private Integer rgvSts;
+
+    /**
+     * 浠诲姟鍙�
+     */
+    @ApiModelProperty(value= "浠诲姟鍙�")
+    @TableField("wrk_no1")
+    private Integer wrkNo1;
+
+    /**
+     * 鍫嗗灈鏈哄彿
+     */
+    @ApiModelProperty(value= "鍫嗗灈鏈哄彿")
+    @TableField("wrk_no2")
+    private Integer wrkNo2;
+
+    /**
+     * 閿欒鐮�
+     */
+    @ApiModelProperty(value= "閿欒鐮�")
+    @TableField("rgv_err")
+    private Long rgvErr;
+
+    /**
+     * 鏍囪
+     */
+    @ApiModelProperty(value= "鏍囪")
+    @TableField("pak_mk")
+    private String pakMk;
+
+    /**
+     * 鐘舵�� 1: 姝e父  0: 绂佺敤  
+     */
+    @ApiModelProperty(value= "鐘舵�� 1: 姝e父  0: 绂佺敤  ")
+    private Integer status;
+
+    /**
+     * 娣诲姞浜哄憳
+     */
+    @ApiModelProperty(value= "娣诲姞浜哄憳")
+    @TableField("create_by")
+    private Long createBy;
+
+    /**
+     * 娣诲姞鏃堕棿
+     */
+    @ApiModelProperty(value= "娣诲姞鏃堕棿")
+    @TableField("create_time")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * 淇敼浜哄憳
+     */
+    @ApiModelProperty(value= "淇敼浜哄憳")
+    @TableField("update_by")
+    private Long updateBy;
+
+    /**
+     * 淇敼鏃堕棿
+     */
+    @ApiModelProperty(value= "淇敼鏃堕棿")
+    @TableField("update_time")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    /**
+     * 澶囨敞
+     */
+    @ApiModelProperty(value= "澶囨敞")
+    private String memo;
+
+    /**
+     * 鏄惁鏈夌墿 1: 鏈夌墿  0: 鏃犵墿  
+     */
+    @ApiModelProperty(value= "鏄惁鏈夌墿 1: 鏈夌墿  0: 鏃犵墿  ")
+    private Integer loaded2;
+
+    public BasRgv() {}
+
+    public BasRgv(Integer rgvNo, String inEnable, String outEnable, Integer rgvSts, Integer wrkNo1, Integer wrkNo2, Long rgvErr, String pakMk, Integer status, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo, Integer loaded2) {
+        this.rgvNo = rgvNo;
+        this.inEnable = inEnable;
+        this.outEnable = outEnable;
+        this.rgvSts = rgvSts;
+        this.wrkNo1 = wrkNo1;
+        this.wrkNo2 = wrkNo2;
+        this.rgvErr = rgvErr;
+        this.pakMk = pakMk;
+        this.status = status;
+        this.createBy = createBy;
+        this.createTime = createTime;
+        this.updateBy = updateBy;
+        this.updateTime = updateTime;
+        this.memo = memo;
+        this.loaded2 = loaded2;
+    }
+
+//    BasRgv basRgv = new BasRgv(
+//            null,    // RGV缂栧彿[闈炵┖]
+//            null,    // 鍙叆
+//            null,    // 鍙嚭
+//            null,    // 浣滀笟鎬�
+//            null,    // 浠诲姟鍙�
+//            null,    // 鍫嗗灈鏈哄彿
+//            null,    // 閿欒鐮�
+//            null,    // 鏍囪
+//            null,    // 鐘舵��
+//            null,    // 娣诲姞浜哄憳
+//            null,    // 娣诲姞鏃堕棿
+//            null,    // 淇敼浜哄憳
+//            null,    // 淇敼鏃堕棿
+//            null,    // 澶囨敞
+//            null    // 鏄惁鏈夌墿
+//    );
+
+    public String getStatus$(){
+        if (null == this.status){ return null; }
+        switch (this.status){
+            case 1:
+                return "姝e父";
+            case 0:
+                return "绂佺敤";
+            default:
+                return String.valueOf(this.status);
+        }
+    }
+
+    public String getCreateBy$(){
+        UserService service = SpringUtils.getBean(UserService.class);
+        User user = service.selectById(this.createBy);
+        if (!Cools.isEmpty(user)){
+            return String.valueOf(user.getNickname());
+        }
+        return null;
+    }
+
+    public String getCreateTime$(){
+        if (Cools.isEmpty(this.createTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
+    }
+
+    public String getUpdateBy$(){
+        UserService service = SpringUtils.getBean(UserService.class);
+        User user = service.selectById(this.updateBy);
+        if (!Cools.isEmpty(user)){
+            return String.valueOf(user.getNickname());
+        }
+        return null;
+    }
+
+    public String getUpdateTime$(){
+        if (Cools.isEmpty(this.updateTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
+    }
+
+    public String getLoaded2$(){
+        if (null == this.loaded2){ return null; }
+        switch (this.loaded2){
+            case 1:
+                return "鏈夌墿";
+            case 0:
+                return "鏃犵墿";
+            default:
+                return String.valueOf(this.loaded2);
+        }
+    }
+
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/BasRgvMap.java b/src/main/java/com/zy/asrs/entity/BasRgvMap.java
new file mode 100644
index 0000000..19fc384
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/BasRgvMap.java
@@ -0,0 +1,91 @@
+package com.zy.asrs.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+@TableName("asr_bas_rgv_map")
+public class BasRgvMap implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * RGV缂栧彿
+     */
+    @ApiModelProperty(value= "RGV缂栧彿")
+    @TableId(value = "rgv_no", type = IdType.INPUT)
+    @TableField("rgv_no")
+    private Integer rgvNo;
+
+    /**
+     * 寮�濮嬭寖鍥�
+     */
+    @ApiModelProperty(value= "寮�濮嬭寖鍥�")
+    @TableField("start_route")
+    private Integer startRoute;
+
+    /**
+     * 缁撴潫鑼冨洿
+     */
+    @ApiModelProperty(value= "缁撴潫鑼冨洿")
+    @TableField("end_route")
+    private Integer endRoute;
+
+    /**
+     * 褰撳墠浣嶇疆
+     */
+    @ApiModelProperty(value= "褰撳墠浣嶇疆")
+    @TableField("now_route")
+    private Integer nowRoute;
+
+    /**
+     * 鐘舵��
+     */
+    @ApiModelProperty(value= "鐘舵��")
+    @TableField("rgv_status")
+    private Integer rgvStatus;
+
+    /**
+     * 閿�-寮�濮�-浣嶇疆
+     */
+    @ApiModelProperty(value= "閿�-寮�濮�-浣嶇疆")
+    @TableField("lock_start_route")
+    private Integer lockStartRoute;
+
+    /**
+     * 閿�-缁撴潫-浣嶇疆
+     */
+    @ApiModelProperty(value= "閿�-缁撴潫-浣嶇疆")
+    @TableField("lock_end_route")
+    private Integer lockEndRoute;
+
+    public BasRgvMap() {}
+
+    public BasRgvMap(Integer rgvNo, Integer startRoute, Integer endRoute, Integer nowRoute, Integer rgvStatus, Integer lockStartRoute, Integer lockEndRoute) {
+        this.rgvNo = rgvNo;
+        this.startRoute = startRoute;
+        this.endRoute = endRoute;
+        this.nowRoute = nowRoute;
+        this.rgvStatus = rgvStatus;
+        this.lockStartRoute = lockStartRoute;
+        this.lockEndRoute = lockEndRoute;
+    }
+
+//    BasRgvMap basRgvMap = new BasRgvMap(
+//            null,    // RGV缂栧彿[闈炵┖]
+//            null,    // 寮�濮嬭寖鍥�
+//            null,    // 缁撴潫鑼冨洿
+//            null,    // 褰撳墠浣嶇疆
+//            null,    // 鐘舵��
+//            null,    // 閿�-寮�濮�-浣嶇疆
+//            null    // 閿�-缁撴潫-浣嶇疆
+//    );
+
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/BasRgvPath.java b/src/main/java/com/zy/asrs/entity/BasRgvPath.java
new file mode 100644
index 0000000..605bfbc
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/BasRgvPath.java
@@ -0,0 +1,150 @@
+package com.zy.asrs.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import com.core.common.Cools;
+import com.core.common.SpringUtils;
+import com.zy.system.entity.User;
+import com.zy.system.service.UserService;
+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("asr_bas_rgv_path")
+public class BasRgvPath implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * RGV缂栧彿
+     */
+    @ApiModelProperty(value= "RGV缂栧彿")
+    @TableId(value = "rgv_no", type = IdType.INPUT)
+    @TableField("rgv_no")
+    private Integer rgvNo;
+
+    /**
+     * RGV杩愯璺緞
+     */
+    @ApiModelProperty(value= "RGV杩愯璺緞")
+    private String path;
+
+    /**
+     * 鐘舵�� 1: 姝e父  0: 绂佺敤  
+     */
+    @ApiModelProperty(value= "鐘舵�� 1: 姝e父  0: 绂佺敤  ")
+    private Integer status;
+
+    /**
+     * 娣诲姞浜哄憳
+     */
+    @ApiModelProperty(value= "娣诲姞浜哄憳")
+    @TableField("create_by")
+    private Long createBy;
+
+    /**
+     * 娣诲姞鏃堕棿
+     */
+    @ApiModelProperty(value= "娣诲姞鏃堕棿")
+    @TableField("create_time")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * 淇敼浜哄憳
+     */
+    @ApiModelProperty(value= "淇敼浜哄憳")
+    @TableField("update_by")
+    private Long updateBy;
+
+    /**
+     * 淇敼鏃堕棿
+     */
+    @ApiModelProperty(value= "淇敼鏃堕棿")
+    @TableField("update_time")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    /**
+     * 澶囨敞
+     */
+    @ApiModelProperty(value= "澶囨敞")
+    private String memo;
+
+    public BasRgvPath() {}
+
+    public BasRgvPath(Integer rgvNo, String path, Integer status, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo) {
+        this.rgvNo = rgvNo;
+        this.path = path;
+        this.status = status;
+        this.createBy = createBy;
+        this.createTime = createTime;
+        this.updateBy = updateBy;
+        this.updateTime = updateTime;
+        this.memo = memo;
+    }
+
+//    BasRgvPath basRgvPath = new BasRgvPath(
+//            null,    // RGV缂栧彿[闈炵┖]
+//            null,    // RGV杩愯璺緞
+//            null,    // 鐘舵��
+//            null,    // 娣诲姞浜哄憳
+//            null,    // 娣诲姞鏃堕棿
+//            null,    // 淇敼浜哄憳
+//            null,    // 淇敼鏃堕棿
+//            null    // 澶囨敞
+//    );
+
+    public String getStatus$(){
+        if (null == this.status){ return null; }
+        switch (this.status){
+            case 1:
+                return "姝e父";
+            case 0:
+                return "绂佺敤";
+            default:
+                return String.valueOf(this.status);
+        }
+    }
+
+    public String getCreateBy$(){
+        UserService service = SpringUtils.getBean(UserService.class);
+        User user = service.selectById(this.createBy);
+        if (!Cools.isEmpty(user)){
+            return String.valueOf(user.getNickname());
+        }
+        return null;
+    }
+
+    public String getCreateTime$(){
+        if (Cools.isEmpty(this.createTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
+    }
+
+    public String getUpdateBy$(){
+        UserService service = SpringUtils.getBean(UserService.class);
+        User user = service.selectById(this.updateBy);
+        if (!Cools.isEmpty(user)){
+            return String.valueOf(user.getNickname());
+        }
+        return null;
+    }
+
+    public String getUpdateTime$(){
+        if (Cools.isEmpty(this.updateTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
+    }
+
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/RgvOneSign.java b/src/main/java/com/zy/asrs/entity/RgvOneSign.java
new file mode 100644
index 0000000..d7067e9
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/RgvOneSign.java
@@ -0,0 +1,56 @@
+package com.zy.asrs.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+@TableName("bas_rgv_one_sign")
+public class RgvOneSign implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 缂栧彿
+     */
+    @ApiModelProperty(value= "缂栧彿")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * //0:榛樿 鍙犳弧鑷姩鍏ュ簱
+     * //1锛氶��搴撴ā寮�
+     */
+    @ApiModelProperty(value= "1妤兼爣璁�")
+    @TableField("rgv_one_sign")
+    private Integer rgvOneSign;
+
+    /**
+     * 鍐呭
+     */
+    @ApiModelProperty(value= "oneSign")
+    @TableField("rgv_one_type")
+    private String rgvOneType;
+
+    public RgvOneSign() {}
+
+    public RgvOneSign(Integer rgvOneSign) {
+        this.rgvOneSign = rgvOneSign;
+    }
+
+    public RgvOneSign(Integer rgvOneSign, String rgvOneType) {
+        this.rgvOneSign = rgvOneSign;
+        this.rgvOneType = rgvOneType;
+    }
+
+//    RgvOneSign rgvOneSign = new RgvOneSign(
+//            null    // 鍐呭[闈炵┖]
+//    );
+
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/WrkMastSta.java b/src/main/java/com/zy/asrs/entity/WrkMastSta.java
new file mode 100644
index 0000000..0ada41c
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/WrkMastSta.java
@@ -0,0 +1,275 @@
+package com.zy.asrs.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import com.core.common.Cools;
+import 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("asr_wrk_mast_sta")
+public class WrkMastSta implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+    @ApiModelProperty(value = "ID")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 宸ヤ綔鍙�
+     */
+    @ApiModelProperty(value = "宸ヤ綔鍙�")
+    @TableField("wrk_no")
+    private Long wrkNo;
+
+    /**
+     * 宸ヤ綔妗e紑濮嬩綅缃�
+     */
+    @ApiModelProperty(value = "宸ヤ綔妗e紑濮嬩綅缃�")
+    @TableField("wrk_start")
+    private Integer wrkStart;
+
+    /**
+     * 宸ヤ綔妗g粨鏉熶綅缃�
+     */
+    @ApiModelProperty(value = "宸ヤ綔妗g粨鏉熶綅缃�")
+    @TableField("wrk_end")
+    private Integer wrkEnd;
+
+    /**
+     * 灏忚溅鎺ヨ揣浣嶇疆
+     */
+    @ApiModelProperty(value = "灏忚溅鎺ヨ揣浣嶇疆")
+    @TableField("sta_start")
+    private Integer staStart;
+
+    /**
+     * 灏忚溅鏀捐揣浣嶇疆
+     */
+    @ApiModelProperty(value = "灏忚溅鏀捐揣浣嶇疆")
+    @TableField("sta_end")
+    private Integer staEnd;
+
+    /**
+     * 娣诲姞鏃堕棿
+     */
+    @ApiModelProperty(value = "娣诲姞鏃堕棿")
+    @TableField("create_time")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * 淇敼鏃堕棿
+     */
+    @ApiModelProperty(value = "淇敼鏃堕棿")
+    @TableField("update_time")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    /**
+     * 绫诲瀷 1:闈炵┖  2:绌烘澘
+     */
+    @ApiModelProperty(value = "绫诲瀷 1:闈炵┖  2:绌烘澘")
+    private Integer type;
+
+    /**
+     * 宸ヤ綔鐘舵�� 0锛氬垵濮� 1锛氱瓑寰呭皬杞﹀彇 2锛氱瓑寰呭皬杞︽斁 3锛氬畬鎴�
+     */
+    @ApiModelProperty(value = "宸ヤ綔鐘舵�� 0锛氬垵濮� 1锛氱瓑寰呭皬杞﹀彇 2锛氱瓑寰呭皬杞︽斁 3锛氬畬鎴�")
+    @TableField("wrk_sts")
+    private Integer wrkSts;
+
+    /**
+     * 琛屽彿
+     */
+    @ApiModelProperty(value = "琛屽彿")
+    @TableField("line_number")
+    private Integer lineNumber;
+
+    /**
+     * 宸ヤ綔绫诲瀷 1:鍙栵紙鍙犵洏锛�  2锛氭媶鐩�  3锛氬彇鏀� 5锛氭弧鍙�  6锛氭弧鏀�
+     */
+    @ApiModelProperty(value = "宸ヤ綔绫诲瀷  1:鍙栵紙鍙犵洏锛�  2锛氭媶鐩�  3锛氬彇鏀� 5锛氭弧鍙�  6锛氭弧鏀�")
+    @TableField("wrk_type")
+    private Integer wrkType;
+
+    /**
+     * 鏍囪鏃堕棿
+     */
+    @ApiModelProperty(value = "鏍囪鏃堕棿")
+    @TableField("bign_time")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date bignTime;
+
+    public WrkMastSta() {
+    }
+
+    public WrkMastSta(WrkMast wrkMast, Date now, BasDevp basDevp) {
+        this.wrkNo = wrkMast.getWrkNo().longValue();
+        this.wrkStart = wrkMast.getSourceStaNo();
+        this.wrkEnd = wrkMast.getStaNo();
+        this.staStart = basDevp.getDevNo();
+        this.staEnd = getStaEnd(wrkMast.getStaNo());
+        this.createTime = now;
+        this.updateTime = now;
+        this.wrkSts = 0;
+        this.bignTime = now;
+    }
+
+    public WrkMastSta(Date now, Integer staStart) {
+        this.wrkNo = staStart.longValue()+19999L;
+        this.wrkStart = staStart;
+        this.wrkEnd = staStart;
+        this.staStart = staStart;
+        this.staEnd = staStart;
+        this.createTime = now;
+        this.updateTime = now;
+        this.wrkSts = 0;
+        this.bignTime = now;
+    }
+
+    public WrkMastSta(Long wrkNo, Integer wrkStart, Integer wrkEnd, Integer staStart, Integer staEnd, Date createTime, Date updateTime, Integer type, Integer wrkSts, Integer lineNumber, Integer wrkType, Date bignTime) {
+        this.wrkNo = wrkNo;
+        this.wrkStart = wrkStart;
+        this.wrkEnd = wrkEnd;
+        this.staStart = staStart;
+        this.staEnd = staEnd;
+        this.createTime = createTime;
+        this.updateTime = updateTime;
+        this.type = type;
+        this.wrkSts = wrkSts;
+        this.lineNumber = lineNumber;
+        this.wrkType = wrkType;
+        this.bignTime = bignTime;
+    }
+
+//    WrkMastSta wrkMastSta = new WrkMastSta(
+//            null,    // 宸ヤ綔鍙穂闈炵┖]
+//            null,    // 宸ヤ綔妗e紑濮嬩綅缃甗闈炵┖]
+//            null,    // 宸ヤ綔妗g粨鏉熶綅缃甗闈炵┖]
+//            null,    // 灏忚溅鎺ヨ揣浣嶇疆[闈炵┖]
+//            null,    // 灏忚溅鏀捐揣浣嶇疆[闈炵┖]
+//            null,    // 娣诲姞鏃堕棿
+//            null,    // 淇敼鏃堕棿
+//            null,    // 绫诲瀷 0:闈炵┖  1:绌烘澘[闈炵┖]
+//            null,    // 宸ヤ綔鐘舵�� 0锛氬垵濮� 1锛氱瓑寰呭皬杞﹀彇 2锛氱瓑寰呭皬杞︽斁 3锛氬畬鎴怺闈炵┖]
+//            null,    // 琛屽彿[闈炵┖]
+//            null,    // 宸ヤ綔绫诲瀷[闈炵┖]
+//            null    // 鏍囪鏃堕棿
+//    );
+
+    public String getCreateTime$() {
+        if (Cools.isEmpty(this.createTime)) {
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
+    }
+
+    public String getUpdateTime$() {
+        if (Cools.isEmpty(this.updateTime)) {
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
+    }
+
+    public String getBignTime$() {
+        if (Cools.isEmpty(this.bignTime)) {
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.bignTime);
+    }
+
+    public Integer getStaEnd(Integer souSta) {
+        switch (souSta) {
+            case 100:
+            case 103:
+            case 106:
+            case 109:
+            case 112:
+            case 115:
+                return souSta + 1;
+            default:
+                return souSta;
+        }
+    }
+
+    public String getType$() {
+        if (Cools.isEmpty(this.type)) {
+            return "";
+        }
+        switch (this.type) {
+            case 1:
+                return "闈炵┖";
+            case 2:
+                return "绌烘澘";
+            default:
+                return "";
+        }
+    }
+
+    /**
+     * 宸ヤ綔鐘舵�� 0锛氬垵濮� 1锛氱瓑寰呭皬杞﹀彇 2锛氱瓑寰呭皬杞︽斁 3锛氬畬鎴�
+     */
+    public String getWrkSts$() {
+        if (Cools.isEmpty(this.wrkSts)) {
+            try {
+                if (this.wrkSts==0){
+                    return "鍒濆";
+                }
+            }catch (Exception e){
+                return "";
+            }
+            return "";
+        }
+        switch (this.wrkSts) {
+            case 0:
+                return "鍒濆";
+            case 1:
+                return "绛夊緟灏忚溅鍙�";
+            case 2:
+                return "绛夊緟灏忚溅鏀�";
+            case 3:
+                return "瀹屾垚";
+            default:
+                return "";
+        }
+    }
+
+    /**
+     * 宸ヤ綔绫诲瀷 1:鍙栵紙鍙犵洏锛�  2锛氭媶鐩�  3锛氬彇鏀� 5锛氭弧鍙�  6锛氭弧鏀�
+     */
+    public String getWrkType$() {
+        if (Cools.isEmpty(this.wrkType)) {
+            return "";
+        }
+        switch (this.wrkType) {
+            case 1:
+                return "鍙犵洏";
+            case 2:
+                return "鎷嗙洏";
+            case 3:
+                return "鍙栨斁";
+            case 4:
+                return "琛岃蛋";
+            case 5:
+                return "婊″彇";
+            case 6:
+                return "婊℃斁";
+            default:
+                return "";
+        }
+    }
+
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/WrkMastStaLog.java b/src/main/java/com/zy/asrs/entity/WrkMastStaLog.java
new file mode 100644
index 0000000..103acf6
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/WrkMastStaLog.java
@@ -0,0 +1,260 @@
+package com.zy.asrs.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import com.core.common.Cools;
+import com.zy.common.utils.Synchro;
+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("asr_wrk_mast_sta_log")
+public class WrkMastStaLog implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+    @ApiModelProperty(value= "ID")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 宸ヤ綔鍙�
+     */
+    @ApiModelProperty(value= "宸ヤ綔鍙�")
+    @TableField("wrk_no")
+    private Long wrkNo;
+
+    /**
+     * 宸ヤ綔妗e紑濮嬩綅缃�
+     */
+    @ApiModelProperty(value= "宸ヤ綔妗e紑濮嬩綅缃�")
+    @TableField("wrk_start")
+    private Integer wrkStart;
+
+    /**
+     * 宸ヤ綔妗g粨鏉熶綅缃�
+     */
+    @ApiModelProperty(value= "宸ヤ綔妗g粨鏉熶綅缃�")
+    @TableField("wrk_end")
+    private Integer wrkEnd;
+
+    /**
+     * 灏忚溅鎺ヨ揣浣嶇疆
+     */
+    @ApiModelProperty(value= "灏忚溅鎺ヨ揣浣嶇疆")
+    @TableField("sta_start")
+    private Integer staStart;
+
+    /**
+     * 灏忚溅鏀捐揣浣嶇疆
+     */
+    @ApiModelProperty(value= "灏忚溅鏀捐揣浣嶇疆")
+    @TableField("sta_end")
+    private Integer staEnd;
+
+    /**
+     * 娣诲姞鏃堕棿
+     */
+    @ApiModelProperty(value= "娣诲姞鏃堕棿")
+    @TableField("create_time")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * 淇敼鏃堕棿
+     */
+    @ApiModelProperty(value= "淇敼鏃堕棿")
+    @TableField("update_time")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    /**
+     * 绫诲瀷 0:婊$増  1:绌烘澘
+     */
+    @ApiModelProperty(value= "绫诲瀷 0:婊$増  1:绌烘澘")
+    private Integer type;
+
+    /**
+     * 宸ヤ綔鐘舵�� 0锛氬垵濮� 1锛氱瓑寰呭皬杞﹀彇 2锛氱瓑寰呭皬杞︽斁 3锛氬畬鎴�
+     */
+    @ApiModelProperty(value= "宸ヤ綔鐘舵�� 0锛氬垵濮� 1锛氱瓑寰呭皬杞﹀彇 2锛氱瓑寰呭皬杞︽斁 3锛氬畬鎴�")
+    @TableField("wrk_sts")
+    private Integer wrkSts;
+
+    /**
+     * 琛屽彿
+     */
+    @ApiModelProperty(value= "琛屽彿")
+    @TableField("line_number")
+    private Integer lineNumber;
+
+    /**
+     * 宸ヤ綔绫诲瀷  绫诲瀷  1:鍙栵紙鍙犵洏锛�  2锛氭斁 3锛氬彇鏀� 4锛氭媶鐩�
+     */
+    @ApiModelProperty(value= "宸ヤ綔绫诲瀷  绫诲瀷  1:鍙栵紙鍙犵洏锛�  2锛氭斁 3锛氬彇鏀� 4锛氭媶鐩�")
+    @TableField("wrk_type")
+    private Integer wrkType;
+
+    /**
+     * 鏍囪鏃堕棿
+     */
+    @ApiModelProperty(value= "鏍囪鏃堕棿")
+    @TableField("bign_time")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date bignTime;
+
+    @ApiModelProperty(value= "")
+    @TableField("wrk_crn")
+    private Integer wrkCrn;
+
+    public WrkMastStaLog() {}
+
+    public WrkMastStaLog(Long wrkNo, Integer wrkStart, Integer wrkEnd, Integer staStart, Integer staEnd, Date createTime, Date updateTime, Integer type, Integer wrkSts, Integer lineNumber, Integer wrkType, Date bignTime, Integer wrkCrn) {
+        this.wrkNo = wrkNo;
+        this.wrkStart = wrkStart;
+        this.wrkEnd = wrkEnd;
+        this.staStart = staStart;
+        this.staEnd = staEnd;
+        this.createTime = createTime;
+        this.updateTime = updateTime;
+        this.type = type;
+        this.wrkSts = wrkSts;
+        this.lineNumber = lineNumber;
+        this.wrkType = wrkType;
+        this.bignTime = bignTime;
+        this.wrkCrn = wrkCrn;
+    }
+
+//    WrkMastStaLog wrkMastStaLog = new WrkMastStaLog(
+//            null,    // 宸ヤ綔鍙穂闈炵┖]
+//            null,    // 宸ヤ綔妗e紑濮嬩綅缃甗闈炵┖]
+//            null,    // 宸ヤ綔妗g粨鏉熶綅缃甗闈炵┖]
+//            null,    // 灏忚溅鎺ヨ揣浣嶇疆[闈炵┖]
+//            null,    // 灏忚溅鏀捐揣浣嶇疆[闈炵┖]
+//            null,    // 娣诲姞鏃堕棿
+//            null,    // 淇敼鏃堕棿
+//            null,    // 绫诲瀷 0:婊$増  1:绌烘澘[闈炵┖]
+//            null,    // 宸ヤ綔鐘舵�� 0锛氬垵濮� 1锛氱瓑寰呭皬杞﹀彇 2锛氱瓑寰呭皬杞︽斁 3锛氬畬鎴怺闈炵┖]
+//            null,    // 琛屽彿[闈炵┖]
+//            null,    // 宸ヤ綔绫诲瀷  绫诲瀷  1:鍙栵紙鍙犵洏锛�  2锛氭斁 3锛氬彇鏀� 4锛氭媶鐩榌闈炵┖]
+//            null,    // 鏍囪鏃堕棿
+//            null    // 
+//    );
+
+    public String getCreateTime$(){
+        if (Cools.isEmpty(this.createTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
+    }
+
+    public String getUpdateTime$(){
+        if (Cools.isEmpty(this.updateTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
+    }
+
+    public String getBignTime$(){
+        if (Cools.isEmpty(this.bignTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.bignTime);
+    }
+
+    public void sync(Object source) {
+        Synchro.Copy(source, this);
+    }
+
+    public Integer getStaEnd(Integer souSta) {
+        switch (souSta) {
+            case 100:
+            case 103:
+            case 106:
+            case 109:
+            case 112:
+            case 115:
+                return souSta + 1;
+            default:
+                return souSta;
+        }
+    }
+
+    public String getType$() {
+        if (Cools.isEmpty(this.type)) {
+            return "鏈煡";
+        }
+        switch (this.type) {
+            case 1:
+                return "闈炵┖";
+            case 2:
+                return "绌烘澘";
+            default:
+                return "鏈煡";
+        }
+    }
+
+    /**
+     * 宸ヤ綔鐘舵�� 0锛氬垵濮� 1锛氱瓑寰呭皬杞﹀彇 2锛氱瓑寰呭皬杞︽斁 3锛氬畬鎴�
+     */
+    public String getWrkSts$() {
+        if (Cools.isEmpty(this.wrkSts)) {
+            try {
+                if (this.wrkSts==0){
+                    return "鍒濆";
+                }
+            }catch (Exception e){
+                return "鏈煡";
+            }
+            return "鏈煡";
+        }
+        switch (this.wrkSts) {
+            case 0:
+                return "鍒濆";
+            case 1:
+                return "绛夊緟灏忚溅鍙�";
+            case 2:
+                return "绛夊緟灏忚溅鏀�";
+            case 3:
+                return "瀹屾垚";
+            default:
+                return "鏈煡";
+        }
+    }
+
+    /**
+     * 宸ヤ綔绫诲瀷 1:鍙栵紙鍙犵洏锛�  2锛氭媶鐩�  3锛氬彇鏀� 5锛氭弧鍙�  6锛氭弧鏀�
+     */
+    public String getWrkType$() {
+        if (Cools.isEmpty(this.wrkType)) {
+            return "鏈煡";
+        }
+        switch (this.wrkType) {
+            case 1:
+                return "鍙犵洏";
+            case 2:
+                return "鎷嗙洏";
+            case 3:
+                return "鍙栨斁";
+            case 4:
+                return "琛岃蛋";
+            case 5:
+                return "婊″彇";
+            case 6:
+                return "婊℃斁";
+            default:
+                return "鏈煡";
+        }
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/BasRgvMapMapper.java b/src/main/java/com/zy/asrs/mapper/BasRgvMapMapper.java
new file mode 100644
index 0000000..9f6ffa2
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/BasRgvMapMapper.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.BasRgvMap;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface BasRgvMapMapper extends BaseMapper<BasRgvMap> {
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/BasRgvMapper.java b/src/main/java/com/zy/asrs/mapper/BasRgvMapper.java
new file mode 100644
index 0000000..b426ee2
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/BasRgvMapper.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.BasRgv;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface BasRgvMapper extends BaseMapper<BasRgv> {
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/BasRgvPathMapper.java b/src/main/java/com/zy/asrs/mapper/BasRgvPathMapper.java
new file mode 100644
index 0000000..6edcb41
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/BasRgvPathMapper.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.BasRgvPath;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface BasRgvPathMapper extends BaseMapper<BasRgvPath> {
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/RgvOneSignMapper.java b/src/main/java/com/zy/asrs/mapper/RgvOneSignMapper.java
new file mode 100644
index 0000000..0f90a0a
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/RgvOneSignMapper.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.RgvOneSign;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface RgvOneSignMapper extends BaseMapper<RgvOneSign> {
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastStaLogMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastStaLogMapper.java
new file mode 100644
index 0000000..7997c16
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastStaLogMapper.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.WrkMastStaLog;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface WrkMastStaLogMapper extends BaseMapper<WrkMastStaLog> {
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java
new file mode 100644
index 0000000..a3d0d37
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.WrkMastSta;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface WrkMastStaMapper extends BaseMapper<WrkMastSta> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/BasRgvMapService.java b/src/main/java/com/zy/asrs/service/BasRgvMapService.java
new file mode 100644
index 0000000..85865b8
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/BasRgvMapService.java
@@ -0,0 +1,8 @@
+package com.zy.asrs.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.BasRgvMap;
+
+public interface BasRgvMapService extends IService<BasRgvMap> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/BasRgvPathService.java b/src/main/java/com/zy/asrs/service/BasRgvPathService.java
new file mode 100644
index 0000000..a0e5859
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/BasRgvPathService.java
@@ -0,0 +1,8 @@
+package com.zy.asrs.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.BasRgvPath;
+
+public interface BasRgvPathService extends IService<BasRgvPath> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/BasRgvService.java b/src/main/java/com/zy/asrs/service/BasRgvService.java
new file mode 100644
index 0000000..29dac13
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/BasRgvService.java
@@ -0,0 +1,8 @@
+package com.zy.asrs.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.BasRgv;
+
+public interface BasRgvService extends IService<BasRgv> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/RgvOneSignService.java b/src/main/java/com/zy/asrs/service/RgvOneSignService.java
new file mode 100644
index 0000000..6749d8a
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/RgvOneSignService.java
@@ -0,0 +1,8 @@
+package com.zy.asrs.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.RgvOneSign;
+
+public interface RgvOneSignService extends IService<RgvOneSign> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/WrkMastStaLogService.java b/src/main/java/com/zy/asrs/service/WrkMastStaLogService.java
new file mode 100644
index 0000000..60149f0
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/WrkMastStaLogService.java
@@ -0,0 +1,8 @@
+package com.zy.asrs.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.WrkMastStaLog;
+
+public interface WrkMastStaLogService extends IService<WrkMastStaLog> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/WrkMastStaService.java b/src/main/java/com/zy/asrs/service/WrkMastStaService.java
new file mode 100644
index 0000000..aa86196
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/WrkMastStaService.java
@@ -0,0 +1,8 @@
+package com.zy.asrs.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.WrkMastSta;
+
+public interface WrkMastStaService extends IService<WrkMastSta> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/BasRgvMapServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasRgvMapServiceImpl.java
new file mode 100644
index 0000000..5e714ab
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/BasRgvMapServiceImpl.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.asrs.entity.BasRgvMap;
+import com.zy.asrs.mapper.BasRgvMapMapper;
+import com.zy.asrs.service.BasRgvMapService;
+import org.springframework.stereotype.Service;
+
+@Service("basRgvMapService")
+public class BasRgvMapServiceImpl extends ServiceImpl<BasRgvMapMapper, BasRgvMap> implements BasRgvMapService {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/BasRgvPathService.java b/src/main/java/com/zy/asrs/service/impl/BasRgvPathService.java
new file mode 100644
index 0000000..0dfaf2d
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/BasRgvPathService.java
@@ -0,0 +1,8 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.BasRgvPath;
+
+public interface BasRgvPathService extends IService<BasRgvPath> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/BasRgvPathServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasRgvPathServiceImpl.java
new file mode 100644
index 0000000..b71064f
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/BasRgvPathServiceImpl.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.asrs.entity.BasRgvPath;
+import com.zy.asrs.mapper.BasRgvPathMapper;
+import com.zy.asrs.service.BasRgvPathService;
+import org.springframework.stereotype.Service;
+
+@Service("basRgvPathService")
+public class BasRgvPathServiceImpl extends ServiceImpl<BasRgvPathMapper, BasRgvPath> implements BasRgvPathService {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/BasRgvServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasRgvServiceImpl.java
new file mode 100644
index 0000000..0fbdc7c
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/BasRgvServiceImpl.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.asrs.entity.BasRgv;
+import com.zy.asrs.mapper.BasRgvMapper;
+import com.zy.asrs.service.BasRgvService;
+import org.springframework.stereotype.Service;
+
+@Service("basRgvService")
+public class BasRgvServiceImpl extends ServiceImpl<BasRgvMapper, BasRgv> implements BasRgvService {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/RgvOneSignServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/RgvOneSignServiceImpl.java
new file mode 100644
index 0000000..e9a19ed
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/RgvOneSignServiceImpl.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.asrs.entity.RgvOneSign;
+import com.zy.asrs.mapper.RgvOneSignMapper;
+import com.zy.asrs.service.RgvOneSignService;
+import org.springframework.stereotype.Service;
+
+@Service("rgvOneSignService")
+public class RgvOneSignServiceImpl extends ServiceImpl<RgvOneSignMapper, RgvOneSign> implements RgvOneSignService {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkMastStaLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkMastStaLogServiceImpl.java
new file mode 100644
index 0000000..dc09bb4
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/WrkMastStaLogServiceImpl.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.asrs.entity.WrkMastStaLog;
+import com.zy.asrs.mapper.WrkMastStaLogMapper;
+import com.zy.asrs.service.WrkMastStaLogService;
+import org.springframework.stereotype.Service;
+
+@Service("wrkMastStaLogService")
+public class WrkMastStaLogServiceImpl extends ServiceImpl<WrkMastStaLogMapper, WrkMastStaLog> implements WrkMastStaLogService {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkMastStaServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkMastStaServiceImpl.java
new file mode 100644
index 0000000..f72f40a
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/WrkMastStaServiceImpl.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.asrs.entity.WrkMastSta;
+import com.zy.asrs.mapper.WrkMastStaMapper;
+import com.zy.asrs.service.WrkMastStaService;
+import org.springframework.stereotype.Service;
+
+@Service("wrkMastStaService")
+public class WrkMastStaServiceImpl extends ServiceImpl<WrkMastStaMapper, WrkMastSta> implements WrkMastStaService {
+
+}
diff --git a/src/main/resources/mapper/BasRgvMapMapper.xml b/src/main/resources/mapper/BasRgvMapMapper.xml
new file mode 100644
index 0000000..a4f5bae
--- /dev/null
+++ b/src/main/resources/mapper/BasRgvMapMapper.xml
@@ -0,0 +1,17 @@
+<?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.BasRgvMapMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.BasRgvMap">
+        <result column="rgv_no" property="rgvNo" />
+        <result column="start_route" property="startRoute" />
+        <result column="end_route" property="endRoute" />
+        <result column="now_route" property="nowRoute" />
+        <result column="rgv_status" property="rgvStatus" />
+        <result column="lock_start_route" property="lockStartRoute" />
+        <result column="lock_end_route" property="lockEndRoute" />
+
+    </resultMap>
+
+</mapper>
diff --git a/src/main/resources/mapper/BasRgvMapper.xml b/src/main/resources/mapper/BasRgvMapper.xml
new file mode 100644
index 0000000..dd26a01
--- /dev/null
+++ b/src/main/resources/mapper/BasRgvMapper.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.BasRgvMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.BasRgv">
+        <result column="rgv_no" property="rgvNo" />
+        <result column="in_enable" property="inEnable" />
+        <result column="out_enable" property="outEnable" />
+        <result column="rgv_sts" property="rgvSts" />
+        <result column="wrk_no1" property="wrkNo1" />
+        <result column="wrk_no2" property="wrkNo2" />
+        <result column="rgv_err" property="rgvErr" />
+        <result column="pak_mk" property="pakMk" />
+        <result column="status" property="status" />
+        <result column="create_by" property="createBy" />
+        <result column="create_time" property="createTime" />
+        <result column="update_by" property="updateBy" />
+        <result column="update_time" property="updateTime" />
+        <result column="memo" property="memo" />
+        <result column="loaded2" property="loaded2" />
+
+    </resultMap>
+
+</mapper>
diff --git a/src/main/resources/mapper/BasRgvPathMapper.xml b/src/main/resources/mapper/BasRgvPathMapper.xml
new file mode 100644
index 0000000..5568247
--- /dev/null
+++ b/src/main/resources/mapper/BasRgvPathMapper.xml
@@ -0,0 +1,18 @@
+<?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.BasRgvPathMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.BasRgvPath">
+        <result column="rgv_no" property="rgvNo" />
+        <result column="path" property="path" />
+        <result column="status" property="status" />
+        <result column="create_by" property="createBy" />
+        <result column="create_time" property="createTime" />
+        <result column="update_by" property="updateBy" />
+        <result column="update_time" property="updateTime" />
+        <result column="memo" property="memo" />
+
+    </resultMap>
+
+</mapper>
diff --git a/src/main/resources/mapper/RgvOneSignMapper.xml b/src/main/resources/mapper/RgvOneSignMapper.xml
new file mode 100644
index 0000000..fd6cc5f
--- /dev/null
+++ b/src/main/resources/mapper/RgvOneSignMapper.xml
@@ -0,0 +1,13 @@
+<?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.RgvOneSignMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.RgvOneSign">
+        <id column="id" property="id" />
+        <result column="rgv_one_sign" property="rgvOneSign" />
+        <result column="rgv_one_type" property="rgvOneType" />
+
+    </resultMap>
+
+</mapper>
diff --git a/src/main/resources/mapper/WrkMastStaLogMapper.xml b/src/main/resources/mapper/WrkMastStaLogMapper.xml
new file mode 100644
index 0000000..169895d
--- /dev/null
+++ b/src/main/resources/mapper/WrkMastStaLogMapper.xml
@@ -0,0 +1,24 @@
+<?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.WrkMastStaLogMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.WrkMastStaLog">
+        <id column="id" property="id" />
+        <result column="wrk_no" property="wrkNo" />
+        <result column="wrk_start" property="wrkStart" />
+        <result column="wrk_end" property="wrkEnd" />
+        <result column="sta_start" property="staStart" />
+        <result column="sta_end" property="staEnd" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+        <result column="type" property="type" />
+        <result column="wrk_sts" property="wrkSts" />
+        <result column="line_number" property="lineNumber" />
+        <result column="wrk_type" property="wrkType" />
+        <result column="bign_time" property="bignTime" />
+        <result column="wrk_crn" property="wrkCrn" />
+
+    </resultMap>
+
+</mapper>
diff --git a/src/main/resources/mapper/WrkMastStaMapper.xml b/src/main/resources/mapper/WrkMastStaMapper.xml
new file mode 100644
index 0000000..9b30ed6
--- /dev/null
+++ b/src/main/resources/mapper/WrkMastStaMapper.xml
@@ -0,0 +1,23 @@
+<?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.WrkMastStaMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.WrkMastSta">
+        <id column="id" property="id" />
+        <result column="wrk_no" property="wrkNo" />
+        <result column="wrk_start" property="wrkStart" />
+        <result column="wrk_end" property="wrkEnd" />
+        <result column="sta_start" property="staStart" />
+        <result column="sta_end" property="staEnd" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+        <result column="type" property="type" />
+        <result column="wrk_sts" property="wrkSts" />
+        <result column="line_number" property="lineNumber" />
+        <result column="wrk_type" property="wrkType" />
+        <result column="bign_time" property="bignTime" />
+
+    </resultMap>
+
+</mapper>
diff --git a/src/main/webapp/static/js/basRgv/basRgv.js b/src/main/webapp/static/js/basRgv/basRgv.js
new file mode 100644
index 0000000..6dd90f2
--- /dev/null
+++ b/src/main/webapp/static/js/basRgv/basRgv.js
@@ -0,0 +1,269 @@
+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: '#basRgv',
+        headers: {token: localStorage.getItem('token')},
+        url: baseUrl+'/basRgv/list/auth',
+        page: true,
+        limit: 15,
+        limits: [15, 30, 50, 100, 200, 500],
+        toolbar: '#toolbar',
+        cellMinWidth: 50,
+        height: 'full-120',
+        cols: [[
+            {type: 'checkbox'}
+            ,{field: 'rgvNo', align: 'center',title: 'RGV缂栧彿'}
+            ,{field: 'inEnable', align: 'center',title: '鍙叆'}
+            ,{field: 'outEnable', align: 'center',title: '鍙嚭'}
+            ,{field: 'rgvSts', align: 'center',title: '浣滀笟鎬�'}
+            ,{field: 'wrkNo1', align: 'center',title: '浠诲姟鍙�'}
+            ,{field: 'wrkNo2', align: 'center',title: '鍫嗗灈鏈哄彿'}
+            ,{field: 'rgvErr', align: 'center',title: '閿欒鐮�'}
+            ,{field: 'pakMk', align: 'center',title: '鏍囪'}
+            ,{field: 'status$', align: 'center',title: '鐘舵��'}
+            ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳'}
+            ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'}
+            ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳'}
+            ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'}
+            ,{field: 'memo', align: 'center',title: '澶囨敞'}
+            ,{field: 'loaded2$', 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(basRgv)', 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(basRgv)', 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.rgvNo;
+               }));
+               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 = {
+                        'basRgv': exportData,
+                        'fields': fields
+                    };
+                    $.ajax({
+                        url: baseUrl+"/basRgv/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(basRgv)', function(obj){
+        var data = obj.data;
+        switch (obj.event) {
+            case 'edit':
+                showEditModel(data);
+                break;
+            case "del":
+                del([data.rgvNo]);
+                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+"/basRgv/"+(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+"/basRgv/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: '#createTime\\$',
+                type: 'datetime',
+                value: data!==undefined?data['createTime\\$']:null
+            });
+            layDate.render({
+                elem: '#updateTime\\$',
+                type: 'datetime',
+                value: data!==undefined?data['updateTime\\$']:null
+            });
+
+        }, 300);
+    }
+    layDateRender();
+
+});
+
+// 鍏抽棴鍔ㄤ綔
+$(document).on('click','#data-detail-close', function () {
+    parent.layer.closeAll();
+});
+
+function tableReload(child) {
+    var searchData = {};
+    $.each($('#search-box [name]').serializeArray(), function() {
+        searchData[this.name] = this.value;
+    });
+    tableIns.reload({
+        where: searchData,
+        page: {curr: pageCurr}
+     });
+}
diff --git a/src/main/webapp/static/js/basRgvMap/basRgvMap.js b/src/main/webapp/static/js/basRgvMap/basRgvMap.js
new file mode 100644
index 0000000..6af4954
--- /dev/null
+++ b/src/main/webapp/static/js/basRgvMap/basRgvMap.js
@@ -0,0 +1,251 @@
+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: '#basRgvMap',
+        headers: {token: localStorage.getItem('token')},
+        url: baseUrl+'/basRgvMap/list/auth',
+        page: true,
+        limit: 15,
+        limits: [15, 30, 50, 100, 200, 500],
+        toolbar: '#toolbar',
+        cellMinWidth: 50,
+        height: 'full-120',
+        cols: [[
+            {type: 'checkbox'}
+            ,{field: 'rgvNo', align: 'center',title: 'RGV缂栧彿'}
+            ,{field: 'startRoute', align: 'center',title: '寮�濮嬭寖鍥�'}
+            ,{field: 'endRoute', align: 'center',title: '缁撴潫鑼冨洿'}
+            ,{field: 'nowRoute', align: 'center',title: '褰撳墠浣嶇疆'}
+            ,{field: 'rgvStatus', align: 'center',title: '鐘舵��'}
+            ,{field: 'lockStartRoute', align: 'center',title: '閿�-寮�濮�-浣嶇疆'}
+            ,{field: 'lockEndRoute', 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(basRgvMap)', 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(basRgvMap)', 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.rgvNo;
+               }));
+               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 = {
+                        'basRgvMap': exportData,
+                        'fields': fields
+                    };
+                    $.ajax({
+                        url: baseUrl+"/basRgvMap/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(basRgvMap)', function(obj){
+        var data = obj.data;
+        switch (obj.event) {
+            case 'edit':
+                showEditModel(data);
+                break;
+            case "del":
+                del([data.rgvNo]);
+                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+"/basRgvMap/"+(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+"/basRgvMap/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/basRgvPath/basRgvPath.js b/src/main/webapp/static/js/basRgvPath/basRgvPath.js
new file mode 100644
index 0000000..953e540
--- /dev/null
+++ b/src/main/webapp/static/js/basRgvPath/basRgvPath.js
@@ -0,0 +1,282 @@
+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: '#basRgvPath',
+        headers: {token: localStorage.getItem('token')},
+        url: baseUrl+'/basRgvPath/list/auth',
+        page: true,
+        limit: 15,
+        limits: [15, 30, 50, 100, 200, 500],
+        toolbar: '#toolbar',
+        cellMinWidth: 50,
+        height: 'full-120',
+        cols: [[
+            {type: 'checkbox'}
+            ,{field: 'rgvNo', align: 'center',title: 'RGV缂栧彿'}
+            ,{field: 'path', align: 'center',title: 'RGV杩愯璺緞'}
+            ,{field: 'status$', align: 'center',title: '鐘舵��'}
+            // ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳'}
+            // ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'}
+            // ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳'}
+            // ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'}
+            ,{field: 'memo', align: 'center',title: '澶囨敞'}
+
+            ,{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(basRgvPath)', 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(basRgvPath)', 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.rgvNo;
+               }));
+               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 = {
+                        'basRgvPath': exportData,
+                        'fields': fields
+                    };
+                    $.ajax({
+                        url: baseUrl+"/basRgvPath/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(basRgvPath)', function(obj){
+        var data = obj.data;
+        switch (obj.event) {
+            case 'edit':
+                showEditModel(data);
+                break;
+            case "del":
+                del([data.rgvNo]);
+                break;
+        }
+    });
+
+    /* 寮圭獥 - 鏂板銆佷慨鏀� */
+    function showEditModel(mData) {
+        admin.open({
+            type: 1,
+            area: '600px',
+            title: (mData ? '淇敼' : '娣诲姞') + 'RGV璺緞',
+            content: $('#editDialog').html(),
+            success: function (layero, dIndex) {
+                if (mData !== undefined) {
+                    var path = JSON.parse(mData.path);
+                    path.forEach((item,idx) => {
+                        $('input[type=checkbox]').each(function() {
+                            if (parseInt($(this).val()) === item) {
+                                $(this).attr("checked", true);
+                            }
+                        });
+                    })
+                }
+                layDateRender(mData);
+                form.val('detail', mData);
+
+                form.on('submit(editSubmit)', function (data) {
+                    var loadIndex = layer.load(2);
+                    var path = [];
+                    $('input[type=checkbox]:checked').each(function() {
+                        path.push(parseInt($(this).val()));
+                    });
+                    $.ajax({
+                        url: baseUrl+"/basRgvPath/"+(mData?'update':'add')+"/auth",
+                        headers: {'token': localStorage.getItem('token')},
+                        data: {
+                            path: JSON.stringify(path),
+                            rgvNo: data.field.rgvNo,
+                            status: data.field.status,
+                            memo: data.field.memo
+                        },
+                        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+"/basRgvPath/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: '#createTime\\$',
+                type: 'datetime',
+                value: data!==undefined?data['createTime\\$']:null
+            });
+            layDate.render({
+                elem: '#updateTime\\$',
+                type: 'datetime',
+                value: data!==undefined?data['updateTime\\$']:null
+            });
+
+        }, 300);
+    }
+    layDateRender();
+
+});
+
+// 鍏抽棴鍔ㄤ綔
+$(document).on('click','#data-detail-close', function () {
+    parent.layer.closeAll();
+});
+
+function tableReload(child) {
+    var searchData = {};
+    $.each($('#search-box [name]').serializeArray(), function() {
+        searchData[this.name] = this.value;
+    });
+    tableIns.reload({
+        where: searchData,
+        page: {curr: pageCurr}
+     });
+}
diff --git a/src/main/webapp/static/js/rgvOneSign/rgvOneSign.js b/src/main/webapp/static/js/rgvOneSign/rgvOneSign.js
new file mode 100644
index 0000000..39ff6af
--- /dev/null
+++ b/src/main/webapp/static/js/rgvOneSign/rgvOneSign.js
@@ -0,0 +1,246 @@
+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: '#rgvOneSign',
+        headers: {token: localStorage.getItem('token')},
+        url: baseUrl+'/rgvOneSign/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: '缂栧彿'}
+            ,{field: 'ragOneSign', 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(rgvOneSign)', 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(rgvOneSign)', 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 = {
+                        'rgvOneSign': exportData,
+                        'fields': fields
+                    };
+                    $.ajax({
+                        url: baseUrl+"/rgvOneSign/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(rgvOneSign)', 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+"/rgvOneSign/"+(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+"/rgvOneSign/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/wrkMastSta/wrkMastSta.js b/src/main/webapp/static/js/wrkMastSta/wrkMastSta.js
new file mode 100644
index 0000000..5ecf639
--- /dev/null
+++ b/src/main/webapp/static/js/wrkMastSta/wrkMastSta.js
@@ -0,0 +1,272 @@
+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: '#wrkMastSta',
+        headers: {token: localStorage.getItem('token')},
+        url: baseUrl+'/wrkMastSta/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',hide: true}
+            ,{field: 'wrkNo', align: 'center',title: '宸ヤ綔鍙�',hide: false}
+            ,{field: 'wrkStart', align: 'center',title: '宸ヤ綔妗e紑濮嬩綅缃�',hide: false}
+            ,{field: 'wrkEnd', align: 'center',title: '宸ヤ綔妗g粨鏉熶綅缃�',hide: false}
+            ,{field: 'staStart', align: 'center',title: '灏忚溅鎺ヨ揣浣嶇疆',hide: false}
+            ,{field: 'staEnd', align: 'center',title: '灏忚溅鏀捐揣浣嶇疆',hide: false}
+            ,{field: 'type$', align: 'center',title: '璐х墿绫诲瀷',hide: false}
+            ,{field: 'wrkSts$', align: 'center',title: '宸ヤ綔鐘舵��',hide: false}
+            ,{field: 'lineNumber', align: 'center',title: '琛屽彿',hide: true}
+            ,{field: 'wrkType$', align: 'center',title: '宸ヤ綔绫诲瀷',hide: false}
+            ,{field: 'bignTime$', align: 'center',title: '鏍囪鏃堕棿',hide: false}
+            ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿',hide: true}
+            ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿',hide: false}
+
+            ,{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(wrkMastSta)', 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(wrkMastSta)', 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 = {
+                        'wrkMastSta': exportData,
+                        'fields': fields
+                    };
+                    $.ajax({
+                        url: baseUrl+"/wrkMastSta/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(wrkMastSta)', 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+"/wrkMastSta/"+(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+"/wrkMastSta/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: '#createTime\\$',
+                type: 'datetime',
+                value: data!==undefined?data['createTime\\$']:null
+            });
+            layDate.render({
+                elem: '#updateTime\\$',
+                type: 'datetime',
+                value: data!==undefined?data['updateTime\\$']:null
+            });
+            layDate.render({
+                elem: '#bignTime\\$',
+                type: 'datetime',
+                value: data!==undefined?data['bignTime\\$']:null
+            });
+
+        }, 300);
+    }
+    layDateRender();
+
+});
+
+// 鍏抽棴鍔ㄤ綔
+$(document).on('click','#data-detail-close', function () {
+    parent.layer.closeAll();
+});
+
+function tableReload(child) {
+    var searchData = {};
+    $.each($('#search-box [name]').serializeArray(), function() {
+        searchData[this.name] = this.value;
+    });
+    tableIns.reload({
+        where: searchData,
+        page: {curr: pageCurr}
+     });
+}
diff --git a/src/main/webapp/static/js/wrkMastStaLog/wrkMastStaLog.js b/src/main/webapp/static/js/wrkMastStaLog/wrkMastStaLog.js
new file mode 100644
index 0000000..c299ce4
--- /dev/null
+++ b/src/main/webapp/static/js/wrkMastStaLog/wrkMastStaLog.js
@@ -0,0 +1,272 @@
+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: '#wrkMastStaLog',
+        headers: {token: localStorage.getItem('token')},
+        url: baseUrl+'/wrkMastStaLog/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',hide: true}
+            ,{field: 'wrkNo', align: 'center',title: '宸ヤ綔鍙�',hide: false}
+            ,{field: 'wrkStart', align: 'center',title: '宸ヤ綔妗e紑濮嬩綅缃�',hide: false}
+            ,{field: 'wrkEnd', align: 'center',title: '宸ヤ綔妗g粨鏉熶綅缃�',hide: false}
+            ,{field: 'staStart', align: 'center',title: '灏忚溅鎺ヨ揣浣嶇疆',hide: false}
+            ,{field: 'staEnd', align: 'center',title: '灏忚溅鏀捐揣浣嶇疆',hide: false}
+            ,{field: 'type$', align: 'center',title: '璐х墿绫诲瀷',hide: false}
+            ,{field: 'wrkSts$', align: 'center',title: '宸ヤ綔鐘舵��',hide: false}
+            ,{field: 'lineNumber', align: 'center',title: '琛屽彿',hide: true}
+            ,{field: 'wrkType$', align: 'center',title: '宸ヤ綔绫诲瀷',hide: false}
+            ,{field: 'bignTime$', align: 'center',title: '鏍囪鏃堕棿',hide: false}
+            ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿',hide: true}
+            ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿',hide: false}
+
+            // ,{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(wrkMastStaLog)', 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(wrkMastStaLog)', 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 = {
+                        'wrkMastStaLog': exportData,
+                        'fields': fields
+                    };
+                    $.ajax({
+                        url: baseUrl+"/wrkMastStaLog/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(wrkMastStaLog)', 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+"/wrkMastStaLog/"+(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+"/wrkMastStaLog/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: '#createTime\\$',
+                type: 'datetime',
+                value: data!==undefined?data['createTime\\$']:null
+            });
+            layDate.render({
+                elem: '#updateTime\\$',
+                type: 'datetime',
+                value: data!==undefined?data['updateTime\\$']:null
+            });
+            layDate.render({
+                elem: '#bignTime\\$',
+                type: 'datetime',
+                value: data!==undefined?data['bignTime\\$']: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/basRgv/basRgv.html b/src/main/webapp/views/basRgv/basRgv.html
new file mode 100644
index 0000000..448f621
--- /dev/null
+++ b/src/main/webapp/views/basRgv/basRgv.html
@@ -0,0 +1,196 @@
+<!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="basRgv" lay-filter="basRgv"></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/basRgv/basRgv.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">RGV缂栧彿: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="rgvNo" placeholder="璇疯緭鍏GV缂栧彿" 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="inEnable" placeholder="璇疯緭鍏ュ彲鍏�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍙嚭: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="outEnable" placeholder="璇疯緭鍏ュ彲鍑�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">浣滀笟鎬�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="rgvSts" placeholder="璇疯緭鍏ヤ綔涓氭��">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">浠诲姟鍙�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="wrkNo1" placeholder="璇疯緭鍏ヤ换鍔″彿">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍫嗗灈鏈哄彿: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="wrkNo2" placeholder="璇疯緭鍏ュ爢鍨涙満鍙�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">閿欒鐮�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="rgvErr" placeholder="璇疯緭鍏ラ敊璇爜">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鏍囪: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="pakMk" placeholder="璇疯緭鍏ユ爣璁�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鐘舵��: </label>
+                    <div class="layui-input-block">
+                        <select name="status">
+                            <option value="">璇烽�夋嫨鐘舵��</option>
+                            <option value="1">姝e父</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="createBy" placeholder="璇疯緭鍏ユ坊鍔犱汉鍛�" style="display: none">
+                        <input id="createBy$" name="createBy$" 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="userQueryBycreateBy" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                            <select class="cool-auto-complete-window-select" data-key="userQueryBycreateBySelect" 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="createTime" id="createTime$" 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="updateBy" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" style="display: none">
+                        <input id="updateBy$" name="updateBy$" 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="userQueryByupdateBy" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                            <select class="cool-auto-complete-window-select" data-key="userQueryByupdateBySelect" 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="updateTime" id="updateTime$" placeholder="璇疯緭鍏ヤ慨鏀规椂闂�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">澶囨敞: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="memo" placeholder="璇疯緭鍏ュ娉�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鏄惁鏈夌墿: </label>
+                    <div class="layui-input-block">
+                        <select name="loaded2">
+                            <option value="">璇烽�夋嫨鏄惁鏈夌墿</option>
+                            <option value="1">鏈夌墿</option>
+                            <option value="0">鏃犵墿</option>
+                        </select>
+                    </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/basRgvMap/basRgvMap.html b/src/main/webapp/views/basRgvMap/basRgvMap.html
new file mode 100644
index 0000000..c62a055
--- /dev/null
+++ b/src/main/webapp/views/basRgvMap/basRgvMap.html
@@ -0,0 +1,128 @@
+<!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="basRgvMap" lay-filter="basRgvMap"></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/basRgvMap/basRgvMap.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">RGV缂栧彿: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="rgvNo" placeholder="璇疯緭鍏GV缂栧彿" 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="startRoute" placeholder="璇疯緭鍏ュ紑濮嬭寖鍥�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">缁撴潫鑼冨洿: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="endRoute" placeholder="璇疯緭鍏ョ粨鏉熻寖鍥�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">褰撳墠浣嶇疆: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="nowRoute" placeholder="璇疯緭鍏ュ綋鍓嶄綅缃�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鐘舵��: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="rgvStatus" placeholder="璇疯緭鍏ョ姸鎬�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">閿�-寮�濮�-浣嶇疆: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="lockStartRoute" placeholder="璇疯緭鍏ラ攣-寮�濮�-浣嶇疆">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">閿�-缁撴潫-浣嶇疆: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="lockEndRoute" placeholder="璇疯緭鍏ラ攣-缁撴潫-浣嶇疆">
+                    </div>
+                </div>
+
+             </div>
+        </div>
+        <hr class="layui-bg-gray">
+        <div class="layui-form-item text-right">
+            <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button>
+            <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+        </div>
+    </form>
+</script>
+</html>
+
diff --git a/src/main/webapp/views/basRgvPath/basRgvPath.html b/src/main/webapp/views/basRgvPath/basRgvPath.html
new file mode 100644
index 0000000..2f7ebca
--- /dev/null
+++ b/src/main/webapp/views/basRgvPath/basRgvPath.html
@@ -0,0 +1,132 @@
+<!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="basRgvPath" lay-filter="basRgvPath"></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/basRgvPath/basRgvPath.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">RGV缂栧彿: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="rgvNo" placeholder="璇疯緭鍏GV缂栧彿" 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 lay-filter="switchTest" type="checkbox" name="path[]" value="1" title="101(1)">
+                        <input lay-filter="switchTest" type="checkbox" name="path[]" value="2" title="102(2)">
+                        <input lay-filter="switchTest" type="checkbox" name="path[]" value="3" title="104(3)">
+                        <input lay-filter="switchTest" type="checkbox" name="path[]" value="4" title="105(4)">
+                        <input lay-filter="switchTest" type="checkbox" name="path[]" value="5" title="118(5)">
+                        <input lay-filter="switchTest" type="checkbox" name="path[]" value="6" title="107(6)">
+                        <input lay-filter="switchTest" type="checkbox" name="path[]" value="7" title="108(7)">
+                        <input lay-filter="switchTest" type="checkbox" name="path[]" value="8" title="119(8)">
+                        <input lay-filter="switchTest" type="checkbox" name="path[]" value="9" title="110(9)">
+                        <input lay-filter="switchTest" type="checkbox" name="path[]" value="10" title="120(10)">
+                        <input lay-filter="switchTest" type="checkbox" name="path[]" value="11" title="111(11)">
+                        <input lay-filter="switchTest" type="checkbox" name="path[]" value="12" title="121(12)">
+                        <input lay-filter="switchTest" type="checkbox" name="path[]" value="13" title="122(13)">
+                        <input lay-filter="switchTest" type="checkbox" name="path[]" value="14" title="113(14)">
+                        <input lay-filter="switchTest" type="checkbox" name="path[]" value="15" title="123(15)">
+                        <input lay-filter="switchTest" type="checkbox" name="path[]" value="16" title="114(16)">
+                        <input lay-filter="switchTest" type="checkbox" name="path[]" value="17" title="116(17)">
+                        <input lay-filter="switchTest" type="checkbox" name="path[]" value="18" title="117(18)">
+
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鐘舵��: </label>
+                    <div class="layui-input-block">
+                        <select name="status">
+                            <option value="">璇烽�夋嫨鐘舵��</option>
+                            <option value="1">姝e父</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="memo" placeholder="璇疯緭鍏ュ娉�">
+                    </div>
+                </div>
+
+             </div>
+        </div>
+        <hr class="layui-bg-gray">
+        <div class="layui-form-item text-right">
+            <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button>
+            <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+        </div>
+    </form>
+</script>
+</html>
+
diff --git a/src/main/webapp/views/wrkMastSta/wrkMastSta.html b/src/main/webapp/views/wrkMastSta/wrkMastSta.html
new file mode 100644
index 0000000..f16dfe1
--- /dev/null
+++ b/src/main/webapp/views/wrkMastSta/wrkMastSta.html
@@ -0,0 +1,235 @@
+<!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">
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="wrk_no" placeholder="宸ヤ綔鍙�" autocomplete="off">
+                        </div>
+                    </div>
+                    <!-- 璐х墿绫诲瀷 -->
+                    <div class="layui-inline">
+                        <div class="layui-input-inline">
+                            <select name="type" id="type" class="layui-input" type="text" placeholder="璐х墿绫诲瀷" autocomplete="off">
+                                <option style="display: none"></option>
+                                <option value="1">1.闈炵┖</option>
+                                <option value="2">2.绌烘澘</option>
+                            </select>
+                        </div>
+                    </div>
+                    <!-- 宸ヤ綔鐘舵�� -->
+                    <div class="layui-inline">
+                        <div class="layui-input-inline">
+                            <select name="wrk_sts" id="wrk_sts" class="layui-input" type="text" placeholder="宸ヤ綔鐘舵��" autocomplete="off">
+                                <option style="display: none"></option>
+                                <option value="0">0.鍒濆</option>
+                                <option value="1">1.绛夊緟灏忚溅鍙�</option>
+                                <option value="2">2.绛夊緟灏忚溅鏀�</option>
+                                <option value="3">3.瀹屾垚</option>
+                            </select>
+                        </div>
+                    </div>
+                    <!-- 宸ヤ綔绫诲瀷 -->
+                    <div class="layui-inline">
+                        <div class="layui-input-inline">
+                            <select name="wrk_type" id="wrk_type" class="layui-input" type="text" placeholder="宸ヤ綔绫诲瀷" autocomplete="off">
+                                <option style="display: none"></option>
+                                <option value="1">鍙犵洏</option>
+                                <option value="2">鎷嗙洏</option>
+                                <option value="3">鍙栨斁</option>
+                                <!--                            <option value="2">2.琛岃蛋</option>-->
+                                <option value="5">婊″彇</option>
+                                <option value="6">婊℃斁</option>
+                            </select>
+                        </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="wrkMastSta" lay-filter="wrkMastSta"></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/wrkMastSta/wrkMastSta.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 layui-form-required">宸ヤ綔妗e紑濮嬩綅缃�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="wrkStart" placeholder="璇疯緭鍏ュ伐浣滄。寮�濮嬩綅缃�" lay-vertype="tips" lay-verify="required">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">宸ヤ綔妗g粨鏉熶綅缃�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="wrkEnd" 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="staStart" 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="staEnd" 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="createTime" id="createTime$" placeholder="璇疯緭鍏ユ坊鍔犳椂闂�">-->
+<!--                    </div>-->
+<!--                </div>-->
+<!--                <div class="layui-form-item">-->
+<!--                    <label class="layui-form-label">淇敼鏃堕棿: </label>-->
+<!--                    <div class="layui-input-block">-->
+<!--                        <input class="layui-input" name="updateTime" id="updateTime$" placeholder="璇疯緭鍏ヤ慨鏀规椂闂�">-->
+<!--                    </div>-->
+<!--                </div>-->
+<!--                <div class="layui-form-item">-->
+<!--                    <label class="layui-form-label layui-form-required">绫诲瀷 1:闈炵┖  2:绌烘澘: </label>-->
+<!--                    <div class="layui-input-block">-->
+<!--                        <input class="layui-input" name="type" placeholder="璇疯緭鍏ョ被鍨� 1:闈炵┖  2:绌烘澘" 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-inline">
+                        <select name="type">
+                            <option value="1">1.闈炵┖</option>
+                            <option value="2">2.绌烘澘</option>
+                        </select>
+                    </div>
+                </div>
+                <!-- 宸ヤ綔鐘舵�� -->
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">宸ヤ綔鐘舵�侊細</label>
+                    <div class="layui-input-inline">
+                        <select name="wrkSts">
+                            <option value="0">0.鍒濆</option>
+                            <option value="1">1.绛夊緟灏忚溅鍙�</option>
+                            <option value="2">2.绛夊緟灏忚溅鏀�</option>
+                            <option value="3">3.瀹屾垚</option>
+                        </select>
+                    </div>
+                </div>
+                <!-- 宸ヤ綔绫诲瀷 -->
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">宸ヤ綔绫诲瀷</label>
+                    <div class="layui-input-inline">
+                        <select name="wrkType">
+                            <option value="1">鍙犵洏</option>
+                            <option value="2">鎷嗙洏</option>
+                            <option value="3">鍙栨斁</option>
+<!--                            <option value="2">2.琛岃蛋</option>-->
+                            <option value="5">婊″彇</option>
+                            <option value="6">婊℃斁</option>
+                        </select>
+                    </div>
+                </div>
+<!--                <div class="layui-form-item">-->
+<!--                    <label class="layui-form-label layui-form-required">宸ヤ綔鐘舵�� 0锛氬垵濮� 1锛氱瓑寰呭皬杞﹀彇 2锛氱瓑寰呭皬杞︽斁 3锛氬畬鎴�: </label>-->
+<!--                    <div class="layui-input-block">-->
+<!--                        <input class="layui-input" name="wrkSts" placeholder="璇疯緭鍏ュ伐浣滅姸鎬� 0锛氬垵濮� 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="lineNumber" 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="wrkType" 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="bignTime" id="bignTime$" placeholder="璇疯緭鍏ユ爣璁版椂闂�">-->
+<!--                    </div>-->
+<!--                </div>-->
+
+             </div>
+        </div>
+        <hr class="layui-bg-gray">
+        <div class="layui-form-item text-right">
+            <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button>
+            <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+        </div>
+    </form>
+</script>
+</html>
+
diff --git a/src/main/webapp/views/wrkMastStaLog/wrkMastStaLog.html b/src/main/webapp/views/wrkMastStaLog/wrkMastStaLog.html
new file mode 100644
index 0000000..e88ae18
--- /dev/null
+++ b/src/main/webapp/views/wrkMastStaLog/wrkMastStaLog.html
@@ -0,0 +1,205 @@
+<!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">
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="wrk_no" placeholder="宸ヤ綔鍙�" autocomplete="off">
+                        </div>
+                    </div>
+                    <!-- 璐х墿绫诲瀷 -->
+                    <div class="layui-inline">
+                        <div class="layui-input-inline">
+                            <select name="type" id="type" class="layui-input" type="text" placeholder="璐х墿绫诲瀷" autocomplete="off">
+                                <option style="display: none"></option>
+                                <option value="1">1.闈炵┖</option>
+                                <option value="2">2.绌烘澘</option>
+                            </select>
+                        </div>
+                    </div>
+                    <!-- 宸ヤ綔鐘舵�� -->
+                    <div class="layui-inline">
+                        <div class="layui-input-inline">
+                            <select name="wrk_sts" id="wrk_sts" class="layui-input" type="text" placeholder="宸ヤ綔鐘舵��" autocomplete="off">
+                                <option style="display: none"></option>
+                                <option value="0">0.鍒濆</option>
+                                <option value="1">1.绛夊緟灏忚溅鍙�</option>
+                                <option value="2">2.绛夊緟灏忚溅鏀�</option>
+                                <option value="3">3.瀹屾垚</option>
+                            </select>
+                        </div>
+                    </div>
+                    <!-- 宸ヤ綔绫诲瀷 -->
+                    <div class="layui-inline">
+                        <div class="layui-input-inline">
+                            <select name="wrk_type" id="wrk_type" class="layui-input" type="text" placeholder="宸ヤ綔绫诲瀷" autocomplete="off">
+                                <option style="display: none"></option>
+                                <option value="1">鍙犵洏</option>
+                                <option value="2">鎷嗙洏</option>
+                                <option value="3">鍙栨斁</option>
+                                <!--                            <option value="2">2.琛岃蛋</option>-->
+                                <option value="5">婊″彇</option>
+                                <option value="6">婊℃斁</option>
+                            </select>
+                        </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="wrkMastStaLog" lay-filter="wrkMastStaLog"></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/wrkMastStaLog/wrkMastStaLog.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 layui-form-required">宸ヤ綔妗e紑濮嬩綅缃�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="wrkStart" placeholder="璇疯緭鍏ュ伐浣滄。寮�濮嬩綅缃�" lay-vertype="tips" lay-verify="required">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">宸ヤ綔妗g粨鏉熶綅缃�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="wrkEnd" 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="staStart" 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="staEnd" 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="createTime" id="createTime$" placeholder="璇疯緭鍏ユ坊鍔犳椂闂�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">淇敼鏃堕棿: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="updateTime" id="updateTime$" placeholder="璇疯緭鍏ヤ慨鏀规椂闂�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">绫诲瀷 0:婊$増  1:绌烘澘: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="type" placeholder="璇疯緭鍏ョ被鍨� 0:婊$増  1:绌烘澘" lay-vertype="tips" lay-verify="required">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">宸ヤ綔鐘舵�� 0锛氬垵濮� 1锛氱瓑寰呭皬杞﹀彇 2锛氱瓑寰呭皬杞︽斁 3锛氬畬鎴�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="wrkSts" placeholder="璇疯緭鍏ュ伐浣滅姸鎬� 0锛氬垵濮� 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="lineNumber" 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锛氬彇鏀� 4锛氭媶鐩�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="wrkType" placeholder="璇疯緭鍏ュ伐浣滅被鍨�  绫诲瀷  1:鍙栵紙鍙犵洏锛�  2锛氭斁 3锛氬彇鏀� 4锛氭媶鐩�" 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="bignTime" id="bignTime$" placeholder="璇疯緭鍏ユ爣璁版椂闂�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="wrkCrn" 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