@ -155,17 +155,22 @@ public class DmsBillsInspectInstanceServiceImpl implements IDmsBillsInspectInsta
dmsInspectInstanceDetail . setInspectStandard ( dmsInspectRouteDetail . getInspectStandard ( ) ) ;
dmsInspectInstanceDetail . setInspectStatus ( "0" ) ;
dmsInspectInstanceDetailMapper . insertDmsInspectInstanceDetail ( dmsInspectInstanceDetail ) ;
Long projectId = dmsInspectInstanceDetailMapper. selectProjectI d( dmsInspectRouteDetail . getInspectStandard ( ) ) ;
Long projectId = resolveProjectIdByInspectStandar d( dmsInspectRouteDetail . getInspectStandard ( ) ) ;
DmsInspectProjectDevice queryInspectProjectDevice = new DmsInspectProjectDevice ( ) ;
queryInspectProjectDevice . setTargetType ( "2" ) ;
queryInspectProjectDevice . setTargetId ( deviceId ) ;
List < DmsInspectProjectDevice > dmsInspectProjectDevices = dmsInspectProjectDeviceMapper . selectDmsInspectProjectDeviceList ( queryInspectProjectDevice ) ;
// for(DmsInspectProjectDevice dmsInspectProjectDevice:dmsInspectProjectDevices){
DmsInspectInstanceDetailProject dmsInspectInstanceDetailProject = new DmsInspectInstanceDetailProject ( ) ;
dmsInspectInstanceDetailProject . setInstanceDetailId ( dmsInspectInstanceDetail . getInstanceDetailId ( ) ) ;
dmsInspectInstanceDetailProject . setInspectProjectId ( projectId ) ;
dmsInspectInstanceDetailProject . setCreateTime ( new Date ( ) ) ;
dmsInspectInstanceDetailProjectMapper . insertDmsInspectInstanceDetailProject ( dmsInspectInstanceDetailProject ) ;
if ( projectId ! = null ) {
DmsInspectInstanceDetailProject dmsInspectInstanceDetailProject = new DmsInspectInstanceDetailProject ( ) ;
dmsInspectInstanceDetailProject . setInstanceDetailId ( dmsInspectInstanceDetail . getInstanceDetailId ( ) ) ;
dmsInspectInstanceDetailProject . setInspectProjectId ( projectId ) ;
dmsInspectInstanceDetailProject . setCreateTime ( new Date ( ) ) ;
dmsInspectInstanceDetailProjectMapper . insertDmsInspectInstanceDetailProject ( dmsInspectInstanceDetailProject ) ;
} else {
log . warn ( "未找到巡检标准对应的项目ID, 跳过创建项目记录 | inspectStandard={}, deviceId={}, inspectRouteId={}" ,
dmsInspectRouteDetail . getInspectStandard ( ) , deviceId , dmsBillsInspectInstance . getInspectRouteId ( ) ) ;
}
// }
}
@ -187,6 +192,13 @@ public class DmsBillsInspectInstanceServiceImpl implements IDmsBillsInspectInsta
return false ;
}
private Long resolveProjectIdByInspectStandard ( String inspectStandard ) {
if ( inspectStandard = = null | | inspectStandard . trim ( ) . isEmpty ( ) ) {
return null ;
}
return dmsInspectInstanceDetailMapper . selectProjectId ( inspectStandard ) ;
}
/ * *
* 修 改 巡 检 工 单
*
@ -290,7 +302,14 @@ public class DmsBillsInspectInstanceServiceImpl implements IDmsBillsInspectInsta
Long deviceId = dmsInspectInstanceDetail . getDeviceId ( ) ;
DmsInspectInstanceDetailProject queryInspectInstanceDetailProject = new DmsInspectInstanceDetailProject ( ) ;
queryInspectInstanceDetailProject . setDeviceId ( deviceId ) ;
Long projectId = dmsInspectInstanceDetailPrjectMapper . selectProjectByStandardId ( dmsInspectInstanceDetail . getInspectStandard ( ) ) ;
Long projectId = resolveProjectIdByInspectStandard ( dmsInspectInstanceDetail . getInspectStandard ( ) ) ;
if ( projectId = = null ) {
log . warn ( "巡检标准为空或未配置项目,返回空项目列表 | inspectInstanceId={}, instanceDetailId={}, inspectStandard={}" ,
dmsBillsInspectInstanceScanVo . getInspectInstanceId ( ) , dmsInspectInstanceDetail . getInstanceDetailId ( ) ,
dmsInspectInstanceDetail . getInspectStandard ( ) ) ;
dmsInspectInstanceDetail . setDmsInspectInstanceDetailProjectList ( new ArrayList < > ( ) ) ;
return dmsInspectInstanceDetail ;
}
queryInspectInstanceDetailProject . setInspectProjectId ( projectId ) ;
queryInspectInstanceDetailProject . setInstanceDetailId ( dmsInspectInstanceDetail . getInstanceDetailId ( ) ) ;
List < DmsInspectInstanceDetailProject > dmsInspectInstanceDetailProjects = dmsInspectInstanceDetailPrjectMapper . selectDmsInspectInstanceDetailProjectJoinList ( queryInspectInstanceDetailProject ) ;
@ -528,7 +547,7 @@ public class DmsBillsInspectInstanceServiceImpl implements IDmsBillsInspectInsta
dmsInspectInstanceDetailMapper . insertDmsInspectInstanceDetail ( detail ) ;
// 7) 创建明细项目记录:仅在“巡检标准 -> 项目”映射存在时落库。
Long projectId = dmsInspectInstanceDetailMapper. selectProjectI d( routeDetail . getInspectStandard ( ) ) ;
Long projectId = resolveProjectIdByInspectStandar d( routeDetail . getInspectStandard ( ) ) ;
if ( projectId ! = null ) {
DmsInspectInstanceDetailProject detailProject = new DmsInspectInstanceDetailProject ( ) ;
detailProject . setInstanceDetailId ( detail . getInstanceDetailId ( ) ) ;