Selaa lähdekoodia

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

anderx 4 vuotta sitten
vanhempi
commit
6a259637ad

+ 80 - 4
src/main/java/com/goafanti/common/bo/EmailBo.java

@@ -14,11 +14,29 @@ public class EmailBo {
 	//通知类型
 	//内容
 	//结束语
+	/**
+	 * 收件地址
+	 */
 	private String subject;
+	/**
+	 * 收件人
+	 */
 	private String address;
+	/**
+	 * 部门
+	 */
 	private String addressee;
+	/**
+	 * 发起人
+	 */
 	private String deptname;
+	/**
+	 * 收件地址
+	 */
 	private String sender;
+	/**
+	 * 内容
+	 */
 	private String content;
 	private String end = "详情请登录科德业务管理系统查看,谢谢!";
 	
@@ -114,11 +132,69 @@ public class EmailBo {
 		
 	}
 
+	public EmailBo(String subject, String address, String content) {
+		this.subject = subject;
+		this.address = address;
+		this.addressee = "";
+		this.content=setNewGeneral(content);
+	}
 
-	
-
-
-	
+	private String setNewGeneral(String content) {
+		String str="<table width=\"800\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"#ffffff\" style=\"font-family:'Microsoft YaHei';\">\r\n" +
+				"    	<tbody><tr>\r\n" +
+				"		        <td>\r\n" +
+				"		             <table width=\"800\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" height=\"40\"></table>\r\n" +
+				"		        </td>\r\n" +
+				"		    </tr>\r\n" +
+				"			\r\n" +
+				"    		<tr>\r\n" +
+				"        		<td>\r\n" +
+				"            		\r\n" +
+				"            		<table width=\"800\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"#1C5299\" height=\"48\" style=\"font-family:'Microsoft YaHei';\">\r\n" +
+				"              			<tbody><tr>\r\n" +
+				"                			<td height=\"48\" border=\"0\" align=\"center\" valign=\"middle\" style=\"padding-left:20px; color: white; font-size: 20px;\">\r\n" +
+				"                			"+this.subject +
+				"        					</td>\r\n" +
+				"              			</tr>\r\n" +
+				"		            </tbody></table>\r\n" +
+				"		            \r\n" +
+				"        		</td>\r\n" +
+				"		    </tr>\r\n" +
+				"		    \r\n" +
+				"   		<tr>\r\n" +
+				"        		<td>\r\n" +
+				"		            \r\n" +
+				"		        	<table width=\"800\" border=\"0\" align=\"left\" cellpadding=\"0\" cellspacing=\"0\" style=\" border:1px solid #edecec; border-top:none; padding:0 20px;font-size:14px;color:#333333;\">\r\n" +
+				"	               		<tbody><tr>\r\n" +
+				"              </tr>\r\n" +
+				"               <tr>\r\n" +
+				"                <td width=\"760\" height=\"30\" border=\"0\" align=\"left\" colspan=\"2\" style=\"text-indent: 2em\">您好!</td>\r\n" +
+				"              </tr>\r\n" +
+				"                      <tr>\r\n" +
+				"                <td width=\"40\" height=\"32\" border=\"0\" align=\"left\" valign=\"middle\" style=\" width:40px; text-align:left;vertical-align:middle; line-height:32px; float:left;\">&nbsp;</td>\r\n" +
+				"                <td width=\"720\" height=\"32\" border=\"0\" align=\"left\" style=\" width:720px; text-align:left;vertical-align:middle;line-height:32px;\"><span style=\"font-weight: 900\">"+content+"</span></td>\r\n" +
+				"              </tr>\r\n" +
+				"              <tr>\r\n" +
+				"                <td width=\"720\" height=\"24\" colspan=\"2\" style=\"padding-left:40px;\"><span>"+end+"</span></td>\r\n" +
+				"              </tr>\r\n" +
+				"              <tr>\r\n" +
+				"                <td width=\"720\" height=\"24\" colspan=\"2\" style=\"padding-left:40px;\"></td>\r\n" +
+				"              </tr>\r\n" +
+				"              \r\n" +
+				"		               	<tr>\r\n" +
+				"		                	<td width=\"720\" height=\"14\" colspan=\"2\" style=\"padding-bottom:16px; border-bottom:1px dashed #e5e5e5;font-family:'Microsoft YaHei';\"><a href=\"http://www.kedexinxi.com/\">湖南科德信息咨询集团有限公司</a></td>\r\n" +
+				"		              	</tr>\r\n" +
+				"		               	<tr>\r\n" +
+				"		                	<td width=\"720\" height=\"14\" colspan=\"2\" style=\"padding:8px 0 28px;color:#999999; font-size:12px;font-family:'Microsoft YaHei';\">此为系统邮件请勿回复</td>\r\n" +
+				"		              	</tr>\r\n" +
+				"		            </tbody></table>\r\n" +
+				"		            \r\n" +
+				"        		</td>\r\n" +
+				"		    </tr>\r\n" +
+				"    </tbody>\r\n" +
+				"  </table>";
+		return str;
+	}
 
 
 	public String setDunFormat(String addressee,String sender,String deptname,String orderNo,String contractNo,String date ,String dunStatusName,String adminName,

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

@@ -540,7 +540,7 @@ select
 	 and (a.process_state = 7  and  a.status =1)
 	</if>
 	<if test="complete ==1 and processState == 8">
-	 and (a.process_state = #{processState}  a.status =1)
+	 and (a.process_state = #{processState}  and a.status =1)
 	</if>
 	<if test="complete ==2 and processState != 5 and processState != 7 and processState != 8">
 	 and a.process_state &gt; #{processState}
@@ -653,7 +653,7 @@ select
       and (a.process_state = 7  and  a.status =1)
     </if>
     <if test="complete ==1 and processState == 8">
-      and (a.process_state = #{processState}  a.status =1)
+      and (a.process_state = #{processState} and   a.status =1)
     </if>
 	<if test="complete ==2 and processState != 5 and processState != 7 and processState != 8">
 	 and a.process_state &gt; #{processState}

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

@@ -310,8 +310,9 @@
     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}
+    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">

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

@@ -357,17 +357,17 @@ public class OrderDunTask {
 			tOrderMidMapper.updateByPrimaryKeySelective(tm);
 		}
 		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);
-			}
+		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);
+		}
 		TOrderNew t2=tOrderNewMapper.selectByPrimaryKey(t.getOrderNo());
 		orderNewService.addTimingTaskNewDunNoticAndSendEmail(t2, t);
 	}

