瀏覽代碼

Merge branch 'test' of jishutao/kede-server into prod

anderx 4 年之前
父節點
當前提交
e7cd6ef2c0

+ 60 - 0
src/main/java/com/goafanti/common/bo/ErrorDunListBo.java

@@ -0,0 +1,60 @@
+package com.goafanti.common.bo;
+
+public class ErrorDunListBo {
+    private String orderNo;
+    private String orderReceivables;
+    private String orderRrrears;
+    private String money;
+    private String createTime;
+
+    public String getOrderNo() {
+        return orderNo;
+    }
+
+    public void setOrderNo(String orderNo) {
+        this.orderNo = orderNo;
+    }
+
+    public String getOrderReceivables() {
+        return orderReceivables;
+    }
+
+    public void setOrderReceivables(String orderReceivables) {
+        this.orderReceivables = orderReceivables;
+    }
+
+    public String getOrderRrrears() {
+        return orderRrrears;
+    }
+
+    public void setOrderRrrears(String orderRrrears) {
+        this.orderRrrears = orderRrrears;
+    }
+
+    public String getMoney() {
+        return money;
+    }
+
+    public void setMoney(String money) {
+        this.money = money;
+    }
+
+    public String getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(String createTime) {
+        this.createTime = createTime;
+    }
+
+    @Override
+    public String toString() {
+        return "ErrorDunListBo{" +
+                "orderNo='" + orderNo + '\'' +
+                ", orderReceivables='" + orderReceivables + '\'' +
+                ", orderRrrears='" + orderRrrears + '\'' +
+                ", money='" + money + '\'' +
+                ", createTime='" + createTime + '\'' +
+                '}';
+    }
+}

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

@@ -1,5 +1,6 @@
 package com.goafanti.common.dao;
 
+import com.goafanti.common.bo.ErrorDunListBo;
 import com.goafanti.common.model.TOrderMid;
 import org.apache.ibatis.annotations.Param;
 
@@ -40,4 +41,8 @@ public interface TOrderMidMapper {
     int updateByOrderNo(TOrderMid tm);
 
     void updateByList(List<String> addList2);
-}
+
+    List<ErrorDunListBo> selectErrorDun();
+
+    void updateErrorDun();
+}

+ 34 - 19
src/main/java/com/goafanti/common/mapper/TOrderMidMapper.xml

@@ -26,13 +26,13 @@
     <result column="legal_affairs_status" jdbcType="INTEGER" property="legalAffairsStatus" />
   </resultMap>
   <sql id="Base_Column_List">
-    id, order_no, salesman_id, finance_id, salesman_name, finance_name, final_receivables, 
-    final_Receivables_time, invoice_amount, create_time, buyer_name, order_receivables, 
-    order_arrears, payment_amount, cost_amount, dep_name, province_name, legal_affairs, 
+    id, order_no, salesman_id, finance_id, salesman_name, finance_name, final_receivables,
+    final_Receivables_time, invoice_amount, create_time, buyer_name, order_receivables,
+    order_arrears, payment_amount, cost_amount, dep_name, province_name, legal_affairs,
     dun_start_time, legal_affairs_type, operation_time, legal_affairs_status
   </sql>
   <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
-    select 
+    select
     <include refid="Base_Column_List" />
     from t_order_mid
     where id = #{id,jdbcType=INTEGER}
@@ -42,21 +42,21 @@
     where id = #{id,jdbcType=INTEGER}
   </delete>
   <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.goafanti.common.model.TOrderMid" useGeneratedKeys="true">
