java110 лет назад: 5
Родитель
Сommit
f0fad456ae
16 измененных файлов с 382 добавлено и 34 удалено
  1. 7 0
      java110-bean/src/main/java/com/java110/dto/inspectionPlan/InspectionPlanDto.java
  2. 28 0
      java110-bean/src/main/java/com/java110/dto/inspectionRoute/InspectionRoutePointRelDto.java
  3. 18 1
      java110-bean/src/main/java/com/java110/dto/inspectionTask/InspectionTaskDto.java
  4. 9 0
      java110-bean/src/main/java/com/java110/po/inspection/InspectionTaskPo.java
  5. 1 0
      java110-bean/src/main/java/com/java110/vo/api/inspectionPoint/ApiInspectionPointDataVo.java
  6. 5 15
      java110-db/src/main/resources/mapper/community/InspectionRoutePointRelServiceDaoImplMapper.xml
  7. 0 1
      java110-db/src/main/resources/mapper/community/InspectionServiceDaoImplMapper.xml
  8. 6 2
      java110-db/src/main/resources/mapper/community/InspectionTaskServiceDaoImplMapper.xml
  9. 8 0
      java110-interface/src/main/java/com/java110/intf/community/IInspectionTaskInnerServiceSMO.java
  10. 4 2
      service-api/src/main/java/com/java110/api/listener/inspectionPoint/SaveInspectionPointListener.java
  11. 4 1
      service-api/src/main/java/com/java110/api/listener/inspectionPoint/UpdateInspectionPointListener.java
  12. 1 2
      service-api/src/main/java/com/java110/api/listener/inspectionRoute/ListInspectionRoutePointsListener.java
  13. 29 8
      service-community/src/main/java/com/java110/community/smo/impl/InspectionTaskInnerServiceSMOImpl.java
  14. 3 1
      service-front/src/main/java/com/java110/front/smo/inspectionPoint/impl/AddInspectionPointSMOImpl.java
  15. 1 1
      service-front/src/main/java/com/java110/front/smo/inspectionPoint/impl/EditInspectionPointSMOImpl.java
  16. 258 0
      service-job/src/main/java/com/java110/job/task/inspection/GeneratorInspectionTaskTemplate.java

+ 7 - 0
java110-bean/src/main/java/com/java110/dto/inspectionPlan/InspectionPlanDto.java

@@ -17,6 +17,13 @@ import java.util.Date;
  **/
  **/
 public class InspectionPlanDto extends PageDto implements Serializable {
 public class InspectionPlanDto extends PageDto implements Serializable {
 
 
+    public static final String STATE_STOP = "2020026";
+    public static final String STATE_RUN = "2020025";
+
+    public static final String INSPECTION_PLAN_PERIOD_DAY = "2020022"; // 连续每天
+    public static final String INSPECTION_PLAN_PERIOD_WEEK = "2020023"; // 连续每周
+    public static final String INSPECTION_PLAN_PERIOD_NEXT_DAY = "2020024"; // 连续隔天
+
     private String inspectionPlanName;
     private String inspectionPlanName;
     private String inspectionRouteId;
     private String inspectionRouteId;
     private String inspectionRouteName;
     private String inspectionRouteName;

+ 28 - 0
java110-bean/src/main/java/com/java110/dto/inspectionRoute/InspectionRoutePointRelDto.java

@@ -30,6 +30,10 @@ public class InspectionRoutePointRelDto extends PageDto implements Serializable
     private String machineId;
     private String machineId;
     private String relationship; //1 查询关联的巡检点 0 还未关联巡检点
     private String relationship; //1 查询关联的巡检点 0 还未关联巡检点
 
 
+    private String pointObjType;
+    private String pointObjId;
+    private String pointObjName;
+
 
 
     private Date createTime;
     private Date createTime;
 
 
@@ -164,4 +168,28 @@ public class InspectionRoutePointRelDto extends PageDto implements Serializable
     public void setRelationship(String relationship) {
     public void setRelationship(String relationship) {
         this.relationship = relationship;
         this.relationship = relationship;
     }
     }
+
+    public String getPointObjType() {
+        return pointObjType;
+    }
+
+    public void setPointObjType(String pointObjType) {
+        this.pointObjType = pointObjType;
+    }
+
+    public String getPointObjId() {
+        return pointObjId;
+    }
+
+    public void setPointObjId(String pointObjId) {
+        this.pointObjId = pointObjId;
+    }
+
+    public String getPointObjName() {
+        return pointObjName;
+    }
+
+    public void setPointObjName(String pointObjName) {
+        this.pointObjName = pointObjName;
+    }
 }
 }

