doum
9 小时以前 f0beadb9023ff20dc513ece3bcbd10051807663f
最新版本541200007
已修改6个文件
65 ■■■■■ 文件已修改
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkSketch.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkSketchCustomer.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkSketchLine.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkSketchCustomerServiceImpl.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkSketchLineServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkSketchServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkSketch.java
@@ -92,6 +92,9 @@
    @ApiModelProperty(value = "排序码", example = "1")
    //@ExcelColumn(name="排序码")
    private Integer sortnum;
    @ApiModelProperty(value = "优化状态 0未优化 1已生成已优化线路", example = "1")
    //@ExcelColumn(name="排序码")
    private Integer optStatus;
    @ApiModelProperty(value = "优化记录编码(作为key值存redis)", example = "1")
    //@ExcelColumn(name="班组编码(关联category)")
    private String jobId;
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkSketchCustomer.java
@@ -146,5 +146,6 @@
    @ApiModelProperty(value = "同班组间客户位置距离数组,[{a:12,b:100},{a:13,b:200},...],a:客户编码,b:与客户a之间的距离")
    @TableField(exist = false)
    private List<DistanceMapParam> distanceMapParamList;
    @ApiModelProperty(value = "类型 0优化前 1优化后", example = "1")
    private Integer type;
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkSketchLine.java
@@ -78,6 +78,8 @@
    @ApiModelProperty(value = "排序码", example = "1")
    @ExcelColumn(name="排序码")
    private Integer sortnum;
    @ApiModelProperty(value = "类型 0优化前 1优化后", example = "1")
    private Integer type;
    @ApiModelProperty(value = "日期")
    @ExcelColumn(name="日期")
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkSketchCustomerServiceImpl.java
@@ -4,6 +4,7 @@
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.JkCustomerNavigationMapper;
import com.doumee.dao.business.JkSketchMapper;
import com.doumee.dao.business.model.*;
import com.doumee.service.business.third.model.PageData;
import com.doumee.service.business.third.model.PageWrap;
@@ -37,6 +38,8 @@
    private SystemDictDataBiz systemDictDataBiz;
    @Autowired
    private JkSketchCustomerMapper jkSketchCustomerMapper;
    @Autowired
    private JkSketchMapper jkSketchMapper;
    @Autowired
    private JkCustomerNavigationMapper jkCustomerNavigationMapper;
