From 2f8e173048d22c5b40612c3538b9c1aa5a5397f6 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期五, 27 三月 2026 13:38:05 +0800
Subject: [PATCH] #乐观锁
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java | 48 +++++++++++++++++++++++++++++++-----------------
1 files changed, 31 insertions(+), 17 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
index ee6b2e7..ab223ec 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
@@ -7,7 +7,6 @@
import com.vincent.rsf.framework.common.R;
import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.api.entity.dto.PoItemsDto;
-import com.vincent.rsf.server.api.service.ReceiveMsgService;
import com.vincent.rsf.server.api.service.ReportMsgService;
import com.vincent.rsf.server.common.utils.DateUtils;
import com.vincent.rsf.server.manager.controller.dto.DashboardDto;
@@ -18,6 +17,7 @@
import com.vincent.rsf.server.manager.entity.*;
import com.vincent.rsf.server.manager.enums.*;
import com.vincent.rsf.server.manager.mapper.AsnOrderMapper;
+import com.vincent.rsf.server.manager.mapper.TaskMapper;
import com.vincent.rsf.server.manager.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vincent.rsf.server.system.constant.SerialRuleCode;
@@ -29,7 +29,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.text.DateFormat;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
@@ -46,8 +46,6 @@
@Service("asnOrderService")
public class AsnOrderServiceImpl extends ServiceImpl<AsnOrderMapper, WkOrder> implements AsnOrderService {
- @Autowired
- private ReceiveMsgService receiveMsgService;
@Autowired
private ReportMsgService reportMsgService;
@@ -66,9 +64,7 @@
@Autowired
private PurchaseItemService purchaseItemService;
@Autowired
- private AsnOrderService asnOrderService;
- @Autowired
- private TaskService taskService;
+ private TaskMapper taskMapper;
@Override
public boolean notifyInspect(List<WkOrder> orders) {
@@ -207,14 +203,32 @@
if (Objects.isNull(order)) {
throw new CoolException("淇敼鍙傛暟涓嶈兘涓虹┖锛侊紒");
}
- return this.update(new LambdaUpdateWrapper<WkOrder>()
- .in(WkOrder::getId, params.getIds())
- .set(!Objects.isNull(order.getRleStatus()), WkOrder::getRleStatus, order.getRleStatus())
- .set(!Objects.isNull(order.getNtyStatus()), WkOrder::getNtyStatus, order.getNtyStatus())
- .set(!Objects.isNull(order.getStatus()), WkOrder::getStatus, order.getStatus())
- .set(!Objects.isNull(order.getWkType()), WkOrder::getWkType, order.getWkType())
- .set(!Objects.isNull(order.getExceStatus()), WkOrder::getExceStatus, order.getExceStatus())
- .set(WkOrder::getUpdateBy, userId));
+ List<WkOrder> orders = this.listByIds(params.getIds());
+ if (orders.isEmpty()) {
+ return false;
+ }
+ for (WkOrder current : orders) {
+ if (!Objects.isNull(order.getRleStatus())) {
+ current.setRleStatus(order.getRleStatus());
+ }
+ if (!Objects.isNull(order.getNtyStatus())) {
+ current.setNtyStatus(order.getNtyStatus());
+ }
+ if (!Objects.isNull(order.getStatus())) {
+ current.setStatus(order.getStatus());
+ }
+ if (!Objects.isNull(order.getWkType())) {
+ current.setWkType(order.getWkType());
+ }
+ if (!Objects.isNull(order.getExceStatus())) {
+ current.setExceStatus(order.getExceStatus());
+ }
+ current.setUpdateBy(userId);
+ if (!this.updateById(current)) {
+ throw new CoolException("鎵归噺淇敼澶辫触锛侊紒");
+ }
+ }
+ return true;
}
/**
@@ -426,9 +440,9 @@
dto.setOutAnf(outTrand.getAnfme()).setTaskOut(outTrand.getRealAnfme()).setTotalOut(outTrand.getAnfme() + outTrand.getRealAnfme());
//鑾峰彇鎵ц涓换鍔℃暟閲�
- List<Task> tasks = taskService.list(new LambdaQueryWrapper<>());
+ List<Task> tasks = taskMapper.selectList(new LambdaQueryWrapper<>());
if (!tasks.isEmpty()) {
- outTrand.setTaskQty(tasks.size());
+ dto.setTaskQty(tasks.size());
}
return R.ok().add(dto);
}
--
Gitblit v1.9.1