+ 18 - 1
java110-bean/src/main/java/com/java110/dto/inspectionTask/InspectionTaskDto.java

@@ -29,7 +29,8 @@ public class InspectionTaskDto extends PageDto implements Serializable {
     private String taskId;
     private String taskId;
     private String state;
     private String state;
     private String stateName;
     private String stateName;
-
+    private Date scopeTime;
+    private String ipStaffId;
 
 
 
 
     private Date createTime;
     private Date createTime;
@@ -164,4 +165,20 @@ public class InspectionTaskDto extends PageDto implements Serializable {
     public void setInspectionPlanName(String inspectionPlanName) {
     public void setInspectionPlanName(String inspectionPlanName) {
         this.inspectionPlanName = inspectionPlanName;
         this.inspectionPlanName = inspectionPlanName;
     }
     }
+
+    public Date getScopeTime() {
+        return scopeTime;
+    }
+
+    public void setScopeTime(Date scopeTime) {
+        this.scopeTime = scopeTime;
+    }
+
+    public String getIpStaffId() {
+        return ipStaffId;
+    }
+
+    public void setIpStaffId(String ipStaffId) {
+        this.ipStaffId = ipStaffId;
+    }
 }
 }

+ 9 - 0
java110-bean/src/main/java/com/java110/po/inspection/InspectionTaskPo.java

@@ -22,6 +22,7 @@ public class InspectionTaskPo implements Serializable {
     private String actUserId;
     private String actUserId;
     private String actUserName;
     private String actUserName;
     private String signType;
     private String signType;
+    private String ipStaffId;
 
 
     private String state;
     private String state;
 
 
@@ -112,4 +113,12 @@ public class InspectionTaskPo implements Serializable {
     public void setState(String state) {
     public void setState(String state) {
         this.state = state;
         this.state = state;
     }
     }
+
+    public String getIpStaffId() {
+        return ipStaffId;
+    }
+
+    public void setIpStaffId(String ipStaffId) {
+        this.ipStaffId = ipStaffId;
+    }
 }
 }

+ 1 - 0
java110-bean/src/main/java/com/java110/vo/api/inspectionPoint/ApiInspectionPointDataVo.java

