Commit 6715e08a by zhiwj

导购门店域添加

parent 62caf571
......@@ -20,6 +20,11 @@ public class ClerkTmpDTO implements Serializable {
*/
private Integer enterpriseId;
private String regionId;
/**
* 门店域
*/
private String regionName;
/**
* 导购id
*/
......@@ -210,4 +215,20 @@ public class ClerkTmpDTO implements Serializable {
public void setClerkType(String clerkType) {
this.clerkType = clerkType;
}
public String getRegionId() {
return regionId;
}
public void setRegionId(String regionId) {
this.regionId = regionId;
}
public String getRegionName() {
return regionName;
}
public void setRegionName(String regionName) {
this.regionName = regionName;
}
}
......@@ -191,7 +191,7 @@ public interface StoreApiService {
* @return com.gic.api.base.commons.ServiceResponse<com.gic.store.dto.StoreDTO>
* @throws
*/
ServiceResponse<StoreDTO> getByStoreNameAndStoreCode(Integer enterpriseId, String storeName, String storeCode);
ServiceResponse<StoreDTO> getByStoreNameAndStoreCode(Integer enterpriseId, Integer regionId, String storeName, String storeCode);
/**
* @Title: addStoreToIndex
......
......@@ -81,7 +81,7 @@ public interface TabStoreInfoMapper {
int updateStoreBrandBystoreInfoIds(@Param("enterpriseId") Integer enterpriseId, @Param("value") String value, @Param("storeInfoIdList") List<Integer> storeInfoIdList);
StoreDTO getByStoreNameAndStoreCode(@Param("enterpriseId") Integer enterpriseId,@Param("storeName") String storeName, @Param("storeCode") String storeCode);
StoreDTO getByStoreNameAndStoreCode(@Param("enterpriseId") Integer enterpriseId, @Param("regionId") Integer regionId, @Param("storeName") String storeName, @Param("storeCode") String storeCode);
List<Integer> listAllstoreInfoId(@Param("enterpriseId") Integer enterpriseId);
......
......@@ -17,7 +17,12 @@ public class TabClerkTmp {
private Integer enterpriseId;
/**
* 导购id
* 门店域
*/
private String regionName;
/**
* 导购name
*/
private String clerkName;
......@@ -102,6 +107,14 @@ public class TabClerkTmp {
this.enterpriseId = enterpriseId;
}
public String getRegionName() {
return regionName;
}
public void setRegionName(String regionName) {
this.regionName = regionName;
}
public String getClerkName() {
return clerkName;
}
......
......@@ -82,7 +82,7 @@ public interface StoreService {
int bulkUpdateStoreGroup(String storeInfoIds, Integer enterpriseId, Integer value);
StoreDTO getByStoreNameAndStoreCode(Integer enterpriseId, String storeName, String storeCode);
StoreDTO getByStoreNameAndStoreCode(Integer enterpriseId, Integer regionId, String storeName, String storeCode);
List<Integer> listAllStoreId(Integer enterpriseId);
......
......@@ -379,8 +379,8 @@ public class StoreServiceImpl implements StoreService {
}
@Override
public StoreDTO getByStoreNameAndStoreCode(Integer enterpriseId, String storeName, String storeCode) {
return this.tabStoreInfoMapper.getByStoreNameAndStoreCode(enterpriseId, storeName, storeCode);
public StoreDTO getByStoreNameAndStoreCode(Integer enterpriseId, Integer regionId, String storeName, String storeCode) {
return this.tabStoreInfoMapper.getByStoreNameAndStoreCode(enterpriseId, regionId, storeName, storeCode);
}
@Override
......
......@@ -6,6 +6,7 @@ import com.gic.store.constant.*;
import com.gic.store.dto.ClerkDTO;
import com.gic.store.dto.ClerkTmpDTO;
import com.gic.store.dto.StoreDTO;
import com.gic.store.dto.StoreRegionDTO;
import com.gic.store.entity.TabClerkPosition;
import com.gic.store.entity.TabClerkTmp;
import com.gic.store.service.*;
......@@ -39,6 +40,8 @@ public class ClerkTaskServiceImpl extends AbstractTaskAllocationOperation implem
private StoreService storeService;
@Autowired
private ClerkPositionService clerkPositionService;
@Autowired
private StoreRegionService storeRegionService;
@Override
public String importDataToClerk(Integer enterpriseId, String userId, String uuId) {
......@@ -85,7 +88,15 @@ public class ClerkTaskServiceImpl extends AbstractTaskAllocationOperation implem
}
private void importDataToStore(ClerkTmpDTO t) {
StoreDTO store = storeService.getByStoreNameAndStoreCode(t.getEnterpriseId(), t.getStoreName(), t.getStoreCode());
StoreRegionDTO region = storeRegionService.getStoreRegionByRegionName(t.getEnterpriseId(), t.getRegionName());
if (region == null) {
t.setErrorMessage("对应的门店域不存在");
clerkImportService.updateData(t);
return;
}
StoreDTO store = storeService.getByStoreNameAndStoreCode(t.getEnterpriseId(), region.getRegionId(), t.getStoreName(), t.getStoreCode());
if (store == null) {
t.setErrorMessage("对应的门店不存在");
clerkImportService.updateData(t);
......@@ -111,7 +122,6 @@ public class ClerkTaskServiceImpl extends AbstractTaskAllocationOperation implem
clerkDTO.setClerkGender(GenderEnum.parseMessage(t.getClerkGender().trim()).getCode());
clerkDTO.setNationcode(t.getNationcode().trim());
clerkDTO.setPhoneNumber(t.getPhoneNumber().trim());
clerkDTO.setPositionId(position.getClerkPositionId());
clerkDTO.setPositionName(t.getPositionName().trim());
......
......@@ -1298,8 +1298,8 @@ public class StoreApiServiceImpl implements StoreApiService {
// }
@Override
public ServiceResponse<StoreDTO> getByStoreNameAndStoreCode(Integer enterpriseId, String storeName, String storeCode) {
StoreDTO store = this.storeService.getByStoreNameAndStoreCode(enterpriseId, storeName, storeCode);
public ServiceResponse<StoreDTO> getByStoreNameAndStoreCode(Integer enterpriseId, Integer regionId, String storeName, String storeCode) {
StoreDTO store = this.storeService.getByStoreNameAndStoreCode(enterpriseId, regionId, storeName, storeCode);
if (store != null) {
return ServiceResponse.success(EntityUtil.changeEntityByOrika(StoreDTO.class, store));
} else {
......
......@@ -4,6 +4,7 @@
<resultMap id="BaseResultMap" type="com.gic.store.entity.TabClerkTmp">
<id column="clerk_tmp_id" jdbcType="INTEGER" property="clerkTmpId" />
<result column="enterprise_id" jdbcType="INTEGER" property="enterpriseId" />
<result column="region_name" jdbcType="VARCHAR" property="regionName" />
<result column="clerk_name" jdbcType="VARCHAR" property="clerkName" />
<result column="clerk_code" jdbcType="VARCHAR" property="clerkCode" />
<result column="store_name" jdbcType="VARCHAR" property="storeName" />
......@@ -20,9 +21,9 @@
<result column="operator_name" jdbcType="VARCHAR" property="operatorName" />
</resultMap>
<sql id="Base_Column_List">
clerk_tmp_id, enterprise_id, clerk_name, clerk_code, store_name, store_code, position_name,
clerk_gender, nationcode, phone_number, create_time, update_time, error_message,
sign_key, operator_id, operator_name
clerk_tmp_id, enterprise_id, region_name, clerk_name, clerk_code, store_name, store_code,
position_name, clerk_gender, nationcode, phone_number, create_time, update_time,
error_message, sign_key, operator_id, operator_name
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
......@@ -35,18 +36,18 @@
where clerk_tmp_id = #{clerkTmpId,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="com.gic.store.entity.TabClerkTmp">
insert into tab_clerk_tmp (clerk_tmp_id, enterprise_id, clerk_name,
clerk_code, store_name, store_code,
position_name, clerk_gender, nationcode,
phone_number, create_time, update_time,
error_message, sign_key, operator_id,
operator_name)
values (#{clerkTmpId,jdbcType=INTEGER}, #{enterpriseId,jdbcType=INTEGER}, #{clerkName,jdbcType=VARCHAR},
#{clerkCode,jdbcType=VARCHAR}, #{storeName,jdbcType=VARCHAR}, #{storeCode,jdbcType=VARCHAR},
#{positionName,jdbcType=VARCHAR}, #{clerkGender,jdbcType=VARCHAR}, #{nationcode,jdbcType=VARCHAR},
#{phoneNumber,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP},
#{errorMessage,jdbcType=VARCHAR}, #{signKey,jdbcType=VARCHAR}, #{operatorId,jdbcType=INTEGER},
#{operatorName,jdbcType=VARCHAR})
insert into tab_clerk_tmp (clerk_tmp_id, enterprise_id, region_name,
clerk_name, clerk_code, store_name,
store_code, position_name, clerk_gender,
nationcode, phone_number, create_time,
update_time, error_message, sign_key,
operator_id, operator_name)
values (#{clerkTmpId,jdbcType=INTEGER}, #{enterpriseId,jdbcType=INTEGER}, #{regionName,jdbcType=VARCHAR},
#{clerkName,jdbcType=VARCHAR}, #{clerkCode,jdbcType=VARCHAR}, #{storeName,jdbcType=VARCHAR},
#{storeCode,jdbcType=VARCHAR}, #{positionName,jdbcType=VARCHAR}, #{clerkGender,jdbcType=VARCHAR},
#{nationcode,jdbcType=VARCHAR}, #{phoneNumber,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP}, #{errorMessage,jdbcType=VARCHAR}, #{signKey,jdbcType=VARCHAR},
#{operatorId,jdbcType=INTEGER}, #{operatorName,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="com.gic.store.entity.TabClerkTmp">
insert into tab_clerk_tmp
......@@ -57,6 +58,9 @@
<if test="enterpriseId != null">
enterprise_id,
</if>
<if test="regionName != null">
region_name,
</if>
<if test="clerkName != null">
clerk_name,
</if>
......@@ -107,6 +111,9 @@
<if test="enterpriseId != null">
#{enterpriseId,jdbcType=INTEGER},
</if>
<if test="regionName != null">
#{regionName,jdbcType=VARCHAR},
</if>
<if test="clerkName != null">
#{clerkName,jdbcType=VARCHAR},
</if>
......@@ -157,6 +164,9 @@
<if test="enterpriseId != null">
enterprise_id = #{enterpriseId,jdbcType=INTEGER},
</if>
<if test="regionName != null">
region_name = #{regionName,jdbcType=VARCHAR},
</if>
<if test="clerkName != null">
clerk_name = #{clerkName,jdbcType=VARCHAR},
</if>
......@@ -205,6 +215,7 @@
<update id="updateByPrimaryKey" parameterType="com.gic.store.entity.TabClerkTmp">
update tab_clerk_tmp
set enterprise_id = #{enterpriseId,jdbcType=INTEGER},
region_name = #{regionName,jdbcType=VARCHAR},
clerk_name = #{clerkName,jdbcType=VARCHAR},
clerk_code = #{clerkCode,jdbcType=VARCHAR},
store_name = #{storeName,jdbcType=VARCHAR},
......
......@@ -476,6 +476,7 @@
</include>
from tab_store_info t1, tab_store t2
where t2.enterprise_id = #{enterpriseId} and t1.store_info_id=t2.store_info_id
and t1.region_id = #{regionId}
and t1.store_name = #{storeName}
and t1.store_code = #{storeCode}
</select>
......
......@@ -10,14 +10,8 @@ import com.gic.store.constant.Constants;
import com.gic.store.constant.GenderEnum;
import com.gic.store.constant.StoreImportEnum;
import com.gic.store.constant.StoreOwnTypeEnum;
import com.gic.store.dto.ClerkPositionDTO;
import com.gic.store.dto.ClerkTmpDTO;
import com.gic.store.dto.GicDictDTO;
import com.gic.store.dto.StoreDTO;
import com.gic.store.service.ClerkImportApiService;
import com.gic.store.service.ClerkPositionApiService;
import com.gic.store.service.DictApiService;
import com.gic.store.service.StoreApiService;
import com.gic.store.dto.*;
import com.gic.store.service.*;
import com.gic.store.web.qo.PageQO;
import com.gic.store.web.utils.ExcelUtils;
import org.apache.commons.collections.CollectionUtils;
......@@ -56,6 +50,8 @@ public class ClerkImportController {
private DictApiService dictApiService;
@Autowired
private ClerkPositionApiService clerkPositionApiService;
@Autowired
private StoreRegionApiService storeRegionApiService;
/**
* 下载模板
......@@ -125,7 +121,7 @@ public class ClerkImportController {
try {
Workbook workbook = ExcelUtils.getWorkbookFromUpload(file.getInputStream(), fileName);
List<Map<Integer, String>> data = ExcelUtils.readExcel(6, fileName.substring(fileName.lastIndexOf(".") + 1), workbook, null);
if (CollectionUtils.isNotEmpty(data) && data.get(0).size() != 9) {
if (CollectionUtils.isNotEmpty(data) && data.get(0).size() != 10) {
return RestResponse.failure(ErrorCode.OPERATION_FAILED.getCode(), "总列数与模板不一致");
}
clerkImportApiService.delClerkTmp(enterpriseId);
......@@ -292,8 +288,33 @@ public class ClerkImportController {
validate = false;
}
}
// 门店域
String regionName = row.get(3);
if (validate) {
if (StringUtils.isBlank(regionName)) {
bean.setErrorMessage("门店域不能为空");
validate = false;
}
}
regionName = regionName.trim();
bean.setRegionName(regionName);
if (validate) {
if (this.lengthValidate(regionName, 20)) {
bean.setErrorMessage("门店域超过20个字");
validate = false;
}
}
StoreRegionDTO regionDTO = storeRegionApiService.getStoreRegionByRegionName(enterpriseId, regionName).getResult();
if (validate) {
if (regionDTO == null) {
bean.setErrorMessage("门店域不存在");
validate = false;
}
}
// 验证门店name
String storeName = row.get(3);
String storeName = row.get(4);
if (validate) {
if (StringUtils.isBlank(storeName)) {
bean.setErrorMessage("门店名不能为空");
......@@ -309,7 +330,7 @@ public class ClerkImportController {
}
}
// 验证门店code
String storeCode = row.get(4);
String storeCode = row.get(5);
if (validate) {
if (StringUtils.isBlank(storeCode)) {
bean.setErrorMessage("门店代码不能为空");
......@@ -325,21 +346,18 @@ public class ClerkImportController {
}
}
// 验证门店是否存在
StoreDTO storeDTO = storeApiService.getByStoreNameAndStoreCode(enterpriseId, storeName, storeCode).getResult();
if (validate) {
StoreDTO storeDTO = storeApiService.getByStoreNameAndStoreCode(enterpriseId, regionDTO.getRegionId(), storeName, storeCode).getResult();
if (storeDTO == null) {
bean.setErrorMessage("门店不存在");
validate = false;
}
}
if (validate) {
if (StoreOwnTypeEnum.OWNER.getCode() != storeDTO.getOwnType()) {
} else if (StoreOwnTypeEnum.OWNER.getCode() != storeDTO.getOwnType()) {
bean.setErrorMessage("不能在被授权门店下导入导购");
validate = false;
}
}
// 验证岗位
String positionName = row.get(5);
String positionName = row.get(6);
if (validate) {
if (StringUtils.isNotBlank(positionName) && this.lengthValidate(storeCode, 20)) {
bean.setErrorMessage("岗位超过20个字");
......@@ -360,7 +378,7 @@ public class ClerkImportController {
bean.setPositionName(positionName);
// 验证性别
String gender = row.get(6);
String gender = row.get(7);
bean.setClerkGender(gender);
if (validate) {
if (StringUtils.isBlank(gender)) {
......@@ -375,7 +393,7 @@ public class ClerkImportController {
}
}
// 验证区号
String nationcode = row.get(7);
String nationcode = row.get(8);
if (StringUtils.isBlank(nationcode)) {
nationcode = "+86";
}
......@@ -397,7 +415,7 @@ public class ClerkImportController {
}
// 验证手机号
String phoneNumber = row.get(8);
String phoneNumber = row.get(9);
bean.setPhoneNumber(phoneNumber);
if (validate) {
if (StringUtils.isBlank(phoneNumber)) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment