diff --git a/aucma-dms/src/main/java/com/aucma/dms/domain/vo/DmsPdaDeviceParamUpdateVo.java b/aucma-dms/src/main/java/com/aucma/dms/domain/vo/DmsPdaDeviceParamUpdateVo.java new file mode 100644 index 0000000..a83fb2e --- /dev/null +++ b/aucma-dms/src/main/java/com/aucma/dms/domain/vo/DmsPdaDeviceParamUpdateVo.java @@ -0,0 +1,22 @@ +package com.aucma.dms.domain.vo; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * PDA设备参数手工更新请求对象。 + * 仅暴露设备标识与参数值,避免前端直接透传完整实体字段。 + */ +@Data +public class DmsPdaDeviceParamUpdateVo { + + /** 设备编码(可选,与deviceId至少传一个) */ + private String deviceCode; + + /** 设备主键(可选,与deviceCode至少传一个) */ + private Long deviceId; + + /** 参数值(运行时间/当日产量),按数字接收,最多2位小数 */ + private BigDecimal paramValue; +} diff --git a/aucma-dms/src/main/java/com/aucma/dms/service/impl/DmsPlanInspectTxService.java b/aucma-dms/src/main/java/com/aucma/dms/service/impl/DmsPlanInspectTxService.java new file mode 100644 index 0000000..91a8529 --- /dev/null +++ b/aucma-dms/src/main/java/com/aucma/dms/service/impl/DmsPlanInspectTxService.java @@ -0,0 +1,27 @@ +package com.aucma.dms.service.impl; + +import com.aucma.dms.mapper.DmsPlanInspectMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; + +/** + * 巡检计划事务隔离服务。 + * 单独使用 REQUIRES_NEW 推进计划时间,避免影响已提交的工单生成事务。 + */ +@Service +public class DmsPlanInspectTxService { + + @Autowired + private DmsPlanInspectMapper dmsPlanInspectMapper; + + @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class) + public int updatePlanNextTimeInNewTx(Long planInspectId, Date nextTime) { + // 单独新事务提交计划推进: + // 该事务失败时,不影响已经成功提交的工单生成事务。 + return dmsPlanInspectMapper.updatePlanNextTime(planInspectId, nextTime); + } +}