diff --git a/pu/src/private/nc/impl/pu/dhjyd/dhjydmaster/ArriveToDhjydImpl.java b/pu/src/private/nc/impl/pu/dhjyd/dhjydmaster/ArriveToDhjydImpl.java index a1c597f..8b33841 100644 --- a/pu/src/private/nc/impl/pu/dhjyd/dhjydmaster/ArriveToDhjydImpl.java +++ b/pu/src/private/nc/impl/pu/dhjyd/dhjydmaster/ArriveToDhjydImpl.java @@ -8,7 +8,13 @@ import nc.bs.pub.pf.PfUtilTools; import nc.itf.pu.dhjyd.dhjydmaster.IArriveToDhjyd; import nc.itf.pu.dhjyd.dhjydmaster.IDhjydMasterVOService; import nc.vo.pu.dhjyd.AggDhjydMasterVO; +import nc.vo.pu.dhjyd.DhjydMasterVO; +import nc.vo.pu.dhjyd.DhjydSlave0VO; +import nc.vo.pu.m23.entity.ArriveHeaderVO; +import nc.vo.pu.m23.entity.ArriveItemVO; import nc.vo.pu.m23.entity.ArriveVO; +import nc.vo.pub.BusinessException; +import nc.vo.pub.lang.UFDate; public class ArriveToDhjydImpl implements IArriveToDhjyd { @@ -18,11 +24,13 @@ public class ArriveToDhjydImpl implements IArriveToDhjyd { * @return */ @Override - public Map createDhjyd_RequiresNew(ArriveVO arriveVO) { - + public Map createDhjyd_RequiresNew(ArriveVO arriveVO) throws BusinessException { try { + ArriveHeaderVO arriveHeadVo = arriveVO.getHVO();//获取到货单表头信息 + ArriveItemVO[] arriveItems = arriveVO.getBVO();//获取到货单表体信息 + //到货单集合获取 ArrayList arrayList = new ArrayList(); arrayList.add(arriveVO); @@ -31,6 +39,21 @@ public class ArriveToDhjydImpl implements IArriveToDhjyd { AggDhjydMasterVO[] vos = (AggDhjydMasterVO[]) PfUtilTools.runChangeDataAry("23", "DHJY", arrayList.toArray(new ArriveVO[0])); + DhjydMasterVO masterVO = vos[0].getParentVO();//检验单表头信息获取 + masterVO.setStatus(2);//新增(0:初始 1:更新 2:新增 3:删除) + masterVO.setBilltype("DHJY");//单据类型 + masterVO.setSrcbillid(arriveHeadVo.getPk_arriveorder());//来源单id + masterVO.setVsourcecode(arriveHeadVo.getVbillcode());//来源单据号 + masterVO.setSrcbilltype(arriveHeadVo.getCtrantypeid());//来源单据号 + masterVO.setDapplydate(new UFDate());//报检日期 + + DhjydSlave0VO[] itemVOs = (DhjydSlave0VO[])vos[0].getChildrenVO();//检验单表体信息 + if(itemVOs != null && itemVOs.length > 0) { + for (int i = 0; i < itemVOs.length; i++) { + itemVOs[0].setStatus(2);//新增(0:初始 1:更新 2:新增 3:删除) + } + } + // 到货检验单保存-生成保存态 IDhjydMasterVOService dhjydMasterVO = NCLocator.getInstance().lookup(IDhjydMasterVOService.class); dhjydMasterVO.saveAggDhjydMasterVO(vos); @@ -39,6 +62,7 @@ public class ArriveToDhjydImpl implements IArriveToDhjyd { if (e.getCause() != null) { errMsg = e.getCause().toString(); } + throw new BusinessException(errMsg); } // TODO Auto-generated method stub diff --git a/pu/src/private/nc/impl/pu/m23/approve/rule/ApproveAndSaveDhjyRule.java b/pu/src/private/nc/impl/pu/m23/approve/rule/ApproveAndSaveDhjyRule.java index 4c29dff..3ce7022 100644 --- a/pu/src/private/nc/impl/pu/m23/approve/rule/ApproveAndSaveDhjyRule.java +++ b/pu/src/private/nc/impl/pu/m23/approve/rule/ApproveAndSaveDhjyRule.java @@ -23,7 +23,11 @@ public class ApproveAndSaveDhjyRule extends Object implements IRule } try { IArriveToDhjyd service = (IArriveToDhjyd)NCLocator.getInstance().lookup(IArriveToDhjyd.class); - Map result = service.createDhjyd_RequiresNew(vos[0]); + if (vos != null && vos.length > 0) { + for(int i = 0; i < vos.length; i++) { + service.createDhjyd_RequiresNew(vos[i]); + } + } } catch (Exception e) { ExceptionUtils.wrappException(e); } diff --git a/pu/src/public/nc/itf/pu/dhjyd/dhjydmaster/IArriveToDhjyd.java b/pu/src/public/nc/itf/pu/dhjyd/dhjydmaster/IArriveToDhjyd.java index e2b4509..8ec3716 100644 --- a/pu/src/public/nc/itf/pu/dhjyd/dhjydmaster/IArriveToDhjyd.java +++ b/pu/src/public/nc/itf/pu/dhjyd/dhjydmaster/IArriveToDhjyd.java @@ -3,6 +3,7 @@ package nc.itf.pu.dhjyd.dhjydmaster; import java.util.Map; import nc.vo.pu.m23.entity.ArriveVO; +import nc.vo.pub.BusinessException; /*** * @@ -15,6 +16,6 @@ public interface IArriveToDhjyd { * @param ArriveVO * @return */ - public Map createDhjyd_RequiresNew(ArriveVO arriveVO); + public Map createDhjyd_RequiresNew(ArriveVO arriveVO) throws BusinessException; }