@ -42,6 +42,8 @@ public class ProjectService implements IProjectService {
@Resource
private PatientWisdomCarMapper patientWisdomCarMapper ;
@Resource
private IAsyncService asyncService ;
@Resource
private Snowflake snowflake ;
@Override
@ -55,53 +57,58 @@ public class ProjectService implements IProjectService {
}
// TODO 待确认,是否处理成已提交不再修改????
StepTask stepTask = stepTasks . get ( 0 ) ;
saveData ( param . getStartTime ( ) , stepTask , userId , Constant . OPERATION_USER ) ;
}
@Override
public void saveData ( Long startTime , StepTask stepTask , Long operationId , byte operation ) {
PatientDataExample dataExample = new PatientDataExample ( ) ;
dataExample . createCriteria ( ) . andTaskSubIdEqualTo ( param . getTaskSubId ( ) ) . andStepIdEqualTo ( stepTask . getStepId ( ) ) ;
dataExample . createCriteria ( ) . andTaskSubIdEqualTo ( stepTask . getTaskSubId ( ) ) . andStepIdEqualTo ( stepTask . getStepId ( ) ) ;
List < PatientData > patientData = patientDataDao . selectByExample ( dataExample ) ;
if ( CollectionUtil . isNotEmpty ( patientData ) ) {
log . info ( "taskId:{}, stepId:{}已经存在,不再修改" , param . getTaskSubId ( ) , stepTask . getStepId ( ) ) ;
log . info ( "taskId:{}, stepId:{}已经存在,不再修改" , stepTask . getTaskSubId ( ) , stepTask . getStepId ( ) ) ;
PatientData data = patientData . get ( 0 ) ;
// 未推送
if ( data . getPushStatus ( ) = = Constant . PUSH_STATUS_SUCCESS ) {
log . info ( "已推送成功,不处理" ) ;
return ;
}
// TODO 异步推送数据 根据结果修改状态
PatientData updateData = new PatientData ( ) ;
updateData . setId ( data . getId ( ) ) ;
updateData . setPushStatus ( Constant . PUSH_STATUS_SUCCESS ) ;
patientDataDao . updateByPrimaryKeySelective ( updateData ) ;
// 异步推送数据 根据结果修改状态
asyncService . pushTime ( stepTask , data ) ;
return ;
}
// TODO 判断是否为结束结点
// 判断是否为结束结点
Step step = stepDao . selectByPrimaryKey ( stepTask . getStepId ( ) ) ;
Integer max = stepDao . getMaxSequence ( Constant . STEP_TYPE_REAL ) ;
if ( step ! = null & & max ! = null & & step . getSequence ( ) ! = null & & step . getSequence ( ) . intValue ( ) = = max . intValue ( ) ) {
// 修改平车结束时间点
ProjectVo . BindCar bindCar = stepTaskDao . getBindCarTaskId ( param . getTaskSubId ( ) ) ;
ProjectVo . BindCar bindCar = stepTaskDao . getBindCarTaskId ( stepTask . getTaskSubId ( ) ) ;
if ( bindCar = = null ) {
log . info ( "出现异常,未找到绑定平车:{}" , param . getTaskSubId ( ) ) ;
log . info ( "出现异常,未找到绑定平车:{}" , stepTask . getTaskSubId ( ) ) ;
throw new BaseException ( CodeEnum . PARAM_ERROR ) ;
}
PatientWisdomCar patientWisdomCar = new PatientWisdomCar ( ) ;
patientWisdomCar . setId ( bindCar . getId ( ) ) ;
patientWisdomCar . setEndTime ( param . getS tartTime( ) ) ;
patientWisdomCar . setEndTime ( s tartTime) ;
patientWisdomCarMapper . updateByPrimaryKeySelective ( patientWisdomCar ) ;
}
PatientData data = new PatientData ( ) ;
data . setId ( snowflake . nextId ( ) ) ;
data . setUserId ( userId ) ;
data . setTaskSubId ( param . getTaskSubId ( ) ) ;
if ( operation = = Constant . OPERATION_USER ) {
data . setUserId ( operationId ) ;
} else {
data . setWisdomCarRecordId ( operationId ) ;
}
data . setTaskSubId ( stepTask . getTaskSubId ( ) ) ;
data . setStepId ( stepTask . getStepId ( ) ) ;
data . setPushStatus ( Constant . PUSH_STATUS_NO ) ;
data . setStartTime ( param . getStartTime ( ) ) ;
data . setType ( Constant . OPERATION_USER ) ;
data . setStartTime ( s tartTime) ;
data . setType ( operation ) ;
patientDataDao . insertSelective ( data ) ;
// TODO 异步推送数据 根据结果修改状态
// 异步推送数据 根据结果修改状态
asyncService . pushTime ( stepTask , data ) ;
}
@Override