Explorar el Código

Merge branch 'master' of xwh/wms into master

肖文浩 hace 4 años
padre
commit
7f9fb92c7e

+ 22 - 0
wms-operate/src/main/java/com/lote/wms/controller/operate/outstock/order/PrintInvoiceController.java

@@ -2,6 +2,7 @@ package com.lote.wms.controller.operate.outstock.order;
 
 import com.lote.wms.common.config.SystemConfig;
 import com.lote.wms.common.core.web.AbstractController;
+import com.lote.wms.common.core.web.model.Result;
 import com.lote.wms.common.utils.DateUtil;
 import com.lote.wms.common.utils.StringUtil;
 import com.lote.wms.outstock.order.entity.resultvo.OutOrderResultVo;
@@ -13,7 +14,10 @@ import com.lote.wms.outstock.outshelf.service.OutInventoryAllocationService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.ModelAndView;
 
 import javax.annotation.Resource;
@@ -65,4 +69,22 @@ public class PrintInvoiceController extends AbstractController {
 		view.setViewName("/outstock/order/printInvoice/" + template + "-" + printSize.toLowerCase());
 		return view;
 	}
+
+	@PostMapping("batchHtml")
+	@ResponseBody
+	public Result batchHtml(@RequestBody String orderIds) {
+		List<OutOrderResultVo> list = new ArrayList<OutOrderResultVo>();
+
+		List<String> orderIdArray = StringUtil.stringToList(orderIds, String.class, ",");
+		for (String orderId : orderIdArray) {
+			OutOrderResultVo vo = outOrderService.getPrintInvoiceData(orderId);
+			list.add(vo);
+		}
+
+//		view.addObject("list", list);
+//		view.addObject("time", DateUtil.dateConvertString(new Date(), "yyyy/MM/dd HH:mm:ss"));
+//		view.addObject("date", DateUtil.dateConvertString(new Date(), "dd.MM.yyyy"));
+//
+		return Result.success(list);
+	}
 }

+ 9 - 7
wms-operate/src/main/resources/static/ui/js/outstock/order/outOrder/list.js

