|
|
@@ -18,6 +18,8 @@ import com.goafanti.order.bo.TOrderTaskBo;
|
|
|
import com.goafanti.order.enums.ChangeState;
|
|
|
import com.goafanti.order.enums.NewProjectStatus;
|
|
|
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.stereotype.Service;
|
|
|
|
|
|
@@ -74,7 +76,7 @@ public class NewRoleServiceImpl extends BaseMybatisDao<RoleMapper> implements Ne
|
|
|
private NewOrderChangeMapper newOrderChangeMapper;
|
|
|
|
|
|
@Autowired
|
|
|
- private OrderChangeLogMapper orderChangeLogMapper;
|
|
|
+ private OrderChangeServiceImpl orderChangeServiceImpl;
|
|
|
|
|
|
|
|
|
@Override
|
|
|
@@ -234,94 +236,86 @@ public class NewRoleServiceImpl extends BaseMybatisDao<RoleMapper> implements Ne
|
|
|
}
|
|
|
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);
|
|
|
}
|
|
|
}
|
|
|
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);
|
|
|
- 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);
|
|
|
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
|
|
|
public List<RoleResources> ResourcesDetail(String rid) {
|
|
|
return roleResourcesMapper.selectByRid(rid);
|