diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCustomerAddressController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCustomerAddressController.java index c5d69dbc3..39fae389a 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCustomerAddressController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCustomerAddressController.java @@ -82,9 +82,9 @@ public class EmisCustomerAddressController extends BaseController @RequestMapping("/setDefaultAddressById") - public AjaxResult setDefaultAddressById(@RequestParam("id") Long id) + public AjaxResult setDefaultAddressById(@RequestParam("id") Long id,String defaultFlag) { - return toAjax(emisCustomerAddressService.setDefaultAddressById(id)); + return toAjax(emisCustomerAddressService.setDefaultAddressById(id,defaultFlag)); } @RequestMapping("/deleteAddressById") diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisCustomerAddress.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisCustomerAddress.java index b7e834941..a15a70a1b 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisCustomerAddress.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisCustomerAddress.java @@ -64,6 +64,8 @@ public class EmisCustomerAddress extends BaseEntity private String blDefaultFlag; /* 排序 */ private Integer orderNum; + /* 使用站点是否默认 */ + private String blSiteDefaultFlag; /* 使用站点名称 */ private String useSite; /* 使用站点代码 */ diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCustomerAddressMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCustomerAddressMapper.java index aae82de82..86ac20476 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCustomerAddressMapper.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCustomerAddressMapper.java @@ -72,8 +72,20 @@ public interface EmisCustomerAddressMapper extends BaseMapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.set("bl_default_flag", "0"); - updateWrapper.eq("bl_default_flag", "1"); - emisCustomerAddressMapper.update(null,updateWrapper); + public int setDefaultAddressById(Long id,String defaultFlag){ + + EmisCustomerAddress oldAddress=emisCustomerAddressMapper.selectEmisCustomerAddressById(id); + + if("1".equals(defaultFlag)){ + + if(oldAddress != null ){ + // 取消对应客户所有默认 + emisCustomerAddressMapper.cancelCustomerDefaultFlag(oldAddress.getCustomerCode()); + } + + // 设置当前为1 + EmisCustomerAddress emisCustomerAddress = new EmisCustomerAddress(); + emisCustomerAddress.setBlDefaultFlag("1"); + emisCustomerAddress.setId(id); + emisCustomerAddress.preUpdate(); + emisCustomerAddressMapper.updateById(emisCustomerAddress); + } + else{ + // 设置当前 + EmisCustomerAddress emisCustomerAddress = new EmisCustomerAddress(); + emisCustomerAddress.setBlDefaultFlag("0"); + emisCustomerAddress.setId(id); + emisCustomerAddress.preUpdate(); + emisCustomerAddressMapper.updateById(emisCustomerAddress); + } + + return 1; - UpdateWrapper updateWrapper2 = new UpdateWrapper<>(); - updateWrapper2.set("bl_default_flag", "1"); - updateWrapper.eq("id", id); - return emisCustomerAddressMapper.update(null,updateWrapper2); } } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisDestinationServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisDestinationServiceImpl.java index 1a2b9f58a..9fd2030dc 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisDestinationServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisDestinationServiceImpl.java @@ -13,7 +13,6 @@ package com.xdadan.erp.emis.service.impl; 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; @@ -81,16 +80,21 @@ public class EmisDestinationServiceImpl implements IEmisDestinationService queryEmisRegion.setRegionCode(province); List regionList= emisRegionMapper.selectEmisRegionList(queryEmisRegion); if(CollectionUtil.isEmpty(regionList)){ + // 如果身份按国家获取第一个区域 - QueryWrapper queryWrapper = new QueryWrapper<>(); + queryEmisRegion = new EmisRegion(); // 按省份获取区域 - queryWrapper.eq("region_type", "1"); - queryWrapper.eq("country_code", country); - queryWrapper.isNotNull("area_id"); - queryWrapper.last("limit 1"); - regionList=emisRegionMapper.selectList(queryWrapper); + queryEmisRegion.setRegionType(1); + queryEmisRegion.setCountryCode(country); + regionList= emisRegionMapper.selectEmisRegionList(queryEmisRegion); if(!CollectionUtil.isEmpty(regionList)){ - areaId = regionList.get(0).getAreaId(); + for (EmisRegion emisRegion:regionList) { + if(emisRegion.getAreaId()!=null){ + areaId = emisRegion.getAreaId(); + break; + } + } + } } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisElectronicPagServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisElectronicPagServiceImpl.java index cf1e44548..615b1f0ff 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisElectronicPagServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisElectronicPagServiceImpl.java @@ -13,7 +13,6 @@ package com.xdadan.erp.emis.service.impl; import java.util.Date; import java.util.List; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.xdadan.erp.common.core.redis.RedissonService; import org.apache.commons.lang3.StringUtils; import org.apache.ibatis.annotations.Param; diff --git a/emis-biz/src/main/resources/mapper/EmisCustomerAddressMapper.xml b/emis-biz/src/main/resources/mapper/EmisCustomerAddressMapper.xml index 481ff52ab..49cc24b5d 100644 --- a/emis-biz/src/main/resources/mapper/EmisCustomerAddressMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisCustomerAddressMapper.xml @@ -24,6 +24,7 @@ + @@ -42,7 +43,7 @@ - select id, user_id, customer_code, short_name, alias, address_type, country, name, phone, province, city, county, town, address, post_code, email, company, bl_default_flag, order_num, use_site, use_site_code, del_flag, create_by, create_time, update_by, update_time, remark, create_site, update_site from emis_customer_address + select id, user_id, customer_code, short_name, alias, address_type, country, name, phone, province, city, county, town, address, post_code, email, company, bl_default_flag, order_num, bl_site_default_flag, use_site, use_site_code, del_flag, create_by, create_time, update_by, update_time, remark, create_site, update_site from emis_customer_address @@ -60,10 +61,10 @@ del_flag = '0' and id = #{id} and user_id = #{userId} - and customer_code =#{customerCode} + and customer_code = #{customerCode} and short_name like concat('%', #{shortName}, '%') and alias like concat('%', #{alias}, '%') - and address_type=#{addressType} + and address_type = #{addressType} and country like concat('%', #{country}, '%') and name like concat('%', #{name}, '%') and phone like concat('%', #{phone}, '%') @@ -75,9 +76,10 @@ and post_code like concat('%', #{postCode}, '%') and email like concat('%', #{email}, '%') and company like concat('%', #{company}, '%') - and bl_default_flag like concat('%', #{blDefaultFlag}, '%') - and order_num like concat('%', #{orderNum}, '%') - and use_site like concat('%', #{useSite}, '%') + and bl_default_flag = #{blDefaultFlag} + and order_num like concat('%', #{orderNum}, '%') + and bl_site_default_flag like concat('%', #{blSiteDefaultFlag}, '%') + and use_site = #{useSite} and use_site_code=#{useSiteCode} and del_flag like concat('%', #{delFlag}, '%') and create_by like concat('%', #{createBy}, '%') @@ -97,13 +99,11 @@ - - insert into emis_customer_address @@ -125,7 +125,8 @@ email, company, bl_default_flag, - order_num, + order_num, + bl_site_default_flag, use_site, use_site_code, del_flag, @@ -156,7 +157,8 @@ #{email}, #{company}, #{blDefaultFlag}, - #{orderNum}, + #{orderNum}, + #{blSiteDefaultFlag}, #{useSite}, #{useSiteCode}, #{delFlag}, @@ -190,7 +192,8 @@ email = #{email}, company = #{company}, bl_default_flag = #{blDefaultFlag}, - order_num = #{orderNum}, + order_num = #{orderNum}, + bl_site_default_flag = #{blSiteDefaultFlag}, use_site = #{useSite}, use_site_code = #{useSiteCode}, del_flag = #{delFlag}, @@ -215,4 +218,13 @@ #{id} + + + update emis_customer_address set bl_default_flag = '0' where use_site_code = #{useSiteCode} + + + + update emis_customer_address set bl_site_default_flag = '0' where customer_code = #{customerCode} + + \ No newline at end of file