From 824c29bc60bb0b33e8930319878fbf2e5d7562ca Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期三, 04 十二月 2024 16:40:36 +0800
Subject: [PATCH] #盘点
---
src/main/java/com/zy/asrs/entity/InventoryCheckOrder.java | 14 ++++
src/main/webapp/static/js/inventoryCheckOrder/inventoryCheckOrder.js | 29 ++++++++-
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 3
src/main/java/com/zy/asrs/entity/param/pdaAdjustParam.java | 12 ++++
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 2
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 33 ++++++++++
src/main/java/com/zy/asrs/controller/MobileController.java | 15 +++++
src/main/webapp/views/inventoryCheckOrder/inventoryCheckOrder.html | 19 +++++-
src/main/java/com/zy/asrs/entity/InventoryCheckOrderDetl.java | 18 +++++
src/main/java/com/zy/asrs/service/MobileService.java | 3 +
10 files changed, 138 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index a8121cb..4fac744 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -544,6 +544,13 @@
return R.ok("鐩樼偣鎴愬姛");
}
+ @RequestMapping("/pda/adjust/auth")
+ @ManagerAuth(memo = "pda鐩樼偣")
+ public R pdaAdjust(@RequestBody pdaAdjustParam param){
+ mobileService.pdaAdjust(param,getUserId());
+ return R.ok("鐩樼偣鎴愬姛");
+ }
+
@PostMapping("/order/out/pakout/auth")
@ManagerAuth(memo = "璁㈠崟鍑哄簱")
public synchronized R pakoutByOrder(@RequestBody JSONObject param) {
@@ -554,6 +561,14 @@
return R.ok("鍑哄簱鎴愬姛");
}
+ @GetMapping("/checkOut/submit/auth")
+ @ManagerAuth(memo = "鐩樼偣涓婁紶")
+ public R CheckOutsubmitERP(@RequestParam String orderId){
+
+ return R.ok("鐩樼偣鎴愬姛");
+ }
+
+
@RequestMapping("/ddd/ddd")
@ManagerAuth()
public R ddd() {
diff --git a/src/main/java/com/zy/asrs/entity/InventoryCheckOrder.java b/src/main/java/com/zy/asrs/entity/InventoryCheckOrder.java
index 5e79a0b..bff935b 100644
--- a/src/main/java/com/zy/asrs/entity/InventoryCheckOrder.java
+++ b/src/main/java/com/zy/asrs/entity/InventoryCheckOrder.java
@@ -81,5 +81,19 @@
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
}
+ public String getStatus$(){
+ if (Cools.isEmpty(this.status)){
+ return "";
+ }
+ switch (this.status){
+ case "1":
+ return "鏈彁浜�";
+ case "2":
+ return "宸叉彁浜�";
+ default:
+ return "";
+ }
+ }
+
}
diff --git a/src/main/java/com/zy/asrs/entity/InventoryCheckOrderDetl.java b/src/main/java/com/zy/asrs/entity/InventoryCheckOrderDetl.java
index 9e3f267..2961436 100644
--- a/src/main/java/com/zy/asrs/entity/InventoryCheckOrderDetl.java
+++ b/src/main/java/com/zy/asrs/entity/InventoryCheckOrderDetl.java
@@ -50,7 +50,7 @@
@ApiModelProperty(value= "")
@TableField("check_anfme")
- private String checkAnfme;
+ private Double checkAnfme;
@ApiModelProperty(value= "")
@TableField("io_time")
@@ -102,5 +102,21 @@
}
}
+ public String getProfit$(){
+ if (Cools.isEmpty(this.status) && !this.status.equals("1")){
+ return "鏈洏鐐�";
+ }
+ if (Cools.isEmpty(this.anfme) || Cools.isEmpty(this.checkAnfme)){
+ return "";
+ }
+ if (this.anfme > this.checkAnfme){
+ return "鐩樹簭";
+ }else if (this.anfme < this.checkAnfme){
+ return "鐩樼泩";
+ }else {
+ return "骞�";
+ }
+ }
+
}
diff --git a/src/main/java/com/zy/asrs/entity/param/pdaAdjustParam.java b/src/main/java/com/zy/asrs/entity/param/pdaAdjustParam.java
new file mode 100644
index 0000000..e2d63ab
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/pdaAdjustParam.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.entity.param;
+
+import com.zy.asrs.entity.InventoryCheckOrderDetl;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class pdaAdjustParam {
+ private String barcode;
+ private List<InventoryCheckOrderDetl> param;
+}
diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java
index b57d3e3..20ebd9e 100644
--- a/src/main/java/com/zy/asrs/service/MobileService.java
+++ b/src/main/java/com/zy/asrs/service/MobileService.java
@@ -8,6 +8,7 @@
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.entity.param.MobileAdjustParam;
import com.zy.asrs.entity.param.OffSaleParam;
+import com.zy.asrs.entity.param.pdaAdjustParam;
import java.util.Date;
import java.util.Map;
@@ -53,4 +54,6 @@
Double curOutQty, Integer ioType, Long userId, Date now);
void leftoversOut(Map<String, Object> map, Long userId);
+
+ void pdaAdjust(pdaAdjustParam param, Long userId);
}
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index b8f8d62..7c6f793 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -74,6 +74,8 @@
private ManLocDetlService manLocDetlService;
@Autowired
private ManLocDetlMapper manLocDetlMapper;
+ @Resource
+ private InventoryCheckOrderDetlService inventoryCheckOrderDetlService;
@Resource
private BasDevpMapper basDevpMapper;
@@ -372,7 +374,8 @@
waitPakin.setAppeTime(now);
waitPakin.setModiUser(userId);
waitPakin.setModiTime(now);
- waitPakin.setManu(detlDto.getMark());
+ waitPakin.setManu(detlDto.getMark()); //鏍囪
+ waitPakin.setOrigin(order.getItemName());//浠撳簱
if (!waitPakinService.insert(waitPakin)) {
throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
}
@@ -876,6 +879,34 @@
}
@Override
+ public void pdaAdjust(pdaAdjustParam param, Long userId) {
+ if (Cools.isEmpty(param)){
+ throw new CoolException("鐩樼偣鍒楄〃鍙傛暟涓虹┖");
+ }
+ for (InventoryCheckOrderDetl orderDetl: param.getParam()){
+ InventoryCheckOrderDetl inventoryCheckOrderDetl = inventoryCheckOrderDetlService.selectOne(new EntityWrapper<InventoryCheckOrderDetl>()
+ .eq("order_no", orderDetl.getOrderNo())
+ .eq("matnr", orderDetl.getMatnr())
+ .eq("batch", orderDetl.getBatch()));
+ if (Cools.isEmpty(inventoryCheckOrderDetl)){
+ throw new CoolException("鏈煡璇㈠埌鐩樼偣淇℃伅");
+ }
+ if (!inventoryCheckOrderDetl.getStatus().equals("1")){
+ throw new CoolException("璇ヤ换鍔″凡鐩樼偣");
+ }
+ inventoryCheckOrderDetl.setCheckAnfme(orderDetl.getCheckAnfme());
+ inventoryCheckOrderDetl.setStatus("2");
+ if (!inventoryCheckOrderDetlService.updateById(inventoryCheckOrderDetl)){
+ throw new CoolException("淇濆瓨鐩樼偣淇℃伅澶辫触!");
+ }
+
+ }
+
+
+
+ }
+
+ @Override
@Transactional
public void stockOut(OrderDetl orderDetl, BasDevp staNo, LocDetl locDetl,
Double curOutQty, Integer ioType, Long userId, Date now) {
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index aa738ba..30e4e23 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -376,7 +376,7 @@
inventoryCheckOrderDetl.setMaktx(detlDto.getLocDetl().getMaktx());
inventoryCheckOrderDetl.setBatch(detlDto.getLocDetl().getBatch());
inventoryCheckOrderDetl.setLocNo(detlDto.getLocDetl().getLocNo());
- inventoryCheckOrderDetl.setArea(wrkMast.getCrnNo$());
+ inventoryCheckOrderDetl.setArea(detlDto.getLocDetl().getOrigin());
inventoryCheckOrderDetl.setAnfme(detlDto.getLocDetl().getAnfme());
inventoryCheckOrderDetl.setIoTime(now);
inventoryCheckOrderDetl.setStatus("1");
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index a6b57af..435a15e 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -95,7 +95,8 @@
LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
if (null != locDetl) {
- if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
+ Double anfme = locDetl.getAnfme()+wrkDetl.getAnfme();
+ if (!locDetlService.updateAnfme(anfme, wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
diff --git a/src/main/webapp/static/js/inventoryCheckOrder/inventoryCheckOrder.js b/src/main/webapp/static/js/inventoryCheckOrder/inventoryCheckOrder.js
index 74b1125..a4bfba5 100644
--- a/src/main/webapp/static/js/inventoryCheckOrder/inventoryCheckOrder.js
+++ b/src/main/webapp/static/js/inventoryCheckOrder/inventoryCheckOrder.js
@@ -30,8 +30,7 @@
where: {order_id: 9999999999},
cols: [[
{type: 'checkbox'}
- ,{type: 'numbers', title: '#'}
- ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', templet: '#orderNoTpl', width: 160}
+ ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', templet: '#orderNoTpl'}
,{field: 'locNo', align: 'center',title: '搴撲綅'}
,{field: 'matnr', align: 'center',title: '鍟嗗搧缂栫爜', width: 160}
,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О', width: 200}
@@ -49,6 +48,7 @@
// ,{field: 'itemNum', align: 'center',title: '鍝侀」鏁�'}
// ,{field: 'count', align: 'center',title: '鏁伴噺'}
// ,{field: 'weight', align: 'center',title: '閲嶉噺'}
+ ,{field: 'profit$', align: 'center',title: '鐩堜簭',templet: '#profitTpl'}
,{field: 'status$', align: 'center',title: '鐘舵��'}
// ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳'}
// ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'}
@@ -169,7 +169,7 @@
/* 琛ㄦ牸2澶村伐鍏锋爮鐐瑰嚮浜嬩欢 */
table.on('toolbar(orderDetlTable)', function (obj) {
-
+ // console.log(obj.config.where.order_id);
var checkStatus = table.checkStatus(obj.config.id).data;
if (obj.event === 'pakoutPreview') { // 娣诲姞
if (checkStatus.length === 0) {
@@ -189,6 +189,29 @@
return d.id;
});
doDelSensor({ids: ids});
+ } else if (obj.event === 'submitERP') { // 鎻愪氦erp
+ $.ajax({
+ url: baseUrl + "/mobile/checkOut/submit/auth",
+ headers: {'token': localStorage.getItem('token')},
+ // contentType: 'application/json;charset=UTF-8',
+ data: {
+ orderId: obj.config.where.order_id
+ },
+ method: 'GET',
+ success: function (res) {
+ notice.destroy();
+ if (res.code === 200) {
+ layer.msg(res.msg, {icon: 1});
+ insTb.reload({where: null});
+ insTb2.reload({where: null, page: {curr: 1}});
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/";
+ } else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ });
+
}
});
diff --git a/src/main/webapp/views/inventoryCheckOrder/inventoryCheckOrder.html b/src/main/webapp/views/inventoryCheckOrder/inventoryCheckOrder.html
index 11105c5..ba16a75 100644
--- a/src/main/webapp/views/inventoryCheckOrder/inventoryCheckOrder.html
+++ b/src/main/webapp/views/inventoryCheckOrder/inventoryCheckOrder.html
@@ -81,6 +81,7 @@
<button class="layui-btn icon-btn" lay-filter="originTbReset" lay-submit>
<i class="layui-icon"></i>閲嶇疆
</button>
+ <button id="showFormBtn" class="layui-btn icon-btn btn-add"><i class="layui-icon"></i>娣诲姞</button>
</div>
</div>
</form>
@@ -92,7 +93,7 @@
<div class="layui-col-md9">
<div class="layui-card">
<div class="layui-card-body" style="padding: 10px;">
- <button id="showFormBtn" class="layui-btn icon-btn btn-add"><i class="layui-icon"></i>娣诲姞</button>
+
<!-- <form class="layui-form toolbar">-->
<!-- <div class="layui-form-item">-->
<!--<!– <div class="layui-inline">–>-->
@@ -147,8 +148,8 @@
<!-- </select>-->
<!-- </div>-->
<!-- </div>-->
-<!-- <button class="layui-btn layui-btn-sm layui-btn-danger btn-pakoutPreview" id="btn-pakoutPreview" lay-event="pakoutPreview">鎵归噺鍑哄簱</button>-->
-
+<!-- <button class="layui-btn layui-btn-sm layui-btn-danger btn-pakoutPreview" id="btn-pakoutPreview" lay-event="submitERP"><i class="layui-icon"></i>鎻愪氦ERP</button>-->
+ <button id="submitERP" class="layui-btn icon-btn btn-add" lay-event="submitERP"><i class="layui-icon"></i>鎻愪氦ERP</button>
</script>
<!-- 琛屽伐鍏锋爮 -->
@@ -210,6 +211,18 @@
<input type="checkbox" name="status" value="{{d.status}}" lay-skin="switch" lay-text="姝e父|绂佺敤" lay-filter="statusSwitch" {{ d.status === 1 ? 'checked' : '' }}>
</script>
+<script type="text/html" id="profitTpl">
+ <span name="settle"
+ {{# if( d.profit$ === "鐩樹簭"){ }}
+ class="layui-badge layui-badge-red"
+ {{# }else if(d.profit$ === "鐩樼泩"){ }}
+ class="layui-badge layui-badge-green"
+ {{# }else if(d.profit$ === "骞�"){ }}
+ class="layui-badge layui-badge-gray"
+ {{# } }}
+ >{{d.profit$}}</span>
+</script>
+
<!-- 琛ㄥ崟寮圭獥 -->
<script type="text/html" id="editDialog">
<form id="detail" lay-filter="detail" class="layui-form admin-form">
--
Gitblit v1.9.1