+ 22 - 20
src/main/java/com/goafanti/common/task/PatentTask.java

@@ -1,5 +1,6 @@
 package com.goafanti.common.task;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -105,26 +106,8 @@ public class PatentTask {
 					status = 5;
 					s5.add(p.getId().toString());
 				}else if(count<0) {
+					flag=true;
 					s6.add(p.getId().toString());
-					if (p.getSalesmanRemind()==0){
-						Notice n = new Notice();
-						n.setId(UUID.randomUUID().toString());
-						n.setCreateTime(date);
-						n.setReaded(0);// 未读
-						n.setNoticeType(NoticeStatus.TASK_PATENT_ERROR.getCode());
-						PatentNewLog pl = new PatentNewLog();
-						StringBuffer str =new StringBuffer();
-						str.append("专利编号[").append(p.getPatentNo()).append("],名称[").append(p.getName()).append("],email[")
-								.append(p.getEmail().trim()).append("]").append("已超过结束时间,但未做提醒,请悉知!!!");
-						pl.setContent(str.toString());
-						pl.setCreateTime(new Date());
-						pl.setPid(p.getId());
-						logList.add(pl);
-						n.setAid(p.getAid());
-						n.setNoticeType(NoticeStatus.TASK_PATENT_REMIND.getCode());
-						n.setContent(str.toString());
-						nlist.add(n);
-					}
 				}
 				if (flag) {
 					Notice n = new Notice();
@@ -158,6 +141,25 @@ public class PatentTask {
 						nlist.add(n2);
 						continue;
 					} else {
+						if (p.getSalesmanRemind()==0){
+							Notice nt = new Notice();
+							nt.setId(UUID.randomUUID().toString());
+							nt.setCreateTime(date);
+							nt.setReaded(0);// 未读
+							nt.setNoticeType(NoticeStatus.TASK_PATENT_ERROR.getCode());
+							PatentNewLog pl = new PatentNewLog();
+							StringBuffer str =new StringBuffer();
+							str.append("专利编号[").append(p.getPatentNo()).append("],名称[").append(p.getName()).append("],email[")
+									.append(p.getEmail().trim()).append("]").append("已超过结束时间,但未做提醒,请悉知!!!");
+							pl.setContent(str.toString());
+							pl.setCreateTime(new Date());
+							pl.setPid(p.getId());
+							logList.add(pl);
+							n.setAid(p.getAid());
+							n.setNoticeType(NoticeStatus.TASK_PATENT_REMIND.getCode());
+							n.setContent(str.toString());
+							nlist.add(n);
+						}
 						PatentNewLog pl = new PatentNewLog();
 						String str = StrToString(str2,p.getEndDate(),status);
 						pl.setContent(str);
@@ -293,5 +295,5 @@ public class PatentTask {
             htmlStr = delHTMLTag(htmlStr);
             htmlStr = htmlStr.replaceAll("&nbsp;", "");
             return htmlStr;
-        }       
+        }
 }

+ 16 - 0
src/main/java/com/goafanti/common/utils/AsyncUtils.java

@@ -6,6 +6,10 @@ import java.util.List;
 
 import javax.mail.MessagingException;
 
