6 changed files with 112 additions and 28 deletions
-
14src/main/java/com/gaotao/modules/automatedWarehouse/entity/WmsTransportTask.java
-
22src/main/java/com/gaotao/modules/automatedWarehouse/service/TransportTaskErrorService.java
-
27src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/AutoTaskServiceImpl.java
-
21src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/KitTransportProcessServiceImpl.java
-
50src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/TransportTaskErrorServiceImpl.java
-
6src/main/resources/mapper/automatedWarehouse/AgvTaskMapper.xml
@ -0,0 +1,22 @@ |
|||||
|
package com.gaotao.modules.automatedWarehouse.service; |
||||
|
|
||||
|
/** |
||||
|
* 运输任务错误记录服务接口 - rqrq |
||||
|
* <p>专门用于在独立事务中记录错误信息,避免循环依赖</p> |
||||
|
* |
||||
|
* @author rqrq |
||||
|
* @date 2025/12/03 |
||||
|
*/ |
||||
|
public interface TransportTaskErrorService { |
||||
|
|
||||
|
/** |
||||
|
* @Description 独立事务记录运输任务错误信息(不受外层事务回滚影响)- rqrq |
||||
|
* @param taskNo 任务单号 |
||||
|
* @param errorCode 错误代码 |
||||
|
* @param errorMsg 错误信息 |
||||
|
* @author rqrq |
||||
|
* @date 2025/12/03 |
||||
|
*/ |
||||
|
void updateTransportTaskErrorInNewTransaction(String taskNo, String errorCode, String errorMsg); |
||||
|
} |
||||
|
|
||||
@ -0,0 +1,50 @@ |
|||||
|
package com.gaotao.modules.automatedWarehouse.service.impl; |
||||
|
|
||||
|
import com.gaotao.modules.automatedWarehouse.mapper.AgvTaskMapper; |
||||
|
import com.gaotao.modules.automatedWarehouse.service.TransportTaskErrorService; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
import org.springframework.transaction.annotation.Propagation; |
||||
|
import org.springframework.transaction.annotation.Transactional; |
||||
|
|
||||
|
/** |
||||
|
* 运输任务错误记录服务实现类 - rqrq |
||||
|
* <p>专门用于在独立事务中记录错误信息,避免循环依赖</p> |
||||
|
* |
||||
|
* @author rqrq |
||||
|
* @date 2025/12/03 |
||||
|
*/ |
||||
|
@Service |
||||
|
public class TransportTaskErrorServiceImpl implements TransportTaskErrorService { |
||||
|
|
||||
|
@Autowired |
||||
|
private AgvTaskMapper agvTaskMapper; |
||||
|
|
||||
|
/** |
||||
|
* @Description 独立事务记录运输任务错误信息(不受外层事务回滚影响)- rqrq |
||||
|
* <p>使用 REQUIRES_NEW 传播级别,在独立事务中执行,即使外层事务回滚,此方法的更新也会提交</p> |
||||
|
* @param taskNo 任务单号 |
||||
|
* @param errorCode 错误代码 |
||||
|
* @param errorMsg 错误信息 |
||||
|
* @author rqrq |
||||
|
* @date 2025/12/03 |
||||
|
*/ |
||||
|
@Override |
||||
|
@Transactional(propagation = Propagation.REQUIRES_NEW) |
||||
|
public void updateTransportTaskErrorInNewTransaction(String taskNo, String errorCode, String errorMsg) { |
||||
|
System.out.println("独立事务记录错误信息 - rqrq,taskNo=" + taskNo + ",errorCode=" + errorCode); |
||||
|
try { |
||||
|
// 限制错误信息长度 - rqrq |
||||
|
String limitedErrorMsg = errorMsg; |
||||
|
if (limitedErrorMsg != null && limitedErrorMsg.length() > 500) { |
||||
|
limitedErrorMsg = limitedErrorMsg.substring(0, 500); |
||||
|
} |
||||
|
agvTaskMapper.updateTransportTaskError(taskNo, errorCode, limitedErrorMsg); |
||||
|
System.out.println("错误信息记录完成 - rqrq"); |
||||
|
} catch (Exception e) { |
||||
|
System.out.println("记录错误信息失败 - rqrq:" + e.getMessage()); |
||||
|
// 不抛出异常,避免影响主流程 - rqrq |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue