|
|
@@ -13,7 +13,6 @@ import com.xunmei.common.core.enums.CycleCommonEnum;
|
|
|
import com.xunmei.common.core.utils.DateHelper;
|
|
|
import com.xunmei.common.core.utils.IDHelper;
|
|
|
import com.xunmei.core.TaskCreatingServiceImplBase;
|
|
|
-import com.xunmei.core.retrieval.service.ICoreMonitoringRetrievalTaskService;
|
|
|
import com.xunmei.core.safetyCheck.domain.*;
|
|
|
import com.xunmei.core.safetyCheck.domain.CoreSafecheckPlan;
|
|
|
import com.xunmei.core.safetyCheck.dto.SafetyTaskBuildDto;
|
|
|
@@ -650,7 +649,28 @@ public class SafetyCheckJobBusiness extends TaskCreatingServiceImplBase<CoreSafe
|
|
|
public void rebuildTask(List<Long> orgIds, Date startDate, Date endDate, CycleCommonEnum cycle) {
|
|
|
Map<Long, Boolean> workingMap = orgWorkTimeStatusMap(startDate, cycle, orgIds);
|
|
|
// List<Long> deleteTaskIds = new ArrayList<>();
|
|
|
+ Integer planCycle = 0;
|
|
|
+ switch (cycle) {
|
|
|
+ case WEEKLY:
|
|
|
+ planCycle = 1;
|
|
|
+ break;
|
|
|
+ case MONTHLY:
|
|
|
+ planCycle = 2;
|
|
|
+ break;
|
|
|
+ case QUARTERLY:
|
|
|
+ planCycle = 3;
|
|
|
+ break;
|
|
|
+ case HALF_YEARLY:
|
|
|
+ planCycle = 4;
|
|
|
+ break;
|
|
|
+ case YEARLY:
|
|
|
+ planCycle = 5;
|
|
|
+ break;
|
|
|
+ case NONE:
|
|
|
+ planCycle = 6;
|
|
|
+ break;
|
|
|
|
|
|
+ }
|
|
|
List<SysOrg> orgs = remoteOrgService.selectByOrgIdList(orgIds, SecurityConstants.INNER);
|
|
|
for (SysOrg worg : orgs) {
|
|
|
if (ObjectUtil.isNull(worg.getType())) {
|
|
|
@@ -658,20 +678,24 @@ public class SafetyCheckJobBusiness extends TaskCreatingServiceImplBase<CoreSafe
|
|
|
}
|
|
|
|
|
|
Long orgId = worg.getId();
|
|
|
- checkTaskService.deleteByOrgIdAndRange(orgId, startDate, endDate);
|
|
|
+ checkTaskService.deleteByOrgIdAndRange(orgId, startDate, endDate, planCycle);
|
|
|
if (!workingMap.containsKey(orgId) || !workingMap.get(orgId)) {
|
|
|
//当前作息周期已经歇业,删除未进行的任务
|
|
|
- checkTaskService.deleteByOrgIdAndRange(orgId, startDate, endDate);
|
|
|
+ checkTaskService.deleteByOrgIdAndRange(orgId, startDate, endDate, planCycle);
|
|
|
continue;
|
|
|
} else {
|
|
|
//开始营业,重新生成任务
|
|
|
- //拿到所有检查计划
|
|
|
- List<CoreSafecheckPlan> plans = planMapper.selectByPlanStatus(1);
|
|
|
+ //拿到当前周期所有检查计划
|
|
|
+ List<CoreSafecheckPlan> plans = planMapper.selectByPlanStatus(1, planCycle);
|
|
|
Iterator<CoreSafecheckPlan> safecheckPlanIterator = plans.iterator();
|
|
|
//遍历计划
|
|
|
while (safecheckPlanIterator.hasNext()) {
|
|
|
//拿到计划所属受检机构
|
|
|
List<SysOrg> checkOrgList = safecheckPlanIterator.next().getCheckOrgList();
|
|
|
+// //如果检查机构数量为0表示未指定具体检查机构,默认当前计划拥有当前机构
|
|
|
+// if(checkOrgList.size()==0){
|
|
|
+// checkOrgList.add(worg);
|
|
|
+// }
|
|
|
//过滤掉不等于当前作息变更机构的受检机构
|
|
|
List<SysOrg> collect = checkOrgList.stream().filter(e -> e.getId().equals(orgId)).collect(Collectors.toList());
|
|
|
//过滤完数组长度0表示没有受检机构等于作息变更机构的数据
|