@@ -20,6 +20,7 @@ public class ApiInspectionPointDataVo implements Serializable {
     private String machineId;
     private String machineId;
     private String communityId;
     private String communityId;
 
 
+
     public String getInspectionId() {
     public String getInspectionId() {
         return inspectionId;
         return inspectionId;
     }
     }

+ 5 - 15
java110-db/src/main/resources/mapper/community/InspectionRoutePointRelServiceDaoImplMapper.xml

@@ -74,17 +74,12 @@
         select t.inspection_id,t.inspection_id inspectionId,t.inspection_route_id,t.inspection_route_id
         select t.inspection_id,t.inspection_id inspectionId,t.inspection_route_id,t.inspection_route_id
         inspectionRouteId,t.irp_rel_id,t.irp_rel_id irpRelId,t.status_cd,t.status_cd
         inspectionRouteId,t.irp_rel_id,t.irp_rel_id irpRelId,t.status_cd,t.status_cd
         statusCd,t.community_id,t.community_id communityId,t.b_id,t.b_id bId,
         statusCd,t.community_id,t.community_id communityId,t.b_id,t.b_id bId,
-        ip.inspection_id inspectionId,ip.machine_id machineId,ip.remark,
-        ip.inspection_name inspectionName,m.location_type_cd locationTypeCd,m.location_obj_id locationObjId,
-        m.machine_code machineCode,m.machine_name machineName,d.name locationTypeName
-        from inspection_route_point_rel t,inspection_point ip,machine m,t_dict d
+        ip.inspection_id inspectionId,ip.remark,
+        ip.inspection_name inspectionName,ip.point_obj_type,ip.point_obj_id,ip.point_obj_name,
+        ip.point_obj_type pointObjType,ip.point_obj_id pointObjId,ip.point_obj_name pointObjName
+        from inspection_route_point_rel t,inspection_point ip
         where 1 =1
         where 1 =1
         and t.inspection_id = ip.inspection_id
         and t.inspection_id = ip.inspection_id
-        and ip.machine_id = m.machine_id
-        and d.status_cd = m.location_type_cd
-        and d.table_name = 'machine'
-        and d.table_columns = 'location_type_cd'
-        and m.status_cd = '0'
         and ip.status_cd = '0'
         and ip.status_cd = '0'
         <if test="inspectionId !=null and inspectionId != ''">
         <if test="inspectionId !=null and inspectionId != ''">
             and t.inspection_id= #{inspectionId}
             and t.inspection_id= #{inspectionId}
@@ -141,14 +136,9 @@
     <!-- 查询巡检路线巡检点关系数量 add by wuxw 2018-07-03 -->
     <!-- 查询巡检路线巡检点关系数量 add by wuxw 2018-07-03 -->
     <select id="queryInspectionRoutePointRelsCount" parameterType="Map" resultType="Map">
     <select id="queryInspectionRoutePointRelsCount" parameterType="Map" resultType="Map">
         select count(1) count
         select count(1) count
-        from inspection_route_point_rel t,inspection_point ip,machine m,t_dict d
+        from inspection_route_point_rel t,inspection_point ip
         where 1 =1
         where 1 =1
         and t.inspection_id = ip.inspection_id
         and t.inspection_id = ip.inspection_id
-        and ip.machine_id = m.machine_id
-        and d.status_cd = m.location_type_cd
-        and d.table_name = 'machine'
-        and d.table_columns = 'location_type_cd'
-        and m.status_cd = '0'
         and ip.status_cd = '0'
         and ip.status_cd = '0'
         <if test="inspectionId !=null and inspectionId != ''">
         <if test="inspectionId !=null and inspectionId != ''">
             and t.inspection_id= #{inspectionId}
             and t.inspection_id= #{inspectionId}

+ 0 - 1
java110-db/src/main/resources/mapper/community/InspectionServiceDaoImplMapper.xml

@@ -196,7 +196,6 @@
         t.community_id communityId,t.b_id,t.b_id bId,
         t.community_id communityId,t.b_id,t.b_id bId,
         t.point_obj_type,t.point_obj_id,t.point_obj_name,
         t.point_obj_type,t.point_obj_id,t.point_obj_name,
         t.point_obj_type pointObjType,t.point_obj_id pointObjId,t.point_obj_name pointObjName
         t.point_obj_type pointObjType,t.point_obj_id pointObjId,t.point_obj_name pointObjName
-        d.name locationTypeName
         from inspection_point t
         from inspection_point t
         left join inspection_route_point_rel c on t.inspection_id = c.inspection_id and c.status_cd = '0' and c.inspection_route_id = #{inspectionRouteId}
         left join inspection_route_point_rel c on t.inspection_id = c.inspection_id and c.status_cd = '0' and c.inspection_route_id = #{inspectionRouteId}
         where 1 =1
         where 1 =1

+ 6 - 2
java110-db/src/main/resources/mapper/community/InspectionTaskServiceDaoImplMapper.xml

@@ -171,6 +171,10 @@
         <if test="state !=null and state != ''">
         <if test="state !=null and state != ''">
             and t.state= #{state}
             and t.state= #{state}
         </if>
         </if>
+        <if test="scopeTime !=null ">
+            and t.create_time &lt; #{scopeTime}
+            and t.create_time &gt; #{createTime}
+        </if>
         order by t.create_time desc
         order by t.create_time desc
         <if test="page != -1 and page != null ">
         <if test="page != -1 and page != null ">
             limit #{page}, #{row}
             limit #{page}, #{row}
@@ -318,10 +322,10 @@
     <!-- 保存活动信息 add by wuxw 2018-07-03 -->
     <!-- 保存活动信息 add by wuxw 2018-07-03 -->
     <insert id="insertInspectionTask" parameterType="Map">
     <insert id="insertInspectionTask" parameterType="Map">
         insert into inspection_task(
         insert into inspection_task(
-        plan_user_id,plan_ins_time,sign_type,inspection_plan_id,plan_user_name,community_id,b_id,task_id,state
+        plan_user_id,plan_ins_time,sign_type,inspection_plan_id,plan_user_name,community_id,b_id,task_id,state,ip_staff_id
         )
         )
         <foreach collection="tasks" item="task" separator=",">
         <foreach collection="tasks" item="task" separator=",">
-            (#{task.planUserId},#{task.planInsTime},#{task.signType},#{task.inspectionPlanId},#{task.planUserName},#{task.communityId},'-1',#{task.taskId},'20200405')
+            (#{task.planUserId},#{task.planInsTime},#{task.signType},#{task.inspectionPlanId},#{task.planUserName},#{task.communityId},'-1',#{task.taskId},'20200405',#{task.ipStaffId})
         </foreach>
         </foreach>
     </insert>
     </insert>
 
 

+ 8 - 0
java110-interface/src/main/java/com/java110/intf/community/IInspectionTaskInnerServiceSMO.java

@@ -3,6 +3,8 @@ package com.java110.intf.community;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.config.feign.FeignConfiguration;
 import com.java110.config.feign.FeignConfiguration;
 import com.java110.dto.inspectionTask.InspectionTaskDto;
 import com.java110.dto.inspectionTask.InspectionTaskDto;
+import com.java110.po.inspection.InspectionTaskDetailPo;
+import com.java110.po.inspection.InspectionTaskPo;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -48,4 +50,10 @@ public interface IInspectionTaskInnerServiceSMO {
      */
      */
     @RequestMapping(value = "/generateInspectionTask", method = RequestMethod.POST)
     @RequestMapping(value = "/generateInspectionTask", method = RequestMethod.POST)
     JSONObject generateInspectionTask(@RequestBody JSONObject param);
     JSONObject generateInspectionTask(@RequestBody JSONObject param);
+
+    @RequestMapping(value = "/saveInspectionTask", method = RequestMethod.POST)
+    int saveInspectionTask(@RequestBody List<InspectionTaskPo> inspectionTaskPos);
+
+    @RequestMapping(value = "/saveInspectionTaskDetail", method = RequestMethod.POST)
+    int saveInspectionTaskDetail(@RequestBody List<InspectionTaskDetailPo> inspectionTaskDetailPos);
 }
 }

+ 4 - 2
service-api/src/main/java/com/java110/api/listener/inspectionPoint/SaveInspectionPointListener.java

@@ -22,14 +22,16 @@ public class SaveInspectionPointListener extends AbstractServiceApiPlusListener
 
 
     @Override
     @Override
     protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
     protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
-        Assert.hasKeyAndValue(reqJson, "machineId", "必填,请填写设备ID");
         Assert.hasKeyAndValue(reqJson, "inspectionName", "必填,请填写巡检点名称");
         Assert.hasKeyAndValue(reqJson, "inspectionName", "必填,请填写巡检点名称");
+        Assert.hasKeyAndValue(reqJson, "pointObjId", "必填,请填写位置信息");
+        Assert.hasKeyAndValue(reqJson, "pointObjType", "必填,请填写巡检类型");
+        Assert.hasKeyAndValue(reqJson, "pointObjName", "必填,请填写位置信息");
     }
     }
 
 
     @Override
     @Override
     protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
     protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
 
 
