选址阶段

This commit is contained in:
zhangchenbiao
2024-04-11 15:57:15 +08:00
parent d7cbc816cb
commit 5c326fa488
15 changed files with 205 additions and 29 deletions

View File

@@ -1,8 +1,12 @@
package com.cool.store.dao; package com.cool.store.dao;
import com.cool.store.entity.PointInfoDO;
import com.cool.store.entity.PointTodoInfoDO; import com.cool.store.entity.PointTodoInfoDO;
import com.cool.store.enums.NodeNoEnum; import com.cool.store.enums.NodeNoEnum;
import com.cool.store.mapper.PointTodoInfoMapper; import com.cool.store.mapper.PointTodoInfoMapper;
import com.cool.store.request.PointTodoPageRequest;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
@@ -42,4 +46,9 @@ public class PointTodoInfoDAO {
} }
return pointTodoInfoMapper.getPointToDoByUserIdAndPointId(userId, pointId); return pointTodoInfoMapper.getPointToDoByUserIdAndPointId(userId, pointId);
} }
public Page<PointInfoDO> getUserTodoList(PointTodoPageRequest request) {
PageHelper.startPage(request.getPageNum(), request.getPageSize());
return pointTodoInfoMapper.getUserTodoList(request);
}
} }

View File

@@ -1,6 +1,9 @@
package com.cool.store.mapper; package com.cool.store.mapper;
import com.cool.store.entity.PointInfoDO;
import com.cool.store.entity.PointTodoInfoDO; import com.cool.store.entity.PointTodoInfoDO;
import com.cool.store.request.PointTodoPageRequest;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
@@ -46,4 +49,11 @@ public interface PointTodoInfoMapper extends Mapper<PointTodoInfoDO> {
* @return * @return
*/ */
PointTodoInfoDO getPointToDoByUserIdAndPointId(String userId, Long pointId); PointTodoInfoDO getPointToDoByUserIdAndPointId(String userId, Long pointId);
/**
* 获取待办
* @param request
* @return
*/
Page<PointInfoDO> getUserTodoList(@Param("request") PointTodoPageRequest request);
} }

View File

