From 439710722f00067a7ed71edb615e6229a64ca049 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 24 五月 2023 12:41:41 +0800
Subject: [PATCH] 输送站点异常码

---
 src/main/webapp/static/wms/js/basPlcerror/basPlcerror.js           |   66 ++++++----
 src/main/java/com/zy/asrs/service/impl/BasPlcerrorServiceImpl.java |   12 ++
 src/main/java/com/zy/asrs/controller/BasPlcerrorController.java    |  127 +++++++++++++++++++++
 src/main/webapp/views/basPlcerror/basPlcerror.html                 |   65 ++++++++++
 src/main/java/com/zy/asrs/service/BasPlcerrorService.java          |    8 +
 src/main/webapp/views/basPlcerror/basPlcerror_detail.html          |   51 ++++++++
 6 files changed, 304 insertions(+), 25 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/BasPlcerrorController.java b/src/main/java/com/zy/asrs/controller/BasPlcerrorController.java
new file mode 100644
index 0000000..998ff6e
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/BasPlcerrorController.java
@@ -0,0 +1,127 @@
+package com.zy.asrs.controller;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.core.common.DateUtils;
+import com.zy.asrs.entity.BasPlcerror;
+import com.zy.asrs.service.BasPlcerrorService;
+import com.core.annotations.ManagerAuth;
+import com.core.common.BaseRes;
+import com.core.common.Cools;
+import com.core.common.R;
+import com.zy.common.web.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.*;
+
+@RestController
+public class BasPlcerrorController extends BaseController {
+
+    @Autowired
+    private BasPlcerrorService basPlcerrorService;
+
+    @RequestMapping(value = "/basPlcerror/{id}/auth")
+    @ManagerAuth
+    public R get(@PathVariable("id") String id) {
+        return R.ok(basPlcerrorService.selectById(String.valueOf(id)));
+    }
+
+    @RequestMapping(value = "/basPlcerror/list/auth")
+    @ManagerAuth
+    public R list(@RequestParam(defaultValue = "1")Integer curr,
+                  @RequestParam(defaultValue = "10")Integer limit,
+                  @RequestParam(required = false)String orderByField,
+                  @RequestParam(required = false)String orderByType,
+                  @RequestParam Map<String, Object> param){
+        EntityWrapper<BasPlcerror> wrapper = new EntityWrapper<>();
+        excludeTrash(param);
+        convert(param, wrapper);
+        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+        return R.ok(basPlcerrorService.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 = "/basPlcerror/add/auth")
+    @ManagerAuth
+    public R add(BasPlcerror basPlcerror) {
+        basPlcerror.setAppeUser(getUserId());
+        basPlcerror.setModiUser(getUserId());
+        basPlcerrorService.insert(basPlcerror);
+        return R.ok();
+    }
+
+	@RequestMapping(value = "/basPlcerror/update/auth")
+	@ManagerAuth
+    public R update(BasPlcerror basPlcerror){
+        if (Cools.isEmpty(basPlcerror) || null==basPlcerror.getErrorCode()){
+            return R.error();
+        }
+        basPlcerror.setAppeUser(getUserId());
+        basPlcerror.setModiUser(getUserId());
+        basPlcerrorService.updateById(basPlcerror);
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/basPlcerror/delete/auth")
+    @ManagerAuth
+    public R delete(@RequestParam(value="ids[]") Integer[] ids){
+         for (Integer id : ids){
+            basPlcerrorService.deleteById(id);
+        }
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/basPlcerror/export/auth")
+    @ManagerAuth
+    public R export(@RequestBody JSONObject param){
+        EntityWrapper<BasPlcerror> wrapper = new EntityWrapper<>();
+        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+        Map<String, Object> map = excludeTrash(param.getJSONObject("basPlcerror"));
+        convert(map, wrapper);
+        List<BasPlcerror> list = basPlcerrorService.selectList(wrapper);
+        return R.ok(exportSupport(list, fields));
+    }
+
+    @RequestMapping(value = "/basPlcerrorQuery/auth")
+    @ManagerAuth
+    public R query(String condition) {
+        EntityWrapper<BasPlcerror> wrapper = new EntityWrapper<>();
+        wrapper.like("id", condition);
+        Page<BasPlcerror> page = basPlcerrorService.selectPage(new Page<>(0, 10), wrapper);
+        List<Map<String, Object>> result = new ArrayList<>();
+        for (BasPlcerror basPlcerror : page.getRecords()){
+            Map<String, Object> map = new HashMap<>();
+            map.put("id", basPlcerror.getErrorCode());
+            map.put("value", basPlcerror.getErrorCode());
+            result.add(map);
+        }
+        return R.ok(result);
+    }
+
+    @RequestMapping(value = "/basPlcerror/check/column/auth")
+    @ManagerAuth
+    public R query(@RequestBody JSONObject param) {
+        Wrapper<BasPlcerror> wrapper = new EntityWrapper<BasPlcerror>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
+        if (null != basPlcerrorService.selectOne(wrapper)){
+            return R.parse(BaseRes.REPEAT).add(getComment(BasPlcerror.class, String.valueOf(param.get("key"))));
+        }
+        return R.ok();
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/service/BasPlcerrorService.java b/src/main/java/com/zy/asrs/service/BasPlcerrorService.java
new file mode 100644
index 0000000..1f7b153
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/BasPlcerrorService.java
@@ -0,0 +1,8 @@
+package com.zy.asrs.service;
+
+import com.zy.asrs.entity.BasPlcerror;
+import com.baomidou.mybatisplus.service.IService;
+
+public interface BasPlcerrorService extends IService<BasPlcerror> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/BasPlcerrorServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasPlcerrorServiceImpl.java
new file mode 100644
index 0000000..7b5b78c
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/BasPlcerrorServiceImpl.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.service.impl;
+
+import com.zy.asrs.mapper.BasPlcerrorMapper;
+import com.zy.asrs.entity.BasPlcerror;
+import com.zy.asrs.service.BasPlcerrorService;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service("basPlcerrorService")
+public class BasPlcerrorServiceImpl extends ServiceImpl<BasPlcerrorMapper, BasPlcerror> implements BasPlcerrorService {
+
+}
diff --git a/src/main/webapp/static/wms/js/basPlcerror/basPlcerror.js b/src/main/webapp/static/wms/js/basPlcerror/basPlcerror.js
index 7bd32da..9319ff4 100644
--- a/src/main/webapp/static/wms/js/basPlcerror/basPlcerror.js
+++ b/src/main/webapp/static/wms/js/basPlcerror/basPlcerror.js
@@ -1,5 +1,7 @@
 var pageCurr;
-layui.use(['table','laydate', 'form'], function(){
+layui.config({
+    base: baseUrl + "/static/wms/layui/lay/modules/"
+}).use(['table','laydate', 'form'], function(){
     var table = layui.table;
     var $ = layui.jquery;
     var layer = layui.layer;
@@ -101,30 +103,14 @@
                 });
                 break;
             case 'deleteData':
-                var data = checkStatus.data;
-                if (data.length === 0){
-                    layer.msg('璇烽�夋嫨鏁版嵁');
-                } else {
-                    layer.confirm('纭畾鍒犻櫎'+(data.length===1?'姝�':data.length)+'鏉℃暟鎹悧', function(){
-                        $.ajax({
-                            url: baseUrl+"/basPlcerror/delete/auth",
-                            headers: {'token': localStorage.getItem('token')},
-                            data: {param: JSON.stringify(data)},
-                            method: 'POST',
-                            traditional:true,
-                            success: function (res) {
-                                if (res.code === 200){
-                                    layer.closeAll();
-                                    tableReload(false);
-                                } else if (res.code === 403){
-                                    top.location.href = baseUrl+"/";
-                                } else {
-                                    layer.msg(res.msg)
-                                }
-                            }
-                        })
-                    });
+                let data = checkStatus.data
+                if (data.length === 0) {
+                    layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
+                    return;
                 }
+                del(data.map(function (d) {
+                    return d.errorCode;
+                }));
                 break;
             case 'exportData':
                 layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
@@ -190,7 +176,10 @@
                     }
                 });
                 break;
-
+            case "del":
+                // 鍒犻櫎
+                del([data.errorCode]);
+                break;
         }
     });
 
@@ -277,6 +266,33 @@
         type: 'datetime'
     });
 
