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