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

离职一键转交变更审核角色处理

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

+ 9 - 2
src/main/java/com/goafanti/common/dao/OrderExamineMapper.java

@@ -106,5 +106,12 @@ public interface OrderExamineMapper {
 
 
 	void updateByOrderNo(@Param("orderNo") String orderNo,@Param("status")Integer status);
 	void updateByOrderNo(@Param("orderNo") String orderNo,@Param("status")Integer status);
 
 
-	void updateDimissionTransfer(@Param("aid")String aid, @Param("transferId")String transferId);
-}
+	void updateDimissionTransfer(@Param("aid")String aid, @Param("transferId")String transferId, @Param("type")Integer type);
+
+    /**
+     * 删除变更更审核人
+     * @param aid
+     * @param type 0咨询师 1经理
+     */
+    void deleteByAidAndStatus(@Param("aid")String aid,  @Param("type")Integer type);
+}

+ 14 - 6
src/main/java/com/goafanti/common/mapper/OrderExamineMapper.xml

@@ -115,7 +115,7 @@
       This element is automatically generated by MyBatis Generator, do not modify.
       This element is automatically generated by MyBatis Generator, do not modify.
       This element was generated on Thu Sep 26 16:21:54 CST 2019.
       This element was generated on Thu Sep 26 16:21:54 CST 2019.
     -->
     -->
-    select 
+    select
     <include refid="Base_Column_List" />
     <include refid="Base_Column_List" />
     from order_examine
     from order_examine
     where id = #{id,jdbcType=INTEGER}
     where id = #{id,jdbcType=INTEGER}
@@ -140,16 +140,17 @@
       <include refid="Example_Where_Clause" />
       <include refid="Example_Where_Clause" />
     </if>
     </if>
   </delete>
   </delete>
+
   <insert id="insert" parameterType="com.goafanti.common.model.OrderExamine">
   <insert id="insert" parameterType="com.goafanti.common.model.OrderExamine">
     <!--
     <!--
       WARNING - @mbg.generated
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
       This element is automatically generated by MyBatis Generator, do not modify.
       This element was generated on Thu Sep 26 16:21:54 CST 2019.
       This element was generated on Thu Sep 26 16:21:54 CST 2019.
     -->
     -->
-    insert into order_examine (id, order_no, type, 
+    insert into order_examine (id, order_no, type,
       aid, status, create_time
       aid, status, create_time
       )
       )
-    values (#{id,jdbcType=INTEGER}, #{orderNo,jdbcType=VARCHAR}, #{type,jdbcType=INTEGER}, 
+    values (#{id,jdbcType=INTEGER}, #{orderNo,jdbcType=VARCHAR}, #{type,jdbcType=INTEGER},
       #{aid,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}
       #{aid,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}
       )
       )
   </insert>
   </insert>
@@ -312,7 +313,7 @@
   and `type`= #{type}
   and `type`= #{type}
   </if>
   </if>
   </select>
   </select>
-  
+
   <select id="selectByOrderNo" resultType="com.goafanti.common.bo.OrderExamineBo">
   <select id="selectByOrderNo" resultType="com.goafanti.common.bo.OrderExamineBo">
     		select a.id,b.name,a.type,a.status
     		select a.id,b.name,a.type,a.status
     from order_examine a left join admin b on a.aid=b.id
     from order_examine a left join admin b on a.aid=b.id
@@ -324,7 +325,7 @@
   </select>
   </select>
   <update id="updateByOrderNo">
   <update id="updateByOrderNo">
   update order_examine set status=0
   update order_examine set status=0
-    where order_no=#{orderNo} 
+    where order_no=#{orderNo}
     <if test="status != null">
     <if test="status != null">
     and status=#{status}
     and status=#{status}
     </if>
     </if>
@@ -332,5 +333,12 @@
    <update id="updateDimissionTransfer">
    <update id="updateDimissionTransfer">
   update order_examine set aid= #{transferId}
   update order_examine set aid= #{transferId}
 	where status=0 and aid= #{aid}
 	where status=0 and aid= #{aid}
+    <if test="type!=null">
+      and type= #{type}
+    </if>
   </update>
   </update>
-</mapper>
+  <delete id="deleteByAidAndStatus">
+    delete  from order_examine
+    where status=0 and  aid=#{aid} and type=#{type}
+  </delete>
+</mapper>

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

@@ -1138,6 +1138,12 @@
     <if test="type==1">
     <if test="type==1">
       ,manager_id=#{transferId,jdbcType=VARCHAR}
       ,manager_id=#{transferId,jdbcType=VARCHAR}
     </if>
     </if>
