From 6c554723b1dfbd50412e963206032ed7dd50bab9 Mon Sep 17 00:00:00 2001 From: lty <876263681@qq.com> Date: 星期三, 23 四月 2025 08:35:01 +0800 Subject: [PATCH] #库存上报结果界面 --- src/main/java/com/zy/asrs/mapper/LocDetlMapper.java | 2 src/main/java/com/zy/asrs/service/LocDetlService.java | 2 src/main/java/com/zy/asrs/controller/OpenController.java | 2 src/main/webapp/views/locDetlStatis/check.html | 59 +++++++++ src/main/resources/mapper/LocDetlMapper.xml | 13 + src/main/webapp/static/js/locDetlStatis/check.js | 256 ++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java | 4 src/main/java/com/zy/asrs/task/OrderReportScheduler.java | 2 src/main/java/com/zy/asrs/entity/param/MatSyncParam.java | 5 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 2 10 files changed, 338 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java index b5c333c..13ae2f9 100644 --- a/src/main/java/com/zy/asrs/controller/OpenController.java +++ b/src/main/java/com/zy/asrs/controller/OpenController.java @@ -51,7 +51,7 @@ public synchronized R syncStockUpload(@RequestHeader(required = false) String appkey, @RequestBody(required = false) List<MatSyncParam> param, HttpServletRequest request){ - auth(appkey, param, request); +// auth(appkey, param, request); if (Cools.isEmpty(param)) { return R.parse(BaseRes.PARAM); } diff --git a/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java b/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java index 181eaf6..fa2d082 100644 --- a/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java +++ b/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java @@ -65,6 +65,11 @@ private String unitId; /** + * 璐у搧鐗瑰緛 + */ + private String batch; + + /** * 閿�鍞粯璁よ閲忓崟浣嶇紪鐮� */ private String saleUnitId; diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java index 6d54e51..2b2c42a 100644 --- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java +++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java @@ -40,7 +40,7 @@ List<String> selectSameDetlTodayBatch(@Param("matnr") String matnr,@Param("batch") String batch, @Param("start") Integer start, @Param("end") Integer end); List<LocDetl> getStockStatis(Map<String, Object> map); - Double getAnfmeByMatnr(@Param("matnr") String matnr); + Double getAnfmeByMatnr(@Param("matnr") String matnr, @Param("batch") String batch, @Param("specs") String specs); Integer getStockStatisCount(Map<String, Object> map); diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java index 0d1cfc6..02dad88 100644 --- a/src/main/java/com/zy/asrs/service/LocDetlService.java +++ b/src/main/java/com/zy/asrs/service/LocDetlService.java @@ -70,5 +70,5 @@ List<LocDetl> selectLocDetlUnilateralMoveShuttle(String matnr,String batch,String grade,Integer crnNo); - Double getAnfmeByMatnr(String matnr); + Double getAnfmeByMatnr(String matnr,String batch, String specs); } diff --git a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java index 539ac3c..e0d491c 100644 --- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java @@ -64,8 +64,8 @@ } @Override - public Double getAnfmeByMatnr(String matnr){ - return this.baseMapper.getAnfmeByMatnr(matnr); + public Double getAnfmeByMatnr(String matnr,String batch, String specs){ + return this.baseMapper.getAnfmeByMatnr(matnr,batch,specs); } @Override diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java index 4c0590a..5506627 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -620,7 +620,7 @@ throw new CoolException("鍟嗗搧缂栫爜涓虹┖"); } - Double LKAnfme = locDetlService.getAnfmeByMatnr(matParam.getMatnr()); + Double LKAnfme = locDetlService.getAnfmeByMatnr(matParam.getMatnr(),matParam.getBatch(),matParam.getSpecs()); if (LKAnfme == null) { LKAnfme = 0.0; } diff --git a/src/main/java/com/zy/asrs/task/OrderReportScheduler.java b/src/main/java/com/zy/asrs/task/OrderReportScheduler.java index 57dc6e2..e29a65d 100644 --- a/src/main/java/com/zy/asrs/task/OrderReportScheduler.java +++ b/src/main/java/com/zy/asrs/task/OrderReportScheduler.java @@ -13,7 +13,7 @@ /** * 灏嗗凡浣滀笟鏁伴噺涓庡畬鎴愭暟閲忕浉鍚岀殑璁㈠崟鏄庣粏涓婃姤锛岃嫢宸蹭笂鎶ュ皢鏍囪瘑鏀逛负2 */ - @Scheduled(cron = "0/30 * * * * ?") +// @Scheduled(cron = "0/30 * * * * ?") public void execute(){ orderReportHander.startPakIn(); orderReportHander.startPakOut(); diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml index 9c0ba37..c617c56 100644 --- a/src/main/resources/mapper/LocDetlMapper.xml +++ b/src/main/resources/mapper/LocDetlMapper.xml @@ -152,12 +152,21 @@ <select id="getAnfmeByMatnr" resultType="com.zy.asrs.entity.LocDetl"> select - sum(a.anfme) as anfme + sum(a.anfme) as anfme from asr_loc_detl a - where matnr = #{matnr} + <where> + a.matnr = #{matnr} + <if test="batch != null and batch != ''"> + and a.batch = #{batch} + </if> + <if test="specs != null and specs != ''"> + and a.specs = #{specs} + </if> + </where> </select> + <select id="getStockStatisCount" parameterType="java.util.Map" resultType="java.lang.Integer"> select count(1) as count from ( diff --git a/src/main/webapp/static/js/locDetlStatis/check.js b/src/main/webapp/static/js/locDetlStatis/check.js new file mode 100644 index 0000000..fd1da33 --- /dev/null +++ b/src/main/webapp/static/js/locDetlStatis/check.js @@ -0,0 +1,256 @@ +var pageCurr; +function getCol() { + var cols = [ + {field: 'anfme', align: 'center',title: '搴撳瓨鏁伴噺', style: 'font-weight: bold'} + ]; + arrRemove(detlCols, "field", "anfme") + arrRemove(detlCols, "field", "zpallet") + cols.push.apply(cols, detlCols); + // cols.push({field: 'anfme', align: 'center',title: '鏁伴噺', style: 'font-weight: bold'} + // ) + 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: '#locDetlStatis', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/locDetl/statis/auth', + page: true, + limit: 20, + limits: [20, 30, 50, 100, 200, 500], + even: true, + toolbar: '#toolbar', + cellMinWidth: 50, + cols: [getCol()], + 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(); + form.on('checkbox(tableCheckbox)', function (data) { + var _index = $(data.elem).attr('table-index')||0; + if(data.elem.checked){ + res.data[_index][data.value] = 'Y'; + }else{ + res.data[_index][data.value] = 'N'; + } + }); + /** + * 鏄剧ず搴撳瓨鎬绘暟閲� + */ + $.ajax({ + url: baseUrl+"/locDetl/count", + headers: {'token': localStorage.getItem('token')}, + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + $("#countNum").text(res.data + '涓�'); + } + }); + + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(locDetlStatis)', 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(locDetlStatis)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id); + switch(obj.event) { + case 'exportAll': + layer.closeAll(); + layer.load(1, {shade: [0.1,'#fff']}); + location.href = baseUrl + "/locDetl/statis/export"; + layer.closeAll('loading'); + break; + 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 = { + 'locDetl': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/locDetl/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) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(locDetlStatis)', function(obj){ + var data = obj.data; + switch (obj.event) { + // 璇︽儏 + case 'detail': + layer.open({ + type: 2, + title: '璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'locDetl_detail.html', + success: function(layero, index){ + setFormVal(layer.getChildFrame('#detail', index), data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } + }); + 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: '#modiTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#appeTime\\$', + type: 'datetime' + }); + + +}); + +// 鍏抽棴鍔ㄤ綔 +$(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 detailScreen(index) { + var detail = layer.getChildFrame('#data-detail', index); + var height = detail.height()+60; + if (height > ($(window).height()*0.9)) { + height = ($(window).height()*0.8); + } + layer.style(index, { +// top: (($(window).height()-height)/3)+"px", + height: height+'px' + }); +} + +$('body').keydown(function () { + if (event.keyCode === 13) { + $("#search").click(); + } +}); diff --git a/src/main/webapp/views/locDetlStatis/check.html b/src/main/webapp/views/locDetlStatis/check.html new file mode 100644 index 0000000..d0ea590 --- /dev/null +++ b/src/main/webapp/views/locDetlStatis/check.html @@ -0,0 +1,59 @@ +<!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"> +</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="matnr" placeholder="鍟嗗搧缂栧彿" autocomplete="off"> + </div> + </div> + <!-- 寰呮坊鍔� --> + <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block"> + <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 class="layui-inline"> + <fieldset class="layui-elem-field"> + <legend>鎬昏鏁伴噺</legend> + <div class="layui-field-box" id="countNum"> + 璇风◢绛� + </div> + </fieldset> + </div> +</div> + +<!-- 琛ㄦ牸 --> +<div class="layui-form"> + <table class="layui-hide" id="locDetlStatis" lay-filter="locDetlStatis"></table> +</div> +<script type="text/html" id="toolbar"> + + <div class="layui-btn-container layui-col-md1"> + <button class="layui-btn" lay-event="exportAll" style="margin-top: -0px">瀵煎嚭鍏ㄩ儴</button> + </div> +</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/locDetlStatis/locDetlStatis.js" charset="utf-8"></script> + +</body> +</html> + -- Gitblit v1.9.1