自动化立体仓库 - WMS系统
dubin
3 天以前 979f2505861b77b8702604739486b62f1e339e76
联调
10个文件已修改
2个文件已添加
547 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/BarcodeMatnrController.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/MatBarcodeService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/MobileService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MatBarcodeServiceImpl.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/model/LocTypeDto.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/controller/UserController.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/barcodeMatnr/barcodeMatnr.js 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/barcodeMatnr/barcodeMatnr.html 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/barcodeMatnr/barcodeMatnr_clamp.html 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/barcodeMatnr/barcodeMatnr_comb.html 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/barcodeMatnr/barcodeMatnr_detail.html 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/BarcodeMatnrController.java
@@ -3,11 +3,16 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
import com.zy.asrs.entity.MatBarcode;
import com.zy.asrs.entity.WaitPakin;
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.entity.param.MobileAdjustParam;
import com.zy.asrs.service.MatBarcodeService;
import com.zy.asrs.service.MobileService;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
@@ -23,6 +28,8 @@
public class BarcodeMatnrController extends BaseController {
    @Autowired
    private MatBarcodeService matBarcodeService;
    @Autowired
    private MobileService mobileService;
    /*
    * 物料托盘绑定分页查询
    * */
@@ -65,4 +72,45 @@
        matBarcodeService.deleteMatBarcode(list);
        return R.ok();
    }
    /*物料托盘绑定
    *
    * */
    @RequestMapping(value = "/barcodeMatnr/add/auth")
    @ManagerAuth
    public R add(WaitPakin waitPakin) {
        if (Cools.isEmpty(waitPakin.getBarcode())||Cools.isEmpty(waitPakin.getModiUser())){
            return R.error(BaseRes.PARAM);
        }
        matBarcodeService.addBarcodeMatnr(waitPakin);
        return R.ok();
    }
    /*组托
    *
    * */
    @RequestMapping(value = "/barcodeMatnr/add1/auth")
    @ManagerAuth
    public R comb(WaitPakin waitPakin) {
        if (Cools.isEmpty(waitPakin.getBarcode())||Cools.isEmpty(waitPakin.getModiUser())||Cools.isEmpty(waitPakin.getAnfme())){
            return R.error(BaseRes.PARAM);
        }
        mobileService.combToWms(waitPakin);
        return R.ok("组托成功");
    }
    /*并板
    *
    * */
    @RequestMapping(value = "/barcodeMatnr/add2/auth")
    @ManagerAuth
    public R clamp(WaitPakin waitPakin) {
        if (Cools.isEmpty(waitPakin.getBarcode())||Cools.isEmpty(waitPakin.getModiUser())||Cools.isEmpty(waitPakin.getAnfme())){
            return R.error(BaseRes.PARAM);
        }
        MobileAdjustParam combParam=new MobileAdjustParam();
        combParam.setBarcode(waitPakin.getBarcode());
        mobileService.adjustNew(combParam, Boolean.TRUE, getUserId());
        return R.ok("并板成功");
    }
}
src/main/java/com/zy/asrs/service/MatBarcodeService.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.MatBarcode;
import com.zy.asrs.entity.WaitPakin;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -11,4 +12,6 @@
    MatBarcode selectbyMatnr(String matnr);
    void deleteMatBarcode(List<MatBarcode> list);
    void addBarcodeMatnr(WaitPakin waitPakin);
}
src/main/java/com/zy/asrs/service/MobileService.java
@@ -4,6 +4,7 @@
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.entity.WaitPakin;
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.entity.param.MobileAdjustParam;
import com.zy.asrs.entity.param.OffSaleParam;
@@ -42,4 +43,5 @@
    void adjustNew(MobileAdjustParam param, Boolean re, Long userId);
    void combToWms(WaitPakin waitPakin);
}
src/main/java/com/zy/asrs/service/impl/MatBarcodeServiceImpl.java
@@ -1,9 +1,13 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.exception.CoolException;
import com.zy.asrs.entity.Mat;
import com.zy.asrs.entity.MatBarcode;
import com.zy.asrs.entity.WaitPakin;
import com.zy.asrs.mapper.MatBarcodeMapper;
import com.zy.asrs.service.MatBarcodeService;
import com.zy.asrs.service.MatService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -14,6 +18,10 @@
public class MatBarcodeServiceImpl extends ServiceImpl<MatBarcodeMapper, MatBarcode> implements MatBarcodeService {
    @Autowired
    private MatBarcodeMapper matBarcodeMapper;
    @Autowired
    private MatBarcodeService matBarcodeService;
    @Autowired
    private MatService matService;
    @Override
    public MatBarcode selectbyMatnr(String matnr) {
        return this.baseMapper.selectByMatnr(matnr);
@@ -25,4 +33,25 @@
            matBarcodeMapper.deleteByMatnr(matBarcode.getMatnr());
        }
    }
    @Override
    public void addBarcodeMatnr(WaitPakin waitPakin) {
        Mat mat = matService.selectById(waitPakin.getModiUser());
        if (mat == null){
            throw new CoolException("物料不存在,请先添加物料数据");
        }
        MatBarcode matBarcode = matBarcodeMapper.selectByMatnr(mat.getMatnr());
        if (matBarcode != null){
            throw new CoolException("该物料已经绑定托盘,请勿重复绑定");
        }
        MatBarcode mb=new MatBarcode();
        mb.setZpallet(waitPakin.getBarcode());
        mb.setMatnr(mat.getMatnr());
        mb.setMaktx(mat.getMaktx());
        mb.setSpecs(mat.getSpecs());
        mb.setModel(mat.getModel());
        if (!matBarcodeService.insert(mb)){
            throw new CoolException("物料托盘绑定失败");
        }
    }
}
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -730,4 +730,70 @@
        }
        log.info(recordRecordLog);
    }
    @Override
    public void combToWms(WaitPakin waitPakin) {
        // 判断是否有相同条码的数据
//        if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
//                eq("zpallet", waitPakin.getBarcode()).eq("io_status", "N")) > 0) {
//            throw new CoolException(waitPakin.getBarcode() + "数据正在进行入库");
//        }
        if (waitPakin.getBarcode().length() != 8) {
            throw new CoolException("条码长度不是8位===>>" + waitPakin.getBarcode());
        }
        int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", waitPakin.getBarcode()));
        int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", waitPakin.getBarcode()));
        int countwait = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", waitPakin.getBarcode()));
        if (countLoc > 0 || countWrk > 0) {
            throw new CoolException("组托档/工作档/库存条码数据已存在===>>" + waitPakin.getBarcode());
        }
        Date now = new Date();
        // 生成入库通知档
        List<DetlDto> detlDtos = new ArrayList<>();
        Mat byId = matService.selectById(waitPakin.getModiUser());
        DetlDto detlDto = new DetlDto(byId.getMatnr(), waitPakin.getBatch(), waitPakin.getAnfme(), waitPakin.getProType(), waitPakin.getTemp2(), waitPakin.getOutOrderNo());
            detlDto.setMemo(detlDto.getMemo());
            if (DetlDto.has(detlDtos, detlDto)) {
                DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch());
                assert one != null;
                one.setAnfme(one.getAnfme() + detlDto.getAnfme());
            } else {
                detlDtos.add(detlDto);
            }
        for (DetlDto dto : detlDtos) {
            Mat mat = matService.selectByMatnr(dto.getMatnr());
            if (Cools.isEmpty(mat)) {
                throw new CoolException(dto.getMatnr() + "商品档案不存在");
            }
            //校验当前物料与托盘绑定信息是否正确
            MatBarcode mb = matBarcodeService.selectbyMatnr(dto.getMatnr());
            if (mb != null){
                if (!mb.getZpallet().equals(waitPakin.getBarcode())){
                    throw new CoolException(detlDto.getMatnr() + "该物料与其他托盘绑定,请先解绑");
                }
            }
            WaitPakin waitPakin1 = new WaitPakin();
            waitPakin1.sync(mat);
            waitPakin1.setProType(dto.getProType());
            waitPakin1.setTemp2(dto.getTemp2());
            waitPakin1.setOutOrderNo(dto.getOutOrderNo());
            waitPakin1.setBatch(dto.getBatch());
            waitPakin1.setZpallet(waitPakin.getBarcode());   // 托盘码
            waitPakin1.setIoStatus("N");     // 入出状态
            waitPakin1.setAnfme(dto.getAnfme());  // 数量
            waitPakin1.setStatus("Y");    // 状态
            waitPakin1.setAppeUser(waitPakin.getAppeUser());
            waitPakin1.setAppeTime(now);
            waitPakin1.setModiUser(waitPakin.getAppeUser());
            waitPakin1.setModiTime(now);
            waitPakin1.setMemo(detlDto.getMemo());
            if (!waitPakinService.insert(waitPakin1)) {
                throw new CoolException("保存入库通知档失败");
            }
        }
    }
}
src/main/java/com/zy/common/model/LocTypeDto.java
@@ -13,7 +13,7 @@
@Data
public class LocTypeDto {
    // 高低类型{0:未知,1:低库位,2:高库位,3:中库位}
    // 高低类型{0:未知,1:低库位,5:高库位,2:中库位,6:超高库位}
    private Short locType1;
    // 宽窄类型{0:未知,1:窄库位,2:宽库位}
@@ -32,9 +32,11 @@
        if (basDevp.getLocType1() == 1) {
            this.locType1 = 1; // 低库位
        } else if (basDevp.getLocType1() ==2){
            this.locType1 = 2; // 高库位
        } else {
            this.locType1 = 3; // 中库位
            this.locType1 = 2; // 中库位
        } else if (basDevp.getLocType1() == 5){
            this.locType1 = 5; // 高库位
        }else if (basDevp.getLocType1() == 6){
            this.locType1 = 6;//超高库位
        }
        log.info(JSON.toJSONString(this));
    }
