service-job/src/main/java/com/java110/job/task/inspection/GeneratorInspectionTaskTemplate.java
@@ -2,11 +2,11 @@
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.community.CommunityDto;
import com.java110.dto.inspectionPlan.InspectionPlanDto;
import com.java110.dto.inspectionPlan.InspectionPlanStaffDto;
import com.java110.dto.inspectionPlan.InspectionRoutePointRelDto;
import com.java110.dto.inspectionPlan.InspectionTaskDto;
import com.java110.dto.scheduleClassesStaff.ScheduleClassesStaffDto;
import com.java110.dto.inspection.InspectionPlanDto;
import com.java110.dto.inspection.InspectionPlanStaffDto;
import com.java110.dto.inspection.InspectionRoutePointRelDto;
import com.java110.dto.inspection.InspectionTaskDto;
import com.java110.dto.classes.ScheduleClassesStaffDto;
import com.java110.dto.task.TaskDto;
import com.java110.intf.community.*;
import com.java110.intf.store.IScheduleClassesStaffV1InnerServiceSMO;
@@ -110,7 +110,6 @@
    }
    private void generatorStaffTask(InspectionPlanDto tmpInspectionPlanDto, TaskDto taskDto, CommunityDto communityDto,
                                    InspectionPlanStaffDto tmpInspectionPlanStaffDto, List<InspectionTaskPo> inspectionTaskPos,
                                    List<InspectionTaskDetailPo> inspectionTaskDetailPos) {
@@ -122,7 +121,7 @@
        switch (inspectionPlanPeriod) {
            case InspectionPlanDto.INSPECTION_PLAN_PERIOD_DAY:
                hasCondition = hasGeneratorTaskConditionByDay(tmpInspectionPlanDto, taskDto, communityDto, tmpInspectionPlanStaffDto, inspectionTaskPos, inspectionTaskDetailPos);
            break;
                break;
            case InspectionPlanDto.INSPECTION_PLAN_PERIOD_WEEK:
                hasCondition = hasGeneratorTaskConditionByWeek(tmpInspectionPlanDto, taskDto, communityDto, tmpInspectionPlanStaffDto, inspectionTaskPos, inspectionTaskDetailPos);
                break;
@@ -138,8 +137,8 @@
        inspectionTaskPo.setInspectionPlanId(tmpInspectionPlanDto.getInspectionPlanId());
        inspectionTaskPo.setCommunityId(tmpInspectionPlanDto.getCommunityId());
        inspectionTaskPo.setIpStaffId(tmpInspectionPlanStaffDto.getIpStaffId());
        inspectionTaskPo.setPlanInsTime(nowTime + tmpInspectionPlanStaffDto.getStartTime() + ":00");
        inspectionTaskPo.setPlanEndTime(nowTime + tmpInspectionPlanStaffDto.getEndTime() + ":00");
        inspectionTaskPo.setPlanInsTime(nowTime + tmpInspectionPlanStaffDto.getStartTime());
        inspectionTaskPo.setPlanEndTime(nowTime + tmpInspectionPlanStaffDto.getEndTime());
        inspectionTaskPo.setPlanUserId(tmpInspectionPlanStaffDto.getStaffId());
        inspectionTaskPo.setPlanUserName(tmpInspectionPlanStaffDto.getStaffName());
        inspectionTaskPo.setSignType(tmpInspectionPlanDto.getSignType());
@@ -187,13 +186,13 @@
        String[] months = tmpInspectionPlanDto.getInspectionMonth().split(",");
        Calendar today = Calendar.getInstance();
        int month = today.get(Calendar.MONTH)+1;
        if(!Arrays.asList(months).contains(month+"")){
        int month = today.get(Calendar.MONTH) + 1;
        if (!Arrays.asList(months).contains(month + "")) {
            return false;
        }
        String[] days = tmpInspectionPlanDto.getInspectionDay().split(",");
        int day = today.get(Calendar.DAY_OF_MONTH);
        if(!Arrays.asList(days).contains(day+"")){
        if (!Arrays.asList(days).contains(day + "")) {
            return false;
        }
@@ -201,23 +200,23 @@
        int beforeTime = Integer.parseInt(tmpInspectionPlanDto.getBeforeTime());
        String planTime = DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_B)+" "+tmpInspectionPlanDto.getStartTime()+":00";
        String planTime = DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_B) + " " + tmpInspectionPlanDto.getStartTime();
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(DateUtil.getDateFromStringA(planTime));
        calendar.add(Calendar.MINUTE,beforeTime*(-1));
        if(DateUtil.getCurrentDate().before(calendar.getTime())){ // 还没到生成任务时间
        calendar.add(Calendar.MINUTE, beforeTime * (-1));
        if (DateUtil.getCurrentDate().before(calendar.getTime())) { // 还没到生成任务时间
            return false;
        }
        // 判断 员工是否上班
        ScheduleClassesStaffDto scheduleClassesStaffDto = new ScheduleClassesStaffDto();
        scheduleClassesStaffDto.setStaffId(tmpInspectionPlanStaffDto.getIpStaffId());
        scheduleClassesStaffDto.setStaffId(tmpInspectionPlanStaffDto.getStaffId());
        scheduleClassesStaffDto.setToday(DateUtil.getDateFromStringA(planTime));
        scheduleClassesStaffDto = scheduleClassesStaffV1InnerServiceSMOImpl.staffIsWork(scheduleClassesStaffDto);
        if(!scheduleClassesStaffDto.isWork()){//根据排班员工 休息
        if (!scheduleClassesStaffDto.isWork()) {//根据排班员工 休息
            return false;
        }
@@ -239,6 +238,7 @@
        return true;
    }
    /**
     * 每周
     *
@@ -247,8 +247,8 @@
     * @param communityDto
     */
    private boolean hasGeneratorTaskConditionByWeek(InspectionPlanDto tmpInspectionPlanDto, TaskDto taskDto, CommunityDto communityDto,
                                           InspectionPlanStaffDto tmpInspectionPlanStaffDto, List<InspectionTaskPo> inspectionTaskPos,
                                           List<InspectionTaskDetailPo> inspectionTaskDetailPos) {
                                                    InspectionPlanStaffDto tmpInspectionPlanStaffDto, List<InspectionTaskPo> inspectionTaskPos,
                                                    List<InspectionTaskDetailPo> inspectionTaskDetailPos) {
        // 检查 今日是否 需要 生成巡检任务
        String[] workday = tmpInspectionPlanDto.getInspectionWorkday().split(",");
@@ -266,36 +266,36 @@
                day = 7;
            }
        }
        if(!Arrays.asList(workday).contains(day+"")){
        if (!Arrays.asList(workday).contains(day + "")) {
            return false;
        }
        //当前时间是否 到了 巡检任务前30分钟
        int beforeTime = Integer.parseInt(tmpInspectionPlanDto.getBeforeTime());
        String planTime = DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_B)+" "+tmpInspectionPlanDto.getStartTime()+":00";
        String planTime = DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_B) + " " + tmpInspectionPlanDto.getStartTime() + ":00";
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(DateUtil.getDateFromStringA(planTime));
        calendar.add(Calendar.MINUTE,beforeTime*(-1));
        if(DateUtil.getCurrentDate().before(calendar.getTime())){ // 还没到生成任务时间
        calendar.add(Calendar.MINUTE, beforeTime * (-1));
        if (DateUtil.getCurrentDate().before(calendar.getTime())) { // 还没到生成任务时间
            return false;
        }
        ScheduleClassesStaffDto scheduleClassesStaffDto = new ScheduleClassesStaffDto();
        scheduleClassesStaffDto.setStaffId(tmpInspectionPlanStaffDto.getIpStaffId());
        scheduleClassesStaffDto.setStaffId(tmpInspectionPlanStaffDto.getStaffId());
        scheduleClassesStaffDto.setToday(DateUtil.getDateFromStringA(planTime));
        scheduleClassesStaffDto = scheduleClassesStaffV1InnerServiceSMOImpl.staffIsWork(scheduleClassesStaffDto);
        if(!scheduleClassesStaffDto.isWork()){//根据排班员工 休息
        if (!scheduleClassesStaffDto.isWork()) {//根据排班员工 休息
            return false;
        }
        InspectionTaskDto inspectionTaskDto = new InspectionTaskDto();
        inspectionTaskDto.setCommunityId(tmpInspectionPlanDto.getCommunityId());
       //inspectionTaskDto.setInspectionPlanId(tmpInspectionPlanDto.getInspectionPlanId());
        //inspectionTaskDto.setInspectionPlanId(tmpInspectionPlanDto.getInspectionPlanId());
        //这里修改为用原始 巡检人查 以防 做了 转单
        inspectionTaskDto.setInspectionPlanId(tmpInspectionPlanDto.getInspectionPlanId());
        inspectionTaskDto.setOriginalPlanUserId(tmpInspectionPlanStaffDto.getStaffId());