md
This commit is contained in:
parent
53d5a64830
commit
dcb615f0a2
@ -16,6 +16,7 @@ import javax.servlet.http.HttpServletResponse;
|
|||||||
|
|
||||||
import com.xdadan.erp.common.annotation.filter.jackson.JacksonFilter;
|
import com.xdadan.erp.common.annotation.filter.jackson.JacksonFilter;
|
||||||
import com.xdadan.erp.emis.domain.EmisCountry;
|
import com.xdadan.erp.emis.domain.EmisCountry;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
@ -32,7 +33,6 @@ import com.xdadan.erp.common.core.controller.BaseController;
|
|||||||
import com.xdadan.erp.common.core.domain.AjaxResult;
|
import com.xdadan.erp.common.core.domain.AjaxResult;
|
||||||
import com.xdadan.erp.common.core.page.TableDataInfo;
|
import com.xdadan.erp.common.core.page.TableDataInfo;
|
||||||
import com.xdadan.erp.common.enums.BusinessType;
|
import com.xdadan.erp.common.enums.BusinessType;
|
||||||
import com.xdadan.erp.common.utils.StringUtils;
|
|
||||||
import com.xdadan.erp.common.utils.poi.ExcelUtil;
|
import com.xdadan.erp.common.utils.poi.ExcelUtil;
|
||||||
|
|
||||||
import com.xdadan.erp.emis.domain.EmisDestination;
|
import com.xdadan.erp.emis.domain.EmisDestination;
|
||||||
@ -86,14 +86,19 @@ public class EmisDestinationController extends BaseController
|
|||||||
"id","destCode","destName","destNameEn",
|
"id","destCode","destName","destNameEn",
|
||||||
"lineCode","lineName","countryName","country","siteCode","siteName",
|
"lineCode","lineName","countryName","country","siteCode","siteName",
|
||||||
},value= EmisDestination.class,type= JacksonFilter.JscksonFilterType.RESPONSE)
|
},value= EmisDestination.class,type= JacksonFilter.JscksonFilterType.RESPONSE)
|
||||||
public AjaxResult getDestSite(String lineCode,String province,String city,String county,String address)
|
public AjaxResult getDestSite(String country,String lineCode,String province,String city,String county,String address)
|
||||||
{
|
{
|
||||||
|
if(StringUtils.isAnyEmpty(lineCode,province)){
|
||||||
|
return AjaxResult.error("参数错误,线路和省份不能为空!");
|
||||||
|
}
|
||||||
|
|
||||||
// startPage();
|
EmisDestination dest = emisDestinationService.calcDestSite(country,lineCode,province,city,county,address);
|
||||||
// List<EmisDestination> list = emisDestinationService.selectEmisDestinationList(emisDestination);
|
if(dest==null){
|
||||||
// 自动匹配
|
return AjaxResult.error("联系客户,收件地不在服务范围!");
|
||||||
|
}else{
|
||||||
|
return AjaxResult.success("获取成功",dest);
|
||||||
|
}
|
||||||
|
|
||||||
return AjaxResult.success("获取成功");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -35,6 +35,18 @@ public interface IEmisDestinationService
|
|||||||
*/
|
*/
|
||||||
public List<EmisDestination> selectEmisDestinationList(EmisDestination emisDestination);
|
public List<EmisDestination> selectEmisDestinationList(EmisDestination emisDestination);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据收件信息获取目的地
|
||||||
|
* @param lineCode
|
||||||
|
* @param province
|
||||||
|
* @param city
|
||||||
|
* @param county
|
||||||
|
* @param address
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public EmisDestination calcDestSite(String country,String lineCode,String province,String city,String county,String address);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增目的地
|
* 新增目的地
|
||||||
*
|
*
|
||||||
|
|||||||
@ -11,6 +11,12 @@
|
|||||||
package com.xdadan.erp.emis.service.impl;
|
package com.xdadan.erp.emis.service.impl;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.xdadan.erp.common.core.domain.entity.SysTenant;
|
||||||
|
import com.xdadan.erp.emis.domain.EmisRegion;
|
||||||
|
import com.xdadan.erp.emis.mapper.EmisRegionMapper;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.xdadan.erp.emis.domain.EmisDestination;
|
import com.xdadan.erp.emis.domain.EmisDestination;
|
||||||
@ -29,6 +35,9 @@ public class EmisDestinationServiceImpl implements IEmisDestinationService
|
|||||||
@Autowired
|
@Autowired
|
||||||
private EmisDestinationMapper emisDestinationMapper;
|
private EmisDestinationMapper emisDestinationMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private EmisRegionMapper emisRegionMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询目的地
|
* 查询目的地
|
||||||
*
|
*
|
||||||
@ -53,6 +62,60 @@ public class EmisDestinationServiceImpl implements IEmisDestinationService
|
|||||||
return emisDestinationMapper.selectEmisDestinationList(emisDestination);
|
return emisDestinationMapper.selectEmisDestinationList(emisDestination);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计算目的地
|
||||||
|
* @param lineCode
|
||||||
|
* @param province
|
||||||
|
* @param city
|
||||||
|
* @param county
|
||||||
|
* @param address
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public EmisDestination calcDestSite(String country,String lineCode, String province, String city, String county, String address) {
|
||||||
|
|
||||||
|
// 如果省份不存在,则取目的国的地一个字段
|
||||||
|
// 获取 areaId
|
||||||
|
Long areaId = null;
|
||||||
|
EmisRegion queryEmisRegion = new EmisRegion();
|
||||||
|
queryEmisRegion.setRegionCode(province);
|
||||||
|
List<EmisRegion> regionList= emisRegionMapper.selectEmisRegionList(queryEmisRegion);
|
||||||
|
if(CollectionUtil.isEmpty(regionList)){
|
||||||
|
// 如果身份按国家获取第一个区域
|
||||||
|
QueryWrapper<EmisRegion> queryWrapper = new QueryWrapper<>();
|
||||||
|
// 按省份获取区域
|
||||||
|
queryWrapper.eq("region_type", "1");
|
||||||
|
queryWrapper.eq("country_code", country);
|
||||||
|
queryWrapper.isNotNull("area_id");
|
||||||
|
queryWrapper.last("limit 1");
|
||||||
|
regionList=emisRegionMapper.selectList(queryWrapper);
|
||||||
|
|
||||||
|
if(CollectionUtil.isEmpty(regionList)){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
areaId = regionList.get(0).getAreaId();
|
||||||
|
if(areaId == null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询目的地,优先根据区域查询,如果查询不到则按线路查询
|
||||||
|
EmisDestination queryEmisDestination = new EmisDestination();
|
||||||
|
queryEmisDestination.setLineCode(lineCode);
|
||||||
|
queryEmisDestination.setCountryAreaId(areaId);
|
||||||
|
List<EmisDestination> destinationList=emisDestinationMapper.selectEmisDestinationList(queryEmisDestination);
|
||||||
|
if(CollectionUtil.isEmpty(destinationList)){
|
||||||
|
// 目的地区域位配置,按线路查询
|
||||||
|
queryEmisDestination.setCountryAreaId(null);
|
||||||
|
destinationList=emisDestinationMapper.selectEmisDestinationList(queryEmisDestination);
|
||||||
|
if(CollectionUtil.isEmpty(destinationList)){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return destinationList.get(0);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增目的地
|
* 新增目的地
|
||||||
*
|
*
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user