src/main/java/com/zy/asrs/controller/OrderDetlController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/entity/param/PrintDataDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/OrderDetlMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/static/js/order/order.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/views/order/order.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/OrderDetlController.java
@@ -9,13 +9,14 @@ import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.R; import com.zy.asrs.entity.Order; import com.zy.asrs.entity.OrderDetl; import com.zy.asrs.mapper.OrderDetlMapper; import com.zy.asrs.service.OrderDetlService; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -26,6 +27,9 @@ @Autowired private OrderDetlService orderDetlService; @Resource private OrderDetlMapper orderDetlMapper; @PostMapping("/orderDetl/list/pda/auth") public R getPdaOrderDetl(@RequestBody Map<String,Object> map) { @@ -142,4 +146,13 @@ return R.ok(); } @RequestMapping(value = "/orderDetl/getPrintDetl/{id}") @ManagerAuth public R getPrintDetl(@PathVariable("id") Integer id) { if (Cools.isEmpty(id)) { return R.parse("id为空"); } return R.ok(orderDetlMapper.selectPrintData(id)); } } src/main/java/com/zy/asrs/entity/param/PrintDataDto.java
New file @@ -0,0 +1,48 @@ package com.zy.asrs.entity.param; import lombok.Data; /** * @author pang.jiabao * @description 打印订单明细二维码信息 * @createDate 2024/11/5 16:51 */ @Data public class PrintDataDto { /** * 物料编码 */ private String matnr; /** * 物料名称 */ private String maktx; /** * 批次 */ private String batch; /** * 规格 */ private String specs; /** * 单位 */ private String unit; /** * 数量 */ private Double anfme; /** * 客户名称 */ private String cstmrName; } src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.mapper.BaseMapper; import com.zy.asrs.entity.OrderDetl; import com.zy.asrs.entity.param.PrintDataDto; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -34,4 +35,10 @@ int increaseQtyByOrderNo(@Param("orderNo")String orderNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty); int increaseWorkQty(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("workQty")Double workQty); /** * 查询打印订单明细二维码数据 * @param id 订单明细id */ PrintDataDto selectPrintData(Integer id); } src/main/resources/mapper/OrderDetlMapper.xml
@@ -124,6 +124,22 @@ and mdt.pakout = 1 <include refid="pakOutPageCondition"></include> </select> <select id="selectPrintData" resultType="com.zy.asrs.entity.param.PrintDataDto"> select top 1 md.matnr , md.maktx , md.batch , md.specs , md.unit , md.anfme , mo.cstmr_name as cstmrName from man_order_detl md inner join man_order mo on md.order_id = mo.id where md.id = #{id} </select> <update id="increase"> update man_order_detl src/main/webapp/static/js/order/order.js
@@ -130,7 +130,8 @@ {field: 'batch', title: '批号'}, {field: 'anfme', title: '数量'}, {field: 'workQty', title: '作业数量'}, {field: 'qty', title: '完成数量', style: 'font-weight: bold'} {field: 'qty', title: '完成数量', style: 'font-weight: bold'}, {align: 'center', title: '打印', toolbar: '#printOperate', width: 80} // {field: 'unit', title: '单位'}, // { // field: 'createTime$', title: '创建时间', sort: true, templet: function (d) { @@ -166,6 +167,42 @@ } }); // 监听行工具事件 table.on('tool(lookSSXMTable)', function(obj) { $.ajax({ url: baseUrl+"/orderDetl/getPrintDetl/" + obj.data.id, headers: {'token': localStorage.getItem('token'),'Content-Type' :'application/json'}, method: 'GET', async: false, success: function (res) { if (res.code === 200){ layer.closeAll(); let data = res.data var templateDom = $("#templatePreview1"); var className = templateDom.attr("class"); var param = "编码:"+data.matnr+";名称:"+data.maktx+";批次:"+data.batch+";规格:"+data.specs +";单位:"+data.unit+";数量:"+data.anfme+";客户名称:"+data.cstmrName; var encodeUrl = encodeURIComponent(param); data["barcodeUrl"]=baseUrl+"/mac/code/auth?type=2¶m="+encodeUrl; console.log(data["barcodeUrl"]); let list = Array.isArray(res.data) ? res.data : [res.data]; res.data = list; var tpl = templateDom.html(); var template = Handlebars.compile(tpl); var html = template(res); var box = $("#box"); box.html(html);box.show(); box.print({mediaPrint:true}); box.hide(); } else if (res.code === 403){ top.location.href = baseUrl+"/"; }else { layer.msg(res.msg) } } }) }); // 显示表单弹窗 function showEditModel(expTpe) { admin.open({ src/main/webapp/views/order/order.html
@@ -94,6 +94,7 @@ </div> </div> </div> <div id="box" style="display: block"></div> <!-- 表格操作列 --> <script type="text/html" id="operate"> {{# if (d.settle == 0 || d.settle == 1) { }} @@ -111,6 +112,9 @@ <i class="layui-icon" style="font-size: 12px;"></i> 查看单据明细 </a> </span> </script> <script type="text/html" id="printOperate"> <button class="layui-btn layui-btn-xs btn-print" lay-event="btnPrint">打印</button> </script> <script type="text/html" id="orderNoTpl"> {{d.orderNo}} @@ -183,6 +187,34 @@ <script type="text/html" id="formSSXMTableBar"> <!-- <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a>--> <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a> </script> <script type="text/template" id="templatePreview1" class="template-qrcode"> {{#each data}} <div style="width: 150px;"> <div> <img class="template-qrcode" src="{{this.barcodeUrl}}"> <div style="text-align: center;">{{matnr}}</div> </div> <div style="font-size: 12px;"> 名称:{{maktx}} </div> <div style="font-size: 12px;"> 批次:{{batch}} </div> <div style="font-size: 12px;"> 规格:{{specs}} </div> <div style="font-size: 12px;"> 单位:{{unit}} </div> <div style="font-size: 12px;"> 数量:{{anfme}} </div> <div style="font-size: 12px;"> 客户名称:{{cstmrName}} </div> </div> {{/each}} </script> <!-- 表单弹窗 --> <script type="text/html" id="matEditDialog"> @@ -302,6 +334,7 @@ </script> <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></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/layui/layui.js" charset="utf-8"></script> <script type="text/javascript" src="../../static/js/echarts/echarts.min.js" charset="utf-8"></script>