+    <if test="type==3">
+      ,consultant_id= null
+    </if>
+    <if test="type==1">
+      ,manager_id= null
+    </if>
     where task_receiver=#{aid,jdbcType=VARCHAR}
     where task_receiver=#{aid,jdbcType=VARCHAR}
   </update>
   </update>
 
 

+ 2 - 3
src/main/java/com/goafanti/order/service/OrderProjectService.java

@@ -16,9 +16,8 @@ public interface OrderProjectService {
 
 
 	/**
 	/**
 	 *
 	 *
-	 * @param taskId
-	 * @param taskReceiverId
-	 * @param remarks
+	 * @param taskId 项目ID
+	 * @param taskReceiverId 受理人ID
 	 * @param type 0管理员派单 1经理转交 2经理派单 3咨询师转交 4回退
 	 * @param type 0管理员派单 1经理转交 2经理派单 3咨询师转交 4回退
 	 * @return
 	 * @return
 	 */
 	 */

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

@@ -147,6 +147,7 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 			t.setConsultantId(taskReceiverId);
 			t.setConsultantId(taskReceiverId);
 		}else if(type==4) {
 		}else if(type==4) {
 			t.setConsultantId(null);
 			t.setConsultantId(null);
+			t.setManagerId(taskReceiverId);
 		}
 		}
 		t.setReceiverName(a.getName());
 		t.setReceiverName(a.getName());
 		tOrderTaskMapper.updateByPrimaryKey(t);
 		tOrderTaskMapper.updateByPrimaryKey(t);

+ 37 - 10
src/main/java/com/goafanti/permission/service/impl/NewRoleServiceImpl.java

@@ -237,18 +237,9 @@ public class NewRoleServiceImpl extends BaseMybatisDao<RoleMapper> implements Ne
 			}
 			}
 			if (s == roleResources.XMRW.getCode()) {
 			if (s == roleResources.XMRW.getCode()) {
 				// 获取被转角色判断修改对应任务角色
 				// 获取被转角色判断修改对应任务角色
-				int type=0;
-				List<String>  l=adminMapper.getAdminRoleListByAid(transferId);
-				for (String str : l) {
-					if (str.equals(AFTConstants.TECH_MANAGER)) {
-						type=1;
-						break;
-					}
-				}
+				pushTechTransfer(aid,transferId);
 				taskAttributionLogMapper.insertList(aid, transferId, date);
 				taskAttributionLogMapper.insertList(aid, transferId, date);
-				tOrderTaskMapper.updateDimissionTransfer(aid, transferId, type);
 				tTaskLogMapper.updateDimissionTransfer(aid, transferId);
 				tTaskLogMapper.updateDimissionTransfer(aid, transferId);
-				orderExamineMapper.updateDimissionTransfer(aid, transferId);
 			}
 			}
 			if (s!=roleResources.QDYW.getCode()) {
 			if (s!=roleResources.QDYW.getCode()) {
 				roleResourcesMapper.updateDimissionTransfer(s,aid,transferId);
 				roleResourcesMapper.updateDimissionTransfer(s,aid,transferId);
@@ -256,6 +247,42 @@ public class NewRoleServiceImpl extends BaseMybatisDao<RoleMapper> implements Ne
 		}
 		}
 		return 1;
 		return 1;
 	}
 	}
+
+	private void pushTechTransfer(String aid, String transferId) {
+		int useType=getTech(aid);
+		int newType=getTech(transferId);
+		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){//下转上 下清空
+			tOrderTaskMapper.updateDimissionTransfer(aid, transferId, 3);
+			orderExamineMapper.updateDimissionTransfer(aid, transferId,newType);
+			orderExamineMapper.deleteByAidAndStatus(aid,useType);
+		}else if (useType==1&&newType==0){//上转下  上清空
+			tOrderTaskMapper.updateDimissionTransfer(aid, transferId, 4);
+			orderExamineMapper.updateDimissionTransfer(aid, transferId,newType);
+			orderExamineMapper.deleteByAidAndStatus(aid,useType);
+		}
+	}
+
+	/**
+	 * 判断角色
+	 * @param transferId
+	 * @return 0咨询师 1经理 -1非咨询角色
+	 */
+	private int getTech(String transferId) {
+		List<String>  l=adminMapper.getAdminRoleListByAid(transferId);
+		for (String str : l) {
+			if (str.equals(AFTConstants.TECH_MANAGER)) {
+				return 1;
+			}else if (str.equals(AFTConstants.TECH)){
+				return 0;
+			}
+		}
+
+		return -1;
+	}
+
 	@Override
 	@Override
 	public List<RoleResources> ResourcesDetail(String rid) {
 	public List<RoleResources> ResourcesDetail(String rid) {
 		return roleResourcesMapper.selectByRid(rid);
 		return roleResourcesMapper.selectByRid(rid);