赵鹏 1 month ago
parent
commit
d4a1886e66
  1. 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/taskinfo/TaskInfoController.java
  2. 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/taskinfo/vo/TaskInfoPageReqVO.java
  3. 3
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/auth/AdminAuthServiceImpl.java
  4. 66
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/home/HomeServiceImpl.java
  5. 9
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/taskinfo/TaskInfoServiceImpl.java
  6. 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java
  7. 3
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java
  8. 1
      yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/enterprise/EnterpriseMapper.xml
  9. 12
      yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/taskinfo/TaskInfoMapper.xml

2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/taskinfo/TaskInfoController.java

@ -225,7 +225,7 @@ public class TaskInfoController {
@GetMapping("/appPageByEnterpriseId")
@Operation(summary = "获得任务表,用于存储所有的任务信息,任务可由不同用户创建并管理。分页")
@PreAuthorize("@ss.hasPermission('system:task-info:query')")
// @PreAuthorize("@ss.hasPermission('system:task-info:query')")
public CommonResult<PageResult<TaskInfoRespVO>> appPageByEnterpriseId( TaskInfoPageReqVO pageReqVO) {
PageResult<TaskInfoDO> pageResult = taskInfoService.appPageByEnterpriseId(pageReqVO);
return success(BeanUtils.toBean(pageResult, TaskInfoRespVO.class));

2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/taskinfo/vo/TaskInfoPageReqVO.java

@ -80,7 +80,7 @@ public class TaskInfoPageReqVO extends PageParam {
*/
@Schema(description = "任务标签集合", example = "1")
private List<Long> tagList;
private String tagList;
@Schema(description = "按时间查询", example = "1")
private Integer selectWeek;

3
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/auth/AdminAuthServiceImpl.java

@ -332,7 +332,7 @@ public class AdminAuthServiceImpl implements AdminAuthService {
if (insert < 0) {
throw exception(INSERT_ERROR);
}
user = userService.autoRegisterUser(authUser);
user = userService.autoRegisterUser(authUser, reqVO.getUserType());
//给用户付一个普通用户角色可以上传图片
UserRoleDO userRoleDO = new UserRoleDO();
@ -354,7 +354,6 @@ public class AdminAuthServiceImpl implements AdminAuthService {
user.setIsBand(true);
}
return user;

66
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/home/HomeServiceImpl.java

@ -20,6 +20,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
@ -79,9 +80,6 @@ public class HomeServiceImpl implements HomeService{
//完成数
final Integer taskFinish = taskFinishList.stream().reduce(Integer::sum).orElse(0);
log.info("taskFinish={}",taskFinish);
log.info("taskExec={}",taskExec);
if (taskFinish != null && taskFinish != 0) {
double taskCompletionRate = (double) taskFinish/taskExec*100;
homeCountResVO.setTaskCompletionRate(String.format("%.1f", taskCompletionRate));
@ -91,7 +89,6 @@ public class HomeServiceImpl implements HomeService{
//根据不同的身份查询
final List<HomeGroupCountVO> homeGroupCountVOS = taskInfoMapper.selectHomeGroupCount(homeSelectVO);
List<HomeListVO> homeGroupCountVOS1 = new ArrayList<>();
if (homeGroupCountVOS != null && homeGroupCountVOS.size() > 0) {
@ -99,20 +96,63 @@ public class HomeServiceImpl implements HomeService{
HomeListVO homeListVO = new HomeListVO();
homeListVO.setName(item.getName());
homeListVO.setValue(item.getCompletionRate());
double rate = (double) item.getFinishCount() /taskExec * 100;
homeListVO.setPieValue(String.format("%.1f", rate));
// double rate = (double) item.getFinishCount() /taskExec * 100;
// homeListVO.setPieValue(String.format("%.1f", rate));
homeGroupCountVOS1.add(homeListVO);
});
}
//排序
final List<HomeListVO> sortCollect = homeGroupCountVOS1.stream().
sorted(Comparator.comparing(HomeListVO::getValue).reversed()).
collect(Collectors.toList());
//循环饼图占比数据
final List<Double> collect = homeGroupCountVOS1.stream().filter(i -> !i.getValue().equals("0.0")).
map(i -> Double.parseDouble(i.getValue())).collect(Collectors.toList());
double total = collect.stream()
.reduce(0.0, Double::sum);
homeGroupCountVOS1.forEach(item->{
if (item != null && item.getValue() != null) {
final double value = Double.parseDouble(item.getValue());
if (total != 0 && value != 0) {
final double pieRate = value / total * 100;
// 如果 TaskCompletionRate 不为空,则乘以该值
String taskCompletionRateStr = homeCountResVO.getTaskCompletionRate();
double taskCompletionRate = "0.0".equals(taskCompletionRateStr) ? 0.0 : Double.parseDouble(taskCompletionRateStr);
final double pie = pieRate * taskCompletionRate / 100;
item.setPieValue(String.format("%.1f", pie));
} else {
item.setPieValue(String.format("%.1f", 0.0));
}
} else {
item.setPieValue(String.format("%.1f", 0.0));
}
});
log.info("sortCollect:{}", sortCollect);
homeCountResVO.setCompletionRate(sortCollect);
}
//排序
final List<HomeListVO> sortedList = homeGroupCountVOS1.stream()
.filter(item -> item.getValue() != null && !item.getValue().isEmpty()) // 过滤掉 null 或空字符串
.sorted(Comparator.comparing(
item -> {
try {
return Double.parseDouble(item.getValue()); // 将字符串转为 double
} catch (NumberFormatException e) {
return Double.MIN_VALUE; // 如果解析失败,视为最小值
}
}
)) // 升序排序
.collect(Collectors.toList());
if (sortedList != null && sortedList.size() > 0) {
List<HomeListVO> reversedList = new ArrayList<>();
for (int i = sortedList.size() - 1; i >= 0; i--) {
reversedList.add(sortedList.get(i));
}
homeCountResVO.setCompletionRate(reversedList);
}
return homeCountResVO;
}

9
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/taskinfo/TaskInfoServiceImpl.java

@ -271,6 +271,15 @@ public class TaskInfoServiceImpl implements TaskInfoService {
if (tagLibraryDOS1 != null && tagLibraryDOS1.size() > 0) {
item.setTagList(tagLibraryDOS1.stream().map(TagLibraryDO::getTagName).collect(Collectors.toList()));
}
//发布的部门
if (item.getCreator() != null) {
final Long value = Long.valueOf(item.getCreator());
final DeptDO deptDO = deptService.getByUserId(value);
item.setDeptName(deptDO.getName());
}
});
}

2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java

@ -223,7 +223,7 @@ public interface AdminUserService {
* @Author djx
* @Date 2025-01-22 上午9:41
**/
AdminUserDO autoRegisterUser(AuthUser authUser);
AdminUserDO autoRegisterUser(AuthUser authUser, Integer userType);
void userAudit(UserAuditLogSaveReqVO auditLogSaveReqVO);

3
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java

@ -595,13 +595,14 @@ public class AdminUserServiceImpl implements AdminUserService {
* @Date 2025-01-22 上午9:40
**/
@Override
public AdminUserDO autoRegisterUser(AuthUser authUser) {
public AdminUserDO autoRegisterUser(AuthUser authUser, Integer userType) {
// 根据微信用户信息生成用户数据
AdminUserDO user = new AdminUserDO();
// openid.substring(openid.length() - 10)
user.setUsername("wx_" + authUser.getUuid().substring(authUser.getUuid().length() - 5)); // 使用微信 openid 作为用户名
user.setNickname("wx_" + authUser.getUuid().substring(authUser.getUuid().length() - 5));
user.setAvatar(authUser.getAvatar());
user.setUserType(userType);
user.setStatus(CommonStatusEnum.ENABLE.getStatus());
user.setPassword(encodePassword(authUser.getUuid().substring(authUser.getUuid().length() - 10))); // 随机密码
userMapper.insert(user);

1
yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/enterprise/EnterpriseMapper.xml

@ -36,5 +36,6 @@
#{item}
</foreach>
</if>
order by e.create_time desc
</select>
</mapper>

12
yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/taskinfo/TaskInfoMapper.xml

@ -18,8 +18,7 @@
left join enterprise_inspections ei on t.id = ei.task_id
left join inspections_log il on ei.id = il.inspections_id
left join enterprises e on e.id = ei.enterprise_id
left join task_tag tt on t.id = tt.task_id
left join tag_library tl on tl.id = tt.tag_id
left join tag_library tl on tl.id = t.task_type
WHERE
t.deleted = 0 and ei.deleted = 0 and ei.status = 2
<if test="params.userId != null and params.userId != ''">
@ -38,10 +37,7 @@
AND t.end_date between #{params.startTime} and #{params.endTime}
</if>
<if test="params.tagList != null and params. tagList != ''">
AND tl.id in
<foreach collection="params.tagList" item="tagId" open="(" separator="," close=")">
#{tagId}
</foreach>
AND t.task_type = #{params.tagList}
</if>
GROUP BY t.id ORDER BY t.create_time DESC
</select>
@ -121,7 +117,7 @@
<select id="selectEnterpriseStatus" resultType="cn.iocoder.yudao.module.system.controller.admin.home.vo.EnterpriseNumVO">
SELECT
DISTINCT e.enterprises_name as name,
e.enterprises_name as name,
sum(CASE WHEN il.status=3 THEN 1 ELSE 0 END) as count
FROM
enterprise_inspections ei
@ -139,7 +135,7 @@
</foreach>
</if>
</where>
GROUP BY ei.id order by count desc;
GROUP BY e.enterprises_name order by count desc;
</select>
<select id="selectHomeExecFinish" resultType="cn.iocoder.yudao.module.system.controller.admin.home.vo.HomeExecFinishVO">

Loading…
Cancel
Save