linwe
2024-09-03 764d883b5ea3bdc06abbec548b6df0511e567978
src/main/java/org/springblade/modules/task/service/impl/SelfExaminationTaskHandler.java
New file
@@ -0,0 +1,84 @@
package org.springblade.modules.task.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springblade.common.utils.SpringUtils;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.modules.threeColorTask.entity.CustomTaskEntity;
import org.springblade.modules.place.service.IPlaceService;
import org.springblade.modules.place.vo.PlaceVO;
import org.springblade.modules.task.entity.TaskEntity;
import org.springblade.modules.task.entity.TaskPlaceSelfCheckEntity;
import org.springblade.modules.task.service.ITaskPlaceSelfCheckService;
import org.springblade.modules.task.service.ITaskService;
import org.springblade.modules.task.service.TaskHandle;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
 * 自查任务ServiceImpl
 */
@Component("SelfExaminationTaskHandler")
public class SelfExaminationTaskHandler implements TaskHandle {
   private static final Logger logger = LoggerFactory.getLogger(SelfExaminationTaskHandler.class);
   @Autowired
   private IPlaceService placeService;
   @Autowired
   private ITaskPlaceSelfCheckService taskPlaceSelfCheckService;
   @Override
   public void taskHandle(CustomTaskEntity customTask) {
      try {
         Query query = new Query();
         IPage<PlaceVO> page = Condition.getPage(query);
         PlaceVO placeVO = new PlaceVO();
         placeVO.setPlaceLabel(customTask.getPlaceLabel());
         placeVO.setPlaceSmallLabel(customTask.getPlaceSmallLabel());
         placeVO.setNineType(customTask.getNineType());
         placeVO.setColor(customTask.getLabelColor());
         placeVO.setTaskRange(customTask.getTaskRange());
         IPage<PlaceVO> placePage = placeService.getPlacePage(page, placeVO);
         ITaskService iTaskService = SpringUtils.getBean(ITaskService.class);
         // 计算总页数
         long pages = placePage.getPages();
         System.out.println("总页数:" + pages);
         for (int i = 1; i <= pages; i++) {
            page = Condition.getPage(query);
            page.setCurrent(i);
            placePage = placeService.getPlacePage(page, placeVO);
            placePage.getRecords().forEach(place -> {
               TaskEntity taskEntity = new TaskEntity();
               taskEntity.setType(1);
               taskEntity.setName(customTask.getName());
               taskEntity.setCreateTime(new Date());
               taskEntity.setHouseCode(place.getHouseCode());
               taskEntity.setReportType(7);
               taskEntity.setStatus(4);
               taskEntity.setFrequency(2);
               // taskEntitiesList.add(taskEntity);
               iTaskService.save(taskEntity);
               TaskPlaceSelfCheckEntity taskPlaceSelfCheck = new TaskPlaceSelfCheckEntity();
               taskPlaceSelfCheck.setTaskId(taskEntity.getId());
               taskPlaceSelfCheck.setHouseCode(place.getHouseCode());
               taskPlaceSelfCheck.setPlaceName(place.getPlaceName());
               taskPlaceSelfCheck.setStatus(4);
               taskPlaceSelfCheck.setType("1");
               taskPlaceSelfCheckService.save(taskPlaceSelfCheck);
               // taskPlaceSelfCheckList.add(taskPlaceSelfCheck);
            });
         }
      } catch (Exception e) {
         System.out.println("自查任务异常" + e);
      }
      // iTaskService.saveBatch(taskEntitiesList);
      // boolean save = taskPlaceSelfCheckService.saveBatch(taskPlaceSelfCheckList);
   }
}