Browse Source

缺陷默认创建人设置

master
陈裕财 4 years ago
parent
commit
c31d675884
  1. 77
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java
  2. 18
      xm-core/src/main/java/com/xm/core/service/XmTaskExecuserService.java

77
xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java

@ -195,7 +195,24 @@ public class XmTaskExecuserController {
isBranch=!"0".equals(user.getMemType()); isBranch=!"0".equals(user.getMemType());
xmTaskExecuser.setExecUserBranchId(user.getBranchId()); xmTaskExecuser.setExecUserBranchId(user.getBranchId());
} }
if("1".equals(xmTask.getCrowd()) && "1".equals(xmTask.getTaskOut())){
boolean isPm=groupService.checkUserIsProjectAdm(xmTask.getProjectId(),user.getUserid());
boolean isTeamHeader=false;
List<XmGroupVo> myGgroups=groupService.getProjectGroupVoList(projectId);
if(!isPm){
isTeamHeader= groupService.checkUserIsOtherUserTeamHeadOrAss(myGgroups,user.getUserid(),xmTask.getCreateUserid());
}
if(!user.getUserid().equals(xmTaskExecuser.getUserid()) ){//只有上级可以拉人
if(!isPm && !isTeamHeader){
return ResponseHelper.failed("no-qx","您无权操作!只有任务负责人、组长、项目管理者可以给任务分配候选人。");
}
}else{
if(!"1".equals(xmTask.getCrowd())){//如果是众包任务自己可以直接加入如果不是众包任务必须任务负责人组长经理等拉人作为执行人
if(!isPm && !isTeamHeader){
return ResponseHelper.failed("no-qx","您无权操作!只有任务负责人、组长、项目管理者可以给任务分配执行人。");
}
}
}
if("1".equals(xmTask.getCrowd())){
Map<String,Object> result=null; Map<String,Object> result=null;
if(isBranch){ if(isBranch){
result=mkClient.checkAndGetMemberInterests(xmTaskExecuser.getUserid(),xmTask.getBudgetAt(),xmTask.getBudgetWorkload(),1); result=mkClient.checkAndGetMemberInterests(xmTaskExecuser.getUserid(),xmTask.getBudgetAt(),xmTask.getBudgetWorkload(),1);
@ -213,37 +230,35 @@ public class XmTaskExecuserController {
xmTaskExecuser.setSfee(xmTaskExecuser.getQuoteAmount().multiply(BigDecimal.valueOf(xmTaskExecuser.getSfeeRate()/100))); xmTaskExecuser.setSfee(xmTaskExecuser.getQuoteAmount().multiply(BigDecimal.valueOf(xmTaskExecuser.getSfeeRate()/100)));
} }
} }
}
if(user.getUserid().equals(xmTaskExecuser.getUserid())){//自己作为候选人
xmTaskExecuser.setExecUserBranchId(user.getBranchId());
xmTaskExecuserService.addExecuser(xmTaskExecuser);
if(isBranch){
sysClient.pushBidsAfterBidSuccess(xmTaskExecuser.getExecUserBranchId(),xmTask.getBudgetAt(),xmTask.getBudgetWorkload(),1);
}else {
mkClient.pushBidsAfterBidSuccess(xmTaskExecuser.getUserid(),xmTask.getBudgetAt(),xmTask.getBudgetWorkload(),1);
}
m.put("data",xmTaskExecuser);
}else {
boolean isPm=groupService.checkUserIsProjectAdm(xmTask.getProjectId(),user.getUserid());
if(!isPm){
List<XmGroupVo> myGgroups=groupService.getProjectGroupVoList(projectId);
boolean isTeamHeader= groupService.checkUserIsOtherUserTeamHeadOrAss(myGgroups,user.getUserid(),xmTaskExecuser.getCreateUserid());
if(!isTeamHeader){
return ResponseHelper.failed("no-qx","您无权操作!只有任务负责人、组长、项目管理者可以给任务分配候选人。");
}
}
xmTaskExecuserService.addExecuser(xmTaskExecuser);
if(isBranch){
sysClient.pushBidsAfterBidSuccess(xmTaskExecuser.getExecUserBranchId(),xmTask.getBudgetAt(),xmTask.getBudgetWorkload(),1);
}else {
mkClient.pushBidsAfterBidSuccess(xmTaskExecuser.getUserid(),xmTask.getBudgetAt(),xmTask.getBudgetWorkload(),1);
}
m.put("data",xmTaskExecuser);
}
xmTaskExecuser.setStatus("0"); //如果是众包智能添加为候选人
}else {
//如果不是众包需要判断是否已加入项目组组织架构中如未加入需要提示其先加入
boolean exists=groupService.checkUserExistsGroup(myGgroups, xmTaskExecuser.getUserid());
if(!exists) {
tips.setFailureMsg(xmTaskExecuser.getUsername()+"不在项目组织架构中,请先将其拉入项目组织架构中");
return ResponseHelper.failed("user-not-in-project",xmTaskExecuser.getUsername()+"不在项目组织架构中,请先将其拉入项目组织架构中");
}
//检查是否已经存在执行人
XmTaskExecuser query=new XmTaskExecuser();
query.setTaskId(xmTask.getId());
List<XmTaskExecuser> xmTaskExecusersDb=this.xmTaskExecuserService.selectListByWhere(query);
if(xmTaskExecusersDb !=null && xmTaskExecusersDb.size()>0) {
for (XmTaskExecuser exe : xmTaskExecusersDb) {
if(!"0".equals(exe.getStatus()) && !"7".equals(exe.getStatus())) {
throw new BizException(exe.getUsername()+"是当前执行人,不允许再添加其它执行人。");
}
}
}
xmTaskExecuser.setStatus("1");//如果不是众包则添加为执行人
}
xmTaskExecuserService.addExecuser(xmTaskExecuser);
if(isBranch){
sysClient.pushBidsAfterBidSuccess(xmTaskExecuser.getExecUserBranchId(),xmTask.getBudgetAt(),xmTask.getBudgetWorkload(),1);
}else {
mkClient.pushBidsAfterBidSuccess(xmTaskExecuser.getUserid(),xmTask.getBudgetAt(),xmTask.getBudgetWorkload(),1);
}
m.put("data",xmTaskExecuser);
}catch (BizException e) { }catch (BizException e) {
tips=e.getTips(); tips=e.getTips();
logger.error("",e); logger.error("",e);

18
xm-core/src/main/java/com/xm/core/service/XmTaskExecuserService.java

@ -60,14 +60,24 @@ public class XmTaskExecuserService extends BaseService {
xmTaskExecuser.setCreateUsername(user.getUsername()); xmTaskExecuser.setCreateUsername(user.getUsername());
xmTaskExecuser.setCreateTime(new Date()); xmTaskExecuser.setCreateTime(new Date());
xmTaskExecuser.setStartTime(new Date()); xmTaskExecuser.setStartTime(new Date());
xmTaskExecuser.setStatus("0");
if(StringUtils.hasText(xmTaskExecuser.getStatus())){
xmTaskExecuser.setStatus("0");
}
this.insert(xmTaskExecuser); this.insert(xmTaskExecuser);
String imMsg="";
String notifyMsg="";
updateXmTaskExeUseridsAndUsernamesByTaskId(xmTaskExecuser.getTaskId()); updateXmTaskExeUseridsAndUsernamesByTaskId(xmTaskExecuser.getTaskId());
String imMsg=xmTaskExecuser.getUsername()+"成为任务【"+xmTaskExecuser.getTaskId()+"-"+xmTaskExecuser.getTaskName()+"】的候选人";
if("0".equals(xmTaskExecuser.getStatus())){
imMsg=xmTaskExecuser.getUsername()+"成为任务【"+xmTaskExecuser.getTaskId()+"-"+xmTaskExecuser.getTaskName()+"】的候选人,待雇主选标。";
notifyMsg="您成为任务【"+xmTaskExecuser.getTaskId()+"-"+xmTaskExecuser.getTaskName()+"】的候选人,请等待雇主选标,在雇主选标前,您还可以修改报价,合理的报价更容易获得雇主的喜欢哦!";
}else {
imMsg=xmTaskExecuser.getUsername()+"成为任务【"+xmTaskExecuser.getTaskId()+"-"+xmTaskExecuser.getTaskName()+"】的执行人,请及时跟进任务!";
notifyMsg="您成为任务【"+xmTaskExecuser.getTaskId()+"-"+xmTaskExecuser.getTaskName()+"】的执行人,请及时跟进任务!";
}
this.pushMsgService.pushPrichatMsgToIm(user.getBranchId(),user.getUserid(),user.getUsername(), xmTaskExecuser.getUserid(), xmTaskExecuser.getUsername(),imMsg); this.pushMsgService.pushPrichatMsgToIm(user.getBranchId(),user.getUserid(),user.getUsername(), xmTaskExecuser.getUserid(), xmTaskExecuser.getUsername(),imMsg);
this.pushMsgService.pushCreateCssGroupMsg(user.getBranchId(), xmTaskExecuser.getUserid(), xmTaskExecuser.getUsername(), imMsg); this.pushMsgService.pushCreateCssGroupMsg(user.getBranchId(), xmTaskExecuser.getUserid(), xmTaskExecuser.getUsername(), imMsg);
notifyMsgService.pushMsg(user,xmTaskExecuser.getUserid(),xmTaskExecuser.getUsername(),"2",xmTaskExecuser.getProjectId(),xmTaskExecuser.getTaskId(),"您成为任务【"+xmTaskExecuser.getTaskId()+"-"+xmTaskExecuser.getTaskName()+"】的候选人,请等待雇主选标,在雇主选标前,您还可以修改报价,合理的报价更容易获得雇主的喜欢哦!");
notifyMsgService.pushMsg(user,xmTaskExecuser.getUserid(),xmTaskExecuser.getUsername(),"2",xmTaskExecuser.getProjectId(),xmTaskExecuser.getTaskId(),notifyMsg);
xmRecordService.addXmTaskRecord(xmTaskExecuser.getProjectId(), xmTaskExecuser.getTaskId(), "项目-任务-增加候选人", "任务增加候选人"+xmTaskExecuser.getUsername(),JSONObject.toJSONString(xmTaskExecuser),null); xmRecordService.addXmTaskRecord(xmTaskExecuser.getProjectId(), xmTaskExecuser.getTaskId(), "项目-任务-增加候选人", "任务增加候选人"+xmTaskExecuser.getUsername(),JSONObject.toJSONString(xmTaskExecuser),null);
} }

Loading…
Cancel
Save