@@ -26,7 +26,7 @@
</resultMap> </resultMap>
<sql id="allColumn"> <sql id="allColumn">
id, point_code, point_name, region_id, shop_id, line_id, point_area, longitude, latitude, address, development_manager, operate_user_id, development_time, point_status, point_score, select_status, submit_audit_count, is_line_upload id, point_code, point_name, region_id, shop_id, line_id, point_area, longitude, latitude, address, development_manager, operate_user_id, development_time, point_status, point_score, select_status, submit_audit_count, is_line_upload, deleted, create_time, update_time
</sql> </sql>
<select id="getMyPointData" resultType="com.cool.store.vo.point.PointHomePageDataVO"> <select id="getMyPointData" resultType="com.cool.store.vo.point.PointHomePageDataVO">
@@ -45,6 +45,7 @@
pi.id, pi.id,
pi.point_name, pi.point_name,
pi.point_code, pi.point_code,
pi.address,
pi.region_id, pi.region_id,
pi.point_status, pi.point_status,
pi.point_score, pi.point_score,
@@ -52,7 +53,9 @@
pi.development_manager, pi.development_manager,
pi.operate_user_id, pi.operate_user_id,
pi.development_time, pi.development_time,
pi.select_status pi.select_status,
pi.create_time,
pi.update_time
from xfsg_point_info pi from xfsg_point_info pi
where pi.deleted = 0 and pi.development_manager = #{request.developmentManager} where pi.deleted = 0 and pi.development_manager = #{request.developmentManager}
<if test="request.keyword != null and request.keyword != ''"> <if test="request.keyword != null and request.keyword != ''">
@@ -64,8 +67,11 @@
<if test="request.developmentEndTime != null and request.developmentEndTime != ''"> <if test="request.developmentEndTime != null and request.developmentEndTime != ''">
<![CDATA[and pi.development_time <= #{request.developmentEndTime}]]> <![CDATA[and pi.development_time <= #{request.developmentEndTime}]]>
</if> </if>
<if test="request.pointStatus != null and request.pointStatus != ''"> <if test="request.pointStatusList != null and request.pointStatusList.size() > 0">
and pi.point_status = #{request.pointStatus} and pi.point_status in
<foreach collection="request.pointStatusList" item="pointStatus" open="(" close=")" separator=",">
#{pointStatus}
</foreach>
</if> </if>
<if test="request.storageStatus != null and request.storageStatus == 1"> <if test="request.storageStatus != null and request.storageStatus == 1">
and pi.point_status in (4,5,6,7) and pi.point_status in (4,5,6,7)
@@ -102,8 +108,11 @@
<include refid="allColumn"/> <include refid="allColumn"/>
from xfsg_point_info from xfsg_point_info
where deleted = 0 and point_status in (4,5) and development_manager = #{request.developmentManager} where deleted = 0 and point_status in (4,5) and development_manager = #{request.developmentManager}
<if test="request.pointStatus != null and request.pointStatus != ''"> <if test="request.pointStatusList != null and request.pointStatusList.size() > 0">
and point_status = #{request.pointStatus} and point_status in
<foreach collection="request.pointStatusList" item="pointStatus" open="(" close=")">
#{pointStatus}
</foreach>
</if> </if>
</select> </select>

View File

@@ -68,4 +68,31 @@
<update id="updatePointTodoInfo"> <update id="updatePointTodoInfo">
update xfsg_point_todo_info set status = if(handler_user_id = #{handlerUserId}, 1, 2), update_time = now() where point_id = #{pointId} and node_no = #{nodeNo} and cycle_count = #{cycleCount} and deleted = 0 update xfsg_point_todo_info set status = if(handler_user_id = #{handlerUserId}, 1, 2), update_time = now() where point_id = #{pointId} and node_no = #{nodeNo} and cycle_count = #{cycleCount} and deleted = 0
</update> </update>
<select id="getUserTodoList" resultType="com.cool.store.entity.PointInfoDO">
select
b.id,
b.point_name,
b.point_code,
b.point_status,
b.point_score,
b.development_manager,
b.development_time,
b.point_area,
b.address,
b.latitude,
b.longitude,
b.region_id,
b.line_id,
b.shop_id,
b.select_status,
b.operate_user_id,
b.is_line_upload,
b.create_time,
b.update_time
from
xfsg_point_todo_info a inner join xfsg_point_info b on a.point_id = b.id
where
a.handler_user_id = #{request.developmentManager} and a.status = 0 and a.deleted = 0 and b.deleted = 0
</select>
</mapper> </mapper>

View File

@@ -1,12 +1,15 @@
package com.cool.store.request; package com.cool.store.request;
import com.cool.store.common.PageBasicInfo; import com.cool.store.common.PageBasicInfo;
import com.cool.store.enums.point.PointStatusEnum;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.Max; import javax.validation.constraints.Max;
import javax.validation.constraints.Min; import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.List;
/** /**
* @author zhangchenbiao * @author zhangchenbiao
@@ -32,7 +35,6 @@ public class PointPageRequest extends PageBasicInfo {
@ApiModelProperty(value = "拓展专员", hidden = true) @ApiModelProperty(value = "拓展专员", hidden = true)
private String developmentManager; private String developmentManager;
@NotNull
@Min(1)@Max(2) @Min(1)@Max(2)
@ApiModelProperty("必传参数:1已入库 2暂未入库") @ApiModelProperty("必传参数:1已入库 2暂未入库")
private Integer storageStatus; private Integer storageStatus;
@@ -40,4 +42,18 @@ public class PointPageRequest extends PageBasicInfo {
@ApiModelProperty("1.采集中、2.已评估、3.待审核、5.已审核、6.已签约、7.已失效") @ApiModelProperty("1.采集中、2.已评估、3.待审核、5.已审核、6.已签约、7.已失效")
private Integer pointStatus; private Integer pointStatus;
@ApiModelProperty(value = "铺位状态列表", hidden = true)
private List<Integer> pointStatusList;
public List<Integer> getPointStatusList() {
List<Integer> pointStatusList = new ArrayList<>();
if (pointStatus != null) {
pointStatusList.add(pointStatus);
}
if(PointStatusEnum.POINT_STATUS_3.getCode().equals(pointStatus)){
pointStatusList.add(PointStatusEnum.POINT_STATUS_4.getCode());
}
return pointStatusList;
}
} }

View File

@@ -0,0 +1,19 @@
package com.cool.store.request;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author zhangchenbiao
* @FileName: TodoPageRequest
* @Description:
* @date 2024-04-11 14:30
*/
@Data
public class PointTodoPageRequest extends PageBasicInfo {
@ApiModelProperty(value = "扩展经理", hidden = true)
private String developmentManager;
}

View File

@@ -1,9 +1,13 @@
package com.cool.store.request; package com.cool.store.request;
import com.cool.store.common.PageBasicInfo; import com.cool.store.common.PageBasicInfo;
import com.cool.store.enums.point.PointStatusEnum;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/** /**
* @author zhangchenbiao * @author zhangchenbiao
* @FileName: RecommendPointPageRequest * @FileName: RecommendPointPageRequest
@@ -19,4 +23,18 @@ public class RecommendPointPageRequest extends PageBasicInfo {
@ApiModelProperty(value = "拓展专员", hidden = true) @ApiModelProperty(value = "拓展专员", hidden = true)
private String developmentManager; private String developmentManager;
@ApiModelProperty(value = "铺位状态列表", hidden = true)
private List<Integer> pointStatusList;
public List<Integer> getPointStatusList() {
List<Integer> pointStatusList = new ArrayList<>();
if (pointStatus != null) {
pointStatusList.add(pointStatus);
}
if(PointStatusEnum.POINT_STATUS_3.getCode().equals(pointStatus)){
pointStatusList.add(PointStatusEnum.POINT_STATUS_4.getCode());
}
return pointStatusList;
}
} }

View File

@@ -2,6 +2,7 @@ package com.cool.store.vo.point;
import com.cool.store.entity.PointDetailInfoDO; import com.cool.store.entity.PointDetailInfoDO;
import com.cool.store.entity.PointInfoDO; import com.cool.store.entity.PointInfoDO;
import com.cool.store.enums.point.PointStatusEnum;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@@ -31,7 +32,7 @@ public class PointDetailVO {
@ApiModelProperty("详细地址") @ApiModelProperty("详细地址")
private String address; private String address;
@ApiModelProperty("铺位状态 1.采集中、2.已评估、3.待审核、4.待审核可推荐、5.已审核、6.已签约、7.已失效") @ApiModelProperty("铺位状态 1.采集中、2.已评估、3.待审核、5.已审核、6.已签约、7.已失效")
private Integer pointStatus; private Integer pointStatus;
@ApiModelProperty("铺位得分") @ApiModelProperty("铺位得分")
@@ -236,6 +237,9 @@ public class PointDetailVO {
result.setLatitude(pointInfo.getLatitude()); result.setLatitude(pointInfo.getLatitude());
result.setAddress(pointInfo.getAddress()); result.setAddress(pointInfo.getAddress());
result.setPointStatus(pointInfo.getPointStatus()); result.setPointStatus(pointInfo.getPointStatus());
if(PointStatusEnum.POINT_STATUS_4.getCode().equals(pointInfo.getPointStatus())){
result.setPointStatus(PointStatusEnum.POINT_STATUS_3.getCode());
}
result.setPointScore(pointInfo.getPointScore()); result.setPointScore(pointInfo.getPointScore());
result.setBussinessStatus(pointDetailInfo.getBussinessStatus()); result.setBussinessStatus(pointDetailInfo.getBussinessStatus());
result.setNineFlowRate(pointDetailInfo.getNineFlowRate()); result.setNineFlowRate(pointDetailInfo.getNineFlowRate());

View File

@@ -1,7 +1,7 @@
package com.cool.store.vo.point; package com.cool.store.vo.point;
import com.cool.store.entity.PointDetailInfoDO;
import com.cool.store.entity.PointInfoDO; import com.cool.store.entity.PointInfoDO;
import com.cool.store.enums.point.PointStatusEnum;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@@ -30,7 +30,7 @@ public class PointPageVO {
@ApiModelProperty("所属站区") @ApiModelProperty("所属站区")
private String regionNodeName; private String regionNodeName;
@ApiModelProperty("铺位状态 1.采集中、2.已评估、3.待审核、4.待审核可推荐、5.已审核、6.已签约、7.已失效") @ApiModelProperty("铺位状态 1.采集中、2.已评估、3.待审核、5.已审核、6.已签约、7.已失效")
private Integer pointStatus; private Integer pointStatus;
@ApiModelProperty("铺位得分") @ApiModelProperty("铺位得分")
@@ -48,6 +48,15 @@ public class PointPageVO {
@ApiModelProperty("选择状态0.未选择, 1.已被选择") @ApiModelProperty("选择状态0.未选择, 1.已被选择")
private Integer selectStatus; private Integer selectStatus;
@ApiModelProperty("铺位地址")
private String address;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("更新时间")
private Date updateTime;
public static List<PointPageVO> convertVO(List<PointInfoDO> pointList, Map<String, String> usernameMap, Map<Long, String> regionNameMap) { public static List<PointPageVO> convertVO(List<PointInfoDO> pointList, Map<String, String> usernameMap, Map<Long, String> regionNameMap) {
@@ -63,11 +72,17 @@ public class PointPageVO {
pointPageVO.setRegionId(pointInfo.getRegionId()); pointPageVO.setRegionId(pointInfo.getRegionId());
pointPageVO.setRegionNodeName(regionNameMap.get(pointInfo.getRegionId())); pointPageVO.setRegionNodeName(regionNameMap.get(pointInfo.getRegionId()));
pointPageVO.setPointStatus(pointInfo.getPointStatus()); pointPageVO.setPointStatus(pointInfo.getPointStatus());
if(PointStatusEnum.POINT_STATUS_4.getCode().equals(pointInfo.getPointStatus())){
pointPageVO.setPointStatus(PointStatusEnum.POINT_STATUS_3.getCode());
}
pointPageVO.setPointScore(pointInfo.getPointScore()); pointPageVO.setPointScore(pointInfo.getPointScore());
pointPageVO.setPointArea(pointInfo.getPointArea()); pointPageVO.setPointArea(pointInfo.getPointArea());
pointPageVO.setDevelopmentManagerUsername(usernameMap.get(pointInfo.getDevelopmentManager())); pointPageVO.setDevelopmentManagerUsername(usernameMap.get(pointInfo.getDevelopmentManager()));
pointPageVO.setDevelopmentTime(pointInfo.getDevelopmentTime()); pointPageVO.setDevelopmentTime(pointInfo.getDevelopmentTime());
pointPageVO.setSelectStatus(pointInfo.getSelectStatus()); pointPageVO.setSelectStatus(pointInfo.getSelectStatus());
pointPageVO.setAddress(pointInfo.getAddress());
pointPageVO.setCreateTime(pointInfo.getCreateTime());
pointPageVO.setUpdateTime(pointInfo.getUpdateTime());
resultList.add(pointPageVO); resultList.add(pointPageVO);
} }
return resultList; return resultList;

View File

@@ -2,6 +2,7 @@ package com.cool.store.vo.point;
import com.cool.store.entity.PointInfoDO; import com.cool.store.entity.PointInfoDO;
import com.cool.store.entity.PointRecommendDO; import com.cool.store.entity.PointRecommendDO;
import com.cool.store.enums.point.PointStatusEnum;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@@ -35,7 +36,7 @@ public class PointRecommendPageVO {
@ApiModelProperty("所属站区") @ApiModelProperty("所属站区")
private String regionNodeName; private String regionNodeName;
@ApiModelProperty("铺位状态 1.采集中、2.已评估、3.待审核、4.待审核可推荐、5.已审核、6.已签约、7.已失效") @ApiModelProperty("铺位状态 1.采集中、2.已评估、3.待审核、5.已审核、6.已签约、7.已失效")
private Integer pointStatus; private Integer pointStatus;
@ApiModelProperty("铺位得分") @ApiModelProperty("铺位得分")
@@ -71,6 +72,9 @@ public class PointRecommendPageVO {
recommend.setRegionId(pointInfo.getRegionId()); recommend.setRegionId(pointInfo.getRegionId());
recommend.setRegionNodeName(regionNameMap.get(pointInfo.getRegionId())); recommend.setRegionNodeName(regionNameMap.get(pointInfo.getRegionId()));
recommend.setPointStatus(pointInfo.getPointStatus()); recommend.setPointStatus(pointInfo.getPointStatus());
if(PointStatusEnum.POINT_STATUS_4.getCode().equals(pointInfo.getPointStatus())){
recommend.setPointStatus(PointStatusEnum.POINT_STATUS_3.getCode());
}
recommend.setPointScore(pointInfo.getPointScore()); recommend.setPointScore(pointInfo.getPointScore());
recommend.setPointArea(pointInfo.getPointArea()); recommend.setPointArea(pointInfo.getPointArea());
recommend.setDevelopmentManagerUsername(usernameMap.get(pointInfo.getDevelopmentManager())); recommend.setDevelopmentManagerUsername(usernameMap.get(pointInfo.getDevelopmentManager()));

View File

@@ -185,4 +185,12 @@ public interface PointService {
* @return * @return
*/ */
Integer updateWantShopNum(UpdateWantShopNumRequest request); Integer updateWantShopNum(UpdateWantShopNumRequest request);
/**
* 获取待办列表
* @param request
* @return
*/
PageInfo<PointPageVO> getTodoList(PointTodoPageRequest request);
} }

View File

@@ -4,6 +4,7 @@ import com.cool.store.entity.RegionDO;
import com.cool.store.vo.RegionPathNameVO; import com.cool.store.vo.RegionPathNameVO;
import java.util.List; import java.util.List;
import java.util.Map;
public interface RegionService { public interface RegionService {
@@ -16,6 +17,13 @@ public interface RegionService {
*/ */
String getBelongWarRegionName(Long regionId); String getBelongWarRegionName(Long regionId);
/**
* 获取所属战区
* @param regionIds
* @return
*/
Map<Long, String> getBelongWarRegionNameMap(List<Long> regionIds);
/** /**
* 根据意向区域找大区id * 根据意向区域找大区id
* @param wantShopAreaId * @param wantShopAreaId

View File

@@ -122,7 +122,7 @@ public class PointServiceImpl implements PointService {
if(Objects.isNull(pointInfo) || Objects.isNull(pointDetailInfo)){ if(Objects.isNull(pointInfo) || Objects.isNull(pointDetailInfo)){
throw new ServiceException(ErrorCodeEnum.POINT_NOT_EXIST); throw new ServiceException(ErrorCodeEnum.POINT_NOT_EXIST);
} }
if(!pointDetailInfo.isCanSubmitEvaluable()){ if(!pointDetailInfo.isCanSubmitEvaluable() || StringUtils.isBlank(pointInfo.getPointArea())){
throw new ServiceException(ErrorCodeEnum.POINT_NOT_COMPLETE); throw new ServiceException(ErrorCodeEnum.POINT_NOT_COMPLETE);
} }
Integer totalPointScore = pointDetailInfo.getTotalPointScore(); Integer totalPointScore = pointDetailInfo.getTotalPointScore();
@@ -216,7 +216,7 @@ public class PointServiceImpl implements PointService {
if(Objects.isNull(auditSetting)){ if(Objects.isNull(auditSetting)){
throw new ServiceException(ErrorCodeEnum.POINT_AUDIT_NOT_SETTING); throw new ServiceException(ErrorCodeEnum.POINT_AUDIT_NOT_SETTING);
} }
List<AuditNodeDTO> auditNode = dealAuditNode(auditSetting, pointInfo); List<AuditNodeDTO> auditNode = dealAuditNode(auditSetting, pointInfo.getRegionId(), request.getOperateUserId(), pointInfo.getDevelopmentManager());
//获取审批节点上的数据 //获取审批节点上的数据
List<PointAuditRecordDO> recordList = AuditNodeDTO.convertDO(pointId, submitAuditCount, auditNode); List<PointAuditRecordDO> recordList = AuditNodeDTO.convertDO(pointId, submitAuditCount, auditNode);
pointAuditRecordDAO.addPointAuditRecord(recordList); pointAuditRecordDAO.addPointAuditRecord(recordList);
@@ -399,16 +399,13 @@ public class PointServiceImpl implements PointService {
@Override @Override
public PageInfo<PointPageVO> getMyPointPage(PointPageRequest request) { public PageInfo<PointPageVO> getMyPointPage(PointPageRequest request) {
if(Objects.nonNull(request.getPointStatus()) && PointStatusEnum.POINT_STATUS_3.getCode().equals(request.getPointStatus())){
request.setPointStatus(CommonConstants.ONE == request.getStorageStatus() ? PointStatusEnum.POINT_STATUS_4.getCode() : PointStatusEnum.POINT_STATUS_3.getCode());
}
List<PointPageVO> resultList = new ArrayList(); List<PointPageVO> resultList = new ArrayList();
Page<PointInfoDO> pointPage = pointInfoDAO.getMyPointPage(request); Page<PointInfoDO> pointPage = pointInfoDAO.getMyPointPage(request);
if(Objects.nonNull(pointPage) && CollectionUtils.isNotEmpty(pointPage.getResult())){ if(Objects.nonNull(pointPage) && CollectionUtils.isNotEmpty(pointPage.getResult())){
List<Long> regionIds = pointPage.stream().map(PointInfoDO::getRegionId).distinct().collect(Collectors.toList()); List<Long> regionIds = pointPage.stream().map(PointInfoDO::getRegionId).distinct().collect(Collectors.toList());
List<String> developmentManagers = pointPage.stream().map(PointInfoDO::getDevelopmentManager).distinct().collect(Collectors.toList()); List<String> developmentManagers = pointPage.stream().map(PointInfoDO::getDevelopmentManager).distinct().collect(Collectors.toList());
Map<String, String> userNameMap = enterpriseUserDAO.getUserNameMap(developmentManagers); Map<String, String> userNameMap = enterpriseUserDAO.getUserNameMap(developmentManagers);
Map<Long, String> regionNameMap = new HashMap<>(); Map<Long, String> regionNameMap = regionService.getBelongWarRegionNameMap(regionIds);
resultList = PointPageVO.convertVO(pointPage.getResult(), userNameMap, regionNameMap); resultList = PointPageVO.convertVO(pointPage.getResult(), userNameMap, regionNameMap);
} }
PageInfo resultPage = new PageInfo(pointPage); PageInfo resultPage = new PageInfo(pointPage);
@@ -441,16 +438,13 @@ public class PointServiceImpl implements PointService {
@Override @Override
public PageInfo<PointPageVO> getRecommendPointList(RecommendPointPageRequest request) { public PageInfo<PointPageVO> getRecommendPointList(RecommendPointPageRequest request) {
if(Objects.nonNull(request.getPointStatus()) && PointStatusEnum.POINT_STATUS_3.getCode().equals(request.getPointStatus())){
request.setPointStatus(PointStatusEnum.POINT_STATUS_4.getCode());
}
List<PointPageVO> resultList = new ArrayList(); List<PointPageVO> resultList = new ArrayList();
Page<PointInfoDO> pointPage = pointInfoDAO.getRecommendPointList(request); Page<PointInfoDO> pointPage = pointInfoDAO.getRecommendPointList(request);
if(Objects.nonNull(pointPage) && CollectionUtils.isNotEmpty(pointPage.getResult())){ if(Objects.nonNull(pointPage) && CollectionUtils.isNotEmpty(pointPage.getResult())){
List<Long> regionIds = pointPage.stream().map(PointInfoDO::getRegionId).distinct().collect(Collectors.toList()); List<Long> regionIds = pointPage.stream().map(PointInfoDO::getRegionId).distinct().collect(Collectors.toList());
List<String> developmentManagers = pointPage.stream().map(PointInfoDO::getDevelopmentManager).distinct().collect(Collectors.toList()); List<String> developmentManagers = pointPage.stream().map(PointInfoDO::getDevelopmentManager).distinct().collect(Collectors.toList());
Map<String, String> userNameMap = enterpriseUserDAO.getUserNameMap(developmentManagers); Map<String, String> userNameMap = enterpriseUserDAO.getUserNameMap(developmentManagers);
Map<Long, String> regionNameMap = new HashMap<>(); Map<Long, String> regionNameMap = regionService.getBelongWarRegionNameMap(regionIds);
resultList = PointPageVO.convertVO(pointPage.getResult(), userNameMap, regionNameMap); resultList = PointPageVO.convertVO(pointPage.getResult(), userNameMap, regionNameMap);
} }
PageInfo resultPage = new PageInfo(pointPage); PageInfo resultPage = new PageInfo(pointPage);
@@ -500,7 +494,23 @@ public class PointServiceImpl implements PointService {
return lineInfoDAO.updateLineInfo(updateLine); return lineInfoDAO.updateLineInfo(updateLine);
} }
public List<AuditNodeDTO> dealAuditNode(AuditSettingVO auditSetting, PointInfoDO pointInfo) { @Override
public PageInfo<PointPageVO> getTodoList(PointTodoPageRequest request) {
Page<PointInfoDO> pointPage = pointTodoInfoDAO.getUserTodoList(request);
List<PointPageVO> resultList = new ArrayList<>();
if(Objects.nonNull(pointPage) && CollectionUtils.isNotEmpty(pointPage.getResult())){
List<Long> regionIds = pointPage.stream().map(PointInfoDO::getRegionId).distinct().collect(Collectors.toList());
List<String> developmentManagers = pointPage.stream().map(PointInfoDO::getDevelopmentManager).distinct().collect(Collectors.toList());
Map<String, String> userNameMap = enterpriseUserDAO.getUserNameMap(developmentManagers);
Map<Long, String> regionNameMap = regionService.getBelongWarRegionNameMap(regionIds);
resultList = PointPageVO.convertVO(pointPage.getResult(), userNameMap, regionNameMap);
}
PageInfo resultPage = new PageInfo(pointPage);
resultPage.setList(resultList);
return resultPage;
}
public List<AuditNodeDTO> dealAuditNode(AuditSettingVO auditSetting, Long regionId, String operateUserId, String developmentManager) {
List<String> roleIds = new ArrayList<>(); List<String> roleIds = new ArrayList<>();
//审核人 //审核人
Pair<List<String>, List<String>> firstApproval = getUserIdsAndPositionIds(auditSetting.getFirstApproval()); Pair<List<String>, List<String>> firstApproval = getUserIdsAndPositionIds(auditSetting.getFirstApproval());
@@ -520,17 +530,17 @@ public class PointServiceImpl implements PointService {
roleIds.addAll(fifthApproval.getValue()); roleIds.addAll(fifthApproval.getValue());
} }
List<AuditNodeDTO> resultList = new ArrayList<>(); List<AuditNodeDTO> resultList = new ArrayList<>();
Map<String, List<String>> userIdsMap = userAuthMappingService.getUserIdByRoleIdAndRegionId(roleIds, pointInfo.getRegionId()); Map<String, List<String>> userIdsMap = userAuthMappingService.getUserIdByRoleIdAndRegionId(roleIds, regionId);
List<String> firstApprovalUserIds = getUserIdsByPositionIds(firstApproval, userIdsMap); List<String> firstApprovalUserIds = getUserIdsByPositionIds(firstApproval, userIdsMap);
List<String> thirdApprovalUserIds = getUserIdsByPositionIds(thirdApproval, userIdsMap); List<String> thirdApprovalUserIds = getUserIdsByPositionIds(thirdApproval, userIdsMap);
List<String> fourthApprovalUserIds = getUserIdsByPositionIds(fourthApproval, userIdsMap); List<String> fourthApprovalUserIds = getUserIdsByPositionIds(fourthApproval, userIdsMap);
List<String> fifthApprovalUserIds = getUserIdsByPositionIds(fifthApproval, userIdsMap); List<String> fifthApprovalUserIds = getUserIdsByPositionIds(fifthApproval, userIdsMap);
resultList.add(new AuditNodeDTO(NodeNoEnum.NODE_NO_0.getCode(), PointAuditRecordDO.SUBMIT_TASK, Boolean.FALSE, Arrays.asList(pointInfo.getDevelopmentManager()))); resultList.add(new AuditNodeDTO(NodeNoEnum.NODE_NO_0.getCode(), PointAuditRecordDO.SUBMIT_TASK, Boolean.FALSE, Arrays.asList(developmentManager)));
if(CollectionUtils.isNotEmpty(firstApprovalUserIds)){ if(CollectionUtils.isNotEmpty(firstApprovalUserIds)){
resultList.add(new AuditNodeDTO(NodeNoEnum.NODE_NO_1.getCode(), PointAuditRecordDO.RECEIVE_TASK, Boolean.TRUE, firstApprovalUserIds)); resultList.add(new AuditNodeDTO(NodeNoEnum.NODE_NO_1.getCode(), PointAuditRecordDO.RECEIVE_TASK, Boolean.TRUE, firstApprovalUserIds));
resultList.add(new AuditNodeDTO(NodeNoEnum.NODE_NO_2.getCode(), Arrays.asList(pointInfo.getOperateUserId()))); resultList.add(new AuditNodeDTO(NodeNoEnum.NODE_NO_2.getCode(), Arrays.asList(operateUserId)));
}else{ }else{
resultList.add(new AuditNodeDTO(NodeNoEnum.NODE_NO_2.getCode(), PointAuditRecordDO.RECEIVE_TASK, Boolean.TRUE, Arrays.asList(pointInfo.getOperateUserId()))); resultList.add(new AuditNodeDTO(NodeNoEnum.NODE_NO_2.getCode(), PointAuditRecordDO.RECEIVE_TASK, Boolean.TRUE, Arrays.asList(operateUserId)));
} }
if(CollectionUtils.isNotEmpty(thirdApprovalUserIds)){ if(CollectionUtils.isNotEmpty(thirdApprovalUserIds)){

View File

@@ -15,6 +15,7 @@ import com.cool.store.utils.RedisConstantUtil;
import com.cool.store.utils.RedisUtilPool; import com.cool.store.utils.RedisUtilPool;
import com.cool.store.utils.poi.constant.Constants; import com.cool.store.utils.poi.constant.Constants;
import com.cool.store.vo.RegionPathNameVO; import com.cool.store.vo.RegionPathNameVO;
import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@@ -100,6 +101,18 @@ public class RegionServiceImpl implements RegionService {
return ""; return "";
} }
@Override
public Map<Long, String> getBelongWarRegionNameMap(List<Long> regionIds) {
if(CollectionUtils.isEmpty(regionIds)){
return Maps.newHashMap();
}
Map<Long, String> regionNameMap = Maps.newHashMap();
for (Long regionId : regionIds) {
regionNameMap.put(regionId, getBelongWarRegionName(regionId));
}
return regionNameMap;
}
/** /**
* 根据意向区域找大区id * 根据意向区域找大区id
* @param wantShopAreaId * @param wantShopAreaId

View File

@@ -51,7 +51,7 @@ public class PointController {
} }
@ApiOperation("生成评估报告") @ApiOperation("生成评估报告")
@GetMapping("/generateEvaluationReport") @PostMapping("/generateEvaluationReport")
public ResponseResult<Integer> generateEvaluationReport(@RequestBody PointIdRequest request) { public ResponseResult<Integer> generateEvaluationReport(@RequestBody PointIdRequest request) {
return ResponseResult.success(pointService.generateEvaluationReport(request.getPointId())); return ResponseResult.success(pointService.generateEvaluationReport(request.getPointId()));
} }
@@ -68,13 +68,13 @@ public class PointController {
return ResponseResult.success(pointService.pointUnbind(request.getPointId())); return ResponseResult.success(pointService.pointUnbind(request.getPointId()));
} }
@ApiOperation("配置评估报告") @ApiOperation("配置高德评估报告")
@PostMapping("/addMapEvaluationReport") @PostMapping("/addMapEvaluationReport")
public ResponseResult<Integer> addMapEvaluationReport(@RequestBody AddMapEvaluationReportRequest request) { public ResponseResult<Integer> addMapEvaluationReport(@RequestBody AddMapEvaluationReportRequest request) {
return ResponseResult.success(pointService.addMapEvaluationReport(request)); return ResponseResult.success(pointService.addMapEvaluationReport(request));
} }
@ApiOperation("提交审批") @ApiOperation("选址人员提交审批")
@PostMapping("/submitAudit") @PostMapping("/submitAudit")
public ResponseResult<Integer> submitAudit(@RequestBody @Validated SubmitPointAuditRequest request) { public ResponseResult<Integer> submitAudit(@RequestBody @Validated SubmitPointAuditRequest request) {
return ResponseResult.success(pointService.submitAudit(request)); return ResponseResult.success(pointService.submitAudit(request));
@@ -187,5 +187,11 @@ public class PointController {
return ResponseResult.success(ShopStageVO.getShopStageList()); return ResponseResult.success(ShopStageVO.getShopStageList());
} }
@ApiOperation("获取待办列表")
@PostMapping("/getTodoList")
public ResponseResult<PageInfo<PointPageVO>> getTodoList(@RequestBody PointTodoPageRequest request) {
request.setDevelopmentManager(CurrentUserHolder.getUserId());
return ResponseResult.success(pointService.getTodoList(request));
}
} }