1000条测试

parent 0c0ffc18
......@@ -75,6 +75,7 @@ public class MaterialRequirementService {
private static final int cachetimeout = 60;
private static final int ORACLE_IN_BATCH_SIZE = 1000;
private String cacheKey="_MR_";
private String routingHeaderCacheKey=cacheKey+ "RoutingHeader";
private String routingsupportingCacheKey=cacheKey+ "Routingsupporting";
......@@ -100,22 +101,13 @@ public class MaterialRequirementService {
.map(Order::getRoutingId)
.distinct()
.collect(Collectors.toList());
List<RoutingHeader> routingHeaders=null;
LambdaQueryWrapper<RoutingHeader> wrapper = new LambdaQueryWrapper<>();
wrapper.in(RoutingHeader::getId, routingIds);
// .eq(RoutingHeader::getIsDeleted, 0)
// .eq(RoutingHeader::getApprovalStatus, 1);
routingHeaders = routingHeaderMapper.selectList(wrapper);
List<RoutingHeader> routingHeaders = getRoutingHeadersByIds(routingIds);
List<Routingsupporting> routingsupportings=null;
// 查询并缓存Routingsupporting
LambdaQueryWrapper<Routingsupporting> routingsupportingwrapper = new LambdaQueryWrapper<>();
routingsupportingwrapper.in(Routingsupporting::getRoutingHeaderId, routingIds)
.eq(Routingsupporting::getIsdeleted, 0);
routingsupportings = routingsupportingMapper.selectList(routingsupportingwrapper);
routingsupportings = getRoutingsupportingsByRoutingHeaderIds(routingIds);
// 查询并缓存RoutingSupportingReplace
......@@ -126,10 +118,7 @@ public class MaterialRequirementService {
.distinct()
.collect(Collectors.toList());
LambdaQueryWrapper<RoutingSupportingReplace> routingsupportingreplacewrapper = new LambdaQueryWrapper<>();
routingsupportingreplacewrapper.in(RoutingSupportingReplace::getStrsupid, routingsupportingids)
.eq(RoutingSupportingReplace::getIsdeleted, 0);
replaces = routingSupportingReplaceMapper.selectList(routingsupportingreplacewrapper);
replaces = getRoutingSupportingReplacesByStrsupids(routingsupportingids);
}
List<Material> useMaterials=new ArrayList<>();
......@@ -279,11 +268,7 @@ if(Operations==null)
LambdaQueryWrapper<Routingsupporting> routingsupportingwrapper = new LambdaQueryWrapper<>();
routingsupportingwrapper.in(Routingsupporting::getRoutingHeaderId, routingIds)
.eq(Routingsupporting::getIsdeleted, 0);
routingsupportings1 = routingsupportingMapper.selectList(routingsupportingwrapper);
routingsupportings1 = getRoutingsupportingsByRoutingHeaderIds(routingIds);
if(routingsupportings1!=null&&routingsupportings1.size()>0)
{
routingsupportings.addAll(routingsupportings1);
......@@ -293,11 +278,7 @@ if(Operations==null)
.distinct()
.collect(Collectors.toList());
LambdaQueryWrapper<RoutingSupportingReplace> routingsupportingreplacewrapper = new LambdaQueryWrapper<>();
routingsupportingreplacewrapper.in(RoutingSupportingReplace::getStrsupid, routingsupportingids)
.eq(RoutingSupportingReplace::getIsdeleted, 0);
routingsupportingreplaces1 = routingSupportingReplaceMapper.selectList(routingsupportingreplacewrapper);
routingsupportingreplaces1 = getRoutingSupportingReplacesByStrsupids(routingsupportingids);
routingsupportingreplaces.addAll(routingsupportingreplaces1);
......@@ -1543,6 +1524,62 @@ if(demand==null)
return RoutingSupportingReplaces;
}
private List<RoutingHeader> getRoutingHeadersByIds(List<Integer> routingIds) {
if (CollectionUtils.isEmpty(routingIds)) {
return new ArrayList<>();
}
List<RoutingHeader> routingHeaders = new ArrayList<>();
for (List<Integer> batchIds : partitionList(routingIds, ORACLE_IN_BATCH_SIZE)) {
LambdaQueryWrapper<RoutingHeader> wrapper = new LambdaQueryWrapper<>();
wrapper.in(RoutingHeader::getId, batchIds);
routingHeaders.addAll(routingHeaderMapper.selectList(wrapper));
}
return routingHeaders;
}
private List<Routingsupporting> getRoutingsupportingsByRoutingHeaderIds(List<? extends Number> routingIds) {
if (CollectionUtils.isEmpty(routingIds)) {
return new ArrayList<>();
}
List<Routingsupporting> routingsupportings = new ArrayList<>();
for (List<? extends Number> batchIds : partitionList(routingIds, ORACLE_IN_BATCH_SIZE)) {
LambdaQueryWrapper<Routingsupporting> routingsupportingwrapper = new LambdaQueryWrapper<>();
routingsupportingwrapper.in(Routingsupporting::getRoutingHeaderId, batchIds)
.eq(Routingsupporting::getIsdeleted, 0);
routingsupportings.addAll(routingsupportingMapper.selectList(routingsupportingwrapper));
}
return routingsupportings;
}
private List<RoutingSupportingReplace> getRoutingSupportingReplacesByStrsupids(List<String> routingSupportingIds) {
if (CollectionUtils.isEmpty(routingSupportingIds)) {
return new ArrayList<>();
}
List<RoutingSupportingReplace> replaces = new ArrayList<>();
for (List<String> batchIds : partitionList(routingSupportingIds, ORACLE_IN_BATCH_SIZE)) {
LambdaQueryWrapper<RoutingSupportingReplace> routingsupportingreplacewrapper = new LambdaQueryWrapper<>();
routingsupportingreplacewrapper.in(RoutingSupportingReplace::getStrsupid, batchIds)
.eq(RoutingSupportingReplace::getIsdeleted, 0);
replaces.addAll(routingSupportingReplaceMapper.selectList(routingsupportingreplacewrapper));
}
return replaces;
}
private <T> List<List<T>> partitionList(List<T> source, int batchSize) {
List<List<T>> partitions = new ArrayList<>();
if (CollectionUtils.isEmpty(source) || batchSize <= 0) {
return partitions;
}
for (int i = 0; i < source.size(); i += batchSize) {
partitions.add(source.subList(i, Math.min(i + batchSize, source.size())));
}
return partitions;
}
private List<RoutingDetail> GetRoutingDetails(String sceneId) {
List<RoutingDetail> RoutingDetails=(List<RoutingDetail>)GlobalCacheUtil.get(sceneId+routingDetailCacheKey);
if(RoutingDetails==null)
......
......@@ -61,7 +61,7 @@
<!-- 针对你的包结构进行配置 -->
<!-- 1. 算法包(你最关心的) -->
<logger name="com.aps.service.Algorithm" level="DEBUG">
<logger name="com.aps.service.Algorithm" level="INFO">
<appender-ref ref="FILE"/>
</logger>
......@@ -81,7 +81,7 @@
</logger>
<!-- 5. Mapper层(SQL日志) -->
<logger name="com.aps.mapper" level="DEBUG">
<logger name="com.aps.mapper" level="INFO">
<appender-ref ref="FILE"/>
</logger>
......@@ -91,26 +91,26 @@
</logger>
<!-- 第三方框架日志控制 -->
<logger name="org.springframework" level="WARN"/>
<logger name="org.mybatis" level="WARN"/>
<logger name="com.zaxxer.hikari" level="WARN"/>
<logger name="org.springframework" level="INFO"/>
<logger name="org.mybatis" level="INFO"/>
<logger name="com.zaxxer.hikari" level="INFO"/>
<!-- 根据不同环境调整 -->
<springProfile name="dev">
<root level="DEBUG">
<root level="INFO">
<appender-ref ref="CONSOLE"/>
</root>
<logger name="com.aps" level="DEBUG"/>
<logger name="com.aps" level="INFO"/>
</springProfile>
<springProfile name="prod">
<root level="WARN">
<root level="INFO">
<appender-ref ref="FILE"/>
<appender-ref ref="ERROR_FILE"/>
</root>
<!-- 生产环境关闭DEBUG日志 -->
<logger name="com.aps.mapper" level="WARN"/>
<logger name="com.aps.mapper" level="INFO"/>
<logger name="com.aps.service.Algorithm" level="INFO"/>
</springProfile>
</configuration>
\ No newline at end of file
</configuration>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment