From 91be5b859d0c0085dace5bea6cdb00e8aee2fc26 Mon Sep 17 00:00:00 2001 From: hefengkai <958118178@qq.com> Date: Fri, 18 Oct 2024 11:24:05 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=88=B0=E8=B4=A7=E6=A3=80=E9=AA=8C?= =?UTF-8?q?=E5=8D=95=E5=AE=A1=E6=89=B9=E7=8A=B6=E6=80=81=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../private/nc/impl/pu/dhjyd/dhjydmaster/ArriveToDhjydImpl.java | 1 + 1 file changed, 1 insertion(+) 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 8b33841..cd8f9a5 100644 --- a/pu/src/private/nc/impl/pu/dhjyd/dhjydmaster/ArriveToDhjydImpl.java +++ b/pu/src/private/nc/impl/pu/dhjyd/dhjydmaster/ArriveToDhjydImpl.java @@ -46,6 +46,7 @@ public class ArriveToDhjydImpl implements IArriveToDhjyd { masterVO.setVsourcecode(arriveHeadVo.getVbillcode());//来源单据号 masterVO.setSrcbilltype(arriveHeadVo.getCtrantypeid());//来源单据号 masterVO.setDapplydate(new UFDate());//报检日期 + masterVO.setApprovestatus(-1);//单据审批状态-1自由态 DhjydSlave0VO[] itemVOs = (DhjydSlave0VO[])vos[0].getChildrenVO();//检验单表体信息 if(itemVOs != null && itemVOs.length > 0) { From 186bb370c2224a2a0c7f8fbfefd6845e7b67bb4e Mon Sep 17 00:00:00 2001 From: hefengkai <958118178@qq.com> Date: Fri, 18 Oct 2024 16:33:06 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E8=A1=A8=E4=BD=93?= =?UTF-8?q?=E6=8B=86=E5=8D=95=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../approve/rule/ApproveAndSaveDhjyRule.java | 36 +++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) 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 3ce7022..f0f671c 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 @@ -1,10 +1,13 @@ package nc.impl.pu.m23.approve.rule; +import java.util.ArrayList; import java.util.Map; import nc.bs.framework.common.NCLocator; import nc.impl.pubapp.pattern.rule.IRule; import nc.itf.pu.dhjyd.dhjydmaster.IArriveToDhjyd; +import nc.vo.pu.m23.entity.ArriveHeaderVO; +import nc.vo.pu.m23.entity.ArriveItemVO; import nc.vo.pu.m23.entity.ArriveVO; import nc.vo.pubapp.pattern.exception.ExceptionUtils; import nccloud.commons.lang.ArrayUtils; @@ -24,12 +27,41 @@ public class ApproveAndSaveDhjyRule extends Object implements IRule try { IArriveToDhjyd service = (IArriveToDhjyd)NCLocator.getInstance().lookup(IArriveToDhjyd.class); if (vos != null && vos.length > 0) { - for(int i = 0; i < vos.length; i++) { - service.createDhjyd_RequiresNew(vos[i]); + ArriveVO[] _vos = separateBill(vos);//到货单依据表体拆单处理 + for(int i = 0; i < _vos.length; i++) { + service.createDhjyd_RequiresNew(_vos[i]); } } } catch (Exception e) { ExceptionUtils.wrappException(e); } } + + /*** + * 到货单按照表体拆单 + * @author hefk + * + */ + private ArriveVO[] separateBill(ArriveVO[] vos) throws Exception { + + ArriveVO _vo = null;//拆分后子到货单定义 + ArrayList list = new ArrayList();//拆分后到货单集合 + for(int i = 0; i < vos.length; i++) { + ArriveVO vo = vos[i]; + ArriveHeaderVO arriveHeadVo = vo.getHVO();//获取到货单表头信息 + ArriveItemVO[] arriveItems = vo.getBVO();//获取到货单表体信息 + + if(arriveItems != null && arriveItems.length > 0) { + for(int j = 0; j < arriveItems.length; j++) { + _vo = new ArriveVO();//实例生成 + _vo.setHVO(arriveHeadVo);//表头设置 + _vo.setBVO(new ArriveItemVO[] {arriveItems[j]});//表体设置 + list.add(_vo); + } + } + } + + return list.toArray(new ArriveVO[0]); + } + } From d21ed0d3aadf885839d0956e6d2e29cf40a376ed Mon Sep 17 00:00:00 2001 From: hefengkai <958118178@qq.com> Date: Fri, 18 Oct 2024 17:41:45 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=88=B0=E8=B4=A7=E5=8D=95=E5=AD=90?= =?UTF-8?q?=E8=A1=A8=E4=B8=BB=E9=94=AEid=E4=BF=9D=E5=AD=98=E5=88=B0?= =?UTF-8?q?=E6=A3=80=E9=AA=8C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../private/nc/impl/pu/dhjyd/dhjydmaster/ArriveToDhjydImpl.java | 1 + 1 file changed, 1 insertion(+) 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 cd8f9a5..7418172 100644 --- a/pu/src/private/nc/impl/pu/dhjyd/dhjydmaster/ArriveToDhjydImpl.java +++ b/pu/src/private/nc/impl/pu/dhjyd/dhjydmaster/ArriveToDhjydImpl.java @@ -47,6 +47,7 @@ public class ArriveToDhjydImpl implements IArriveToDhjyd { masterVO.setSrcbilltype(arriveHeadVo.getCtrantypeid());//来源单据号 masterVO.setDapplydate(new UFDate());//报检日期 masterVO.setApprovestatus(-1);//单据审批状态-1自由态 + masterVO.setDef1(arriveItems[0].getPk_arriveorder_b());//来源子表主键id DhjydSlave0VO[] itemVOs = (DhjydSlave0VO[])vos[0].getChildrenVO();//检验单表体信息 if(itemVOs != null && itemVOs.length > 0) {