|
|
|
@ -6,6 +6,7 @@ import com.alibaba.fastjson.TypeReference;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
|
|
import com.google.common.collect.Lists; |
|
|
|
|
import com.hnac.hzims.common.utils.DateUtil; |
|
|
|
|
import com.hnac.hzims.message.MessageConstants; |
|
|
|
@ -288,10 +289,11 @@ public class MaintenanceServiceImpl implements MaintenanceService {
|
|
|
|
|
* @param taskEntity |
|
|
|
|
* @param finalPlanEntity |
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
public void fillTask(OperMaintenanceTaskEntity taskEntity, OperMaintenancePlanEntity finalPlanEntity,Boolean flag) { |
|
|
|
|
DefaultTransactionDefinition defaultTransactionDefinition = new DefaultTransactionDefinition(); |
|
|
|
|
defaultTransactionDefinition.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); |
|
|
|
|
TransactionStatus transaction = dataSourceTransactionManager.getTransaction(defaultTransactionDefinition); |
|
|
|
|
// DefaultTransactionDefinition = new DefaultTransactionDefinition();
|
|
|
|
|
// defaultTransactionDefinition.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
|
|
|
|
|
// TransactionStatus transaction = dataSourceTransactionManager.getTransaction(defaultTransactionDefinition);
|
|
|
|
|
taskEntity.setId(null); |
|
|
|
|
taskEntity.setCreateTime(new Date()); |
|
|
|
|
taskEntity.setUpdateTime(new Date()); |
|
|
|
@ -322,27 +324,21 @@ public class MaintenanceServiceImpl implements MaintenanceService {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
taskService.save(taskEntity); |
|
|
|
|
dataSourceTransactionManager.commit(transaction); |
|
|
|
|
// dataSourceTransactionManager.commit(transaction);
|
|
|
|
|
//启动流程
|
|
|
|
|
String processInstanceId = this.startProcess(finalPlanEntity.getProcDefId(), taskEntity,flag); |
|
|
|
|
//推送消息
|
|
|
|
|
CompletableFuture<Void> operMaintenanceTaskEntityCompletableFuture = |
|
|
|
|
CompletableFuture.runAsync(() -> { |
|
|
|
|
taskEntity.setProcessInstanceId(processInstanceId); |
|
|
|
|
taskService.updateById(taskEntity); |
|
|
|
|
finalPlanEntity.setCreateTaskTime(new Date()); |
|
|
|
|
maintenancePlanService.updateById(finalPlanEntity); |
|
|
|
|
OperMaintenanceTaskEntity maintenanceTask = taskService.getById(taskEntity.getId()); |
|
|
|
|
//推送消息
|
|
|
|
|
this.pushTaskMessage(maintenanceTask); |
|
|
|
|
}, executor); |
|
|
|
|
//启动队列
|
|
|
|
|
try { |
|
|
|
|
CompletableFuture.allOf(operMaintenanceTaskEntityCompletableFuture).get(); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
e.printStackTrace(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
LambdaUpdateWrapper<OperMaintenanceTaskEntity> taskQueryWrapper = Wrappers.<OperMaintenanceTaskEntity>lambdaUpdate() |
|
|
|
|
.set(OperMaintenanceTaskEntity::getProcessInstanceId, processInstanceId) |
|
|
|
|
.eq(OperMaintenanceTaskEntity::getId, taskEntity.getId()); |
|
|
|
|
taskService.update(taskQueryWrapper); |
|
|
|
|
LambdaUpdateWrapper<OperMaintenancePlanEntity> planQueryWrapper = Wrappers.<OperMaintenancePlanEntity>lambdaUpdate() |
|
|
|
|
.set(OperMaintenancePlanEntity::getCreateTaskTime, new Date()) |
|
|
|
|
.eq(OperMaintenancePlanEntity::getId, finalPlanEntity.getId()); |
|
|
|
|
maintenancePlanService.update(planQueryWrapper); |
|
|
|
|
executor.execute(() -> { |
|
|
|
|
OperMaintenanceTaskEntity maintenanceTask = taskService.getById(taskEntity.getId()); |
|
|
|
|
this.pushTaskMessage(maintenanceTask); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|