-       inspectionBMOImpl.addInspectionPoint(reqJson, context);
+        inspectionBMOImpl.addInspectionPoint(reqJson, context);
     }
     }
 
 
     @Override
     @Override

+ 4 - 1
service-api/src/main/java/com/java110/api/listener/inspectionPoint/UpdateInspectionPointListener.java

@@ -25,7 +25,10 @@ public class UpdateInspectionPointListener extends AbstractServiceApiPlusListene
 
 
         Assert.hasKeyAndValue(reqJson, "inspectionId", "巡检点ID不能为空");
         Assert.hasKeyAndValue(reqJson, "inspectionId", "巡检点ID不能为空");
         Assert.hasKeyAndValue(reqJson, "inspectionName", "必填,请填写巡检点名称");
         Assert.hasKeyAndValue(reqJson, "inspectionName", "必填,请填写巡检点名称");
-        Assert.hasKeyAndValue(reqJson, "machineId", "必填,请填写设备信息");
+        Assert.hasKeyAndValue(reqJson, "pointObjId", "必填,请填写位置信息");
+        Assert.hasKeyAndValue(reqJson, "pointObjType", "必填,请填写巡检类型");
+        Assert.hasKeyAndValue(reqJson, "pointObjName", "必填,请填写位置信息");
+
 
 
     }
     }
 
 

+ 1 - 2
service-api/src/main/java/com/java110/api/listener/inspectionRoute/ListInspectionRoutePointsListener.java

@@ -88,8 +88,7 @@ public class ListInspectionRoutePointsListener extends AbstractServiceApiListene
 
 
         if (count > 0) {
         if (count > 0) {
             inspectionPoints = BeanConvertUtil.covertBeanList(inspectionRoutePointRelInnerServiceSMOImpl.queryInspectionRoutePointRels(inspectionRoutePointRelDto), ApiInspectionPointDataVo.class);
             inspectionPoints = BeanConvertUtil.covertBeanList(inspectionRoutePointRelInnerServiceSMOImpl.queryInspectionRoutePointRels(inspectionRoutePointRelDto), ApiInspectionPointDataVo.class);
-            // 刷新 位置信息
-            refreshMachines(inspectionPoints);
+
         } else {
         } else {
             inspectionPoints = new ArrayList<>();
             inspectionPoints = new ArrayList<>();
         }
         }

+ 29 - 8
service-community/src/main/java/com/java110/community/smo/impl/InspectionTaskInnerServiceSMOImpl.java

@@ -5,23 +5,21 @@ import com.alibaba.fastjson.JSONObject;
 import com.java110.community.dao.IInspectionTaskServiceDao;
 import com.java110.community.dao.IInspectionTaskServiceDao;
 import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.core.factory.GenerateCodeFactory;
