anderx 4 yıl önce
ebeveyn
işleme
96de0d928d

+ 90 - 97
src/main/java/com/goafanti/common/task/OrderDunTask.java

@@ -67,10 +67,9 @@ public class OrderDunTask {
 	@Autowired
 	private AsyncUtils	asyncUtils;
 	Logger	logger	= LoggerFactory.getLogger(OrderDunTask.class);
-	
+
 	/**
 	 * 	每天凌晨3点轮
-	 * @throws InterruptedException
 	 */
 	@ResponseBody
 	@Scheduled(cron = "0 0 3  * * ?")
@@ -121,57 +120,54 @@ public class OrderDunTask {
 	public void updateNewOrderDun(){
   		try {
   			LoggerUtils.debug(logger, "======================新催款任务轮询启动===================");
-  		List<OutNewOrderDunBo> list= newOrderDunService.selectAllOrderDun();
-  		Calendar now=Calendar.getInstance();
-  		Calendar now2=Calendar.getInstance();
-  		Date date =new Date();
-  		for (OutNewOrderDunBo o : list) {
-  			now.setTime(date);
-  			now2.setTime(o.getCreateTime());
-  			//特批首期款 计算出触发时间
-  			if (o!=null&&o.getApproval()!=null&&
-					(o.getApproval()==1||o.getApproval()==2)&&
-						o.getDunType()==1&&o.getWaitDay()!=null) {
-  					now2.add(Calendar.DATE, o.getWaitDay());
-  					//会员-期限 计算触发时间
-  			}else if(o.getProjectType()==OrderDunProjectType.HY.getCode()&&o.getDunType()==2) {
-  				now2.add(Calendar.DATE, o.getEffectiveCount()*180);
-  				CalendarTimeCleared(now2);
-  				if (now.getTimeInMillis() > now2.getTimeInMillis()) {//当前时间大于计算后时间则触发
-  	  	  			updateOrderDun(o);
-  	  	  			Thread.sleep(2000);
-  				}
-  			//财税-期限 计算时间
-  			} else if(o.getProjectType()==OrderDunProjectType.CS.getCode()&&o.getDunType()==2) {
-  			//获取年
-  				int year = now2.get(Calendar.YEAR);
-  		        //获取月份,0表示1月份
-  		        int month = now2.get(Calendar.MONTH) + 1;
-  		        if(month<10)year=year+1;
-  		        if(month>9)year=year+2;
-  		        now2.set(year, 5, 1);
-  		        CalendarTimeCleared(now2);
-			//自定义 超过设置的时间则触发
-  			}else if (o.getDunType()==0) {
-  	  		now2.setTime(o.getCustomizeTime());
-  	  		CalendarTimeCleared(now);
-			}
-			if (now.getTimeInMillis() > now2.getTimeInMillis()) {
-				updateOrderDun(o);
-				Thread.sleep(2000);
+			List<OutNewOrderDunBo> list= newOrderDunService.selectAllOrderDun();
+			Calendar now=Calendar.getInstance();
+			Calendar now2=Calendar.getInstance();
+			Date date =new Date();
+			for (OutNewOrderDunBo o : list) {
+				now.setTime(date);
+				now2.setTime(o.getCreateTime());
+				//特批首期款 计算出触发时间
+				if (o.getApproval()!=null&&
+						(o.getApproval()==1||o.getApproval()==2)&&
+							o.getDunType()==1&&o.getWaitDay()!=null) {
+						now2.add(Calendar.DATE, o.getWaitDay());
+						//会员-期限 计算触发时间
+				}else if(o.getProjectType().equals(OrderDunProjectType.HY.getCode())&&o.getDunType()==2) {
+					now2.add(Calendar.DATE, o.getEffectiveCount()*180);
+					CalendarTimeCleared(now2);
+					if (now.getTimeInMillis() > now2.getTimeInMillis()) {//当前时间大于计算后时间则触发
+						updateOrderDun(o);
+						Thread.sleep(2000);
+					}
+				//财税-期限 计算时间
+				} else if(o.getProjectType().equals(OrderDunProjectType.CS.getCode())&&o.getDunType()==2) {
+				//获取年
+					int year = now2.get(Calendar.YEAR);
+					//获取月份,0表示1月份
+					int month = now2.get(Calendar.MONTH) + 1;
+					if(month<10)year=year+1;
+					if(month>9)year=year+2;
+					now2.set(year, 5, 1);
+					CalendarTimeCleared(now2);
+				//自定义 超过设置的时间则触发
+				}else if (o.getDunType()==0) {
+					now2.setTime(o.getCustomizeTime());
+					CalendarTimeCleared(now);
+				}
+				if (now.getTimeInMillis() > now2.getTimeInMillis()) {
+					updateOrderDun(o);
+					Thread.sleep(2000);
+				}
 			}
-		}
-  		
   		} catch (Exception e) {
   			EmailBo emailBo = new EmailBo( "催款处理失败",  AFTConstants.ADMIN_EMAIL,  "超管", "平台",  "系统", devName+"催款处理失败");
   			asyncUtils.send(emailBo);
-  			LoggerUtils.error(getClass(), "=============================================");
-			LoggerUtils.error(getClass(), "新催款的信息处理失败", e);
-			LoggerUtils.error(getClass(), "=============================================");
+			LoggerUtils.error(getClass(), "===================新催款的信息处理失败======================", e);
 		}
   	}
-	
-	
+
+
 	/**
 	 * 处理付款催款
 	 */
@@ -183,10 +179,10 @@ public class OrderDunTask {
   		List<OutPaymentNode> list2=paymentNodeMapper.selectByStatus(0);
   		for (OutPaymentNode pn : list2) {
   			now2.setTime(pn.getCreateTime());
-  			if(pn.getProjectType()==OrderDunProjectType.HY.getCode()&&pn.getDunType()==2) {
+  			if(pn.getProjectType().equals(OrderDunProjectType.HY.getCode())&&pn.getDunType()==2) {
   				now2.add(Calendar.DATE, pn.getEffectiveCount()*180);
   				CalendarTimeCleared(now2);
-  			}else if(pn.getProjectType()==OrderDunProjectType.CS.getCode()&&pn.getDunType()==2) {
+  			}else if(pn.getProjectType().equals(OrderDunProjectType.CS.getCode())&&pn.getDunType()==2) {
   				//	获取年
   				int year = now2.get(Calendar.YEAR);
   		        //获取月份,0表示1月份
@@ -209,12 +205,12 @@ public class OrderDunTask {
   			LoggerUtils.error(getClass(), "===========================付款催款失败==========================", e);
 		}
 	}
-	
+
 	/**
 	* 	每月1号凌晨4点轮询处理需要欠款催款的信息
 	*
 	*/
-	@Scheduled(cron = "0 0 4 1 * ?") 
+	@Scheduled(cron = "0 0 4 1 * ?")
 	@RequestMapping(value = "/open/pushOrderArrearsDun", method = RequestMethod.GET)
 	public void pushOrderArrearsDun(){
 		try {
@@ -263,7 +259,7 @@ public class OrderDunTask {
 					tArrearsDunMapper.updateByPrimaryKeySelective(ta);
 				}
 				Thread.sleep(2000);
-			
+
 			}
 			for (TArrearsDun ta : list3) {
 				TOrderMid tm=tOrderMidMapper.selectByOrderNo(ta.getOrderNo());
@@ -285,44 +281,42 @@ public class OrderDunTask {
 					tArrearsDunMapper.updateByPrimaryKeySelective(ta);
 				}
 				Thread.sleep(2000);
-			
+
 			}
 		} catch (Exception e) {
 			LoggerUtils.error(getClass(), "===========================欠款催款失败==========================", e);
 		}
 	}
-	
-	/**
-	*	旧催款处理
-	*
-	*/
-	public void updateorderDun(){
-  		try {
-  			LoggerUtils.debug(logger, "======================催款任务轮询启动===================");
-  		List<OrderDunTaskBo> list=orderNewService.selectAllOrderDun();
-  		for (OrderDunTaskBo t : list) {
-			if (t.getDunSubject()/10==1) {//1则为订单催款信息否则为项目催款信息
-				if (t.getDunSubject()%10==t.getOrderStatus()&&t.getSettlementAmount().compareTo(t.getMoney()) == -1) {
-					 updateOrderDun(t);
-						Thread.sleep(2000);
-				}
-			}else {
-				if (t.getDunSubject()%10>=t.getProjectStatus()&&t.getSettlementAmount().compareTo(t.getMoney()) == -1) {
-					 updateOrderDun(t);
-					 Thread.sleep(2000);
-				}
-			}
-		}
-  		} catch (Exception e) {
-  			LoggerUtils.error(getClass(), "=============================================");
-			LoggerUtils.error(getClass(), "催款的信息处理失败", e);
-			LoggerUtils.error(getClass(), "=============================================");
-		}
-  		
-  	}
-	
-	
-	
+
+//	/**
+//	*	旧催款处理
+//	*
+//	*/
+//	public void updateorderDun(){
+//  		try {
+//  			LoggerUtils.debug(logger, "======================催款任务轮询启动===================");
+//  		List<OrderDunTaskBo> list=orderNewService.selectAllOrderDun();
+//  		for (OrderDunTaskBo t : list) {
+//			if (t.getDunSubject()/10==1) {//1则为订单催款信息否则为项目催款信息
+//				if (t.getDunSubject()%10==t.getOrderStatus()&&t.getSettlementAmount().compareTo(t.getMoney()) == -1) {
+//					 updateOrderDun(t);
+//						Thread.sleep(2000);
+//				}
+//			}else {
+//				if (t.getDunSubject()%10>=t.getProjectStatus()&&t.getSettlementAmount().compareTo(t.getMoney()) == -1) {
+//					 updateOrderDun(t);
+//					 Thread.sleep(2000);
+//				}
+//			}
+//		}
+//  		} catch (Exception e) {
+//			LoggerUtils.error(getClass(), "==========================催款的信息处理失败==========================", e);
+//		}
+//
+//  	}
+
+
+
 	private void updatePaymentNode(OutPaymentNode pn) {
 		PaymentNode p=new PaymentNode();
 		p.setId(pn.getId());
@@ -331,8 +325,8 @@ public class OrderDunTask {
 		paymentNodeMapper.updateByPrimaryKeySelective(p);
 		orderProjectService.addNoticAndEmail(pn,NoticeStatus.PAYMENT_DUN.getCode());
 	}
-	
-	
+
+
 
 
 	private void CalendarTimeCleared(Calendar now) {
@@ -343,7 +337,7 @@ public class OrderDunTask {
 	}
 
 
-	private void updateOrderDun(OutNewOrderDunBo t) throws UnsupportedEncodingException, MessagingException {
+	private void updateOrderDun(OutNewOrderDunBo t) {
 		InputNewOrderDunBo o=new InputNewOrderDunBo();
 		TOrderNew orderNew=tOrderNewMapper.selectByPrimaryKey(t.getOrderNo());
 		Date date = new Date();
@@ -366,14 +360,13 @@ public class OrderDunTask {
 		}
 		orderNewService.addTimingTaskNewDunNoticAndSendEmail(orderNew, t);
 	}
-	
-	
-	
-	
-	private void addNotic(String orderNo, TArrearsDun td, Integer code) throws UnsupportedEncodingException, MessagingException {
+
+
+
+
+	private void addNotic(String orderNo, TArrearsDun td, Integer code) {
 		TOrderNewBo b  = tOrderNewMapper.getSaleIdByOno(orderNo);
-		StringBuffer str =new StringBuffer();
-		str=str.append(b.getUserName()).append(", 合同编号-").append(b.getContractNo())
+		StringBuffer str =new StringBuffer().append(b.getUserName()).append(", 合同编号-").append(b.getContractNo())
 				.append(", 订单编号-").append(orderNo).append(", 操作人: ").append(b.getSalesmanName()).append("。");
 		Notice n =new Notice();
 		n.setId(UUID.randomUUID().toString());
@@ -385,7 +378,7 @@ public class OrderDunTask {
 	}
 
 
-	
+
 
 
 	private void updateOrderDun(OrderDunTaskBo t) throws UnsupportedEncodingException, MessagingException {
@@ -397,5 +390,5 @@ public class OrderDunTask {
 		 orderNewService.updateOrderDun(tDun);
 		orderNewService.addNoticAndSendEmail(t.getOrderNo(),t,NoticeStatus.ORDER_DUN.getCode());
 	}
-  
+
 }

+ 10 - 9
src/main/java/com/goafanti/order/enums/NewProjectStatus.java

@@ -6,10 +6,10 @@ import java.util.Map;
 
 /**
  * 	高新
- *	0未启动 1进行中 2暂停(客户通知暂停)3暂停(业务线通知暂停)4已提交 5未推荐 6已推荐 7未公示 8已公示 9已备案 10已下证 
+ *	0未启动 1进行中 2暂停(客户通知暂停)3暂停(业务线通知暂停)4已提交 5未推荐 6已推荐 7未公示 8已公示 9已备案 10已下证
  *	11退单(已申报)12退单(未申报)28抽查未备案
  *	科技
- *	0-6 13已答辩 14未立项 15已立项 16前补助 17后补助 18立项已拨款 11-12 
+ *	0-6 13已答辩 14未立项 15已立项 16前补助 17后补助 18立项已拨款 11-12
  *	专利
  *	0-4 19已完成/下证 20已驳回 11-12
  *	软著
@@ -21,6 +21,7 @@ import java.util.Map;
  */
 public enum NewProjectStatus {
 
+
 	WQD(0,"未启动"), JXZ(1,"进行中"), ZTKE(2,"暂停(客户通知暂停)"), ZTYW(3,"暂停(业务线通知暂停)"), YTJ(4,"已提交"), WTUIJIAN(5,"未推荐"),
 	YTUIJIAN(6,"已推荐"), WNGS(7,"未拟公示"), YNGS(8,"已拟公示"),CCWBA(28,"抽查未备案"), YBA(9,"已备案"), YXZ(10,"已下证 "), TDYSB(11,"退单(已申报/已下证)"),
 	TDWSB(12,"退单(未申报/未下证)"),
@@ -29,14 +30,14 @@ public enum NewProjectStatus {
 	D1NJX(21,"第1年进行中"),D1NWC(22,"第1年服务完成"),D2NJX(23,"第2年进行中"),D2NWC(24,"第2年服务完成"),D3NJX(25,"第3年进行中"),D3NWC(26,"第3年服务完成"),
 	QBWC(27,"所有会员服务全部完成"),
 	INVALID(99,"未知");
-	
-	
-	private NewProjectStatus(Integer code, String desc) {
+
+
+	 NewProjectStatus(Integer code, String desc) {
 		this.code = code;
 		this.desc = desc;
 	}
 
-	private static Map<Integer, NewProjectStatus> status = new HashMap<Integer, NewProjectStatus>();
+	private static Map<Integer, NewProjectStatus> status = new HashMap<>();
 
 	static {
 		for (NewProjectStatus value : NewProjectStatus.values()) {
@@ -60,7 +61,7 @@ public enum NewProjectStatus {
 	public static boolean containsType(Integer code) {
 		return status.containsKey(code);
 	}
-	
+
 	private Integer	code;
 	private String	desc;
 	public Integer getCode() {
@@ -75,6 +76,6 @@ public enum NewProjectStatus {
 	public void setDesc(String desc) {
 		this.desc = desc;
 	}
-	
-	
+
+
 }

+ 10 - 2
src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java

@@ -216,9 +216,9 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 	public void checkOrder(TOrderNew order,TOrderTask t){
 		if(order == null)
 			 throw new BusinessException(new Error(ErrorConstants.ORDER_NOT_EXIST, "" ,""));
-		if(order.getDeleteSign() == ActiveState.ABOLISH.getCode())
+		if(order.getDeleteSign().equals(ActiveState.ABOLISH.getCode()) )
 			 throw new BusinessException(new Error(ErrorConstants.ORDER_ALREADY_FREEZE, order.getOrderNo(),""));
-		if(order.getDeleteSign() == ActiveState.LOCKING.getCode())
+		if(order.getDeleteSign().equals( ActiveState.LOCKING.getCode()))
 			 throw new BusinessException(new Error(ErrorConstants.ORDER_ALREADY_REVOKE, order.getOrderNo(),""));
 		List<LockingReleaseBo> list=userLockReleaseMapper.checkTask(order.getBuyerId(),t.getCommodityId());
 		if (list.size()>0) {
@@ -707,6 +707,14 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 		}
 	}
 
+	/**
+	 * NewProjectStatus.YXZ.getCode()
+	 * @param orderNo 订单编号
+	 * @param settlementAmount 已收金额
+	 * @param date 日期
+	 * @param o	订单催款类实对线
+	 * @return
+	 */
 	public TOrderMid pushOrderMidDun(String orderNo, BigDecimal settlementAmount, Date date, OutNewOrderDunBo o) {
 		TOrderMid tm=tOrderMidMapper.selectByOrderNo(orderNo);
 		tm.setOrderReceivables(tm.getOrderReceivables().add(o.getMoney()));