소스 검색

离职一键转交咨询师与咨询师经理任务对应角色转交处理

Signed-off-by: anderx <312518615@qq.com>
anderx 6 년 전
부모
커밋
f55b1970fd

+ 19 - 15
src/main/java/com/goafanti/common/constant/AFTConstants.java

@@ -13,27 +13,33 @@ public class AFTConstants {
 
 	public static final String	INITIALPASSWORD						= "123456";				// 初始密码
 
+	/**	超级管理员 */
 	public static final String	SUPERADMIN							= "999999";				// 超级管理员
-
+	/**	特批决策者 */
 	public static final String	APPROVAL_DECISION					= "99999";				// 特批决策者
-	
+	/**	总裁 */
 	public static final String	CED									= "99998";				// 总裁
-
+	/**	集团副总 */
 	public static final String	VICE_CEO							= "99997";				// 集团副总
-
+	/** 技术管理员 */
 	public static final String  TECH_ADMIN                          = "9998";				// 技术管理员
-	
+	/**	技术经理 */
+	public static final String  TECH_MANAGER                        = "998";				// 技术经理
+	/**	技术员 */
+	public static final String  TECH		                        = "98";					// 技术员
+	/**	财务管理员*/
 	public static final String  FINANCE_ADMIN                       = "9997";				// 财务管理员
-	
+	/**	财务经理*/
+	public static final String  FINANCE_MANAGER						= "997";				// 财务经理
+	/**	财务专员*/
+	public static final String  FINANCE								= "97";					// 财务专员
+	/**	营销管理员 */
 	public static final String  SALESMAN_ADMIN                      = "9996";				// 营销管理员
-	
+	/** 营销经理 */
 	public static final String  SALESMAN_MANAGER                    = "996";				// 营销经理
-	
+	/**	营销员 */
 	public static final String  SALESMAN                      		= "96";					// 营销员
-	
-	public static final String  TECH_MANAGER                        = "998";				// 技术管理员
-	
-	public static final String  TECH		                        = "98";				// 技术管理员
+
 
 	public static final String	AREAADMIN							= "";					// 地区管理员
 
@@ -41,9 +47,7 @@ public class AFTConstants {
 
 	public static final String	MANAGERADMIN						= "";					// 客户经理
 	
-	public static final String  FINANCE_MANAGER						= "997";				// 财务经理
-	
-	public static final String  FINANCE								= "97";					// 财务专员
+
 
 
 	public static final String	TECHBROKER							= "";					// 技术经纪人

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

@@ -193,5 +193,7 @@ public interface AdminMapper {
 	List<String> selectBySuperId(String aid);
 
 	Admin selectFinanceAdminByOrderDep(String orderDep);
+
+	String getPermission(String transferId);
 	
 }

+ 3 - 1
src/main/java/com/goafanti/common/dao/TOrderTaskMapper.java

@@ -102,10 +102,12 @@ public interface TOrderTaskMapper {
 	
 	List<TOrderTask> getReceiverByOid(String oid);
 
-	void updateDimissionTransfer(@Param("aid")String aid, @Param("transferId")String transferId);
+	void updateDimissionTransfer(@Param("aid")String aid, @Param("transferId")String transferId, @Param("type")Integer type);
 
 	String selectEstimateCost(String orderNo);
 
 	List<String> listNameByDepAndName(@Param("orderNo")String orderNo, @Param("type")Integer type);
 
+	
+
 }

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

@@ -1156,4 +1156,8 @@
  	 select a.finance_id id,b.name from department a left join admin b on a.finance_id=b.id
 	where a.id= #{orderDep}
   </select>
+  <select id="getPermission" resultType="java.lang.String">
+  select c.role_type from admin a left join user_role b on a.id=b.uid left join `role` c on b.rid=c.id
+	where a.id= #{transferId}
+  </select>
 </mapper>

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

@@ -668,7 +668,7 @@ select
   a.process_state processState from new_order_change a left join t_order_new b on a.order_no=b.order_no 
   left join user c on b.buyer_id=c.id left join admin d on b.salesman_id=d.id left join department e on b.order_dep=e.id 
 	<if test="processState==2 or processState==3 "> 
-	left join t_order_task x on a.order_no=x.order_no
+	left join (select order_no,consultant_id,manager_id from t_order_task group by order_no,consultant_id,manager_id) x on a.order_no=x.order_no
 	</if> 
 	where 1=1
 	<if test="processState==0">

+ 11 - 8
src/main/java/com/goafanti/common/mapper/TOrderTaskMapper.xml

@@ -1003,7 +1003,7 @@
   	</if>
   </select>
   <select id="getOrderTaskDetail" resultType="com.goafanti.order.bo.TOrderTaskDetailBo">
- select  
+select  
 	a.id,a.commodity_name as taskName,a.order_no as orderNo,c.cname,d.name as receiverName,a.task_comment as taskComment,
     a.project_status as projectStatus,a.task_status as taskStatus,e.contacts,a.attachment_url as attachmentUrl,a.outsource_name outsourceName,
 	f.nickname as userName,g.name as salesmanName,date_format(a.task_start_time,'%Y-%m-%d') as startDate,a.retrieve_content as retrieveContent,
@@ -1013,13 +1013,10 @@
 	date_format(a.review_time,'%Y-%m-%d') as reviewDate,date_format(a.publicity_time,'%Y-%m-%d') as publicityDate,a.outsource_price outsourcePrice,
 	date_format(a.licence_time,'%Y-%m-%d') as licenceDate,date_format(a.task_distribution_time,'%Y-%m-%d') as taskDate,
 	e.contacts ,e.contact_mobile as contactMobile ,e.legal_person as legalPerson,e.legal_person_tel as legalPersonTel,
-	a.set_up_amount as setUpAmount,a.arrival_money as arrivalMoney
-from t_order_task a left join business_project b on a.commodity_id=b.id
-  	left join business_category c on b.cid=c.id
-    left join admin d on a.task_receiver=d.id
-    left join t_order_new e on a.order_no=e.order_no
-    left join department h on e.order_dep=h.id
-    left join user f on e.buyer_id=f.id
+	a.set_up_amount as setUpAmount,a.arrival_money as arrivalMoney,a.task_receiver taskReceiver
+from t_order_task a left join business_project b on a.commodity_id=b.id left join business_category c on b.cid=c.id
+    left join admin d on a.task_receiver=d.id left join t_order_new e on a.order_no=e.order_no
+    left join department h on e.order_dep=h.id left join user f on e.buyer_id=f.id
     left join admin g on e.salesman_id=g.id
     where a.id= #{id,jdbcType=VARCHAR}
   </select>
@@ -1187,6 +1184,12 @@ from t_order_task a left join business_project b on a.commodity_id=b.id
   	</select>
   	<update id="updateDimissionTransfer" parameterType="java.lang.String">
     update t_order_task set task_allocator= #{aid,jdbcType=VARCHAR},task_receiver= #{transferId,jdbcType=VARCHAR}
+    <if test="type==0">
+    ,consultant_id=#{transferId,jdbcType=VARCHAR}
+    </if>
+    <if test="type==1">
+    ,manager_id=#{transferId,jdbcType=VARCHAR}
+    </if>
 	where task_receiver=#{aid,jdbcType=VARCHAR}
   </update>
   <select id="selectEstimateCost" resultType="java.lang.String">

+ 8 - 0
src/main/java/com/goafanti/order/bo/TOrderTaskDetailBo.java

@@ -8,6 +8,7 @@ public class TOrderTaskDetailBo {
 	private String orderNo;
 	private String userName;
 	private String cname;
+	private String taskReceiver;
 	private String receiverName;
 	private Integer projectStatus;
 	private Integer taskStatus;
@@ -313,5 +314,12 @@ public class TOrderTaskDetailBo {
 	public void setRetrieveContent(String retrieveContent) {
 		this.retrieveContent = retrieveContent;
 	}
+	public String getTaskReceiver() {
+		return taskReceiver;
+	}
+	public void setTaskReceiver(String taskReceiver) {
+		this.taskReceiver = taskReceiver;
+	}
+	
 	
 }

+ 9 - 2
src/main/java/com/goafanti/order/service/impl/OrderProjectServiceImpl.java

@@ -24,6 +24,7 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import com.alibaba.druid.sql.ast.statement.SQLIfStatement.Else;
 import com.goafanti.common.bo.Error;
 import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.dao.AdminMapper;
@@ -208,14 +209,20 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 	@Override
 	public TOrderTaskDetailBo orderTaskDetail(String id) {
 		TOrderTaskDetailBo t=tOrderTaskMapper.getOrderTaskDetail(id);
-		if(TokenManager.hasRole(AFTConstants.SALESMAN)) {
+		if (TokenManager.hasRole(AFTConstants.SUPERADMIN)||TokenManager.hasRole(AFTConstants.APPROVAL_DECISION)
+				||TokenManager.hasRole(AFTConstants.APPROVAL_DECISION)||TokenManager.hasRole(AFTConstants.TECH_ADMIN)
+					||TokenManager.getAdminId().equals(t.getTaskReceiver())) {
+			return t;
+		}else {
 			t.setOutsourceName("****");
 			t.setOutsourcePrice("****");
 			t.setDeclareUser("****");
 			t.setDeclarePwd("****");
 			t.setCertificateNumber("****");
+			return t;
 		}
-		return t;
+		
+		
 	}
 
 	@Override

+ 14 - 2
src/main/java/com/goafanti/permission/service/impl/NewRoleServiceImpl.java

@@ -14,6 +14,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.goafanti.common.bo.Error;
+import com.goafanti.common.constant.AFTConstants;
+import com.goafanti.common.dao.AdminLocationMapper;
+import com.goafanti.common.dao.AdminMapper;
 import com.goafanti.common.dao.ContractTaskLogMapper;
 import com.goafanti.common.dao.OrganizationContactBookMapper;
 import com.goafanti.common.dao.PatentNewMapper;
@@ -48,6 +51,8 @@ public class NewRoleServiceImpl extends BaseMybatisDao<RoleMapper> implements Ne
 	@Autowired
 	UserMapper				userMapper;
 	@Autowired
+	AdminMapper				adminMapper;
+	@Autowired
 	UserRoleMapper			userRoleMapper;
 	@Autowired
 	RolePermissionMapper	rolePermissionMapper;
@@ -211,8 +216,15 @@ public class NewRoleServiceImpl extends BaseMybatisDao<RoleMapper> implements Ne
 			}
 			if (s==roleResources.XMRW.getCode()) {
 //				contractTaskLogMapper.updateDimissionTransfer(aid,transferId);
-				tOrderTaskMapper.updateDimissionTransfer(aid,transferId);
-				tTaskLogMapper.updateDimissionTransfer(aid,transferId);
+				//获取被转角色判断修改对应任务角色
+				String qx=adminMapper.getPermission(transferId);
+				Integer type=-1;
+				if (qx.equals(AFTConstants.TECH)) type=0;
+				else if(qx.equals(AFTConstants.TECH_MANAGER))type=1;
+				if (type!=-1) {
+					tOrderTaskMapper.updateDimissionTransfer(aid,transferId,type);
+					tTaskLogMapper.updateDimissionTransfer(aid,transferId);
+				}
 			}
 			if (s!=roleResources.QDYW.getCode()) {
 				roleResourcesMapper.updateDimissionTransfer(s,aid,transferId);