Просмотр исходного кода

离职技术员、经理转交修改开发

anderx лет назад: 3
Родитель
Сommit
fbc51a84fc

+ 9 - 1
src/main/java/com/goafanti/common/dao/NewOrderChangeMapper.java

@@ -60,5 +60,13 @@ public interface NewOrderChangeMapper {
      * @param orderNo
      * @param orderNo
      * @return
      * @return
      */
      */
-    OutProcessName gerProcessName(@Param("id") Integer id, @Param("orderNo") String orderNo);
+    OutProcessName getProcessName(@Param("id") Integer id, @Param("orderNo") String orderNo);
+
+    /**
+     *
+     * @param type 3咨询师 4咨询师经理
+     * @param aid
+     * @return
+     */
+    List<Integer> selectProcess(@Param("type")Integer type, @Param("aid")String aid);
 }
 }

+ 6 - 0
src/main/java/com/goafanti/common/dao/OrderExamineMapper.java

@@ -106,6 +106,12 @@ public interface OrderExamineMapper {
 
 
 	void updateByOrderNo(@Param("orderNo") String orderNo,@Param("status")Integer status,@Param("type")Integer type);
 	void updateByOrderNo(@Param("orderNo") String orderNo,@Param("status")Integer status,@Param("type")Integer type);
 
 
+    /**
+     *
+     * @param aid
+     * @param transferId
+     * @param type 0咨询师 1经理 2咨询师转交经理 3经理转交咨询师
+     */
 	void updateDimissionTransfer(@Param("aid")String aid, @Param("transferId")String transferId, @Param("type")Integer type);
 	void updateDimissionTransfer(@Param("aid")String aid, @Param("transferId")String transferId, @Param("type")Integer type);
 
 
     /**
     /**

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

@@ -66,4 +66,5 @@ public interface TOrderNewMapper {
      * @return
      * @return
      */
      */
     OrderProcessName getProcessName(String orderNo);
     OrderProcessName getProcessName(String orderNo);
+
 }
 }

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

@@ -773,7 +773,7 @@ select
       where n.process_state =#{type}
       where n.process_state =#{type}
     </update>
     </update>
 
 
-  <select id="gerProcessName" resultType="com.goafanti.order.bo.OutProcessName">
+  <select id="getProcessName" resultType="com.goafanti.order.bo.OutProcessName">
     select a.id,a.order_no orderNo ,a.`type`,a.change_amount changeAmount ,a.status,a.process_state processState,
     select a.id,a.order_no orderNo ,a.`type`,a.change_amount changeAmount ,a.status,a.process_state processState,
            c.name yxy,mg.name yxjl, yxgly.name yxgly,zxs.name zxs,zxsjl.name zxsjl, zxsgly.name zxsgly,
            c.name yxy,mg.name yxjl, yxgly.name yxgly,zxs.name zxs,zxsjl.name zxsjl, zxsgly.name zxsgly,
            fm.name cwzy,cwgly.name cwgly, zc.name zc,dsz.name dsz
            fm.name cwzy,cwgly.name cwgly, zc.name zc,dsz.name dsz
@@ -811,4 +811,15 @@ select
                       where c.role_type in ('9997') and a.status ='0' ) cwgly on 1=1
                       where c.role_type in ('9997') and a.status ='0' ) cwgly on 1=1
     where a.id= #{id}
     where a.id= #{id}
   </select>
   </select>
