From 3d04b112c510fd14617ab79dad1ecd51143eca2a Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期三, 06 十一月 2024 16:17:51 +0800 Subject: [PATCH] 订单明细打印物料二维码 --- src/main/resources/mapper/OrderDetlMapper.xml | 16 +++++ src/main/java/com/zy/asrs/entity/param/PrintDataDto.java | 48 ++++++++++++++++ src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java | 7 ++ src/main/webapp/static/js/order/order.js | 39 ++++++++++++ src/main/java/com/zy/asrs/controller/OrderDetlController.java | 15 ++++ src/main/webapp/views/order/order.html | 33 +++++++++++ 6 files changed, 156 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OrderDetlController.java b/src/main/java/com/zy/asrs/controller/OrderDetlController.java index 6e35693..86b40f3 100644 --- a/src/main/java/com/zy/asrs/controller/OrderDetlController.java +++ b/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)); + } + } diff --git a/src/main/java/com/zy/asrs/entity/param/PrintDataDto.java b/src/main/java/com/zy/asrs/entity/param/PrintDataDto.java new file mode 100644 index 0000000..307e7ec --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/param/PrintDataDto.java @@ -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; + +} diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java index 51c99ad..747e8fc 100644 --- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java +++ b/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); } diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml index 74ebaf0..8c1dc4c 100644 --- a/src/main/resources/mapper/OrderDetlMapper.xml +++ b/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 diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js index 7b6cbb3..7a4fab3 100644 --- a/src/main/webapp/static/js/order/order.js +++ b/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({ diff --git a/src/main/webapp/views/order/order.html b/src/main/webapp/views/order/order.html index 3e88192..dda5489 100644 --- a/src/main/webapp/views/order/order.html +++ b/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> -- Gitblit v1.9.1