质检明细调整
This commit is contained in:
		
							parent
							
								
									ff7ca07612
								
							
						
					
					
						commit
						95e20dbb57
					
				|  | @ -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