高压生产报告审核后自动生产转运单

This commit is contained in:
lihao 2025-11-18 16:16:53 +08:00
parent c04935f925
commit 3866c75b85
2 changed files with 512 additions and 0 deletions

View File

@ -0,0 +1,49 @@
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package nc.bs.mmpac.wr.bp;
import nc.bs.mmpac.wr.flowbiz.HandOverRule;
import nc.bs.mmpac.wr.plugin.WrPluginPoint;
import nc.bs.mmpac.wr.rule.audit.WrAuditSetValueRule;
import nc.bs.mmpac.wr.rule.audit.WrAuditValidateForFlowRule;
import nc.bs.mmpac.wr.rule.createpick.WrQueryBackFlushFlagRule;
import nc.impl.pubapp.pattern.rule.ICompareRule;
import nc.impl.pubapp.pattern.rule.IRule;
import nc.impl.pubapp.pattern.rule.processer.CompareAroundProcesser;
import nc.util.mmf.framework.gc.GCUpdateBPTemplate;
import nc.vo.mmpac.wr.entity.AggWrVO;
public class WrApproveBP {
public WrApproveBP() {
}
public AggWrVO[] audit(AggWrVO[] fullBills, AggWrVO[] originBills) {
GCUpdateBPTemplate<AggWrVO> bp = new GCUpdateBPTemplate(WrPluginPoint.AUDITEUPDATE);
this.addBeforeRule(bp.getAroundProcesser());
this.addAfterRule(bp.getAroundProcesser());
return (AggWrVO[])bp.update(fullBills, originBills);
}
private void addBeforeRule(CompareAroundProcesser<AggWrVO> processor) {
ICompareRule<AggWrVO> wrAuditValidateForFlowRule = new WrAuditValidateForFlowRule();
processor.addBeforeRule(wrAuditValidateForFlowRule);
IRule<AggWrVO> wrAuditSetValueRule = new WrAuditSetValueRule(true, 0);
processor.addBeforeRule(wrAuditSetValueRule);
processor.addBeforeRule(new WrQueryBackFlushFlagRule());
}
/** @deprecated */
@Deprecated
private void addAfterRule(CompareAroundProcesser<AggWrVO> processor) {
processor.addAfterRule(new HandOverRule());
}
/** @deprecated */
@Deprecated
protected IRule<AggWrVO> getWrAuditAutoBackflushRule() {
return null;
}
}

View File

