diff --git a/srs-admin/src/main/java/com/srs/web/controller/survey/SurItineraryController.java b/srs-admin/src/main/java/com/srs/web/controller/survey/SurItineraryController.java index dcb26b3..16251c0 100644 --- a/srs-admin/src/main/java/com/srs/web/controller/survey/SurItineraryController.java +++ b/srs-admin/src/main/java/com/srs/web/controller/survey/SurItineraryController.java @@ -429,7 +429,7 @@ public class SurItineraryController extends BaseController { LeaveExport entity=new LeaveExport(); // 逐条取出每个学生的数据 Long surveyId=param.getSurveyId(); - String surveyName =surveyId==null?"": surSurveyService.selectSurSurveyBySurveyId(surveyId).getSurveyName(); + String surveyName =surveyId==null?"":surSurveyService.selectSurSurveyBySurveyId(surveyId).getSurveyName(); String className =student.getClassName(); String stuNo =student.getStuNo(); String stuName =student.getStuName(); @@ -448,7 +448,6 @@ public class SurItineraryController extends BaseController { util.exportExcel(response, listExport, "学生假期离校填写数据"); } - /** * 获取学生假期返校详细信息 */ diff --git a/srs-flowable/src/main/java/com/srs/flowable/flow/FlowableUtils.java b/srs-flowable/src/main/java/com/srs/flowable/flow/FlowableUtils.java index 4612924..53e8ca8 100644 --- a/srs-flowable/src/main/java/com/srs/flowable/flow/FlowableUtils.java +++ b/srs-flowable/src/main/java/com/srs/flowable/flow/FlowableUtils.java @@ -111,12 +111,16 @@ public class FlowableUtils { } // 类型为子流程,则添加子流程开始节点出口处相连的节点 if (sequenceFlow.getSourceFlowElement() instanceof SubProcess) { - // 获取子流程用户任务节点 - List childUserTaskList = findChildProcessUserTasks((StartEvent) ((SubProcess) sequenceFlow.getSourceFlowElement()).getFlowElements().toArray()[0], null, null); - // 如果找到节点,则说明该线路找到节点,不继续向下找,反之继续 - if (childUserTaskList != null && childUserTaskList.size() > 0) { - userTaskList.addAll(childUserTaskList); - continue; + // 获取子流程元素集合 + Collection subProcessElements = ((SubProcess) sequenceFlow.getSourceFlowElement()).getFlowElements(); + if (subProcessElements != null && !subProcessElements.isEmpty()) { + // 获取子流程用户任务节点 + List childUserTaskList = findChildProcessUserTasks((StartEvent) subProcessElements.toArray()[0], null, null); + // 如果找到节点,则说明该线路找到节点,不继续向下找,反之继续 + if (childUserTaskList != null && childUserTaskList.size() > 0) { + userTaskList.addAll(childUserTaskList); + continue; + } } } // 继续迭代 @@ -162,11 +166,14 @@ public class FlowableUtils { } // 如果节点为子流程节点情况,则从节点中的第一个节点开始获取 if (sequenceFlow.getTargetFlowElement() instanceof SubProcess) { - List childUserTaskList = iteratorFindChildUserTasks((FlowElement) (((SubProcess) sequenceFlow.getTargetFlowElement()).getFlowElements().toArray()[0]), runTaskKeyList, hasSequenceFlow, null); - // 如果找到节点,则说明该线路找到节点,不继续向下找,反之继续 - if (childUserTaskList != null && childUserTaskList.size() > 0) { - userTaskList.addAll(childUserTaskList); - continue; + Collection subProcessElements = ((SubProcess) sequenceFlow.getTargetFlowElement()).getFlowElements(); + if (subProcessElements != null && !subProcessElements.isEmpty()) { + List childUserTaskList = iteratorFindChildUserTasks((FlowElement) subProcessElements.toArray()[0], runTaskKeyList, hasSequenceFlow, null); + // 如果找到节点,则说明该线路找到节点,不继续向下找,反之继续 + if (childUserTaskList != null && childUserTaskList.size() > 0) { + userTaskList.addAll(childUserTaskList); + continue; + } } } // 继续迭代 @@ -206,11 +213,14 @@ public class FlowableUtils { } // 如果节点为子流程节点情况,则从节点中的第一个节点开始获取 if (sequenceFlow.getTargetFlowElement() instanceof SubProcess) { - List childUserTaskList = findChildProcessUserTasks((FlowElement) (((SubProcess) sequenceFlow.getTargetFlowElement()).getFlowElements().toArray()[0]), hasSequenceFlow, null); - // 如果找到节点,则说明该线路找到节点,不继续向下找,反之继续 - if (childUserTaskList != null && childUserTaskList.size() > 0) { - userTaskList.addAll(childUserTaskList); - continue; + Collection subProcessElements = ((SubProcess) sequenceFlow.getTargetFlowElement()).getFlowElements(); + if (subProcessElements != null && !subProcessElements.isEmpty()) { + List childUserTaskList = findChildProcessUserTasks((FlowElement) subProcessElements.toArray()[0], hasSequenceFlow, null); + // 如果找到节点,则说明该线路找到节点,不继续向下找,反之继续 + if (childUserTaskList != null && childUserTaskList.size() > 0) { + userTaskList.addAll(childUserTaskList); + continue; + } } } // 继续迭代 @@ -260,12 +270,15 @@ public class FlowableUtils { } // 如果该节点为开始节点,且存在上级子节点,则顺着上级子节点继续迭代 if (sequenceFlow.getSourceFlowElement() instanceof SubProcess) { - dirtyRoads = findChildProcessAllDirtyRoad((StartEvent) ((SubProcess) sequenceFlow.getSourceFlowElement()).getFlowElements().toArray()[0], null, dirtyRoads); - // 是否存在子流程上,true 是,false 否 - Boolean isInChildProcess = dirtyTargetInChildProcess((StartEvent) ((SubProcess) sequenceFlow.getSourceFlowElement()).getFlowElements().toArray()[0], null, targets, null); - if (isInChildProcess) { - // 已在子流程上找到,该路线结束 - continue; + Collection subProcessElements = ((SubProcess) sequenceFlow.getSourceFlowElement()).getFlowElements(); + if (subProcessElements != null && !subProcessElements.isEmpty()) { + dirtyRoads = findChildProcessAllDirtyRoad((StartEvent) subProcessElements.toArray()[0], null, dirtyRoads); + // 是否存在子流程上,true 是,false 否 + Boolean isInChildProcess = dirtyTargetInChildProcess((StartEvent) subProcessElements.toArray()[0], null, targets, null); + if (isInChildProcess) { + // 已在子流程上找到,该路线结束 + continue; + } } } // 继续迭代 @@ -303,7 +316,10 @@ public class FlowableUtils { dirtyRoads.add(sequenceFlow.getTargetFlowElement().getId()); // 如果节点为子流程节点情况,则从节点中的第一个节点开始获取 if (sequenceFlow.getTargetFlowElement() instanceof SubProcess) { - dirtyRoads = findChildProcessAllDirtyRoad((FlowElement) (((SubProcess) sequenceFlow.getTargetFlowElement()).getFlowElements().toArray()[0]), hasSequenceFlow, dirtyRoads); + Collection subProcessElements = ((SubProcess) sequenceFlow.getTargetFlowElement()).getFlowElements(); + if (subProcessElements != null && !subProcessElements.isEmpty()) { + dirtyRoads = findChildProcessAllDirtyRoad((FlowElement) subProcessElements.toArray()[0], hasSequenceFlow, dirtyRoads); + } } // 继续迭代 dirtyRoads = findChildProcessAllDirtyRoad(sequenceFlow.getTargetFlowElement(), hasSequenceFlow, dirtyRoads); @@ -343,7 +359,10 @@ public class FlowableUtils { } // 如果节点为子流程节点情况,则从节点中的第一个节点开始获取 if (sequenceFlow.getTargetFlowElement() instanceof SubProcess) { - inChildProcess = dirtyTargetInChildProcess((FlowElement) (((SubProcess) sequenceFlow.getTargetFlowElement()).getFlowElements().toArray()[0]), hasSequenceFlow, targets, inChildProcess); + Collection subProcessElements = ((SubProcess) sequenceFlow.getTargetFlowElement()).getFlowElements(); + if (subProcessElements != null && !subProcessElements.isEmpty()) { + inChildProcess = dirtyTargetInChildProcess((FlowElement) subProcessElements.toArray()[0], hasSequenceFlow, targets, inChildProcess); + } } // 继续迭代 inChildProcess = dirtyTargetInChildProcess(sequenceFlow.getTargetFlowElement(), hasSequenceFlow, targets, inChildProcess); diff --git a/srs-survey/src/main/java/com/srs/survey/domain/SurItinerary.java b/srs-survey/src/main/java/com/srs/survey/domain/SurItinerary.java index 20e449e..07daa5d 100644 --- a/srs-survey/src/main/java/com/srs/survey/domain/SurItinerary.java +++ b/srs-survey/src/main/java/com/srs/survey/domain/SurItinerary.java @@ -1,15 +1,22 @@ package com.srs.survey.domain; import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.srs.common.annotation.Excel; -import com.baomidou.mybatisplus.annotation.*; -import com.srs.common.enums.DesensitizedType; +import com.srs.common.core.domain.BaseEntity; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import com.srs.common.core.domain.BaseEntity; -import com.srs.common.annotation.Sensitive; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; @@ -173,6 +180,61 @@ private static final long serialVersionUID=1L; @Excel(name = "宿舍号") @TableField(exist = false) public String roomNo; + /** + * 家长是否知晓 + */ + @ApiModelProperty("家长是否知晓") + @TableField("know") + @Excel(name = "家长是否知晓") + public String know; + + /** + * 未返校原因分类 + */ + @ApiModelProperty("未返校原因分类") + @TableField("absent_school_type") + @Excel(name = "未返校原因分类") + public String absentSchoolType; + + /** + * 未返校详细原因 + */ + @ApiModelProperty("未返校详细原因") + @TableField("absent_school_remark") + @Excel(name = "未返校详细原因") + public String absentSchoolRemark; + + /** + * 到校定位 + */ + @ApiModelProperty("到校定位") + @TableField("attend_school_gps") + @Excel(name = "到校定位") + public String attendSchoolGps; + + /** + * 到校时间 + */ + @ApiModelProperty("到校时间") + @TableField("attend_school_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "到校时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + public Date attendSchoolTime; + + /** + * 状态:0.保存,1.保存,2.已审核 + */ + @ApiModelProperty("状态:0.保存,1.待审核,2.已审核") + @TableField("status") + @Excel(name = "状态:0.保存,1.待审核,2.已审核") + public String status; + + + @ApiModelProperty("预计离校时间") + @TableField("will_leave_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "预计离校时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + public Date willLeaveTime; @ApiModelProperty("是否离校") @TableField("is_leave") @@ -194,19 +256,6 @@ private static final long serialVersionUID=1L; @Excel(name = "家长是否知晓(离校、留校)") public String famKnow; - - @ApiModelProperty("预计离校时间") - @TableField("will_leave_time") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "预计离校时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") - public Date willLeaveTime; - - @ApiModelProperty("去向地") - @TableField("will_addr") - @Excel(name = "去向地") - public String willAddr; - - @ApiModelProperty("计划返校时间") @TableField("scheduled_return_time") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @@ -239,6 +288,15 @@ private static final long serialVersionUID=1L; // @Excel(name = "到家定位") public String homeGps; + @ApiModelProperty("去向地") + @TableField("will_addr") + @Excel(name = "去向地") + public String willAddr; + + @ApiModelProperty("去向地详细地址") + @TableField("will_detail_addr") + @Excel(name = "去向地详细地址") + public String willDetailAddr; @TableField("home_gps_addr") public String homeGpsAddr; @@ -259,40 +317,6 @@ private static final long serialVersionUID=1L; @Excel(name = "是否到校") public String reachSchoolStatus; - - - - @ApiModelProperty("到校定位") - @TableField("attend_school_gps") -// @Excel(name = "到校定位") - public String attendSchoolGps; - - /** - * 到校时间 - */ - @ApiModelProperty("到校时间") - @TableField("attend_school_time") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "到校时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") - public Date attendSchoolTime; - - - /** - * 未返校原因分类 - */ - @ApiModelProperty("未返校原因分类") - @TableField("absent_school_type") - @Excel(name = "未返校原因分类") - public String absentSchoolType; - - /** - * 未返校详细原因 - */ - @ApiModelProperty("未返校详细原因") - @TableField("absent_school_remark") - @Excel(name = "未返校详细原因") - public String absentSchoolRemark; - /** * 家长姓名 */ @@ -309,24 +333,6 @@ private static final long serialVersionUID=1L; @Excel(name = "家长电话(返校)") public String parentPhone; - /** - * 家长是否知晓 - */ - @ApiModelProperty("家长是否知晓(返校)") - @TableField("know") - @Excel(name = "家长是否知晓(返校)") - public String know; - - - /** - * 状态:0.保存,1.保存,2.已审核 - */ - @ApiModelProperty("返校审核状态") - @TableField("status") - @Excel(name = "返校审核状态",dictType = "sur_status") - public String status; - - @TableField("stu_fdy_name") @Excel(name = "学生辅导员姓名")