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 @@ - - - - -