doum
2026-06-11 d9c657aa78cf0ebe31933a87e63ca92edd8a8da3
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkSketchServiceImpl.java
@@ -33,6 +33,7 @@
import netscape.javascript.JSObject;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
@@ -44,6 +45,7 @@
import java.math.BigDecimal;
import java.util.*;
import java.util.Date;
import java.util.concurrent.Executor;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@@ -56,6 +58,9 @@
@Slf4j
public class JkSketchServiceImpl implements JkSketchService {
    @Autowired
    @Qualifier("asyncExecutor")
    private Executor asyncExecutor;
    @Autowired
    private JkSketchMapper jkSketchMapper;
    @Autowired
@@ -246,10 +251,13 @@
            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"该线路已被优化,已无法计算原始路线路程数");
        }
        checkJketchCustomerLocation(model,true);
        model.setEditDate(new Date());
        model.setDistance(model.getOriginDistance());
        jkSketchMapper.updateById(model);
        return model;
        JkSketch update = new JkSketch();
        update.setId(model.getId());
        update.setEditDate(new Date());
        update.setDistance(model.getOriginDistance());
        update.setOriginDistance(model.getOriginDistance());
        jkSketchMapper.updateById(update);
        return update;
    }
    @Override
@@ -283,7 +291,7 @@
                BigDecimal finalCLongitude = cLongitude;
                log.error("交通规划====线程circle:"+i+"====start:"+start+"===========end:"+end);
                int finalI = i;
                Thread t1=new Thread(() -> {
                asyncExecutor.execute(() -> {
                    try {
                        int index =0;
                        for (int j = start; j < end; j++) {
@@ -308,10 +316,9 @@
                    }
                });
                t1.start();
            }
        }catch (Exception e){
            e.printStackTrace();
            log.error("distanceCustomer异常", e);
        }finally {
        }
@@ -547,7 +554,7 @@
            dataModel.initDataInfo(vehicleNumber1,demands1,demands2,vehicleCapacities1,distanceMatrix1,vehicleMaxNodes);
            TspSolver.startSearch(dataModel);
            JkSketch nowModel = jkSketchMapper.selectById(model.getId());
            if(StringUtils.equals(model.getJobId(), nowModel.getJobId())){
            if(!StringUtils.equals(model.getJobId(), nowModel.getJobId())){
               log.error( "优化结果已失效,非最近一次操作!");
               return;
            }
@@ -641,7 +648,7 @@
            queryWrapper.selectAll(JkSketchCustomer.class )
                    .selectAs(JkCustomer::getName,JkSketchCustomer::getName)
                    .selectAs(JkCustomer::getCode,JkSketchCustomer::getCode)
                    .selectAs(JkCustomer::getDistance,JkSketchCustomer::getDistanceJson)
//                    .selectAs(JkCustomer::getDistance,JkSketchCustomer::getDistanceJson)
                    .selectAs(JkCustomer::getLongitude,JkSketchCustomer::getLongitude)
                    .selectAs(JkCustomer::getLatitude,JkSketchCustomer::getLatitude)
                    .selectAs(JkCustomer::getStartDistance,JkSketchCustomer::getStartDistance)
@@ -705,7 +712,7 @@
                    throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"线路【"+line.getLineName()+"】调整失败 ,未获得最优交通规划方案!");
                }
                JkSketch nowModel = jkSketchMapper.selectById(model.getId());
                if(StringUtils.equals(model.getJobId(), nowModel.getJobId())){
                if(!StringUtils.equals(model.getJobId(), nowModel.getJobId())){
                    throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"线路【"+line.getLineName()+"】调整失败 ,非最近一次操作!");
                }
@@ -766,7 +773,7 @@
            queryWrapper.selectAll(JkSketchCustomer.class )
                    .selectAs(JkCustomer::getName,JkSketchCustomer::getName)
                    .selectAs(JkCustomer::getCode,JkSketchCustomer::getCode)
                    .selectAs(JkCustomer::getDistance,JkSketchCustomer::getDistanceJson)
//                    .selectAs(JkCustomer::getDistance,JkSketchCustomer::getDistanceJson)
                    .selectAs(JkCustomer::getLongitude,JkSketchCustomer::getLongitude)
                    .selectAs(JkCustomer::getLatitude,JkSketchCustomer::getLatitude)
                    .selectAs(JkCustomer::getStartDistance,JkSketchCustomer::getStartDistance)
@@ -1252,7 +1259,7 @@
                .selectAs(JkCustomer::getName,JkSketchCustomer::getName)
                .selectAs(JkCustomer::getCode,JkSketchCustomer::getCode)
                .selectAs(JkCustomer::getDistanceStatus,JkSketchCustomer::getDistanceStatus)
                .selectAs(JkCustomer::getDistance,JkSketchCustomer::getDistanceJson)
//                .selectAs(JkCustomer::getDistance,JkSketchCustomer::getDistanceJson)
                .selectAs(JkCustomer::getLongitude,JkSketchCustomer::getLongitude)
                .selectAs(JkCustomer::getLatitude,JkSketchCustomer::getLatitude)
                .selectAs(JkCustomer::getStartDistance,JkSketchCustomer::getStartDistance)