Browse Source

定时任务修改

anderx 4 years ago
parent
commit
dac35e4746

+ 2 - 2
src/main/java/com/goafanti/common/mapper/PaymentNodeMapper.xml

@@ -467,8 +467,8 @@
    </if>
   </select>
   <select id="selectByStatus" resultType="com.goafanti.organization.bo.OutPaymentNode">
-  select id,tid,cid,company_name companyName,unit_price unitPrice,quantity,total_amount totalAmount,create_time createTime ,
-   party_amount partyAmount, date_format(party_time,'%Y-%m-%d')partyTimes,project_type projectType,dun_type dunType
+    select id,tid,cid,company_name companyName,unit_price unitPrice,quantity,total_amount totalAmount,create_time createTime ,
+   party_amount partyAmount,party_time partyTime, date_format(party_time,'%Y-%m-%d')partyTimes,project_type projectType,dun_type dunType
    from payment_node where dun_status = #{status}
   </select>
   

+ 54 - 68
src/main/java/com/goafanti/common/task/OrderDunTask.java

@@ -81,7 +81,7 @@ public class OrderDunTask {
 	public void startTask() throws InterruptedException {
 		updateNewOrderDun();
 		Thread.sleep(2000);
-		updateorderDun();
+//		updateorderDun();
 		Thread.sleep(2000);
 		updatePaymentNode();
 	}
@@ -94,49 +94,43 @@ public class OrderDunTask {
   		try {
   			LoggerUtils.debug(logger, "======================新催款任务轮询启动===================");
   		List<OutNewOrderDunBo> list= newOrderDunService.selectAllOrderDun();
-  		Calendar calendar=Calendar.getInstance();   
-  		Calendar calendar2=Calendar.getInstance();
+  		Calendar now=Calendar.getInstance();
+  		Calendar now2=Calendar.getInstance();
   		Date date =new Date();
   		for (OutNewOrderDunBo o : list) {
-  			calendar.setTime(date);
-  			calendar2.setTime(o.getCreateTime());
-  			if (o!=null&&o.getApproval()!=null&&o.getApproval()!=0&&o.getDunType()==1&&o.getWaitDay()!=null) {
-  					calendar2.add(Calendar.DATE, o.getWaitDay());
-  					if (calendar.getTimeInMillis() > calendar2.getTimeInMillis()) {//当前时间大于计算后时间则触发
-  						updateOrderDun(o);
-  						Thread.sleep(2000);
-  					}
-			}
-  			if(o.getProjectType()==OrderDunProjectType.HY.getCode()&&o.getDunType()==2) {
-  				calendar2.add(Calendar.DATE, o.getEffectiveCount()*180);
-  				CalendarTimeCleared(calendar2);
-  				if (calendar.getTimeInMillis() > calendar2.getTimeInMillis()) {//当前时间大于计算后时间则触发
+  			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);
   				}
-  			}
-  			if(o.getProjectType()==OrderDunProjectType.CS.getCode()&&o.getDunType()==2) {
+  			//财税-期限 计算时间
+  			} else if(o.getProjectType()==OrderDunProjectType.CS.getCode()&&o.getDunType()==2) {
   			//获取年
-  				int year = calendar2.get(Calendar.YEAR);  
+  				int year = now2.get(Calendar.YEAR);
   		        //获取月份,0表示1月份
-  		        int month = calendar2.get(Calendar.MONTH) + 1;
+  		        int month = now2.get(Calendar.MONTH) + 1;
   		        if(month<10)year=year+1;
   		        if(month>9)year=year+2;
-  		        calendar2.set(year, 5, 1);
-  		        CalendarTimeCleared(calendar2);
-  				if (calendar.getTimeInMillis() > calendar2.getTimeInMillis()) {//当前时间大于计算后时间则触发
-  	  	  			updateOrderDun(o);
-  	  	  			Thread.sleep(2000);
-  				}
-  			}
-  	  		if (o.getDunType()==0) {
-  	  		calendar2.setTime(o.getCustomizeTime());
-  	  		CalendarTimeCleared(calendar);
-  	  			if (calendar.equals(calendar2)) {
-  	  				updateOrderDun(o);
-	  	  			Thread.sleep(2000);
-				}
-				
+  		        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);
 			}
 		}
   		
@@ -155,42 +149,33 @@ public class OrderDunTask {
 	 */
 	private void updatePaymentNode() {
 		LoggerUtils.debug(logger, "======================催款任务结束,付款催款开始===================");
-		Calendar calendar=Calendar.getInstance();   
-  		Calendar calendar2=Calendar.getInstance();
+		Calendar now=Calendar.getInstance();
+  		Calendar now2=Calendar.getInstance();
   		try {
   		List<OutPaymentNode> list2=paymentNodeMapper.selectByStatus(0);
   		for (OutPaymentNode pn : list2) {
-  			calendar2.setTime(pn.getCreateTime());
+  			now2.setTime(pn.getCreateTime());
   			if(pn.getProjectType()==OrderDunProjectType.HY.getCode()&&pn.getDunType()==2) {
-  				calendar2.add(Calendar.DATE, pn.getEffectiveCount()*180);
-  				CalendarTimeCleared(calendar2);
-  				if (calendar.getTimeInMillis() > calendar2.getTimeInMillis()) {//当前时间大于计算后时间则触发
-  					updatePaymentNode(pn);
-						Thread.sleep(2000);
-  				}
-  			}
-  			if(pn.getProjectType()==OrderDunProjectType.CS.getCode()&&pn.getDunType()==2) {
+  				now2.add(Calendar.DATE, pn.getEffectiveCount()*180);
+  				CalendarTimeCleared(now2);
+  			}else if(pn.getProjectType()==OrderDunProjectType.CS.getCode()&&pn.getDunType()==2) {
   				//	获取年
-  				int year = calendar2.get(Calendar.YEAR);  
+  				int year = now2.get(Calendar.YEAR);
   		        //获取月份,0表示1月份
-  		        int month = calendar2.get(Calendar.MONTH) + 1;
+  		        int month = now2.get(Calendar.MONTH) + 1;
   		        if(month<10)year=year+1;
   		        if(month>9)year=year+2;
-  		        calendar2.set(year, 5, 1);
-  		        CalendarTimeCleared(calendar2);
-  				if (calendar.getTimeInMillis() > calendar2.getTimeInMillis()) {//当前时间大于计算后时间则触发
-  					updatePaymentNode(pn);
-  	  	  			Thread.sleep(2000);
-  				}
-  			}
-  	  		if (pn.getDunType()==0) {
-  	  		calendar2.setTime(pn.getPartyTime());
-  	  		CalendarTimeCleared(calendar);
-  	  			if (calendar.equals(calendar2)) {
-  	  				updatePaymentNode(pn);
-	  	  			Thread.sleep(2000);
-				}
+  		        now2.set(year, 5, 1);
+  		        CalendarTimeCleared(now2);
+
+  			}else if (pn.getDunType()==0) {
+  	  		now2.setTime(pn.getPartyTime());
+  	  		CalendarTimeCleared(now);
   	  		}
+			if (now.getTimeInMillis() > now2.getTimeInMillis()) {//当前时间大于计算后时间则触发
+				updatePaymentNode(pn);
+				Thread.sleep(1000);
+			}
   		}
   		} catch (InterruptedException e) {
   			LoggerUtils.error(getClass(), "===========================付款催款失败==========================", e);
@@ -320,11 +305,11 @@ public class OrderDunTask {
 	
 
 
-	private void CalendarTimeCleared(Calendar calendar) {
-		calendar.set(Calendar.HOUR_OF_DAY, 0);
-	    calendar.set(Calendar.MINUTE, 0);
-	    calendar.set(Calendar.SECOND, 0);
-	    calendar.set(Calendar.MILLISECOND, 0);
+	private void CalendarTimeCleared(Calendar now) {
+		now.set(Calendar.HOUR_OF_DAY, 0);
+	    now.set(Calendar.MINUTE, 0);
+	    now.set(Calendar.SECOND, 0);
+	    now.set(Calendar.MILLISECOND, 0);
 	}
 
 
@@ -333,9 +318,10 @@ public class OrderDunTask {
 		o.setId(t.getId());
 		o.setStatus(1);
 		o.setStartTime(new Date());
-		newOrderDunService.updateDun(o);
+		if (t.getMoney()==null)t.setMoney(new BigDecimal(0));
 		tOrderMidMapper.addOrderReceivables(t.getOrderNo(),t.getMoney());
 		TOrderMid tm=tOrderMidMapper.selectByOrderNo(t.getOrderNo());
+		newOrderDunService.updateDun(o);
 			TArrearsDun td=new TArrearsDun();
 			td.setOrderArrears(tm.getOrderArrears());
 			td.setOrderReceivables(tm.getOrderReceivables());

+ 0 - 15
src/main/java/com/goafanti/common/utils/DateUtils.java

@@ -53,7 +53,6 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
 	 *            the first date, not <code>null</code>
 	 * @param date2
 	 *            the second date, not <code>null</code>
-	 * @param field
 	 *            the field from <code>Calendar</code>
 	 * @return diff millis
 	 * @throws IllegalArgumentException
@@ -74,7 +73,6 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
 	 *            the first date, not <code>null</code>
 	 * @param date2
 	 *            the second date, not <code>null</code>
-	 * @param field
 	 *            the field from <code>Calendar</code>
 	 * @return diff millis
 	 * @throws IllegalArgumentException
@@ -170,8 +168,6 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
 	/**
 	 * 返回指定日期的月的第一天
 	 *
-	 * @param year
-	 * @param month
 	 * @return
 	 */
 	public static Date getFirstDayOfMonth(Date date) {
@@ -205,8 +201,6 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
 	/**
 	 * 返回指定日期的月的最后一天
 	 *
-	 * @param year
-	 * @param month
 	 * @return
 	 */
 	public static Date getLastDayOfMonth(Date date) {
@@ -242,8 +236,6 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
 	/**
 	 * 返回指定日期的上个月的最后一天
 	 *
-	 * @param year
-	 * @param month
 	 * @return
 	 */
 	public static Date getLastDayOfLastMonth(Date date) {
@@ -258,8 +250,6 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
 	/**
 	 * 返回指定日期的季的第一天
 	 *
-	 * @param year
-	 * @param quarter
 	 * @return
 	 */
 	public static Date getFirstDayOfQuarter(Date date) {
@@ -295,8 +285,6 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
 	/**
 	 * 返回指定日期的季的最后一天
 	 *
-	 * @param year
-	 * @param quarter
 	 * @return
 	 */
 	public static Date getLastDayOfQuarter(Date date) {
@@ -332,8 +320,6 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
 	/**
 	 * 返回指定日期的上一季的最后一天
 	 *
-	 * @param year
-	 * @param quarter
 	 * @return
 	 */
 	public static Date getLastDayOfLastQuarter(Date date) {
@@ -450,7 +436,6 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
 
 	/**
 	 * 时分秒毫秒归零
-	 * @param c
 	 * @return
 	 */
 	public static Date getEarlyToday() {

+ 0 - 3
src/main/java/com/goafanti/order/controller/FundManagerOrderApiController.java

@@ -49,7 +49,6 @@ public class FundManagerOrderApiController extends CertifyApiController {
 	
 	/**
 	 * 财务管理员分派订单
-	 * @param orderid
 	 * @param financeId
 	 * @return
 	 */
@@ -232,7 +231,6 @@ public class FundManagerOrderApiController extends CertifyApiController {
 	
 	/**
 	 * 根据id查看订单流水数据
-	 * @param rid
 	 * @return
 	 */
 	@RequestMapping(value="/selectOneRefundFlow", method = RequestMethod.GET)
@@ -259,7 +257,6 @@ public class FundManagerOrderApiController extends CertifyApiController {
 	 * @param billNew
 	 * @param pageNo
 	 * @param pageSize
-	 * @param type 0自己 1所有
 	 * @return
 	 */
 	@RequestMapping(value="/myBillList", method = RequestMethod.GET)