From e350fc16a0655dee101b3198cfa6bd6a6b56877c Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期一, 12 一月 2026 15:41:56 +0800
Subject: [PATCH] 入库流程功能 优化
---
src/main/java/com/zy/asrs/entity/LocAroundBind.java | 12 ++++
src/main/java/com/zy/asrs/entity/OrderDetl.java | 2
src/main/webapp/views/locAroundBind/locAroundBind.html | 16 ++++-
src/main/java/com/zy/asrs/utils/OrderExcelListener.java | 60 +++++++++++++------
src/main/webapp/static/js/locAroundBind/locAroundBind.js | 1
src/main/java/com/zy/asrs/entity/Mat.java | 2
src/main/webapp/static/js/order/order.js | 5 +
src/main/webapp/static/js/common.js | 18 +++---
src/main/webapp/static/js/orderPakin/order.js | 20 ++++--
9 files changed, 92 insertions(+), 44 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/LocAroundBind.java b/src/main/java/com/zy/asrs/entity/LocAroundBind.java
index f129d5b..a21eb0e 100644
--- a/src/main/java/com/zy/asrs/entity/LocAroundBind.java
+++ b/src/main/java/com/zy/asrs/entity/LocAroundBind.java
@@ -47,6 +47,10 @@
@TableField("b_loc_no")
private String bLocNo;
+ @ApiModelProperty("鏄惁榛樿")
+ @TableField("is_default")
+ private Integer isDefault;
+
public LocAroundBind() {}
public LocAroundBind(Long devId,String devNo,Long bLocId,String bLocNo) {
@@ -56,6 +60,14 @@
this.bLocNo = bLocNo;
}
+ public String getDef$() {
+ if (this.isDefault == 0) {
+ return "鍚�";
+ } else {
+ return "鏄�";
+ }
+ }
+
// LocAroundBind locAroundBind = new LocAroundBind(
// null, // 鏈哄彴ID[闈炵┖]
// null, // 鏈哄彴鍙穂闈炵┖]
diff --git a/src/main/java/com/zy/asrs/entity/Mat.java b/src/main/java/com/zy/asrs/entity/Mat.java
index 1ccd199..063e250 100644
--- a/src/main/java/com/zy/asrs/entity/Mat.java
+++ b/src/main/java/com/zy/asrs/entity/Mat.java
@@ -204,7 +204,7 @@
* 浣撶Н
*/
@ApiModelProperty(value= "浣撶Н")
- @ExcelProperty(value = "浣撶Н")
+ @ExcelProperty(value = "姣忓叕鏂ら暱搴�")
private Double volume;
/**
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetl.java b/src/main/java/com/zy/asrs/entity/OrderDetl.java
index ddf62af..34be8e5 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetl.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -191,7 +191,6 @@
*/
@ApiModelProperty(value= "瀹夊叏搴撳瓨閲�")
@TableField("safe_qty")
- @ExcelProperty(value = "褰掗浂闃�鍊�")
private Double safeQty;
/**
@@ -211,7 +210,6 @@
* 浣撶Н
*/
@ApiModelProperty(value= "浣撶Н")
- @ExcelProperty(value = "kg/cm")
private Double volume;
/**
diff --git a/src/main/java/com/zy/asrs/utils/OrderExcelListener.java b/src/main/java/com/zy/asrs/utils/OrderExcelListener.java
index 4a05dd6..76e343a 100644
--- a/src/main/java/com/zy/asrs/utils/OrderExcelListener.java
+++ b/src/main/java/com/zy/asrs/utils/OrderExcelListener.java
@@ -22,7 +22,7 @@
import org.springframework.transaction.annotation.Transactional;
@Slf4j
-public class OrderExcelListener extends AnalysisEventListener<OrderExcel> {
+public class OrderExcelListener extends AnalysisEventListener<OrderExcel> {
private int total = 0;
private Long userId;
@@ -48,16 +48,17 @@
/**
* 鍗曟嵁瀵煎叆瀹炵幇
+ *
+ * @param data
+ * @param context
* @author Ryan
* @date 2026/1/8 17:25
- * @param data
- * @param context
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void invoke(OrderExcel data, AnalysisContext context) {
- OrderService orderService = (OrderService) SpringUtils.getBean(OrderService.class);
- OrderDetlService detlService = (OrderDetlService) SpringUtils.getBean(OrderDetlService.class);
+ OrderService orderService = SpringUtils.getBean(OrderService.class);
+ OrderDetlService detlService = SpringUtils.getBean(OrderDetlService.class);
MatService matService = SpringUtils.getBean(MatService.class);
DocTypeService docTypeService = SpringUtils.getBean(DocTypeService.class);
Date now = new Date();
@@ -77,17 +78,27 @@
Order order = new Order();
order.setOrderNo(data.getOrderNo());
- order.setDocType(docType.getDocId());
- order.setUuid(UUID.randomUUID().toString());
- order.setCreateTime(now);
- order.setUpdateTime(now);
- order.setSettle(1L);
- order.setStatus(1);
- order.setCreateBy(userId);
- order.setUpdateBy(userId);
- order.setPakinPakoutStatus(docType.getPakin() == 1 ? 1 : 2);
- if (!orderService.insert(order)) {
- throw new CoolException("璁㈠崟鍒涘缓澶辫触锛侊紒");
+ if (Objects.isNull(data.getOrderNo())) {
+ throw new CoolException("鍗曟嵁缂栫爜涓嶈兘涓虹┖锛侊紒");
+ }
+ order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", data.getOrderNo()));
+ if (!Objects.isNull(order)) {
+ //璁㈠崟宸插瓨鍦紝鍙坊鍔犳槑缁�
+ } else {
+ order = new Order();
+ order.setOrderNo(data.getOrderNo());
+ order.setDocType(docType.getDocId());
+ order.setUuid(UUID.randomUUID().toString());
+ order.setCreateTime(now);
+ order.setUpdateTime(now);
+ order.setSettle(1L);
+ order.setStatus(1);
+ order.setCreateBy(userId);
+ order.setUpdateBy(userId);
+ order.setPakinPakoutStatus(docType.getPakin() == 1 ? 1 : 2);
+ if (!orderService.insert(order)) {
+ throw new CoolException("璁㈠崟鍒涘缓澶辫触锛侊紒");
+ }
}
if (Objects.isNull(data.getMatnr())) {
throw new CoolException("鐗╂枡缂栫爜涓嶈兘涓虹┖锛�");
@@ -96,16 +107,27 @@
if (Objects.isNull(mat)) {
throw new CoolException("鐗╂枡[" + data.getMatnr() + "]涓嶅瓨鍦紒锛�");
}
+
+ OrderDetl orderDetl = detlService.selectOne(new EntityWrapper<OrderDetl>()
+ .eq("matnr", data.getMatnr())
+ .eq("batch", data.getBatch())
+ .eq("barcode", data.getBarcode())
+ .eq("order_no", order.getOrderNo()));
+ if (!Objects.isNull(orderDetl)) {
+ return;
+ }
OrderDetl detl = new OrderDetl();
detl.setOrderNo(data.getOrderNo());
detl.setOrderId(order.getId());
detl.setMatnr(data.getMatnr());
detl.setMaktx(mat.getMaktx());
detl.setQty(data.getQty());
+ detl.setUnit(data.getUnit());
+ detl.setBrand(data.getBrand());
detl.setSpecs(data.getSpecs());
detl.setBatch(Objects.isNull(data.getBatch()) ? "1" : data.getBatch());
- detl.setVolume(data.getVolume());
- detl.setSafeQty(data.getSafeQty());
+ detl.setVolume(mat.getVolume());
+ detl.setSafeQty(mat.getSafeQty());
detl.setAnfme(data.getAnfme());
detl.setBarcode(data.getBarcode());
detl.setUpdateTime(now);
@@ -115,7 +137,7 @@
if (!detlService.insert(detl)) {
throw new CoolException("璁㈠崟璇︽儏鍒涘缓澶辫触锛侊紒");
}
- total ++ ;
+ total++;
}
@Override
diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index 7c7961f..3b135cb 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -212,7 +212,7 @@
, {field: 'weight', align: 'center', title: '鍗曠鍑�閲�', hide: true}
, {field: 'length', align: 'center', title: '鍗曠姣涢噸', hide: true}
, {
- field: 'volume', align: 'center', title: 'kg/cm', templet: function (d) {
+ field: 'volume', align: 'center', title: '姣忓叕鏂ら暱搴�', templet: function (d) {
var raw = d.volume;
if (raw === null || raw === undefined) return '';
if (typeof raw === 'string' && raw.trim() === '') return '';
@@ -262,10 +262,10 @@
]
var detlCols = [
- {field: 'matnr', align: 'center', title: '鍟嗗搧缂栧彿锛堝搧鍙凤級', sort: true}
- , {field: 'maktx', align: 'center', title: '鍟嗗搧鍚嶇О锛堝搧鍚嶏級', sort: true}
- , {field: 'orderNo', align: 'center', title: '鍗曟嵁缂栧彿', hide: false}
- , {field: 'batch', align: 'center', title: '璐у搧鐗瑰緛', sort: true}
+ {field: 'matnr', align: 'center', title: '鍟嗗搧缂栧彿', sort: true, width: 160}
+ , {field: 'maktx', align: 'center', title: '鍟嗗搧鍚嶇О', sort: true, width: 120}
+ , {field: 'orderNo', align: 'center', title: '鍗曟嵁缂栧彿', hide: false, width: 120}
+ , {field: 'batch', align: 'center', title: '鎵规', sort: false}
, {
field: 'anfme', align: 'center', title: '鏁伴噺', hide: false, templet: function (d) {
var raw = d.anfme;
@@ -279,7 +279,7 @@
, {field: 'zpallet', align: 'center', title: '鎵樼洏鏉$爜', hide: false}
, {field: 'specs', align: 'center', title: '瑙勬牸', hide: false}
, {
- field: 'safeQty', align: 'center', title: '褰掗浂闃�鍊�', hide: false, templet: function (d) {
+ field: 'safeQty', align: 'center', title: '褰掗浂闃�鍊�', hide: true, templet: function (d) {
var raw = d.safeQty;
if (raw === null || raw === undefined) return '';
if (typeof raw === 'string' && raw.trim() === '') return '';
@@ -289,7 +289,7 @@
}
}
, {
- field: 'volume', align: 'center', title: 'km/cm', hide: false, templet: function (d) {
+ field: 'volume', align: 'center', title: '姣忓叕鏂ら暱搴�', hide: true, templet: function (d) {
var raw = d.volume;
if (raw === null || raw === undefined) return '';
if (typeof raw === 'string' && raw.trim() === '') return '';
@@ -300,12 +300,12 @@
}
, {field: 'model', align: 'center', title: '浠g爜', hide: true}
, {field: 'color', align: 'center', title: '棰滆壊', hide: true}
- , {field: 'brand', align: 'center', title: '鍝佺墝', hide: true}
+ , {field: 'brand', align: 'center', title: '鍝佺墝', hide: false}
, {field: 'unit', align: 'center', title: '鍗曚綅', hide: false}
, {field: 'price', align: 'center', title: '鍗曚环', hide: true}
, {field: 'sku', align: 'center', title: 'sku', hide: true}
, {field: 'units', align: 'center', title: '鍗曚綅閲�', hide: true}
- , {field: 'barcode', align: 'center', title: '鏉$爜', hide: true}
+ , {field: 'barcode', align: 'center', title: 'SN', hide: false}
, {field: 'origin', align: 'center', title: '浜у湴', hide: true}
, {field: 'manu', align: 'center', title: '鍘傚', hide: true}
, {field: 'manuDate', align: 'center', title: '鐢熶骇鏃ユ湡', hide: true}
diff --git a/src/main/webapp/static/js/locAroundBind/locAroundBind.js b/src/main/webapp/static/js/locAroundBind/locAroundBind.js
index d5517d9..3e753b3 100644
--- a/src/main/webapp/static/js/locAroundBind/locAroundBind.js
+++ b/src/main/webapp/static/js/locAroundBind/locAroundBind.js
@@ -27,6 +27,7 @@
, { field: 'devNo', align: 'center', title: '鏈哄彴鍙�' }
, { field: 'blocId', align: 'center', title: '搴撲綅ID', hide: true }
, { field: 'blocNo', align: 'center', title: '搴撲綅鐮�' }
+ , { field: 'def$', align: 'center', title: '鏄惁榛樿' }
, { fixed: 'right', title: '鎿嶄綔', align: 'center', toolbar: '#operate', width: 120 }
]],
request: {
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index 27e9574..6320e65 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -126,8 +126,11 @@
{ type: 'numbers' },
{ field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160 },
{ field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160 },
- { field: 'specs', title: '瑙勬牸' },
+ {field: 'barcode', title: 'SN' },
+ {field: 'brand', title: '鍝佺墝' },
{ field: 'batch', title: '鎵瑰彿' },
+ { field: 'specs', title: '瑙勬牸' },
+ { field: 'unit', title: '鍗曚綅' },
{ field: 'anfme', title: '寰呭畬缁撴暟閲�' },
{ field: 'qty', title: '寰呬笂鎶ユ暟閲�', style: 'font-weight: bold' },
{ field: 'workQty', title: '宸蹭笂鎶ユ暟閲�' },
diff --git a/src/main/webapp/static/js/orderPakin/order.js b/src/main/webapp/static/js/orderPakin/order.js
index d0fb309..50444da 100644
--- a/src/main/webapp/static/js/orderPakin/order.js
+++ b/src/main/webapp/static/js/orderPakin/order.js
@@ -121,13 +121,18 @@
page: true,
cellMinWidth: 100,
cols: [[
- {type: 'numbers'},
- {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
- {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160},
- {field: 'barcode', title: 'SN'},
- {field: 'anfme', title: '鏁伴噺'},
- {field: 'workQty', title: '浣滀笟鏁伴噺'},
- {field: 'qty', title: '瀹屾垚鏁伴噺', style: 'font-weight: bold'},
+ { type: 'numbers' },
+ { field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160 },
+ { field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160 },
+ {field: 'barcode', title: 'SN', width: 140 },
+ {field: 'brand', title: '鍝佺墝' },
+ { field: 'batch', title: '鎵瑰彿' },
+ { field: 'specs', title: '瑙勬牸' },
+ { field: 'unit', title: '鍗曚綅' },
+ { field: 'anfme', title: '寰呭畬缁撴暟閲�' },
+ { field: 'qty', title: '寰呬笂鎶ユ暟閲�', style: 'font-weight: bold' },
+ { field: 'workQty', title: '宸蹭笂鎶ユ暟閲�' }
+
// {field: 'unit', title: '鍗曚綅'},
// {
// field: 'createTime$', title: '鍒涘缓鏃堕棿', sort: true, templet: function (d) {
@@ -136,7 +141,6 @@
// },
// {field: 'inQty', title: '宸插叆搴撻噺'},
// {field: 'color', title: '棰滆壊'},
- {field: 'specs', title: '瑙勬牸'}
]],
request: {
pageName: 'curr',
diff --git a/src/main/webapp/views/locAroundBind/locAroundBind.html b/src/main/webapp/views/locAroundBind/locAroundBind.html
index efb7f8b..1cab9bb 100644
--- a/src/main/webapp/views/locAroundBind/locAroundBind.html
+++ b/src/main/webapp/views/locAroundBind/locAroundBind.html
@@ -74,16 +74,24 @@
<div class="layui-form-item">
<label class="layui-form-label layui-form-required">搴撲綅ID: </label>
<div class="layui-input-block">
- <input class="layui-input" name="bLocId" placeholder="璇疯緭鍏ュ簱浣岻D" lay-vertype="tips" lay-verify="required">
+ <input class="layui-input" name="blocId" placeholder="璇疯緭鍏ュ簱浣岻D" lay-vertype="tips" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label layui-form-required">搴撲綅鐮�: </label>
<div class="layui-input-block">
- <input class="layui-input" name="bLocNo" placeholder="璇疯緭鍏ュ簱浣嶇爜" lay-vertype="tips" lay-verify="required">
+ <input class="layui-input" name="blocNo" placeholder="璇疯緭鍏ュ簱浣嶇爜" lay-vertype="tips" lay-verify="required">
</div>
</div>
-
+ <div class="layui-form-item">
+ <label class="layui-form-label">鏄惁榛樿:</label>
+ <div class="layui-input-block">
+ <select id="isDefault" name="isDefault" lay-filter="isDefault">
+ <option value="1" selected="">鏄�</option>
+ <option value="0">鍚�</option>
+ </select>
+ </div>
+ </div>
</div>
</div>
<hr class="layui-bg-gray">
@@ -97,7 +105,7 @@
<div id="resetLocDiv" style="margin: 20px 0 10px 30px; display: none">
<div class="layui-form layui-form-pane">
<div class="layui-form-item">
- <label class="layui-form-label">鏈哄彴鍙�</label>
+ <label class="路layui-form-label">鏈哄彴鍙�</label>
<div class="layui-input-inline">
<input type="text" name="devNo" autocomplete="off" class="layui-input">
</div>
--
Gitblit v1.9.1