+import com.goafanti.admin.bo.AdminListBo;
+import com.goafanti.common.dao.AdminMapper;
+import com.goafanti.common.enums.NoticeStatus;
+import com.goafanti.core.shiro.token.TokenManager;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Component;
@@ -20,6 +24,8 @@ import com.goafanti.common.model.Notice;
 public class AsyncUtils {
 	@Autowired
 	private NoticeMapper noticeMapper;
+	@Autowired
+	private AdminMapper adminMapper;
 	
 	
 
@@ -48,6 +54,14 @@ public class AsyncUtils {
 		n.setType(NoticeTypes.getType(n.getNoticeType()));
 		noticeMapper.insertSelective(n);
 	}
+
+	public void addNoticAndEmail(Notice n) {
+		n.setType(NoticeTypes.getType(n.getNoticeType()));
+		AdminListBo a = adminMapper.getDeptNameByAid(TokenManager.getAdminId());
+		EmailBo bo=new EmailBo(NoticeStatus.getStatus(n.getNoticeType()).getDesc(),a.getEmail(),n.getContent()) ;
+		noticeMapper.insertSelective(n);
+		send(bo);
+	}
 	
 	
 	public void addNoticeBatch(List<Notice> ln) {
@@ -75,4 +89,6 @@ public class AsyncUtils {
     public void batchUpdateUnreaded(List<String> dl) {
 		noticeMapper.batchUpdateUnreaded(dl);
     }
+
+
 }

+ 8 - 8
src/main/java/com/goafanti/common/utils/SendEmailUtil.java

@@ -149,13 +149,13 @@ public class SendEmailUtil {
 	
 	
 	
-	public static void main(String[] args) {
-		  EmailBo emailBo = new EmailBo( "专利提醒失败",  "312518615@qq.com",  "超管", "平台",  "系统", "专利提醒失败");
-				try {
-					SendEmailUtil.getInstance().send(emailBo);
-				} catch (UnsupportedEncodingException | MessagingException e) {
-					e.printStackTrace();
-				}
-	}
+//	public static void main(String[] args) {
+//		  EmailBo emailBo = new EmailBo( "专利提醒失败",  "312518615@qq.com",  "超管", "平台",  "系统", "专利提醒失败");
+//				try {
+//					SendEmailUtil.getInstance().send(emailBo);
+//				} catch (UnsupportedEncodingException | MessagingException e) {
+//					e.printStackTrace();
+//				}
+//	}
 	
 }

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

@@ -272,7 +272,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 				n.setNoticeType(NoticeStatus.ITEM_CHECK_END.getCode());
 				n.setContent(str2);
 				n.setReaded(0);//未读
-				asyncUtils.addNotice(n);
+				asyncUtils.addNoticAndEmail(n);
 			}
 			projcetCheckLogMapper.insertSelective(log);
 		}
@@ -689,7 +689,11 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 					o.setStartTime(date);
 					newOrderDunMapper.updateByPrimaryKeySelective(o);
 					TOrderMid tm=tOrderMidMapper.selectByOrderNo(orderNo);
-					tm.setOrderArrears(tm.getOrderArrears().add(o.getMoney()));
+					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);
 					TArrearsDun t=new TArrearsDun();
@@ -711,6 +715,8 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 
 
 
+
+
 	public void addNewDunNoticAndSendEmail(String  orderNo, OutNewOrderDunBo o) {
 		AdminListBo a = adminMapper.getDeptNameByAid(TokenManager.getAdminId()==null?"1":TokenManager.getAdminId());
 		TOrderNewBo b  = tOrderNewMapper.getSaleIdByOno(orderNo);

+ 4 - 1
src/main/java/com/goafanti/order/service/impl/OrderProjectServiceImpl.java

@@ -13,6 +13,7 @@ import java.util.UUID;
 
 import javax.mail.MessagingException;
 
+import com.goafanti.admin.bo.AdminListBo;
 import com.goafanti.common.dao.*;
 import com.goafanti.order.bo.*;
 import org.apache.commons.collections4.map.HashedMap;
@@ -142,6 +143,7 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 	Logger							logger	= LoggerFactory.getLogger(OrderProjectServiceImpl.class);
 	
 	@Override
+	@Transactional
 	public int updateProjectDistribution(Integer taskId, String taskReceiverId,String remarks,Integer type) {
 		TOrderTask t=tOrderTaskMapper.selectByPrimaryKey(taskId);
 		TOrderNew tn=checkDeleteSign(t.getOrderNo());
@@ -565,6 +567,7 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 					//如果启动催款,则新增欠款与应收款
 						TOrderMid tm=tOrderMidMapper.selectByOrderNo(task2.getOrderNo());
 						tm.setOrderArrears(tm.getOrderArrears().add(ob.getMoney()));
+						tm.setOrderReceivables(tm.getOrderReceivables().add(ob.getMoney()));
 						if (tm.getDunStartTime()==null)tm.setDunStartTime(new Date());
 						tOrderMidMapper.updateByPrimaryKeySelective(tm);
 						TArrearsDun td=new TArrearsDun();
@@ -989,7 +992,7 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 			n.setNoticeType(NoticeStatus.ITEM_CHECK_START.getCode());
 			n.setContent(str);
 			n.setReaded(0);//未读
-			asyncUtils.addNotice(n);
+			asyncUtils.addNoticAndEmail(n);
 		}
 		projcetCheckLogMapper.insertSelective(log);
 		tOrderPaymentMapper.deleteByParam(tid,2);