diff --git a/web-app/src/main/java/com/zcloud/eightwork/command/TaskLogUpdateExe.java b/web-app/src/main/java/com/zcloud/eightwork/command/TaskLogUpdateExe.java index 59bc1bd..9e679cc 100644 --- a/web-app/src/main/java/com/zcloud/eightwork/command/TaskLogUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/eightwork/command/TaskLogUpdateExe.java @@ -4,17 +4,25 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.json.JSONUtil; import com.alibaba.cola.exception.BizException; import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zcloud.eightwork.domain.gateway.TaskLogGateway; import com.zcloud.eightwork.domain.model.MeasuresLogsE; import com.zcloud.eightwork.domain.model.TaskLogE; +import com.zcloud.eightwork.domain.model.enums.MenuEnum; +import com.zcloud.eightwork.domain.model.enums.WorkCodeEnum; import com.zcloud.eightwork.dto.TaskLogNextCmd; import com.zcloud.eightwork.dto.TaskLogUpdateCmd; import com.zcloud.eightwork.dto.TaskSignStepInfoCmd; +import com.zcloud.eightwork.persistence.dataobject.EightworkInfoDO; import com.zcloud.eightwork.persistence.dataobject.MeasuresLogsDO; import com.zcloud.eightwork.persistence.dataobject.TaskLogDO; import com.zcloud.eightwork.persistence.repository.EightworkInfoRepository; import com.zcloud.eightwork.persistence.repository.MeasuresLogsRepository; import com.zcloud.eightwork.persistence.repository.TaskLogRepository; +import com.zcloud.gbscommon.todolistmq.TodoListEventPusherUtil; +import com.zcloud.gbscommon.todolistmq.event.TodoListAddEvent; +import com.zcloud.gbscommon.todolistmq.event.TodoListCompleteEvent; import lombok.AllArgsConstructor; import org.apache.commons.lang.StringUtils; import org.springframework.beans.BeanUtils; @@ -39,6 +47,7 @@ public class TaskLogUpdateExe { private final TaskLogRepository taskLogRepository; private final MeasuresLogsRepository measuresLogsRepository; private final EightworkInfoRepository eightworkInfoRepository; + private final TodoListEventPusherUtil todoListEventPusherUtil; @Transactional(rollbackFor = Exception.class) public void execute(TaskLogUpdateCmd taskLogUpdateCmd) { @@ -62,6 +71,11 @@ public class TaskLogUpdateExe { if (log.getSignStepFlag() == 1) { log.setSignPath(cmd.getSignPath()); } + + TodoListCompleteEvent todoCompletedTaskEvent = new TodoListCompleteEvent(); + todoCompletedTaskEvent.setForeignSubsidiaryKey(log.getId()); + todoListEventPusherUtil.sendMessageCompleteEvent(todoCompletedTaskEvent); + TaskLogDO logDO = new TaskLogDO(); BeanUtils.copyProperties(log, logDO); actionLogs.add(logDO); @@ -147,12 +161,25 @@ public class TaskLogUpdateExe { if (nextStepTemp.getStatus() == -1) { // 步骤可跳过 并且未设置签字人 则判断为跳过步骤 handleNextStep(nextStepTemp, actionLogs, logs); } else { // 非跳过时 + Long workId = eightworkInfoRepository.getOne(new LambdaQueryWrapper().select(EightworkInfoDO::getId).eq(EightworkInfoDO::getWorkId, log.getWorkId())).getId(); // 可能涉及多人签字 nextStep.forEach(next -> { next.setStatus(0); TaskLogDO nextLogDO = new TaskLogDO(); BeanUtils.copyProperties(next, nextLogDO); actionLogs.add(nextLogDO); + + // 添加待办 + TodoListAddEvent event = new TodoListAddEvent(); + event.setTitle("您有一条"+ WorkCodeEnum.getNameByWorkType(log.getWorkType()) +"流程待处理"); + event.setContent(next.getNextStepName()); + event.setForeignKey(workId); // 业务表ID + event.setForeignSubsidiaryKey(next.getId()); // 业务附表ID 没有附表时为foreignKey的值 + event.setReceiveUser(next.getActUser());// user表ID + event.setPcFlag(1); // 是否PC端待办 1是 0否 + event.setAppFlag(1); // 是否APP端待办 1是 0否 + event.setOtherParams(new JSONObject()); + todoListEventPusherUtil.sendMessageAddEvent(event); }); eightworkInfoRepository.updateWorkStatus(log.getWorkId(),nextStep.get(0).getStepName() , null); } diff --git a/web-app/src/main/java/com/zcloud/eightwork/command/query/TaskFlowQueryExe.java b/web-app/src/main/java/com/zcloud/eightwork/command/query/TaskFlowQueryExe.java index 1a3ecb6..2edcec5 100644 --- a/web-app/src/main/java/com/zcloud/eightwork/command/query/TaskFlowQueryExe.java +++ b/web-app/src/main/java/com/zcloud/eightwork/command/query/TaskFlowQueryExe.java @@ -73,7 +73,5 @@ public class TaskFlowQueryExe { return taskFlowInitCO; } - - } diff --git a/web-app/src/main/java/com/zcloud/eightwork/service/TaskFlowServiceImpl.java b/web-app/src/main/java/com/zcloud/eightwork/service/TaskFlowServiceImpl.java index 8702978..9089123 100644 --- a/web-app/src/main/java/com/zcloud/eightwork/service/TaskFlowServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/eightwork/service/TaskFlowServiceImpl.java @@ -15,6 +15,8 @@ import com.zcloud.eightwork.dto.clientobject.TaskWorkInitCO; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; + /** * web-app * diff --git a/web-client/pom.xml b/web-client/pom.xml index 1ed8a3d..120321f 100644 --- a/web-client/pom.xml +++ b/web-client/pom.xml @@ -46,5 +46,10 @@ javax.validation validation-api + + + com.alibaba.cloud + spring-cloud-starter-stream-rocketmq + diff --git a/web-client/src/main/java/com/zcloud/eightwork/api/TaskFlowServiceI.java b/web-client/src/main/java/com/zcloud/eightwork/api/TaskFlowServiceI.java index 97dd24c..df6cffc 100644 --- a/web-client/src/main/java/com/zcloud/eightwork/api/TaskFlowServiceI.java +++ b/web-client/src/main/java/com/zcloud/eightwork/api/TaskFlowServiceI.java @@ -8,6 +8,8 @@ import com.alibaba.cola.dto.SingleResponse; import com.zcloud.eightwork.dto.clientobject.TaskFlowInitCO; import com.zcloud.eightwork.dto.clientobject.TaskWorkInitCO; +import java.util.List; + /** * web-client * @@ -29,6 +31,5 @@ public interface TaskFlowServiceI { TaskFlowInitCO getFlowInit(TaskFlowQryCmd qry); - } diff --git a/web-client/src/main/java/com/zcloud/eightwork/dto/EightworkInfoPageQry.java b/web-client/src/main/java/com/zcloud/eightwork/dto/EightworkInfoPageQry.java index c5417b7..a429200 100644 --- a/web-client/src/main/java/com/zcloud/eightwork/dto/EightworkInfoPageQry.java +++ b/web-client/src/main/java/com/zcloud/eightwork/dto/EightworkInfoPageQry.java @@ -24,8 +24,14 @@ public class EightworkInfoPageQry extends PageQuery { * - `ne`: 不等比较查询,对应SQL的!=操作符 */ private String eqWorkType; + private String eqCheckNo; private Integer eqStatus; private Long eqDepartmentId; private Long eqCreateId; + private Integer eqXgfFlag; + private Integer eqInternalOperationFlag; + private Long eqProjectId; + private Long eqWorkDepartmentId; + private Long eqWorkUserId; } diff --git a/web-domain/src/main/java/com/zcloud/eightwork/domain/model/enums/WorkCodeEnum.java b/web-domain/src/main/java/com/zcloud/eightwork/domain/model/enums/WorkCodeEnum.java index 37ff8a7..4a75213 100644 --- a/web-domain/src/main/java/com/zcloud/eightwork/domain/model/enums/WorkCodeEnum.java +++ b/web-domain/src/main/java/com/zcloud/eightwork/domain/model/enums/WorkCodeEnum.java @@ -13,24 +13,26 @@ import java.util.stream.Collectors; */ @Getter public enum WorkCodeEnum { - HOT_WORK("hot_work", "DH"), - BLINDBOARD_WORK("blindboard_work", "MBCD"), - BREAKGROUND_WORK("breakground_work", "DT"), - CONFINEDSPACE_WORK("confinedspace_work", "SXKJ"), - CUTROAD_WORK("cutroad_work", "DL"), - ELECTRICITY_WORK("electricity_work", "LSYD"), - HIGH_WORK("high_work", "GC"), - HOISTING("hoisting_work", "DZ"); + HOT_WORK("hot_work", "DH","动火作业"), + BLINDBOARD_WORK("blindboard_work", "MBCD","盲板抽堵作业"), + BREAKGROUND_WORK("breakground_work", "DT","动土作业"), + CONFINEDSPACE_WORK("confinedspace_work", "SXKJ","受限空间作业"), + CUTROAD_WORK("cutroad_work", "DL","短路作业"), + ELECTRICITY_WORK("electricity_work", "LSYD","临时用电作业"), + HIGH_WORK("high_work", "GC","高处作业"), + HOISTING("hoisting_work", "DZ","吊装作业"); private final String workType; private final String code; + private final String name; private static final Map CODE_MAP = Arrays.stream(values()) .collect(Collectors.toMap(WorkCodeEnum::getWorkType, Function.identity())); - WorkCodeEnum(String workType, String code) { + WorkCodeEnum(String workType, String code, String name) { this.workType = workType; this.code = code; + this.name = name; } public String getWorkType() { @@ -45,4 +47,9 @@ public enum WorkCodeEnum { WorkCodeEnum entry = CODE_MAP.get(workType); return entry != null ? entry.getCode() : null; } + + public static String getNameByWorkType(String workType) { + WorkCodeEnum entry = CODE_MAP.get(workType); + return entry != null ? entry.getName() : null; + } } diff --git a/web-infrastructure/src/main/resources/mapper/EightworkInfoMapper.xml b/web-infrastructure/src/main/resources/mapper/EightworkInfoMapper.xml index 064a307..63f4dc1 100644 --- a/web-infrastructure/src/main/resources/mapper/EightworkInfoMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/EightworkInfoMapper.xml @@ -3,6 +3,48 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +