Browse Source

转交客户时连带相关业务一起转交

anderx 7 years ago
parent
commit
9eb9e5733b

+ 2 - 0
src/main/java/com/goafanti/common/dao/ContractTaskMapper.java

@@ -99,4 +99,6 @@ public interface ContractTaskMapper {
 	List<ContractTask> selectlistContractTask();
 
 	List<String> slectbyOrderNo(String orderNo);
+
+	TaskDetailBo selectByOrderNoAndUserName(String taskId);
 }

+ 2 - 0
src/main/java/com/goafanti/common/dao/TOrderMapper.java

@@ -132,4 +132,6 @@ public interface TOrderMapper {
 	 */
 	List<BillListBo> selectBillByOrderNo(String orderNo);
 
+	String selectByUserName(String orderNo);
+
 }

+ 2 - 0
src/main/java/com/goafanti/common/dao/UserBusinessMapper.java

@@ -89,5 +89,7 @@ public interface UserBusinessMapper {
 	BussinessFollowBo findFollowOneBusiness(@Param("ufbId") String ufbId);
 	
 	int selectFollowCountByUAid(@Param("uid")String uid, @Param("aid")String aid);
+
+	void updateDimissionTransfer(@Param("aid")String aid, @Param("transferId")String transferId);
 	
 }

+ 1 - 0
src/main/java/com/goafanti/common/enums/OrderFlowState.java

@@ -8,6 +8,7 @@ import org.apache.commons.lang3.StringUtils;
 public enum OrderFlowState {
 	DDBG(0, "订单变更"), 
 	RWPD(1, "任务分派"),
+	TPCL(1, "特批处理"),
 	QT(1, "其他"),
 	;
 

+ 9 - 0
src/main/java/com/goafanti/common/mapper/ContractTaskMapper.xml

@@ -598,4 +598,13 @@
     inner join t_order c on b.order_no=c.order_no
     where c.order_no= #{orderNo,jdbcType=VARCHAR}
   </select>
+  <select id="selectByOrderNoAndUserName" resultType="com.goafanti.techproject.bo.TaskDetailBo">
+ 	select 
+     b.order_no as orderNo,d.nickname as buyerName
+    from contract_task a 
+    inner join contract b on a.contract_id=b.id
+    inner join t_order c on b.order_no=c.order_no
+    inner join user d on c.buyer_id =d.id
+    where a.id= #{taskId,jdbcType=VARCHAR}
+  </select>
 </mapper>

+ 4 - 0
src/main/java/com/goafanti/common/mapper/TOrderMapper.xml

@@ -1725,4 +1725,8 @@
 	where a.order_no = #{orderNo,jdbcType=VARCHAR} and a.delete_sign = 0
 	order by a.create_time desc
   </select>
+  <select id="selectByUserName" resultType="java.lang.String">
+  	    select b.nickname from t_order a inner join user b on a.buyer_id =b.id
+    where a.order_no= #{orderNo,jdbcType=VARCHAR}
+  </select>
 </mapper>

+ 5 - 0
src/main/java/com/goafanti/common/mapper/UserBusinessMapper.xml

@@ -462,4 +462,9 @@
 	left join business_project g on a.business_project_id = g.id
 	where a.id = #{ufbId,jdbcType=VARCHAR}
   </select>
+  <update id="updateDimissionTransfer" parameterMap="java.lang.String">
+  update  user_business 
+	set aid= #{transferId,jdbcType=VARCHAR}
+	where aid= #{aid,jdbcType=VARCHAR}
+  </update>
 </mapper>

+ 57 - 23
src/main/java/com/goafanti/order/service/impl/OrderServiceImpl.java

@@ -1057,6 +1057,7 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 		return releaseList;
 	}
 	
+	@SuppressWarnings("unused")
 	private void lockProject(TOrder tOrder){
 		List<TOrderDetail> list = tOrderMapper.selectOrderCommodity(tOrder.getOrderNo());
 		UserLockRelease ulr = null;
@@ -1075,6 +1076,7 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 		}
 	}
 	
+	@SuppressWarnings("unused")
 	private void releaseProject(List<LockingReleaseBo> releaseList){
 		if(releaseList != null && releaseList.size()>0){
 			UserLockRelease ulr = null;
@@ -1534,10 +1536,33 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 		}
 		tOrderMapper.updateByPrimaryKeySelective(tOrder);
 		//如果支付后订单符合待立项,系统自动立项 2018-4-10
-		if(tOrder.getProjectStage() == ProjectStage.WAIT_SET_UP.getCode())
+		if(tOrder.getProjectStage() == ProjectStage.WAIT_SET_UP.getCode());
+			String regex = "^(1[1-9][0-9])\\d{8}$";
+		 Pattern p = Pattern.compile(regex);
+		 String mobile="";
 			updateSetUpProject(tOrder.getOrderNo(),DEFUALT_SET_UP_COMMENT);
+		Admin a=adminMapper.selectByPrimaryKey(tOrder.getSalesmanId());
+		if (null!=a.getContactMobile()) {
+			Matcher m = p.matcher(a.getContactMobile());
+		if ( m.matches()) {
+			mobile=a.getContactMobile();
+			}
+		sendMessage(tOrder,mobile,OrderFlowState.TPCL.getDesc());
+		}
 		return 1;
 	}