@@ -187,6 +190,12 @@
    }
    @Override
    public List<JkSketchCustomer> findList(JkSketchCustomer jkSketchCustomer) {
   /*     if(jkSketchCustomer.getSketchId()!=null){
            JkSketch sketch = jkSketchMapper.selectById(jkSketchCustomer.getSketchId());
            if(sketch!=null){
                jkSketchCustomer.setType(Constants.formatIntegerNum(sketch.getOptStatus()));
            }
        }*/
        MPJLambdaWrapper<JkSketchCustomer> queryWrapper = new MPJLambdaWrapper<>();
        jkSketchCustomer.setIsdeleted(Constants.ZERO);
        queryWrapper.selectAll(JkSketchCustomer.class )
@@ -198,11 +207,9 @@
                .leftJoin(JkCustomer.class,JkCustomer::getId,JkSketchCustomer::getCustomerId ) ;
        queryWrapper.like(jkSketchCustomer.getCode()!=null,JkCustomer::getCode,jkSketchCustomer.getCode());
        queryWrapper.like(jkSketchCustomer.getName()!=null,JkCustomer::getName,jkSketchCustomer.getName());
        queryWrapper.eq(jkSketchCustomer.getType() != null,JkSketchCustomer::getType,jkSketchCustomer.getType());
        if (jkSketchCustomer.getId() != null) {
            queryWrapper.eq(JkSketchCustomer::getId,jkSketchCustomer.getId());
        }
        if (jkSketchCustomer.getCreator() != null) {
            queryWrapper.eq(JkSketchCustomer::getCreator,jkSketchCustomer.getCreator());
        }
        if (jkSketchCustomer.getCreateDate() != null) {
            queryWrapper.ge(JkSketchCustomer::getCreateDate, Utils.Date.getStart(jkSketchCustomer.getCreateDate()));
@@ -243,6 +250,12 @@
  
    @Override
    public PageData<JkSketchCustomer> findPage(PageWrap<JkSketchCustomer> pageWrap) {
        if(pageWrap.getModel().getSketchId()!=null){
            JkSketch sketch = jkSketchMapper.selectById(pageWrap.getModel().getSketchId());
            if(sketch!=null){
                pageWrap.getModel().setType(Constants.formatIntegerNum(sketch.getOptStatus()));
            }
        }
        IPage<JkSketchCustomer> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        MPJLambdaWrapper<JkSketchCustomer> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
@@ -258,6 +271,7 @@
                .leftJoin(JkSketchLine.class,JkSketchLine::getId,JkSketchCustomer::getSketchLineId )
                .leftJoin(JkLine.class,JkLine::getId,JkSketchLine::getLineId )
                .leftJoin(Category.class,Category::getId,JkLine::getCategoryId );
        queryWrapper.eq( pageWrap.getModel().getType()!=null,JkSketchCustomer::getType, pageWrap.getModel().getType());
        queryWrapper.eq( pageWrap.getModel().getCategoryId()!=null,JkLine::getCategoryId, pageWrap.getModel().getCategoryId());
        queryWrapper.eq( pageWrap.getModel().getDateInfo()!=null,JkSketchCustomer::getDateInfo, pageWrap.getModel().getDateInfo());
        queryWrapper.like( pageWrap.getModel().getCode()!=null,JkCustomer::getCode, pageWrap.getModel().getCode());
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkSketchLineServiceImpl.java
@@ -1,6 +1,7 @@
package com.doumee.service.business.impl;
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.JkSketchMapper;
import com.doumee.dao.business.model.*;
import com.doumee.service.business.third.model.PageData;
import com.doumee.service.business.third.model.PageWrap;
@@ -28,6 +29,8 @@
    @Autowired
    private JkSketchLineMapper jkSketchLineMapper;
    @Autowired
    private JkSketchMapper jkSketchMapper;
    @Override
    public Integer create(JkSketchLine jkSketchLine) {
@@ -82,6 +85,12 @@
    @Override
    public List<JkSketchLine> findList(JkSketchLine jkSketchLine) {
   /*     if(jkSketchLine.getSketchId()!=null){
            JkSketch sketch = jkSketchMapper.selectById(jkSketchLine.getSketchId());
            if(sketch!=null){
                jkSketchLine.setType(Constants.formatIntegerNum(sketch.getOptStatus()));
            }
        }*/
        MPJLambdaWrapper<JkSketchLine> wrapper = new MPJLambdaWrapper<>();
        wrapper.selectAll(JkSketchLine.class )
                .selectAs(Member::getName,JkSketchLine::getMemberName)
@@ -95,6 +104,7 @@
                .leftJoin(Cars.class,Cars::getId,JkLine::getCarId )
                .leftJoin(Member.class,Member::getId,Cars::getMemberId )
                .leftJoin(Category.class,Category::getId,JkLine::getCategoryId );
        wrapper.eq( jkSketchLine.getType()!=null,JkSketchLine::getType, jkSketchLine.getType());
        wrapper.eq( jkSketchLine.getSketchId()!=null,JkSketchLine::getSketchId, jkSketchLine.getSketchId())
                .eq(  JkSketchLine::getIsdeleted,Constants.ZERO)
                .orderByAsc(JkLine::getSortnum );
@@ -104,14 +114,20 @@
  
    @Override
    public PageData<JkSketchLine> findPage(PageWrap<JkSketchLine> pageWrap) {
        if(pageWrap.getModel().getSketchId()!=null){
            JkSketch sketch = jkSketchMapper.selectById(pageWrap.getModel().getSketchId());
            if(sketch!=null){
                pageWrap.getModel().setType(Constants.formatIntegerNum(sketch.getOptStatus()));
            }
        }
        IPage<JkSketchLine> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<JkSketchLine> queryWrapper = new QueryWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(JkSketchLine::getId, pageWrap.getModel().getId());
        }
        if (pageWrap.getModel().getCreator() != null) {
            queryWrapper.lambda().eq(JkSketchLine::getCreator, pageWrap.getModel().getCreator());
        if (pageWrap.getModel().getType() != null) {
            queryWrapper.lambda().eq(JkSketchLine::getType, pageWrap.getModel().getType());
        }
        if (pageWrap.getModel().getCreateDate() != null) {
            queryWrapper.lambda().ge(JkSketchLine::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkSketchServiceImpl.java
@@ -179,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(),"当前线路不满足优化方案调整条件!");
@@ -442,6 +443,11 @@
        c.setCustomerList(customerList);
        return  c;
    }
    /**
     * 开始异步执行线路优化任务
     * @param model
     */
    @Override
    @Async
    public void startUpdateLineAsync(JkSketch model) {
@@ -508,6 +514,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);
@@ -754,6 +761,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());
@@ -772,6 +780,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);
@@ -789,10 +798,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);
@@ -812,6 +823,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)
@@ -838,6 +850,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);
@@ -866,6 +879,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);
@@ -1079,6 +1093,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);
@@ -1101,6 +1116,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);
@@ -1156,6 +1172,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);