Browse Source

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

anderx 3 years ago
parent
commit
2f9aa6548b

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

@@ -2,6 +2,7 @@ package com.goafanti.common.dao;
 
 import com.goafanti.common.bo.OrderOperator;
 import com.goafanti.common.bo.UserOrderTask;
+import com.goafanti.common.model.TChangeTask;
 import com.goafanti.common.model.TOrderTask;
 import com.goafanti.order.bo.*;
 import com.goafanti.organization.bo.ProjectTypePuls;
@@ -66,5 +67,5 @@ public interface TOrderTaskMapper {
                                                    @Param("sort") Integer sort, @Param("startDate") String startDate, @Param("endDate") String endDate);
 
 
-    List<TOrderTaskBo> selectByAid(String aid);
+    List<TChangeTask> selectByAid(String aid);
 }

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

@@ -537,6 +537,7 @@
 <select id="selectBytid" resultType="com.goafanti.common.model.TChangeTask">
     select tct.id,tct.tid,tct.cid,tct.order_no orderNo
     from t_change_task tct left join new_order_change noc on tct.cid =noc.id
-    where noc.process_state &lt; 4 and tct.tid= #{tid}
+    where noc.process_state &lt; 4 and noc.status in (0,1,2)
+      and tct.tid= #{tid}
   </select>
 </mapper>

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

@@ -1876,8 +1876,12 @@
         and a.process_status = #{status}
       </if>
   </select>
-  <select id="selectByAid" resultType="com.goafanti.order.bo.TOrderTaskBo">
-    select id,order_no orderNo ,task_receiver taskReceiver from t_order_task where task_receiver = #{aid}
+  <select id="selectByAid" resultType="com.goafanti.common.model.TChangeTask">
+    select b.id,b.cid from t_order_task a
+    left join t_change_task b on a.id=b.tid
+    left join new_order_change noc on b.cid =noc.id
+    where b.id is not null and  noc.process_state &lt; 4 and noc.status in (0,1,2)
+    and a.task_receiver = #{aid}
   </select>
 
 

+ 14 - 0
src/main/java/com/goafanti/common/utils/AsyncUtils.java

@@ -2,14 +2,20 @@ package com.goafanti.common.utils;
 
 import java.io.UnsupportedEncodingException;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 import javax.mail.MessagingException;
 
 import com.goafanti.admin.bo.AdminListBo;
 import com.goafanti.common.dao.AdminMapper;
+import com.goafanti.common.dao.NewOrderChangeMapper;
+import com.goafanti.common.dao.TChangeTaskMapper;
 import com.goafanti.common.enums.NoticeStatus;
+import com.goafanti.common.model.Admin;
+import com.goafanti.common.model.TChangeTask;
 import com.goafanti.core.shiro.token.TokenManager;
+import com.goafanti.order.bo.NewOrderChangeBo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Component;
@@ -26,6 +32,10 @@ public class AsyncUtils {
 	private NoticeMapper noticeMapper;
 	@Autowired
 	private AdminMapper adminMapper;
+	@Autowired
+	private TChangeTaskMapper tChangeTaskMapper;
+	@Autowired
+	private NewOrderChangeMapper newOrderChangeMapper;
 
 
 
@@ -89,4 +99,8 @@ public class AsyncUtils {
 		noticeMapper.batchUpdateUnreaded(dl);
     }
 
+
+
+
+
 }

+ 26 - 13
src/main/java/com/goafanti/permission/service/impl/NewRoleServiceImpl.java

@@ -70,6 +70,9 @@ public class NewRoleServiceImpl extends BaseMybatisDao<RoleMapper> implements Ne
 	@Autowired
 	private NewOrderChangeMapper newOrderChangeMapper;
 
+	@Autowired
+	private OrderChangeLogMapper	orderChangeLogMapper;
+
 
 	@Override
 	public Pagination<RoleBo> findRoles(RoleBo role, Integer pageNo, Integer pageSize) {
@@ -235,14 +238,14 @@ public class NewRoleServiceImpl extends BaseMybatisDao<RoleMapper> implements Ne
 		return 1;
 	}
 
-	private void pushTechTransfer(String aid, String transferId,Date date,Admin admin,Admin tadmin) {
+	public  void pushTechTransfer(String aid, String transferId,Date date,Admin admin,Admin tadmin) {
 		//获取旧人员与新人员的角色
 		int useType=getTech(aid);
 		int newType=getTech(transferId);
 		//如果不是咨询或者经理不走项目转交
 		if(useType!=-1&&newType!=-1){
 			//获取所有需要修改角色的变更项目
-			List<TOrderTaskBo> list = tOrderTaskMapper.selectByAid(aid);
+			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);
@@ -255,24 +258,34 @@ public class NewRoleServiceImpl extends BaseMybatisDao<RoleMapper> implements Ne
 				orderExamineMapper.updateDimissionTransfer(aid, transferId,newType);
 				orderExamineMapper.deleteByAidAndStatus(aid,useType);
 			}
-			List<Integer> tlist=new ArrayList<>();
-			for (TOrderTaskBo tOrderTaskBo : list) {
-				TChangeTask tct = tChangeTaskMapper.selectBytid(tOrderTaskBo.getId());
+			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 (tlist.contains(tct.getId()))tlist.add(tct.getId());
+				if (!clist.contains(tct.getCid()))clist.add(tct.getCid());
 			}
-			for (Integer i : tlist) {
+			for (Integer i : clist) {
 				NewOrderChangeBo changeBo = newOrderChangeMapper.selectById(i);
+				int x=1;
 				if (changeBo.getProcessState()==2){
-					int  x=orderExamineMapper.checkCountStatus(changeBo.getOrderNo(), 0,0);
-					if (x==0)changeBo.setProcessState(changeBo.getProcessState()+1);
+					x=orderExamineMapper.checkCountStatus(changeBo.getOrderNo(), 0,0);
 				}else if (changeBo.getProcessState()==3){
-					int  x=orderExamineMapper.checkCountStatus(changeBo.getOrderNo(), 1,0);
-					if (x==0)changeBo.setProcessState(changeBo.getProcessState()+1);
+					  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.updateByPrimaryKeySelective(changeBo);
 			}
 			taskAttributionLogMapper.insertList(aid, transferId, date);
 			tTaskLogMapper.updateDimissionTransfer(aid, transferId);