package com.kingdee.eas.custom.esign.app; import com.kingdee.bos.dao.ormapping.CanNotDeleteException; import com.kingdee.eas.custom.esign.ESignTemplateInfo; import com.kingdee.shr.base.syssetting.BaseItemStateEnum; import org.apache.log4j.Logger; import com.kingdee.bos.*; import com.kingdee.bos.dao.IObjectPK; import com.kingdee.eas.common.EASBizException; import java.sql.Connection; public class ESignTemplateControllerBean extends AbstractESignTemplateControllerBean { private static Logger logger = Logger.getLogger(ESignTemplateControllerBean.class); /** * 检查电子签名模板是否可以删除 * * @param ctx 业务上下文对象 * @param pk 电子签名模板主键 * @param cn 数据库连接对象 * @throws CanNotDeleteException 当数据处于启用状态时抛出此异常,表示不允许删除 */ @Override protected void _canDelete(Context ctx, IObjectPK pk, Connection cn) throws CanNotDeleteException { super._canDelete(ctx, pk, cn); try { // 获取电子签名模板信息并检查状态 ESignTemplateInfo info = getESignTemplateInfo(ctx, pk); BaseItemStateEnum state = info.getState(); if (BaseItemStateEnum.ENABLE.equals(state)) { throw new CanNotDeleteException("启用的数据,不允许删除!"); } } catch (BOSException e) { logger.error(e.getMessage(), e); throw new CanNotDeleteException(e); } catch (EASBizException e) { logger.error(e.getMessage(), e); throw new CanNotDeleteException(e); } } }