+    <select id="selectProcess" resultType="java.lang.Integer">
+      select t0.id from (select x.id,min(y.status)status
+                         from (select a.id
+                               from new_order_change a left join t_order_task c on a.order_no =c.order_no
+                               where a.process_state= #{type}
+                                 and c.consultant_id = #{aid} group by a.id)x
+                                left join new_order_change z on x.id=z.id
+                                left join order_examine y on z.order_no=y.order_no
+                         where y.`type` =0 group by x.id)t0
+      where t0.status>0
+    </select>
 </mapper>
 </mapper>

+ 16 - 3
src/main/java/com/goafanti/common/mapper/OrderExamineMapper.xml

@@ -335,10 +335,23 @@
   </update>
   </update>
    <update id="updateDimissionTransfer">
    <update id="updateDimissionTransfer">
   update order_examine set aid= #{transferId}
   update order_examine set aid= #{transferId}
+     <if test="type==3">
+       ,type=1
+     </if>
+     <if test="type==4">
+       ,type=0
+     </if>
+
 	where status=0 and aid= #{aid}
 	where status=0 and aid= #{aid}
-    <if test="type!=null">
-      and type= #{type}
-    </if>
+     <if test="type==0 or type==1">
+       and type= #{type}
+     </if>
+     <if test="type==3 ">
+       and type= 0
+     </if>
+     <if test="type==4 ">
+       and type= 1
+     </if>
   </update>
   </update>
 
 
   <delete id="deleteByAidAndStatus">
   <delete id="deleteByAidAndStatus">

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

@@ -1632,6 +1632,7 @@ left join department d on o.order_dep = d.id   left join t_order_mid a on o.orde
   </update>
   </update>
 
 
 
 
+
   <select id="selectArrearsDunListByPage" resultType="com.goafanti.order.bo.OutArrearsDunListBo">
   <select id="selectArrearsDunListByPage" resultType="com.goafanti.order.bo.OutArrearsDunListBo">
     select a.id, b.contract_no contractNo,a.order_no as orderNo,c.nickname as userName,tm.salesman_name as salesmanName,
     select a.id, b.contract_no contractNo,a.order_no as orderNo,c.nickname as userName,tm.salesman_name as salesmanName,
     b.project_status projectStatus, b.total_amount as totalAmount,b.liquidation_status as liquidationStatus,a.`type`,
     b.project_status projectStatus, b.total_amount as totalAmount,b.liquidation_status as liquidationStatus,a.`type`,
@@ -1986,4 +1987,6 @@ left join department d on o.order_dep = d.id   left join t_order_mid a on o.orde
     where a.order_no = #{orderNo}
     where a.order_no = #{orderNo}
   </select>
   </select>
 
 
+
+
 </mapper>
 </mapper>

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

@@ -1197,6 +1197,11 @@
     </if>
     </if>
     <if test="type==3">
     <if test="type==3">
       ,consultant_id= null
       ,consultant_id= null
+      ,manager_id=#{transferId,jdbcType=VARCHAR}
+    </if>
+    <if test="type==4">
+      ,consultant_id=#{transferId,jdbcType=VARCHAR}
+      ,manager_id= null
     </if>
     </if>
     <if test="type==1">
     <if test="type==1">
       ,manager_id= null
       ,manager_id= null

+ 29 - 62
src/main/java/com/goafanti/order/service/impl/OrderChangeServiceImpl.java

@@ -263,8 +263,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		if (nb.getStatus()==4) {
 		if (nb.getStatus()==4) {
 			throw new BusinessException(new Error( "变更流程已通过审核","变更流程已通过审核"));
 			throw new BusinessException(new Error( "变更流程已通过审核","变更流程已通过审核"));
 		}
 		}
-		boolean zxsFlag=false;
-		boolean zxsjlFlag=false;
+		Date date =new Date();
 		//2通过 3驳回
 		//2通过 3驳回
 		if (status==2) {
 		if (status==2) {
 			//变更类型 0退单退款 1项目及金额变更 2仅项目变更 3仅金额变更 4重报 5赠送 6退单不退款 7仅变更合同
 			//变更类型 0退单退款 1项目及金额变更 2仅项目变更 3仅金额变更 4重报 5赠送 6退单不退款 7仅变更合同
@@ -294,28 +293,20 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 								nb.getType()==OrderChangeType.XMJJEBG.getCode()||
 								nb.getType()==OrderChangeType.XMJJEBG.getCode()||
 								nb.getType()==OrderChangeType.TDTK.getCode()||
 								nb.getType()==OrderChangeType.TDTK.getCode()||
 								nb.getType()==OrderChangeType.TDBTK.getCode()){
 								nb.getType()==OrderChangeType.TDBTK.getCode()){
-							int zxs=orderExamineMapper.checkCountStatus(orderNo,0,null);
-							if (zxs>0){
-								nb.setProcessState(OrderChangeProcess.JSY.getCode());
-							}else {
-								zxsFlag=true;
-								zxsjlFlag=pushZXSJLprocess(nb);
-							}
+							pushZXS(nb, date,1);
 						}else if (nb.getType()==OrderChangeType.JJEBG.getCode()){
 						}else if (nb.getType()==OrderChangeType.JJEBG.getCode()){
 							nb.setProcessState(OrderChangeProcess.JSZJ.getCode());
 							nb.setProcessState(OrderChangeProcess.JSZJ.getCode());
 						}else if (nb.getType()==OrderChangeType.ZS.getCode()){
 						}else if (nb.getType()==OrderChangeType.ZS.getCode()){
 							nb.setProcessState(OrderChangeProcess.CWZY.getCode());
 							nb.setProcessState(OrderChangeProcess.CWZY.getCode());
 						}
 						}
 					}else if (nb.getProcessState()==OrderChangeProcess.JSY.getCode()){
 					}else if (nb.getProcessState()==OrderChangeProcess.JSY.getCode()){
-						zxsFlag=pushZXSprocess(nb);
+						orderExamineMapper.updateByOrderNoAndAid(orderNo,TokenManager.getAdminId(),0);
+						pushZXS(nb,date,0);
 						//咨询师审核,将自己审核的全部标记已审核
 						//咨询师审核,将自己审核的全部标记已审核
 					}else if (nb.getProcessState()==OrderChangeProcess.JSJL.getCode()){
 					}else if (nb.getProcessState()==OrderChangeProcess.JSJL.getCode()){
 						//咨询师经理审核,将自己审核的全部标记已审核
 						//咨询师经理审核,将自己审核的全部标记已审核
 						orderExamineMapper.updateByOrderNoAndAid(orderNo,TokenManager.getAdminId(),1);
 						orderExamineMapper.updateByOrderNoAndAid(orderNo,TokenManager.getAdminId(),1);
-						int wsh=orderExamineMapper.checkCountStatus(orderNo,1,0);
-						if (wsh==0){
-							pushZXSJLprocess(nb);
-						}
+						pushZXSJL(nb,date,0);
 					}else if (nb.getProcessState()==OrderChangeProcess.JSZJ.getCode()){
 					}else if (nb.getProcessState()==OrderChangeProcess.JSZJ.getCode()){
 						nb.setProcessState(OrderChangeProcess.CWZY.getCode());
 						nb.setProcessState(OrderChangeProcess.CWZY.getCode());
 					}else if (nb.getProcessState()==OrderChangeProcess.CWZY.getCode()){
 					}else if (nb.getProcessState()==OrderChangeProcess.CWZY.getCode()){
@@ -378,24 +369,14 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 				orderExamineMapper.updateByOrderNoAndAid(nb.getOrderNo(),TokenManager.getAdminId(),0);
 				orderExamineMapper.updateByOrderNoAndAid(nb.getOrderNo(),TokenManager.getAdminId(),0);
 				int wsh=orderExamineMapper.checkCountStatus(nb.getOrderNo(),0,0);
 				int wsh=orderExamineMapper.checkCountStatus(nb.getOrderNo(),0,0);
 				if (wsh==0){
 				if (wsh==0){
-					zxsFlag=true;
-					zxsjlFlag= pushZXSJLprocess( nb);
+					pushZXSJL( nb,date,1);
 				}
 				}
 			}else if(rejectState==4){
 			}else if(rejectState==4){
-				zxsjlFlag=pushZXSJLprocess(nb);
+				pushZXSJL(nb,date,1);
 			}
 			}
 		}
 		}
 		addOrderChangeLog(remarks, status, orderNo, nb.getId());
 		addOrderChangeLog(remarks, status, orderNo, nb.getId());
