Browse Source

拜访流程调整

contract
Yen 2 years ago
parent
commit
12ca0f0c88
  1. 20
      src/main/java/com/qs/serve/common/framework/exception/UnifiedExceptionHandler.java
  2. 10
      src/main/java/com/qs/serve/common/model/dto/R.java
  3. 6
      src/main/java/com/qs/serve/modules/biz/entity/bo/BizCusVisitBo.java
  4. 43
      src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierVisitAddressController.java
  5. 7
      src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierVisitTypeController.java
  6. 9
      src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java
  7. 7
      src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierVisitAddress.java
  8. 1
      src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierVisitForm.java
  9. 5
      src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierVisitType.java
  10. 12
      src/main/java/com/qs/serve/modules/bms/entity/so/BmsSupplierVisitSo.java
  11. 6
      src/main/java/com/qs/serve/modules/his/entity/HisUserSupplier.java
  12. 18
      src/main/java/com/qs/serve/modules/his/entity/dto/HisUserSupplierAddressVo.java
  13. 4
      src/main/java/com/qs/serve/modules/his/mapper/HisUserSupplierMapper.java
  14. 2
      src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java
  15. 27
      src/main/resources/mapper/his/HisUserSupplierMapper.xml

20
src/main/java/com/qs/serve/common/framework/exception/UnifiedExceptionHandler.java

@ -36,14 +36,15 @@ public class UnifiedExceptionHandler {
@ExceptionHandler(value = BusinessException.class) @ExceptionHandler(value = BusinessException.class)
@ResponseBody @ResponseBody
public R handleBindException(BusinessException e,HttpServletRequest request) { public R handleBindException(BusinessException e,HttpServletRequest request) {
log.error("自定义异常触发【{},{}】,请求地址:{}",e.getCode(),e.getMessage(),request.getRequestURI()); log.warn("自定义异常触发【{},{}】,请求地址:{}",e.getCode(),e.getMessage(),request.getRequestURI());
return new R(e.getCode(),e.getMessage()); return new R(e.getCode(),e.getMessage());
} }
@ExceptionHandler(value = NullPointerException.class) @ExceptionHandler(value = NullPointerException.class)
@ResponseBody @ResponseBody
public R handleBindException(NullPointerException e) { public R handleBindException(NullPointerException e,HttpServletRequest request) {
e.printStackTrace(); e.printStackTrace();
log.warn("空指针【{}】,请求地址:{}",e.getMessage(),request.getRequestURI());
return R.error("数据不存在或被移除"); return R.error("数据不存在或被移除");
} }
@ -51,8 +52,9 @@ public class UnifiedExceptionHandler {
AccessDeniedException.class AccessDeniedException.class
}) })
@ResponseBody @ResponseBody
public R handleAccessException(AccessDeniedException e) { public R handleAccessException(AccessDeniedException e,HttpServletRequest request) {
HttpCode hc = HttpCode.FORBIDDEN_403; HttpCode hc = HttpCode.FORBIDDEN_403;
log.warn("访问拦截【{}】,请求地址:{}",e.getMessage(),request.getRequestURI());
return new R(hc.getCode(),hc.getMsg()); return new R(hc.getCode(),hc.getMsg());
} }
@ -80,9 +82,10 @@ public class UnifiedExceptionHandler {
HttpRequestMethodNotSupportedException.class HttpRequestMethodNotSupportedException.class
}) })
@ResponseBody @ResponseBody
public R handleDevPrintMsgException(Exception e) { public R handleDevPrintMsgException(Exception e,HttpServletRequest request) {
log.warn("参数校验异常:{}",e.getMessage()); log.warn("参数校验异常:{}",e.getMessage());
if(DevEnvironmentConfig.isDev()){ if(DevEnvironmentConfig.isDev()){
log.warn("参数校验异常【{}】,请求地址:{}",e.getMessage(),request.getRequestURI());
return R.error(e.getMessage()); return R.error(e.getMessage());
} }
return R.error(); return R.error();
@ -107,9 +110,8 @@ public class UnifiedExceptionHandler {
SQLIntegrityConstraintViolationException.class, SQLIntegrityConstraintViolationException.class,
}) })
@ResponseBody @ResponseBody
public R handleSqlIntegrityException(Exception e) { public R handleSqlIntegrityException(Exception e,HttpServletRequest request) {
String msg = e.getMessage(); log.warn("数据库拦截【{}】,请求地址:{}",e.getMessage(),request.getRequestURI());
e.printStackTrace();
return new R(500,"数据库拦截,请联系管理员"); return new R(500,"数据库拦截,请联系管理员");
} }
@ -126,8 +128,8 @@ public class UnifiedExceptionHandler {
@ExceptionHandler(value = Exception.class) @ExceptionHandler(value = Exception.class)
@ResponseBody @ResponseBody
public R handleException(Exception e) { public R handleException(Exception e,HttpServletRequest request) {
log.error("Servlet异常\n异常类型:{}\n异常信息:{}\n异常体:",e.getClass().getSimpleName(),e.getMessage(),e); log.error("Servlet异常\n请求地址:{},异常类型:{}\n异常信息:{}\n异常体:",request.getRequestURI(),e.getClass().getSimpleName(),e.getMessage(),e);
if(DevEnvironmentConfig.isDev()){return R.error(e.getMessage());} if(DevEnvironmentConfig.isDev()){return R.error(e.getMessage());}
return R.error(); return R.error();
} }

10
src/main/java/com/qs/serve/common/model/dto/R.java

@ -177,4 +177,14 @@ public class R<T> implements Serializable {
return R.ok(pageVo); return R.ok(pageVo);
} }
public static <TYPE> R<PageVo<TYPE>> byPageList(Integer pageNum,Integer pageSize,Long total,List<TYPE> data){
PageVo<TYPE> pageVo = new PageVo<>();
pageVo.setPageSize(pageSize);
pageVo.setPageNum(pageNum);
pageVo.setTotal(total);
pageVo.setList(data);
pageVo.setTotalPage(total%pageSize==0?total/pageSize:total/pageSize+1);
return R.ok(pageVo);
}
} }

