ResistEqptMappingManagerImpl.java
package com.mycim.server.resist.manager.impl;
import com.fa.sesa.exception.Assert;
import com.fa.sesa.exception.Errors;
import com.fa.sesa.threadlocal.LocalContext;
import com.mycim.framework.jdbc.Page;
import com.mycim.framework.utils.lang.StringUtils;
import com.mycim.framework.utils.lang.collections.CollectionUtils;
import com.mycim.server.base.manager.NamedObjectManager;
import com.mycim.server.base.manager.TransactionLogManager;
import com.mycim.server.ems.manager.EntityManager;
import com.mycim.server.resist.dao.ResistEqptMappingDAO;
import com.mycim.server.resist.manager.ResistEqptMappingManager;
import com.mycim.server.resist.manager.ResistMappingManager;
import com.mycim.server.security.manager.StationManager;
import com.mycim.valueobject.MessageIdList;
import com.mycim.valueobject.ObjectList;
import com.mycim.valueobject.bas.TransactionLog;
import com.mycim.valueobject.consts.TransactionNames;
import com.mycim.valueobject.ems.Resist;
import com.mycim.valueobject.ems.ResistEqptMapping;
import com.mycim.valueobject.ems.ResistMapping;
import com.mycim.valueobject.security.Station;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* @author yanbing.chen
* @version 6.0.0
* @date 2019/10/31
**/
@Service
@Transactional
public class ResistEqptMappingManagerImpl implements ResistEqptMappingManager {
@Autowired
ResistEqptMappingDAO resistEqptMappingDAO;
@Autowired
EntityManager entityManager;
@Autowired
ResistMappingManager resistMappingManager;
@Autowired
NamedObjectManager namedObjectManager;
@Autowired
StationManager stationManager;
@Autowired
TransactionLogManager transactionLogManager;
@Override
public Page qryResistEqptMappingByPage(ResistEqptMapping mapping, Page page) {
if (StringUtils.isNotBlank(mapping.getResistNo())) {
mapping.setResistNo(StringUtils.replace(mapping.getResistNo(), "*", "%").toString());
}
if (StringUtils.isNotBlank(mapping.getEqptId())) {
mapping.setEqptId(
StringUtils.trimToUpperCase(StringUtils.replace(mapping.getEqptId(), "*", "%").toString()));
}
if (StringUtils.isNotBlank(mapping.getPrPipe())) {
mapping.setPrPipe(StringUtils.replace(mapping.getPrPipe(), "*", "%").toString());
}
if (StringUtils.isNotBlank(mapping.getUnit())) {
mapping.setUnit(StringUtils.replace(mapping.getUnit(), "*", "%").toString());
}
return resistEqptMappingDAO.qryResistEqptMappingByPage(mapping, page);
}
@Override
public boolean isOnlyRealPipe(String eqptId, String prPipe, String unit) {
ResistEqptMapping mapping = new ResistEqptMapping(eqptId, prPipe, unit);
return isResistEqptMappingExist(mapping);
}
@Override
public boolean isResistEqptMappingExist(ResistEqptMapping mapping) {
Page page = new Page(1, 10);
page = this.qryResistEqptMappingByPage(mapping, page);
if (CollectionUtils.isNotEmpty(page.getResults())) {
return true;
}
return false;
}
@Override
public void addResistEqptMapping(ResistEqptMapping mapping) {
ResistMapping resistMapping = resistMappingManager.getResistMappingByResistNo(mapping.getResistNo());
Assert.notNull(resistMapping,
Errors.create().key(MessageIdList.RESIST_RESIST_MISSING).content("Resist not exist!").build());
String entityNamedSpace = namedObjectManager
.getNamedSpace(LocalContext.getFacilityRrn(), ObjectList.ENTITY_KEY);
long eqptRrn = namedObjectManager
.getNamedObjectRrn(mapping.getEqptId(), entityNamedSpace, ObjectList.ENTITY_KEY,
ObjectList.EQUIPMENT_KEY);
Assert.isFalse(eqptRrn <= 0,
Errors.create().key(MessageIdList.EQUIPMENT_ID_NOT_EXIST).content("EQP ID is not exist!")
.build());
// 设备必须经过初始化事件
String eqptCurStatus = entityManager.getEntityCurrentStatus(eqptRrn);
Assert.isFalse(StringUtils.isBlank(eqptCurStatus),
Errors.create().key(MessageIdList.EQUIPMENT_EQP_NOT_INITIALIZED)
.content("The EQP is not initialized!").build());
// 添加的设备必须是%PH%工作站的设备
boolean stationFlag = true;
List<Station> stationColl = stationManager.getStationsByEquips(eqptRrn);
if (CollectionUtils.isNotEmpty(stationColl)) {
for (Station s : stationColl) {
if (StringUtils.contains(s.getInstanceId(), "PH")) {
stationFlag = false;
break;
}
}
}
Assert.isFalse(stationFlag, Errors.create().key(MessageIdList.EQUIPMENT_STATION_NOT_ALLOW)
.content("The EQP station is not allow add!").build());
String resistEqptBarcode = mapping.getEqptId() + mapping.getPrPipe() + mapping.getResistNo();
mapping.setResistEqptBarcode(resistEqptBarcode.toUpperCase());
TransactionLog transactionLog = transactionLogManager
.startTransactionLog(mapping.getCreateBy(), TransactionNames.CREATE_KEY);
resistEqptMappingDAO.addResistEqptMapping(mapping);
resistEqptMappingDAO.addResistEqptMappingH(transactionLog.getTransRrn(), 1, mapping);
transactionLogManager.markTransactionLog(transactionLog);
}
@Override
public void deleteResistEqptMapping(ResistEqptMapping mapping) {
ResistMapping resistMapping = resistMappingManager.getResistMappingByResistNo(mapping.getResistNo());
Assert.notNull(resistMapping,
Errors.create().key(MessageIdList.RESIST_RESIST_MISSING).content("Resist not exist!").build());
ResistEqptMapping existMapping = new ResistEqptMapping(mapping.getEqptId(), mapping.getPrPipe(),
mapping.getUnit(), mapping.getResistNo());
Assert.isTrue(isResistEqptMappingExist(existMapping),
Errors.create().key(MessageIdList.RESIST_RESIST_EQP_MAPPING_MISSING)
.content("Resist-EQP mapping is not exist!").build());
TransactionLog transactionLog = transactionLogManager
.startTransactionLog(mapping.getModifyBy(), TransactionNames.DELETE_KEY);
resistEqptMappingDAO.deleteResistEqptMapping(mapping);
resistEqptMappingDAO.addResistEqptMappingH(transactionLog.getTransRrn(), 1, mapping);
transactionLogManager.markTransactionLog(transactionLog);
}
@Override
public void modifyResistEqptMapping(ResistEqptMapping mapping) {
ResistMapping resistMapping = resistMappingManager.getResistMappingByResistNo(mapping.getResistNo());
Assert.notNull(resistMapping,
Errors.create().key(MessageIdList.RESIST_RESIST_MISSING).content("Resist not exist!").build());
ResistEqptMapping existMapping = new ResistEqptMapping(mapping.getEqptId(), mapping.getPrPipe(),
mapping.getUnit(), mapping.getResistNo());
Assert.isFalse(isResistEqptMappingExist(existMapping),
Errors.create().key(MessageIdList.RESIST_RESIST_EQP_MAPPING_MISSING)
.content("Resist-EQP mapping is not exist!").build());
TransactionLog transactionLog = transactionLogManager
.startTransactionLog(mapping.getModifyBy(), TransactionNames.MODIFY_KEY);
resistEqptMappingDAO.modifyResistEqptMapping(mapping);
resistEqptMappingDAO.addResistEqptMappingH(transactionLog.getTransRrn(), 1, mapping);
transactionLogManager.markTransactionLog(transactionLog);
}
@Override
public Page qryResistEqptMappingHByPage(ResistEqptMapping mapping, Page page) {
if (StringUtils.isNotBlank(mapping.getResistNo())) {
mapping.setResistNo(StringUtils.replace(mapping.getResistNo(), "*", "%").toString());
}
if (StringUtils.isNotBlank(mapping.getEqptId())) {
mapping.setEqptId(
StringUtils.trimToUpperCase(StringUtils.replace(mapping.getEqptId(), "*", "%").toString()));
}
if (StringUtils.isNotBlank(mapping.getPrPipe())) {
mapping.setPrPipe(StringUtils.replace(mapping.getPrPipe(), "*", "%").toString());
}
if (StringUtils.isNotBlank(mapping.getUnit())) {
mapping.setUnit(StringUtils.replace(mapping.getUnit(), "*", "%").toString());
}
if (StringUtils.isNotBlank(mapping.getTransPerformedBy())) {
mapping.setTransPerformedBy(StringUtils.replace(mapping.getTransPerformedBy(), "*", "%").toString());
}
return resistEqptMappingDAO.qryResistEqptMappingHByPage(mapping, page);
}
@Override
public ResistEqptMapping getResistEqptMappingByResist(Resist resist) {
return resistEqptMappingDAO.getResistEqptMappingByResist(resist);
}
}