From 785f77f09f63a0c427c6b76adf3459054ae65254 Mon Sep 17 00:00:00 2001
From: mrzhssss <pro6@qq.com>
Date: 星期四, 27 十月 2022 13:47:17 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java         |    6 
 src/main/webapp/static/js/report/checkReport.js                 |  222 +++++++++++++++++++++++++++++++
 src/main/webapp/views/report/checkReport.html                   |   74 ++++++++++
 src/main/resources/mapper/ViewStockUseMapper.xml                |   34 ++++
 src/main/java/com/zy/asrs/controller/ReportQueryController.java |   23 +++
 src/main/java/com/zy/asrs/entity/result/CheckReport.java        |   30 ++++
 6 files changed, 389 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/ReportQueryController.java b/src/main/java/com/zy/asrs/controller/ReportQueryController.java
index cd42ffc..b25238c 100644
--- a/src/main/java/com/zy/asrs/controller/ReportQueryController.java
+++ b/src/main/java/com/zy/asrs/controller/ReportQueryController.java
@@ -6,6 +6,7 @@
 import com.core.common.Cools;
 import com.core.common.R;
 import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.result.CheckReport;
 import com.zy.asrs.mapper.ReportQueryMapper;
 import com.zy.asrs.service.LocDetlService;
 import com.zy.common.web.BaseController;
@@ -246,4 +247,26 @@
 		return R.ok(exportSupport(list, fields));
 	}
 
+	/***************************鐩樼偣鏃ュ織***************************/
+	@RequestMapping("/checkReport")
+	public Map<String,Object> checkReport(@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){
+		Integer pageNumber = Integer.valueOf((String) param.get("pageNumber"));
+		Integer pageSize = Integer.valueOf((String)param.get("pageSize"));
+		param.put("curr",(pageNumber - 1) * pageSize + 1);
+		param.put("limit",pageNumber * pageSize);
+		List<CheckReport> checkReports = reportQueryMapper.selectCheckReport(param);
+		Integer checkReportCount = 	reportQueryMapper.selectCheckReportCount(param);
+		Page<CheckReport> checkReportPage = new Page<>();
+		checkReportPage.setRecords(checkReports);
+		checkReportPage.setCurrent(curr);
+		checkReportPage.setSize(limit);
+		checkReportPage.setTotal(checkReportCount);
+		return R.ok(checkReportPage);
+	}
+
 }
diff --git a/src/main/java/com/zy/asrs/entity/result/CheckReport.java b/src/main/java/com/zy/asrs/entity/result/CheckReport.java
new file mode 100644
index 0000000..d3a954b
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/result/CheckReport.java
@@ -0,0 +1,30 @@
+package com.zy.asrs.entity.result;
+
+import com.core.common.Cools;
+import lombok.Data;
+
+import java.text.SimpleDateFormat;
+import java.util.Collection;
+import java.util.Date;
+
+@Data
+public class CheckReport {
+    private Date appeTime;
+    private Double anfme;
+    private String zpallet;
+    private String matnr;
+    private String maktx;
+    private String batch;
+    private String specs;
+    private String locNo;
+    private String staNo;
+
+    public String getAppeTime$(){
+        if (!Cools.isEmpty(appeTime)){
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            return simpleDateFormat.format(this.appeTime);
+        }
+
+        return "";
+    }
+}
diff --git a/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java b/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java
index 6a804db..a28942a 100644
--- a/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java
@@ -1,12 +1,14 @@
 package com.zy.asrs.mapper;
 
 import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.result.CheckReport;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
+import java.util.Map;
 
 @Mapper
 @Repository
@@ -80,4 +82,8 @@
 	Integer selectWorkCountInSum(String matnr, @Param("start") String startTime, @Param("end") String endTime);
 
 	Integer selectWorkCountOutSum(String matnr, @Param("start") String startTime, @Param("end") String endTime);
+
+	List<CheckReport> selectCheckReport(Map<String, Object> param);
+
+	Integer selectCheckReportCount(Map<String, Object> param);
 }
diff --git a/src/main/resources/mapper/ViewStockUseMapper.xml b/src/main/resources/mapper/ViewStockUseMapper.xml
index cc723f6..2362f2e 100644
--- a/src/main/resources/mapper/ViewStockUseMapper.xml
+++ b/src/main/resources/mapper/ViewStockUseMapper.xml
@@ -112,5 +112,39 @@
 			and matnr = #{matnr}
 		</if>
 	</select>
