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] =?UTF-8?q?=E6=A3=80=E9=AA=8C=E5=8D=95=E5=AE=A1=E6=89=B9?= =?UTF-8?q?=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; + } + }