+
+	public void sendMessage(TOrder tOrder, String mobile, String type) {
+		
+			String userName=tOrderMapper.selectByUserName(tOrder.getOrderNo());
+			//String message=noticeType.getDesc() + ": 订单编号-" + tOrder.getOrderNo() + ",变更内容:"+noticeComment+",操作人-" + TokenManager.getAdminToken().getName();
+			String paramString = "{\"number\":\"" + tOrder.getOrderNo() 
+			+ "\",\"operator\":\"" + TokenManager.getAdminToken().getName()
+			+ "\",\"name\":\"" +  userName 
+			+ "\",\"type\":\"" +  type +
+			"\"}";
+			MobileMessageUtils.sendMessage(mobileRemindCodeTemplate, paramString, mobile, accessKey, accessSecret);
+	}
 	
 
 	@SuppressWarnings("unchecked")
@@ -1599,6 +1624,20 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 		contract.setSignComment(signComment);
 		contract.setTaskDistribution(TaskDistributionState.NOT_DISTRIBUTION.getCode());
 		contractMapper.insert(contract);
+		//流水确认
+		if(tOrder.getProjectStage() == ProjectStage.WAIT_SET_UP.getCode());
+		String regex = "^(1[1-9][0-9])\\d{8}$";
+	 Pattern p = Pattern.compile(regex);
+	 String mobile="";
+		updateSetUpProject(tOrder.getOrderNo(),DEFUALT_SET_UP_COMMENT);
+	Admin a=adminMapper.selectByPrimaryKey(tOrder.getSalesmanId());
+	if (null!=a.getContactMobile()) {
+		Matcher m = p.matcher(a.getContactMobile());
+	if ( m.matches()) {
+		mobile=a.getContactMobile();
+		}
+		sendMessage(tOrder,mobile,OrderFlowState.DDBG.getDesc());
+	}
 		for(TOrderDetail orderDetail: detailList){
 			Admin aa=adminMapper.selectAdminName(AFTConstants.DEFAULT_INITIATOR);
 			Admin ab=adminMapper.selectAdminName(AFTConstants.CONSULTANT_MANAGER);
@@ -1938,30 +1977,25 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 			MobileNotice( targetIds, tOrder);
 			noticeMapper.insertBatch(noticeList);
 			//触发短信提醒
-			List<String> l= contractTaskMapper.slectbyOrderNo(tOrder.getOrderNo());
-			for (String s : l) {
-				if(!targetIds.contains(s))
-			targetIds.add(s);
-			}
-			String regex = "^(1[1-9][0-9])\\d{8}$";
-			 Pattern p = Pattern.compile(regex);
-			 String mobile="";
-			for (String s : targetIds) {
-				Admin a=adminMapper.selectByPrimaryKey(s);
-				if (null!=a.getContactMobile()) {
-					Matcher m = p.matcher(a.getContactMobile());
-				if ( m.matches()) {
-					mobile+=a.getContactMobile()+",";
+		List<String> l= contractTaskMapper.slectbyOrderNo(tOrder.getOrderNo());
+				for (String s : l) {
+					if(!targetIds.contains(s))
+				targetIds.add(s);
+				}
+				String regex = "^(1[1-9][0-9])\\d{8}$";
+				 Pattern p = Pattern.compile(regex);
+				 String mobile="";
+				for (String s : targetIds) {
+					Admin a=adminMapper.selectByPrimaryKey(s);
+					if (null!=a.getContactMobile()) {
+						Matcher m = p.matcher(a.getContactMobile());
+					if ( m.matches()) {
+						mobile+=a.getContactMobile()+",";
+						}
 					}
 				}
-			}
-			mobile=mobile.substring(0, mobile.length()-1);
-			//String message=noticeType.getDesc() + ": 订单编号-" + tOrder.getOrderNo() + ",变更内容:"+noticeComment+",操作人-" + TokenManager.getAdminToken().getName();
-			String paramString = "{\"number\":\"" + tOrder.getOrderNo() 
-			+ "\",\"operator\":\"" + TokenManager.getAdminToken().getName()
-			+ "\",\"type\":\"" +  OrderFlowState.DDBG.getDesc() +
-			"\"}";
-			MobileMessageUtils.sendMessage(mobileRemindCodeTemplate, paramString, mobile, accessKey, accessSecret);
+				mobile=mobile.substring(0, mobile.length()-1);
+			sendMessage(tOrder,mobile,OrderFlowState.DDBG.getDesc());
 
 		}
 	}

+ 4 - 0
src/main/java/com/goafanti/permission/service/impl/NewRoleServiceImpl.java

@@ -18,6 +18,7 @@ import com.goafanti.common.dao.ContractTaskLogMapper;
 import com.goafanti.common.dao.RoleMapper;
 import com.goafanti.common.dao.RolePermissionMapper;
 import com.goafanti.common.dao.RoleResourcesMapper;
+import com.goafanti.common.dao.UserBusinessMapper;
 import com.goafanti.common.dao.UserMapper;
 import com.goafanti.common.dao.UserRoleMapper;
 import com.goafanti.common.enums.roleResources;
@@ -48,6 +49,8 @@ public class NewRoleServiceImpl extends BaseMybatisDao<RoleMapper> implements Ne
 	RoleResourcesMapper		roleResourcesMapper;
 	@Autowired
 	ContractTaskLogMapper	contractTaskLogMapper;
+	@Autowired
+	UserBusinessMapper		userBusinessMapper;
 	@Override
 	public Pagination<RoleBo> findRoles(RoleBo role, Integer pageNo, Integer pageSize) {
 		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -179,6 +182,7 @@ public class NewRoleServiceImpl extends BaseMybatisDao<RoleMapper> implements Ne
 			System.out.println(s);
 			if (s==roleResources.YXKH.getCode()) {
 				roleResourcesMapper.updateLockRelease("0",aid,transferId);//将用户锁转给指定人
+				userBusinessMapper.updateDimissionTransfer(aid,transferId);
 			}
 			if (s==roleResources.QDYW.getCode()) {
 				roleResourcesMapper.updateLockRelease("1",aid,transferId);//将业务锁转给指定人

+ 30 - 0
src/main/java/com/goafanti/techproject/service/impl/TechProjectServiceImpl.java

@@ -24,6 +24,7 @@ import com.goafanti.common.dao.ContractMapper;
 import com.goafanti.common.dao.ContractTaskLogMapper;
 import com.goafanti.common.dao.ContractTaskMapper;
 import com.goafanti.common.dao.NoticeMapper;
+import com.goafanti.common.dao.TOrderMapper;
 import com.goafanti.common.dao.TechProjectLogMapper;
 import com.goafanti.common.dao.TechProjectMapper;
 import com.goafanti.common.dao.UserMapper;
@@ -38,6 +39,7 @@ import com.goafanti.common.model.Contract;
 import com.goafanti.common.model.ContractTask;
 import com.goafanti.common.model.ContractTaskLog;
 import com.goafanti.common.model.Notice;
+import com.goafanti.common.model.TOrder;
 import com.goafanti.common.model.TechProject;
 import com.goafanti.common.model.TechProjectLog;
 import com.goafanti.common.model.TmpTable;
@@ -82,6 +84,8 @@ public class TechProjectServiceImpl extends BaseMybatisDao<TechProjectMapper> im
 	@Autowired
 	private ContractTaskLogMapper	contractTaskLogMapper;
 	@Autowired
+	private TOrderMapper	tOrderMapper;
+	@Autowired
 	AdminMapper		adminMapper;
 	
 	@Value(value = "${accessKey}")
@@ -573,11 +577,37 @@ public class TechProjectServiceImpl extends BaseMybatisDao<TechProjectMapper> im
 			c.setCreateTime(new Date());
 			contractTaskLogMapper.insert(c);
 			contractTaskMapper.updateByPrimaryKeySelective(task);
+			TaskDetailBo t=contractTaskMapper.selectByOrderNoAndUserName(taskId);
+			Admin a=adminMapper.selectByPrimaryKey(taskReceiverId);
+			String regex = "^(1[1-9][0-9])\\d{8}$";
+			 Pattern p = Pattern.compile(regex);
+			 String mobile="";
+			if (null!=a.getContactMobile()) {
+				Matcher m = p.matcher(a.getContactMobile());
+			if ( m.matches()) {
+				mobile=a.getContactMobile();
+				sendMessage(t.getOrderNo(),mobile,OrderFlowState.DDBG.getDesc());
+				}
+			}
 			return setTaskDistribution(task.getContractId());
+			
 		}
 		return 0;
 	}
 
+	public void sendMessage(String orderNo, String mobile, String type) {
+		
+		String userName=tOrderMapper.selectByUserName(orderNo);
+		//String message=noticeType.getDesc() + ": 订单编号-" + tOrder.getOrderNo() + ",变更内容:"+noticeComment+",操作人-" + TokenManager.getAdminToken().getName();
+		String paramString = "{\"number\":\"" + orderNo 
+		+ "\",\"operator\":\"" + TokenManager.getAdminToken().getName()
+		+ "\",\"name\":\"" +  userName 
+		+ "\",\"type\":\"" +  type +
+		"\"}";
+		MobileMessageUtils.sendMessage(mobileRemindCodeTemplate, paramString, mobile, accessKey, accessSecret);
+	}
+
+
 	@SuppressWarnings("unchecked")
 	@Override
 	public Pagination<ProjectListBo> salesmanListProject(ProjectListBo bo, String depId, String orderStartDate,