From 5315fe106471728406cbd521576c3fc5d9d28791 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期五, 21 十一月 2025 17:01:18 +0800
Subject: [PATCH] #盘点
---
src/main/java/com/zy/asrs/entity/CheckOrderDetl.java | 4
src/main/java/com/zy/asrs/service/impl/CheckOrderServiceImpl.java | 77 +++++++++++++++++++
src/main/java/com/zy/asrs/controller/CheckOrderController.java | 43 +++++-----
src/main/java/com/zy/asrs/controller/LocDetlController.java | 2
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 35 ++++++--
src/main/java/com/zy/asrs/service/CheckOrderService.java | 8 ++
src/main/webapp/static/js/checkOrder/checkOrder.js | 24 ------
src/main/java/com/zy/asrs/entity/param/CheckTaskListParam.java | 12 +++
8 files changed, 144 insertions(+), 61 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/CheckOrderController.java b/src/main/java/com/zy/asrs/controller/CheckOrderController.java
index eadd92c..8194bf9 100644
--- a/src/main/java/com/zy/asrs/controller/CheckOrderController.java
+++ b/src/main/java/com/zy/asrs/controller/CheckOrderController.java
@@ -8,6 +8,7 @@
import com.core.common.*;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.CheckTaskListParam;
import com.zy.asrs.entity.param.OrderDomainParam;
import com.zy.asrs.service.*;
import com.core.annotations.ManagerAuth;
@@ -34,33 +35,29 @@
@Autowired
private DocTypeService docTypeService;
-
- @PostMapping(value = "/checkOrder/preview/auth")
- @ManagerAuth
- public R checkOrderPreview(@RequestParam("orderId") Long orderId) {
-
-
-
- List<LocDto> locDtos = checkOrderService.preview(orderId);
- return R.ok(locDtos);
- }
-
-
-
- @PostMapping(value = "/checkOrder/createTask/auth")
- @ManagerAuth
- public R checkOrderCreateTask(@RequestParam("orderId") Long orderId) {
- CheckOrder checkOrder = checkOrderService.selectById(orderId);
- if (Cools.isEmpty(checkOrder)) {
- throw new CoolException("鏁版嵁閿欒");
- }
- checkOrder.setSettle(11L);
- checkOrderService.updateById(checkOrder);
+ @PostMapping(value = "/checkOrder/pdaComplete/auth")
+ @ManagerAuth(memo = "pda锛氬畬鎴愮洏鐐�")
+ public R checkOrderPdaComplete(@RequestBody CheckTaskListParam checkTaskListParam) {
+ checkOrderService.pdaComplete(checkTaskListParam);
return R.ok();
}
+
+ @PostMapping(value = "/checkOrder/preview/auth")
+ @ManagerAuth(memo = "鐩樼偣鍗曞嚭搴撻瑙�")
+ public R checkOrderPreview(@RequestParam("orderId") Long orderId) {
+ List<LocDto> locDtos = checkOrderService.preview(orderId);
+ return R.ok(locDtos);
+ }
+ @PostMapping(value = "/checkOrder/getTaskList/auth")
+ @ManagerAuth(memo = "pda锛氳幏鍙栫洏鐐逛换鍔″垪琛�")
+ public R checkOrderGetTaskList(@RequestBody CheckTaskListParam checkTaskListParam) {
+ List<CheckOrderDetl> list = checkOrderService.getTaskList(checkTaskListParam.getBarcode());
+ return R.ok(list);
+ }
+
@PostMapping(value = "/checkOrder/complete/auth")
- @ManagerAuth
+ @ManagerAuth(memo = "瀹屾垚鐩樼偣鍗�")
public R checkOrderComplete(@RequestParam("orderId") Long orderId) {
CheckOrder checkOrder = checkOrderService.selectById(orderId);
if (Cools.isEmpty(checkOrder)) {
diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java
index 619459d..dd6a4a7 100644
--- a/src/main/java/com/zy/asrs/controller/LocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -39,8 +39,6 @@
private LocDetlService locDetlService;
@Autowired
- private LocDetlMapper locDetlMapper;
- @Autowired
private MatService matService;
@Autowired
diff --git a/src/main/java/com/zy/asrs/entity/CheckOrderDetl.java b/src/main/java/com/zy/asrs/entity/CheckOrderDetl.java
index 7777584..d86d360 100644
--- a/src/main/java/com/zy/asrs/entity/CheckOrderDetl.java
+++ b/src/main/java/com/zy/asrs/entity/CheckOrderDetl.java
@@ -255,7 +255,7 @@
private Integer danger;
/**
- * 鐘舵�� 1: 姝e父 0: 绂佺敤
+ * 鐘舵�� 1: 鏈敓鎴� 0: 绂佺敤 2锛氬緟鐩� 3锛氬凡鐩�
*/
@ApiModelProperty(value= "鐘舵�� 1: 鏈敓鎴� 0: 绂佺敤 2锛氬緟鐩� 3锛氬凡鐩�")
private Integer status;
@@ -495,7 +495,7 @@
}
if (null != this.anfme && this.workQty != null) {
- BigDecimal subtract = new BigDecimal(this.anfme.toString()).subtract(new BigDecimal(this.workQty.toString()));
+ BigDecimal subtract = new BigDecimal(this.workQty.toString()).subtract(new BigDecimal(this.anfme.toString()));
return subtract.doubleValue();
}
diff --git a/src/main/java/com/zy/asrs/entity/param/CheckTaskListParam.java b/src/main/java/com/zy/asrs/entity/param/CheckTaskListParam.java
new file mode 100644
index 0000000..a3bec47
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/CheckTaskListParam.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.entity.param;
+
+import com.zy.asrs.entity.CheckOrderDetl;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class CheckTaskListParam {
+ private String barcode;
+ private List<CheckOrderDetl> checkOrderDetlList;
+}
diff --git a/src/main/java/com/zy/asrs/service/CheckOrderService.java b/src/main/java/com/zy/asrs/service/CheckOrderService.java
index 520e858..3d531f6 100644
--- a/src/main/java/com/zy/asrs/service/CheckOrderService.java
+++ b/src/main/java/com/zy/asrs/service/CheckOrderService.java
@@ -2,7 +2,11 @@
import com.zy.asrs.entity.CheckOrder;
import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.CheckOrderDetl;
+import com.zy.asrs.entity.LocDetl;
+import com.zy.asrs.entity.param.CheckTaskListParam;
import com.zy.common.model.LocDto;
+import com.core.common.R;
import java.util.List;
@@ -11,4 +15,8 @@
void remove(Long orderId);
List<LocDto> preview(Long orderId);
+
+ List<CheckOrderDetl> getTaskList(String barcode);
+
+ R pdaComplete(CheckTaskListParam checkTaskListParam);
}
diff --git a/src/main/java/com/zy/asrs/service/impl/CheckOrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/CheckOrderServiceImpl.java
index 4f650e4..1380b77 100644
--- a/src/main/java/com/zy/asrs/service/impl/CheckOrderServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/CheckOrderServiceImpl.java
@@ -3,14 +3,17 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.common.Cools;
+import com.core.common.R;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.CheckTaskListParam;
import com.zy.asrs.mapper.CheckOrderMapper;
import com.zy.asrs.service.*;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.zy.common.model.LocDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Collections;
@@ -30,6 +33,12 @@
@Autowired
private StaDescService staDescService;
+
+ @Autowired
+ private WrkMastService wrkMastService;
+
+ @Autowired
+ private WrkDetlService wrkDetlService;
@Override
public void remove(Long orderId) {
@@ -68,4 +77,72 @@
return locDtos;
}
+
+ @Override
+ public List<CheckOrderDetl> getTaskList(String barcode) {
+ List<CheckOrderDetl> checkOrderDetls = new ArrayList<>();
+
+ WrkMast wrkMast = wrkMastService.selectByBarcode(barcode);
+ if (Cools.isEmpty(wrkMast)) {
+ throw new CoolException("鏈壘鍒颁换鍔�");
+ }
+
+ List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+ if (Cools.isEmpty(wrkDetls)) {
+ throw new CoolException("鏈壘鍒颁换鍔℃槑缁�");
+ }
+
+ for (WrkDetl wrkDetl : wrkDetls) {
+ if(Cools.isEmpty(wrkDetl.getOrderNo())){
+ throw new CoolException("鏄庣粏鏁版嵁鏈夎锛屾棤璁㈠崟鍙锋暟鎹�");
+ }
+ CheckOrderDetl checkOrderDetl = checkOrderDetlService.selectOne(new EntityWrapper<CheckOrderDetl>()
+ .eq("loc_no", wrkMast.getSourceLocNo())
+ .eq("matnr", wrkDetl.getMatnr())
+ .eq("batch", wrkDetl.getBatch())
+ .eq("order_no", wrkDetl.getOrderNo()));
+ if(Cools.isEmpty(checkOrderDetl)){
+ throw new CoolException("鏄庣粏鏁版嵁鏈夎锛屾湭鎵惧埌鐩樼偣鍗曟暟鎹�");
+ }
+ if (checkOrderDetl.getStatus().equals(2)){
+ checkOrderDetls.add(checkOrderDetl);
+ }
+
+ }
+ if (Cools.isEmpty(checkOrderDetls)) {
+ throw new CoolException("璇ュ鍣ㄥ凡瀹屾垚鐩樼偣");
+ }
+
+ return checkOrderDetls;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public R pdaComplete(CheckTaskListParam checkTaskListParam) {
+
+ WrkMast wrkMast = wrkMastService.selectByBarcode(checkTaskListParam.getBarcode());
+ if (Cools.isEmpty(wrkMast)) {
+ throw new CoolException("鏈壘鍒颁换鍔�");
+ }
+
+ for (CheckOrderDetl checkOrderDetl: checkTaskListParam.getCheckOrderDetlList()){
+ checkOrderDetl.setStatus(3);
+ if (!checkOrderDetlService.updateById(checkOrderDetl)){
+ throw new CoolException("鏇存柊鐩樼偣鐘舵�佸け璐�");
+ }
+ }
+ CheckOrder checkOrder = this.selectOne(new EntityWrapper<CheckOrder>().eq("order_no", checkTaskListParam.getCheckOrderDetlList().get(0).getOrderNo()));
+ List<CheckOrderDetl> checkOrderDetls = checkOrderDetlService.selectList(new EntityWrapper<CheckOrderDetl>().eq("order_id", checkOrder.getId()));
+ boolean is = checkOrderDetls.stream().allMatch(item -> item.getStatus().equals(3));
+ if (is){
+ checkOrder.setSettle(4L);
+ if (!this.updateById(checkOrder)){
+ throw new CoolException("鏇存柊鐩樼偣涓诲崟鐘舵�佸け璐�");
+ }
+
+ }
+
+
+ return R.ok();
+ }
}
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 669e524..5e26534 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -69,12 +69,6 @@
@Autowired
private WrkDetlLogService wrkDetlLogService;
@Autowired
- private SnowflakeIdWorker snowflakeIdWorker;
- @Autowired
- private OrderService orderService;
- @Autowired
- private OrderDetlService orderDetlService;
- @Autowired
private WcsController wcsController;
@Autowired
private RowLastnoService rowLastnoService;
@@ -91,9 +85,6 @@
@Resource
private LocMastMapper locMastMapper;
-
- @Resource
- private OrderPakoutService orderPakOutService;
@Autowired
private CheckOrderService checkOrderService;
@@ -1165,7 +1156,7 @@
@Override
- @Transactional
+ @Transactional(rollbackFor = Exception.class)
public void cancelWrkMast(String workNo, Long userId) {
Date now = new Date();
WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no",workNo));
@@ -1272,6 +1263,30 @@
}
+ if (wrkMast.getIoType() == 107) {
+ List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+ if (!Cools.isEmpty(wrkDetls.get(0).getOrderNo())){
+
+ for (WrkDetl wrkDetl : wrkDetls) {
+ CheckOrderDetl checkOrderDetl = checkOrderDetlService.selectOne(new EntityWrapper<CheckOrderDetl>()
+ .eq("loc_no", wrkMast.getSourceLocNo())
+ .eq("matnr", wrkDetl.getMatnr())
+ .eq("batch", wrkDetl.getBatch())
+ .eq("order_no", wrkDetl.getOrderNo())
+ );
+ checkOrderDetl.setStatus(1);
+ checkOrderDetlService.updateById(checkOrderDetl);
+ }
+ CheckOrder checkOrder = checkOrderService.selectOne(new EntityWrapper<CheckOrder>().eq("order_no", wrkDetls.get(0).getOrderNo()));
+ List<CheckOrderDetl> checkOrderDetls = checkOrderDetlService.selectList(new EntityWrapper<CheckOrderDetl>().eq("order_id", checkOrder.getId()));
+ boolean is = checkOrderDetls.stream().allMatch(item -> item.getStatus().equals(1));
+ checkOrder.setSettle(is?1L:12L);
+ checkOrderService.updateById(checkOrder);
+ }
+
+
+ }
+
// // 璁㈠崟鍏宠仈
// List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
// for (WrkDetl wrkDetl : wrkDetls) {
diff --git a/src/main/webapp/static/js/checkOrder/checkOrder.js b/src/main/webapp/static/js/checkOrder/checkOrder.js
index d752f36..0f19c71 100644
--- a/src/main/webapp/static/js/checkOrder/checkOrder.js
+++ b/src/main/webapp/static/js/checkOrder/checkOrder.js
@@ -626,30 +626,6 @@
});
}
-
- function createTask(orderId) {
- let loadIndex = layer.msg('璇锋眰涓�...', {icon: 16, shade: 0.01, time: false});
- $.ajax({
- url: baseUrl+"/checkOrder/createTask/auth",
- headers: {'token': localStorage.getItem('token')},
- data: {
- orderId: orderId
- },
- method: 'POST',
- success: function (res) {
- layer.close(loadIndex);
- if (res.code === 200){
- layer.msg(res.msg, {icon: 1});
- insTb.reload({page: {curr: 1}});
- } else if (res.code === 403){
- top.location.href = baseUrl+"/";
- }else {
- layer.msg(res.msg, {icon: 2});
- }
- }
- })
- }
-
layDate.render({
elem: '.layui-laydate-range'
,type: 'datetime'
--
Gitblit v1.9.1