doum
14 小时以前 275aa50b1de31ace0cb17fdf0b6f678a63267b3c
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkSketchServiceImpl.java
@@ -76,7 +76,6 @@
        jkSketchMapper.insert(jkSketch);
        return jkSketch.getId();
    }
    @Override
    public void deleteById(Integer id) {
        jkSketchMapper.deleteById(id);
@@ -87,7 +86,6 @@
        UpdateWrapper<JkSketch> deleteWrapper = new UpdateWrapper<>(jkSketch);
        jkSketchMapper.delete(deleteWrapper);
    }
    @Override
    @PostConstruct
@@ -181,6 +179,7 @@
                .selectAs(JkLine::getMaxCustomer,JkSketchLine::getMaxCustomer)
                .leftJoin(JkLine.class,JkLine::getId,JkOrders::getLineId )
                .eq(JkSketchLine::getSketchId,jkSketch.getId())
                .eq(JkSketchLine::getType, Constants.formatIntegerNum(model.getOptStatus()))
                .eq(JkSketchLine::getIsdeleted,Constants.ZERO));
        if(lineList ==null ||lineList.size() ==0){
            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"当前线路不满足优化方案调整条件!");
@@ -444,6 +443,11 @@
        c.setCustomerList(customerList);
        return  c;
    }
    /**
     * 开始异步执行线路优化任务
     * @param model
     */
    @Override
    @Async
    public void startUpdateLineAsync(JkSketch model) {
@@ -492,7 +496,15 @@
                    .set(JkSketch::getStatus,Constants.THREE)
                    .set(JkSketch::getPlanLineEndDate,new Date()));
        }
    }
    @Override
    @Async
    public  void startInitOriginDistanceBatch(List<JkSketch> list) {
        if(list!=null){
            for(JkSketch model :list){
                initOriginDistance(model);
            }
        }
    }
    @Override
    @Async
@@ -511,6 +523,7 @@
                    .selectAs(JkCustomer::getStartDistance,JkSketchCustomer::getStartDistance)
                    .selectAs(JkCustomer::getEndDistance,JkSketchCustomer::getEndDistance)
                    .leftJoin(JkCustomer.class,JkCustomer::getId,JkSketchCustomer::getCustomerId )
                    .eq(JkSketchCustomer::getType, Constants.equalsInteger(model.getOptStatus(),Constants.ONE)?1:0)
                    .eq(JkSketchCustomer::getSketchId, model.getId())
                    .eq(JkSketchCustomer::getIsdeleted,Constants.ZERO)
                    .orderByAsc(JkSketchCustomer::getSortnum);
@@ -550,7 +563,6 @@
                    for (int j = 0; j < customerListParam.size(); j++) {
                        distanceMatrix1[i+1][j+1] =disList.get(j+1).getDistance() ;
                    }
                }
                //构造优化数据模型
                dataModel.initDataInfo(vehicleNumber1,demands1,vehicleCapacities1,distanceMatrix1);
