|
@@ -18,10 +18,10 @@ import org.springframework.scheduling.annotation.EnableScheduling;
|
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.Objects;
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 定时任务
|
|
@@ -74,7 +74,7 @@ public class BusinessJob {
|
|
|
long pageNum = 1;
|
|
|
long pages;
|
|
|
do {
|
|
|
- IPage<InspectionTips> tips = pushUserService.pageMtCompanyByAnnualInspection(new Page<>(pageNum, 10), days);
|
|
|
+ IPage<InspectionTips> tips = pushUserService.pageMtCompanyByAnnualInspection(new Page<>(pageNum, 100), days);
|
|
|
pages = tips.getPages();
|
|
|
List<InspectionTips> records = tips.getRecords();
|
|
|
if(records.isEmpty()){
|
|
@@ -98,66 +98,66 @@ public class BusinessJob {
|
|
|
pageNum++;
|
|
|
} while (pageNum <= pages);
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 年检到期提前15天提醒
|
|
|
*/
|
|
|
-// @Scheduled(cron = "0/30 * * * * ?")
|
|
|
@Scheduled(cron = "0 0 10 * * ?")
|
|
|
public void inspection15days() {
|
|
|
log.warn("Starting inspection 15days notice job...");
|
|
|
sendAnnualInspection(15);
|
|
|
}
|
|
|
|
|
|
- @Scheduled(cron = "0 0 16 * * ?")
|
|
|
- public void taskNotice() {
|
|
|
+ @Scheduled(cron = "0 10 16 * * ?")
|
|
|
+ public void taskTipsForRegion() {
|
|
|
log.trace("Starting task report notice job...");
|
|
|
- List<RepairTips> repairTips = pushUserService.listMtCompanyByEmergencyRepair();
|
|
|
+ List<RepairTips> repairTips = pushUserService.listMtCompanyByEmergencyRepairForRegion();
|
|
|
if(repairTips.isEmpty()){
|
|
|
return;
|
|
|
}
|
|
|
- //按维保公司分组
|
|
|
- Map<Long, List<RepairTips>> companies = repairTips.stream().collect(Collectors.groupingBy(RepairTips::getMtCompanyId));
|
|
|
- if(companies.isEmpty()){
|
|
|
+
|
|
|
+ Map<Long, TaskTips> taskTipsMap = new HashMap<>();
|
|
|
+ List<TaskTips> taskTips = pushUserService.listMaintainForEnterpriseAdmin();
|
|
|
+ for (TaskTips taskTip : taskTips) {
|
|
|
+ taskTipsMap.put(taskTip.getMtCompanyId(), taskTip);
|
|
|
+ }
|
|
|
+
|
|
|
+ //区域主管(项目所属)
|
|
|
+ for (RepairTips repairTip : repairTips) {
|
|
|
+ long mtCompanyId = repairTip.getMtCompanyId();
|
|
|
+ PushUserInfo director = pushUserService.listByUserId(mtCompanyId, repairTip.getDirectorId());
|
|
|
+ int maintain = 0;
|
|
|
+ TaskTips current = taskTipsMap.get(mtCompanyId);
|
|
|
+ if(Objects.nonNull(current)){
|
|
|
+ maintain = current.getMaintainTotal();
|
|
|
+ }
|
|
|
+ PushMessage.managerTaskForRegionChargerDaily(repairTip.getAreaName(), repairTip.getTotal(), repairTip.getFinish(), repairTip.getRepairing(), maintain).sendTokenOnPlatform(jmsMessagingTemplate, director);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Scheduled(cron = "0 0 16 * * ?")
|
|
|
+ public void taskTipsForDirector() {
|
|
|
+ log.trace("Starting task report notice job...");
|
|
|
+ List<RepairTips> repairTips = pushUserService.listMtCompanyByEmergencyRepairForDirector();
|
|
|
+ if (repairTips.isEmpty()) {
|
|
|
return;
|
|
|
}
|
|
|
- List<TaskTips> taskTips = pushUserService.listMaintainForEnterpriseAdmin();
|
|
|
- Map<Long, List<TaskTips>> maintains = taskTips.stream().collect(Collectors.groupingBy(TaskTips::getMtCompanyId));
|
|
|
- for (Map.Entry<Long, List<RepairTips>> entry : companies.entrySet()) {
|
|
|
- int companyTotal = 0, companyFinish = 0, companyDoings = 0;
|
|
|
- List<RepairTips> repairTipsList = entry.getValue();
|
|
|
- if(IterUtil.isNotEmpty(repairTipsList)){
|
|
|
- List<TaskTips> tipsList = maintains.get(repairTipsList.get(0).getMtCompanyId());
|
|
|
- int maintain = 0;
|
|
|
- if(IterUtil.isNotEmpty(tipsList)){
|
|
|
- maintain = tipsList.get(0).getMaintainTotal();
|
|
|
- }
|
|
|
- //按区域分组, 发给区域主管
|
|
|
- Map<String, List<RepairTips>> areas = repairTipsList.stream().collect(Collectors.groupingBy(RepairTips::getAreaName));
|
|
|
- for (Map.Entry<String, List<RepairTips>> listEntry : areas.entrySet()) {
|
|
|
- List<RepairTips> tips = listEntry.getValue();
|
|
|
- int total = 0, finish = 0, doings = 0;
|
|
|
- //循环同一个公司同一个区域下的数据
|
|
|
- for (RepairTips tip : tips) {
|
|
|
- total += tip.getTotal();
|
|
|
- if(tip.isRepairing()){
|
|
|
- doings += tip.getTotal();
|
|
|
- }else if(tip.isFinish()){
|
|
|
- finish += tip.getTotal();
|
|
|
- }
|
|
|
- }
|
|
|
- companyTotal += total;
|
|
|
- companyFinish += finish;
|
|
|
- companyDoings += doings;
|
|
|
|
|
|
- RepairTips repair = tips.get(0);
|
|
|
- //区域主管(项目所属)
|
|
|
- PushUserInfo director = pushUserService.listByUserId(repair.getMtCompanyId(), repair.getDirectorId());
|
|
|
- PushMessage.managerTaskForRegionChargerDaily(repair.getAreaName(), total, finish, doings, maintain).sendTokenOnPlatform(jmsMessagingTemplate, director);
|
|
|
- }
|
|
|
- //总经理
|
|
|
- List<PushUserInfo> pushUserInfos = pushUserService.listHighDirector(repairTipsList.get(0).getMtCompanyId());
|
|
|
- PushMessage.managerTaskForLeaderDaily(companyTotal, companyFinish, companyDoings, maintain).sendTokenOnPlatform(jmsMessagingTemplate, pushUserInfos);
|
|
|
+ Map<Long, TaskTips> taskTipsMap = new HashMap<>();
|
|
|
+ List<TaskTips> taskTips = pushUserService.listMaintainForEnterpriseAdmin();
|
|
|
+ for (TaskTips taskTip : taskTips) {
|
|
|
+ taskTipsMap.put(taskTip.getMtCompanyId(), taskTip);
|
|
|
+ }
|
|
|
+ //总经理
|
|
|
+ for (RepairTips repairTip : repairTips) {
|
|
|
+ long mtCompanyId = repairTip.getMtCompanyId();
|
|
|
+ List<PushUserInfo> pushUserInfos = pushUserService.listHighDirector(mtCompanyId);
|
|
|
+ int maintain = 0;
|
|
|
+ TaskTips current = taskTipsMap.get(mtCompanyId);
|
|
|
+ if(Objects.nonNull(current)){
|
|
|
+ maintain = current.getMaintainTotal();
|
|
|
}
|
|
|
+ PushMessage.managerTaskForLeaderDaily(repairTip.getTotal(), repairTip.getFinish(), repairTip.getRepairing(), maintain).sendTokenOnPlatform(jmsMessagingTemplate, pushUserInfos);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -167,7 +167,7 @@ public class BusinessJob {
|
|
|
long pageNum = 1;
|
|
|
long pages;
|
|
|
do {
|
|
|
- IPage<TaskTips> tipsIPage = pushUserService.pageRepairAndMaintainForClerk(new Page<>(pageNum, 20));
|
|
|
+ IPage<TaskTips> tipsIPage = pushUserService.pageRepairAndMaintainForClerk(new Page<>(pageNum, 100));
|
|
|
pages = tipsIPage.getPages();
|
|
|
List<TaskTips> records = tipsIPage.getRecords();
|
|
|
if (!records.isEmpty()) {
|