diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/convert/garden/AppGardenTaskConvert.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/convert/garden/AppGardenTaskConvert.java index d9b84fe..7cdf165 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/convert/garden/AppGardenTaskConvert.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/convert/garden/AppGardenTaskConvert.java @@ -19,6 +19,7 @@ import com.zteits.urbanops.module.workorder.dal.dataobject.attachment.Attachment import com.zteits.urbanops.module.workorder.dal.dataobject.maininfo.MainInfoExtDO; import com.zteits.urbanops.module.workorder.dal.mysql.attachment.AttachmentMapper; import com.zteits.urbanops.module.workorder.dto.AppGardenWorkOrderRespVO; +import jodd.util.StringUtil; import org.flowable.engine.history.HistoricProcessInstance; import org.flowable.engine.runtime.ProcessInstance; import org.flowable.task.api.Task; @@ -201,9 +202,11 @@ public interface AppGardenTaskConvert { default List queryAttachment(String busiLine, String busiType, String orderNo, AttachmentMapper attachmentMapper) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() - .eq(AttachmentDO::getBusiLine, busiLine) .eq(AttachmentDO::getBusiType, busiType) .eq(AttachmentDO::getOrderNo, orderNo); + if(StringUtil.isNotEmpty(busiLine)){// 全域巡查员 发起的工单 业务线有可能为空 + queryWrapper.eq(AttachmentDO::getBusiLine, busiLine); + } List attachments = attachmentMapper.selectList(queryWrapper); if (attachments == null || attachments.isEmpty()) { return List.of(); diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/convert/garden/BpmGardenWorkOrderConverter.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/convert/garden/BpmGardenWorkOrderConverter.java index e4b34cd..f389872 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/convert/garden/BpmGardenWorkOrderConverter.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/convert/garden/BpmGardenWorkOrderConverter.java @@ -7,6 +7,7 @@ import com.zteits.urbanops.module.workorder.dal.dataobject.attachment.Attachment import com.zteits.urbanops.module.workorder.dal.dataobject.garden.BpmGardenWorkOrderDO; import com.zteits.urbanops.module.workorder.dal.dataobject.maininfo.MainInfoDO; import com.zteits.urbanops.module.workorder.dal.mysql.attachment.AttachmentMapper; +import jodd.util.StringUtil; import org.springframework.beans.BeanUtils; import java.util.Arrays; @@ -104,9 +105,11 @@ public class BpmGardenWorkOrderConverter { private List queryAttachment(String busiLine, String busiType, String orderNo, AttachmentMapper attachmentMapper) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() - .eq(AttachmentDO::getBusiLine, busiLine) .eq(AttachmentDO::getBusiType, busiType) .eq(AttachmentDO::getOrderNo, orderNo); + if(StringUtil.isNotEmpty(busiLine)){// 全域巡查员 发起的工单 业务线有可能为空 + queryWrapper.eq(AttachmentDO::getBusiLine, busiLine); + } List attachments = attachmentMapper.selectList(queryWrapper); if (attachments == null || attachments.isEmpty()) { return List.of(); diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java index 43be3cd..8f083dd 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java @@ -653,7 +653,9 @@ public class BpmGardenServiceImpl implements BpmGardenService{ public void attachmentInsertOrUpdate(List imgList,String type,MainInfoDO workOrder){ if(ObjectUtils.isNotAllEmpty(imgList)){ AttachmentDO saveDO = new AttachmentDO(); - saveDO.setBusiLine(workOrder.getBusiLine()); + if(StringUtil.isNotEmpty(workOrder.getBusiLine())){// 全域巡查员 发起的工单 业务线有可能为空 + saveDO.setBusiLine(workOrder.getBusiLine()); + } saveDO.setBusiType(type); if(StringUtil.isEmpty(workOrder.getOrderNo())){ throw exception(APP_WORK_ORADER_NO_NOT_EXISTS); @@ -662,9 +664,11 @@ public class BpmGardenServiceImpl implements BpmGardenService{ String filePaths = String.join(",",imgList); saveDO.setFileNames(filePaths); LambdaQueryWrapper deleteWrapper = new LambdaQueryWrapper() - .eq(AttachmentDO::getBusiLine, workOrder.getBusiLine()) .eq(AttachmentDO::getBusiType, type) .eq(AttachmentDO::getOrderNo, workOrder.getOrderNo()); + if(StringUtil.isNotEmpty(workOrder.getBusiLine())){// 全域巡查员 发起的工单 业务线有可能为空 + deleteWrapper.eq(AttachmentDO::getBusiLine, workOrder.getBusiLine()); + } attachmentMapper.delete(deleteWrapper); attachmentMapper.insert(saveDO); } diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/listener/BpmProcessTaskAutoCompleteAIListener.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/listener/BpmProcessTaskAutoCompleteAIListener.java new file mode 100644 index 0000000..65aa787 --- /dev/null +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/listener/BpmProcessTaskAutoCompleteAIListener.java @@ -0,0 +1,35 @@ +package com.zteits.urbanops.module.workorder.service.garden.listener; + +import com.zteits.urbanops.module.bpm.api.event.BpmProcessInstanceStatusEvent; +import com.zteits.urbanops.module.bpm.api.event.BpmProcessInstanceStatusEventListener; +import com.zteits.urbanops.module.workorder.api.constant.BpmCommonConstant; +import com.zteits.urbanops.module.workorder.service.garden.BpmGardenService; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * @author yanhuiqing + * @version 1.0 + * @description: 处理流程的任务自动完成监听器 + * @date 2025/12/6 14:00 + */ +@Component +@Slf4j +public class BpmProcessTaskAutoCompleteAIListener extends BpmProcessInstanceStatusEventListener { + @Resource + private BpmGardenService gardenService; + @Override + protected String getProcessDefinitionKey() { + + //return BpmCommonConstant.BPM_GARDEN_INSPECT_WO; + return BpmCommonConstant.BPM_AI_WO; + } + + @Override + protected void onEvent(BpmProcessInstanceStatusEvent event) { + log.info("业务ID:"+event.getBusinessKey()+",业务状态"+event.getStatus()); + gardenService.updateWorkOrderStatus(Long.parseLong(event.getBusinessKey()), event.getStatus()); + + } +} diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/listener/BpmProcessTaskAutoCompleteInspectorListener.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/listener/BpmProcessTaskAutoCompleteInspectorListener.java new file mode 100644 index 0000000..e352653 --- /dev/null +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/listener/BpmProcessTaskAutoCompleteInspectorListener.java @@ -0,0 +1,35 @@ +package com.zteits.urbanops.module.workorder.service.garden.listener; + +import com.zteits.urbanops.module.bpm.api.event.BpmProcessInstanceStatusEvent; +import com.zteits.urbanops.module.bpm.api.event.BpmProcessInstanceStatusEventListener; +import com.zteits.urbanops.module.workorder.api.constant.BpmCommonConstant; +import com.zteits.urbanops.module.workorder.service.garden.BpmGardenService; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * @author yanhuiqing + * @version 1.0 + * @description: 处理流程的任务自动完成监听器 + * @date 2025/12/6 14:00 + */ +@Component +@Slf4j +public class BpmProcessTaskAutoCompleteInspectorListener extends BpmProcessInstanceStatusEventListener { + @Resource + private BpmGardenService gardenService; + @Override + protected String getProcessDefinitionKey() { + + //return BpmCommonConstant.BPM_GARDEN_INSPECT_WO; + return BpmCommonConstant.BPM_UNIVERSE_INSPECTOR_WO; + } + + @Override + protected void onEvent(BpmProcessInstanceStatusEvent event) { + log.info("业务ID:"+event.getBusinessKey()+",业务状态"+event.getStatus()); + gardenService.updateWorkOrderStatus(Long.parseLong(event.getBusinessKey()), event.getStatus()); + + } +}