From 6ce8314bf8aa26afda3bb5084a7405acfc9b90d6 Mon Sep 17 00:00:00 2001 From: hefengkai <958118178@qq.com> Date: Sat, 19 Oct 2024 18:21:06 +0800 Subject: [PATCH 1/4] =?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=E5=9B=9E=E4=BF=A1=E5=84=BF=E8=B4=A8?= =?UTF-8?q?=E6=A3=80=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pu/src/public/nc/bs/pub/action/N_DHJY_APPROVE.java | 9 +++++++++ pu/src/public/nc/bs/pub/action/N_DHJY_UNAPPROVE.java | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/pu/src/public/nc/bs/pub/action/N_DHJY_APPROVE.java b/pu/src/public/nc/bs/pub/action/N_DHJY_APPROVE.java index 06d3609..240dba4 100644 --- a/pu/src/public/nc/bs/pub/action/N_DHJY_APPROVE.java +++ b/pu/src/public/nc/bs/pub/action/N_DHJY_APPROVE.java @@ -14,6 +14,7 @@ import nc.vo.pub.CircularlyAccessibleValueObject; import nccloud.commons.lang.StringUtils; import nc.codeplatform.framework.service.AbstractPfScriptAction; import nc.vo.pu.dhjyd.AggDhjydMasterVO; +import nc.itf.pu.dhjyd.dhjydmaster.IArriveToDhjyd; import nc.itf.pu.dhjyd.dhjydmaster.IDhjydMasterVOService; public class N_DHJY_APPROVE extends AbstractPfScriptAction{ @@ -48,4 +49,12 @@ public class N_DHJY_APPROVE extends AbstractPfScriptAction{ throw new BusinessException("当前单据未执行保存动作脚本,如果配置了业务流程定义,请检查动作驱动配置!"); } } + + protected void after(PfParameterVO paraVO) throws BusinessException { + AggDhjydMasterVO[] vos = (AggDhjydMasterVO[])this.getVos(); + IArriveToDhjyd service = NCLocator.getInstance().lookup(IArriveToDhjyd.class); + for(int i = 0; i < vos.length; i++) { + service.writeBackQc(vos[i]); + } + } } \ No newline at end of file diff --git a/pu/src/public/nc/bs/pub/action/N_DHJY_UNAPPROVE.java b/pu/src/public/nc/bs/pub/action/N_DHJY_UNAPPROVE.java index 64a376b..a7fbdf5 100644 --- a/pu/src/public/nc/bs/pub/action/N_DHJY_UNAPPROVE.java +++ b/pu/src/public/nc/bs/pub/action/N_DHJY_UNAPPROVE.java @@ -14,6 +14,7 @@ import nc.vo.pub.CircularlyAccessibleValueObject; import nccloud.commons.lang.StringUtils; import nc.codeplatform.framework.service.AbstractPfScriptAction; import nc.vo.pu.dhjyd.AggDhjydMasterVO; +import nc.itf.pu.dhjyd.dhjydmaster.IArriveToDhjyd; import nc.itf.pu.dhjyd.dhjydmaster.IDhjydMasterVOService; public class N_DHJY_UNAPPROVE extends AbstractPfScriptAction{ @@ -48,4 +49,12 @@ public class N_DHJY_UNAPPROVE extends AbstractPfScriptAction{ throw new BusinessException("当前单据未执行保存动作脚本,如果配置了业务流程定义,请检查动作驱动配置!"); } } + + protected void after(PfParameterVO paraVO) throws BusinessException { + AggDhjydMasterVO[] vos = (AggDhjydMasterVO[])this.getVos(); + IArriveToDhjyd service = NCLocator.getInstance().lookup(IArriveToDhjyd.class); + for(int i = 0; i < vos.length; i++) { + service.deleteQc(vos[i]); + } + } } \ No newline at end of file From d8888c2aa6981f84b07788c3d159f95fd383bae6 Mon Sep 17 00:00:00 2001 From: hefengkai <958118178@qq.com> Date: Sat, 19 Oct 2024 18:22:01 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=88=B0=E8=B4=A7=E5=8D=95=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=E5=90=8E=E5=9B=9E=E5=86=99=E8=B4=A8=E6=A3=80=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../itf/pu/dhjyd/dhjydmaster/IArriveToDhjyd.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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 8ec3716..b4a68c1 100644 --- a/pu/src/public/nc/itf/pu/dhjyd/dhjydmaster/IArriveToDhjyd.java +++ b/pu/src/public/nc/itf/pu/dhjyd/dhjydmaster/IArriveToDhjyd.java @@ -2,6 +2,7 @@ package nc.itf.pu.dhjyd.dhjydmaster; import java.util.Map; +import nc.vo.pu.dhjyd.AggDhjydMasterVO; import nc.vo.pu.m23.entity.ArriveVO; import nc.vo.pub.BusinessException; @@ -17,5 +18,19 @@ public interface IArriveToDhjyd { * @return */ public Map createDhjyd_RequiresNew(ArriveVO arriveVO) throws BusinessException; + + /*** + *到货检验单审批完成回写到货单的质检明细 + * @param AggDhjydMasterVO + * @return + */ + public Map writeBackQc(AggDhjydMasterVO aggDhjydMasterVO) throws BusinessException; + + /*** + *到货检验审批收回时删除对应质量信息 + * @param AggDhjydMasterVO + * @return + */ + public Map deleteQc(AggDhjydMasterVO aggDhjydMasterVO) throws BusinessException; } From 5fef2acf0c8ee7f79e1bc930d84839706dc10d0a Mon Sep 17 00:00:00 2001 From: hefengkai <958118178@qq.com> Date: Sat, 19 Oct 2024 18:29:47 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=A3=80=E9=AA=8C=E5=8D=95=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=E5=9B=9E=E5=86=99=E8=B4=A8=E6=A3=80=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dhjyd/dhjydmaster/ArriveToDhjydImpl.java | 100 +++++++++++++++++- 1 file changed, 99 insertions(+), 1 deletion(-) 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 7418172..6680452 100644 --- a/pu/src/private/nc/impl/pu/dhjyd/dhjydmaster/ArriveToDhjydImpl.java +++ b/pu/src/private/nc/impl/pu/dhjyd/dhjydmaster/ArriveToDhjydImpl.java @@ -1,22 +1,30 @@ package nc.impl.pu.dhjyd.dhjydmaster; import java.util.ArrayList; +import java.util.Arrays; import java.util.Map; +import nc.bs.dao.BaseDAO; +import nc.bs.framework.common.InvocationInfoProxy; import nc.bs.framework.common.NCLocator; import nc.bs.pub.pf.PfUtilTools; +import nc.codeplatform.framework.service.ServiceSupport; 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.ArriveBbVO; 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; +import nccloud.framework.core.exception.ExceptionUtils; -public class ArriveToDhjydImpl implements IArriveToDhjyd { +public class ArriveToDhjydImpl extends ServiceSupport implements IArriveToDhjyd { + + private BaseDAO baseDAO = null; /*** * 到货单生成到货检验单 @@ -70,5 +78,95 @@ public class ArriveToDhjydImpl implements IArriveToDhjyd { // TODO Auto-generated method stub return null; } + + + /*** + * 到货检验单审批完成回写到货单的质检明细 + * @param AggDhjydMasterVO + * @return + */ + @Override + public Map writeBackQc(AggDhjydMasterVO aggDhjydMasterVO) throws BusinessException { + + try { + + DhjydMasterVO dhjydMaster = aggDhjydMasterVO.getParentVO();//获取检验单表头信息 + DhjydSlave0VO[] dhjydItems = (DhjydSlave0VO[])aggDhjydMasterVO.getChildrenVO();//获取到货单表体信息 + + ArriveBbVO arriveBb = null;//到货单质检明细 + ArrayList vos = new ArrayList(); + //存在一个检验单有多个表体的情况(合格、不合格、回用) + if(dhjydItems != null && dhjydItems.length > 0) { + for(int i = 0; i < dhjydItems.length; i++) { + arriveBb = new ArriveBbVO(); + arriveBb.setPk_group(dhjydMaster.getPk_group());//所属集团id + arriveBb.setPk_arriveorder(dhjydMaster.getSrcbillid());//到货单主键id + arriveBb.setPk_arriveorder_b(dhjydMaster.getDef1());//到货单表体主键id + arriveBb.setNnum(dhjydItems[0].getNchecknum());//主数量 + arriveBb.setNastnum(dhjydItems[0].getNchecknum());//辅数量 + arriveBb.setStatus(2);//新增(0:初始 1:更新 2:新增 3:删除) + vos.add(arriveBb); + } + } else { + throw new BusinessException("检验单明细为空,无法生成质检明细!"); + } + + dao.save(vos.toArray(new ArriveBbVO[0]), true);//批量生成质检明细信息 + } catch (Exception e) { + String errMsg = e.toString(); + if (e.getCause() != null) { + errMsg = e.getCause().toString(); + } + throw new BusinessException(errMsg); + } + + // TODO Auto-generated method stub + return null; + } + + + /*** + * 到货检验审批收回时删除对应质量信息 + * @param AggDhjydMasterVO + * @return + */ + @Override + public Map deleteQc(AggDhjydMasterVO aggDhjydMasterVO) throws BusinessException { + + try { + DhjydMasterVO dhjydMaster = aggDhjydMasterVO.getParentVO();//获取检验单表头信息 + + String pk_arriveorder = dhjydMaster.getSrcbillid();//到货单主键id + String pk_arriveorder_b = dhjydMaster.getDef1();//到货单子表主键id + + String whereSql = "nvl(po_arriveorder_bb.dr,0) = 0 and po_arriveorder_bb.pk_arriveorder = '" + pk_arriveorder + "'" + +"and po_arriveorder_bb.pk_arriveorder_b = '" + pk_arriveorder_b + "'"; + + ArriveBbVO[] vos = dao.listByCondition(ArriveBbVO.class, whereSql);//质检信息查询 + dao.delete(vos, true);//删除质量信息 + } catch (Exception e) { + String errMsg = e.toString(); + if (e.getCause() != null) { + errMsg = e.getCause().toString(); + } + throw new BusinessException(errMsg); + } + + // TODO Auto-generated method stub + return null; + } + + + /*** + * 获取dao层 + * @return + */ + private BaseDAO getBaseDAO() { + if (this.baseDAO == null) { + this.baseDAO = new BaseDAO(); + } + return this.baseDAO; + } + } From 795f083d9c5fd0c8104ac583a91d8b0a9713d3f8 Mon Sep 17 00:00:00 2001 From: hefengkai <958118178@qq.com> Date: Sat, 19 Oct 2024 18:37:26 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=A3=80=E9=AA=8C=E5=8D=95=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=E5=9B=9E=E5=86=99=E8=B4=A8=E6=A3=80=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dhjyd/dhjydmaster/ArriveToDhjydImpl.java | 172 ------------------ 1 file changed, 172 deletions(-) delete mode 100644 pu/src/private/nc/impl/pu/dhjyd/dhjydmaster/ArriveToDhjydImpl.java diff --git a/pu/src/private/nc/impl/pu/dhjyd/dhjydmaster/ArriveToDhjydImpl.java b/pu/src/private/nc/impl/pu/dhjyd/dhjydmaster/ArriveToDhjydImpl.java deleted file mode 100644 index 6680452..0000000 --- a/pu/src/private/nc/impl/pu/dhjyd/dhjydmaster/ArriveToDhjydImpl.java +++ /dev/null @@ -1,172 +0,0 @@ -package nc.impl.pu.dhjyd.dhjydmaster; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Map; - -import nc.bs.dao.BaseDAO; -import nc.bs.framework.common.InvocationInfoProxy; -import nc.bs.framework.common.NCLocator; -import nc.bs.pub.pf.PfUtilTools; -import nc.codeplatform.framework.service.ServiceSupport; -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.ArriveBbVO; -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; -import nccloud.framework.core.exception.ExceptionUtils; - -public class ArriveToDhjydImpl extends ServiceSupport implements IArriveToDhjyd { - - private BaseDAO baseDAO = null; - - /*** - * 到货单生成到货检验单 - * @param ArriveVO - * @return - */ - @Override - public Map createDhjyd_RequiresNew(ArriveVO arriveVO) throws BusinessException { - - try { - - ArriveHeaderVO arriveHeadVo = arriveVO.getHVO();//获取到货单表头信息 - ArriveItemVO[] arriveItems = arriveVO.getBVO();//获取到货单表体信息 - - //到货单集合获取 - ArrayList arrayList = new ArrayList(); - arrayList.add(arriveVO); - - // 单据转换 到货单-->到货检验单 - 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());//报检日期 - masterVO.setApprovestatus(-1);//单据审批状态-1自由态 - masterVO.setDef1(arriveItems[0].getPk_arriveorder_b());//来源子表主键id - - 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); - } catch (Exception e) { - String errMsg = e.toString(); - if (e.getCause() != null) { - errMsg = e.getCause().toString(); - } - throw new BusinessException(errMsg); - } - - // TODO Auto-generated method stub - return null; - } - - - /*** - * 到货检验单审批完成回写到货单的质检明细 - * @param AggDhjydMasterVO - * @return - */ - @Override - public Map writeBackQc(AggDhjydMasterVO aggDhjydMasterVO) throws BusinessException { - - try { - - DhjydMasterVO dhjydMaster = aggDhjydMasterVO.getParentVO();//获取检验单表头信息 - DhjydSlave0VO[] dhjydItems = (DhjydSlave0VO[])aggDhjydMasterVO.getChildrenVO();//获取到货单表体信息 - - ArriveBbVO arriveBb = null;//到货单质检明细 - ArrayList vos = new ArrayList(); - //存在一个检验单有多个表体的情况(合格、不合格、回用) - if(dhjydItems != null && dhjydItems.length > 0) { - for(int i = 0; i < dhjydItems.length; i++) { - arriveBb = new ArriveBbVO(); - arriveBb.setPk_group(dhjydMaster.getPk_group());//所属集团id - arriveBb.setPk_arriveorder(dhjydMaster.getSrcbillid());//到货单主键id - arriveBb.setPk_arriveorder_b(dhjydMaster.getDef1());//到货单表体主键id - arriveBb.setNnum(dhjydItems[0].getNchecknum());//主数量 - arriveBb.setNastnum(dhjydItems[0].getNchecknum());//辅数量 - arriveBb.setStatus(2);//新增(0:初始 1:更新 2:新增 3:删除) - vos.add(arriveBb); - } - } else { - throw new BusinessException("检验单明细为空,无法生成质检明细!"); - } - - dao.save(vos.toArray(new ArriveBbVO[0]), true);//批量生成质检明细信息 - } catch (Exception e) { - String errMsg = e.toString(); - if (e.getCause() != null) { - errMsg = e.getCause().toString(); - } - throw new BusinessException(errMsg); - } - - // TODO Auto-generated method stub - return null; - } - - - /*** - * 到货检验审批收回时删除对应质量信息 - * @param AggDhjydMasterVO - * @return - */ - @Override - public Map deleteQc(AggDhjydMasterVO aggDhjydMasterVO) throws BusinessException { - - try { - DhjydMasterVO dhjydMaster = aggDhjydMasterVO.getParentVO();//获取检验单表头信息 - - String pk_arriveorder = dhjydMaster.getSrcbillid();//到货单主键id - String pk_arriveorder_b = dhjydMaster.getDef1();//到货单子表主键id - - String whereSql = "nvl(po_arriveorder_bb.dr,0) = 0 and po_arriveorder_bb.pk_arriveorder = '" + pk_arriveorder + "'" - +"and po_arriveorder_bb.pk_arriveorder_b = '" + pk_arriveorder_b + "'"; - - ArriveBbVO[] vos = dao.listByCondition(ArriveBbVO.class, whereSql);//质检信息查询 - dao.delete(vos, true);//删除质量信息 - } catch (Exception e) { - String errMsg = e.toString(); - if (e.getCause() != null) { - errMsg = e.getCause().toString(); - } - throw new BusinessException(errMsg); - } - - // TODO Auto-generated method stub - return null; - } - - - /*** - * 获取dao层 - * @return - */ - private BaseDAO getBaseDAO() { - if (this.baseDAO == null) { - this.baseDAO = new BaseDAO(); - } - return this.baseDAO; - } - - -}