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