Commit f9ac815f by 陶光胜

Merge branch 'developer' of http://115.159.76.241/base_platform_enterprise/gic-store into developer

parents eedc7ccd 4fef0330
......@@ -19,6 +19,7 @@ public enum ImportClerkBatchResultEnum {
D2("D2", "导购属性", "标记不导入", "性别", "导购性别错误"),
D3("D3", "导购属性", "标记不导入", "手机号", "导购手机号重复"),
D4("D4", "导购属性", "标记不导入", "手机号", "导购手机号为空"),
D5("D5", "导购属性", "标记不导入", "店长", "是否店长字段为空"),
E1("E1", "商户信息", "标记不导入", "商户", "商户ID非法");
/**
......
......@@ -82,6 +82,7 @@ public class ClerkDTO implements Serializable {
private String operatorName;
private String storeName;
private String haobanStatusName;
private String clerkTypeName;
public Integer getClerkId() {
......@@ -235,4 +236,12 @@ public class ClerkDTO implements Serializable {
public void setHeadImg(String headImg) {
this.headImg = headImg;
}
public void setClerkTypeName(String clerkTypeName) {
this.clerkTypeName = clerkTypeName;
}
public String getClerkTypeName() {
return clerkTypeName;
}
}
......@@ -18,6 +18,7 @@ public class ClerkSearchDTO implements Serializable {
private String storeIds;
private Integer currentPage=1;
private Integer pageSize=20;
private Integer clerkType;
private String fileName;
private Integer excelExtension;
......@@ -112,4 +113,12 @@ public class ClerkSearchDTO implements Serializable {
public void setDataType(Integer dataType) {
this.dataType = dataType;
}
public Integer getClerkType() {
return clerkType;
}
public void setClerkType(Integer clerkType) {
this.clerkType = clerkType;
}
}
......@@ -81,6 +81,7 @@ public class ClerkTmpDTO implements Serializable {
*
*/
private String operatorName;
private String clerkType;
public Integer getClerkTmpId() {
return clerkTmpId;
......@@ -201,4 +202,12 @@ public class ClerkTmpDTO implements Serializable {
public void setOperatorName(String operatorName) {
this.operatorName = operatorName;
}
public String getClerkType() {
return clerkType;
}
public void setClerkType(String clerkType) {
this.clerkType = clerkType;
}
}
......@@ -62,6 +62,7 @@ public class ProcessBatchClerkDTO implements Serializable{
*/
private Integer regionId;
private Integer clerkType;
/********************操作日志**********************/
/**
* 事由 1:web后台操作 2:外部触发 3:订单同步 4:会员同步 5:系统配置触发 6 etl同步
......@@ -192,4 +193,12 @@ public class ProcessBatchClerkDTO implements Serializable{
public void setOperatorName(String operatorName) {
this.operatorName = operatorName;
}
public Integer getClerkType() {
return clerkType;
}
public void setClerkType(Integer clerkType) {
this.clerkType = clerkType;
}
}
......@@ -157,4 +157,13 @@ public interface ClerkApiService {
*/
ServiceResponse<List<ClerkDTO>> listClerkByStoreBrand(Integer enterpriseId, Integer storeBrandId, String clerkName);
/**
* @Title: updateClerkLeader
* @Description:
* @author zhiwj
* @param clerkId
* @return com.gic.api.base.commons.ServiceResponse
* @throws
*/
ServiceResponse updateClerkLeader(Integer clerkId);
}
......@@ -58,7 +58,7 @@ public interface TabClerkMapper {
Integer countByPhoneNumber(@Param("storeId") Integer storeId, @Param("phoneNumber") String phoneNumber, @Param("clerkId") Integer clerkId);
List<TabClerk> listClerkByStoreInfoId(@Param("enterpriseId") Integer enterpriseId, @Param("storeClerkIds") List<Integer> storeClerkIds, @Param("storeInfoIds") String storeInfoIds, @Param("search") String search);
List<TabClerk> listClerkByStoreInfoId(@Param("enterpriseId") Integer enterpriseId, @Param("storeClerkIds") List<Integer> storeClerkIds, @Param("storeInfoIds") String storeInfoIds, @Param("search") String search, @Param("clerkType") Integer clerkType);
Integer getTotalClerk(@Param("enterpriseId") Integer enterpriseId, @Param("storeClerkIds") List<Integer> storeClerkIds, @Param("search") String search);
......@@ -71,4 +71,6 @@ public interface TabClerkMapper {
List<TabClerk> listClerkByIds(@Param("enterpriseId") Integer enterpriseId, @Param("ids") List<Integer> clerkIdList);
TabClerk getClerkByCode(@Param("enterpriseId") Integer enterpriseId, @Param("clerkCode") String clerkCode, @Param("storeInfoId") Integer storeInfoId);
TabClerk getClerkLeaderByStoreInfoId(@Param("enterpriseId") Integer enterpriseId, @Param("storeInfoId") Integer storeInfoId);
}
\ No newline at end of file
......@@ -57,6 +57,11 @@ public class TabClerkTmp {
private String phoneNumber;
/**
* 是否店长
*/
private String clerkType;
/**
*
*/
private Date createTime;
......@@ -166,6 +171,14 @@ public class TabClerkTmp {
this.phoneNumber = phoneNumber;
}
public String getClerkType() {
return clerkType;
}
public void setClerkType(String clerkType) {
this.clerkType = clerkType;
}
public Date getCreateTime() {
return createTime;
}
......
......@@ -14,10 +14,10 @@ import java.util.List;
public interface ClerkService {
/**
* @Title: isRepeatByClerkCode
* @Description: 导购关联主键是否重复
* @Description: 导购代码是否重复
* @author zhiwj
* @param storeInfoId 门店id
* @param clerkCode 导购关联主键
* @param clerkCode 导购代码
* @param clerkId 导购id 如果传了,会剔除这个id去判断
* @return boolean true:重复, false:不重复
* @throws
......@@ -69,6 +69,8 @@ public interface ClerkService {
*/
Integer update(ClerkDTO clerkDTO);
Integer update(TabClerk clerk);
/**
* @Title: listClerkByStoreInfoId
* @Description: 查询下导购列表
......@@ -83,6 +85,8 @@ public interface ClerkService {
List<TabClerk> listClerkByStoreInfoId(Integer enterpriseId, String storeInfoIds, String search);
List<TabClerk> listClerkByStoreInfoId(Integer enterpriseId, List<Integer> storeInfoIds, String search, Integer clerkType);
Integer getTotalClerk(Integer enterpriseId, List<Integer> storeInfoIds, String search);
/**
* @Title: getStoreInfoIdsBySearch
......@@ -114,4 +118,7 @@ public interface ClerkService {
List<TabClerk> listClerkByStoreInfoId(Integer enterpriseId, String search);
TabClerk getClerkByCode(Integer enterpriseId, String clerkCode, Integer storeInfoId);
TabClerk getClerkLeaderByStoreInfoId(Integer enterpriseId, Integer storeInfoId);
}
......@@ -46,7 +46,7 @@ public interface StoreService {
Integer countByBrandId(Integer brandId);
/**
* 查询如企业下门店关联主键的个数
* 查询如企业下门店代码的个数
* @param enterpriseId
* @param storeCode
* @param storeId 如果id不为null, 会查询storeId不为传入参数的数据;如果id为null, 会略过
......
......@@ -83,18 +83,29 @@ public class ClerkServiceImpl implements ClerkService {
tabClerk.setClerkGender(copy.getClerkGender());
tabClerk.setNationcode(copy.getNationcode());
tabClerk.setPhoneNumber(copy.getPhoneNumber());
tabClerk.setClerkType(copy.getClerkType());
// tabClerk.setStatus(StoreEnableOrDisAbleEnum.ENABLE.getCode());
return tabClerkMapper.updateByPrimaryKeySelective(tabClerk);
}
@Override
public Integer update(TabClerk clerk) {
return tabClerkMapper.updateByPrimaryKeySelective(clerk);
}
@Override
public List<TabClerk> listClerkByStoreInfoId(Integer enterpriseId, List<Integer> storeInfoIds, String search) {
return tabClerkMapper.listClerkByStoreInfoId(enterpriseId, storeInfoIds, null, search);
return this.listClerkByStoreInfoId(enterpriseId, storeInfoIds, search, null);
}
@Override
public List<TabClerk> listClerkByStoreInfoId(Integer enterpriseId, String storeInfoIds, String search) {
return tabClerkMapper.listClerkByStoreInfoId(enterpriseId, null, storeInfoIds, search);
return tabClerkMapper.listClerkByStoreInfoId(enterpriseId, null, storeInfoIds, search, null);
}
@Override
public List<TabClerk> listClerkByStoreInfoId(Integer enterpriseId, List<Integer> storeInfoIds, String search, Integer clerkType) {
return tabClerkMapper.listClerkByStoreInfoId(enterpriseId, storeInfoIds, null, search, clerkType);
}
@Override
......@@ -138,7 +149,7 @@ public class ClerkServiceImpl implements ClerkService {
@Override
public List<TabClerk> listClerkByStoreInfoId(Integer enterpriseId, String search) {
return this.tabClerkMapper.listClerkByStoreInfoId(enterpriseId, null, null, search);
return this.tabClerkMapper.listClerkByStoreInfoId(enterpriseId, null, null, search, null);
}
@Override
......@@ -146,4 +157,9 @@ public class ClerkServiceImpl implements ClerkService {
return tabClerkMapper.getClerkByCode(enterpriseId, clerkCode, storeInfoId);
}
@Override
public TabClerk getClerkLeaderByStoreInfoId(Integer enterpriseId, Integer storeInfoId) {
return tabClerkMapper.getClerkLeaderByStoreInfoId(enterpriseId, storeInfoId);
}
}
......@@ -63,7 +63,7 @@ public class ClerkApiServiceImpl implements ClerkApiService {
// 校验参数
if (clerkService.isRepeatByClerkCode(clerkDTO.getStoreInfoId(), clerkDTO.getClerkCode(),
clerkDTO.getClerkId())) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "导购关联主键重复");
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店下导购代码重复");
}
if (StringUtils.isNotBlank(clerkDTO.getPhoneNumber())) {
String nationcode = clerkDTO.getNationcode();
......@@ -78,18 +78,24 @@ public class ClerkApiServiceImpl implements ClerkApiService {
if (clerkService.isRepeatByPhoneNumber(clerkDTO.getStoreInfoId(), clerkDTO.getPhoneNumber(),
clerkDTO.getClerkId(), clerkDTO.getNationcode())) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "手机号重复");
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店下导购手机号重复");
}
}
if (clerkService.isRepeatByClerkName(clerkDTO.getStoreInfoId(), clerkDTO.getClerkName(),
clerkDTO.getClerkId())) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "导购名称重复");
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店下导购名称重复");
}
// 店长逻辑
// 如果门店下已经存在有导购是店长, 并且当前导购是店长 则做替换
// 如果门店下没有导购是店长,将当前导购设置成店长
TabClerk clerkLeader = clerkService.getClerkLeaderByStoreInfoId(clerkDTO.getEnterpriseId(), clerkDTO.getStoreInfoId());
if (clerkLeader != null && Integer.valueOf(1).equals(clerkDTO.getClerkType())) {
clerkLeader.setClerkType(0);
clerkService.update(clerkLeader);
clerkDTO.setClerkType(1);
} else {
clerkDTO.setClerkType(1);
}
if (clerkDTO.getClerkId() == null) {
// Integer saveClerkLogBySaveClerk(Integer reason, Integer enterpriseId, Integer clerkId, String remark, Integer operatorId, String operatorName);
......@@ -266,7 +272,15 @@ public class ClerkApiServiceImpl implements ClerkApiService {
storeInfoIds.add(store.getStoreInfoId());
}
List<TabClerk> clerkList = clerkService.listClerkByStoreInfoId(enterpriseId, storeInfoIds,
clerkSearchDTO.getSearch());
clerkSearchDTO.getSearch(), clerkSearchDTO.getClerkType());
if (CollectionUtils.isNotEmpty(clerkList)) {
for (TabClerk clerk : clerkList) {
if (Integer.valueOf(1).equals(clerk.getClerkType())) {
clerk.setPositionName("店长");
}
}
}
Map<Integer, List<TabClerk>> storeIdMap = CollectionUtil.group(clerkList, "storeInfoId");
for (ClerkStoreListDTO clerkStoreListDTO : storeClerkDTOList) {
List<TabClerk> tabClerks = storeIdMap.get(clerkStoreListDTO.getStoreInfoId());
......@@ -458,22 +472,28 @@ public class ClerkApiServiceImpl implements ClerkApiService {
if (StringUtils.isBlank(phone)) {
return responseErrorElement(ImportClerkBatchResultEnum.D4);
}
if (clerkInfo.getClerkType() == null) {
return responseErrorElement(ImportClerkBatchResultEnum.D5);
}
if (clerkService.isRepeatByPhoneNumber(storeInfoId, phone, null, nationcode)) {
return responseErrorElement(ImportClerkBatchResultEnum.D3);
}
ClerkDTO clerkDTO = EntityUtil.changeEntityNew(ClerkDTO.class, clerkInfo);
clerkDTO.setStoreInfoId(storeInfoId);
clerkDTO.setStoreName(storeDTO.getStoreName());
Integer id;
ServiceResponse serviceResponse = saveOrUpdate(clerkDTO);
if (!serviceResponse.isSuccess()) {
return serviceResponse;
}
Integer id = (Integer) serviceResponse.getResult();
if (isAdd) {
id = clerkService.save(clerkDTO);
clerkLogService.saveClerkLogBySaveClerk(enterpriseId, id, clerkDTO.getReason(),
clerkDTO.getRemark(), clerkDTO.getOperatorId(), clerkDTO.getOperatorName());
storeLogByAddClerk(clerkDTO);
} else {
id = clerk.getClerkId();
clerkDTO.setClerkId(id);
clerkService.update(clerkDTO);
clerkLogService.saveClerkLogByUpdateClerk(clerk, clerkDTO, clerkDTO.getEnterpriseId(),
clerkDTO.getClerkId(), clerkDTO.getReason(), clerkDTO.getRemark(), clerkDTO.getOperatorId(),
clerkDTO.getOperatorName());
......@@ -530,6 +550,19 @@ public class ClerkApiServiceImpl implements ClerkApiService {
return EnterpriseServiceResponse.success(dtoList);
}
@Override
public ServiceResponse updateClerkLeader(Integer clerkId) {
TabClerk clerk = this.clerkService.getById(clerkId);
clerk.setClerkType(1);
TabClerk oldClerk = this.clerkService.getClerkLeaderByStoreInfoId(clerk.getEnterpriseId(), clerk.getStoreInfoId());
oldClerk.setClerkType(0);
this.clerkService.update(clerk);
this.clerkService.update(oldClerk);
return EnterpriseServiceResponse.success();
}
private static ServiceResponse<String> responseErrorElement(ImportClerkBatchResultEnum error) {
logger.warn("批处理导购错误返回结果:{}", error.toString());
return ServiceResponse.failure(error.getCode(), error.toString());
......
......@@ -110,6 +110,7 @@ public class ClerkImportApiServiceImpl implements ClerkImportApiService {
list.add(clerkTmpDTO.getClerkGender());
list.add(clerkTmpDTO.getNationcode());
list.add(clerkTmpDTO.getPhoneNumber());
list.add(clerkTmpDTO.getClerkType());
list.add(clerkTmpDTO.getErrorMessage());
resultList.add(list);
}
......
......@@ -15,6 +15,7 @@ import com.task.allocation.api.AbstractTaskAllocationOperation;
import com.task.allocation.exception.TaskAllocationException;
import com.task.allocation.qo.InitTaskQO;
import com.task.allocation.util.TaskAllocationSdkClient;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -106,6 +107,7 @@ public class ClerkTaskServiceImpl extends AbstractTaskAllocationOperation implem
clerkDTO.setNationcode(t.getNationcode().trim());
clerkDTO.setPhoneNumber(t.getPhoneNumber().trim());
clerkDTO.setPositionName(t.getPositionName().trim());
clerkDTO.setClerkType(StringUtils.equals(t.getClerkType(), "是")? 1 : 0);
clerkDTO.setReason(ClerkLogReasonEnum.WEB.getCode());
clerkDTO.setRemark("批量导入");
......
......@@ -247,6 +247,9 @@
<if test="search != null and search != '' ">
and (clerk_code like concat('%', #{search} ,'%') or clerk_name like concat('%', #{search} ,'%') )
</if>
<if test="clerkType != null ">
and clerk_type = #{clerkType}
</if>
</select>
<select id="getTotalClerk" resultType="int">
select
......@@ -329,4 +332,13 @@
and store_info_id = #{storeInfoId}
and clerk_code = #{clerkCode}
</select>
<!-- getClerkLeaderByStoreInfoId-->
<select id="getClerkLeaderByStoreInfoId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
where enterprise_id = #{enterpriseId}
and store_info_id = #{storeInfoId}
and clerk_type = 1
limit 1
</select>
</mapper>
\ No newline at end of file
......@@ -12,6 +12,7 @@
<result column="clerk_gender" jdbcType="VARCHAR" property="clerkGender" />
<result column="nationcode" jdbcType="VARCHAR" property="nationcode" />
<result column="phone_number" jdbcType="VARCHAR" property="phoneNumber" />
<result column="clerk_type" jdbcType="VARCHAR" property="clerkType" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="error_message" jdbcType="VARCHAR" property="errorMessage" />
......@@ -21,7 +22,7 @@
</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,
clerk_gender, nationcode, phone_number, clerk_type, create_time, update_time, error_message,
sign_key, operator_id, operator_name
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
......@@ -38,15 +39,15 @@
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)
phone_number, clerk_type, 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})
#{phoneNumber,jdbcType=VARCHAR}, #{clerkType,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
......@@ -81,6 +82,9 @@
<if test="phoneNumber != null">
phone_number,
</if>
<if test="clerkType != null">
clerk_type,
</if>
<if test="createTime != null">
create_time,
</if>
......@@ -131,6 +135,9 @@
<if test="phoneNumber != null">
#{phoneNumber,jdbcType=VARCHAR},
</if>
<if test="clerkType != null">
#{clerkType,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
......@@ -181,6 +188,9 @@
<if test="phoneNumber != null">
phone_number = #{phoneNumber,jdbcType=VARCHAR},
</if>
<if test="clerkType != null">
clerk_type = #{clerkType,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
......@@ -213,6 +223,7 @@
clerk_gender = #{clerkGender,jdbcType=VARCHAR},
nationcode = #{nationcode,jdbcType=VARCHAR},
phone_number = #{phoneNumber,jdbcType=VARCHAR},
clerk_type = #{clerkType,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP},
error_message = #{errorMessage,jdbcType=VARCHAR},
......
......@@ -134,6 +134,7 @@ public class ClerkController extends DownloadUtils {
for (ClerkDTO clerkDTO : clerkList) {
clerkDTO.setStoreName(clerkStoreListDTO.getStoreName());
clerkDTO.setHaobanStatusName(clerkDTO.getHaobanStatus() == null ? null : (clerkDTO.getHaobanStatus() == 1 ? "已绑定" : "未绑定"));
clerkDTO.setClerkTypeName(clerkDTO.getClerkType() == null ? null : (clerkDTO.getClerkType() == 1 ? "是" : "否"));
}
clerkDTOS.addAll(clerkList);
}
......@@ -272,6 +273,12 @@ public class ClerkController extends DownloadUtils {
}
}
@RequestMapping("/update-clerk-leader")
public RestResponse updateClerkLeader(Integer clerkId) {
ServiceResponse serviceResponse = clerkApiService.updateClerkLeader(clerkId);
return ResultControllerUtils.commonResult(serviceResponse);
}
@RequestMapping("/list-clerk-log")
public RestResponse listClerkLog(PageQO pageQO, String content, Integer reason, Integer logType, Integer clerkId) {
ClerkLogDTO clerkLogDTO = new ClerkLogDTO();
......
......@@ -121,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);
......@@ -232,9 +232,9 @@ public class ClerkImportController {
fileName = sdf.format(listErrorData.get(0).getUpdateTime()) + fileName;
List<List<String>> errorList = clerkImportApiService.listError(enterpriseId).getResult();
List<String> titleList = new ArrayList<>();
Collections.addAll(titleList, "序号", "导购名", "导购关联主键", "门店名", "门店关联主键", "职位", "性别", "区号", "手机号", "错误信息");
Collections.addAll(titleList, "序号", "导购名", "导购代码", "门店名", "门店代码", "职位", "性别", "区号", "手机号", "是否店长", "错误信息");
List<String> descriptionList = new ArrayList<>();
Collections.addAll(descriptionList, "", "必填,不能超过20个字", "必填,不能超过20个字,为导购的唯一识别码", "必填,不能超过20个字", "必填,不能超过20个字", "非必填,不能超过30个字", "\"男\"或\"女\"", "区号,如不填默认为 086", "必填,不能超过20个字", "");
Collections.addAll(descriptionList, "", "必填,不能超过20个字", "必填,不能超过20个字,为导购的唯一识别码", "必填,不能超过20个字", "必填,不能超过20个字", "非必填,不能超过30个字", "\"男\"或\"女\"", "区号,如不填默认为 +86", "必填,不能超过20个字", "必填, 是或否", "");
Workbook workbook = ExcelUtils.getWorkbook("导购导入错误记录", titleList, descriptionList, errorList, null);
byte[] bytesName = fileName.getBytes("UTF-8");
......@@ -250,6 +250,7 @@ public class ClerkImportController {
}
}
private ClerkTmpDTO validateData(Map<Integer, String> row, Integer enterpriseId) {
boolean validate = true;
ClerkTmpDTO bean = new ClerkTmpDTO();
......@@ -275,7 +276,7 @@ public class ClerkImportController {
String clerkCode = row.get(2);
if (validate) {
if (StringUtils.isBlank(clerkCode)) {
bean.setErrorMessage("导购关联主键不能为空");
bean.setErrorMessage("导购代码不能为空");
validate = false;
}
}
......@@ -283,7 +284,7 @@ public class ClerkImportController {
bean.setClerkCode(clerkCode);
if (validate) {
if (this.lengthValidate(clerkCode, 20)) {
bean.setErrorMessage("导购关联主键超过20个字");
bean.setErrorMessage("导购代码超过20个字");
validate = false;
}
}
......@@ -307,7 +308,7 @@ public class ClerkImportController {
String storeCode = row.get(4);
if (validate) {
if (StringUtils.isBlank(storeCode)) {
bean.setErrorMessage("门店关联主键不能为空");
bean.setErrorMessage("门店代码不能为空");
validate = false;
}
}
......@@ -315,7 +316,7 @@ public class ClerkImportController {
bean.setStoreCode(storeCode);
if (validate) {
if (this.lengthValidate(storeCode, 20)) {
bean.setErrorMessage("门店关联主键超过20个字");
bean.setErrorMessage("门店代码超过20个字");
validate = false;
}
}
......@@ -388,6 +389,23 @@ public class ClerkImportController {
bean.setErrorMessage("手机号不能为空");
}
}
bean.setPhoneNumber(phoneNumber.trim());
// 验证是否店长
String clerkType = row.get(9);
bean.setClerkType(clerkType);
if (validate) {
if (StringUtils.isBlank(clerkType)) {
bean.setErrorMessage("是否店长不能为空");
validate = false;
}
}
if (validate) {
if (StringUtils.equals("是", clerkType) && StringUtils.equals("否", clerkType)) {
bean.setErrorMessage("是否店长类型不存在");
validate = false;
}
}
return bean;
}
......
......@@ -340,13 +340,13 @@ public class StoreImportController {
// 验证门店代码
String storeCode = row.get(2);
if (StringUtils.isBlank(storeCode)) {
errorMessage.append("门店关联主键不能为空,");
errorMessage.append("门店代码不能为空,");
} else {
storeCode = storeCode.trim();
bean.setStoreCode(storeCode);
if (this.lengthValidate(storeCode, 20)) {
errorMessage.append("门店关联主键长度超过20个字,");
errorMessage.append("门店代码长度超过20个字,");
}
if (!isNeedReplaceStoreCode) {
// 验证门店code唯一
......
......@@ -32,7 +32,7 @@ public class ClerkQO implements Serializable {
/**
* 店员编码
*/
@NotNull(message = "导购关联主键不能为空", groups = {SaveValidView.class, EditValidView.class})
@NotNull(message = "导购代码不能为空", groups = {SaveValidView.class, EditValidView.class})
private String clerkCode;
/**
* 门店id
......
......@@ -33,7 +33,7 @@ public class StoreQO implements Serializable {
/**
* 门店code
*/
@NotNull(message = "门店关联主键不能为空", groups = {SaveValidView.class})
@NotNull(message = "门店代码不能为空", groups = {SaveValidView.class})
private String storeCode;
/**
......
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