提交 d6cdbd39 编写于 作者: Hello 码上秃's avatar Hello 码上秃

功能开发__首页__待办数据统计接口

上级 0dcf5400
......@@ -39,4 +39,16 @@ public class IndexController {
public AjaxResult getTodayInfo() {
return AjaxResult.success(reportService.getTodayInfo());
}
/**
* 首页--今日待办
* @param beginCreateTime 开始时间
* @param endCreateTime 结束时间
* @return
*/
@GetMapping("/getTodoInfo")
public AjaxResult getTodoInfo(@RequestParam("beginCreateTime") String beginCreateTime,
@RequestParam("endCreateTime") String endCreateTime) {
return AjaxResult.success(reportService.getTodoInfo(beginCreateTime,endCreateTime));
}
}
\ No newline at end of file
......@@ -92,6 +92,49 @@ public interface ReportMapper {
Double getTodaySalesAmount(@Param("today") String today, @Param("username") String username);
/**=========================================待办========================================*/
/**
* 获取待跟进线索数目
* @param beginCreateTime 开始时间
* @param endCreateTime 结束时间
* @param userId 用户ID
* @return
*/
Integer getToDoCluesNum(@Param("beginCreateTime") String beginCreateTime,
@Param("endCreateTime") String endCreateTime,
@Param("userId") Long userId);
/**
* 获取待跟进商机数目
* @param beginCreateTime 开始时间
* @param endCreateTime 结束时间
* @param userId 用户ID
* @return
*/
Integer getToDoBusinessNum(@Param("beginCreateTime") String beginCreateTime,
@Param("endCreateTime") String endCreateTime,
@Param("userId") Long userId);
/**
* 获取待分配线索数目
* @param beginCreateTime 开始时间
* @param endCreateTime 结束时间
* @param userId 用户ID
* @return
*/
Integer getToDoContractNum(@Param("beginCreateTime") String beginCreateTime,
@Param("endCreateTime") String endCreateTime,
@Param("userId") Long userId);
/**
* 获取待分配商机数目
* @param beginCreateTime 开始时间
* @param endCreateTime 结束时间
* @param userId 用户ID
* @return
*/
Integer getToDoSalesAmount(@Param("beginCreateTime") String beginCreateTime,
@Param("endCreateTime") String endCreateTime,
@Param("userId") Long userId);
}
......@@ -112,4 +112,12 @@ public interface IReportService {
* @return
*/
IndexTodayInfoVO getTodayInfo();
/**
* 首页--今日待办
* @param beginCreateTime 开始时间
* @param endCreateTime 结束时间
* @return IndexTodoInfoVO 首页--今日待办VO数据统计
*/
IndexTodoInfoVO getTodoInfo(String beginCreateTime, String endCreateTime);
}
......@@ -399,4 +399,36 @@ public class ReportServiceImpl implements IReportService {
return result;
}
/**
* 首页--今日待办
* @param beginCreateTime 开始时间
* @param endCreateTime 结束时间
* @return IndexTodoInfoVO 首页--今日待办VO数据统计
*/
@Override
public IndexTodoInfoVO getTodoInfo(String beginCreateTime, String endCreateTime) {
// 1 构建一个空的结果集对象
IndexTodoInfoVO result = new IndexTodoInfoVO();
// 2.1 查询需要用到用户ID 调用工具类获取用户ID
Long userId = SecurityUtils.getUserId();
try {
// 3 封装结果集对象
// 3.1 获取待跟进线索数目
result.setTofollowedCluesNum(reportMpper.getToDoCluesNum(beginCreateTime, endCreateTime, userId));
// 3.2 获取待跟进商机数目
result.setTofollowedBusinessNum(reportMpper.getToDoBusinessNum(beginCreateTime, endCreateTime, userId));
// 3.3 获取待分配线索数目
result.setToallocatedCluesNum(reportMpper.getToDoContractNum(beginCreateTime, endCreateTime, userId));
// 3.4 获取待分配商机数目
result.setToallocatedBusinessNum(reportMpper.getToDoSalesAmount(beginCreateTime, endCreateTime, userId));
}catch (Exception e) {
e.printStackTrace();
return null;
}
//4 返回结果集对象
return result;
}
}
\ No newline at end of file
......@@ -69,7 +69,7 @@
<!--=========================================今日简报========================================-->
<select id="getTodayCluesNum" resultType="Integer">
SELECT
COUNT( id ) AS cluesNum
COUNT(DISTINCT(id)) AS cluesNum
FROM
`tb_clue`
WHERE id IN (
......@@ -87,7 +87,7 @@
<select id="getTodayBusinessNum" resultType="Integer">
SELECT
COUNT( id ) AS businessNum
COUNT(DISTINCT(id)) AS businessNum
FROM
`tb_business`
WHERE id IN (
......@@ -122,4 +122,53 @@
AND DATE_FORMAT(tb_contract.`create_time`, '%Y-%m-%d') = DATE_FORMAT(#{today}, '%Y-%m-%d')
</select>
<!--=========================================待办========================================-->
<!-- 获取待跟进线索数目 -->
<select id="getToDoCluesNum" resultType="java.lang.Integer">
SELECT
COUNT( DISTINCT ( tc.id ) ) AS contractToDoNum
FROM
tb_clue tc
LEFT JOIN tb_assign_record tar ON tc.id = tar.assign_id
WHERE
tar.type = 0
AND tar.latest = 1
AND (DATE_FORMAT(tar.create_time,'%Y-%m-%d') BETWEEN DATE_FORMAT( #{beginCreateTime}, '%Y-%m-%d' ) AND DATE_FORMAT( #{endCreateTime}, '%Y-%m-%d' ))
AND tar.user_id = #{userId}
AND tc.`status` = 1
</select>
<!-- 获取待跟进商机数目 -->
<select id="getToDoBusinessNum" resultType="java.lang.Integer">
SELECT
COUNT( DISTINCT ( tc.id ) ) AS contractToDoNum
FROM
tb_clue tc
LEFT JOIN tb_assign_record tar ON tc.id = tar.assign_id
WHERE
tar.type = 1
AND tar.latest = 1
AND (DATE_FORMAT(tar.create_time,'%Y-%m-%d') BETWEEN DATE_FORMAT( #{beginCreateTime}, '%Y-%m-%d' ) AND DATE_FORMAT( #{endCreateTime}, '%Y-%m-%d' ))
AND tar.user_id = #{userId}
AND tc.`status` = 1
</select>
<!-- 获取待分配线索数目 -->
<select id="getToDoContractNum" resultType="java.lang.Integer">
SELECT count( DISTINCT ( tc.id ) )
FROM tb_clue tc
LEFT JOIN tb_assign_record tar ON (tc.id = tar.assign_id AND tar.type = 0 AND tar.latest = 1)
WHERE tar.assign_id is null
AND DATE_FORMAT( tc.create_time, '%Y-%m-%d' ) BETWEEN DATE_FORMAT( '2022-04-18', "%Y-%m-%d" ) AND DATE_FORMAT( '2022-04-20', "%Y-%m-%d" )
</select>
<!-- 获取待分配商机数目 -->
<select id="getToDoSalesAmount" resultType="java.lang.Integer">
SELECT count( DISTINCT ( tc.id ) )
FROM tb_clue tc
LEFT JOIN tb_assign_record tar ON (tc.id = tar.assign_id AND tar.type = 1 AND tar.latest = 1)
WHERE tar.assign_id is null
AND DATE_FORMAT( tc.create_time, '%Y-%m-%d' ) BETWEEN DATE_FORMAT( '2022-04-18', "%Y-%m-%d" ) AND DATE_FORMAT( '2022-04-20', "%Y-%m-%d" )
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册