From d8f5476af7490d3faf40a7da332155cf06aec5e1 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 13 四月 2021 18:03:16 +0800
Subject: [PATCH] #
---
src/main/java/zy/cloud/wms/manager/controller/OrderController.java | 30 +++++++
src/main/java/zy/cloud/wms/manager/controller/WorkController.java | 2
src/main/webapp/static/js/order/order.js | 58 +++++++++++++
src/main/java/zy/cloud/wms/manager/entity/param/StockOutParam.java | 2
src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java | 40 +++++----
src/main/java/zy/cloud/wms/manager/service/WorkService.java | 6
src/main/java/zy/cloud/wms/manager/entity/result/StoPrintVo.java | 2
src/main/webapp/views/order/order.html | 43 ++++++++++
8 files changed, 155 insertions(+), 28 deletions(-)
diff --git a/src/main/java/zy/cloud/wms/manager/controller/OrderController.java b/src/main/java/zy/cloud/wms/manager/controller/OrderController.java
index 0a60840..e84f470 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/OrderController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/OrderController.java
@@ -14,10 +14,17 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
+import zy.cloud.wms.common.config.AdminInterceptor;
+import zy.cloud.wms.common.utils.BarcodeUtils;
+import zy.cloud.wms.common.utils.QrCode;
import zy.cloud.wms.common.web.BaseController;
import zy.cloud.wms.manager.entity.Order;
import zy.cloud.wms.manager.service.OrderService;
+import javax.imageio.ImageIO;
+import javax.servlet.http.HttpServletResponse;
+import java.awt.image.BufferedImage;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -147,4 +154,27 @@
return R.ok();
}
+ @RequestMapping(value = "/order/code/auth")
+// @ManagerAuth(memo = "鏉″舰鐮佽幏鍙�(type:1(鏉″舰鐮�);2(浜岀淮鐮�)")
+ public R barcode(@RequestParam(defaultValue = "1") Integer type
+ ,@RequestParam String param
+ ,HttpServletResponse response) throws Exception {
+ AdminInterceptor.cors(response);
+ if (Cools.isEmpty(param)){
+ return R.parse(BaseRes.EMPTY);
+ }
+ BufferedImage img;
+ if (type == 1) {
+ img = BarcodeUtils.encode(param);
+ } else {
+ img = QrCode.createImg(param);
+ }
+ if (!ImageIO.write(img, "jpg", response.getOutputStream())) {
+ throw new IOException("Could not write an image of format jpg");
+ }
+ response.getOutputStream().flush();
+ response.getOutputStream().close();
+ return R.ok();
+ }
+
}
diff --git a/src/main/java/zy/cloud/wms/manager/controller/WorkController.java b/src/main/java/zy/cloud/wms/manager/controller/WorkController.java
index 501063d..33dd07f 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/WorkController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/WorkController.java
@@ -65,7 +65,7 @@
@RequestMapping("/stock/out/create")
@ManagerAuth(memo = "鐢熸垚鎷h揣鍗�")
public R stockOut(@RequestBody StockOutParam stockOutParam) {
- return workService.stockOut(stockOutParam, getUserId());
+ return workService.stockOutCreate(stockOutParam, getUserId());
}
@RequestMapping("/stock/out/print")
diff --git a/src/main/java/zy/cloud/wms/manager/entity/param/StockOutParam.java b/src/main/java/zy/cloud/wms/manager/entity/param/StockOutParam.java
index 8b33406..9517183 100644
--- a/src/main/java/zy/cloud/wms/manager/entity/param/StockOutParam.java
+++ b/src/main/java/zy/cloud/wms/manager/entity/param/StockOutParam.java
@@ -8,7 +8,7 @@
@Data
public class StockOutParam {
- // 璁㈠崟鍙�
+ // 鍗曟嵁缂栧彿
private String orderNo;
}
diff --git a/src/main/java/zy/cloud/wms/manager/entity/result/StoPrintVo.java b/src/main/java/zy/cloud/wms/manager/entity/result/StoPrintVo.java
index deaddc5..949b60b 100644
--- a/src/main/java/zy/cloud/wms/manager/entity/result/StoPrintVo.java
+++ b/src/main/java/zy/cloud/wms/manager/entity/result/StoPrintVo.java
@@ -17,7 +17,7 @@
private Double total;
- private String custName;
+ private String cstmrName;
private String workerName;
diff --git a/src/main/java/zy/cloud/wms/manager/service/WorkService.java b/src/main/java/zy/cloud/wms/manager/service/WorkService.java
index eb8fefd..f261d36 100644
--- a/src/main/java/zy/cloud/wms/manager/service/WorkService.java
+++ b/src/main/java/zy/cloud/wms/manager/service/WorkService.java
@@ -13,11 +13,11 @@
R stockOutCheck(String number, Long userId);
- R stockOutPrint(StockOutParam param, Long userId);
-
R stockOutPreview(StockOutParam param, Long userId);
- R stockOut(StockOutParam param, Long userId);
+ R stockOutCreate(StockOutParam param, Long userId);
+
+ R stockOutPrint(StockOutParam param, Long userId);
R stockOutComplete(StockConfirmParam param, Long userId);
diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
index c357fd3..97bb4bc 100644
--- a/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
+++ b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
@@ -212,24 +212,6 @@
}
@Override
- public R stockOutPrint(StockOutParam param, Long userId) {
- List<Pakout> pakouts = pakoutService.selectList(new EntityWrapper<Pakout>().eq("doc_num", param.getOrderNo()));
- Double total = 0.0D;
- String custName = "";
- for (Pakout pakout : pakouts) {
- total = pakout.getAnfme() + total;
- custName = pakout.getCustName();
- }
- StoPrintVo vo = new StoPrintVo();
- vo.setDocNum(param.getOrderNo());
- vo.setList(pakouts);
- vo.setTotal(total);
- vo.setCustName("娴欐睙涓壃绔嬪簱鎶�鏈湁闄愬叕鍙�");
- vo.setWorkerName("闄嗘檽娑�");
- return R.ok().add(vo);
- }
-
- @Override
public R stockOutPreview(StockOutParam param, Long userId) {
Order order = orderService.selectByOrderNo(param.getOrderNo());
if (order.getSettle() != 1) {
@@ -244,7 +226,7 @@
}
@Override
- public R stockOut(StockOutParam param, Long userId) {
+ public R stockOutCreate(StockOutParam param, Long userId) {
Order order = orderService.selectByOrderNo(param.getOrderNo());
if (order.getSettle() != 1) {
return R.error("姝ゅ崟鎹棤娉曠敓鎴愭嫞璐у崟");
@@ -260,6 +242,26 @@
}
@Override
+ public R stockOutPrint(StockOutParam param, Long userId) {
+ Order order = orderService.selectByOrderNo(param.getOrderNo());
+ if (order == null) {
+ return R.error("姝ゅ崟鎹凡澶辨晥");
+ }
+ List<Pakout> pakouts = pakoutService.selectList(new EntityWrapper<Pakout>().eq("doc_num", order.getOrderNo()));
+ Double total = 0.0D;
+ for (Pakout pakout : pakouts) {
+ total = pakout.getAnfme() + total;
+ }
+ StoPrintVo vo = new StoPrintVo();
+ vo.setDocNum(param.getOrderNo());
+ vo.setList(pakouts);
+ vo.setTotal(total);
+ vo.setCstmrName(order.getCstmrName());
+ vo.setWorkerName(order.getOperMemb());
+ return R.ok().add(vo);
+ }
+
+ @Override
@Transactional
public R stockOutComplete(StockConfirmParam param, Long userId) {
List<Pakout> pakouts = pakoutService.selectList(new EntityWrapper<Pakout>()
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index a295741..45e8b2b 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -291,7 +291,7 @@
case 'print':
layer.confirm('寮�濮嬫墦鍗�' +data.number + ' 鎷h揣鍗曪紵', {shadeClose: true}, function(){
layer.closeAll();
- printPakouts(data.number);
+ printPakouts(data.orderNo);
})
break;
// 淇敼
@@ -404,7 +404,7 @@
, btn: ['鎵撳嵃鎷h揣鍗�']
}, function() {
layer.closeAll();
- printPakouts(number);
+ printPakouts(orderNo);
}
)
// 缂烘枡
@@ -431,7 +431,59 @@
// });
}
-
+ // 鎵撳嵃鎷h揣鍗�
+ function printPakouts(orderNo) {
+ $.ajax({
+ url: baseUrl+"/work/stock/out/print",
+ headers: {'token': localStorage.getItem('token')},
+ data: JSON.stringify({
+ orderNo: orderNo
+ }),
+ contentType:'application/json;charset=UTF-8',
+ method: 'POST',
+ success: function (res) {
+ if (res.code === 200){
+ res.data["barcodeUrl"]=baseUrl+"/order/code/auth?type=1¶m="+res.data.docNum;
+ var tpl = $('#pakoutPrintTpl').html();
+ var template = Handlebars.compile(tpl);
+ var html = template(res);
+ var box = $("#pakoutPrintBox");
+ box.html(html);box.show();
+ box.print({
+ mediaPrint:true,
+ deferred: $.Deferred().done(function () {
+ layer.confirm('[閲嶈] 鎵撳嵃鏄惁鎴愬姛锛�', {btn: ['Yes', 'No']}, function(){
+ $.ajax({
+ url: baseUrl+"/pakout/print/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: {
+ docNumber: docNumber
+ },
+ method: 'POST',
+ success: function (res) {
+ if (res.code === 200){
+ layer.closeAll();
+ $(".layui-laypage-btn")[0].click();
+ layer.msg(res.msg, {icon: 1})
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ })
+ });
+ })
+ });
+ box.hide();
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ })
+ }
diff --git a/src/main/webapp/views/order/order.html b/src/main/webapp/views/order/order.html
index 98ef806..4b6e9a5 100644
--- a/src/main/webapp/views/order/order.html
+++ b/src/main/webapp/views/order/order.html
@@ -193,11 +193,54 @@
</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/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/order/order.js" charset="utf-8"></script>
</body>
+<script type="text/template" id="pakoutPrintTpl">
+ <!-- 澶� -->
+ <div id="print-header" style="margin: 20px 0">
+ <div style="text-align: center">
+ <div style="text-align: center;margin-bottom: 10px">
+ <span style="font-family: 瀹嬩綋"> 鎷h揣鍗� </span>
+ </div>
+
+ <img class="template-code template-qrcode" src="{{data.barcodeUrl}}" style="width: 80%">
+ <p style="letter-spacing: 2px;margin-top: 5px">{{data.docNum}}</p>
+ </div>
+ <div style="font-size: xx-small; text-align: left; margin-top: 10px">
+ <span style="font-family: 瀹嬩綋">瀹㈡埛锛歿{data.cstmrName}}</span>
+ </div>
+ <div style="margin-top: 10px">
+ <div style="float: left;width: 50%; text-align: left">
+ <span style="font-size: xx-small;font-family: 瀹嬩綋">鎷h揣鏁伴噺锛歿{data.total}}</span>
+ </div>
+ <div style="float: left; width: 50%; text-align: right">
+ <span style="font-size: xx-small;font-family: 瀹嬩綋">鎷h揣浜猴細{{data.workerName}}</span>
+ </div>
+ <div style="clear:both;"></div>
+ </div>
+ </div>
+
+ <!-- 涓讳綋 -->
+ <div style="margin-top: 10px">
+ {{#each data.list}}
+ <div class="pakout-item" style="padding: 10px 5px 10px 5px;border-top: 1px solid #525252">
+ <div class="item-header" style="margin-top: 10px;font-family: 瀹嬩綋; font-size: x-small">
+ {{maktx}}
+ </div>
+ <div class="item-content" style="margin: 10px 0 ">
+ <div style="float: left;font-family: 瀹嬩綋; font-size: xx-small">{{anfme}}{{unit}}</div>
+ <div style="float: right;font-family: 瀹嬩綋; font-size: xx-small">璐т綅锛歿{locNo}}</div>
+ <div style="clear: both;"></div>
+ </div>
+ </div>
+ {{/each}}
+ </div>
+</script>
</html>
--
Gitblit v1.9.1