-		if (zxsFlag||zxsjlFlag){
-			Date date =new Date();
-			date.setTime(date.getTime()+1000);
-			if (zxsFlag){
-				addOrderChangeLog("无咨询师自动通过", 2, orderNo, nb.getId(),date);
-			}
-			if (zxsjlFlag){
-				addOrderChangeLog("无咨询师经理自动通过", 2, nb.getOrderNo(), nb.getId(),date);
-			}
-		}
+
 
 
 		sendNotice(status,nb);
 		sendNotice(status,nb);
 		pushOrderCangeProcess(nb);
 		pushOrderCangeProcess(nb);
@@ -404,27 +385,32 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 	}
 	}
 
 
 	/**
 	/**
-	 *  判断zxs是否全审核,全审核就去判断咨询师经理,跳过就返回x=1,在后续添加日志放到先审核,后添加日志
+	 *
 	 * @param nb
 	 * @param nb
-	 * @return
+	 * @param date
+	 * @param type 0正常审核  1跨流程需要通知
 	 */
 	 */
-	private boolean pushZXSprocess(NewOrderChangeBo nb) {
-		orderExamineMapper.updateByOrderNoAndAid(nb.getOrderNo(),TokenManager.getAdminId(),0);
-		int wsh=orderExamineMapper.checkCountStatus(nb.getOrderNo(),0,0);
-		if (wsh==0){
-			return pushZXSJLprocess( nb);
+	public void pushZXS(NewOrderChangeBo nb,  Date date,Integer type) {
+		int zxs=orderExamineMapper.checkCountStatus(nb.getOrderNo(),0,null);
+		if (zxs>0){
+			nb.setProcessState(OrderChangeProcess.JSY.getCode());
+		}else {
+			if(type==1){
+				date.setTime(date.getTime()+100);
+				addOrderChangeLog("无咨询师自动通过", 2, nb.getOrderNo(), nb.getId(), date);
+			}
+			pushZXSJL(nb,date,1);
 		}
 		}
-		return false;
 	}
 	}
 
 
 	/**
 	/**
 	 * 咨询师经理,跳过就返回x=1,在后续添加日志放到先审核,后添加日志
 	 * 咨询师经理,跳过就返回x=1,在后续添加日志放到先审核,后添加日志
 	 * @param nb
 	 * @param nb
+	 * @param type 0正常审核  1跨流程需要通知
 	 * @return
 	 * @return
 	 */
 	 */
