|
@@ -20,7 +20,9 @@ import com.qunzhixinxi.hnqz.admin.api.dto.SysCheckChainNodeCheckHistoryDTO;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.dto.WmTaskDTO;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysFile;
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.entity.SysNotice;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.entity.SysUserRole;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmReportOpt;
|
|
|
import com.qunzhixinxi.hnqz.admin.config.UpmsConfig;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.AuditEntity;
|
|
@@ -44,6 +46,8 @@ import com.qunzhixinxi.hnqz.admin.manager.SysCheckChainManager;
|
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmTaskMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysFileService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.SysNoticeService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.SysUserRoleService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysUserService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmDaAgentService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmDaDistributionService;
|
|
@@ -141,6 +145,8 @@ public class WmTaskController {
|
|
|
private final RedisTemplate<String, String> redisTemplate;
|
|
|
private final UpmsConfig upmsConfig;
|
|
|
private final SysCheckChainManager checkChainManager;
|
|
|
+ private final SysNoticeService noticeService;
|
|
|
+ private final SysUserRoleService userRoleService;
|
|
|
|
|
|
/**
|
|
|
* 分页查询
|
|
@@ -693,6 +699,33 @@ public class WmTaskController {
|
|
|
if ("1".equals(wmScorePackage.getPackageFinishStatus())) {
|
|
|
wmScorePackage.setPackageAuditStatus("1");
|
|
|
}
|
|
|
+ if (wmScorePackage.getRelationScoreId() != null) {
|
|
|
+ Long taskScoreSum = wmTaskService.list(Wrappers.<WmTask>lambdaQuery()
|
|
|
+ .eq(WmTask::getScorePackageId, wmScorePackage.getRelationScoreId())
|
|
|
+ .eq(WmTask::getTaskStatus, "3")
|
|
|
+ .eq(WmTask::getDelFlag, "0"))
|
|
|
+ .stream().mapToLong(WmTask::getScore).sum();
|
|
|
+ if (taskScoreSum / 9 > wmScorePackage.getScore() / 10) {
|
|
|
+ List<Integer> userIds = userRoleService.list(Wrappers.<SysUserRole>lambdaQuery().eq(SysUserRole::getRoleId, 4)) // 区域管理员
|
|
|
+ .stream().mapToInt(SysUserRole::getUserId).boxed().collect(Collectors.toList());
|
|
|
+ WmScorePackage area2csoPackage = wmScorePackageService.getById(wmScorePackage.getRelationScoreId());
|
|
|
+ SysUser user = sysUserService.getOne(Wrappers.<SysUser>lambdaQuery()
|
|
|
+ .eq(SysUser::getDeptId, area2csoPackage.getSendPackageDeptId())
|
|
|
+ .in(SysUser::getUserId, userIds)
|
|
|
+ );
|
|
|
+
|
|
|
+ if (user != null) {
|
|
|
+ SysNotice notice = new SysNotice();
|
|
|
+ notice.setTitle(String.format("【%s】进度已达90%", wmScorePackage.getScorePackageName()));
|
|
|
+ notice.setContent(String.format("总积分【%d】;已通过任务积分【%d】。", wmScorePackage.getScore(), taskScoreSum));
|
|
|
+ notice.setUserId(user.getUserId());
|
|
|
+ notice.setReadFlag(false);
|
|
|
+ notice.setCreateBy("admin");
|
|
|
+ notice.setCreateTime(LocalDateTime.now());
|
|
|
+ noticeService.save(notice);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
return R.ok(wmScorePackageService.updateById(wmScorePackage));
|