Quellcode durchsuchen

专利提醒发送邮件逻辑调整

anderx vor 4 Jahren
Ursprung
Commit
64fdc826a2

+ 0 - 1
src/main/java/com/goafanti/common/dao/TOrderMidMapper.java

@@ -30,7 +30,6 @@ public interface TOrderMidMapper {
 
     void updateInvoice(String orderNo);
 
-    void addOrderReceivables(@Param("orderNo")String orderNo, @Param("money")BigDecimal money);
 
     String selectDepNameByDepid(String orderDep);
 

+ 0 - 6
src/main/java/com/goafanti/common/mapper/TOrderMidMapper.xml

@@ -309,12 +309,6 @@
     update t_order_mid m,(select order_no,sum(amount)amount from t_order_invoice where status=2 group by order_no)b
     set m.invoice_amount=b.amount where m.order_no= #{orderNo} and  m.order_no=b.order_no
   </update>
-  <update id="addOrderReceivables">
-    update t_order_mid
-    set order_receivables=order_receivables+#{money},
-        order_arrears=order_arrears+#{money}
-    where order_no=#{orderNo}
-  </update>
   <select id="selectDepNameByDepid" resultType="java.lang.String">
     select name from department where id= #{orderDep}
   </select>

+ 3 - 8
src/main/java/com/goafanti/common/task/OrderDunTask.java

@@ -345,17 +345,13 @@ public class OrderDunTask {
 
 	private void updateOrderDun(OutNewOrderDunBo t) throws UnsupportedEncodingException, MessagingException {
 		InputNewOrderDunBo o=new InputNewOrderDunBo();
+		TOrderNew orderNew=tOrderNewMapper.selectByPrimaryKey(t.getOrderNo());
 		Date date = new Date();
 		o.setId(t.getId());
 		o.setStatus(1);
 		o.setStartTime(date);
 		if (t.getMoney()==null)t.setMoney(new BigDecimal(0));
-		tOrderMidMapper.addOrderReceivables(t.getOrderNo(),t.getMoney());
-		TOrderMid tm=tOrderMidMapper.selectByOrderNo(t.getOrderNo());
-		if (tm.getDunStartTime()==null){
-			tm.setDunStartTime(date);
-			tOrderMidMapper.updateByPrimaryKeySelective(tm);
-		}
+		TOrderMid tm=orderNewService.pushOrderMidDun(t.getOrderNo(),orderNew.getSettlementAmount(),date,t);
 		newOrderDunService.updateDun(o);
 		TArrearsDun td=new TArrearsDun();
 		td.setOrderArrears(tm.getOrderArrears());
@@ -368,8 +364,7 @@ public class OrderDunTask {
 			td.setId(i);
 			tArrearsDunMapper.updateByPrimaryKeySelective(td);
 		}
-		TOrderNew t2=tOrderNewMapper.selectByPrimaryKey(t.getOrderNo());
-		orderNewService.addTimingTaskNewDunNoticAndSendEmail(t2, t);
+		orderNewService.addTimingTaskNewDunNoticAndSendEmail(orderNew, t);
 	}
 	
 	

+ 14 - 6
src/main/java/com/goafanti/order/service/OrderNewService.java

@@ -1,18 +1,15 @@
 package com.goafanti.order.service;
 
 import java.io.UnsupportedEncodingException;
+import java.math.BigDecimal;
+import java.util.Date;
 import java.util.List;
 
 import javax.mail.MessagingException;
 import javax.servlet.http.HttpServletResponse;
 
 
-import com.goafanti.common.model.TOrderDun;
-import com.goafanti.common.model.TOrderNew;
-import com.goafanti.common.model.TOrderNewWithBLOBs;
-import com.goafanti.common.model.TOrderOutsource;
-import com.goafanti.common.model.TOrderRefundWithBLOBs;
-import com.goafanti.common.model.TOrderTask;
+import com.goafanti.common.model.*;
 import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.order.bo.*;
 
@@ -199,4 +196,15 @@ public interface OrderNewService {
 
 	List<outProvinceStatisticsList> provinceStatisticsList(InputStatistics in);
 
+
+	/**
+	 * 催款触发订单统计欠款与应收款
+	 * @param orderNo 订单编号
+	 * @param settlementAmount 已收金额
+	 * @param date 日期
+	 * @param o	订单催款类实对线
+	 * @return
+	 */
+	TOrderMid pushOrderMidDun(String orderNo, BigDecimal settlementAmount, Date date, OutNewOrderDunBo o);
+
 }

+ 14 - 11
src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java

@@ -684,18 +684,12 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 			Date date = new Date();
 			List<OutNewOrderDunBo> list=newOrderDunMapper.selectListNewOrderDun(orderNo,null,0);
 			for (OutNewOrderDunBo o : list) {
-				if (o.getDunType()==1) {	
+				if (o.getDunType()==1) {
 					o.setStatus(1);
 					o.setStartTime(date);
 					newOrderDunMapper.updateByPrimaryKeySelective(o);
-					TOrderMid tm=tOrderMidMapper.selectByOrderNo(orderNo);
-					tm.setOrderReceivables(tm.getOrderReceivables().add(o.getMoney()));
-					BigDecimal sum=tm.getOrderReceivables().subtract(b.getSettlementAmount());
-					//如果金额大于欠款修改欠款为0
-					if (sum.compareTo(new BigDecimal(0))<0)sum=new BigDecimal(0);
-					tm.setOrderArrears(sum);
-					if (tm.getDunStartTime()==null)tm.setDunStartTime(date);
-					tOrderMidMapper.updateByPrimaryKeySelective(tm);
+					//催款统计算
+					TOrderMid tm = pushOrderMidDun(orderNo, b.getSettlementAmount(), date, o);
 					TArrearsDun t=new TArrearsDun();
 					t.setOrderArrears(tm.getOrderArrears());
 					t.setOrderReceivables(tm.getOrderReceivables());
@@ -713,8 +707,17 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 		}
 	}
 
-
-
+	public TOrderMid pushOrderMidDun(String orderNo, BigDecimal settlementAmount, Date date, OutNewOrderDunBo o) {
+		TOrderMid tm=tOrderMidMapper.selectByOrderNo(orderNo);
+		tm.setOrderReceivables(tm.getOrderReceivables().add(o.getMoney()));
+		BigDecimal sum=tm.getOrderReceivables().subtract(settlementAmount);
+		//如果金额大于欠款修改欠款为0
+		if (sum.compareTo(new BigDecimal(0))<0)sum=new BigDecimal(0);
+		tm.setOrderArrears(sum);
+		if (tm.getDunStartTime()==null)tm.setDunStartTime(date);
+		tOrderMidMapper.updateByPrimaryKeySelective(tm);
+		return tm;
+	}
 
 
 	public void addNewDunNoticAndSendEmail(String  orderNo, OutNewOrderDunBo o) {