-	private boolean pushZXSJLprocess(NewOrderChangeBo nb) {
+	public void pushZXSJL(NewOrderChangeBo nb,Date date,Integer type) {
 		int zxsjl=orderExamineMapper.checkCountStatus(nb.getOrderNo(),1,0);
 		int zxsjl=orderExamineMapper.checkCountStatus(nb.getOrderNo(),1,0);
-		boolean zxsjlFlag=false;
 		if (nb.getType()==OrderChangeType.XMJJEBG.getCode()||
 		if (nb.getType()==OrderChangeType.XMJJEBG.getCode()||
 				nb.getType()==OrderChangeType.TDTK.getCode()||
 				nb.getType()==OrderChangeType.TDTK.getCode()||
 				nb.getType()==OrderChangeType.TDBTK.getCode()||
 				nb.getType()==OrderChangeType.TDBTK.getCode()||
@@ -433,7 +419,10 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 			if (zxsjl>0){
 			if (zxsjl>0){
 				nb.setProcessState(OrderChangeProcess.JSJL.getCode());
 				nb.setProcessState(OrderChangeProcess.JSJL.getCode());
 			}else {
 			}else {
-				zxsjlFlag=true;
+				if (type==1){
+					date.setTime(date.getTime()+100);
+					addOrderChangeLog("无咨询师经理自动通过", 2, nb.getOrderNo(), nb.getId(),date);
+				}
 				//重报 没有技术员跳入财务
 				//重报 没有技术员跳入财务
 				if (nb.getType()==OrderChangeType.CB.getCode()){
 				if (nb.getType()==OrderChangeType.CB.getCode()){
 					nb.setProcessState(OrderChangeProcess.CWZY.getCode());
 					nb.setProcessState(OrderChangeProcess.CWZY.getCode());
@@ -443,7 +432,6 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 				}
 				}
 			}
 			}
 		}
 		}
-		return zxsjlFlag;
 	}
 	}
 
 
 	private void addOrderChangeLog(String remarks, Integer status, String orderNo, Integer id) {
 	private void addOrderChangeLog(String remarks, Integer status, String orderNo, Integer id) {
@@ -716,8 +704,6 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 					}
 					}
 					//如果自己是审核人员则跳过
 					//如果自己是审核人员则跳过
 					if (flag){
 					if (flag){
-						boolean zxsFlag=false;
-						boolean zxsjlFlag=false;
 						if (t.getType()==OrderChangeType.CB.getCode()||
 						if (t.getType()==OrderChangeType.CB.getCode()||
 								t.getType()==OrderChangeType.JXMBG.getCode()||
 								t.getType()==OrderChangeType.JXMBG.getCode()||
 								t.getType()==OrderChangeType.XMJJEBG.getCode()||
 								t.getType()==OrderChangeType.XMJJEBG.getCode()||
@@ -725,26 +711,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 								t.getType()==OrderChangeType.TDBTK.getCode()){
 								t.getType()==OrderChangeType.TDBTK.getCode()){
 							//将所有审核重置
 							//将所有审核重置
 							orderExamineMapper.updateByOrderNo(t.getOrderNo(),null,null);
 							orderExamineMapper.updateByOrderNo(t.getOrderNo(),null,null);
-							int wsh=orderExamineMapper.checkCountStatus(t.getOrderNo(),0,0);
-							if (wsh==0){
-								zxsFlag=true;
-								zxsjlFlag= pushZXSJLprocess( t);
-							}
-							if (zxsFlag||zxsjlFlag){
-								date.setTime(date.getTime()+1000);
-								if (zxsFlag){
-									addOrderChangeLog("无咨询师自动通过", 2, t.getOrderNo(), t.getId(),date);
-									noc.setProcessState(OrderChangeProcess.JSJL.getCode());
-								}
-								if (zxsjlFlag){
-									addOrderChangeLog("无咨询师经理自动通过", 2, t.getOrderNo(), t.getId(),date);
-									if (t.getType()==OrderChangeType.CB.getCode()){
-										noc.setProcessState(OrderChangeProcess.CWZY.getCode());
-									}else {
-										noc.setProcessState(OrderChangeProcess.JSZJ.getCode());
-									}
-								}
-							}
+							pushZXS(t,date,1);
 						}else if(t.getType()==OrderChangeType.ZS.getCode()){
 						}else if(t.getType()==OrderChangeType.ZS.getCode()){
 							noc.setProcessState(OrderChangeProcess.CWZY.getCode());
 							noc.setProcessState(OrderChangeProcess.CWZY.getCode());
 						}else if(t.getType()==OrderChangeType.JJEBG.getCode()){
 						}else if(t.getType()==OrderChangeType.JJEBG.getCode()){
@@ -1589,7 +1556,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 	@Override
 	@Override
 	public Object gerProcessName(Integer id) {
 	public Object gerProcessName(Integer id) {
 		NewOrderChange newOrderChange=newOrderChangeMapper.selectByPrimaryKey(id);
 		NewOrderChange newOrderChange=newOrderChangeMapper.selectByPrimaryKey(id);
-		return newOrderChangeMapper.gerProcessName(id,newOrderChange.getOrderNo());
+		return newOrderChangeMapper.getProcessName(id,newOrderChange.getOrderNo());
 	}
 	}
 
 
 	@Override
 	@Override

+ 63 - 69
src/main/java/com/goafanti/permission/service/impl/NewRoleServiceImpl.java

@@ -18,6 +18,8 @@ import com.goafanti.order.bo.TOrderTaskBo;
 import com.goafanti.order.enums.ChangeState;
 import com.goafanti.order.enums.ChangeState;
 import com.goafanti.order.enums.NewProjectStatus;
 import com.goafanti.order.enums.NewProjectStatus;
 import com.goafanti.order.enums.OrderChangeProcess;
 import com.goafanti.order.enums.OrderChangeProcess;
+import com.goafanti.order.service.OrderChangeService;
+import com.goafanti.order.service.impl.OrderChangeServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
@@ -74,7 +76,7 @@ public class NewRoleServiceImpl extends BaseMybatisDao<RoleMapper> implements Ne
 	private NewOrderChangeMapper newOrderChangeMapper;
 	private NewOrderChangeMapper newOrderChangeMapper;
 
 
 	@Autowired
 	@Autowired
-	private OrderChangeLogMapper	orderChangeLogMapper;
+	private OrderChangeServiceImpl	orderChangeServiceImpl;
 
 
 
 
 	@Override
 	@Override
@@ -234,94 +236,86 @@ public class NewRoleServiceImpl extends BaseMybatisDao<RoleMapper> implements Ne
 			}
 			}
 			if (s == roleResources.XMRW.getCode()) {
 			if (s == roleResources.XMRW.getCode()) {
 				// 获取被转角色判断修改对应任务角色
 				// 获取被转角色判断修改对应任务角色
-				pushTechTransfer(aid,transferId,date,admin,tadmin);
+				pushTechTransfer(admin,tadmin,date);
 
 
 			}
 			}
-			if (s!=roleResources.QDYW.getCode()) {
+			if (s==roleResources.QDYW.getCode()) {
 				roleResourcesMapper.updateDimissionTransfer(s,aid,transferId);
 				roleResourcesMapper.updateDimissionTransfer(s,aid,transferId);
 			}
 			}
 		}
 		}
 		return 1;
 		return 1;
 	}
 	}
 
 
