ResistRcpMappingManagerImpl.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.server.base.manager.TransactionLogManager;
import com.mycim.server.resist.dao.ResistRcpMappingDAO;
import com.mycim.server.resist.manager.ResistMappingManager;
import com.mycim.server.resist.manager.ResistRcpMappingManager;
import com.mycim.valueobject.MessageIdList;
import com.mycim.valueobject.bas.TransactionLog;
import com.mycim.valueobject.consts.TransactionNames;
import com.mycim.valueobject.ems.ResistMapping;
import com.mycim.valueobject.ems.ResistRcpMapping;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* @author weike.li
* @version 6.0.0
* @date 2020/6/24
**/
@Service
@Transactional
public class ResistRcpMappingManagerImpl implements ResistRcpMappingManager {
@Autowired
private ResistMappingManager resistMappingManager;
@Autowired
private ResistRcpMappingDAO resistRcpMappingDAO;
@Autowired
private TransactionLogManager transactionLogManager;
@Override
public void addResistRcpMapping(ResistRcpMapping mapping) {
ResistMapping resistMapping = resistMappingManager.getResistMappingByResistNo(mapping.getResistNo());
Assert.notNull(resistMapping,
Errors.create().key(MessageIdList.RESIST_RESIST_MISSING).content("Resist not exist!").build());
//检查是否有重复记录
boolean isExist = resistRcpMappingDAO
.checkResistRcpMappingIsExist(mapping.getResistNo(), mapping.getRecipe());
Assert.isFalse(isExist, Errors.create().content("This mapping is already existed!").build());
TransactionLog transactionLog = transactionLogManager
.startTransactionLog(mapping.getCreateBy(), TransactionNames.CREATE_KEY);
resistRcpMappingDAO.addResistRcpMapping(mapping);
mapping.setOldRecipe(mapping.getRecipe());
resistRcpMappingDAO.addResistRcpMappingHist(transactionLog.getTransRrn(), mapping);
transactionLogManager.markTransactionLog(transactionLog);
}
@Override
public Page qryResistRcpMappingByPage(ResistRcpMapping mapping, Page page) {
if (StringUtils.isNotBlank(mapping.getResistNo())) {
mapping.setResistNo(StringUtils.replace(mapping.getResistNo(), "*", "%").toString());
}
if (StringUtils.isNotBlank(mapping.getCreateBy())) {
mapping.setCreateBy(StringUtils.replace(mapping.getCreateBy(), "*", "%").toString());
}
if (StringUtils.isNotBlank(mapping.getModifyBy())) {
mapping.setModifyBy(StringUtils.replace(mapping.getModifyBy(), "*", "%").toString());
}
return resistRcpMappingDAO.qryResistRcpMappingByPage(mapping, page);
}
@Override
public void deleteResistRcpMapping(String resistNo, String rcpLetter) {
boolean isExist = resistRcpMappingDAO.checkResistRcpMappingIsExist(resistNo, rcpLetter);
Assert.isTrue(isExist, Errors.create().content("This mapping is not existed!").build());
TransactionLog transactionLog = transactionLogManager
.startTransactionLog(LocalContext.getUserId(), TransactionNames.DELETE_KEY);
resistRcpMappingDAO.deleteResistRcpMapping(resistNo, rcpLetter);
ResistRcpMapping mapping = new ResistRcpMapping(resistNo, rcpLetter);
mapping.setOldRecipe(rcpLetter);
resistRcpMappingDAO.addResistRcpMappingHist(transactionLog.getTransRrn(), mapping);
transactionLogManager.markTransactionLog(transactionLog);
}
@Override
public Page qryResistRcpMappingHistByPage(ResistRcpMapping mapping, Page page) {
if (StringUtils.isNotBlank(mapping.getResistNo())) {
mapping.setResistNo(StringUtils.replace(mapping.getResistNo(), "*", "%").toString());
}
if (StringUtils.isNotBlank(mapping.getTransPerformedBy())) {
mapping.setTransPerformedBy(StringUtils.replace(mapping.getTransPerformedBy(), "*", "%").toString());
}
return resistRcpMappingDAO.qryResistRcpMappingHistByPage(mapping, page);
}
@Override
public void modifyResistRcpMapping(ResistRcpMapping mapping) {
boolean isExist = resistRcpMappingDAO
.checkResistRcpMappingIsExist(mapping.getResistNo(), mapping.getRecipe());
Assert.isFalse(isExist, Errors.create().content("This mapping is already existed!").build());
TransactionLog transactionLog = transactionLogManager
.startTransactionLog(mapping.getModifyBy(), TransactionNames.MODIFY_KEY);
resistRcpMappingDAO.modifyResistRcpMapping(mapping);
resistRcpMappingDAO.addResistRcpMappingHist(transactionLog.getTransRrn(), mapping);
transactionLogManager.markTransactionLog(transactionLog);
}
}