diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/data/mapper/MaterialbaseMapper.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/data/mapper/MaterialbaseMapper.java
index a68e7cf..a9ee862 100644
--- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/data/mapper/MaterialbaseMapper.java
+++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/data/mapper/MaterialbaseMapper.java
@@ -3,6 +3,9 @@ package org.nl.acs.data.mapper;
import org.nl.acs.data.domain.Materialbase;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import java.util.List;
+import java.util.Set;
+
/**
*
* 物料基本信息表 Mapper 接口
@@ -13,4 +16,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface MaterialbaseMapper extends BaseMapper {
+
+ List findByCodes(Set materialCodes);
}
diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/data/mapper/MaterialbaseMapper.xml b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/data/mapper/MaterialbaseMapper.xml
new file mode 100644
index 0000000..126f50d
--- /dev/null
+++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/data/mapper/MaterialbaseMapper.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/data/service/IMaterialbaseService.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/data/service/IMaterialbaseService.java
index d95ce19..6702e3d 100644
--- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/data/service/IMaterialbaseService.java
+++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/data/service/IMaterialbaseService.java
@@ -11,6 +11,7 @@ import org.nl.acs.point.domain.AcsPoint;
import org.nl.acs.point.domain.PointQuery;
import org.nl.common.domain.query.PageQuery;
+import java.util.Map;
import java.util.Set;
/**
@@ -56,4 +57,6 @@ public interface IMaterialbaseService extends IService {
JSONArray getBoxIvt();
Materialbase findByCode(String code);
+
+ Map findByCodes(Set materialCodes);
}
diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/data/service/impl/MaterialbaseServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/data/service/impl/MaterialbaseServiceImpl.java
index 0d32445..81a51a3 100644
--- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/data/service/impl/MaterialbaseServiceImpl.java
+++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/data/service/impl/MaterialbaseServiceImpl.java
@@ -24,7 +24,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
+import java.util.Map;
import java.util.Set;
+import java.util.stream.Collectors;
/**
*
@@ -112,4 +114,11 @@ public class MaterialbaseServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper().eq(Materialbase::getMaterial_code, code);
return materialbaseMapper.selectOne(wrapper);
}
+
+ @Override
+ public Map findByCodes(Set materialCodes) {
+ List materialbases = materialbaseMapper.findByCodes(materialCodes);
+ return materialbases.stream()
+ .collect(Collectors.toMap(Materialbase::getMaterial_code, materialbase -> materialbase));
+ }
}
diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/order/service/impl/OrderServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/order/service/impl/OrderServiceImpl.java
index 846108d..acd8fad 100644
--- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/order/service/impl/OrderServiceImpl.java
+++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/order/service/impl/OrderServiceImpl.java
@@ -44,10 +44,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.stream.Collectors;
@Service
@@ -233,11 +230,15 @@ public class OrderServiceImpl extends CommonServiceImpl i
orderDto.setUpdate_time(DateUtil.now());
//生成配料任务
List list = orderDetailMapper.selectList(Wrappers.lambdaQuery(OrderDetailDto.class).eq(OrderDetailDto::getWorkorder_id, workorder_id));
+ Set materialCodes = list.stream().map(OrderDetailDto::getMaterial_code).collect(Collectors.toSet());
+ Map materialbaseMap = materialbaseService.findByCodes(materialCodes);
List works = new ArrayList<>();
- for (int i = 0; i < list.size(); i++) {
- OrderDetailDto orderDetailDto = list.get(i);
+ for (OrderDetailDto orderDetailDto : list) {
String material_code = orderDetailDto.getMaterial_code();
- Materialbase materialbase = materialbaseService.findByCode(material_code);
+ if (material_code == null) {
+ throw new BadRequestException("物料编码不能为空");
+ }
+ Materialbase materialbase = materialbaseMap.get(material_code);
if (materialbase == null) {
throw new BadRequestException("不存在物料编码为" + material_code + "的物料!");
}
diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/utils/ReadUtil.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/utils/ReadUtil.java
index 86f7d76..00289dc 100644
--- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/utils/ReadUtil.java
+++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/utils/ReadUtil.java
@@ -80,7 +80,7 @@ public class ReadUtil {
/**
* 创建OPC UA客户端
*/
- private static OpcUaClient createClient() throws Exception {
+ public static OpcUaClient createClient() throws Exception {
ISysParamService paramService = SpringContextHolder.getBean(ISysParamService.class);
String endPointUrl = paramService.findByCode(AcsConfig.OPCURL).getValue();
if (StrUtil.isEmpty(endPointUrl)){
diff --git a/acs/nladmin-system/nlsso-server/src/main/resources/mapper/MaterialbaseMapper.xml b/acs/nladmin-system/nlsso-server/src/main/resources/mapper/MaterialbaseMapper.xml
deleted file mode 100644
index 615bb94..0000000
--- a/acs/nladmin-system/nlsso-server/src/main/resources/mapper/MaterialbaseMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-