Przeglądaj źródła

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

anderx 3 lat temu
rodzic
commit
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 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 was generated on Thu Sep 26 16:21:54 CST 2019.
     -->
-    select 
+    select
     <include refid="Base_Column_List" />
     from order_examine
     where id = #{id,jdbcType=INTEGER}
@@ -140,16 +140,17 @@
       <include refid="Example_Where_Clause" />
     </if>
   </delete>
+
   <insert id="insert" parameterType="com.goafanti.common.model.OrderExamine">
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
       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
       )
-    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}
       )
   </insert>
@@ -312,7 +313,7 @@
   and `type`= #{type}
   </if>
   </select>
-  
+
   <select id="selectByOrderNo" resultType="com.goafanti.common.bo.OrderExamineBo">
     		select a.id,b.name,a.type,a.status
     from order_examine a left join admin b on a.aid=b.id
@@ -324,7 +325,7 @@
   </select>
   <update id="updateByOrderNo">
   update order_examine set status=0
-    where order_no=#{orderNo} 
+    where order_no=#{orderNo}
     <if test="status != null">
     and status=#{status}
     </if>
@@ -332,5 +333,12 @@
    <update id="updateDimissionTransfer">
   update order_examine set aid= #{transferId}
 	where status=0 and aid= #{aid}
+    <if test="type!=null">
+      and type= #{type}
+    </if>
   </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">
       ,manager_id=#{transferId,jdbcType=VARCHAR}
     </if>
+    <if test="type==3">
+      ,consultant_id= null
+    </if>
+    <if test="type==1">
+      ,manager_id= null
+    </if>
     where task_receiver=#{aid,jdbcType=VARCHAR}
   </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回退
 	 * @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);
 		}else if(type==4) {
 			t.setConsultantId(null);
+			t.setManagerId(taskReceiverId);
 		}
 		t.setReceiverName(a.getName());
 		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()) {
 				// 获取被转角色判断修改对应任务角色
-				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);
-				tOrderTaskMapper.updateDimissionTransfer(aid, transferId, type);
 				tTaskLogMapper.updateDimissionTransfer(aid, transferId);
-				orderExamineMapper.updateDimissionTransfer(aid, transferId);
 			}
 			if (s!=roleResources.QDYW.getCode()) {
 				roleResourcesMapper.updateDimissionTransfer(s,aid,transferId);
@@ -256,6 +247,42 @@ public class NewRoleServiceImpl extends BaseMybatisDao<RoleMapper> implements Ne
 		}
 		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
 	public List<RoleResources> ResourcesDetail(String rid) {
 		return roleResourcesMapper.selectByRid(rid);