质检明细调整
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