Commit 25788963 by 陶光胜

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

parents b92aecae d7f4b9cb
......@@ -16,14 +16,17 @@ public class ClerkSearchDTO implements Serializable {
private String searchJson;
private Integer enterpriseId;
private String storeIds;
private String storeInfoIds;
private Integer currentPage=1;
private Integer pageSize=20;
private Integer clerkType;
private String storeSearch;
private String fileName;
private Integer excelExtension;
private List<String> fieldCodeList;
private Integer dataType;
private int status;
public String getSearch() {
......@@ -121,4 +124,28 @@ public class ClerkSearchDTO implements Serializable {
public void setClerkType(Integer clerkType) {
this.clerkType = clerkType;
}
public String getStoreInfoIds() {
return storeInfoIds;
}
public void setStoreInfoIds(String storeInfoIds) {
this.storeInfoIds = storeInfoIds;
}
public String getStoreSearch() {
return storeSearch;
}
public void setStoreSearch(String storeSearch) {
this.storeSearch = storeSearch;
}
public void setStatus(int status) {
this.status = status;
}
public int getStatus() {
return status;
}
}
......@@ -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
......
......@@ -62,7 +62,7 @@ public interface TabClerkMapper {
List<TabClerk> listClerkByStoreInfoId(@Param("enterpriseId") Integer enterpriseId, @Param("storeClerkIds") List<Integer> storeClerkIds, @Param("storeInfoIds") String storeInfoIds, @Param("search") String search, @Param("clerkType") Integer clerkType, @Param("status") Integer status);
Integer getTotalClerk(@Param("enterpriseId") Integer enterpriseId, @Param("storeClerkIds") List<Integer> storeClerkIds, @Param("search") String search);
Integer getTotalClerk(@Param("enterpriseId") Integer enterpriseId, @Param("storeClerkIds") List<Integer> storeClerkIds, @Param("search") String search, @Param("status") int status);
List<Integer> getStoreInfoIdsBySearch(@Param("enterpriseId") Integer enterpriseId, @Param("search") String search);
......
......@@ -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;
}
......
package com.gic.store.service;
import com.gic.store.dto.ClerkDTO;
import com.gic.store.dto.ClerkSearchDTO;
import com.gic.store.entity.TabClerk;
import java.util.List;
......@@ -88,7 +89,7 @@ public interface ClerkService {
List<TabClerk> listClerkByStoreInfoId(Integer enterpriseId, List<Integer> storeInfoIds, String search, Integer clerkType);
Integer getTotalClerk(Integer enterpriseId, List<Integer> storeInfoIds, String search);
Integer getTotalClerk(Integer enterpriseId, List<Integer> storeInfoIds, ClerkSearchDTO search);
/**
* @Title: getStoreInfoIdsBySearch
* @Description: 查询符合条件的门店id
......
......@@ -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);
......
......@@ -4,6 +4,7 @@ import com.gic.commons.util.GlobalInfo;
import com.gic.store.constant.StoreEnableOrDisAbleEnum;
import com.gic.store.dao.mapper.TabClerkMapper;
import com.gic.store.dto.ClerkDTO;
import com.gic.store.dto.ClerkSearchDTO;
import com.gic.store.entity.TabClerk;
import com.gic.store.service.ClerkService;
import org.apache.commons.lang3.StringUtils;
......@@ -109,8 +110,8 @@ public class ClerkServiceImpl implements ClerkService {
}
@Override
public Integer getTotalClerk(Integer enterpriseId, List<Integer> storeInfoIds, String search) {
return tabClerkMapper.getTotalClerk(enterpriseId, storeInfoIds, search);
public Integer getTotalClerk(Integer enterpriseId, List<Integer> storeInfoIds, ClerkSearchDTO search) {
return tabClerkMapper.getTotalClerk(enterpriseId, storeInfoIds, search.getSearch(), search.getStatus());
}
@Override
......@@ -122,8 +123,12 @@ public class ClerkServiceImpl implements ClerkService {
public Integer updateClerkStatus(Integer enterpriseId, String clerkIds, Integer status) {
List<Integer> clerkIdList;
if (StringUtils.isNotBlank(clerkIds)) {
String[] split = clerkIds.split(GlobalInfo.FLAG_COMMA);
clerkIdList = Stream.of(split).map(Integer::parseInt).collect(Collectors.toList());
if (StringUtils.equals("all", clerkIds)) {
clerkIdList = null;
} else {
String[] split = clerkIds.split(GlobalInfo.FLAG_COMMA);
clerkIdList = Stream.of(split).map(Integer::parseInt).collect(Collectors.toList());
}
} else {
return 0;
}
......
......@@ -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
......
......@@ -22,7 +22,6 @@ import com.gic.store.dto.clerk.OrderAddClerkDTO;
import com.gic.store.dto.clerk.PosAddClerkDTO;
import com.gic.store.dto.clerk.ProcessBatchClerkDTO;
import com.gic.store.entity.TabClerk;
import com.gic.store.entity.TabStoreGroup;
import com.gic.store.entity.TabStoreRegion;
import com.gic.store.service.*;
import com.gic.weimob.api.dto.WeimobGuiderSynDTO;
......@@ -109,6 +108,7 @@ public class ClerkApiServiceImpl implements ClerkApiService {
TabClerk clerkLeader = clerkService.getClerkLeaderByStoreInfoId(clerkDTO.getEnterpriseId(), clerkDTO.getStoreInfoId());
if (clerkLeader != null && com.gic.store.constant.Constants.CLERK_LEADER_POSITION_ID.equals(clerkDTO.getPositionId())) {
clerkLeader.setPositionId(com.gic.store.constant.Constants.CLERK_POSITION_ID);
clerkLeader.setPositionName("导购");
clerkService.update(clerkLeader);
clerkDTO.setPositionId(com.gic.store.constant.Constants.CLERK_LEADER_POSITION_ID);
} else if (clerkLeader == null) {
......@@ -300,25 +300,17 @@ public class ClerkApiServiceImpl implements ClerkApiService {
return ServiceResponse.failure(ErrorCode.MISS_PARAMETER.getCode(), ErrorCode.MISS_PARAMETER.getMsg());
}
}
// 分组的id
// List<TabStoreGroup> groupList = storeGroupService.listStoreGroupAndChildren(clerkSearchDTO.getStoreGroupId());
// List<Integer> groupIds = groupList.stream().map(TabStoreGroup::getStoreGroupId).collect(Collectors.toList());
// // 查询条件对应的storeId
// String storeIdByClerkSearch;
// if (StringUtils.isNotBlank(clerkSearchDTO.getSearch())) {
// List<Integer> storeInfoIdsBySearch = clerkService.getStoreInfoIdsBySearch(enterpriseId, clerkSearchDTO.getSearch());
// if (CollectionUtils.isEmpty(groupIds) || CollectionUtils.isEmpty(storeInfoIdsBySearch)) {
// return ServiceResponse.success(new Page<>());
// } else {
// storeIdByClerkSearch = getStoreIdByStoreInfoIds(storeInfoIdsBySearch, null);
// }
// } else {
// storeIdByClerkSearch = "";
// }
// clerkSearchDTO.setEnterpriseId(enterpriseId);
// if (!hasStoreIds) {
// clerkSearchDTO.setStoreIds(storeIdByClerkSearch);
// }
if (StringUtils.isNotBlank(clerkSearchDTO.getSearch())) {
List<Integer> storeInfoIdsBySearch = clerkService.getStoreInfoIdsBySearch(enterpriseId, clerkSearchDTO.getSearch());
if (CollectionUtils.isNotEmpty(storeInfoIdsBySearch)) {
String storeInfoIds = storeInfoIdsBySearch.stream().map(Object::toString).collect(Collectors.joining(" "));
clerkSearchDTO.setStoreInfoIds(storeInfoIds);
} else {
return ServiceResponse.success();
}
}
ServiceResponse<Page<StoreDTO>> serviceResponse = listStoreIds(clerkSearchDTO, pageNum, pageSize);
if (!serviceResponse.isSuccess()) {
return ServiceResponse.failure(serviceResponse.getCode(), serviceResponse.getMessage());
......@@ -369,25 +361,17 @@ public class ClerkApiServiceImpl implements ClerkApiService {
return ServiceResponse.failure(ErrorCode.MISS_PARAMETER.getCode(), ErrorCode.MISS_PARAMETER.getMsg());
}
}
// 分组的id
List<TabStoreGroup> groupList = storeGroupService.listStoreGroupAndChildren(clerkSearchDTO.getStoreGroupId());
List<Integer> groupIds = groupList.stream().map(TabStoreGroup::getStoreGroupId).collect(Collectors.toList());
// 查询条件对应的storeId
String storeIdByClerkSearch;
if (StringUtils.isNotBlank(clerkSearchDTO.getSearch())) {
List<Integer> storeInfoIdsBySearch = clerkService.getStoreInfoIdsBySearch(enterpriseId, clerkSearchDTO.getSearch());
if (CollectionUtils.isEmpty(groupIds) || CollectionUtils.isEmpty(storeInfoIdsBySearch)) {
storeIdByClerkSearch = "";
if (CollectionUtils.isNotEmpty(storeInfoIdsBySearch)) {
String storeInfoIds = storeInfoIdsBySearch.stream().map(Object::toString).collect(Collectors.joining(" "));
clerkSearchDTO.setStoreInfoIds(storeInfoIds);
} else {
storeIdByClerkSearch = getStoreIdByStoreInfoIds(storeInfoIdsBySearch, null);
return ServiceResponse.success();
}
} else {
storeIdByClerkSearch = "";
}
clerkSearchDTO.setEnterpriseId(enterpriseId);
if (!hasStoreIds) {
clerkSearchDTO.setStoreIds(storeIdByClerkSearch);
}
ServiceResponse<Page<StoreDTO>> serviceResponse = listStoreIds(clerkSearchDTO, 1, Integer.MAX_VALUE);
if (!serviceResponse.isSuccess()) {
return ServiceResponse.failure(serviceResponse.getCode(), serviceResponse.getMessage());
......@@ -398,9 +382,13 @@ public class ClerkApiServiceImpl implements ClerkApiService {
}
List<Integer> storeInfoIds = page.getResult().stream().map(StoreDTO::getStoreInfoId)
.collect(Collectors.toList());
Integer totalClerk = clerkService.getTotalClerk(enterpriseId, storeInfoIds, clerkSearchDTO.getSearch());
if (CollectionUtils.isNotEmpty(storeInfoIds)) {
Integer totalClerk = clerkService.getTotalClerk(enterpriseId, storeInfoIds, clerkSearchDTO);
return ServiceResponse.success(totalClerk);
} else {
return ServiceResponse.success(0);
}
return ServiceResponse.success(totalClerk);
}
// private String getStoreIdByStoreInfoIds(List<Integer> storeInfoIdsBySearch, String search) {
......@@ -434,6 +422,8 @@ public class ClerkApiServiceImpl implements ClerkApiService {
storeSearchDTO.setStoreGroupId(clerkSearchDTO.getStoreGroupId());
storeSearchDTO.setSearchJson(clerkSearchDTO.getSearchJson());
storeSearchDTO.setStoreIds(clerkSearchDTO.getStoreIds());
storeSearchDTO.setSearch(clerkSearchDTO.getStoreSearch());
storeSearchDTO.setStoreInfoIds(clerkSearchDTO.getStoreInfoIds());
return storeApiService.listStore(storeSearchDTO, pageNum, pageSize,
"storeId,storeName,storeCode,storeInfoId,ownType");
......@@ -667,8 +657,8 @@ public class ClerkApiServiceImpl implements ClerkApiService {
TabClerk oldClerk = this.clerkService.getClerkLeaderByStoreInfoId(clerk.getEnterpriseId(), clerk.getStoreInfoId());
oldClerk.setPositionId(com.gic.store.constant.Constants.CLERK_POSITION_ID);
this.clerkService.update(clerk);
this.clerkService.update(oldClerk);
this.clerkService.update(clerk);
return EnterpriseServiceResponse.success();
}
......
......@@ -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());
......
......@@ -3,7 +3,6 @@ package com.gic.store.service.outer.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Constant;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.*;
......@@ -1296,8 +1295,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 {
......@@ -1632,7 +1631,9 @@ public class StoreApiServiceImpl implements StoreApiService {
ServiceResponse<JSONObject> jsonObjectServiceResponse = this.parseStoreSelectJson(storeWidget.getSearchParam());
if(jsonObjectServiceResponse.isSuccess()){
json = jsonObjectServiceResponse.getResult();
jsonObjectList.add(json);
if (json != null) {
jsonObjectList.add(json);
}
}
}
if(storeWidget.getAuthMode() != null && storeWidget.getAuthMode() == 1
......
......@@ -48,6 +48,9 @@
)
</insert>
<insert id="insertSelective" parameterType="com.gic.store.entity.TabClerk">
<selectKey keyProperty="clerkId" order="AFTER" resultType="java.lang.Integer">
SELECT LAST_INSERT_ID()
</selectKey>
insert into tab_clerk
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="clerkId != null">
......@@ -256,6 +259,9 @@
count(*)
from tab_clerk
where enterprise_id = #{enterpriseId}
<if test="status != null ">
and status = #{status}
</if>
<if test="null != storeClerkIds and storeClerkIds.size() &gt; 0">
and store_info_id in
<foreach close=")" collection="storeClerkIds" index="index" item="item" open="(" separator=",">
......@@ -263,7 +269,7 @@
</foreach>
</if>
<if test="search != null and search != '' ">
and (clerk_code like concat('%', #{search} ,'%') or clerk_name like concat('%', #{search} ,'%') )
and (clerk_code like concat('%', #{search} ,'%') or clerk_name like concat('%', #{search} ,'%') or phone_number like concat('%', #{search} ,'%') )
</if>
</select>
<select id="getStoreInfoIdsBySearch" resultType="java.lang.Integer">
......@@ -272,7 +278,7 @@
from tab_clerk
where enterprise_id = #{enterpriseId}
<if test="search != null and search != '' ">
and (clerk_code like concat('%', #{search} ,'%') or clerk_name like concat('%', #{search} ,'%') )
and (clerk_code like concat('%', #{search} ,'%') or clerk_name like concat('%', #{search} ,'%') or phone_number like concat('%', #{search} ,'%') )
</if>
</select>
<select id="updateClerkStatus" resultType="java.lang.Integer">
......@@ -387,11 +393,13 @@
select
<include refid="Base_Column_List" />
from tab_clerk
<where>
<if test="enterpriseId != null ">
and enterprise_id = #{enterpriseId}
</if>
<if test="positionId != null ">
and position_id = #{positionId}
</if>
</where>
</select>
</mapper>
\ No newline at end of file
......@@ -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>
......
......@@ -256,6 +256,7 @@ public class ClerkController extends DownloadUtils {
public RestResponse countClerk(@RequestBody ClerkSearchDTO clerkSearchDTO) {
Integer enterpriseId = UserDetailUtils.getUserDetail().getEnterpriseId();
clerkSearchDTO.setEnterpriseId(enterpriseId);
clerkSearchDTO.setStatus(1);
ServiceResponse serviceResponse = clerkApiService.getTotalClerk(enterpriseId, clerkSearchDTO);
if (serviceResponse.isSuccess()) {
return RestResponse.success(serviceResponse.getResult());
......@@ -267,14 +268,20 @@ public class ClerkController extends DownloadUtils {
@RequestMapping("/update-clerk-status")
public RestResponse updateClerkStatus(String clerkIds, Integer status) {
Integer enterpriseId = UserDetailUtils.getUserDetail().getEnterpriseId();
ServiceResponse<List<ClerkDTO>> listClerkByIds = clerkApiService.listClerkByIds(enterpriseId, clerkIds);
ServiceResponse serviceResponse = clerkApiService.updateClerkStatus(enterpriseId, clerkIds, status);
if (serviceResponse.isSuccess()) {
List<ClerkDTO> clerkList = listClerkByIds.getResult();
if (CollectionUtils.isNotEmpty(clerkList)) {
String clerkNames = clerkList.stream().map(ClerkDTO::getClerkName).reduce((x, y) -> x + "," + y).orElse("");
if (!StringUtils.equals("all", clerkIds)) {
ServiceResponse<List<ClerkDTO>> listClerkByIds = clerkApiService.listClerkByIds(enterpriseId, clerkIds);
List<ClerkDTO> clerkList = listClerkByIds.getResult();
if (CollectionUtils.isNotEmpty(clerkList)) {
String clerkNames = clerkList.stream().map(ClerkDTO::getClerkName).collect(Collectors.joining(","));
String statusName = (Constants.NORMAL_STATUS.equals(status)) ? "启用" : "禁用";
LogUtils.createLog("修改状态为" + statusName, clerkNames);
}
} else {
String statusName = (Constants.NORMAL_STATUS.equals(status)) ? "启用" : "禁用";
LogUtils.createLog("修改状态为" + statusName, clerkNames);
LogUtils.createLog("修改状态为" + statusName, "全部导购");
}
return RestResponse.success(serviceResponse.getResult());
} else {
......
......@@ -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