自动化立体仓库 - WMS系统
zhangc
2025-03-24 cfc4421af2ba05a786300e70e21c779ddbd39836
工作档查询条件
5个文件已修改
110 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/AgvWrkMastController.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/AgvWrkMastLogController.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/agvWrkMast/wrkMast.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/agvWrkMast/wrkMast.html 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/agvWrkMastLog/wrkMastLog.html 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/AgvWrkMastController.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.enums.SqlLike;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
@@ -44,7 +45,7 @@
                  @RequestParam Map<String, Object> param){
        excludeTrash(param);
        EntityWrapper<AgvWrkMast> wrapper = new EntityWrapper<>();
        convert(param, wrapper);
        convert2(param, wrapper);
        allLike(AgvWrkMast.class, param.keySet(), wrapper, condition);
        if (!Cools.isEmpty(orderByField)){
            if (orderByField.endsWith("$")){
@@ -95,6 +96,28 @@
        }
    }
    private <T> void convert2(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 {
                String key = entry.getKey();
                if (key.startsWith("%") && key.endsWith("%")) {
                    wrapper.like(entry.getKey().replaceAll("%", ""), val);
                } else if (key.startsWith("%")) {
                    wrapper.like(entry.getKey().replace("%", ""), val, SqlLike.LEFT);
                } else if (key.endsWith("%")) {
                    wrapper.like(entry.getKey().replace("%", ""), val, SqlLike.RIGHT);
                } else {
                    wrapper.eq(entry.getKey(), val);
                }
            }
        }
    }
    @RequestMapping(value = "/wrkMast/add/auth")
    @ManagerAuth(memo = "工作档添加")
    public R add(AgvWrkMast wrkMast) {
src/main/java/com/zy/asrs/controller/AgvWrkMastLogController.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.enums.SqlLike;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
@@ -45,7 +46,7 @@
                  @RequestParam Map<String, Object> param){
        excludeTrash(param);
        EntityWrapper<AgvWrkMastLog> wrapper = new EntityWrapper<>();
        convert(param, wrapper);
        convert2(param, wrapper);
        allLike(AgvWrkMastLog.class, param.keySet(), wrapper, condition);
        if (!Cools.isEmpty(orderByField)){
            if (orderByField.endsWith("$")){
@@ -99,6 +100,28 @@
        }
    }
    private <T> void convert2(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 {
                String key = entry.getKey();
                if (key.startsWith("%") && key.endsWith("%")) {
                    wrapper.like(entry.getKey().replaceAll("%", ""), val);
                } else if (key.startsWith("%")) {
                    wrapper.like(entry.getKey().replace("%", ""), val, SqlLike.LEFT);
                } else if (key.endsWith("%")) {
                    wrapper.like(entry.getKey().replace("%", ""), val, SqlLike.RIGHT);
                } else {
                    wrapper.eq(entry.getKey(), val);
                }
            }
        }
    }
    @RequestMapping(value = "/wrkMastLog/add/auth")
    @ManagerAuth(memo = "工作历史档添加")
    public R add(AgvWrkMastLog wrkMastLog) {
src/main/webapp/static/js/agvWrkMast/wrkMast.js
@@ -21,7 +21,7 @@
        cols: [[
            {type: 'checkbox'}
            ,{field: 'wrkNo', align: 'center',title: '工作号',sort: true, width: 85}
            ,{field: 'modiTime$', align: 'center',title: '工作时间',sort: true, width: 160}
            ,{field: 'modiTime$', align: 'center',title: '最新更新时间',sort: true, width: 160}
            ,{field: 'wrkSts$', align: 'center',title: '工作状态'}
            ,{field: 'ioType$', align: 'center',title: '入出库类型'}
            ,{field: 'ioPri', align: 'center',title: '优先级',width: 80}
@@ -58,7 +58,7 @@
            // ,{field: 'crnEndTime$', align: 'center',title: '堆垛机停止时间'}
            // ,{field: 'refIotime$', align: 'center',title: '拣料时间'}
            ,{field: 'appeUser$', align: 'center',title: '用户'}
            ,{field: 'appeTime$', align: 'center',title: '开始时间', hide:false, width: 160}
            ,{field: 'appeTime$', align: 'center',title: '创建时间', hide:false, width: 160}
            ,{field: 'modiUser$', align: 'center',title: '修改人员', hide:true}
            ,{field: 'modiTime$', align: 'center',title: '修改时间', hide:true, width: 160}
            // ,{field: 'memo', align: 'center',title: '备注'}
src/main/webapp/views/agvWrkMast/wrkMast.html
@@ -97,6 +97,21 @@
    </div>
    <div class="layui-inline">
        <div class="layui-input-inline">
            <input class="layui-input" type="text" name="%source_loc_no%" placeholder="源库位" autocomplete="off">
        </div>
    </div>
    <div class="layui-inline">
        <div class="layui-input-inline">
            <input class="layui-input" type="text" name="%loc_no%" placeholder="目标库位" autocomplete="off">
        </div>
    </div>
    <div class="layui-inline">
        <div class="layui-input-inline">
            <input class="layui-input" type="text" name="barcode%" placeholder="货架前两位" autocomplete="off">
        </div>
    </div>
    <div class="layui-inline">
        <div class="layui-input-inline">
            <input class="layui-input" type="text" name="condition" placeholder="请输入" autocomplete="off">
        </div>
    </div>
@@ -144,7 +159,7 @@
<script type="text/javascript" src="../../static/layui/layui.js?v=100" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/common.js?v=100" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/cool.js?v=100" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/agvWrkMast/wrkMast.js?v=3" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/agvWrkMast/wrkMast.js?v=4" charset="utf-8"></script>
<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe>
src/main/webapp/views/agvWrkMastLog/wrkMastLog.html
@@ -40,21 +40,36 @@
            </div>
        </div>
    </div>
    <div class="layui-inline">
        <div class="layui-input-inline cool-auto-complete">
            <input id="crnNo" class="layui-input" name="crn_no" type="text" placeholder="请输入" autocomplete="off" style="display: none">
            <input id="crnNo$" 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="basCrnpQueryBycrnNo" onkeyup="autoLoad(this.getAttribute('data-key'))">
                <select class="cool-auto-complete-window-select" data-key="basCrnpQueryBycrnNoSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
                </select>
            </div>
        </div>
    </div>
<!--    <div class="layui-inline">-->
<!--        <div class="layui-input-inline cool-auto-complete">-->
<!--            <input id="crnNo" class="layui-input" name="crn_no" type="text" placeholder="请输入" autocomplete="off" style="display: none">-->
<!--            <input id="crnNo$" 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="basCrnpQueryBycrnNo" onkeyup="autoLoad(this.getAttribute('data-key'))">-->
<!--                <select class="cool-auto-complete-window-select" data-key="basCrnpQueryBycrnNoSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">-->
<!--                </select>-->
<!--            </div>-->
<!--        </div>-->
<!--    </div>-->
    <!-- 日期范围 -->
    <div class="layui-inline" style="width: 300px">
        <div class="layui-input-inline">
            <input class="layui-input layui-laydate-range" name="io_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="%source_loc_no%" placeholder="源库位" autocomplete="off">
        </div>
    </div>
    <div class="layui-inline">
        <div class="layui-input-inline">
            <input class="layui-input" type="text" name="%loc_no%" placeholder="目标库位" autocomplete="off">
        </div>
    </div>
    <div class="layui-inline">
        <div class="layui-input-inline">
            <input class="layui-input" type="text" name="barcode%" placeholder="货架前两位" autocomplete="off">
        </div>
    </div>
    <div class="layui-inline">
@@ -89,7 +104,7 @@
<script type="text/javascript" src="../../static/layui/layui.js?v=100" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/common.js?v=100" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/cool.js?v=100" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/agvWrkMastLog/wrkMastLog.js?v=2" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/agvWrkMastLog/wrkMastLog.js?v=5" charset="utf-8"></script>
<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe>