NC65是用友下,二次开发。
改变审批状态的时候,会改变元数据固定字段fstatusflag的状态,-1为自由状态,1为审批通过
然后如果在审批当前单据,改变其他单据的某个字段的状态,
在nc.impl.pub.ace包下面找到对应的审批代码如下
package nc.impl.pub.ace;
import nc.bs.dao.BaseDAO;
import nc.bs.kp.kpc001b1.ace.bp.AceKPC001B1InsertBP;
import nc.bs.kp.kpc001b1.ace.bp.AceKPC001B1UpdateBP;
import nc.bs.kp.kpc001b1.ace.bp.AceKPC001B1DeleteBP;
import nc.bs.kp.kpc001b1.ace.bp.AceKPC001B1SendApproveBP;
import nc.bs.kp.kpc001b1.ace.bp.AceKPC001B1UnSendApproveBP;
import nc.bs.kp.kpc001b1.ace.bp.AceKPC001B1ApproveBP;
import nc.bs.kp.kpc001b1.ace.bp.AceKPC001B1UnApproveBP;
import nc.impl.pubapp.pattern.data.bill.BillLazyQuery;
import nc.impl.pubapp.pattern.data.bill.tool.BillTransferTool;
import nc.ui.querytemplate.querytree.IQueryScheme;
import nc.vo.kp.kpc001b1.AggKPC001B1;
import nc.vo.pub.BusinessException;
import nc.vo.pub.VOStatus;
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
public abstract class AceKPC001B1PubServiceImpl {
// 新增
public AggKPC001B1[] pubinsertBills(AggKPC001B1[] clientFullVOs,
AggKPC001B1[] originBills) throws BusinessException {
try {
// 数据库中数据和前台传递过来的差异VO合并后的结果
BillTransferTool<AggKPC001B1> transferTool = new BillTransferTool<AggKPC001B1>(
clientFullVOs);
// 调用BP
AceKPC001B1InsertBP action = new AceKPC001B1InsertBP();
AggKPC001B1[] retvos = action.insert(clientFullVOs);
// 构造返回数据
return transferTool.getBillForToClient(retvos);
} catch (Exception e) {
ExceptionUtils.marsh(e);
}
return null;
}
// 删除
public void pubdeleteBills(AggKPC001B1[] clientFullVOs,
AggKPC001B1[] originBills) throws BusinessException {
try {
// 调用BP
new AceKPC001B1DeleteBP().delete(clientFullVOs);
} catch (Exception e) {
ExceptionUtils.marsh(e);
}
}
// 修改
public AggKPC001B1[] pubupdateBills(AggKPC001B1[] clientFullVOs,