-	public  void pushTechTransfer(String aid, String transferId,Date date,Admin admin,Admin tadmin) {
+
+	/**
+	 * @param date 日期
+	 * @param admin 原本管理员
+	 * @param tadmin 转交管理员
+	 */
+	public  void pushTechTransfer(Admin admin,Admin tadmin,Date date) {
 		//获取旧人员与新人员的角色
 		//获取旧人员与新人员的角色
-		int useType=getTech(aid);
-		int newType=getTech(transferId);
-		//如果不是咨询或者经理不走项目转交
-		if(useType!=-1&&newType!=-1){
-			//获取所有需要修改角色的变更项目
-			List<TChangeTask> list = tOrderTaskMapper.selectByAid(aid);
-			if ((useType==0&&newType==0)||(useType==1&&newType==1)){
-				tOrderTaskMapper.updateDimissionTransfer(aid, transferId, useType);
-				orderExamineMapper.updateDimissionTransfer(aid, transferId,useType);
-			}else if (useType==0&&newType==1){//下转上 下清空
+		List<String>  useType=adminMapper.getAdminRoleListByAid(admin.getId());
+		List<String>  newType=adminMapper.getAdminRoleListByAid(tadmin.getId());
+		String aid=admin.getId();
+		String transferId=tadmin.getId();
+		if (useType.contains(AFTConstants.TECH)&&newType.contains(AFTConstants.TECH)){
+			//System.out.println("同咨询师");
+				tOrderTaskMapper.updateDimissionTransfer(aid, transferId, 0);
+				orderExamineMapper.updateDimissionTransfer(aid, transferId,0);
+			pushChangeDimissionTransfer(aid);
+		}else if (useType.contains(AFTConstants.TECH)&&newType.contains(AFTConstants.TECH_MANAGER)){
+//			System.out.println("不同职业");
 				tOrderTaskMapper.updateDimissionTransfer(aid, transferId, 3);
 				tOrderTaskMapper.updateDimissionTransfer(aid, transferId, 3);
-				orderExamineMapper.updateDimissionTransfer(aid, transferId,newType);
-				orderExamineMapper.deleteByAidAndStatus(null,aid,useType);
-			}else if (useType==1&&newType==0){//上转下  上清空
-				tOrderTaskMapper.updateDimissionTransfer(aid, transferId, 4);
-				orderExamineMapper.updateDimissionTransfer(aid, transferId,newType);
-				orderExamineMapper.deleteByAidAndStatus(null,aid,useType);
-			}
-			List<Integer> clist=new ArrayList<>();
-			for (TChangeTask tct : list) {
-				TChangeTask nt = new TChangeTask();
-				tct.setId(tct.getId());
-				tct.setReceiverName(tadmin.getName());
-				tChangeTaskMapper.updateByPrimaryKeySelective(tct);
-				if (!clist.contains(tct.getCid()))clist.add(tct.getCid());
-			}
-			for (Integer i : clist) {
-				NewOrderChangeBo changeBo = newOrderChangeMapper.selectById(i);
-				int x=1;
-				if (changeBo.getProcessState()== OrderChangeProcess.JSY.getCode()){
-					x=orderExamineMapper.checkCountStatus(changeBo.getOrderNo(), 0,0);
-
-				}else if (changeBo.getProcessState()==OrderChangeProcess.JSJL.getCode()){
-					  x=orderExamineMapper.checkCountStatus(changeBo.getOrderNo(), 1,0);
-				}
-				if (x==0){
-					OrderChangeLog log=new OrderChangeLog();
-					log.setChangeId(i);
-					log.setCreateTime(date);
-					log.setOrderNo(changeBo.getOrderNo());
-					log.setStatus(2);
-					log.setRemarks("离职转交自动通过");
-					log.setAuditor("1");
-					orderChangeLogMapper.insertSelective(log);
-					changeBo.setProcessState(changeBo.getProcessState()+1);
-					newOrderChangeMapper.updateByPrimaryKeySelective(changeBo);
-				}
-			}
-			newOrderChangeMapper.updateTaskExamineName(aid,transferId,OrderChangeProcess.JSY.getCode());
-			newOrderChangeMapper.updateTaskExamineName(aid,transferId,OrderChangeProcess.JSJL.getCode());
+				orderExamineMapper.updateDimissionTransfer(aid, transferId,3);
+				//如果转交后订单全通过了,则变更+1
+				pushChangeDimissionTransfer(aid);
+		}
+		if (useType.contains(AFTConstants.TECH_MANAGER)&&newType.contains(AFTConstants.TECH_MANAGER)){
+//			System.out.println("同咨询师经理");
+			tOrderTaskMapper.updateDimissionTransfer(aid, transferId, 1);
+			orderExamineMapper.updateDimissionTransfer(aid, transferId,1);
+			pushChangeProcess(aid,4);
+		}else if (useType.contains(AFTConstants.TECH_MANAGER)&&newType.contains(AFTConstants.TECH)){
+//			System.out.println("不同职业");
+			tOrderTaskMapper.updateDimissionTransfer(aid, transferId, 4);
+			orderExamineMapper.updateDimissionTransfer(aid, transferId,4);
+			pushChangeDimissionTransfer(aid);
+		}
 			taskAttributionLogMapper.insertList(aid, transferId, date);
 			taskAttributionLogMapper.insertList(aid, transferId, date);
 			tTaskLogMapper.updateDimissionTransfer(aid, transferId);
 			tTaskLogMapper.updateDimissionTransfer(aid, transferId);
-		}
 
 
 	}
 	}
 
 
