OperationDESCContextManagerImpl.java
package com.mycim.server.ctx.exec.manager.impl;
import com.fa.sesa.threadlocal.LocalContext;
import com.mycim.server.base.manager.NamedObjectManager;
import com.mycim.server.ctx.exec.manager.OperationDESCContextManager;
import com.mycim.server.ctx.manager.ContextValueManager;
import com.mycim.valueobject.ObjectList;
import com.mycim.valueobject.prp.ContextValue;
import com.mycim.valueobject.prp.OperationDESCContextValue;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* @author Luopeng.Wang
* @version 6.0.0
* @date 2019/9/9
**/
@Service
@Transactional
public class OperationDESCContextManagerImpl implements OperationDESCContextManager {
@Autowired
private ContextValueManager contextValueManager;
@Autowired
private NamedObjectManager namedObjectManager;
@Override
public ContextValue getOperationDESCContextValue(Long productRrn, Long processRrn, Integer processVersion,
Long routeRrn, Long operationRrn) {
OperationDESCContextValue operationDESCContextValue = buildNewOperationDESCContextValueForProcess(productRrn,
processRrn,
processVersion,
routeRrn,
operationRrn);
ContextValue contextValue = contextValueManager
.getContextValue(operationDESCContextValue, LocalContext.getFacilityRrn());
return contextValue;
}
public OperationDESCContextValue buildNewOperationDESCContextValue() {
OperationDESCContextValue contextValue = new OperationDESCContextValue();
contextValue.setContextRrn(namedObjectManager.getNamedObjectRrn(contextValue.getContextId(),
LocalContext.getFacilityRrn(),
ObjectList.CONTEXT_KEY));
return contextValue;
}
private OperationDESCContextValue buildNewOperationDESCContextValueForProcess(Long productRrn, Long processRrn,
Integer processVersion, Long routeRrn,
Long operationRrn) {
OperationDESCContextValue contextValue = buildNewOperationDESCContextValue();
contextValue.setProductRrn(productRrn);
contextValue.setProcessRrn(processRrn);
contextValue.setProcessVersion(processVersion);
contextValue.setRouteRrn(routeRrn);
contextValue.setOperationRrn(operationRrn);
return contextValue;
}
}