+    /* 鍒犻櫎 */
+    function del(ids) {
+        layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', {
+            skin: 'layui-layer-admin',
+            shade: .1
+        }, function (i) {
+            layer.close(i);
+            var loadIndex = layer.load(2);
+            $.ajax({
+                url: baseUrl+"/basPlcerror/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});
+                    }
+                }
+            })
+        });
+    }
 
 });
 
diff --git a/src/main/webapp/views/basPlcerror/basPlcerror.html b/src/main/webapp/views/basPlcerror/basPlcerror.html
new file mode 100644
index 0000000..3aab510
--- /dev/null
+++ b/src/main/webapp/views/basPlcerror/basPlcerror.html
@@ -0,0 +1,65 @@
+<!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/wms/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/wms/css/admin.css?v=318" media="all">
+    <link rel="stylesheet" href="../../static/wms/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="error_code" placeholder="寮傚父缂栧彿" autocomplete="off">
+                        </div>
+                    </div>
+                    <div class="layui-inline">
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="error_desc" 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="basPlcerror" lay-filter="basPlcerror"></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/wms/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/wms/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/wms/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/wms/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/wms/js/basPlcerror/basPlcerror.js" charset="utf-8"></script>
+</body>
+</html>
+
diff --git a/src/main/webapp/views/basPlcerror/basPlcerror_detail.html b/src/main/webapp/views/basPlcerror/basPlcerror_detail.html
new file mode 100644
index 0000000..ff1c37a
--- /dev/null
+++ b/src/main/webapp/views/basPlcerror/basPlcerror_detail.html
@@ -0,0 +1,51 @@
+<!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/wms/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/wms/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/wms/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 璇︽儏 -->
+<div id="data-detail" class="layer_self_wrap">
+    <form id="detail" class="layui-form" style="text-align: center;">
+        <div class="layui-inline"  style="width:80%;">
+            <label class="layui-form-label" style="font-size: x-small"><span class="not-null">*</span>寮傚父缂栧彿锛�</label>
+            <div class="layui-input-inline">
+                <input id="errorCode" class="layui-input" type="text" lay-verify="required">
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:80%;">
+            <label class="layui-form-label" style="font-size: x-small"><span class="not-null">*</span>寮傚父鎻忚堪锛�</label>
+            <div class="layui-input-inline">
+                <input id="errorDesc" class="layui-input" type="text">
+            </div>
+        </div>
+
+        <hr class="layui-bg-gray">
+
+        <div id="data-detail-btn" class="layui-btn-container layui-form-item">
+            <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div>
+            <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div>
+            <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
+        </div>
+
+        <div id="prompt">
+            娓╅Θ鎻愮ず锛氳浠旂粏濉啓鐩稿叧淇℃伅锛�<span class="extrude"><span class="not-null">*</span> 涓哄繀濉�夐」銆�</span>
+        </div>
+    </form>
+</div>
+</body>
+<script type="text/javascript" src="../../static/wms/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/wms/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/wms/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/wms/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/wms/js/basPlcerror/basPlcerror.js" charset="utf-8"></script>
+</html>
+

--
Gitblit v1.9.1