检验单审批回写质检信息

This commit is contained in:
hefengkai 2024-10-19 18:29:47 +08:00
parent d8888c2aa6
commit 5fef2acf0c
1 changed files with 99 additions and 1 deletions

View File

@ -1,22 +1,30 @@
package nc.impl.pu.dhjyd.dhjydmaster; package nc.impl.pu.dhjyd.dhjydmaster;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map; import java.util.Map;
import nc.bs.dao.BaseDAO;
import nc.bs.framework.common.InvocationInfoProxy;
import nc.bs.framework.common.NCLocator; import nc.bs.framework.common.NCLocator;
import nc.bs.pub.pf.PfUtilTools; 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.IArriveToDhjyd;
import nc.itf.pu.dhjyd.dhjydmaster.IDhjydMasterVOService; import nc.itf.pu.dhjyd.dhjydmaster.IDhjydMasterVOService;
import nc.vo.pu.dhjyd.AggDhjydMasterVO; import nc.vo.pu.dhjyd.AggDhjydMasterVO;
import nc.vo.pu.dhjyd.DhjydMasterVO; import nc.vo.pu.dhjyd.DhjydMasterVO;
import nc.vo.pu.dhjyd.DhjydSlave0VO; 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.ArriveHeaderVO;
import nc.vo.pu.m23.entity.ArriveItemVO; import nc.vo.pu.m23.entity.ArriveItemVO;
import nc.vo.pu.m23.entity.ArriveVO; import nc.vo.pu.m23.entity.ArriveVO;
import nc.vo.pub.BusinessException; import nc.vo.pub.BusinessException;
import nc.vo.pub.lang.UFDate; 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 // TODO Auto-generated method stub
return null; return null;
} }
/***
* 到货检验单审批完成回写到货单的质检明细
* @param AggDhjydMasterVO
* @return
*/
@Override
public Map<String, String> writeBackQc(AggDhjydMasterVO aggDhjydMasterVO) throws BusinessException {
try {
DhjydMasterVO dhjydMaster = aggDhjydMasterVO.getParentVO();//获取检验单表头信息
DhjydSlave0VO[] dhjydItems = (DhjydSlave0VO[])aggDhjydMasterVO.getChildrenVO();//获取到货单表体信息
ArriveBbVO arriveBb = null;//到货单质检明细
ArrayList<ArriveBbVO> vos = new ArrayList<ArriveBbVO>();
//存在一个检验单有多个表体的情况(合格不合格回用)
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<String, String> 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;
}
} }