-	/**
-	 * 判断角色
-	 * @param transferId
-	 * @return 0咨询师 1经理 -1非咨询角色
-	 */
-	private int getTech(String transferId) {
-		List<String>  l=adminMapper.getAdminRoleListByAid(transferId);
-		for (String str : l) {
-			if (str==null){
-				break;
-			}else if (str.equals(AFTConstants.TECH_MANAGER)) {
-				return 1;
-			}else if (str.equals(AFTConstants.TECH)){
-				return 0;
+	private void pushChangeDimissionTransfer(String aid) {
+			pushChangeProcess(aid,3);
+			pushChangeProcess(aid,4);
+
+	}
+
+	private void pushChangeProcess(String aid,Integer type) {
+		List<Integer> list = newOrderChangeMapper.selectProcess(type, aid);
+		if(!list.isEmpty()){
+			Date date =new Date();
+			for (Integer i : list) {
+				NewOrderChangeBo changeBo = orderChangeServiceImpl.orderChangeDetailsById(i);
+				if (type==3)pushZXS(changeBo,date,1);
+				if (type==4)pushZXSJL(changeBo,date,1);
 			}
 			}
 		}
 		}
+	}
+	public void pushZXS(NewOrderChangeBo nb,  Date date,Integer type) {
+		orderChangeServiceImpl.pushZXS( nb,   date, type);
+		orderChangeServiceImpl.pushOrderCangeProcess(nb);
+		newOrderChangeMapper.updateByPrimaryKeySelective(nb);
+	}
 
 
-		return -1;
+	public void pushZXSJL(NewOrderChangeBo nb,Date date,Integer type) {
+		orderChangeServiceImpl.pushZXSJL(nb,date,type);
+		orderChangeServiceImpl.pushOrderCangeProcess(nb);
+		newOrderChangeMapper.updateByPrimaryKeySelective(nb);
 	}
 	}
 
 
+
 	@Override
 	@Override
 	public List<RoleResources> ResourcesDetail(String rid) {
 	public List<RoleResources> ResourcesDetail(String rid) {
 		return roleResourcesMapper.selectByRid(rid);
 		return roleResourcesMapper.selectByRid(rid);