Jelajahi Sumber

代码整合

yaoyu 3 tahun lalu
induk
melakukan
b9e4c7d0c1

+ 9 - 9
zjcmp_cd/zjcmp_cd/src/client/nccloud/web/cdmc/cdm/repayprcpl/action/RepayPrcplSaveAction.java

@@ -29,15 +29,8 @@ import nccloud.web.cdmc.common.action.CommonSaveAction;
 
 public class RepayPrcplSaveAction extends CommonSaveAction<AggRepayPrcplVO> {
 	protected AggRepayPrcplVO doBusinessSave(AggRepayPrcplVO operaVO) throws BusinessException {
-		this.validateBeforeSave(operaVO);
-		this.doBefore(operaVO);
-		ISuperVO[] children = operaVO.getChildren(RepayPrcplPlanVO.class);
-
-		for (int i = 0; i < children.length; ++i) {
-			children[i].setAttributeValue("pk_repprcpl_plan", (Object) null);
-			children[i].setStatus(2);
-		}
-		 InformerVO[] informerVO =new InformerVO[1];
+		
+		InformerVO[] informerVO =new InformerVO[1];
 		  RepayPrcplVO headvo=operaVO.getParentVO();
 		  if (null != headvo.getVdef4()) {
 			  VOQuery<InformerVO> querysordr = new VOQuery<InformerVO>(InformerVO.class);
@@ -55,7 +48,14 @@ public class RepayPrcplSaveAction extends CommonSaveAction<AggRepayPrcplVO> {
 		    	 informerVO[0].setLowerbilltype("36Z4");
 		    	 informerVO[0].setDr(0);
 			}
+		this.validateBeforeSave(operaVO);
+		this.doBefore(operaVO);
+		ISuperVO[] children = operaVO.getChildren(RepayPrcplPlanVO.class);
 
+		for (int i = 0; i < children.length; ++i) {
+			children[i].setAttributeValue("pk_repprcpl_plan", (Object) null);
+			children[i].setStatus(2);
+		}
 		Object result = super.callActionScript(CdmcPubConst.CONST_ACTION_SAVEBASE,
 				CdmcPubConst.CONST_BILLTYPE_REPAYPRCPL, new AggRepayPrcplVO[]{operaVO});
 		AggRepayPrcplVO[] saveVOs = (AggRepayPrcplVO[]) ((AggRepayPrcplVO[]) result);

+ 51 - 40
zjcmp_cd/zjcmp_cd/src/client/nccloud/web/cmp/informer/informer/action/ListCancelGenerateAction.java

@@ -74,8 +74,12 @@ public Object doAction(IRequest request)
 			 */
 
 			if ("3642".equals(cancelvos[i].getLowerbilltype())) {
-//	            IVOPersistence.deleteByClause(InvestRedeemVO.class, "pk_redeem='" + cancelvos[i].getPk_lower() + "' and dr=0 ");
-				//删除理财赎回单据
+				String qrysql = "select vbillstatus from ifm_redeem where dr=0 and pk_redeem = '"+cancelvos[i].getPk_lower()+"'";
+				int vbillstatus = (int) iuap.executeQuery(qrysql,new ColumnProcessor());
+				if(vbillstatus == 1) {
+					ExceptionUtils.wrapBusinessException("只有自由态的单据才能够删除!");
+					return null;
+				}
 				AggInvestRedeemVO redeemaggvo = (AggInvestRedeemVO) service.queryBillOfNCObjectByPK(AggInvestRedeemVO.class, cancelvos[i].getPk_lower()).getContainmentObject();
 				ipf.processAction("DELETE", "3642", null, redeemaggvo, null, null);
 //	   	    	cancelvos[i].setGenerateflag("hasnogenerate");//未生成
@@ -95,26 +99,62 @@ public Object doAction(IRequest request)
 			 * 
 			 */
 			if ("3641".equals(cancelvos[i].getLowerbilltype())) {
-				AggInvestApplyVO aggInvestApplyVO = (AggInvestApplyVO) service.queryBillOfNCObjectByPK(AggInvestApplyVO.class, cancelvos[i].getPk_lower()).getContainmentObject();
-				ipf.processAction("DELETE", "3641", Workflownote, aggInvestApplyVO, null, null);
-//				try {
-//					String sql = "update cmp_informer set Pk_claimer='',Claimdate='' where pk_informer = '"+ cancelvos[i].getPk_informer() + "' and nvl(dr,0)=0";
-//					iuap.executeQuery(sql, null);
-//				} catch (BusinessException localBusinessException) {
-//					// TODO: handle exception
-//				}
+				String qrysql = "select vbillstatus from ifm_apply where dr=0 and pk_apply = '"+cancelvos[i].getPk_lower()+"'";
+				String vbillstatus = (String) iuap.executeQuery(qrysql,new ColumnProcessor());
+				if("1".equals(vbillstatus)) {
+					ExceptionUtils.wrapBusinessException("只有自由态的单据才能够删除!");
+					return null;
+				}
 				
+				AggInvestApplyVO aggInvestApplyVO = (AggInvestApplyVO) service.queryBillOfNCObjectByPK(AggInvestApplyVO.class, cancelvos[i].getPk_lower()).getContainmentObject();
+				ipf.processAction("DELETE", "3641", Workflownote, aggInvestApplyVO, null, null);				
 				cancelvos[i].setPk_claimer("");// 认证人
 				cancelvos[i].setClaimdate(null);// 认证日期
 				IVOPersistence.updateVO(cancelvos[i]);
 				
 			}
 			
+			
+			//内贷还本
+			if("36Z4".equals(cancelvos[i].getLowerbilltype())) {
+				String qrysql = "select vbillstatus from cdmc_repayprcpl where dr=0 and pk_repayprcpl = '"+cancelvos[i].getPk_lower()+"'";
+				int vbillstatus = (int) iuap.executeQuery(qrysql,new ColumnProcessor());
+				if(vbillstatus == 1) {
+					ExceptionUtils.wrapBusinessException("只有自由态的单据才能够删除!");
+					return null;
+				}
+				
+				AggRepayPrcplVO repaaycpggvo = (AggRepayPrcplVO) service.queryBillOfNCObjectByPK(AggRepayPrcplVO.class, cancelvos[i].getPk_lower()).getContainmentObject();
+				ipf.processAction("DELETE", "36Z4", null, repaaycpggvo, null, null);
+				cancelvos[i].setPk_claimer("");// 认证人
+				cancelvos[i].setClaimdate(null);// 认证日期
+				IVOPersistence.updateVO(cancelvos[i]);
+			}
+			
+			if("36Z5".equals(cancelvos[i].getLowerbilltype())) {
+	        	try {
+	        		AggRepayIntstVO aggrepayintstvo = (AggRepayIntstVO) service.queryBillOfNCObjectByPK(AggRepayIntstVO.class,cancelvos[i].getPk_lower()).getContainmentObject();
+					ipf.processAction("DELETE", "36Z5", null, aggrepayintstvo, null, null);//删除贷款付息单
+				} catch (Exception e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+				}
+	        	
+	        	cancelvos[i].setGenerateflag("hasnogenerate");
+	        	cancelvos[i].setUsemoney(new UFDouble(0));
+	        	cancelvos[i].setPk_claimer("");
+	        	cancelvos[i].setUsemoney(new UFDouble(0));
+	        	cancelvos[i].setClaimdate(null);
+	        	cancelvos[i].setPk_lower("");
+	        	cancelvos[i].setLowerbilltype("");
+	        	IVOPersistence.updateVO(cancelvos[i]);//修改到账通知单
+	        }
+			
 
 			list.add(cancelvos[i].getPk_informer());
 			appendvos[i] = getInformerManageService().cancelMakeBill(cancelvos[i]);
 			
-      
+			
 			if("36Z3".equals(cancelvos[i].getLowerbilltype())) {
 				String qrysql = "select vbillstatus from cdmc_financepay where dr=0 and pk_financepay = '"+cancelvos[i].getPk_lower()+"'";
 				int vbillstatus = (int) iuap.executeQuery(qrysql,new ColumnProcessor());
@@ -165,36 +205,7 @@ public Object doAction(IRequest request)
 				cancelvos[i].setLowerbilltype("");
 				IVOPersistence.updateVO(cancelvos[i]);//修改到账通知单
 			} 
-			if("36Z5".equals(cancelvos[i].getLowerbilltype())) {
-	        	try {
-	        		AggRepayIntstVO aggrepayintstvo = (AggRepayIntstVO) service.queryBillOfNCObjectByPK(AggRepayIntstVO.class,cancelvos[i].getPk_lower()).getContainmentObject();
-					ipf.processAction("DELETE", "36Z5", null, aggrepayintstvo, null, null);//删除贷款付息单
-				} catch (Exception e) {
-					// TODO Auto-generated catch block
-					e.printStackTrace();
-				}
-	        	
-	        	cancelvos[i].setGenerateflag("hasnogenerate");
-	        	cancelvos[i].setUsemoney(new UFDouble(0));
-	        	cancelvos[i].setPk_claimer("");
-	        	cancelvos[i].setUsemoney(new UFDouble(0));
-	        	cancelvos[i].setClaimdate(null);
-	        	cancelvos[i].setPk_lower("");
-	        	cancelvos[i].setLowerbilltype("");
-	        	IVOPersistence.updateVO(cancelvos[i]);//修改到账通知单
-	        }
 			
-			//内贷还本
-			if("36CX".equals(cancelvos[i].getLowerbilltype())) {
-				AggRepayPrcplVO repaaycpggvo = (AggRepayPrcplVO) service.queryBillOfNCObjectByPK(AggRepayPrcplVO.class, cancelvos[i].getPk_lower()).getContainmentObject();
-				ipf.processAction("DELETE", "36CX", null, repaaycpggvo, null, null);
-				cancelvos[i].setPk_claimer("");// 认证人
-				cancelvos[i].setClaimdate(null);// 认证日期
-				IVOPersistence.updateVO(cancelvos[i]);
-			}
-			
-			
-
 			if (cancelvos[i].getTranserial() != null) {
 				hs.add(cancelvos[i].getTranserial());
 			}

+ 90 - 0
zjcmp_cd/zjcmp_cd/src/client/nccloud/web/ifm/redeem/action/RedeemDeleteAction.java

@@ -0,0 +1,90 @@
+package nccloud.web.ifm.redeem.action;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import nc.vo.ifm.adapter.InvestRedeemSagaInfoAdapter;
+import nc.vo.ifm.constants.TMIFMConst;
+import nc.vo.ifm.redeem.AggInvestRedeemVO;
+import nc.vo.ifm.redeem.InvestRedeemVO;
+import nc.vo.pub.BusinessException;
+import nccloud.pub.tmpub.ms.vo.TMSagasBizInfoAdapter;
+import nccloud.web.ifm.common.action.CommonOperatorAction;
+import nccloud.web.ifm.ifm.util.RedeemUtil;
+
+
+public class RedeemDeleteAction extends CommonOperatorAction<AggInvestRedeemVO> {
+
+	@Override
+	protected AggInvestRedeemVO[] queryBillsByPks(String[] operaPks) {
+		AggInvestRedeemVO[] vos = RedeemUtil.getRedeemVO(operaPks);
+		return vos;
+	}
+
+	@Override
+	protected Object doBusinessProcess(AggInvestRedeemVO[] operaVOs, List<String> errList)
+			throws BusinessException {
+		if (operaVOs == null || operaVOs.length == 0) {
+			return null;
+		}
+		List<AggInvestRedeemVO> list = new ArrayList<AggInvestRedeemVO>();
+		for (AggInvestRedeemVO vo : operaVOs) {
+				try {
+					//saga校验放到最前面 liglt 20191129
+					checkFrozenSingle(vo);
+					//业务校验放到第二位,如果业务校验没有问题再走业务
+					String vdef8 = (String) vo.getParent().getAttributeValue("vdef8");
+					if(vdef8 != null) {
+						String str = "该单据是由上游单据生成,请在上游单据取消生单!";
+						errList.add(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().
+								getStrByID("ifm_ncc003_0","0ifm_ncc003-0022")/*@res 单据编号:*/ + 
+								vo.getParentVO().getVbillno()
+								+ str);
+						continue;
+					}
+					if (this.doBefore(vo,errList)) {
+						// 调用动作脚本
+						AggInvestRedeemVO[] result = (AggInvestRedeemVO[]) callActionScript(
+								TMIFMConst.CONST_ACTION_DELETE,
+								TMIFMConst.CONST_BILLTYPE_REDEEM,
+								new AggInvestRedeemVO[] { vo });
+						if(result==null || result.length==0)
+							return null;
+						list.add(vo);
+					}
+				} catch (Exception e) {
+					String errorMessage = getExceptionMsg(e);
+					errList.add(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().
+							getStrByID("ifm_ncc003_0","0ifm_ncc003-0022")/*@res 单据编号:*/ + 
+							vo.getParentVO().getVbillno()
+							+ errorMessage);
+					continue;
+				}
+		}
+		return (AggInvestRedeemVO[]) list.toArray(new AggInvestRedeemVO[0]);
+
+	}
+	
+	private boolean doBefore(AggInvestRedeemVO vo,List<String> errList) {
+		InvestRedeemVO head = vo.getParentVO();
+		if (!(head.getBillstatus() == 0)) {
+			errList.add(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().
+					getStrByID("ifm_ncc003_0","0ifm_ncc003-0035")/*@res 赎回编号:*/ + 
+					head.getVbillno() + 
+					nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().
+					getStrByID("ifm_ncc003_0","0ifm_ncc003-0036")/*@res ,不可以进行删除操作!*/);
+			return false;
+		}
+		return true;
+	}
+
+	@Override
+	protected String getActionCode() {
+		return TMIFMConst.CONST_ACTION_DELETE;
+	}
+
+	@Override
+	protected TMSagasBizInfoAdapter getAdapter() {
+		return new InvestRedeemSagaInfoAdapter();
+	}
+}

+ 10 - 6
zjcmp_cd/zjcmp_cd/src/client/nccloud/web/ifm/redeem/action/RedeemSubmitAction.java

@@ -27,12 +27,16 @@ public class RedeemSubmitAction extends CommonCommitAction<AggInvestRedeemVO> {
 	protected Object doBusinessProcess(AggInvestRedeemVO[] operaVOs, Object userobj) throws BusinessException {
 		SagasBizUtil.setOperInfo((String) null, "Commit");
 		Object result = super.doCommitProcess(operaVOs, userobj, new TMSagasBizInfoAdapter[]{this.getAdapter()});
-		IUAPQueryBS iuap = NCLocator.getInstance().lookup(IUAPQueryBS.class);
-		//给银行对账-单位日记账标识码赋值
-		String sql ="update cmp_bankaccdetail "
-				+ "set bankrelated_code = '"+operaVOs[0].getParent().getAttributeValue("vdef7").toString()+"'   "
-						+ "where vbillno = '"+operaVOs[0].getParent().getAttributeValue("vbillno").toString()+"' and nvl(dr,0)=0";
-		iuap.executeQuery(sql, null);
+		try {
+			IUAPQueryBS iuap = NCLocator.getInstance().lookup(IUAPQueryBS.class);
+			//给银行对账-单位日记账标识码赋值
+			String sql ="update cmp_bankaccdetail "
+					+ "set bankrelated_code = '"+operaVOs[0].getParent().getAttributeValue("vdef7").toString()+"'   "
+							+ "where vbillno = '"+operaVOs[0].getParent().getAttributeValue("vbillno").toString()+"' and nvl(dr,0)=0";
+			iuap.executeQuery(sql, null);
+		} catch (Exception e) {
+			// TODO: handle exception
+		}
 		
 		return result;
 	}