自动化立体仓库 - WMS系统
#
luxiaotao1123
2020-06-08 30c55facc6eefd660cab0d74c8a15a87338120b7
#
1个文件已添加
3个文件已修改
242 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/MatCodeController.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/MatCodePrint.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/matCode/matCode.js 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/matCode/matCode.html 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/MatCodeController.java
@@ -13,7 +13,9 @@
import com.core.common.DateUtils;
import com.core.common.R;
import com.zy.asrs.entity.MatCode;
import com.zy.asrs.entity.MatCodePrint;
import com.zy.asrs.service.MatCodeService;
import com.zy.common.CodeRes;
import com.zy.common.utils.BarcodeUtils;
import com.zy.common.utils.excel.matcode.MatCodeExcel;
import com.zy.common.utils.excel.matcode.MatCodeExcelListener;
@@ -142,12 +144,33 @@
        return R.ok();
    }
    // todo resource
    // 物料打印
    // 打印
    @RequestMapping(value = "/macCode/print/auth")
//    @ManagerAuth(memo = "物料编码打印")
    public R matCodePrint(HttpServletResponse response) throws IOException {
        BufferedImage img = BarcodeUtils.encode("123456789");
    @ManagerAuth(memo = "物料编码打印")
    public R matCodePrint(@RequestParam(value = "param[]") String[] param) {
        if(Cools.isEmpty(param)) {
            return R.parse(CodeRes.EMPTY);
        }
        List<MatCodePrint> res = new ArrayList<>();
        for (String matNo : param){
            MatCode matCode = matCodeService.selectById(matNo);
            // 打印数据注入
            MatCodePrint print = new MatCodePrint();
            print.setMatNo(matCode.getMatNo());
            print.setBarcodeUrl(matCode.getBarcode());
            print.setMatName(matCode.getMatName());
            print.setStr1(matCode.getStr1());
            print.setStr2(matCode.getStr2());
            res.add(print);
        }
        return R.ok().add(res);
    }
    // todo resource
    @RequestMapping(value = "/macCode/barcode/auth")
    @ManagerAuth(memo = "物料编码条形码获取")
    public R matCodeBarcode(@RequestParam String param, HttpServletResponse response) throws IOException {
        BufferedImage img = BarcodeUtils.encode(param);
        if (!ImageIO.write(img, "jpg", response.getOutputStream())) {
            throw new IOException("Could not write an image of format jpg");
        }
src/main/java/com/zy/asrs/entity/MatCodePrint.java
New file
@@ -0,0 +1,72 @@
package com.zy.asrs.entity;
/**
 * Created by vincent on 2020/6/8
 */
public class MatCodePrint {
    /**
     * 物料编码
     */
    private String matNo;
    /**
     * 条码地址
     */
    private String barcodeUrl;
    /**
     * 物料名称
     */
    private String matName;
    /**
     * 物料单位
     */
    private String str1;
    /**
     * 物料规格
     */
    private String str2;
    public String getMatNo() {
        return matNo;
    }
    public void setMatNo(String matNo) {
        this.matNo = matNo;
    }
    public String getBarcodeUrl() {
        return barcodeUrl;
    }
    public void setBarcodeUrl(String barcodeUrl) {
        this.barcodeUrl = barcodeUrl;
    }
    public String getMatName() {
        return matName;
    }
    public void setMatName(String matName) {
        this.matName = matName;
    }
    public String getStr1() {
        return str1;
    }
    public void setStr1(String str1) {
        this.str1 = str1;
    }
    public String getStr2() {
        return str2;
    }
    public void setStr2(String str2) {
        this.str2 = str2;
    }
}
src/main/webapp/static/js/matCode/matCode.js
@@ -370,6 +370,7 @@
                break;
            // 打印
            case "btnPrint":
                console.log(data);
                layer.open({
                    type: 1,
                    title: '打印',
@@ -385,6 +386,33 @@
        }
    });
    // 开始打印
    form.on('submit(doPrint)', function (data) {
        let param = [];
        param.push("1902980-11/12");
        console.log(param)
        $.ajax({
            url: baseUrl+"/macCode/print/auth",
            headers: {'token': localStorage.getItem('token')},
            data: {param: param},
            method: 'POST',
            async: false,
            success: function (res) {
                if (res.code === 200){
                    console.log(res.data);
                } else if (res.code === 403){
                    top.location.href = baseUrl;
                }else {
                    layer.msg(res.msg)
                }
            }
        })
        console.log(data.field);
        // $('#template-preview-1').print();
    })
    // 数据保存动作
    form.on('submit(save)', function () {
        if (banMsg != null){
src/main/webapp/views/matCode/matCode.html
@@ -26,11 +26,11 @@
            border: 1px solid #000;
            /*width: 100%;*/
        }
        /*.contain td {*/
        /*    border: 1px solid #000;*/
        /*    line-height: 46px;*/
        /*    text-align: center;*/
        /*}*/
        .contain td {
            border: 1px solid #000;
            /*line-height: 46px;*/
            text-align: center;
        }
        /*.qrcode {*/
        /*    margin: 3px;*/
        /*}*/
@@ -75,6 +75,7 @@
<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/jquery/jQuery.print.js"></script>
<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></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/matCode/matCode.js" charset="utf-8"></script>
@@ -122,52 +123,66 @@
<!-- 打印操作弹窗 -->
<div id="printDataDiv" style="display: none;padding: 20px">
    <div id="template-container">
        <!-- 预览图 1 -->
        <div id="template-preview-1" class="template-preview">
            <table height="317" width="317" style="overflow: hidden">
                <tr><td valign="middle">
                    <table class="contain">
                        <tr>
                            <td width="20%" align="right" scope="col">客户</td>
                            <td class="customer" width="30%" align="left" scope="col">{{this.customer}}</td>
                            <td width="20%" align="right" scope="col">颜色</td>
                            <td class="color" width="30%" align="left" scope="col">1</td>
                        </tr>
                        <tr>
                            <td align="right">生产日期</td>
                            <td class="createTime" align="left">{{this.createTime$}}</td>
                            <td align="right">数量</td>
                            <td class="amount" align="left">{{this.amount}}</td>
                        </tr>
                        <tr>
                            <td align="right">型号打字</td>
                            <td class="modelType" align="left" colspan="3">{{this.modelType}}</td>
                        </tr>
                        <tr>
                            <td align="right">产品批号</td>
                            <td class="seq" align="left">{{this.seq}}</td>
                            <td colspan="2" rowspan="3" align="right"><img class="qrcode" src="{{this.qrCodeUrl}}" style="width: 80%"></td>
                        </tr>
                        <tr>
                            <td align="right">装检验号</td>
                            <td class="boxCheck" align="left">{{this.boxCheck}}</td>
                        </tr>
                        <tr>
                            <td align="right">箱号</td>
                            <td class="boxNumber" align="left">{{this.boxNumber}}</td>
                        </tr>
                    </table>
                </td></tr>
            </table>
    <div class="layui-form">
        <div id="template-container">
            <!-- 预览图 1 -->
            <div id="template-preview-1" class="template-preview">
                <table class="contain" height="317" width="317" style="overflow: hidden">
                    <tr>
                        <td width="20%" align="right" scope="col">客户</td>
                        <td class="customer" width="30%" align="left" scope="col">{{this.customer}}</td>
                        <td width="20%" align="right" scope="col">颜色</td>
                        <td class="color" width="30%" align="left" scope="col">1</td>
                    </tr>
                    <tr>
                        <td align="right">生产日期</td>
                        <td class="createTime" align="left">{{this.createTime$}}</td>
                        <td align="right">数量</td>
                        <td class="amount" align="left">{{this.amount}}</td>
                    </tr>
                    <tr>
                        <td align="right">型号打字</td>
                        <td class="modelType" align="left" colspan="3">{{this.modelType}}</td>
                    </tr>
                    <tr>
                        <td align="right">产品批号</td>
                        <td class="seq" align="left">{{this.seq}}</td>
                        <td colspan="2" rowspan="3" align="right"><img class="qrcode" src="" style="width: 80%"></td>
                    </tr>
                    <tr>
                        <td align="right">装检验号</td>
                        <td class="boxCheck" align="left">{{this.boxCheck}}</td>
                    </tr>
                    <tr>
                        <td align="right">箱号</td>
                        <td class="boxNumber" align="left">{{this.boxNumber}}</td>
                    </tr>
                </table>
            </div>
            <!-- 预览图 2 -->
            <div class="template-preview"></div>
            <!-- 预览图 3 -->
            <div class="template-preview"></div>
        </div>
        <!-- 预览图 2 -->
        <div class="template-preview"></div>
        <!-- 预览图 3 -->
        <div class="template-preview"></div>
        <div class="select-template">
            <label><input type="radio" name="templateSelect" value="1" checked>模板一</label>
            <label><input type="radio" name="templateSelect" value="2">&nbsp;模板二</label>
        </div>
        <button class="layui-btn layui-btn-danger" id="doPrint" lay-submit lay-filter="doPrint">确定</button>
    </div>
</div>
<!-- 模板引擎 -->
<!-- 模板1 -->
<script type="text/template" id="templatePreview1">
</script>
<!-- 模板2 -->
<script type="text/template" id="templatePreview2">
</script>
<!-- 模板3 -->
<script type="text/template" id="templatePreview3">
</script>
</body>
</html>