Merge branch 'master' of http://121.37.179.211:3000/yonyou/ic
This commit is contained in:
commit
8d1996f58a
|
@ -0,0 +1,172 @@
|
|||
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<String, String> createDhjyd_RequiresNew(ArriveVO arriveVO) throws BusinessException {
|
||||
|
||||
try {
|
||||
|
||||
ArriveHeaderVO arriveHeadVo = arriveVO.getHVO();//获取到货单表头信息
|
||||
ArriveItemVO[] arriveItems = arriveVO.getBVO();//获取到货单表体信息
|
||||
|
||||
//到货单集合获取
|
||||
ArrayList<ArriveVO> arrayList = new ArrayList<ArriveVO>();
|
||||
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<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;
|
||||
}
|
||||
|
||||
|
||||
}
|
Loading…
Reference in New Issue