+	<sql id="checkReportCondition">
+		<if test="matnr!=null and matnr!='' ">
+			and matnr like '%' + #{matnr} + '%'
+		</if>
+		<if test="maktx!=null and maktx!='' ">
+			and maktx like '%' + #{maktx} + '%'
+		</if>
+		<if test="specs!=null and specs!='' ">
+			and specs like '%' + #{specs} + '%'
+		</if>
+		<if test="batch!=null and batch!='' ">
+			and batch like '%' + #{batch} + '%'
+		</if>
+		<if test="zpallet!=null and zpallet!='' ">
+			and zpallet like '%' + #{zpallet} + '%'
+		</if>
+		<if test="locNo!=null and locNo!='' ">
+			and locNo like '%' + #{locNo} + '%'
+		</if>
+		<if test="staNo!=null and staNo!='' ">
+			and staNo like '%' + #{staNo} + '%'
+		</if>
+
+	</sql>
+    <select id="selectCheckReport" resultType="com.zy.asrs.entity.result.CheckReport">
+		SELECT  * FROM (
+		SELECT ROW_NUMBER() OVER(Order by appeTime desc ) as row , * FROM asr_check_report WHERE 1 = 1
+		<include refid="checkReportCondition"></include>  ) as a WHERE a.row between #{curr} and #{limit}
+	</select>
+	<select id="selectCheckReportCount" resultType="java.lang.Integer">
+
+		SELECT COUNT(*) FROM asr_check_report WHERE 1 = 1
+		<include refid="checkReportCondition"></include>
+	</select>
 
 </mapper>