@@ -1813,13 +1813,15 @@ function printInvoice(){
 	        	var printSize = $("#printInvoiceSet-printSize").val();
 	        	var template = $("#printInvoiceSet-template").val();
 	        	var isRefresh = $("#printInvoiceSet-isRefresh").val();
-	        
-     		    
-     			var href = '/outstock/printInvoice/batch.do?template={template}&printSize={printSize}&orderIds={orderIds}';//预览
-     			href = href.replace("{template}",template).replace("{printSize}",printSize).replace("{orderIds}",orderIds);
-     			
-        		window.open(href);
-        		
+				var href = '';
+     		    if (printSize=='A4'){
+					href =  _ctx + '/views/outstock/order/printInvoice/standard-a4New.html?orderIds={orderIds}';
+				}else if (printSize=='A5'){
+					href =  _ctx + '/views/outstock/order/printInvoice/standard-a5New.html?orderIds={orderIds}';
+				}
+				href = href.replace("{orderIds}",orderIds);
+				window.open(href);
+
         		//是否刷新
         		if(isRefresh =='Y'){
         			refreshGrid(myGrid.type, myGrid.id);	

+ 243 - 0
wms-operate/src/main/resources/static/ui/views/outstock/order/printInvoice/standard-a4New.html

@@ -0,0 +1,243 @@
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
+    <meta name="renderer" content="webkit">
+    <title>JWMS 发票打印</title>
+    <!-- 浏览器标签图片 -->
+    <link rel="shortcut icon" href="./topjui/image/favicon.ico"/>
+    <!-- jQuery相关引用 -->
+	<!-- jQuery相关引用 -->
+	<script type="text/javascript" src="/ui/static/plugins/jquery/jquery.min.js"></script>
+	<script type="text/javascript" src="/ui/static/plugins/jquery/jquery.cookie.js"></script>
+	<script type="text/javascript" src="/ui/static/public/js/baiduTemplate.js"></script>
+	<script type="text/javascript" src="/ui/static/public/js/datefmt.js?v=1"></script>
+	<script type="text/javascript" src="/ui/static/public/js/common.js?v=1"></script>
+	<!-- 日期格式化js -->
+	<script type="text/javascript" src="/ui/static/public/js/datefmt.js?v=1"></script>
+
+	<!-- 进度条 -->
+	<script src="/ui/static/3rd/pace/pace.js"></script>
+	<link rel="stylesheet" href="/ui/static/3rd/pace/themes/blue/pace-theme-center-simple.css" />
+	<!-- 	<link rel="stylesheet" href="/ui/static/plugins/bootstrap/css/bootstrap.css" /> -->
+
+	<!-- 打印页css -->
+	<link rel="stylesheet" href="/ui/css/print.css" />
+</head>
+
+
+<!-- print-page-a4 限制了页面宽度210mm -->
+<body class="print-page-a4">
+
+</body>
+
+
+
+
+<script type="text/javascript">
+	$(function () {
+		var orderIds = getParam('orderIds');
+		if(orderIds == null || orderIds ==''){
+			return;
+		}
+		$.ajax({
+			type: "POST",
+			url: "/outstock/printInvoice/batchHtml",
+			contentType:"application/json",
+			data:orderIds,
+			success: function(msg){
+				console.log(msg);
+				if(msg.code!=0){
+					alert("加载数据失败,"+msg.msg);
+					return
+				}
+				//填充数据
+				var html = baidu.template('printBody',msg);
+				$("body").html(html);
+				hideLoad();
+			},
+			error: function () {
+				$.iMessager.alert('注意', '网络断开或服务器已停止运行', 'messager-warning');
+			}
+		},"json");
+
+		function hideLoad(){
+			//进度条隐藏
+			Pace.on('hide', function(){
+				console.info('加载完毕');
+			});
+		}
+
+
+		//180秒后自动关闭
+		setTimeout(function () {
+			window.opener = null; window.close();
+		}, 180000);
+
+
+	});
+</script>
+
+
+
+<script id="printBody" type="text/html">
+
+
+	<%for(var i=0;i<data.length;i++){%>
+	<div class='a4-for-packagelist change-page' style="padding-left:2mm;padding-right:2mm; margin-left: 0m; border-bottom: 1px solid  #000;margin-top: 20px;" >
+
+		<div style="font-size: 8mm;text-align: center;margin-top: 20px;height: 50px; border-bottom:1px solid  #000;">
+			<!-- 			Xing Handels GmbH 公司名,使用货主的英文名称-->
+			<%=data[i].customer.nameEn%>
+		</div>
+
+		<div style="font-size: 6mm;text-align: center;margin-top: 10px;height: 20px; border-bottom:0px solid  #000;">
+			<%=data[i].orderNo1%>
+		</div>
+
+
+		<div style="height: 150px; border-bottom:0px solid  #000;">
+			<div style="float: right;width: 250px;">
+				<br>
+				<!-- 				Xing Handels GmbH<br>公司名 -->
+				<%=data[i].customer.nameEn%><br>
+
+				<!-- 				Fläming Str.11<br> 街道-->
+				<%=data[i].customerContact.addressLine1%><br>
+
+				<!-- 				45770 Marl<br> 邮编加城市-->
+				<%=data[i].customerContact.postalCode%> <%=data[i].customerContact.city%>&nbsp;<%=data[i].customerContact.countryCode%><br>
+
+				<!-- 				UStId-Nr.: DE305326502<br>税号 -->
+				<%=data[i].customerContact.extend1%><br>
+
+				<!-- 				Phone: 0049-2365-955 4818 0<br> -->
+				 <%=data[i].customerContact.mobileNumber%><br>
+
+				Fax: <%=data[i].customerContact.extend2%><br><br>
+			</div>
+		</div>
+
+		<div style="height: 120px;border-bottom:0px solid  #000;">
+			<div style="float: left; margin-left: 10px;">
+				<br>
+				<!-- 				Kunden/ Client:<br> 人名-->
+				<!-- 				ATT Germany GmbH <br>公司 -->
+				<!-- 				Ludwig-Erhard-Str. 1-A<br> 街道1-->
+				<!-- 				65760 Eschborn<br>邮编 城市 -->
+				<!-- 				Ust-IdNr. DE 245648242 税号-->
+				Kunden/ Client:<%=data[i].receiver.name%><br>
+				<%=data[i].receiver.company%><br>
+				<%=data[i].receiver.addressLine1%><br>
+				<%=data[i].receiver.postalCode%>&nbsp;<%=data[i].receiver.city%><br>
+			</div>
+
+			<div style="float: right;width: 250px;">
+				<br>
+				<!-- 				Erftstrasse.36   <br> -->
+				<!-- 				41238 Mönchengladbach<br> -->
+				<!-- 				23.08.2018 -->
+				<%=data[i].warehouseAddress.address%><br>
+				<%=data[i].warehouseAddress.postalCode%> &nbsp;&nbsp;<%=data[i].warehouseAddress.city%><br>
+<!--				${date}-->
+				<br>
+
+			</div>
+		</div>
+
+		<div style="height: 60px;">
+			<div style="float: left; margin-left: 10px;margin-top: 10px;">
+				<span style="font-weight: bold;font-size: 5mm;">Lieferschein</span><br>
+				<span>Customer no. <%=data[i].customerCode%></span>
+			</div>
+		</div>
+
+		<table style="width:100%;min-height: 50px;" border="1px solid  #000; " rules="all">
+			<tr style="height: 45px;font-size: 5mm;">
+				<td style=" padding-left: 10px;">
+					<div style="width: 15mm;"><b>Pos.</b></div>
+				</td>
+				<td style=" padding-left: 10px;">
+					<div style="width: 90mm;"><b>Product</b></div>
+				</td>
+				<td style=" padding-left: 10px;">
+					<div style="width: 35mm;"><b>EXP</b></div>
+				</td>
+				<td style=" padding-left: 10px;">
+					<div style="width: auto;"><b>Unit</b></div>
+				</td>
+			</tr>
+			<%for(var j=0;j<data[i].allocationList.length;j++){%>
+				<tr>
+					<td style=" padding-left: 10px;"><%=j+1%></td>
+					<td style=" padding-left: 10px;">
+						<div style="width: 90mm;overflow: hidden;">
+							<%=data[i].allocationList[j].productName%>
+						</div>
+					</td>
+					<td style=" padding-left: 10px;">
+<!--						<fmt:formatDate value="<%=data[i].allocationList[j].expiryDate%>" type="date" pattern="yyyy-MM-dd"/>-->
+					</td>
+					<td style=" padding-left: 10px;"><%=data[i].allocationList[j].quantity%></td>
+				</tr>
+			<%}%>
+		</table>
+
+		<div style="float: left;height: 80px;width: 100% ;margin-top: 20px;border-bottom:2px solid  #000;">
+			<div style="float: left; margin-left: 10px;margin-top: 40px">
+				Versandvorschrift:
+			</div>
+		</div>
+
+		<div style="float: left;height: 50px;width: 100%">
+			<div style="float: left; margin-left: 10px;margin-top: 10px;">
+				Der Käufer beauftragt die Abholung</br>
+				Durch seine Spediteure
+			</div>
+		</div>
+
+		<div style="float: left;height: 70px;width: 100%">
+			<div style="float: right;width: 100px;margin-top: 10px;width: 250px; height:50px; border-bottom:2px solid  #000;">
+				LKW-Nr.:<br><br><br>
+			</div>
+		</div>
+
+
+		<div style="float: left;height: 30px;width: 100%">
+			<div style="float: left; margin-left: 10px;">
+				Ware vollständig und einwandfrei erhalten:
+			</div>
+		</div>
+
+		<table style="width: 100%;height: 170px;" >
+			<tr >
+				<td style="width:80mm;">
+					<div style="float: left; margin-left: 10px;margin-top: 10px;">
+						<b>__________________</b></br>
+						&nbsp;&nbsp;&nbsp;&nbsp;(Datum)
+					</div>
+				</td>
+				<td>
+					<b>________________________________________</b></br>
+					&nbsp;&nbsp;&nbsp;&nbsp;(Unterschrift des Fahrers)
+				</td>
+			</tr>
+
+			<tr>
+				<td>
+					<div style="float: left; margin-left: 10px;margin-top: 10px;">
+						<b>__________________</b></br>
+						&nbsp;&nbsp;&nbsp;&nbsp;(Datum)
+					</div>
+				</td>
+				<td>
+					<b>________________________________________</b></br>
+					&nbsp;&nbsp;&nbsp;&nbsp;(Unterschrift des Absenders)
+				</td>
+			</tr>
+		</table>
+	</div>
+	<%}%>
+
+</script>
+
+</html>

+ 242 - 0
wms-operate/src/main/resources/static/ui/views/outstock/order/printInvoice/standard-a5New.html

@@ -0,0 +1,242 @@
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
+	<meta name="renderer" content="webkit">
+	<title>JWMS 发票打印</title>
+	<!-- 浏览器标签图片 -->
+	<link rel="shortcut icon" href="./topjui/image/favicon.ico"/>
+	<!-- jQuery相关引用 -->
+	<!-- jQuery相关引用 -->
+	<script type="text/javascript" src="/ui/static/plugins/jquery/jquery.min.js"></script>
+	<script type="text/javascript" src="/ui/static/plugins/jquery/jquery.cookie.js"></script>
+	<script type="text/javascript" src="/ui/static/public/js/baiduTemplate.js"></script>
+	<script type="text/javascript" src="/ui/static/public/js/datefmt.js?v=1"></script>
+	<script type="text/javascript" src="/ui/static/public/js/common.js?v=1"></script>
+	<!-- 日期格式化js -->
+	<script type="text/javascript" src="/ui/static/public/js/datefmt.js?v=1"></script>
+
+	<!-- 进度条 -->
+	<script src="/ui/static/3rd/pace/pace.js"></script>
+	<link rel="stylesheet" href="/ui/static/3rd/pace/themes/blue/pace-theme-center-simple.css" />
+	<!-- 	<link rel="stylesheet" href="/ui/static/plugins/bootstrap/css/bootstrap.css" /> -->
+	<!-- 打印页css -->
+	<link rel="stylesheet" href="/ui/css/print.css" />
+</head>
+
+
+<!-- print-page-a4 限制了页面宽度210mm -->
+<body class="print-page-a4">
+
+</body>
+
+
+
+
+<script type="text/javascript">
+	$(function () {
+		var orderIds = getParam('orderIds');
+		if(orderIds == null || orderIds ==''){
+			return;
+		}
+		$.ajax({
+			type: "POST",
+			url: "/outstock/printInvoice/batchHtml",
+			contentType:"application/json",
+			data:orderIds,
+			success: function(msg){
+				console.log(msg);
+				if(msg.code!=0){
+					alert("加载数据失败,"+msg.msg);
+					return
+				}
+				//填充数据
+				var html = baidu.template('printBody',msg);
+				$("body").html(html);
+				hideLoad();
+			},
+			error: function () {
+				$.iMessager.alert('注意', '网络断开或服务器已停止运行', 'messager-warning');
+			}
+		},"json");
+
+		function hideLoad(){
+			//进度条隐藏
+			Pace.on('hide', function(){
+				console.info('加载完毕');
+			});
+		}
+
+
+		//180秒后自动关闭
+		setTimeout(function () {
+			window.opener = null; window.close();
+		}, 180000);
+
+
+	});
+</script>
+
+
+
+<script id="printBody" type="text/html">
+
+
+	<%for(var i=0;i<data.length;i++){%>
+	<div class='a4-for-packagelist change-page' style="padding-left:2mm;padding-right:2mm; margin-left: 0m; border-bottom: 1px solid  #000;margin-top: 20px;" >
+
+		<div style="font-size: 8mm;text-align: center;margin-top: 20px;height: 50px; border-bottom:1px solid  #000;">
+			<!-- 			Xing Handels GmbH 公司名,使用货主的英文名称-->
+			<%=data[i].customer.nameEn%>
+		</div>
+
+		<div style="font-size: 6mm;text-align: center;margin-top: 10px;height: 20px; border-bottom:0px solid  #000;">
+			<%=data[i].orderNo1%>
+		</div>
+
+
+		<div style="height: 150px; border-bottom:0px solid  #000;">
+			<div style="float: right;width: 250px;">
+				<br>
+				<!-- 				Xing Handels GmbH<br>公司名 -->
+				<%=data[i].customer.nameEn%><br>
+
+				<!-- 				Fläming Str.11<br> 街道-->
+				<%=data[i].customerContact.addressLine1%><br>
+
+				<!-- 				45770 Marl<br> 邮编加城市-->
+				<%=data[i].customerContact.postalCode%> <%=data[i].customerContact.city%>&nbsp;<%=data[i].customerContact.countryCode%><br>
+
+				<!-- 				UStId-Nr.: DE305326502<br>税号 -->
+				<%=data[i].customerContact.extend1%><br>
+
+				<!-- 				Phone: 0049-2365-955 4818 0<br> -->
+				<%=data[i].customerContact.mobileNumber%><br>
+
+				Fax: <%=data[i].customerContact.extend2%><br><br>
+			</div>
+		</div>
+
+		<div style="height: 120px;border-bottom:0px solid  #000;">
+			<div style="float: left; margin-left: 10px;">
+				<br>
+				<!-- 				Kunden/ Client:<br> 人名-->
+				<!-- 				ATT Germany GmbH <br>公司 -->
+				<!-- 				Ludwig-Erhard-Str. 1-A<br> 街道1-->
+				<!-- 				65760 Eschborn<br>邮编 城市 -->
+				<!-- 				Ust-IdNr. DE 245648242 税号-->
+				Kunden/ Client:<%=data[i].receiver.name%><br>
+				<%=data[i].receiver.company%><br>
+				<%=data[i].receiver.addressLine1%><br>
+				<%=data[i].receiver.postalCode%>&nbsp;<%=data[i].receiver.city%><br>
+			</div>
+
+			<div style="float: right;width: 250px;">
+				<br>
+				<!-- 				Erftstrasse.36   <br> -->
+				<!-- 				41238 Mönchengladbach<br> -->
+				<!-- 				23.08.2018 -->
+				<%=data[i].warehouseAddress.address%><br>
+				<%=data[i].warehouseAddress.postalCode%> &nbsp;&nbsp;<%=data[i].warehouseAddress.city%><br>
+				<!--				${date}-->
+				<br>
+
+			</div>
+		</div>
+
+		<div style="height: 60px;">
+			<div style="float: left; margin-left: 10px;margin-top: 10px;">
+				<span style="font-weight: bold;font-size: 5mm;">Lieferschein</span><br>
+				<span>Customer no. <%=data[i].customerCode%></span>
+			</div>
+		</div>
+
+		<table style="width:100%;min-height: 50px;" border="1px solid  #000; " rules="all">
+			<tr style="height: 45px;font-size: 5mm;">
+				<td style=" padding-left: 10px;">
+					<div style="width: 15mm;"><b>Pos.</b></div>
+				</td>
+				<td style=" padding-left: 10px;">
+					<div style="width: 90mm;"><b>Product</b></div>
+				</td>
+				<td style=" padding-left: 10px;">
+					<div style="width: 35mm;"><b>EXP</b></div>
+				</td>
+				<td style=" padding-left: 10px;">
+					<div style="width: auto;"><b>Unit</b></div>
+				</td>
+			</tr>
+			<%for(var j=0;j<data[i].allocationList.length;j++){%>
+			<tr>
+				<td style=" padding-left: 10px;"><%=j+1%></td>
+				<td style=" padding-left: 10px;">
+					<div style="width: 90mm;overflow: hidden;">
+						<%=data[i].allocationList[j].productName%>
+					</div>
+				</td>
+				<td style=" padding-left: 10px;">
+					<!--						<fmt:formatDate value="<%=data[i].allocationList[j].expiryDate%>" type="date" pattern="yyyy-MM-dd"/>-->
+				</td>
+				<td style=" padding-left: 10px;"><%=data[i].allocationList[j].quantity%></td>
+			</tr>
+			<%}%>
+		</table>
+
+		<div style="float: left;height: 80px;width: 100% ;margin-top: 20px;border-bottom:2px solid  #000;">
+			<div style="float: left; margin-left: 10px;margin-top: 40px">
+				Versandvorschrift:
+			</div>
+		</div>
+
+		<div style="float: left;height: 50px;width: 100%">
+			<div style="float: left; margin-left: 10px;margin-top: 10px;">
+				Der Käufer beauftragt die Abholung</br>
+				Durch seine Spediteure
+			</div>
+		</div>
+
+		<div style="float: left;height: 70px;width: 100%">
+			<div style="float: right;width: 100px;margin-top: 10px;width: 250px; height:50px; border-bottom:2px solid  #000;">
+				LKW-Nr.:<br><br><br>
+			</div>
+		</div>
+
+
+		<div style="float: left;height: 30px;width: 100%">
+			<div style="float: left; margin-left: 10px;">
+				Ware vollständig und einwandfrei erhalten:
+			</div>
+		</div>
+
+		<table style="width: 100%;height: 170px;" >
+			<tr >
+				<td style="width:80mm;">
+					<div style="float: left; margin-left: 10px;margin-top: 10px;">
+						<b>__________________</b></br>
+						&nbsp;&nbsp;&nbsp;&nbsp;(Datum)
+					</div>
+				</td>
+				<td>
+					<b>________________________________________</b></br>
+					&nbsp;&nbsp;&nbsp;&nbsp;(Unterschrift des Fahrers)
+				</td>
+			</tr>
+
+			<tr>
+				<td>
+					<div style="float: left; margin-left: 10px;margin-top: 10px;">
+						<b>__________________</b></br>
+						&nbsp;&nbsp;&nbsp;&nbsp;(Datum)
+					</div>
+				</td>
+				<td>
+					<b>________________________________________</b></br>
+					&nbsp;&nbsp;&nbsp;&nbsp;(Unterschrift des Absenders)
+				</td>
+			</tr>
+		</table>
+	</div>
+	<%}%>
+
+</script>
+
+</html>