6
src/main/java/com/qs/serve/modules/biz/entity/bo/BizCusVisitBo.java

@ -12,6 +12,7 @@ import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
/** /**
@ -50,6 +51,11 @@ public class BizCusVisitBo implements Serializable {
*/ */
private String formJson; private String formJson;
/**
* 计划下次访问时间
*/
private LocalDate nextTimeVisit;
/** 备注 */ /** 备注 */
@Length(max = 255,message = "备注长度不能超过255字") @Length(max = 255,message = "备注长度不能超过255字")
private String remark; private String remark;

43
src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierVisitAddressController.java

@ -14,10 +14,9 @@ import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.bms.entity.BmsSupplier; import com.qs.serve.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.bms.entity.so.BmsSupplierVisitSo; import com.qs.serve.modules.bms.entity.so.BmsSupplierVisitSo;
import com.qs.serve.modules.bms.mapper.BmsSupplierMapper; import com.qs.serve.modules.bms.mapper.BmsSupplierMapper;
import com.qs.serve.modules.bms.service.BmsRegion2Service; import com.qs.serve.modules.bms.service.*;
import com.qs.serve.modules.bms.service.BmsRegionService;
import com.qs.serve.modules.bms.service.BmsSupplierService;
import com.qs.serve.modules.his.entity.HisUserSupplier; import com.qs.serve.modules.his.entity.HisUserSupplier;
import com.qs.serve.modules.his.entity.dto.HisUserSupplierAddressVo;
import com.qs.serve.modules.his.mapper.HisUserSupplierMapper; import com.qs.serve.modules.his.mapper.HisUserSupplierMapper;
import com.qs.serve.modules.his.service.HisUserSupplierService; import com.qs.serve.modules.his.service.HisUserSupplierService;
import com.qs.serve.modules.sys.service.SysUserService; import com.qs.serve.modules.sys.service.SysUserService;
@ -27,9 +26,9 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.qs.serve.modules.bms.entity.BmsSupplierVisitAddress; import com.qs.serve.modules.bms.entity.BmsSupplierVisitAddress;
import com.qs.serve.modules.bms.service.BmsSupplierVisitAddressService;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -45,6 +44,8 @@ import java.util.stream.Collectors;
public class BmsSupplierVisitAddressController { public class BmsSupplierVisitAddressController {
private BmsSupplierVisitAddressService bmsSupplierVisitAddressService; private BmsSupplierVisitAddressService bmsSupplierVisitAddressService;
private BmsSupplierVisitService bmsSupplierVisitService;
private BmsSupplierService bmsSupplierService;
private HisUserSupplierService hisUserSupplierService; private HisUserSupplierService hisUserSupplierService;
private HisUserSupplierMapper hisUserSupplierMapper; private HisUserSupplierMapper hisUserSupplierMapper;
@ -64,12 +65,12 @@ public class BmsSupplierVisitAddressController {
/** /**
* 翻页查询=1过滤当前用户负责数据 * 翻页查询过滤当前用户负责数据
* @param param * @param param
* @return * @return
*/ */
@GetMapping("/getPageForVisit") @PostMapping("/getPageForVisit")
public R<PageVo<HisUserSupplier>> getPageForVisit(BmsSupplierVisitSo param){ public R<PageVo<BmsSupplier>> getPageForVisit(@Valid @RequestBody BmsSupplierVisitSo param){
String userId = AuthContextUtils.getSysUserId(); String userId = AuthContextUtils.getSysUserId();
hisUserSupplierService.initByUserId(userId,false); hisUserSupplierService.initByUserId(userId,false);
HisUserSupplier userSupplier = new HisUserSupplier(); HisUserSupplier userSupplier = new HisUserSupplier();
@ -78,14 +79,27 @@ public class BmsSupplierVisitAddressController {
userSupplier.setSupplierCode(param.getSupplierCode()); userSupplier.setSupplierCode(param.getSupplierCode());
userSupplier.setQueryAddress(param.getAddress()); userSupplier.setQueryAddress(param.getAddress());
userSupplier.setQueryValue(param.getSearchValue()); userSupplier.setQueryValue(param.getSearchValue());
userSupplier.setLocalX(param.getLocalX());
userSupplier.setLocalY(param.getLocalY());
//lqw.ne(HisUserSupplier::getSupplierId,0);
//PageHelper.startPage(param.getPageNum(),param.getPageSize()); //PageHelper.startPage(param.getPageNum(),param.getPageSize());
PageUtil.startPage();
List<HisUserSupplier> list = hisUserSupplierMapper.selectHisUserSupplierAddressList(userSupplier);
//List<BmsSupplier> supplierList = list.stream().map(HisUserSupplier::toSupplier).collect(Collectors.toList()); List<HisUserSupplierAddressVo> list = hisUserSupplierMapper.selectHisUserSupplierAddressList(userSupplier);
return R.byPageHelperList(list); List<String> supplierIds = list.stream().map(HisUserSupplierAddressVo::getSupplierId).collect(Collectors.toList());
List<BmsSupplier> supplierList = bmsSupplierService.listByIds(supplierIds);
List<BmsSupplier> supplierResultList = new ArrayList<>();
for (HisUserSupplierAddressVo addressVo : list) {
for (BmsSupplier supplier : supplierList) {
if(addressVo.getSupplierId().equals(supplier.getId())){
BmsSupplierVisitAddress visitAddress = bmsSupplierVisitAddressService.getById(addressVo.getAddressId());
supplier.setVisitAddressInfo(visitAddress);
supplier.setVisitDistance(addressVo.getDistance());
supplierResultList.add(supplier);
break;
}
}
}
return R.byPageHelperList(list,supplierResultList);
} }
/** /**
@ -99,6 +113,11 @@ public class BmsSupplierVisitAddressController {
LambdaQueryWrapper<BmsSupplierVisitAddress> lqw = new LambdaQueryWrapper<>(param); LambdaQueryWrapper<BmsSupplierVisitAddress> lqw = new LambdaQueryWrapper<>(param);
PageUtil.startPage(); PageUtil.startPage();
List<BmsSupplierVisitAddress> list = bmsSupplierVisitAddressService.list(lqw); List<BmsSupplierVisitAddress> list = bmsSupplierVisitAddressService.list(lqw);
for (BmsSupplierVisitAddress visitAddress : list) {
BmsSupplier supplier = bmsSupplierService.getById(visitAddress.getSupplierId());
visitAddress.setSupplierName(supplier.getName());
visitAddress.setSupplierCode(supplier.getCode());
}
return R.byPageHelperList(list); return R.byPageHelperList(list);
} }

7
src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierVisitTypeController.java

@ -9,6 +9,8 @@ import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.PageUtil; import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.StringUtils; import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.bms.entity.BmsSupplierVisitForm;
import com.qs.serve.modules.bms.service.BmsSupplierVisitFormService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
@ -32,6 +34,7 @@ import java.util.List;
public class BmsSupplierVisitTypeController { public class BmsSupplierVisitTypeController {
private BmsSupplierVisitTypeService bmsSupplierVisitTypeService; private BmsSupplierVisitTypeService bmsSupplierVisitTypeService;
private BmsSupplierVisitFormService bmsSupplierVisitFormService;
/** /**
* 列表 * 列表
@ -71,6 +74,10 @@ public class BmsSupplierVisitTypeController {
@PreAuthorize("hasRole('bms:supplierVisitType:query')") @PreAuthorize("hasRole('bms:supplierVisitType:query')")
public R<BmsSupplierVisitType> getById(@PathVariable("id") String id){ public R<BmsSupplierVisitType> getById(@PathVariable("id") String id){
BmsSupplierVisitType bmsSupplierVisitType = bmsSupplierVisitTypeService.getById(id); BmsSupplierVisitType bmsSupplierVisitType = bmsSupplierVisitTypeService.getById(id);
if(bmsSupplierVisitType.getTypeFormId()!=null){
Object info = bmsSupplierVisitFormService.getById(bmsSupplierVisitType.getTypeFormId());
bmsSupplierVisitType.setFormInfo(info);
}
return R.ok(bmsSupplierVisitType); return R.ok(bmsSupplierVisitType);
} }

9
src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java

@ -238,6 +238,15 @@ public class BmsSupplier implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private Integer pageSize; private Integer pageSize;
@TableField(exist = false)
private Object visitAddressInfo;
/**
* 距离
*/
@TableField(exist = false)
private Double visitDistance;
public List<String> listBizRegionIds(){ public List<String> listBizRegionIds(){
List<String> list = new ArrayList<>(); List<String> list = new ArrayList<>();
list.add(this.getRegion2First()); list.add(this.getRegion2First());

7
src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierVisitAddress.java

@ -40,6 +40,8 @@ public class BmsSupplierVisitAddress implements Serializable {
@Length(max = 255,message = "详细地址长度不能超过255字") @Length(max = 255,message = "详细地址长度不能超过255字")
private String addressDetail; private String addressDetail;
private String localAddress;
/** 纬度 */ /** 纬度 */
@Length(max = 255,message = "纬度长度不能超过255字") @Length(max = 255,message = "纬度长度不能超过255字")
private String localX; private String localX;
@ -82,6 +84,11 @@ public class BmsSupplierVisitAddress implements Serializable {
@TableField(fill = FieldFill.UPDATE) @TableField(fill = FieldFill.UPDATE)
private String updateBy; private String updateBy;
@TableField(exist = false)
private String supplierName;
@TableField(exist = false)
private String supplierCode;
public static BmsSupplierVisitAddress toNewObject(BmsSupplierVisitAddress source){ public static BmsSupplierVisitAddress toNewObject(BmsSupplierVisitAddress source){
BmsSupplierVisitAddress supplierVisitAddress = new BmsSupplierVisitAddress(); BmsSupplierVisitAddress supplierVisitAddress = new BmsSupplierVisitAddress();

1
src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierVisitForm.java

@ -46,7 +46,6 @@ public class BmsSupplierVisitForm implements Serializable {
/** 表单json */ /** 表单json */
@NotBlank(message = "表单json不能为空") @NotBlank(message = "表单json不能为空")
@Length(max = 0,message = "表单json长度不能超过0字")
private String formContext; private String formContext;
/** 表单版本 */ /** 表单版本 */

5
src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierVisitType.java

@ -75,6 +75,11 @@ public class BmsSupplierVisitType implements Serializable {
@TableField(fill = FieldFill.UPDATE) @TableField(fill = FieldFill.UPDATE)
private String updateBy; private String updateBy;
/**
* 表单信息
*/
@TableField(exist = false)
private Object formInfo;
public static BmsSupplierVisitType toNewObject(BmsSupplierVisitType source){ public static BmsSupplierVisitType toNewObject(BmsSupplierVisitType source){
BmsSupplierVisitType supplierVisitType = new BmsSupplierVisitType(); BmsSupplierVisitType supplierVisitType = new BmsSupplierVisitType();

12
src/main/java/com/qs/serve/modules/bms/entity/so/BmsSupplierVisitSo.java

@ -3,6 +3,8 @@ package com.qs.serve.modules.bms.entity.so;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotNull;
/** /**
* @author YenHex * @author YenHex
* @since 2023/3/28 * @since 2023/3/28
@ -30,11 +32,17 @@ public class BmsSupplierVisitSo {
*/ */
String searchValue; String searchValue;
@NotNull
Double localY;
@NotNull
Double localX;
/** 翻页参数 */ /** 翻页参数 */
@TableField(exist = false)
private Integer pageNum; private Integer pageNum;
private Integer pageRow;
/** 翻页参数2 */ /** 翻页参数2 */
@TableField(exist = false)
private Integer pageSize; private Integer pageSize;
} }

6
src/main/java/com/qs/serve/modules/his/entity/HisUserSupplier.java

@ -114,6 +114,12 @@ public class HisUserSupplier implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private String addressDetail; private String addressDetail;
@TableField(exist = false)
Double localY;
@TableField(exist = false)
Double localX;
public BmsSupplier toSupplier(){ public BmsSupplier toSupplier(){
BmsSupplier bmsSupplier = new BmsSupplier(); BmsSupplier bmsSupplier = new BmsSupplier();
bmsSupplier.setId(this.getSupplierId()+""); bmsSupplier.setId(this.getSupplierId()+"");

18
src/main/java/com/qs/serve/modules/his/entity/dto/HisUserSupplierAddressVo.java

@ -0,0 +1,18 @@
package com.qs.serve.modules.his.entity.dto;
import lombok.Data;
/**
* @author YenHex
* @since 2023/3/29
*/
@Data
public class HisUserSupplierAddressVo {
String supplierId;
Long addressId;
Double distance;
}

4
src/main/java/com/qs/serve/modules/his/mapper/HisUserSupplierMapper.java

@ -1,7 +1,9 @@
package com.qs.serve.modules.his.mapper; package com.qs.serve.modules.his.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.bms.entity.so.BmsSupplierVisitSo;
import com.qs.serve.modules.his.entity.HisUserSupplier; import com.qs.serve.modules.his.entity.HisUserSupplier;
import com.qs.serve.modules.his.entity.dto.HisUserSupplierAddressVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
/** /**
@ -11,7 +13,7 @@ import java.util.List;
*/ */
public interface HisUserSupplierMapper extends BaseMapper<HisUserSupplier> { public interface HisUserSupplierMapper extends BaseMapper<HisUserSupplier> {
List<HisUserSupplier> selectHisUserSupplierAddressList(@Param("query") HisUserSupplier param); List<HisUserSupplierAddressVo> selectHisUserSupplierAddressList(@Param("query") HisUserSupplier param);
} }

2
src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java

@ -455,7 +455,7 @@ public class TbsBudgetApplicationService {
return; return;
} }
List<TbsBudget> budgetList = allBudgetList.stream().filter(obj->allowBudgetIds.contains(obj.getId())).collect(Collectors.toList()); List<TbsBudget> budgetList = allBudgetList.stream().filter(obj->allowBudgetIds.contains(obj.getId())).collect(Collectors.toList());
//PS:排序规则:优先时间条件,其次匹配品牌条件 //PS:排序规则:优先满足时间条件,其次匹配品牌条件
//按品类条件,提取可用预算(列表已按小维度到大维度排列) //按品类条件,提取可用预算(列表已按小维度到大维度排列)
List<TbsBudget> currentItemBudgetList = this.filterMatchGoodsCondition(budgetList, activityCostItem.getTargetLevelPathIds()); List<TbsBudget> currentItemBudgetList = this.filterMatchGoodsCondition(budgetList, activityCostItem.getTargetLevelPathIds());
//关联无条件预算 //关联无条件预算

27
src/main/resources/mapper/his/HisUserSupplierMapper.xml

@ -27,6 +27,12 @@
<result property="addressDetail" column="address_detail"/> <result property="addressDetail" column="address_detail"/>
</resultMap> </resultMap>
<resultMap id="supplierVisitAddressMap" type="com.qs.serve.modules.his.entity.dto.HisUserSupplierAddressVo" >
<result property="supplierId" column="supplier_id"/>
<result property="addressId" column="address_id"/>
<result property="distance" column="distance"/>
</resultMap>
<sql id="hisUserSupplierSql"> <sql id="hisUserSupplierSql">
his_user_supplier.`id`, his_user_supplier.`id`,
his_user_supplier.`user_id`, his_user_supplier.`user_id`,
@ -48,15 +54,17 @@
his_user_supplier.`tenant_id`, his_user_supplier.`tenant_id`,
his_user_supplier.`cost_flag` </sql> his_user_supplier.`cost_flag` </sql>
<select id="selectHisUserSupplierAddressList" parameterType="com.qs.serve.modules.his.entity.HisUserSupplier" resultMap="hisUserSupplierMap"> <select id="selectHisUserSupplierAddressList" parameterType="com.qs.serve.modules.his.entity.HisUserSupplier" resultMap="supplierVisitAddressMap">
SELECT SELECT DISTINCT
his_user_supplier.supplier_id,
bms_supplier_visit_address.id as address_id, bms_supplier_visit_address.id as address_id,
bms_supplier_visit_address.address_detail, st_distance_sphere (
<include refid="hisUserSupplierSql"/> POINT ( bms_supplier_visit_address.local_y, bms_supplier_visit_address.local_x ),
FROM `bms_supplier_visit_address` `bms_supplier_visit_address` POINT ( #{query.localY}, #{query.localX} )) AS distance
left join FROM
`his_user_supplier` `his_user_supplier` `his_user_supplier` `his_user_supplier`
on `his_user_supplier`.`supplier_id` = bms_supplier_visit_address.`supplier_id` LEFT JOIN `bms_supplier_visit_address` `bms_supplier_visit_address`
ON `his_user_supplier`.`supplier_id` = bms_supplier_visit_address.`supplier_id`
<where> <where>
and `his_user_supplier`.`supplier_id` != 0 and `his_user_supplier`.`supplier_id` != 0
<if test="query.id != null"> and `his_user_supplier`.`id` = #{query.id}</if> <if test="query.id != null"> and `his_user_supplier`.`id` = #{query.id}</if>
@ -87,8 +95,11 @@
or `his_user_supplier`.`supplier_code` like concat('%',#{query.queryValue},'%') or `his_user_supplier`.`supplier_code` like concat('%',#{query.queryValue},'%')
) )
</if> </if>
</where> </where>
ORDER BY
distance DESC,
his_user_supplier.supplier_id,
bms_supplier_visit_address.id
</select> </select>
</mapper> </mapper>

Loading…
Cancel
Save