@ -0,0 +1,463 @@
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package nc.bs.mmpac.wr.flowbiz;
import nc.bs.dao.BaseDAO;
import nc.bs.framework.common.NCLocator;
import nc.bs.uapbd.util.MyHelper;
import nc.bs.uif2.validation.ValidationException;
import nc.bs.uif2.validation.ValidationFailure;
import nc.impl.pubapp.pattern.rule.IRule;
import nc.itf.mmpac.handtake.IHandTakeMaintainService;
import nc.itf.mmpac.handtake.dhandtake.IDHandTakeBusinessService;
import nc.itf.mmpac.handtake.phandtake.IPHandTakeBusinessService;
import nc.itf.mmpac.wr.IWrTranstypeQueryService;
import nc.itf.uap.pf.IPFWorkflowQry;
import nc.jdbc.framework.processor.MapListProcessor;
import nc.md.data.access.NCObject;
import nc.md.model.MetaDataException;
import nc.md.persist.framework.IMDPersistenceQueryService;
import nc.pubitf.mmpac.mo.wr.IMoPubService4Wr;
import nc.pubitf.uapbd.IMaterialPubService_C;
import nc.util.mmf.framework.base.MMNumberUtil;
import nc.util.mmf.framework.base.MMValueCheck;
import nc.util.mmpac.wr.WrTransTypeUtil;
import nc.util.mmpac.wr.WrVOCommonUtil;
import nc.util.mmpac.wr.vochange.WrBusiVOToChangeVO;
import nc.vo.bd.material.prod.MaterialProdVO;
import nc.vo.bd.material.stock.MaterialStockVO;
import nc.vo.ml.NCLangRes4VoTransl;
import nc.vo.mmpac.handtake.consts.CMMLangConstHandTake;
import nc.vo.mmpac.handtake.entity.AggHandTakeVO;
import nc.vo.mmpac.handtake.entity.HandTakeBVO;
import nc.vo.mmpac.handtake.entity.HandTakeHVO;
import nc.vo.mmpac.mo.param.MoQueryParam4Wr;
import nc.vo.mmpac.wr.consts.WrptLangConst;
import nc.vo.mmpac.wr.entity.*;
import nc.vo.mmpac.wr.enumeration.WrBillStatusEnum;
import nc.vo.mmpac.wr.enumeration.WrQualityProcessMethodEnum;
import nc.vo.org.OrgVO;
import nc.vo.org.OrgVOQueryFacade;
import nc.vo.pub.BusinessException;
import nc.vo.pub.lang.UFBoolean;
import nc.vo.pub.lang.UFDouble;
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
import nc.vo.pubapp.pattern.pub.MapList;
import nccloud.framework.service.ServiceLocator;
import org.apache.commons.lang3.StringUtils;
import java.util.*;
public class HandOverRule implements IRule<AggWrVO> {
private Map<String, String> configParams;
public HandOverRule() {
}
public void process(AggWrVO[] vos) {
try {
configParams = MyHelper.getConfigParams("gy-config", null);
if (configParams.isEmpty()) {
throw new BusinessException("高压的接口缺少配置");
}
IWrTranstypeQueryService queryService= (IWrTranstypeQueryService)NCLocator.getInstance().lookup(IWrTranstypeQueryService.class);
IHandTakeMaintainService handTakeMaintainService= (IHandTakeMaintainService)NCLocator.getInstance().lookup(IHandTakeMaintainService.class);
List<AggWrVO> list = new ArrayList<>();
for(AggWrVO vo : vos) {
String pkOrg = vo.getParentVO().getPk_org();
String orgCode = MyHelper.transferField(OrgVO.getDefaultTableName(), OrgVO.CODE, OrgVO.PK_ORG, pkOrg);
if (checkIfOrg(orgCode, configParams)) {
continue;
}
if(!vo.getParentVO().getFbillstatus().equals(WrBillStatusEnum.COMMITE.toInteger())){
continue;
}
if(queryService.isAuditToProdInBPTransType(new String[]{vo.getParentVO().getVtrantypeid()}).get(vo.getParentVO().getVtrantypeid())){
throw new BusinessException("交易类型不能是审批即入库");
}
WrItemVO[] itemVOS= vo.getChildrenVO();
List<WrItemVO> itemlist = new ArrayList<WrItemVO>();
for (WrItemVO itemVO : itemVOS) {
IMaterialPubService_C serv = (IMaterialPubService_C)NCLocator.getInstance().lookup(IMaterialPubService_C.class);
Map<String, MaterialProdVO> map = serv.queryMaterialProduceInfoByPks(new String[]{itemVO.getCbmaterialvid()},pkOrg
,new String[]{"wghxcl","iscreatesonprodorder"});
if(map.isEmpty()) {
throw new BusinessException("请检查工位半产品是否维护配套子件和完工后续处理生产页签参数");
// continue;
}else{
MaterialProdVO materialProdVO=map.get(itemVO.getCbmaterialvid());
if(materialProdVO == null) {
throw new BusinessException("请检查工位半产品是否维护配套子件和完工后续处理生产页签参数");
// continue;
}
if(materialProdVO.getWghxcl().equals(1)&& materialProdVO.getIscreatesonprodorder().booleanValue()) {
AggWrVO vo1 = new AggWrVO();
vo1.setParentVO(vo.getParentVO());
vo1.setChildrenVO(new WrItemVO[]{itemVO});
list.add(vo1);
}else{
throw new BusinessException("请检查工位半产品是否维护配套子件和完工后续处理生产页签参数");
}
}
}
}
List<AggHandTakeVO> aggHandTakeVOS= new ArrayList<>();
for (AggWrVO vo : list) {
try {
this.loadWrQualityVO(vo);
} catch (MetaDataException var18) {
ExceptionUtils.wrappBusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("5008100_0", "05008100-0034"));
}
this.validate(vo);
this.validateSerialManage(new AggWrVO[]{vo});
moCloseProcess(new AggWrVO[]{vo});
WrTransTypeUtil.changeTransTypeCodeDefault(vo.getParentVO());
AggWrChangeVO[] aggChangeVOs = WrBusiVOToChangeVO.changeOnlyQualityVO(new AggWrVO[]{vo});
IPHandTakeBusinessService serv = (IPHandTakeBusinessService)NCLocator.getInstance().lookup(IPHandTakeBusinessService.class);
IDHandTakeBusinessService idHandTakeBusinessService= (IDHandTakeBusinessService)NCLocator.getInstance().lookup(IDHandTakeBusinessService.class);
int fprodmode = vo.getParentVO().getFprodmode();
AggHandTakeVO takeVO =new AggHandTakeVO();
try {
if (fprodmode == 1) {
takeVO = serv.getPHandOverVO(aggChangeVOs[0]);
} else {
takeVO = idHandTakeBusinessService.getDHandOverVO(aggChangeVOs[0]);
}
} catch (BusinessException e) {
ExceptionUtils.wrappException(e);
}
takeVO.getParentVO().setAttributeValue("ncanhandnum",takeVO.getParentVO().getNhandovernum());
takeVO.getParentVO().setAttributeValue("ncanhandastnum",takeVO.getParentVO().getNhandoverastnum());
// AggHandTakeVO takeVO = serv.getPHandOverVO(aggChangeVOs[0]);
for (HandTakeBVO handTakeBVO:(HandTakeBVO[])takeVO.getChildrenVO()){
if(handTakeBVO.getVrcvmocode().isEmpty() || handTakeBVO.getVrcvpickmcode().isEmpty()){
throw new BusinessException("没有接受备料计划单号和接受生产订单号,请检查工位半产品是否维护配套子件和完工后续处理生产页签参数");
}
if(takeVO.getParentVO().getNhandoverastnum().compareTo(UFDouble.ZERO_DBL) ==0){
throw new BusinessException("完工数量不能为0");
}
handTakeBVO.setNrcvastnum(takeVO.getParentVO().getNhandoverastnum());
handTakeBVO.setNrcvnum(takeVO.getParentVO().getNhandovernum());
handTakeBVO.setNrcvdnum(takeVO.getParentVO().getNhandovernum());
handTakeBVO.setNrcvdastnum(takeVO.getParentVO().getNhandovernum());
String cvwcode="";
cvwcode=configParams.get("cvwcode");
String sql = "SELECT pk_stordoc FROM bd_stordoc WHERE code = '"+cvwcode+"' AND dr = 0";
ArrayList<HashMap<String, Object>> saleMap = (ArrayList<HashMap<String, Object>>)new BaseDAO().executeQuery(sql, new MapListProcessor());
if(saleMap.isEmpty()) {
throw new BusinessException("未配置移送虚拟仓库");
}
handTakeBVO.setCrcvwhid(saleMap.get(0).get("pk_stordoc").toString());
handTakeBVO.setFrcvstatus(2);
if (StringUtils.isEmpty(handTakeBVO.getCrcvfactoryvid()) && StringUtils.isNotEmpty(handTakeBVO.getCrcvfactoryid())) {
for(OrgVO orgVO : OrgVOQueryFacade.getInstance().queryOrgVOByPks(new String[]{handTakeBVO.getCrcvfactoryid()})) {
handTakeBVO.setCrcvfactoryvid(orgVO.getPk_vid());
}
}
}
aggHandTakeVOS.add(takeVO);
}
// handTakeMaintainService.insert(aggHandTakeVOS.toArray(new AggHandTakeVO[aggHandTakeVOS.size()]));
try {
this.validate(aggHandTakeVOS.get(0));
} catch (ValidationException e) {
ExceptionUtils.wrappException(e);
}
try {
this.process(aggHandTakeVOS.get(0));
} catch (BusinessException e) {
ExceptionUtils.wrappException(e);
}
} catch (BusinessException e) {
throw new RuntimeException(e);
}
}
private boolean checkIfOrg(String code, Map<String, String> configParams) throws BusinessException {
String targetCode = configParams.get("gyOrg");
if (targetCode == null || nc.vo.am.common.util.StringUtils.isEmpty(targetCode)) {
throw new BusinessException("未配置组织参数");
}
String[] orgItem = targetCode.split(",");
for (String orgCode : orgItem) {
if (!orgCode.isEmpty() && orgCode.equals(code)) {
return false;
}
}
return true;
}
private IPFWorkflowQry getService() {
return (IPFWorkflowQry)NCLocator.getInstance().lookup(IPFWorkflowQry.class);
}
private void loadWrQualityVO(AggWrVO aggWrVO) throws MetaDataException {
WrItemVO[] wrItemVOs = aggWrVO.getChildrenVO();
for(WrItemVO wrItemVO : wrItemVOs) {
IMDPersistenceQueryService queryService = (IMDPersistenceQueryService)NCLocator.getInstance().lookup(IMDPersistenceQueryService.class);
String whereSql = " pk_wr_product_q = '" + wrItemVO.getPk_wr_product() + "' and dr = 0";
NCObject[] qualityNCVOs = queryService.queryBillOfNCObjectByCond(WrQualityVO.class, whereSql, false);
ArrayList<WrQualityVO> qualityVoList = new ArrayList();
if (qualityNCVOs != null && qualityNCVOs.length > 0) {
if (qualityNCVOs.length > 1) {
ExceptionUtils.wrappBusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("5008100_0", "05008100-0035"));
}
for(NCObject qualityNCVO : qualityNCVOs) {
if (qualityNCVO.getContainmentObject() instanceof WrQualityVO) {
((WrQualityVO)qualityNCVO.getContainmentObject()).setPk_wr_product(wrItemVO.getPk_wr_product());
qualityVoList.add((WrQualityVO)qualityNCVO.getContainmentObject());
}
}
wrItemVO.setQualityvos((WrQualityVO[])qualityVoList.toArray(new WrQualityVO[0]));
} else {
wrItemVO.setQualityvos((WrQualityVO[])null);
}
}
}
private void validate(AggWrVO aggWrVO) {
if (MMValueCheck.isEmpty(aggWrVO)) {
ExceptionUtils.wrappBusinessException(WrptLangConst.getProdinHIT_NOPRODINDATAS());
}
WrItemVO[] wrItemVOs = aggWrVO.getChildrenVO();
if (MMValueCheck.isEmpty(wrItemVOs)) {
ExceptionUtils.wrappBusinessException(WrptLangConst.getProdinHIT_NOPRODINDATAS());
}
if (wrItemVOs.length != 1) {
ExceptionUtils.wrappBusinessException(WrptLangConst.ERR_MultyHandOver());
}
WrQualityVO[] wrQualityVOs = wrItemVOs[0].getQualityvos();
if (MMValueCheck.isEmpty(wrQualityVOs)) {
ExceptionUtils.wrappBusinessException(WrptLangConst.getProdinHIT_NOPRODINDATAS());
}
if (wrQualityVOs.length != 1) {
ExceptionUtils.wrappBusinessException(WrptLangConst.ERR_MultyHandOver());
}
if (!WrQualityProcessMethodEnum.PRODIN.equalsValue(wrQualityVOs[0].getFgprocessmethod())) {
ExceptionUtils.wrappBusinessException(WrptLangConst.getHandtakeHIT_ONLYPRODINCANHANDTAKE());
}
Map<String, UFBoolean> serialFlagMap =isSerialManage(WrVOCommonUtil.groupMaterialByOrg(new AggWrVO[]{aggWrVO}));
WrVO var10001 = aggWrVO.getParentVO();
if (WrVOCommonUtil.isMapTure(serialFlagMap, var10001 + wrItemVOs[0].getCbmaterialvid())) {
String erroMsg = WrptLangConst.WR__SERIL_NOTSURPORTMSG(new String[]{aggWrVO.getParentVO().getVbillcode(), wrItemVOs[0].getVbrowno()});
ExceptionUtils.wrappBusinessException(erroMsg);
}
}
private void validateSerialManage(AggWrVO[] aggWrVOs) {
Map<String, UFBoolean> isSerialMana = isSerialManage(WrVOCommonUtil.groupMaterialByOrg(aggWrVOs));
AggWrVO aggWrVO = aggWrVOs[0];
WrItemVO itemvo = aggWrVO.getChildrenVO()[0];
String pk_org = aggWrVO.getParentVO().getPk_org();
String matvid = itemvo.getCbmaterialvid();
if (null != isSerialMana && isSerialMana.keySet().contains(pk_org + matvid) && UFBoolean.TRUE.equals(isSerialMana.get(pk_org + matvid))) {
ExceptionUtils.wrappBusinessException(WrptLangConst.getSERIALMANAGENOTHANDOVER(new String[]{aggWrVO.getParentVO().getVbillcode(), itemvo.getVbrowno()}));
}
}
public void moCloseProcess(AggWrVO[] aggWrVOs) {
if (aggWrVOs.length == 1) {
WrItemVO[] itemVOs = (WrItemVO[])aggWrVOs[0].getChildren(WrItemVO.class);
if (null != itemVOs && itemVOs.length == 1) {
Map<String, UFBoolean> mapResult = this.isMoCloseMap(aggWrVOs);
if (null != mapResult) {
if (Integer.valueOf(1).equals(aggWrVOs[0].getParentVO().getFprodmode())) {
if (UFBoolean.TRUE.equals(mapResult.get(itemVOs[0].getCbmobid()))) {
ExceptionUtils.wrappBusinessException(WrptLangConst.getMOClose_Msg(new String[]{itemVOs[0].getVbmobillcode(), itemVOs[0].getVbmorowno()}));
}
} else if (Integer.valueOf(2).equals(aggWrVOs[0].getParentVO().getFprodmode()) && UFBoolean.TRUE.equals(mapResult.get(itemVOs[0].getCbmoid()))) {
ExceptionUtils.wrappBusinessException(WrptLangConst.getDMOClose_Msg(new String[]{itemVOs[0].getVbmobillcode()}));
}
}
}
}
}
public Map<String, UFBoolean> isMoCloseMap(AggWrVO[] aggWrVOs) {
Map<String, UFBoolean> mapResult = new HashMap();
if (MMValueCheck.isEmpty(aggWrVOs)) {
return mapResult;
} else {
MapList<Integer, String> moidByProdMode = new MapList();
for(AggWrVO aggWrVO : aggWrVOs) {
WrItemVO[] itemVOs = (WrItemVO[])aggWrVO.getChildren(WrItemVO.class);
if (!MMValueCheck.isEmpty(itemVOs)) {
for(WrItemVO itemVO : itemVOs) {
if (!MMValueCheck.isEmpty(itemVO.getCbmoid())) {
if (Integer.valueOf(1).equals(aggWrVO.getParentVO().getFprodmode())) {
moidByProdMode.put(1, itemVO.getCbmobid());
} else if (Integer.valueOf(2).equals(aggWrVO.getParentVO().getFprodmode())) {
moidByProdMode.put(2, itemVO.getCbmoid());
}
}
}
}
}
Set<Map.Entry<Integer, List<String>>> entrySet = moidByProdMode.entrySet();
if (MMValueCheck.isEmpty(entrySet)) {
return mapResult;
} else {
List<MoQueryParam4Wr> queryParams = new ArrayList();
MoQueryParam4Wr queryParam = null;
for(Map.Entry<Integer, List<String>> entry : entrySet) {
if (!MMValueCheck.isEmpty((Integer)entry.getKey()) && !MMValueCheck.isEmpty((Collection)entry.getValue())) {
queryParam = new MoQueryParam4Wr();
queryParam.setProdMode((Integer)entry.getKey());
queryParam.setIds((String[])((List)entry.getValue()).toArray(new String[0]));
queryParams.add(queryParam);
}
}
try {
mapResult = NCLocator.getInstance().lookup(IMoPubService4Wr.class).checkMoClose((MoQueryParam4Wr)queryParams.get(0));
} catch (BusinessException e) {
ExceptionUtils.wrappException(e);
}
return mapResult;
}
}
}
public Map<String, UFBoolean> isSerialManage(MapList<String, String> matAndOrgMap) {
Set<Map.Entry<String, List<String>>> entrySet = matAndOrgMap.entrySet();
Map<String, UFBoolean> serialFlagMap = new HashMap();
for(Map.Entry<String, List<String>> entry : entrySet) {
String org = (String)entry.getKey();
List<String> matVids = (List)entry.getValue();
if (!MMValueCheck.isEmpty(org) && !MMValueCheck.isEmpty(matVids)) {
List<String> needLoadMats = new ArrayList();
for(String mat : matVids) {
if (!serialFlagMap.keySet().contains(org + mat)) {
needLoadMats.add(mat);
}
}
Map<String, MaterialStockVO> mrlStockVOArray = queryMaterialStockInfo(needLoadMats, org);
for(String pk_material : matVids) {
if (null != mrlStockVOArray && mrlStockVOArray.size() >= 0 && null != mrlStockVOArray.get(pk_material)) {
serialFlagMap.put(org + pk_material, ((MaterialStockVO)mrlStockVOArray.get(pk_material)).getSerialmanaflag());
} else {
serialFlagMap.put(org + pk_material, UFBoolean.FALSE);
}
}
}
}
return serialFlagMap;
}
public static Map<String, MaterialStockVO> queryMaterialStockInfo(List<String> matVids, String org) {
Map<String, MaterialStockVO> mrlStockVOArray = null;
if (!MMValueCheck.isEmpty(matVids) && !MMValueCheck.isEmpty(org)) {
try {
mrlStockVOArray = ((IMaterialPubService_C) NCLocator.getInstance().lookup(IMaterialPubService_C.class)).queryMaterialStockInfoByPks((String[])matVids.toArray(new String[0]), org, new String[]{"serialmanaflag", "issinglcheck", "stockbycheck", "sernumunit"});
} catch (BusinessException e) {
ExceptionUtils.wrappException(e);
}
return mrlStockVOArray;
} else {
return mrlStockVOArray;
}
}
private void validate(AggHandTakeVO aggHandTakeVO) throws ValidationException {
List<ValidationFailure> failure = new ArrayList();
HandTakeHVO htHead = aggHandTakeVO.getParentVO();
HandTakeBVO[] htBodys = (HandTakeBVO[])aggHandTakeVO.getChildren(HandTakeBVO.class);
if (!MMValueCheck.isEmpty(htHead) && !MMValueCheck.isEmpty(htBodys)) {
UFDouble canHandOverNum = aggHandTakeVO.getParent().getAttributeValue("ncanhandnum") != null ? new UFDouble(aggHandTakeVO.getParent().getAttributeValue("ncanhandnum").toString()) : null;
UFDouble canHandOverAstNum = aggHandTakeVO.getParent().getAttributeValue("ncanhandastnum") != null ? new UFDouble(aggHandTakeVO.getParent().getAttributeValue("ncanhandastnum").toString()) : null;
UFDouble inNum = UFDouble.ZERO_DBL;
UFDouble inAstNum = UFDouble.ZERO_DBL;
for(HandTakeBVO htBody : htBodys) {
String[] billNo = new String[]{htBody.getVrowno()};
if (MMValueCheck.isEmpty(htBody.getCrcvfactoryid())) {
failure.add(new ValidationFailure(CMMLangConstHandTake.getHandoverFactoryEmpty(billNo)));
}
if (!MMNumberUtil.isGtZero(htBody.getNrcvastnum())) {
failure.add(new ValidationFailure(CMMLangConstHandTake.getHandoverNumZero(billNo)));
}
if (!MMNumberUtil.isGtZero(htBody.getNrcvnum())) {
failure.add(new ValidationFailure(CMMLangConstHandTake.getHandoverNNumZero(billNo)));
}
inAstNum = MMNumberUtil.add(new UFDouble[]{inAstNum, htBody.getNrcvastnum()});
inNum = MMNumberUtil.add(new UFDouble[]{inNum, htBody.getNrcvnum()});
if (MMNumberUtil.isEqual(inAstNum, canHandOverAstNum) && !MMNumberUtil.isEqual(inNum, canHandOverNum)) {
htBody.setNrcvnum(htBody.getNrcvnum().add(canHandOverNum.sub(inNum)));
inNum = canHandOverNum;
} else if (!MMNumberUtil.isEqual(inAstNum, canHandOverAstNum) && MMNumberUtil.isEqual(inNum, canHandOverNum)) {
htBody.setNrcvastnum(MMNumberUtil.add(new UFDouble[]{htBody.getNrcvastnum(), canHandOverAstNum.sub(inAstNum)}));
inAstNum = canHandOverAstNum;
}
}
if (MMNumberUtil.isLs(canHandOverNum, inNum)) {
failure.add(new ValidationFailure(CMMLangConstHandTake.getHandoverNumError()));
}
if (failure.size() > 0) {
throw new ValidationException(failure);
}
} else {
failure.add(new ValidationFailure(CMMLangConstHandTake.getHIT_NOBUSDATA()));
throw new ValidationException(failure);
}
}
private boolean process(AggHandTakeVO aggHandTakeVO) throws BusinessException {
HandTakeBVO[] htBodys = (HandTakeBVO[])aggHandTakeVO.getChildren(HandTakeBVO.class);
IPHandTakeBusinessService serv = (IPHandTakeBusinessService)NCLocator.getInstance().lookup(IPHandTakeBusinessService.class);
if (MMValueCheck.isEmpty(htBodys)) {
return false;
} else {
serv.phandover(aggHandTakeVO);
return true;
}
}
}