From 3c577191d6ee0b488074b91c5e9b7d71a8e3d829 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期一, 01 十二月 2025 14:31:51 +0800
Subject: [PATCH] #调整盘点
---
src/main/java/com/zy/asrs/service/impl/CheckOrderServiceImpl.java | 71 ++++++++++++++++++++++++++++++-----
1 files changed, 60 insertions(+), 11 deletions(-)
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 23754df..618b165 100644
--- a/src/main/java/com/zy/asrs/service/impl/CheckOrderServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/CheckOrderServiceImpl.java
@@ -1,7 +1,6 @@
package com.zy.asrs.service.impl;
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;
@@ -12,13 +11,13 @@
import com.zy.asrs.service.*;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.zy.common.model.LocDto;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.Date;
import java.util.List;
@@ -123,21 +122,68 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public R pdaComplete(CheckTaskListParam checkTaskListParam) {
+ public R pdaComplete(CheckTaskListParam checkTaskListParam, Long userId) {
WrkMast wrkMast = wrkMastService.selectByBarcode(checkTaskListParam.getBarcode());
if (Cools.isEmpty(wrkMast)) {
throw new CoolException("鏈壘鍒颁换鍔�");
}
-
- for (CheckOrderDetl checkOrderDetl: checkTaskListParam.getCheckOrderDetlList()){
- checkOrderDetl.setDiffQty(checkOrderDetl.getWorkQty().subtract(checkOrderDetl.getAnfme()));
- 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()));
+ for (CheckOrderDetl checkOrderDetl: checkTaskListParam.getCheckOrderDetlList()){
+ if (Cools.isEmpty(checkOrderDetl.getId()) && !Cools.isEmpty(checkOrderDetl.getWorkQty())){
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("barcode", checkTaskListParam.getBarcode()));
+ if (Cools.isEmpty(locMast)){
+ throw new CoolException("鏈壘鍒板簱浣嶆暟鎹�");
+ }
+ LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>()
+ .eq("loc_no", locMast.getLocNo())
+ .eq("matnr", checkOrderDetl.getMatnr())
+ .eq(!Cools.isEmpty(checkOrderDetl.getBatch()),"batch", checkOrderDetl.getBatch())
+ .eq("supp_code", checkOrderDetl.getSuppCode())
+ );
+ if (!Cools.isEmpty(locDetl)){
+ throw new CoolException("褰撳墠搴撲綅鏈夌浉鍚屽簱瀛樹俊鎭�");
+ }
+ Date now = new Date();
+ CheckOrderDetl checkOrderDetl1 = new CheckOrderDetl();
+ checkOrderDetl1.sync(checkOrderDetl);
+ checkOrderDetl1.setLocNo(locMast.getLocNo());
+ checkOrderDetl1.setOrderId(checkOrder.getId());
+ checkOrderDetl1.setOrderNo(checkOrder.getOrderNo());
+ checkOrderDetl1.setAnfme(checkOrderDetl.getAnfme());
+ checkOrderDetl1.setDiffQty(checkOrderDetl.getWorkQty().subtract(checkOrderDetl.getAnfme()));
+ checkOrderDetl1.setWorkQty(checkOrderDetl.getWorkQty());
+ checkOrderDetl1.setStatus(3);
+ checkOrderDetl1.setZpallet(checkTaskListParam.getBarcode());
+ checkOrderDetl1.setCreateBy(userId);
+ checkOrderDetl1.setCreateTime(now);
+ checkOrderDetl1.setUpdateBy(userId);
+ checkOrderDetl1.setUpdateTime(now);
+ checkOrderDetlService.insert(checkOrderDetl1);
+ LocDetl locDetl1 = new LocDetl();
+ locDetl1.sync(checkOrderDetl);
+ BeanUtils.copyProperties(checkOrderDetl, locDetl1);
+ locDetl1.setLocNo(locMast.getLocNo());
+ locDetl1.setZpallet(checkTaskListParam.getBarcode());
+ locDetl1.setAnfme(checkOrderDetl.getAnfme().doubleValue());
+ locDetl1.setDiffQty(checkOrderDetl.getWorkQty().subtract(checkOrderDetl.getAnfme()));
+ locDetl1.setAppeUser(userId);
+ locDetl1.setAppeTime(now);
+ locDetl1.setModiUser(userId);
+ locDetl1.setModiTime(now);
+ locDetlService.insert(locDetl1);
+ }else if (!Cools.isEmpty(checkOrderDetl.getId())){
+ checkOrderDetl.setDiffQty(checkOrderDetl.getWorkQty().subtract(checkOrderDetl.getAnfme()));
+ checkOrderDetl.setStatus(3);
+ if (!checkOrderDetlService.updateById(checkOrderDetl)){
+ throw new CoolException("鏇存柊鐩樼偣鐘舵�佸け璐�");
+ }
+ }else {
+ throw new CoolException("鏁版嵁閿欒");
+ }
+
+ }
+
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){
@@ -166,6 +212,9 @@
if (Cools.isEmpty(locDetl)) {
throw new CoolException("鏈壘鍒板簱瀛樻暟鎹�,鏁版嵁閿欒");
}
+ if (locDetl.getDiffQty().compareTo(BigDecimal.ZERO) == 0) {
+ throw new CoolException("搴撳瓨鏃犵洏鐐瑰樊寮傝褰�,鏁版嵁閿欒");
+ }
if (checkOrderDetl.getStatus().equals(CheckStatusEnum.ALLOW.type)) {
BigDecimal decimal = locDetl.getBookQty().add(checkOrderDetl.getDiffQty());
locDetl.setAnfme(decimal.doubleValue());
--
Gitblit v1.9.1