@@ -574,7 +586,6 @@
                }
                line.setDistance(so.getDistance());
            }
        }catch (Exception e){
            e.printStackTrace();
            success =false;
@@ -595,9 +606,7 @@
                    .set(JkSketch::getStatus,success?Constants.TWO:Constants.THREE)
                    .set(JkSketch::getPlanLineEndDate,new Date()));
        }
    }
    private List<JkSketchCustomer> initSketchCustomerListParam(List<JkSketchCustomer> customerList, List<JkSketchCustomer> customerList1) {
        for(JkSketchCustomer param : customerList){
            for(JkSketchCustomer model : customerList1){
@@ -761,6 +770,7 @@
                tModel.setTotalNum(new BigDecimal(0));
                tModel.setOrderNum(routes.size()-2);
                tModel.setDateInfo(model.getDateInfo());
                tModel.setType(Constants.ONE);
                tModel.setSortnum(sketchLineList.size()+1);
                tModel.setEditDate(tModel.getCreateDate());
                tModel.setEditor(tModel.getCreator());
@@ -779,6 +789,7 @@
                    cModel.setCreator(tModel.getCreator());
                    cModel.setOrderId(customer.getOrderId());
                    cModel.setCreateDate(tModel.getCreateDate());
                    cModel.setType(Constants.ONE);
                    cModel.setTotalNum(customer.getTotalNum());
                    cModel.setDateInfo(model.getDateInfo());
                    cModel.setSortnum(tModel.getCustomerList().size()+1);
@@ -796,10 +807,12 @@
            jkSketchLineMapper.update(null,new UpdateWrapper<JkSketchLine>().lambda()
                    .set(JkSketchLine::getIsdeleted,Constants.ONE)
                    .eq(JkSketchLine::getIsdeleted,Constants.ZERO)
                    .eq(JkSketchLine::getType,Constants.ONE)
                    .eq(JkSketchLine::getDateInfo,model.getDateInfo()));
            jkSketchCustomerMapper.update(null,new UpdateWrapper<JkSketchCustomer>().lambda()
                    .set(JkSketchCustomer::getIsdeleted,Constants.ONE)
                    .eq(JkSketchCustomer::getIsdeleted,Constants.ZERO)
                    .eq(JkSketchCustomer::getType,Constants.ONE)
                    .eq(JkSketchCustomer::getDateInfo,model.getDateInfo()));
            if(sketchLineList.size()>0){
                jkSketchLineMapper.insert(sketchLineList);
@@ -819,6 +832,7 @@
                    .eq(JkSketch::getId,model.getId() )
                    .eq(JkSketch::getJobId,model.getJobId() )
                    .set(JkSketch::getLineNum,sketchLineList.size() )
                    .set(JkSketch::getOptStatus,Constants.ONE)//已生成优化线路
                    .set(JkSketch::getDistance,totalDistance)
                    .set(JkSketch::getPlanLineInfo,"最近一次线路优化成功,优化后总距离:"+(totalDistance/1000)+"公里!")
                    .set(JkSketch::getStatus,Constants.TWO)
@@ -845,6 +859,7 @@
                .selectAs(JkCustomer::getStartDistance,JkSketchCustomer::getStartDistance)
                .selectAs(JkCustomer::getEndDistance,JkSketchCustomer::getEndDistance)
                .leftJoin(JkCustomer.class,JkCustomer::getId,JkSketchCustomer::getCustomerId )
                .eq(JkSketchCustomer::getType, Constants.formatIntegerNum(model.getOptStatus()))
                .eq(JkSketchCustomer::getSketchId, model.getId())
                .eq(JkSketchCustomer::getIsdeleted,Constants.ZERO)
                .orderByAsc(JkSketchCustomer::getSortnum);
@@ -873,6 +888,7 @@
        queryWrapper1.selectAll(JkSketchLine.class )
                .eq(JkSketchLine::getSketchId, model.getId())
                .eq(JkSketchLine::getIsdeleted,Constants.ZERO)
                .eq(JkSketchLine::getType, Constants.formatIntegerNum(model.getOptStatus()))
                .orderByAsc(JkSketchLine::getSortnum);
        List<JkSketchLine> lineList = jkSketchLineMapper.selectJoinList(JkSketchLine.class,queryWrapper1);
        initCustomerDistance(lineList,model,updateLineDistance);
@@ -1086,6 +1102,7 @@
                tModel.setTotalNum(orders.getNum());
                tModel.setDateInfo(orders.getDateInfo());
                tModel.setSortnum(list.size()+1);
                tModel.setType(Constants.ZERO);
                tModel.setEditDate(tModel.getCreateDate());
                tModel.setEditor(tModel.getCreator());
                tModel.setIsdeleted(Constants.ZERO);
@@ -1108,6 +1125,7 @@
            initOrderAndTotalNum(tModel,line.getId(),newOrderList);
            tModel.setDateInfo(newList.get(0).getDateInfo());
            tModel.setSortnum(list.size()+1);
            tModel.setType(Constants.ZERO);
            tModel.setEditDate(tModel.getCreateDate());
            tModel.setEditor(tModel.getCreator());
            tModel.setIsdeleted(Constants.ZERO);
@@ -1163,6 +1181,7 @@
                tModel.setCreateDate(orders.getCreateDate());
                tModel.setCategoryId(orders.getCategoryId());
                tModel.setTotalNum(orders.getNum());
                tModel.setOptStatus(Constants.ZERO);
                tModel.setOrderNum(1);
                tModel.setDateInfo(orders.getDateInfo());
                tModel.setSortnum(list.size()+1);