src/main/java/com/zy/system/controller/UserController.java
@@ -3,6 +3,8 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.zy.asrs.entity.Mat;
import com.zy.asrs.service.MatService;
import com.zy.common.web.BaseController;
import com.zy.system.entity.Role;
import com.zy.system.entity.User;
@@ -24,6 +26,8 @@
    private UserService userService;
    @Autowired
    private RoleService roleService;
    @Autowired
    private MatService matService;
    @RequestMapping(value = "/user/{id}/auth")
    @ManagerAuth
@@ -144,14 +148,14 @@
    @RequestMapping(value = "/userQuery/auth")
    @ManagerAuth
    public R query(String condition) {
        EntityWrapper<User> wrapper = new EntityWrapper<>();
        wrapper.like("username", condition);
        Page<User> page = userService.selectPage(new Page<>(0, 10), wrapper);
        EntityWrapper<Mat> wrapper = new EntityWrapper<>();
        wrapper.like("matnr", condition);
        Page<Mat> page = matService.selectPage(new Page<>(0, 100000), wrapper);
        List<Map<String, Object>> result = new ArrayList<>();
        for (User user : page.getRecords()){
        for (Mat mat : page.getRecords()){
            Map<String, Object> map = new HashMap<>();
            map.put("id", user.getId());
            map.put("value", user.getUsername());
            map.put("id", mat.getId());
            map.put("value", mat.getMaktx());
            result.add(map);
        }
        return R.ok(result);
src/main/webapp/static/js/barcodeMatnr/barcodeMatnr.js
@@ -145,30 +145,32 @@
                });
                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+"/waitPakin/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)
                                }
                            }
                        })
                    });
                }
                layer.open({
                    type: 2,
                    title: '组托',
                    maxmin: true,
                    area: [top.detailWidth, top.detailHeight],
                    content: 'barcodeMatnr_comb.html',
                    success: function(layero, index){
                        layer.getChildFrame('#data-detail-submit-edit', index).hide();
                        clearFormVal(layer.getChildFrame('#detail', index));
                        layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
                    }
                });
                break;
            case 'clampData':
                layer.open({
                    type: 2,
                    title: '并板',
                    maxmin: true,
                    area: [top.detailWidth, top.detailHeight],
                    content: 'barcodeMatnr_clamp.html',
                    success: function(layero, index){
                        layer.getChildFrame('#data-detail-submit-edit', index).hide();
                        clearFormVal(layer.getChildFrame('#detail', index));
                        layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
                    }
                });
                break;
            case 'exportData':
                layer.confirm('确定导出Excel吗', {shadeClose: true}, function(){
@@ -338,6 +340,22 @@
        method("add");
    });
    form.on('submit(save1)', function () {
        if (banMsg != null){
            layer.msg(banMsg);
            return;
        }
        method("add1");
    });
    form.on('submit(save2)', function () {
        if (banMsg != null){
            layer.msg(banMsg);
            return;
        }
        method("add2");
    });
    // 数据修改动作
    form.on('submit(edit)', function () {
        method("update")
@@ -364,7 +382,7 @@
        };
        $.ajax({
            url: baseUrl+"/waitPakin/"+name+"/auth",
            url: baseUrl+"/barcodeMatnr/"+name+"/auth",
            headers: {'token': localStorage.getItem('token')},
            data: top.reObject(data),
            method: 'POST',
src/main/webapp/views/barcodeMatnr/barcodeMatnr.html
@@ -45,7 +45,8 @@
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-sm" id="btn-wrk" lay-event="addWrk">解绑</button>
        <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">绑定</button>
        <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">删除</button>
        <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">组托</button>
        <button class="layui-btn layui-btn-sm" id="btn-clamp" lay-event="clampData">并板</button>
        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="">导出</button>
    </div>
</script>
src/main/webapp/views/barcodeMatnr/barcodeMatnr_clamp.html
New file
@@ -0,0 +1,132 @@
<!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="data-detail" class="layer_self_wrap">
    <form id="detail" class="layui-form">
        <!--
            <div class="layui-inline"  style="display: none">
                <label class="layui-form-label"><span class="not-null">*</span>编  号:</label>
                <div class="layui-input-inline">
                    <input id="id" class="layui-input" type="text" placeholder="编号">
                </div>
            </div>
        -->
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label"><span class="not-null">*</span>编  号:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="id" class="layui-input" type="text" onkeyup="check(this.id, 'waitPakin')" lay-verify="number" >-->
<!--            </div>-->
<!--        </div>-->
        <div class="layui-inline"  style="width:31%;">
            <label class="layui-form-label">托 盘 码:</label>
            <div class="layui-input-inline">
                <input id="barcode" class="layui-input" type="text">
            </div>
        </div>
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">商品编号:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="matnr" class="layui-input" type="text">-->
<!--            </div>-->
<!--        </div>-->
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">物料描述:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="maktx" class="layui-input" type="text">-->
<!--            </div>-->
<!--        </div>-->
        <div class="layui-inline"  style="width:31%;">
            <label class="layui-form-label">数  量:</label>
            <div class="layui-input-inline">
                <input id="anfme" class="layui-input" type="text" lay-verify="number" >
            </div>
        </div>
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">单  位:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="unit" class="layui-input" type="text">-->
<!--            </div>-->
<!--        </div>-->
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">状  态:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="status" class="layui-input" type="text">-->
<!--            </div>-->
<!--        </div>-->
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">备  注:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="memo" class="layui-input" type="text">-->
<!--            </div>-->
<!--        </div>-->
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">修改时间:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="modiTime$" class="layui-input" type="text" autocomplete="off">-->
<!--            </div>-->
<!--        </div>-->
        <div class="layui-inline"  style="width:31%;">
            <label class="layui-form-label">物料编码:</label>
            <div class="layui-input-inline cool-auto-complete">
                <input id="modiUser" class="layui-input" type="text" lay-verify="number"  style="display: none">
                <input id="modiUser$" 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="userQueryBymodiUser" onkeyup="autoLoad(this.getAttribute('data-key'))">
                    <select class="cool-auto-complete-window-select" data-key="userQueryBymodiUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
                    </select>
                </div>
            </div>
        </div>
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">添加时间:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="appeTime$" class="layui-input" type="text" autocomplete="off">-->
<!--            </div>-->
<!--        </div>-->
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">创 建 者:</label>-->
<!--            <div class="layui-input-inline cool-auto-complete">-->
<!--                <input id="appeUser" class="layui-input" type="text" lay-verify="number"  style="display: none">-->
<!--                <input id="appeUser$" 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="userQueryByappeUser" onkeyup="autoLoad(this.getAttribute('data-key'))">-->
<!--                    <select class="cool-auto-complete-window-select" data-key="userQueryByappeUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">-->
<!--                    </select>-->
<!--                </div>-->
<!--            </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="save2">保存</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/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/barcodeMatnr/barcodeMatnr.js" charset="utf-8"></script>
</html>
src/main/webapp/views/barcodeMatnr/barcodeMatnr_comb.html
New file
@@ -0,0 +1,132 @@
<!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="data-detail" class="layer_self_wrap">
    <form id="detail" class="layui-form">
        <!--
            <div class="layui-inline"  style="display: none">
                <label class="layui-form-label"><span class="not-null">*</span>编  号:</label>
                <div class="layui-input-inline">
                    <input id="id" class="layui-input" type="text" placeholder="编号">
                </div>
            </div>
        -->
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label"><span class="not-null">*</span>编  号:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="id" class="layui-input" type="text" onkeyup="check(this.id, 'waitPakin')" lay-verify="number" >-->
<!--            </div>-->
<!--        </div>-->
        <div class="layui-inline"  style="width:31%;">
            <label class="layui-form-label">托 盘 码:</label>
            <div class="layui-input-inline">
                <input id="barcode" class="layui-input" type="text">
            </div>
        </div>
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">商品编号:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="matnr" class="layui-input" type="text">-->
<!--            </div>-->
<!--        </div>-->
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">物料描述:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="maktx" class="layui-input" type="text">-->
<!--            </div>-->
<!--        </div>-->
        <div class="layui-inline"  style="width:31%;">
            <label class="layui-form-label">数  量:</label>
            <div class="layui-input-inline">
                <input id="anfme" class="layui-input" type="text" lay-verify="number" >
            </div>
        </div>
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">单  位:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="unit" class="layui-input" type="text">-->
<!--            </div>-->
<!--        </div>-->
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">状  态:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="status" class="layui-input" type="text">-->
<!--            </div>-->
<!--        </div>-->
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">备  注:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="memo" class="layui-input" type="text">-->
<!--            </div>-->
<!--        </div>-->
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">修改时间:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="modiTime$" class="layui-input" type="text" autocomplete="off">-->
<!--            </div>-->
<!--        </div>-->
        <div class="layui-inline"  style="width:31%;">
            <label class="layui-form-label">物料编码:</label>
            <div class="layui-input-inline cool-auto-complete">
                <input id="modiUser" class="layui-input" type="text" lay-verify="number"  style="display: none">
                <input id="modiUser$" 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="userQueryBymodiUser" onkeyup="autoLoad(this.getAttribute('data-key'))">
                    <select class="cool-auto-complete-window-select" data-key="userQueryBymodiUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
                    </select>
                </div>
            </div>
        </div>
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">添加时间:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="appeTime$" class="layui-input" type="text" autocomplete="off">-->
<!--            </div>-->
<!--        </div>-->
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">创 建 者:</label>-->
<!--            <div class="layui-input-inline cool-auto-complete">-->
<!--                <input id="appeUser" class="layui-input" type="text" lay-verify="number"  style="display: none">-->
<!--                <input id="appeUser$" 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="userQueryByappeUser" onkeyup="autoLoad(this.getAttribute('data-key'))">-->
<!--                    <select class="cool-auto-complete-window-select" data-key="userQueryByappeUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">-->
<!--                    </select>-->
<!--                </div>-->
<!--            </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="save1">保存</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/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/barcodeMatnr/barcodeMatnr.js" charset="utf-8"></script>
</html>
src/main/webapp/views/barcodeMatnr/barcodeMatnr_detail.html
@@ -29,12 +29,12 @@
<!--                <input id="id" class="layui-input" type="text" onkeyup="check(this.id, 'waitPakin')" lay-verify="number" >-->
<!--            </div>-->
<!--        </div>-->
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">托 盘 码:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="barcode" class="layui-input" type="text">-->
<!--            </div>-->
<!--        </div>-->
        <div class="layui-inline"  style="width:31%;">
            <label class="layui-form-label">托 盘 码:</label>
            <div class="layui-input-inline">
                <input id="barcode" class="layui-input" type="text">
            </div>
        </div>
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">商品编号:</label>-->
<!--            <div class="layui-input-inline">-->
@@ -95,25 +95,25 @@
<!--                <input id="appeTime$" class="layui-input" type="text" autocomplete="off">-->
<!--            </div>-->
<!--        </div>-->
        <div class="layui-inline"  style="width:31%;">
            <label class="layui-form-label">托盘码:</label>
            <div class="layui-input-inline cool-auto-complete">
                <input id="appeUser" class="layui-input" type="text" lay-verify="number"  style="display: none">
                <input id="appeUser$" 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="userQueryByappeUser" onkeyup="autoLoad(this.getAttribute('data-key'))">
                    <select class="cool-auto-complete-window-select" data-key="userQueryByappeUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
                    </select>
                </div>
            </div>
        </div>
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">托盘码:</label>-->
<!--            <div class="layui-input-inline cool-auto-complete">-->
<!--                <input id="appeUser" class="layui-input" type="text" lay-verify="number"  style="display: none">-->
<!--                <input id="appeUser$" 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="userQueryByappeUser" onkeyup="autoLoad(this.getAttribute('data-key'))">-->
<!--                    <select class="cool-auto-complete-window-select" data-key="userQueryByappeUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">-->
<!--                    </select>-->
<!--                </div>-->
<!--            </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-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>