检验单弃审时验证到货单是否已入库
This commit is contained in:
		
							parent
							
								
									2555e3c304
								
							
						
					
					
						commit
						168f1283e9
					
				|  | @ -30,6 +30,7 @@ public class PFlowDhjydMasterVOAction extends BaseAction{ | |||
| 
 | ||||
| 		return this.exeFlow(actionName, tsMap, assign); | ||||
| 	} | ||||
| 
 | ||||
| 	private Object exeFlow(String actionName, Map<String, String> tsMap, Object assign) throws BusinessException { | ||||
| 		final String ACTION_SAVE = "SAVE", ACTION_UNSAVE = "UNSAVE";// 提交、收回 | ||||
| 		IDhjydMasterVOService service = ServiceLocator.find(IDhjydMasterVOService.class); | ||||
|  |  | |||
|  | @ -12,8 +12,10 @@ import nc.vo.pub.lang.UFDateTime; | |||
| import nc.uap.utils.InSQLCreator; | ||||
| import org.apache.commons.lang3.ArrayUtils; | ||||
| import org.apache.commons.lang3.StringUtils; | ||||
| import org.apache.commons.beanutils.PropertyUtils; | ||||
| 
 | ||||
| import com.informix.util.stringUtil; | ||||
| 
 | ||||
| import org.apache.commons.beanutils.PropertyUtils; | ||||
| 
 | ||||
| import nc.vo.pub.BusinessException; | ||||
| import nc.vo.pub.BusinessRuntimeException; | ||||
|  | @ -27,14 +29,15 @@ import nc.vo.pu.dhjyd.DhjydMasterVO; | |||
| import nc.vo.pu.dhjyd.DhjydSlave0VO; | ||||
| import nc.vo.pu.dhjyd.AggDhjydMasterVO; | ||||
| import nc.itf.pu.dhjyd.dhjydmaster.IDhjydMasterVOService; | ||||
| 
 | ||||
| 
 | ||||
| import nc.jdbc.framework.processor.ColumnProcessor; | ||||
| import nc.vo.pub.pf.BillStatusEnum; | ||||
| import nc.bs.dao.BaseDAO; | ||||
| import nc.bs.framework.common.InvocationInfoProxy; | ||||
| import nccloud.framework.core.exception.ExceptionUtils; | ||||
| 
 | ||||
| public class DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydMasterVOService { | ||||
| 
 | ||||
| 	private BaseDAO baseDAO = null; | ||||
| 
 | ||||
| 	@Override | ||||
| 	public AggDhjydMasterVO[] listAggDhjydMasterVOByPk(String... pks) throws BusinessException { | ||||
|  | @ -55,10 +58,13 @@ public class  DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydM | |||
| 	public AggDhjydMasterVO[] listAggDhjydMasterVOByCondition(String condition) throws BusinessException { | ||||
| 		return listAggDhjydMasterVOByCondition(condition, new String[] { "pk_chekbill_h" }); | ||||
| 	} | ||||
| 
 | ||||
| 	@Override | ||||
| 	public  AggDhjydMasterVO[] listAggDhjydMasterVOByCondition(String condition,String[] orderPath) throws BusinessException{ | ||||
| 	public AggDhjydMasterVO[] listAggDhjydMasterVOByCondition(String condition, String[] orderPath) | ||||
| 			throws BusinessException { | ||||
| 		return dao.listByCondition(AggDhjydMasterVO.class, condition, false, false, orderPath); | ||||
| 	} | ||||
| 
 | ||||
| 	@Override | ||||
| 	public DhjydMasterVO[] listDhjydMasterVOByPk(String... pks) throws BusinessException { | ||||
| 		return dao.listByPk(DhjydMasterVO.class, pks, true); | ||||
|  | @ -73,6 +79,7 @@ public class  DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydM | |||
| 	public DhjydMasterVO[] listDhjydMasterVOByCondition(String condition) throws BusinessException { | ||||
| 		return listDhjydMasterVOByCondition(condition, new String[] { "pk_chekbill_h" }); | ||||
| 	} | ||||
| 
 | ||||
| 	@Override | ||||
| 	public DhjydMasterVO[] listDhjydMasterVOByCondition(String condition, String[] orderPath) throws BusinessException { | ||||
| 		return dao.listByCondition(DhjydMasterVO.class, condition, false, false, orderPath); | ||||
|  | @ -82,6 +89,7 @@ public class  DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydM | |||
| 	public String[] listDhjydMasterVOPkByCond(String condition) throws BusinessException { | ||||
| 		return listDhjydMasterVOPkByCond(condition, new String[] { "pk_chekbill_h" }); | ||||
| 	} | ||||
| 
 | ||||
| 	@Override | ||||
| 	public String[] listDhjydMasterVOPkByCond(String condition, String[] orderPath) throws BusinessException { | ||||
| 		if (StringUtils.isEmpty(condition)) { | ||||
|  | @ -101,6 +109,7 @@ public class  DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydM | |||
| 			return pks.toArray(new String[0]); | ||||
| 		}); | ||||
| 	} | ||||
| 
 | ||||
| 	@Override | ||||
| 	public void initDefaultData(DhjydMasterVO vo) { | ||||
| 		if (vo.getAttributeValue("pk_group") == null) { | ||||
|  | @ -119,14 +128,18 @@ public class  DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydM | |||
| 			vo.setAttributeValue("approvestatus", BillStatusEnum.FREE.toIntValue()); | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	@Override | ||||
| 	public AggDhjydMasterVO preAddAggDhjydMasterVO(AggDhjydMasterVO vo,Map<String,Object> userJson) throws BusinessException{ | ||||
| 	public AggDhjydMasterVO preAddAggDhjydMasterVO(AggDhjydMasterVO vo, Map<String, Object> userJson) | ||||
| 			throws BusinessException { | ||||
| 
 | ||||
| 		getMainVO(vo).setStatus(VOStatus.NEW); | ||||
| 		initDefaultData((DhjydMasterVO) getMainVO(vo)); | ||||
| 
 | ||||
| 		// 下面这段要判断是否是树表界面插件 | ||||
| 		Map<String,String> data = userJson!=null && userJson.get("data") != null?(Map<String,String>)userJson.get("data"):null; | ||||
| 		Map<String, String> data = userJson != null && userJson.get("data") != null | ||||
| 				? (Map<String, String>) userJson.get("data") | ||||
| 				: null; | ||||
| 		if (data != null && data.size() > 0) { | ||||
| 			String parentKey = data.get("parentKey"); | ||||
| 			String parentPk = data.get("parentPk"); | ||||
|  | @ -146,6 +159,7 @@ public class  DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydM | |||
| 
 | ||||
| 		return vo; | ||||
| 	} | ||||
| 
 | ||||
| 	@Override | ||||
| 	public AggDhjydMasterVO preAddAggDhjydMasterVO(Map<String, Object> userJson) throws BusinessException { | ||||
| 		AggDhjydMasterVO result = null; | ||||
|  | @ -212,6 +226,7 @@ public class  DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydM | |||
| 		} | ||||
| 		return vo; | ||||
| 	} | ||||
| 
 | ||||
| 	@Override | ||||
| 	public AggDhjydMasterVO[] saveAggDhjydMasterVO(AggDhjydMasterVO vo) throws BusinessException { | ||||
| 		String pk = getVOPrimaryKey(vo); | ||||
|  | @ -222,8 +237,10 @@ public class  DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydM | |||
| 			return dao.update(vo); // 更新 | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	/** | ||||
| 	 * 保存前处理编码规则 | ||||
| 	 *  | ||||
| 	 * @param vos | ||||
| 	 */ | ||||
| 	private void setBillCode(AggDhjydMasterVO... vos) throws BusinessException { | ||||
|  | @ -235,7 +252,8 @@ public class  DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydM | |||
| 					String pk_group = InvocationInfoProxy.getInstance().getGroupId(); | ||||
| 					if (billCodeContext != null && !billCodeContext.isPrecode()) { | ||||
| 						if (getMainVO(vo).getAttributeValue("code") == null) { | ||||
| 							String code = getBillcodeManage().getBillCode_RequiresNew("pudhjyd", pk_group, pk_group, getMainVO(vo)); | ||||
| 							String code = getBillcodeManage().getBillCode_RequiresNew("pudhjyd", pk_group, pk_group, | ||||
| 									getMainVO(vo)); | ||||
| 							getMainVO(vo).setAttributeValue("code", code); | ||||
| 						} | ||||
| 					} else { | ||||
|  | @ -246,8 +264,10 @@ public class  DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydM | |||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	/** | ||||
| 	 * 保存前设置审计信息 | ||||
| 	 *  | ||||
| 	 * @param vos | ||||
| 	 */ | ||||
| 	private void setAuditInfo(AggDhjydMasterVO... vos) throws BusinessException { | ||||
|  | @ -272,8 +292,10 @@ public class  DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydM | |||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	/** | ||||
| 	 * 保存前处理一些默认值 | ||||
| 	 *  | ||||
| 	 * @param vos | ||||
| 	 */ | ||||
| 	private void setDefaultVal(AggDhjydMasterVO... vos) throws BusinessException { | ||||
|  | @ -374,27 +396,24 @@ public class  DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydM | |||
| 		return Stream.of(vos).map(vo -> vo.getPrimaryKey()).toArray(String[]::new); | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 	public SuperVO[] queryChildVOByPks(Class childClazz, String[] pks) throws BusinessException { | ||||
| 		return (SuperVO[]) dao.listByPk(childClazz, pks, false); | ||||
| 	} | ||||
| 
 | ||||
| 	/** | ||||
| 	 * 提交前校验: | ||||
| 	 * 检查单据状态 | ||||
| 	 * 提交前校验: 检查单据状态 | ||||
| 	 *  | ||||
| 	 * @throws BusinessException | ||||
| 	 * */ | ||||
| 	 */ | ||||
| 	private void validateCommitAggDhjydMasterVO(AggDhjydMasterVO... vos) throws BusinessException { | ||||
| 		if (ArrayUtils.isEmpty(vos)) { | ||||
| 			return; | ||||
| 		} | ||||
| 		List<AggDhjydMasterVO> list = Arrays.stream(vos) | ||||
| 			.filter(item ->item.getParentVO()!=null) | ||||
| 			.filter(item->{ | ||||
| 		List<AggDhjydMasterVO> list = Arrays.stream(vos).filter(item -> item.getParentVO() != null).filter(item -> { | ||||
| 			Integer status = (Integer) item.getParentVO().getAttributeValue("approvestatus"); | ||||
| 				return status==null||status!=BillStatusEnum.FREE.toIntValue()&&status!=BillStatusEnum.NOPASS.toIntValue(); | ||||
| 			}).map(item->item) | ||||
| 			.collect(Collectors.toList()); | ||||
| 			return status == null | ||||
| 					|| status != BillStatusEnum.FREE.toIntValue() && status != BillStatusEnum.NOPASS.toIntValue(); | ||||
| 		}).map(item -> item).collect(Collectors.toList()); | ||||
| 		if (list == null || list.size() == 0) { | ||||
| 			return; | ||||
| 		} | ||||
|  | @ -404,22 +423,20 @@ public class  DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydM | |||
| 		} | ||||
| 		throw new BusinessException(errors); | ||||
| 	} | ||||
| 
 | ||||
| 	/** | ||||
| 	 * 收回前校验: | ||||
| 	 * 检查单据状态 | ||||
| 	 * 收回前校验: 检查单据状态 | ||||
| 	 *  | ||||
| 	 * @throws BusinessException | ||||
| 	 * */ | ||||
| 	 */ | ||||
| 	private void validateUnCommitAggDhjydMasterVO(AggDhjydMasterVO... vos) throws BusinessException { | ||||
| 		if (ArrayUtils.isEmpty(vos)) { | ||||
| 			return; | ||||
| 		} | ||||
| 		List<AggDhjydMasterVO> list = Arrays.stream(vos) | ||||
| 			.filter(item ->item.getParentVO()!=null) | ||||
| 			.filter(item->{ | ||||
| 		List<AggDhjydMasterVO> list = Arrays.stream(vos).filter(item -> item.getParentVO() != null).filter(item -> { | ||||
| 			Integer status = (Integer) item.getParentVO().getAttributeValue("approvestatus"); | ||||
| 			return status == null || status == BillStatusEnum.FREE.toIntValue(); | ||||
| 			}).map(item->item) | ||||
| 			.collect(Collectors.toList()); | ||||
| 		}).map(item -> item).collect(Collectors.toList()); | ||||
| 		if (list == null || list.size() == 0) { | ||||
| 			return; | ||||
| 		} | ||||
|  | @ -429,8 +446,41 @@ public class  DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydM | |||
| 		} | ||||
| 		throw new BusinessException(errors); | ||||
| 	} | ||||
| 
 | ||||
| 	private void validateUnCommitInOrder(AggDhjydMasterVO... vos) throws BusinessException { | ||||
| 		if (ArrayUtils.isEmpty(vos)) { | ||||
| 			return; | ||||
| 		} | ||||
| 		List<AggDhjydMasterVO> list = Arrays.stream(vos).filter(item -> item.getParentVO() != null).filter(item -> { | ||||
| 			String csourceid = (String) item.getParentVO().getAttributeValue("csourceid"); | ||||
| 			return csourceid != null && !"".equals(csourceid); | ||||
| 		}).map(item -> item).collect(Collectors.toList()); | ||||
| 		if (list == null || list.size() == 0) { | ||||
| 			return; | ||||
| 		} | ||||
| 		String errors = ""; | ||||
| 		for (AggDhjydMasterVO vo : list) { | ||||
| 			DhjydMasterVO jydMasterVO = vo.getParentVO(); | ||||
| 			// 到货单的id 采购入库单的来源主键是到货单的主键 | ||||
| 			String csourceid = jydMasterVO.getAttributeValue("csourceid") + ""; | ||||
| 			if ("".equals(csourceid) || "null".equals(csourceid)) { | ||||
| 				continue; | ||||
| 			} | ||||
| 			// 查询采购入库单是否存在该id | ||||
| 			String countSql = "select count(1) from IC_PURCHASEIN_B where csourcebillhid = " + csourceid; | ||||
| 			Integer num = (Integer) getBaseDAO().executeQuery(countSql, new ColumnProcessor()); | ||||
| 			if (num > 0) { | ||||
| 				errors += "单据号:[" + jydMasterVO.getAttributeValue("vbillcode") + "]收回失败,失败原因:到货单已入库,请勿收回。\n"; | ||||
| 			} | ||||
| 		} | ||||
| 		if (!"".equals(errors)) { | ||||
| 			throw new BusinessException(errors); | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	@Override | ||||
| 	public Object commitAggDhjydMasterVO(String actionName,Map<String,String> tsMap,Object assign) throws BusinessException{ | ||||
| 	public Object commitAggDhjydMasterVO(String actionName, Map<String, String> tsMap, Object assign) | ||||
| 			throws BusinessException { | ||||
| 		AggDhjydMasterVO[] vos = dao.listByPk(AggDhjydMasterVO.class, getAllPks(tsMap), false); | ||||
| 		validateTs(tsMap, vos); | ||||
| 		// 提交前校验及业务逻辑 | ||||
|  | @ -457,6 +507,7 @@ public class  DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydM | |||
| 		validateTs(tsMap, vos); | ||||
| 		// 收回前校验及业务逻辑 | ||||
| 		validateUnCommitAggDhjydMasterVO(vos); | ||||
| 		validateUnCommitInOrder(vos); | ||||
| 		Map<String, Object> res = this.execFlows(actionName, "DHJY", vos); | ||||
| 		// 收回后业务逻辑 | ||||
| 		return res; | ||||
|  | @ -482,7 +533,6 @@ public class  DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydM | |||
| 
 | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 	@Override | ||||
| 	public AggDhjydMasterVO[] callbackSAVE(AggDhjydMasterVO... vos) throws BusinessException { | ||||
| 		if (ArrayUtils.isEmpty(vos)) { | ||||
|  | @ -496,7 +546,6 @@ public class  DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydM | |||
| 
 | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 	@Override | ||||
| 	public AggDhjydMasterVO[] callbackUNSAVE(AggDhjydMasterVO... vos) throws BusinessException { | ||||
| 		if (ArrayUtils.isEmpty(vos)) { | ||||
|  | @ -506,7 +555,6 @@ public class  DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydM | |||
| 
 | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 	@Override | ||||
| 	public AggDhjydMasterVO[] callbackAPPROVE(AggDhjydMasterVO... vos) throws BusinessException { | ||||
| 		if (ArrayUtils.isEmpty(vos)) { | ||||
|  | @ -516,7 +564,6 @@ public class  DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydM | |||
| 
 | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 	@Override | ||||
| 	public AggDhjydMasterVO[] callbackUNAPPROVE(AggDhjydMasterVO... vos) throws BusinessException { | ||||
| 		if (ArrayUtils.isEmpty(vos)) { | ||||
|  | @ -526,14 +573,22 @@ public class  DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydM | |||
| 
 | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 	@Override | ||||
| 	public BillCodeContext getBillCodeContext(String coderuleid) throws BusinessException { | ||||
| 		return super.getBillCodeContext(coderuleid); | ||||
| 	} | ||||
| 
 | ||||
| 	@Override | ||||
| 	public BillCodeContext getBillCodeContext(String coderuleid, String pkgroup, String pkorg) throws BusinessException{ | ||||
| 	public BillCodeContext getBillCodeContext(String coderuleid, String pkgroup, String pkorg) | ||||
| 			throws BusinessException { | ||||
| 		return super.getBillCodeContext(coderuleid, pkgroup, pkorg); | ||||
| 	} | ||||
| 
 | ||||
| 	private BaseDAO getBaseDAO() { | ||||
| 		if (this.baseDAO == null) { | ||||
| 			this.baseDAO = new BaseDAO(); | ||||
| 		} | ||||
| 		return this.baseDAO; | ||||
| 	} | ||||
| 
 | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue