zhou zhou
17 小时以前 2f8e173048d22c5b40612c3538b9c1aa5a5397f6
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckDiffItemController.java
@@ -25,7 +25,7 @@
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpServletResponse;
import java.util.*;
import java.util.stream.Collectors;
@@ -93,18 +93,24 @@
        if (!diffItems.isEmpty()) {
            Map<Integer, List<CheckDiffItem>> listMap = diffItems.stream().collect(Collectors.groupingBy(CheckDiffItem::getExceStatus));
            List<CheckDiffItem> checkDiffItems = listMap.get(CheckDiffExceStatus.CHECK_DIFF_EXCE_STATUS_END.val);
            if (diffItems.size() == checkDiffItems.size()) {
            if (checkDiffItems != null && diffItems.size() == checkDiffItems.size()) {
                if (!checkDiffService.update(new LambdaUpdateWrapper<CheckDiff>()
                        .eq(CheckDiff::getId, checkDiffItem.getCheckId())
                        .set(CheckDiff::getExceStatus, CheckDiffExceStatus.CHECK_DIFF_EXCE_STATUS_END.val))) {
                    throw new CoolException("盘点单状态更新失败!!");
                }
                if (!checkOrderService.update(new LambdaUpdateWrapper<WkOrder>().eq(WkOrder::getId, checkDiffItem.getCheckId())
                        .set(WkOrder::getExceStatus, CheckExceStatus.CHECK_ORDER_STATUS_EXCE_DONE.val))) {
                    throw new CoolException("盘点单执行状态修改失败!!");
                // 仅在有单时更新盘点单(WkOrder)执行状态;无单盘点无盘点单,不更新
                CheckDiff checkDiff = checkDiffService.getById(checkDiffItem.getCheckId());
                if (checkDiff != null && checkDiff.getOrderId() != null) {
                    WkOrder order = checkOrderService.getById(checkDiff.getOrderId());
                    if (order == null) {
                        throw new CoolException("盘点单不存在!!");
                    }
                    order.setExceStatus(CheckExceStatus.CHECK_ORDER_STATUS_EXCE_DONE.val);
                    if (!checkOrderService.updateById(order)) {
                        throw new CoolException("盘点单执行状态修改失败!!");
                    }
                }
            } else {
                if (!checkDiffService.update(new LambdaUpdateWrapper<CheckDiff>()
                        .eq(CheckDiff::getId, checkDiffItem.getCheckId())