|
|
@@ -11,9 +11,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.dubbo.config.annotation.DubboReference;
|
|
|
-import org.dromara.common.core.enums.AssigneeTypeConstants;
|
|
|
-import org.dromara.common.core.enums.OrderPayType;
|
|
|
-import org.dromara.common.core.enums.OrderStatus;
|
|
|
+import org.dromara.common.core.enums.*;
|
|
|
import org.dromara.common.core.exception.ServiceException;
|
|
|
import org.dromara.common.core.exception.api.ZhongcheException;
|
|
|
import org.dromara.common.core.utils.MapstructUtils;
|
|
|
@@ -265,11 +263,14 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
|
|
|
Set<Long> customerIds = records.stream().map(OrderMainVo::getCustomerId).collect(Collectors.toSet());
|
|
|
Set<Long> createUserIds = records.stream().map(OrderMainVo::getCreateBy).collect(Collectors.toSet());
|
|
|
Set<Long> createDeptIds = records.stream().map(OrderMainVo::getCreateDept).collect(Collectors.toSet());
|
|
|
+ Set<Long> orderIds = records.stream().map(OrderMainVo::getParentOrderId).filter(Objects::nonNull).collect(Collectors.toSet());
|
|
|
|
|
|
Map<Long, String> UserMap = remoteUserService.selectUserNamesByIds(createUserIds.stream().toList());
|
|
|
Map<Long, String> deptMap = remoteDeptService.selectDeptNameByIds(createDeptIds);
|
|
|
Map<Long, String> customerMap = remoteCustomerService.selectCustomerNameByIds(customerIds);
|
|
|
+ Map<Long, String> orderNoMap = selectOrderNoByIds(orderIds);
|
|
|
records.forEach(orderMainVo -> {
|
|
|
+ orderMainVo.setProjectOrderNo(orderNoMap.get(orderMainVo.getParentOrderId()));
|
|
|
orderMainVo.setCreateName(UserMap.get(orderMainVo.getCreateBy()));
|
|
|
orderMainVo.setCreateDeptName(deptMap.get(orderMainVo.getCreateDept()));
|
|
|
orderMainVo.setCustomerName(customerMap.get(orderMainVo.getCustomerId()));
|
|
|
@@ -616,12 +617,15 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
|
|
|
log.info("成功初始化审批流程,订单ID: {}", orderId);
|
|
|
this.update(Wrappers.lambdaUpdate(OrderMain.class)
|
|
|
.eq(OrderMain::getId, orderId)
|
|
|
- .set(OrderMain::getOrderStatus, 1)); // 假设 1 代表某种特定状态,需确认枚举值
|
|
|
+ .set(OrderMain::getOrderStatus, 1)// 假设 1 代表某种特定状态,需确认枚举值
|
|
|
+ .set(OrderMain::getIsNeedCheck, SysPlatformYesNo.YES.getCode())
|
|
|
+ );
|
|
|
+
|
|
|
} else {
|
|
|
log.info("失败初始化审批流程,订单ID: {}", orderId);
|
|
|
this.update(Wrappers.lambdaUpdate(OrderMain.class)
|
|
|
.eq(OrderMain::getId, orderId)
|
|
|
- .set(OrderMain::getCheckStatus, "1")
|
|
|
+ .set(OrderMain::getCheckStatus, "1").set(OrderMain::getIsNeedCheck, SysPlatformYesNo.NO.getCode())
|
|
|
);
|
|
|
}
|
|
|
|
|
|
@@ -1159,4 +1163,29 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
|
|
|
.update();
|
|
|
return update;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Map<Long, String> selectOrderNoByIds(Set<Long> ids) {
|
|
|
+ if (ids == null || ids.isEmpty()) {
|
|
|
+ return Collections.emptyMap();
|
|
|
+ }
|
|
|
+
|
|
|
+ // 限制批量大小
|
|
|
+ if (ids.size() > 1000) {
|
|
|
+ throw new IllegalArgumentException("Batch size exceeds limit: " + ids.size());
|
|
|
+ }
|
|
|
+
|
|
|
+ List<OrderMain> orderMainList = baseMapper.selectByIds(ids);
|
|
|
+ Map<Long, String> resultMap = new HashMap<>(ids.size());
|
|
|
+
|
|
|
+ // 初始化所有请求的 ID 为 null
|
|
|
+ ids.forEach(id -> resultMap.put(id, null));
|
|
|
+
|
|
|
+ if (orderMainList != null) {
|
|
|
+ orderMainList.stream()
|
|
|
+ .filter(order -> order.getId() != null && order.getOrderNo() != null)
|
|
|
+ .forEach(order -> resultMap.put(order.getId(), order.getOrderNo()));
|
|
|
+ }
|
|
|
+ return resultMap;
|
|
|
+ }
|
|
|
}
|