-    insert into t_order_mid (order_no, salesman_id, finance_id, 
-      salesman_name, finance_name, final_receivables, 
-      final_Receivables_time, invoice_amount, 
-      create_time, buyer_name, order_receivables, 
-      order_arrears, payment_amount, cost_amount, 
-      dep_name, province_name, legal_affairs, 
-      dun_start_time, legal_affairs_type, operation_time, 
+    insert into t_order_mid (order_no, salesman_id, finance_id,
+      salesman_name, finance_name, final_receivables,
+      final_Receivables_time, invoice_amount,
+      create_time, buyer_name, order_receivables,
+      order_arrears, payment_amount, cost_amount,
+      dep_name, province_name, legal_affairs,
+      dun_start_time, legal_affairs_type, operation_time,
       legal_affairs_status)
-    values (#{orderNo,jdbcType=VARCHAR}, #{salesmanId,jdbcType=VARCHAR}, #{financeId,jdbcType=VARCHAR}, 
-      #{salesmanName,jdbcType=VARCHAR}, #{financeName,jdbcType=VARCHAR}, #{finalReceivables,jdbcType=DECIMAL}, 
-      #{finalReceivablesTime,jdbcType=TIMESTAMP}, #{invoiceAmount,jdbcType=DECIMAL}, 
-      #{createTime,jdbcType=TIMESTAMP}, #{buyerName,jdbcType=VARCHAR}, #{orderReceivables,jdbcType=DECIMAL}, 
-      #{orderArrears,jdbcType=DECIMAL}, #{paymentAmount,jdbcType=DECIMAL}, #{costAmount,jdbcType=DECIMAL}, 
-      #{depName,jdbcType=VARCHAR}, #{provinceName,jdbcType=VARCHAR}, #{legalAffairs,jdbcType=INTEGER}, 
-      #{dunStartTime,jdbcType=TIMESTAMP}, #{legalAffairsType,jdbcType=INTEGER}, #{operationTime,jdbcType=DATE}, 
+    values (#{orderNo,jdbcType=VARCHAR}, #{salesmanId,jdbcType=VARCHAR}, #{financeId,jdbcType=VARCHAR},
+      #{salesmanName,jdbcType=VARCHAR}, #{financeName,jdbcType=VARCHAR}, #{finalReceivables,jdbcType=DECIMAL},
+      #{finalReceivablesTime,jdbcType=TIMESTAMP}, #{invoiceAmount,jdbcType=DECIMAL},
+      #{createTime,jdbcType=TIMESTAMP}, #{buyerName,jdbcType=VARCHAR}, #{orderReceivables,jdbcType=DECIMAL},
+      #{orderArrears,jdbcType=DECIMAL}, #{paymentAmount,jdbcType=DECIMAL}, #{costAmount,jdbcType=DECIMAL},
+      #{depName,jdbcType=VARCHAR}, #{provinceName,jdbcType=VARCHAR}, #{legalAffairs,jdbcType=INTEGER},
+      #{dunStartTime,jdbcType=TIMESTAMP}, #{legalAffairsType,jdbcType=INTEGER}, #{operationTime,jdbcType=DATE},
       #{legalAffairsStatus,jdbcType=INTEGER})
   </insert>
   <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.goafanti.common.model.TOrderMid" useGeneratedKeys="true">
@@ -517,6 +517,7 @@
       </if>
     </if>
   </select>
+
   <update id="updateByList">
     update t_order_mid
     set legal_affairs=1,legal_affairs_type =0
@@ -526,4 +527,18 @@
     </foreach>
     )
   </update>
-</mapper>
+
+
+  <select id="selectErrorDun" resultType="com.goafanti.common.bo.ErrorDunListBo">
+    select a.order_no orderNo,a.order_receivables orderReceivables ,a.order_arrears orderArrears,b.money,a.create_time createTime
+    from t_order_mid a left join (select order_no ,ifnull(sum(money),0)money from new_order_dun where status =1 group by order_no)b
+        on a.order_no =b.order_no
+    where a.order_receivables !=b.money order by a.create_time;
+  </select>
+  <update id="updateErrorDun">
+    update t_order_mid a ,(select order_no ,ifnull(sum(money),0)money from new_order_dun where status =1 group by order_no)b,
+      t_order_new c
+    set a.order_receivables=b.money,a.order_arrears =(b.money-c.settlement_amount)
+    where a.order_no =b.order_no and a.order_no =c.order_no and a.order_receivables !=b.money;
+  </update>
+</mapper>

+ 6 - 3
src/main/java/com/goafanti/common/mapper/TOrderNewMapper.xml

@@ -1429,9 +1429,9 @@ left join department d on o.order_dep = d.id   left join t_order_mid a on o.orde
   	<if test="depId != null">
   	and b.order_dep= #{depId,jdbcType=VARCHAR}
   	</if>
-  	<if test="aid != null">
-  	and b.salesman_id= #{aid,jdbcType=VARCHAR}
-  	</if>
+    <if test="shiroType !=3 and aid != null">
+      and b.salesman_id= #{aid,jdbcType=VARCHAR}
+    </if>
   	<if test="starTime !=null and endTime !=null">
   	and b.sign_time between #{starTime,jdbcType=VARCHAR} and #{endTime,jdbcType=VARCHAR}
   	</if>
@@ -1454,6 +1454,9 @@ left join department d on o.order_dep = d.id   left join t_order_mid a on o.orde
   	<if test="shiroType == 2 and fid !=null">
   	 and tm.finance_id in (select id from admin where superior_id= #{fid,jdbcType=VARCHAR})
   	</if>
+    <if test="shiroType !=3 and aid != null">
+      and b.salesman_id= #{aid,jdbcType=VARCHAR}
+    </if>
     <if test="name != null">
       and c.nickname like CONCAT('%',#{name,jdbcType=VARCHAR},'%')
     </if>

+ 61 - 35
src/main/java/com/goafanti/common/task/OrderDunTask.java

@@ -7,6 +7,7 @@ import java.util.*;
 
 import javax.mail.MessagingException;
 
+import com.goafanti.common.bo.ErrorDunListBo;
 import com.goafanti.order.bo.*;
 import com.goafanti.order.service.LegalAffairsService;
 import org.slf4j.Logger;
@@ -117,6 +118,7 @@ public class OrderDunTask {
 	 * 询处理需要新催款的信息
 	 */
 	@RequestMapping(value = "/open/updateNewOrderDun", method = RequestMethod.GET)
+	@Transactional
 	public void updateNewOrderDun(){
   		try {
   			LoggerUtils.debug(logger, "======================新催款任务轮询启动===================");
@@ -127,19 +129,15 @@ public class OrderDunTask {
 			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) {
+				//计算特批首期款 特批通过 为催款为首期款 催款时间不为空则计算触发
+				if (o.getApproval()!=null&& o.getApproval()==2&& o.getDunType()==1&&o.getWaitDay()!=null) {
 						now2.add(Calendar.DATE, o.getWaitDay());
-						//会员-期限 计算触发时间
+					updateOrderDun(o,now,now2);
+				//会员-期限计算
 				}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);
-					}
+					updateOrderDun(o,now,now2);
 				//财税-期限 计算时间
 				} else if(o.getProjectType().equals(OrderDunProjectType.CS.getCode())&&o.getDunType()==2) {
 					//获取年
@@ -150,16 +148,15 @@ public class OrderDunTask {
 					if(month>9)year=year+2;
 					now2.set(year, 5, 1);
 					CalendarTimeCleared(now2);
+					updateOrderDun(o,now,now2);
 				//自定义 超过设置的时间则触发
 				}else if (o.getDunType()==0) {
 					now2.setTime(o.getCustomizeTime());
 					CalendarTimeCleared(now);
-				}
-				if (now.getTimeInMillis() > now2.getTimeInMillis()) {
-					updateOrderDun(o);
-					Thread.sleep(2000);
+					updateOrderDun(o,now,now2);
 				}
 			}
+			calibrationDun();
   		} catch (Exception e) {
   			EmailBo emailBo = new EmailBo( "催款处理失败",  AFTConstants.ADMIN_EMAIL,  "超管", "平台",  "系统", devName+"催款处理失败");
   			asyncUtils.send(emailBo);
@@ -167,6 +164,22 @@ public class OrderDunTask {
 		}
   	}
 
+	/**
+	 * 如果有不对的数据就校准数据
+	 */
+	private void calibrationDun() {
+		List<ErrorDunListBo> el = tOrderMidMapper.selectErrorDun();
+		if (!el.isEmpty()){
+			StringBuffer sb=new StringBuffer();
+			for (ErrorDunListBo e : el) {
+				sb.append(e.toString());
+			}
+			EmailBo emailBo=new EmailBo("催款异常核对",AFTConstants.ADMIN_EMAIL,sb.toString());
+			asyncUtils.send(emailBo);
+			tOrderMidMapper.updateErrorDun();
+		}
+	}
+
 
 	/**
 	 * 处理付款催款
@@ -336,29 +349,42 @@ public class OrderDunTask {
 	    now.set(Calendar.MILLISECOND, 0);
 	}
 
-
-	private void updateOrderDun(OutNewOrderDunBo t) {
-		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));
-		TOrderMid tm=orderNewService.pushOrderMidDun(t.getOrderNo(),orderNew.getSettlementAmount(),date,t);
-		newOrderDunService.updateDun(o);
-		TArrearsDun td=new TArrearsDun();
-		td.setOrderArrears(tm.getOrderArrears());
-		td.setOrderReceivables(tm.getOrderReceivables());
-		if (tArrearsDunMapper.checkOrderNo(t.getOrderNo(),null)<1) {
-			td.setOrderNo(t.getOrderNo());
-			tArrearsDunMapper.insertSelective(td);
-		}else if(tArrearsDunMapper.checkOrderNo(t.getOrderNo(),0)>0){
-			Integer i=tArrearsDunMapper.selectByStatus(t.getOrderNo(), 0);
-			td.setId(i);
-			tArrearsDunMapper.updateByPrimaryKeySelective(td);
+	/**
+	 * 定时催款触发
+	 * 如果当前时间大于等于触发时间才触发流程
+	 * @param t
+	 * @param now 当前时间
+	 * @param now2 触发时间
+	 */
+	private void updateOrderDun(OutNewOrderDunBo t,Calendar now,Calendar now2) {
+		if (now.getTimeInMillis() >= now2.getTimeInMillis()) {
+			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));
+			TOrderMid tm=orderNewService.pushOrderMidDun(t.getOrderNo(),orderNew.getSettlementAmount(),date,t);
+			newOrderDunService.updateDun(o);
+			TArrearsDun td=new TArrearsDun();
+			td.setOrderArrears(tm.getOrderArrears());
+			td.setOrderReceivables(tm.getOrderReceivables());
+			if (tArrearsDunMapper.checkOrderNo(t.getOrderNo(),null)<1) {
+				td.setOrderNo(t.getOrderNo());
+				tArrearsDunMapper.insertSelective(td);
+			}else if(tArrearsDunMapper.checkOrderNo(t.getOrderNo(),0)>0){
+				Integer i=tArrearsDunMapper.selectByStatus(t.getOrderNo(), 0);
+				td.setId(i);
+				tArrearsDunMapper.updateByPrimaryKeySelective(td);
+			}
+			orderNewService.addTimingTaskNewDunNoticAndSendEmail(orderNew, t);
+			try {
+				Thread.sleep(2000);
+			} catch (InterruptedException e) {
+				e.printStackTrace();
+			}
 		}
-		orderNewService.addTimingTaskNewDunNoticAndSendEmail(orderNew, t);
 	}
 
 

+ 26 - 25
src/main/java/com/goafanti/common/task/PatentTask.java

@@ -43,29 +43,29 @@ public class PatentTask {
 	private AdminService adminService;
 	@Autowired
 	private AsyncUtils	asyncUtils;
-	
-	
-	
-	
-	
+
+
+
+
+
 
 	int pointsDataLimit=50;
-    
+
     private static final String regEx_script = "<script[^>]*?>[\\s\\S]*?<\\/script>"; // 定义script的正则表达式
     private static final String regEx_style = "<style[^>]*?>[\\s\\S]*?<\\/style>"; // 定义style的正则表达式
     private static final String regEx_html = "<[^>]+>"; // 定义HTML标签的正则表达式
     private static final String regEx_space = "\\s*|\t|\r|\n";//定义空格回车换行符
-	
 
-	
-	
+
+
+
 	/**
 	 * 专利提醒定时任务
 	 * 每天0点触发任务
 	 * 1、先计算出申请时间与当前时间相隔天数 2、然后用相隔天使除以365取余计算年份差 3、在用申请时间加上年限获取最后日期
 	 * 4、在相隔30天、20天、10天、3天、2天、1天分别一次提醒。原是在距离90天提醒。
 	 */
-	@Scheduled(cron = "0 0 0  * * ?") 
+	@Scheduled(cron = "0 0 0  * * ?")
 	@RequestMapping(value = "/open/patentRemind", method = RequestMethod.GET)
 	public void patentRemind() {
 		LoggerUtils.debug(getClass(), "====================开始检查专利提醒==================");
@@ -117,15 +117,14 @@ public class PatentTask {
 					n.setNoticeType(NoticeStatus.TASK_PATENT_ERROR.getCode());
 					Admin a = adminService.selectByPrimaryKey(p.getAid());
 					StringBuffer str2 = new StringBuffer();
-					str2.append("专利编号[").append(p.getPatentNo()).append("],名称[").append(p.getName()).append("],email[")
-							.append(p.getEmail().trim()).append("]");
+
 					if (a == null) {
 						str2.append(",aid=").append(p.getAid()).append(",找不到管理员。");
 						n.setAid("1");
 						n.setContent(str2.toString());
 						nlist.add(n);
 						continue;
-					} else if (!SendEmailUtil.isEmail(p.getEmail().trim())) {
+					} else if (!SendEmailUtil.isEmail(p.getEmail())) {
 						str2.append(",管理员=").append(a.getName()).append(",邮箱不正确。");
 						n.setAid("1");
 						n.setContent(str2.toString());
@@ -161,6 +160,8 @@ public class PatentTask {
 							nlist.add(n);
 						}
 						PatentNewLog pl = new PatentNewLog();
+						str2.append("专利编号[").append(p.getPatentNo()).append("],名称[").append(p.getName()).append("],email[")
+								.append(p.getEmail().trim()).append("]");
 						String str = StrToString(str2,p.getEndDate(),status);
 						pl.setContent(str);
 						pl.setCreateTime(new Date());
@@ -182,7 +183,7 @@ public class PatentTask {
 			updatePatentNew(s4,4);
 			updatePatentNew(s5,5);
 			patentNewService.pushResetPatentNew(s6);
-			
+
 		} catch (Exception e) {
 			LoggerUtils.debug(getClass(), "=====================专利提醒失败======================");
 			Notice n = new Notice(UUID.randomUUID().toString(), new Date(), 0, "1",
@@ -226,12 +227,12 @@ public class PatentTask {
 
 		}
 	}
-	
+
 
 	/**
 	 * 修改专利状态
 	 * @param status
-	 * @throws InterruptedException 
+	 * @throws InterruptedException
 	 */
 	private void updatePatentNew(List<String> list, Integer status) throws InterruptedException {
 		if (!list.isEmpty()) {
@@ -262,11 +263,11 @@ public class PatentTask {
 		str.append(",截止时间[").append(DateUtils.formatDate(date, AFTConstants.YYYYMMDD)).append("]请在截止时间前通知客户!");
 		return str.toString();
 	}
-	
 
-	
-	
-	
+
+
+
+
 	/**
          * @param htmlStr
          * @return
@@ -276,24 +277,24 @@ public class PatentTask {
             Pattern p_script = Pattern.compile(regEx_script, Pattern.CASE_INSENSITIVE);
             Matcher m_script = p_script.matcher(htmlStr);
             htmlStr = m_script.replaceAll(""); // 过滤script标签
-       
+
             Pattern p_style = Pattern.compile(regEx_style, Pattern.CASE_INSENSITIVE);
             Matcher m_style = p_style.matcher(htmlStr);
             htmlStr = m_style.replaceAll(""); // 过滤style标签
-       
+
             Pattern p_html = Pattern.compile(regEx_html, Pattern.CASE_INSENSITIVE);
             Matcher m_html = p_html.matcher(htmlStr);
             htmlStr = m_html.replaceAll(""); // 过滤html标签
-       
+
             Pattern p_space = Pattern.compile(regEx_space, Pattern.CASE_INSENSITIVE);
             Matcher m_space = p_space.matcher(htmlStr);
             htmlStr = m_space.replaceAll(""); // 过滤空格回车标签
             return htmlStr.trim(); // 返回文本字符串
         }
-           
+
         public static String getTextFromHtml(String htmlStr){
             htmlStr = delHTMLTag(htmlStr);
             htmlStr = htmlStr.replaceAll("&nbsp;", "");
             return htmlStr;
         }
-}
+}

+ 8 - 15
src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java

@@ -25,6 +25,7 @@ import com.goafanti.common.model.*;
 import com.goafanti.order.bo.*;
 import com.goafanti.organization.bo.*;
 import com.goafanti.common.utils.StringUtils;
+import groovy.transform.Synchronized;
 import org.apache.poi.xssf.usermodel.XSSFCell;
 import org.apache.poi.xssf.usermodel.XSSFRow;
 import org.apache.poi.xssf.usermodel.XSSFSheet;
@@ -32,7 +33,6 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.scheduling.annotation.EnableAsync;
 import org.springframework.stereotype.Service;
@@ -138,17 +138,6 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 	@Autowired
 	private BusinessProjectMapper businessProjectMapper;
 
-	@Value(value = "${mobileRemindCodeTemplate}")
-	private String					mobileRemindCodeTemplate	= null;
-	@Value(value = "${upload.path}")
-	private String 					uploadPath 			= null;
-
-	@Value(value = "${accessKey}")
-	private String					accessKey			= null;
-
-	@Value(value = "${accessSecret}")
-	private String					accessSecret		= null;
-
 	Logger							logger	= LoggerFactory.getLogger(OrderNewServiceImpl.class);
 
 	@Override
@@ -351,7 +340,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 			t.setBuyerId(t2.getBuyerId());
 			updateOrderMid(t);
 			List<String> aids = new ArrayList<>();
-			Integer type=null;
+			Integer type;
 			AdminListBo a = adminMapper.getDeptNameByAid(TokenManager.getAdminId());
 			aids.addAll(adminMapper.listNameByDepAndName(a.getDepartmentId(), "营销管理员"));
 			type=NoticeStatus.ORDER_START.getCode();
@@ -422,8 +411,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 	}
 
 	/**
-	 * 		新建合同编号,优先获取闲置合同编号,否则按年份生成编号
-	 * @param t
+	 * 新建合同编号,优先获取闲置合同编号,否则按年份生成编号
 	 */
 	private void createContractNo(TOrderNew t) {
 		//根据订单部门或许合同编号前缀
@@ -650,6 +638,10 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 		return 1;
 	}
 
+	/**
+	 *  订单分配触发
+	 * @param orderNo
+	 */
 	public void pushOrderDun(String orderNo) {
 		TOrderNew b=tOrderNewMapper.selectByPrimaryKey(orderNo);
 		if(b.getApproval()==0){
@@ -687,6 +679,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 	 * @param o	订单催款类实对线
 	 * @return
 	 */
+	@Synchronized
 	public TOrderMid pushOrderMidDun(String orderNo, BigDecimal settlementAmount, Date date, OutNewOrderDunBo o) {
 		TOrderMid tm=tOrderMidMapper.selectByOrderNo(orderNo);
 		tm.setOrderReceivables(tm.getOrderReceivables().add(o.getMoney()));

+ 12 - 2
src/main/java/com/goafanti/order/service/impl/OrderProjectServiceImpl.java

@@ -467,7 +467,11 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 	}
 
 
-
+	/**
+	 * 推动项目日志
+	 * @param tid
+	 * @param projectStatus
+	 */
 	private void pushTaskLog(Integer tid,Integer projectStatus) {
 		TaskLog tl = new TaskLog();
 		tl.setCreateTime(new Date());
@@ -480,7 +484,7 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 	}
 
 
-
+	//推动项目计算及催款
 	private void projectSplitPush(Integer tid, Integer projectStatus,TOrderTask task2) {
 		//0否 1父拆分 2子拆分 如果没有拆分
 		if (task2.getSplitStatus()==0) {
@@ -519,6 +523,12 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 		}
 	}
 
+	/**
+	 * 项目状态达到触发催款
+	 * @param tid
+	 * @param projectStatus
+	 * @param task2
+	 */
 	private void pushOrderDunAndPaymentNode(Integer tid,Integer projectStatus,TOrderTask task2) {
 		List<OutNewOrderDunBo> list=newOrderDunMapper.selectByTid(tid);
 		for (OutNewOrderDunBo ob : list) {