-import com.java110.intf.community.IInspectionInnerServiceSMO;
-import com.java110.intf.community.IInspectionTaskInnerServiceSMO;
-import com.java110.intf.user.IUserInnerServiceSMO;
 import com.java110.dto.PageDto;
 import com.java110.dto.PageDto;
 import com.java110.dto.inspectionPoint.InspectionDto;
 import com.java110.dto.inspectionPoint.InspectionDto;
 import com.java110.dto.inspectionTask.InspectionTaskDto;
 import com.java110.dto.inspectionTask.InspectionTaskDto;
+import com.java110.intf.community.IInspectionInnerServiceSMO;
+import com.java110.intf.community.IInspectionTaskInnerServiceSMO;
+import com.java110.intf.user.IUserInnerServiceSMO;
+import com.java110.po.inspection.InspectionTaskDetailPo;
+import com.java110.po.inspection.InspectionTaskPo;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.BeanConvertUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 
 /**
 /**
  * @ClassName FloorInnerServiceSMOImpl
  * @ClassName FloorInnerServiceSMOImpl
@@ -165,6 +163,29 @@ public class InspectionTaskInnerServiceSMOImpl extends BaseServiceSMO implements
 
 
     }
     }
 
 
+    @Override
+    public int saveInspectionTask(@RequestBody List<InspectionTaskPo> inspectionTaskPos) {
+        Map task = new HashMap();
+        List<Map> list = new ArrayList<>();
+        for (InspectionTaskPo inspectionTaskpo : inspectionTaskPos) {
+            list.add(BeanConvertUtil.beanCovertMap(inspectionTaskpo));
+        }
+        task.put("tasks", list);
+        return inspectionTaskServiceDaoImpl.insertInspectionTask(task);
+    }
+
+    @Override
+    public int saveInspectionTaskDetail(@RequestBody List<InspectionTaskDetailPo> inspectionTaskDetailPos) {
+        Map task = new HashMap();
+
+        List<Map> list = new ArrayList<>();
+        for (InspectionTaskDetailPo inspectionTaskpo : inspectionTaskDetailPos) {
+            list.add(BeanConvertUtil.beanCovertMap(inspectionTaskpo));
+        }
+        task.put("tasks", list);
+        return inspectionTaskServiceDaoImpl.insertInspectionTaskDetail(task);
+    }
+
     public IInspectionTaskServiceDao getInspectionTaskServiceDaoImpl() {
     public IInspectionTaskServiceDao getInspectionTaskServiceDaoImpl() {
         return inspectionTaskServiceDaoImpl;
         return inspectionTaskServiceDaoImpl;
     }
     }

+ 3 - 1
service-front/src/main/java/com/java110/front/smo/inspectionPoint/impl/AddInspectionPointSMOImpl.java

@@ -30,7 +30,9 @@ public class AddInspectionPointSMOImpl extends AbstractComponentSMO implements I
 
 
         //Assert.hasKeyAndValue(paramIn, "xxx", "xxx");
         //Assert.hasKeyAndValue(paramIn, "xxx", "xxx");
         Assert.hasKeyAndValue(paramIn, "inspectionName", "必填,请填写巡检点名称");
         Assert.hasKeyAndValue(paramIn, "inspectionName", "必填,请填写巡检点名称");
-        Assert.hasKeyAndValue(paramIn, "machineId", "必填,请填写设备信息");
+        Assert.hasKeyAndValue(paramIn, "pointObjId", "必填,请填写位置信息");
+        Assert.hasKeyAndValue(paramIn, "pointObjType", "必填,请填写巡检类型");
+        Assert.hasKeyAndValue(paramIn, "pointObjName", "必填,请填写位置信息");
 
 
 
 
 
 

+ 1 - 1
service-front/src/main/java/com/java110/front/smo/inspectionPoint/impl/EditInspectionPointSMOImpl.java

@@ -30,7 +30,7 @@ public class EditInspectionPointSMOImpl extends AbstractComponentSMO implements
 
 
         Assert.hasKeyAndValue(paramIn, "inspectionId", "巡检点ID不能为空");
         Assert.hasKeyAndValue(paramIn, "inspectionId", "巡检点ID不能为空");
         Assert.hasKeyAndValue(paramIn, "inspectionName", "必填,请填写巡检点名称");
         Assert.hasKeyAndValue(paramIn, "inspectionName", "必填,请填写巡检点名称");
-        Assert.hasKeyAndValue(paramIn, "machineId", "必填,请填写设备信息");
+
 
 
 
 
         super.checkUserHasPrivilege(pd, restTemplate, PrivilegeCodeConstant.AGENT_HAS_LIST_INSPECTION_POINT);
         super.checkUserHasPrivilege(pd, restTemplate, PrivilegeCodeConstant.AGENT_HAS_LIST_INSPECTION_POINT);

+ 258 - 0
service-job/src/main/java/com/java110/job/task/inspection/GeneratorInspectionTaskTemplate.java

@@ -0,0 +1,258 @@
+package com.java110.job.task.inspection;
+
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.community.CommunityDto;
+import com.java110.dto.inspectionPlan.InspectionPlanDto;
+import com.java110.dto.inspectionPlanStaff.InspectionPlanStaffDto;
+import com.java110.dto.inspectionRoute.InspectionRoutePointRelDto;
+import com.java110.dto.inspectionTask.InspectionTaskDto;
+import com.java110.dto.task.TaskDto;
+import com.java110.intf.community.*;
+import com.java110.job.quartz.TaskSystemQuartz;
+import com.java110.po.inspection.InspectionTaskDetailPo;
+import com.java110.po.inspection.InspectionTaskPo;
+import com.java110.utils.util.DateUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+@Component
+public class GeneratorInspectionTaskTemplate extends TaskSystemQuartz {
+
+    @Autowired
+    private IInspectionPlanInnerServiceSMO inspectionPlanInnerServiceSMOImpl;
+
+    @Autowired
+    private IInspectionPlanStaffInnerServiceSMO inspectionPlanStaffInnerServiceSMOImpl;
+
+    @Autowired
+    private IInspectionRoutePointRelInnerServiceSMO inspectionRoutePointRelInnerServiceSMOImpl;
+
+
+    @Autowired
+    private IInspectionTaskInnerServiceSMO inspectionTaskInnerServiceSMOImpl;
+
+    @Autowired
+    private IInspectionTaskDetailInnerServiceSMO inspectionTaskDetailInnerServiceSMOImpl;
+
+    @Override
+    protected void process(TaskDto taskDto) throws Exception {
+        logger.debug("开始执行微信模板信息推送" + taskDto.toString());
+
+        // 获取小区
+        List<CommunityDto> communityDtos = getAllCommunity();
+
+        for (CommunityDto communityDto : communityDtos) {
+            try {
+                generatorTask(taskDto, communityDto);
+            } catch (Exception e) {
+                logger.error("推送消息失败", e);
+            }
+        }
+    }
+
+    /**
+     * 巡检任务
+     *
+     * @param taskDto
+     * @param communityDto
+     */
+    private void generatorTask(TaskDto taskDto, CommunityDto communityDto) {
+        InspectionPlanDto inspectionPlanDto = new InspectionPlanDto();
+        inspectionPlanDto.setCommunityId(communityDto.getCommunityId());
+        inspectionPlanDto.setState(InspectionPlanDto.STATE_RUN);
+        List<InspectionPlanDto> inspectionPlanDtos = inspectionPlanInnerServiceSMOImpl.queryInspectionPlans(inspectionPlanDto);
+
+        for (InspectionPlanDto tmpInspectionPlanDto : inspectionPlanDtos) {
+            dealInspectionPlan(tmpInspectionPlanDto, taskDto, communityDto);
+        }
+    }
+
+    /**
+     * 处理巡检计划
+     *
+     * @param tmpInspectionPlanDto
+     * @param taskDto
+     * @param communityDto
+     */
+    private void dealInspectionPlan(InspectionPlanDto tmpInspectionPlanDto, TaskDto taskDto, CommunityDto communityDto) {
+
+        InspectionPlanStaffDto inspectionPlanStaffDto = new InspectionPlanStaffDto();
+        inspectionPlanStaffDto.setCommunityId(tmpInspectionPlanDto.getCommunityId());
+        inspectionPlanStaffDto.setInspectionPlanId(tmpInspectionPlanDto.getInspectionPlanId());
+        List<InspectionPlanStaffDto> inspectionPlanStaffDtos = inspectionPlanStaffInnerServiceSMOImpl.queryInspectionPlanStaffs(inspectionPlanStaffDto);
+
+        List<InspectionTaskPo> inspectionTaskPos = new ArrayList<>();
+        List<InspectionTaskDetailPo> inspectionTaskDetailPos = new ArrayList<>();
+
+        for (InspectionPlanStaffDto tmpInspectionPlanStaffDto : inspectionPlanStaffDtos) {
+            generatorStaffTask(tmpInspectionPlanDto, taskDto, communityDto, tmpInspectionPlanStaffDto, inspectionTaskPos, inspectionTaskDetailPos);
+        }
+
+        if (inspectionTaskPos.size() < 1) {
+            return;
+        }
+
+        if (inspectionTaskDetailPos.size() < 1) {
+            return;
+        }
+        inspectionTaskInnerServiceSMOImpl.saveInspectionTask(inspectionTaskPos);
+
+        inspectionTaskInnerServiceSMOImpl.saveInspectionTaskDetail(inspectionTaskDetailPos);
+
+    }
+
+    /**
+     * 每日
+     *
+     * @param tmpInspectionPlanDto
+     * @param taskDto
+     * @param communityDto
+     */
+    private boolean dealDayInspectionPlan(InspectionPlanDto tmpInspectionPlanDto, TaskDto taskDto, CommunityDto communityDto,
+                                          InspectionPlanStaffDto tmpInspectionPlanStaffDto, List<InspectionTaskPo> inspectionTaskPos,
+                                          List<InspectionTaskDetailPo> inspectionTaskDetailPos) {
+
+        InspectionTaskDto inspectionTaskDto = new InspectionTaskDto();
+        inspectionTaskDto.setCommunityId(tmpInspectionPlanDto.getCommunityId());
+        inspectionTaskDto.setInspectionPlanId(tmpInspectionPlanDto.getInspectionPlanId());
+        inspectionTaskDto.setIpStaffId(tmpInspectionPlanStaffDto.getIpStaffId());
+
+        Calendar calendar = Calendar.getInstance();
+        calendar.add(Calendar.DATE, 1);
+        inspectionTaskDto.setScopeTime(calendar.getTime());
+        inspectionTaskDto.setCreateTime(new Date());
+        List<InspectionTaskDto> inspectionTaskDtos = inspectionTaskInnerServiceSMOImpl.queryInspectionTasks(inspectionTaskDto);
+
+        if (inspectionTaskDtos != null && inspectionTaskDtos.size() > 0) { // 已经生成过
+            return true;
+        }
+
+        return false;
+
+    }
+
+    private void generatorStaffTask(InspectionPlanDto tmpInspectionPlanDto, TaskDto taskDto, CommunityDto communityDto,
+                                    InspectionPlanStaffDto tmpInspectionPlanStaffDto, List<InspectionTaskPo> inspectionTaskPos,
+                                    List<InspectionTaskDetailPo> inspectionTaskDetailPos) {
+
+        //巡检方式
+        String inspectionPlanPeriod = tmpInspectionPlanDto.getInspectionPlanPeriod();
+
+        boolean hasInspection = false;
+        switch (inspectionPlanPeriod) {
+            case InspectionPlanDto.INSPECTION_PLAN_PERIOD_DAY:
+                hasInspection = dealDayInspectionPlan(tmpInspectionPlanDto, taskDto, communityDto, tmpInspectionPlanStaffDto, inspectionTaskPos, inspectionTaskDetailPos);
+                break;
+            case InspectionPlanDto.INSPECTION_PLAN_PERIOD_WEEK:
+                hasInspection = dealWeekInspectionPlan(tmpInspectionPlanDto, taskDto, communityDto, tmpInspectionPlanStaffDto, inspectionTaskPos, inspectionTaskDetailPos);
+                break;
+            case InspectionPlanDto.INSPECTION_PLAN_PERIOD_NEXT_DAY:
+                hasInspection = dealNextDayInspectionPlan(tmpInspectionPlanDto, taskDto, communityDto, tmpInspectionPlanStaffDto, inspectionTaskPos, inspectionTaskDetailPos);
+                break;
+        }
+        if (hasInspection) {
+            return;
+        }
+
+
+        String nowTime = DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_B) + " ";
+
+        InspectionTaskPo inspectionTaskPo = new InspectionTaskPo();
+        inspectionTaskPo.setInspectionPlanId(tmpInspectionPlanDto.getInspectionPlanId());
+        inspectionTaskPo.setCommunityId(tmpInspectionPlanDto.getCommunityId());
+        inspectionTaskPo.setIpStaffId(tmpInspectionPlanStaffDto.getIpStaffId());
+        inspectionTaskPo.setPlanInsTime(nowTime + tmpInspectionPlanDto + ":00");
+        inspectionTaskPo.setPlanUserId(tmpInspectionPlanStaffDto.getStaffId());
+        inspectionTaskPo.setPlanUserName(tmpInspectionPlanStaffDto.getStaffName());
+        inspectionTaskPo.setSignType(tmpInspectionPlanDto.getSignType());
+        inspectionTaskPo.setTaskId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_taskId));
+
+
+        InspectionRoutePointRelDto inspectionRoutePointRelDto = new InspectionRoutePointRelDto();
+        inspectionRoutePointRelDto.setCommunityId(tmpInspectionPlanDto.getCommunityId());
+        inspectionRoutePointRelDto.setInspectionRouteId(tmpInspectionPlanDto.getInspectionRouteId());
+        List<InspectionRoutePointRelDto> inspectionRoutePointRelDtos = inspectionRoutePointRelInnerServiceSMOImpl.queryInspectionRoutePointRels(inspectionRoutePointRelDto);
+        if (inspectionRoutePointRelDtos == null || inspectionRoutePointRelDtos.size() < 1) {
+            return;//巡检点为空时不生成 巡检任务
+        }
+        InspectionTaskDetailPo inspectionTaskDetailPo = null;
+        for (InspectionRoutePointRelDto tmpInspectionRoutePointRelDto : inspectionRoutePointRelDtos) {
+            inspectionTaskDetailPo = new InspectionTaskDetailPo();
+            inspectionTaskDetailPo.setCommunityId(tmpInspectionPlanDto.getCommunityId());
+            inspectionTaskDetailPo.setInspectionId(tmpInspectionRoutePointRelDto.getInspectionId());
+            inspectionTaskDetailPo.setInspectionName(tmpInspectionRoutePointRelDto.getInspectionName());
+            inspectionTaskDetailPo.setTaskId(inspectionTaskPo.getTaskId());
+            inspectionTaskDetailPo.setTaskDetailId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_taskDetailId));
+            inspectionTaskDetailPos.add(inspectionTaskDetailPo);
+        }
+
+
+        inspectionTaskPos.add(inspectionTaskPo);
+
+
+    }
+
+    /**
+     * 隔天
+     *
+     * @param tmpInspectionPlanDto
+     * @param taskDto
+     * @param communityDto
+     */
+    private boolean dealNextDayInspectionPlan(InspectionPlanDto tmpInspectionPlanDto, TaskDto taskDto, CommunityDto communityDto,
+                                              InspectionPlanStaffDto tmpInspectionPlanStaffDto, List<InspectionTaskPo> inspectionTaskPos,
+                                              List<InspectionTaskDetailPo> inspectionTaskDetailPos) {
+        InspectionTaskDto inspectionTaskDto = new InspectionTaskDto();
+        inspectionTaskDto.setCommunityId(tmpInspectionPlanDto.getCommunityId());
+        inspectionTaskDto.setInspectionPlanId(tmpInspectionPlanDto.getInspectionPlanId());
+        inspectionTaskDto.setIpStaffId(tmpInspectionPlanStaffDto.getIpStaffId());
+
+        Calendar calendar = Calendar.getInstance();
+        calendar.add(Calendar.DATE, 2);
+        inspectionTaskDto.setScopeTime(calendar.getTime());
+        inspectionTaskDto.setCreateTime(new Date());
+        List<InspectionTaskDto> inspectionTaskDtos = inspectionTaskInnerServiceSMOImpl.queryInspectionTasks(inspectionTaskDto);
+
+        if (inspectionTaskDtos != null && inspectionTaskDtos.size() > 0) { // 已经生成过
+            return true;
+        }
+
+        return false;
+    }
+
+    /**
+     * 每周
+     *
+     * @param tmpInspectionPlanDto
+     * @param taskDto
+     * @param communityDto
+     */
+    private boolean dealWeekInspectionPlan(InspectionPlanDto tmpInspectionPlanDto, TaskDto taskDto, CommunityDto communityDto,
+                                           InspectionPlanStaffDto tmpInspectionPlanStaffDto, List<InspectionTaskPo> inspectionTaskPos,
+                                           List<InspectionTaskDetailPo> inspectionTaskDetailPos) {
+        InspectionTaskDto inspectionTaskDto = new InspectionTaskDto();
+        inspectionTaskDto.setCommunityId(tmpInspectionPlanDto.getCommunityId());
+        inspectionTaskDto.setInspectionPlanId(tmpInspectionPlanDto.getInspectionPlanId());
+        inspectionTaskDto.setIpStaffId(tmpInspectionPlanStaffDto.getIpStaffId());
+
+        Calendar calendar = Calendar.getInstance();
+        calendar.add(Calendar.DATE, 7);
+        inspectionTaskDto.setScopeTime(calendar.getTime());
+        inspectionTaskDto.setCreateTime(new Date());
+        List<InspectionTaskDto> inspectionTaskDtos = inspectionTaskInnerServiceSMOImpl.queryInspectionTasks(inspectionTaskDto);
+
+        if (inspectionTaskDtos != null && inspectionTaskDtos.size() > 0) { // 已经生成过
+            return true;
+        }
+
+        return false;
+
+    }
+
+
+}