\ No newline at end of file
diff --git a/src/main/webapp/static/js/report/checkReport.js b/src/main/webapp/static/js/report/checkReport.js
new file mode 100644
index 0000000..e10c7e4
--- /dev/null
+++ b/src/main/webapp/static/js/report/checkReport.js
@@ -0,0 +1,222 @@
+var pageCurr;
+function getCol() {
+    var cols = [
+        {field: 'appeTime$', align: 'center', title: '鐩樼偣鏃ユ湡', width: 200}
+        ,{field: 'staNo', align: 'center',title: '鐩樼偣鍙�'}
+        ,{field: 'locNo', align: 'center',title: '鐩樼偣搴撲綅'}
+        ,{field: 'zpallet', align: 'center',title: '鎵樼洏鐮�'}
+        ,{field: 'matnr', align: 'center',title: '鐗╂枡缂栫爜'}
+        ,{field: 'maktx', align: 'center',title: '鐗╂枡鍚嶇О'}
+        ,{field: 'anfme', align: 'center',title: '鐩樼偣鏁伴噺'}
+        ,{field: 'batch', align: 'center',title: '鎵瑰彿'}
+        ,{field: 'specs', align: 'center',title: '瑙勬牸'}
+
+    ];
+    return cols;
+}
+
+layui.use(['table','laydate', 'form'], function(){
+    var table = layui.table;
+    var $ = layui.jquery;
+    var layer = layui.layer;
+    var layDate = layui.laydate;
+    var form = layui.form;
+
+
+    // 鏁版嵁娓叉煋
+    tableIns = table.render({
+        elem: '#workIn',
+        headers: {token: localStorage.getItem('token')},
+        url: baseUrl+'/report/checkReport',
+        page: true,
+        limit: 16,
+        limits: [16, 30, 50, 100, 200, 500],
+        toolbar: '#toolbar',
+        cellMinWidth: 50,
+        cols: [getCol()],
+        request: {
+            pageName: 'pageNumber',
+            limitName: 'pageSize'
+        },
+        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(workIn)', function (obj) {
+        var searchData = {};
+        $.each($('#search-box [name]').serializeArray(), function() {
+            searchData[this.name] = this.value;
+        });
+        searchData['orderByField'] = obj.field;
+        searchData['orderByType'] = obj.type;
+        tableIns.reload({
+            where: searchData,
+            page: {
+                curr: 1
+            },
+            done: function (res, curr, count) {
+                if (res.code === 403) {
+                    top.location.href = baseUrl+"/";
+                }
+                pageCurr=curr;
+                limit();
+            }
+        });
+    });
+
+    // 鐩戝惉澶村伐鍏锋爮浜嬩欢
+    table.on('toolbar(workIn)', function (obj) {
+        var checkStatus = table.checkStatus(obj.config.id);
+        switch(obj.event) {
+            case 'exportData':
+                layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
+                    var titles=[];
+                    var fields=[];
+                    obj.config.cols[0].map(function (col) {
+                        if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
+                            titles.push(col.title);
+                            fields.push(col.field);
+                        }
+                    });
+                    var exportData = {};
+                    $.each($('#search-box [name]').serializeArray(), function() {
+                        exportData[this.name] = this.value;
+                    });
+                    var param = {
+                        fields: fields,
+                        exportData: exportData
+                    };
+                    $.ajax({
+                        url: baseUrl+"/report/viewWorkInExport.action",
+                        headers: {'token': localStorage.getItem('token')},
+                        data: JSON.stringify(param),
+                        dataType:'json',
+                        contentType:'application/json;charset=UTF-8',
+                        method: 'POST',
+                        success: function (res) {
+                            layer.closeAll();
+                            if (res.code === 200) {
+                                table.exportFile(titles,res.data,'xls');
+                            } else if (res.code === 403) {
+                                top.location.href = baseUrl+"/";
+                            } else {
+                                layer.msg(res.msg)
+                            }
+                        }
+                    });
+                });
+                break;
+        }
+    });
+
+    // 鎼滅储鏍忔悳绱簨浠�
+    form.on('submit(search)', function (data) {
+        pageCurr = 1;
+        tableReload(false);
+    });
+    // 鎼滅储鏍忛噸缃簨浠�
+    form.on('submit(reset)', function (data) {
+        pageCurr = 1;
+        clearFormVal($('#search-box'));
+        tableReload(false);
+    });
+    layDate.render({
+        elem: '.layui-laydate-range'
+        ,type: 'datetime'
+        ,range: true
+    });
+});
+
+// 鍏抽棴鍔ㄤ綔
+$(document).on('click','#data-detail-close', function () {
+    parent.layer.closeAll();
+});
+
+function tableReload(child) {
+    var searchData = {};
+    $.each($('#search-box [name]').serializeArray(), function() {
+        searchData[this.name] = this.value;
+    });
+    (child ? parent.tableIns : tableIns).reload({
+        where: searchData,
+        page: {
+            curr: pageCurr
+        },
+        done: function (res, curr, count) {
+            if (res.code === 403) {
+                top.location.href = baseUrl+"/";
+            }
+            pageCurr=curr;
+            if (res.data.length === 0 && count !== 0) {
+                tableIns.reload({
+                    where: searchData,
+                    page: {
+                        curr: pageCurr-1
+                    }
+                });
+                pageCurr -= 1;
+            }
+            limit(child);
+        }
+    });
+}
+
+function setFormVal(el, data, showImg) {
+    for (var val in data) {
+        var find = el.find(":input[id='" + val + "']");
+        find.val(data[val]);
+        if (showImg){
+            var next = find.next();
+            if (next.get(0)){
+                if (next.get(0).localName === "img") {
+                    find.hide();
+                    next.attr("src", data[val]);
+                    next.show();
+                }
+            }
+        }
+    }
+}
+
+function clearFormVal(el) {
+    $(':input', el)
+        .val('')
+        .removeAttr('checked')
+        .removeAttr('selected');
+}
+
+function detailScreen(index) {
+    var detail = layer.getChildFrame('#data-detail', index);
+    var height = detail.height()+60;
+    if (height > ($(window).height()*0.9)) {
+        height = ($(window).height()*0.9);
+    }
+    layer.style(index, {
+        top: (($(window).height()-height)/3)+"px",
+        height: height+'px'
+    });
+    $(".layui-layer-shade").remove();
+}
+
+$('body').keydown(function () {
+    if (event.keyCode === 13) {
+        $("#search").click();
+    }
+});
diff --git a/src/main/webapp/views/report/checkReport.html b/src/main/webapp/views/report/checkReport.html
new file mode 100644
index 0000000..8903859
--- /dev/null
+++ b/src/main/webapp/views/report/checkReport.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+    <style>
+        #btn-export {
+            margin-top: 10px;
+        }
+    </style>
+</head>
+<body>
+
+<!-- 鎼滅储鏍� -->
+<div id="search-box" class="layui-form layui-card-header">
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="locNo" placeholder="鐩樼偣搴撲綅" autocomplete="off">
+        </div>
+    </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="zpallet" placeholder="鎵樼洏鐮�" autocomplete="off">
+        </div>
+    </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="matnr" placeholder="鐗╂枡缂栫爜" autocomplete="off">
+        </div>
+    </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="batch" placeholder="鎵瑰彿" autocomplete="off">
+        </div>
+    </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="specs" placeholder="瑙勬牸" autocomplete="off">
+        </div>
+    </div>
+
+
+
+    <div id="data-search-btn" class="layui-btn-container layui-form-item">
+        <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button>
+        <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>
+    </div>
+</div>
+
+<!-- 琛ㄦ牸 -->
+<table class="layui-hide" id="workIn" lay-filter="workIn"></table>
+<script type="text/html" id="toolbar">
+    <div class="layui-btn-container">
+        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" >瀵煎嚭</button>
+    </div>
+</script>
+
+<script type="text/html" id="operate">
+</script>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/report/checkReport.js" charset="utf-8"></script>
+</body>
+</html>
+

--
Gitblit v1.9.1