Browse Source

feat(supplierPerformance): 添加绩效打分待办统计功能

- 在 PerEvaluateRequestController 中新增 myScoreReminder 接口用于统计待办任务数
- 添加参数验证确保工厂编码和用户名不为空
- 在 PerEvaluateRequestMapper 中定义 countMyScoreReminder 方法
- 在 Mapper XML 中实现 SQL 查询统计指定用户在指定工厂的待办任务
- 在 PerEvaluateRequestService 中声明统计方法
- 在 PerEvaluateRequestServiceImpl 中实现统计逻辑并处理空值返回0
master
qiankanghui 2 weeks ago
parent
commit
6aec0ee14c
  1. 25
      src/main/java/com/xujie/modules/supplierPerformance/controller/PerEvaluateRequestController.java
  2. 8
      src/main/java/com/xujie/modules/supplierPerformance/mapper/PerEvaluateRequestMapper.java
  3. 8
      src/main/java/com/xujie/modules/supplierPerformance/service/PerEvaluateRequestService.java
  4. 6
      src/main/java/com/xujie/modules/supplierPerformance/service/impl/PerEvaluateRequestServiceImpl.java
  5. 9
      src/main/resources/mapper/supplierPerformance/PerEvaluateRequestMapper.xml

25
src/main/java/com/xujie/modules/supplierPerformance/controller/PerEvaluateRequestController.java

@ -215,4 +215,29 @@ public class PerEvaluateRequestController {
}
return responseData;
}
/**
* 首页绩效打分待办统计接口
* 统计当前用户的绩效打分待办任务数(状态为:未开始进行中已完成)
*/
@PostMapping("/myScoreReminder")
@ResponseBody
public R myScoreReminder(@RequestBody PerEvaluateRequestEntity data) {
// 从参数中获取 site username前端应该从 session 获取后传入
String site = data.getSite();
String username = data.getUsername();
if (site == null || site.isEmpty()) {
return R.error("工厂编码不能为空");
}
if (username == null || username.isEmpty()) {
return R.error("用户名不能为空");
}
Integer count = perEvaluateRequestHeaderService.countMyScoreReminder(site, username);
return R.ok().put("data", new java.util.HashMap<String, Object>() {{
put("count", count);
}});
}
}

8
src/main/java/com/xujie/modules/supplierPerformance/mapper/PerEvaluateRequestMapper.java

@ -49,4 +49,12 @@ public interface PerEvaluateRequestMapper extends BaseMapper<PerEvaluateRequestE
@Select("select * from sys_user_supplier where user_id = #{userId} ")
SupplierPerformanceTheYearEntity getUserSupplierByUsernameAndSite(SupplierPerformanceTheYearEntity data);
/**
* 统计当前用户的绩效打分待办任务数
* @param site 工厂编码
* @param username 用户名打分人
* @return 待办任务数量
*/
Integer countMyScoreReminder(@Param("site") String site, @Param("username") String username);
}

8
src/main/java/com/xujie/modules/supplierPerformance/service/PerEvaluateRequestService.java

@ -42,4 +42,12 @@ public interface PerEvaluateRequestService extends IService<PerEvaluateRequestEn
ResponseData pastYearPerformanceSearch(SupplierPerformanceTheYearEntity data);
ResponseData getSupplierNo(SupplierPerformanceTheYearEntity data);
/**
* 统计当前用户的绩效打分待办任务数
* @param site 工厂编码
* @param username 用户名
* @return 待办任务数量
*/
Integer countMyScoreReminder(String site, String username);
}

6
src/main/java/com/xujie/modules/supplierPerformance/service/impl/PerEvaluateRequestServiceImpl.java

@ -442,6 +442,12 @@ public class PerEvaluateRequestServiceImpl extends ServiceImpl<PerEvaluateReques
return rd;
}
@Override
public Integer countMyScoreReminder(String site, String username) {
Integer count = baseMapper.countMyScoreReminder(site, username);
return count != null ? count : 0;
}
private ResponseData buildError(String msg){
ResponseData rd = new ResponseData();
rd.setMsg(msg);

9
src/main/resources/mapper/supplierPerformance/PerEvaluateRequestMapper.xml

@ -160,4 +160,13 @@
resultType="com.xujie.modules.supplierPerformance.entity.SupplierPerformanceTheYearEntity">
exec rpt_supplier_month_category_scores_rolling12_rows #{site}, #{supplierNo}
</select>
<!-- 统计当前用户的绩效打分待办任务数 -->
<select id="countMyScoreReminder" resultType="java.lang.Integer">
SELECT COUNT(*)
FROM per_evaluate_request
WHERE site = #{site}
AND create_by = #{username}
AND status IN ('未开始', '进行中', '已完成')
</select>
</mapper>
Loading…
Cancel
Save