Browse Source

优化任务的责任人

master
陈裕财 5 years ago
parent
commit
0bebb5d0a3
  1. 65
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java
  2. 292
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java

65
xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java

@ -285,7 +285,70 @@ public class XmTaskController {
m.put("tips", tips); m.put("tips", tips);
return m; return m;
} }
@ApiOperation( value = "根据主键修改一条xm_task信息",notes="editXmTask")
@ApiResponses({
@ApiResponse(code = 200,response=XmTask.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
})
//@HasQx(value = "xm_core_xmTask_setTaskCreateUser",name = "修改任务责任人",categoryId = "admin-xm",categoryName = "管理端-项目管理系统")
@RequestMapping(value="/setTaskCreateUser",method=RequestMethod.POST)
public Map<String,Object> setTaskCreateUser(@RequestBody XmTaskVo xmTaskVo) {
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功更新一条数据");
try{
User user=LoginUtils.getCurrentUserInfo();
if(!StringUtils.hasText(xmTaskVo.getProjectId())){
tips.setFailureMsg("项目编号不能为空");
m.put("tips", tips);
return m;
}
if(!StringUtils.hasText(xmTaskVo.getId())){
tips.setFailureMsg("任务编号不能为空");
m.put("tips", tips);
return m;
}
List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(xmTaskVo.getProjectId());
if(pgroups==null || pgroups.size()==0){
tips.setFailureMsg("该项目还未建立项目团队,请先进行团队成员维护");
m.put("tips", tips);
return m;
}
XmTask xmTaskDb=this.xmTaskService.selectOneObject(xmTaskVo);
if(xmTaskDb==null){
tips.setFailureMsg("该任务不存在");
m.put("tips", tips);
return m;
}
boolean isHead=groupService.checkUserIsOtherUserTeamHead(pgroups,xmTaskDb.getCreateUserid(),user.getUserid());
if(!isHead){
boolean isPm=groupService.checkUserIsProjectManager(pgroups,user.getUserid());
if(!isPm){
tips.setFailureMsg("您无权修改该该任务的责任人!项目管理者、组长可以修改任务的责任人。");
m.put("tips", tips);
return m;
}
}
boolean existsGrouop=groupService.checkUserExistsGroup(xmTaskVo.getProjectId(),xmTaskVo.getCreateUserid());
if(!existsGrouop){
tips.setFailureMsg(xmTaskVo.getCreateUsername()+"不是项目组成员,不能作为任务责任人");
m.put("tips", tips);
return m;
}
XmTask xmTask=new XmTask(xmTaskVo.getId());
xmTask.setCreateUserid(xmTaskVo.getCreateUserid());
xmTask.setCreateUsername(xmTaskVo.getCreateUsername());
this.xmTaskService.updateSomeFieldByPk(xmTask);
m.put("data",xmTaskVo);
}catch (BizException e) {
tips=e.getTips();
logger.error("",e);
}catch (Exception e) {
tips.setFailureMsg(e.getMessage());
logger.error("",e);
}
m.put("tips", tips);
return m;
}
@ApiOperation( value = "根据主键修改一条xm_task信息",notes="editXmTask") @ApiOperation( value = "根据主键修改一条xm_task信息",notes="editXmTask")
@ApiResponses({ @ApiResponses({
@ApiResponse(code = 200,response=XmTask.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") @ApiResponse(code = 200,response=XmTask.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")

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

@ -9,6 +9,7 @@ import com.mdp.safe.client.entity.User;
import com.mdp.safe.client.utils.LoginUtils; import com.mdp.safe.client.utils.LoginUtils;
import com.mdp.audit.log.client.annotation.AuditLog; import com.mdp.audit.log.client.annotation.AuditLog;
import com.mdp.audit.log.client.annotation.OperType; import com.mdp.audit.log.client.annotation.OperType;
import com.xm.core.entity.XmTask;
import com.xm.core.entity.XmTaskExecuser; import com.xm.core.entity.XmTaskExecuser;
import com.xm.core.service.XmProjectGroupService; import com.xm.core.service.XmProjectGroupService;
import com.xm.core.service.XmProjectGroupUserService; import com.xm.core.service.XmProjectGroupUserService;
@ -111,15 +112,29 @@ public class XmTaskExecuserController {
try{ try{
String projectId=xmTaskExecuser.getProjectId(); String projectId=xmTaskExecuser.getProjectId();
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
XmTask xmTask=xmTaskService.selectOneObject(new XmTask(xmTaskExecuser.getTaskId()));
if(xmTask==null){
tips.setFailureMsg("任务已不存在");
m.put("tips", tips);
return m;
}
if(!"0".equals(xmTask.getTaskState()) && !"1".equals(xmTask.getTaskState()) ){
tips.setFailureMsg("该任务已经处于完工、结算阶段,不允许再修改");
m.put("tips", tips);
return m;
}
if(user.getUserid().equals(xmTaskExecuser.getUserid())){ if(user.getUserid().equals(xmTaskExecuser.getUserid())){
xmTaskExecuserService.addExecuser(xmTaskExecuser); xmTaskExecuserService.addExecuser(xmTaskExecuser);
m.put("data",xmTaskExecuser); m.put("data",xmTaskExecuser);
}else { }else {
List<XmProjectGroupVo> myGgroups=groupService.getProjectGroupVoList(projectId); List<XmProjectGroupVo> myGgroups=groupService.getProjectGroupVoList(projectId);
boolean isTeamHeader= groupService.checkUserIsHeadInGroups(myGgroups,user.getUserid());
boolean isTeamHeader= groupService.checkUserIsOtherUserTeamHead(myGgroups,xmTask.getCreateUserid(),user.getUserid());
boolean isPm=groupService.checkUserIsProjectManager(myGgroups,user.getUserid()); boolean isPm=groupService.checkUserIsProjectManager(myGgroups,user.getUserid());
if( !isTeamHeader && !isPm ) { if( !isTeamHeader && !isPm ) {
tips.setFailureMsg(user.getUsername()+"不是组长、项目管理者,无权进行新增任务执行人、候选人等操作");
if(!user.getUserid().equals(xmTask.getCreateUserid())){
tips.setFailureMsg("无权操作!只有任务负责人、组长、项目管理者可以给任务分配候选人。");
}
} }
if(tips.isOk()) { if(tips.isOk()) {
xmTaskExecuserService.addExecuser(xmTaskExecuser); xmTaskExecuserService.addExecuser(xmTaskExecuser);
@ -148,42 +163,61 @@ public class XmTaskExecuserController {
Map<String,Object> m = new HashMap<>(); Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功更新一条数据"); Tips tips=new Tips("成功更新一条数据");
try{ try{
if(xmTaskExecusers==null || xmTaskExecusers.size()==0){
tips.setFailureMsg("执行人列表不能为空");
m.put("tips", tips);
return m;
}
String projectId=xmTaskExecusers.get(0).getProjectId(); String projectId=xmTaskExecusers.get(0).getProjectId();
User user=LoginUtils.getCurrentUserInfo();
String taskId=xmTaskExecusers.get(0).getTaskId();
XmTask xmTask= xmTaskService.selectOneObject(new XmTask(xmTaskExecusers.get(0).getTaskId()));
if(xmTask==null ){
tips.setFailureMsg("任务已不存在");
m.put("tips", tips);
return m;
}
User user=LoginUtils.getCurrentUserInfo();
boolean isTaskCreater=user.getUserid().equals(xmTask.getCreateUserid());
List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId); List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId);
List<String> noAllowUsers=new ArrayList<>(); List<String> noAllowUsers=new ArrayList<>();
List<XmTaskExecuser> allowUsers=new ArrayList<>(); List<XmTaskExecuser> allowUsers=new ArrayList<>();
List<String> allowUserNames=new ArrayList<>(); List<String> allowUserNames=new ArrayList<>();
for (XmTaskExecuser xmTaskExecuser : xmTaskExecusers) { for (XmTaskExecuser xmTaskExecuser : xmTaskExecusers) {
if(!user.getUserid().equals(xmTaskExecuser.getUserid())) {
if(!taskId.equals(xmTaskExecuser.getTaskId())){
tips.setFailureMsg("批量操作只允许在同一个任务进行");
break;
}
if(!user.getUserid().equals(xmTaskExecuser.getUserid())) {//只有组长任务责任人可以请别人请离开任务
boolean isHead= groupService.checkUserIsOtherUserTeamHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid()); boolean isHead= groupService.checkUserIsOtherUserTeamHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
if(!isHead ) {
//throw new BizException(user.getUsername()+"不是"+xmTaskExecuser.getUsername()+"的组长,无权修改");
noAllowUsers.add(xmTaskExecuser.getUsername());
continue;
}else {
if(isHead || isTaskCreater ) {
allowUsers.add(xmTaskExecuser); allowUsers.add(xmTaskExecuser);
allowUserNames.add(xmTaskExecuser.getUsername()); allowUserNames.add(xmTaskExecuser.getUsername());
}else {
noAllowUsers.add(xmTaskExecuser.getUsername());
continue;
} }
}else {
}else {//自己离开任务可以的
allowUsers.add(xmTaskExecuser); allowUsers.add(xmTaskExecuser);
allowUserNames.add(xmTaskExecuser.getUsername()); allowUserNames.add(xmTaskExecuser.getUsername());
} }
} }
if(allowUsers.size()>0) {
if(tips.isOk() && allowUsers.size()>0) {
xmTaskExecuserService.batchLeave(allowUsers); xmTaskExecuserService.batchLeave(allowUsers);
if(noAllowUsers.size()>0){ if(noAllowUsers.size()>0){
String usernamestr=StringUtils.arrayToDelimitedString(noAllowUsers.toArray(), "、"); String usernamestr=StringUtils.arrayToDelimitedString(noAllowUsers.toArray(), "、");
String allowUserNamesStr=StringUtils.arrayToDelimitedString(allowUserNames.toArray(), "、"); String allowUserNamesStr=StringUtils.arrayToDelimitedString(allowUserNames.toArray(), "、");
tips.setOkMsg("成功将【"+allowUserNamesStr+"】请离任务,另外您不是【"+usernamestr+"】的组长,不允许将其请离任务");
tips.setOkMsg("成功将【"+allowUserNamesStr+"】请离任务,另外您无权请【"+usernamestr+"】离开任务,只有任务责任人、组长可以请执行人离开任务");
}else{ }else{
String allowUserNamesStr=StringUtils.arrayToDelimitedString(allowUserNames.toArray(), "、"); String allowUserNamesStr=StringUtils.arrayToDelimitedString(allowUserNames.toArray(), "、");
tips.setOkMsg("成功将【"+allowUserNamesStr+"】请离任务"); tips.setOkMsg("成功将【"+allowUserNamesStr+"】请离任务");
} }
}else { }else {
String usernamestr=StringUtils.arrayToDelimitedString(noAllowUsers.toArray(), "、");
tips.setFailureMsg("成功将0个人请离任务,您不是【"+usernamestr+"】的组长,不允许将其请离任务");
if(tips.isOk()){
String usernamestr=StringUtils.arrayToDelimitedString(noAllowUsers.toArray(), "、");
tips.setFailureMsg("您无权请【"+usernamestr+"】离开任务,只有任务责任人、组长可以请执行人离开任务");
}
} }
}catch (BizException e) { }catch (BizException e) {
tips=e.getTips(); tips=e.getTips();
@ -209,17 +243,32 @@ public class XmTaskExecuserController {
* 如果是候选人变更为执行人需要检查该候选人是否已加入项目中的某个组 * 如果是候选人变更为执行人需要检查该候选人是否已加入项目中的某个组
*/ */
String projectId=xmTaskExecuser.getProjectId(); String projectId=xmTaskExecuser.getProjectId();
String taskId=xmTaskExecuser.getTaskId();
XmTask xmTask= xmTaskService.selectOneObject(new XmTask(taskId));
if(xmTask==null ){
tips.setFailureMsg("任务已不存在");
m.put("tips", tips);
return m;
}
if(!"0".equals(xmTask.getTaskState()) && !"1".equals(xmTask.getTaskState()) ){
tips.setFailureMsg("该任务已经处于完工、结算阶段,不允许再修改");
m.put("tips", tips);
return m;
}
User user=LoginUtils.getCurrentUserInfo();
boolean isTaskCreater=user.getUserid().equals(xmTask.getCreateUserid());
List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId); List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId);
User user=LoginUtils.getCurrentUserInfo();
boolean isHead= groupService.checkUserIsOtherUserTeamHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
if(!isHead ) {
boolean isHead= groupService.checkUserIsOtherUserTeamHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
if( isHead || isTaskCreater ) {
//放行组长和任务责任人可以将候选人变更为执行人
} else{
if(user.getUserid().equals(xmTaskExecuser.getUserid())){ if(user.getUserid().equals(xmTaskExecuser.getUserid())){
tips.setFailureMsg("组长可以把候选人变更为任务执行人,"+user.getUsername()+"不是组长,无权变更");
tips.setFailureMsg("您无权将自己变更为执行人");
}else { }else {
tips.setFailureMsg("组长可以把候选人变更为任务执行人,"+user.getUsername()+"不是"+xmTaskExecuser.getUsername()+"的组长,无权变更");
tips.setFailureMsg("权限不足!任务责任人、组长可以变更候选人为执行人");
} }
}
}
if(tips.isOk()) { if(tips.isOk()) {
boolean exists=groupService.checkUserExistsGroup(projectId, xmTaskExecuser.getUserid()); boolean exists=groupService.checkUserExistsGroup(projectId, xmTaskExecuser.getUserid());
@ -262,16 +311,28 @@ public class XmTaskExecuserController {
/** /**
* 如果是提交测试需要检查提交人是本人还是组长本人或者组长才有权提交任务测试 * 如果是提交测试需要检查提交人是本人还是组长本人或者组长才有权提交任务测试
*/ */
User user=LoginUtils.getCurrentUserInfo();
String taskId=xmTaskExecuser.getTaskId();
XmTask xmTask= xmTaskService.selectOneObject(new XmTask(taskId));
if(xmTask==null ){
tips.setFailureMsg("任务已不存在");
m.put("tips", tips);
return m;
}
if(!"0".equals(xmTask.getTaskState()) && !"1".equals(xmTask.getTaskState()) ){
tips.setFailureMsg("该任务已经处于完工、结算阶段,不允许再修改");
m.put("tips", tips);
return m;
}
User user=LoginUtils.getCurrentUserInfo();
boolean isTaskCreater=user.getUserid().equals(xmTask.getCreateUserid());
if(!user.getUserid().equals(xmTaskExecuser.getUserid())) { if(!user.getUserid().equals(xmTaskExecuser.getUserid())) {
String projectId=xmTaskExecuser.getProjectId(); String projectId=xmTaskExecuser.getProjectId();
List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId); List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId);
boolean isHead= groupService.checkUserIsOtherUserTeamHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid()); boolean isHead= groupService.checkUserIsOtherUserTeamHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
if(!isHead ) {
if( !isHead && !isTaskCreater ) {
tips.setFailureMsg("自己或者组长可以提交任务到测试,"+user.getUsername()+"不是"+xmTaskExecuser.getUsername()+"的组长,无权提交"); tips.setFailureMsg("自己或者组长可以提交任务到测试,"+user.getUsername()+"不是"+xmTaskExecuser.getUsername()+"的组长,无权提交");
}
}
} }
if(tips.isOk()) { if(tips.isOk()) {
xmTaskExecuserService.toTest(xmTaskExecuser); xmTaskExecuserService.toTest(xmTaskExecuser);
} }
@ -295,18 +356,27 @@ public class XmTaskExecuserController {
public Map<String,Object> testSuccess(@RequestBody XmTaskExecuser xmTaskExecuser) { public Map<String,Object> testSuccess(@RequestBody XmTaskExecuser xmTaskExecuser) {
Map<String,Object> m = new HashMap<>(); Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功更新一条数据"); Tips tips=new Tips("成功更新一条数据");
try{
User user=LoginUtils.getCurrentUserInfo();
try{
String taskId=xmTaskExecuser.getTaskId();
XmTask xmTask= xmTaskService.selectOneObject(new XmTask(taskId));
if(xmTask==null ){
tips.setFailureMsg("任务已不存在");
m.put("tips", tips);
return m;
}
if(!"0".equals(xmTask.getTaskState()) && !"1".equals(xmTask.getTaskState()) ){
tips.setFailureMsg("该任务已经处于完工、结算阶段,不允许再修改");
m.put("tips", tips);
return m;
}
User user=LoginUtils.getCurrentUserInfo();
boolean isTaskCreater=user.getUserid().equals(xmTask.getCreateUserid());
String projectId=xmTaskExecuser.getProjectId(); String projectId=xmTaskExecuser.getProjectId();
List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId); List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId);
boolean isHead= groupService.checkUserIsOtherUserTeamHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid()); boolean isHead= groupService.checkUserIsOtherUserTeamHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
if(!isHead ) {
if(user.getUserid().equals(xmTaskExecuser.getUserid())) {
tips.setFailureMsg("组长可以提交该任务的测试结果,"+user.getUsername()+"不是组长,无权提交");
}else {
tips.setFailureMsg("组长可以提交该任务的测试结果,"+user.getUsername()+"不是"+xmTaskExecuser.getUsername()+"的组长,无权提交");
}
if( !isHead && !isTaskCreater ) {
tips.setFailureMsg("您无权提交测试结果!任务责任人、组长可以提交该任务的测试结果。");
} }
if(tips.isOk()) { if(tips.isOk()) {
@ -333,18 +403,28 @@ public class XmTaskExecuserController {
public Map<String,Object> testFalse(@RequestBody XmTaskExecuser xmTaskExecuser) { public Map<String,Object> testFalse(@RequestBody XmTaskExecuser xmTaskExecuser) {
Map<String,Object> m = new HashMap<>(); Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功更新一条数据"); Tips tips=new Tips("成功更新一条数据");
try{
User user=LoginUtils.getCurrentUserInfo();
try{
String taskId=xmTaskExecuser.getTaskId();
XmTask xmTask= xmTaskService.selectOneObject(new XmTask(taskId));
if(xmTask==null ){
tips.setFailureMsg("任务已不存在");
m.put("tips", tips);
return m;
}
if(!"0".equals(xmTask.getTaskState()) && !"1".equals(xmTask.getTaskState()) ){
tips.setFailureMsg("该任务已经处于完工、结算阶段,不允许再修改");
m.put("tips", tips);
return m;
}
User user=LoginUtils.getCurrentUserInfo();
boolean isTaskCreater=user.getUserid().equals(xmTask.getCreateUserid());
String projectId=xmTaskExecuser.getProjectId(); String projectId=xmTaskExecuser.getProjectId();
List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId); List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId);
boolean isHead= groupService.checkUserIsOtherUserTeamHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid()); boolean isHead= groupService.checkUserIsOtherUserTeamHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
if(!isHead ) {
if(user.getUserid().equals(xmTaskExecuser.getUserid())) {
tips.setFailureMsg("组长可以提交该任务的测试结果,"+user.getUsername()+"不是组长,无权修改");
}else {
tips.setFailureMsg("组长可以提交该任务的测试结果,"+user.getUsername()+"不是"+xmTaskExecuser.getUsername()+"的组长,无权提交");
}
if( !isHead && !isTaskCreater ) {
tips.setFailureMsg("您无权提交测试结果!任务责任人、组长可以提交该任务的测试结果。");
} }
if(tips.isOk()) { if(tips.isOk()) {
@ -361,30 +441,6 @@ public class XmTaskExecuserController {
m.put("tips", tips); m.put("tips", tips);
return m; return m;
} }
/**
* 必须走流程审批前端不能提交
@ApiOperation( value = "执行人结算",notes="editXmTaskExecuser")
@ApiResponses({
@ApiResponse(code = 200,response=XmTaskExecuser.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
})
@RequestMapping(value="/settle",method=RequestMethod.POST)
public Map<String,Object> settle(@RequestBody List<XmTaskExecuser> xmTaskExecuser) {
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功更新一条数据");
try{
xmTaskExecuserService.batchSettle("",xmTaskExecuser);
m.put("data",xmTaskExecuser);
}catch (BizException e) {
tips=e.getTips();
logger.error("",e);
}catch (Exception e) {
tips.setFailureMsg(e.getMessage());
logger.error("",e);
}
m.put("tips", tips);
return m;
}
**/
@ApiOperation( value = "候选人报价",notes="quotePrice") @ApiOperation( value = "候选人报价",notes="quotePrice")
@ApiResponses({ @ApiResponses({
@ApiResponse(code = 200,response=XmTaskExecuser.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") @ApiResponse(code = 200,response=XmTaskExecuser.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
@ -395,13 +451,26 @@ public class XmTaskExecuserController {
Map<String,Object> m = new HashMap<>(); Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功更新一条数据"); Tips tips=new Tips("成功更新一条数据");
try{ try{
String taskId=xmTaskExecuser.getTaskId();
XmTask xmTask= xmTaskService.selectOneObject(new XmTask(taskId));
if(xmTask==null ){
tips.setFailureMsg("任务已不存在");
m.put("tips", tips);
return m;
}
if(!"0".equals(xmTask.getTaskState()) && !"1".equals(xmTask.getTaskState()) ){
tips.setFailureMsg("该任务已经处于完工、结算阶段,不允许再修改报价");
m.put("tips", tips);
return m;
}
User user=LoginUtils.getCurrentUserInfo();
boolean isTaskCreater=user.getUserid().equals(xmTask.getCreateUserid());
String projectId=xmTaskExecuser.getProjectId(); String projectId=xmTaskExecuser.getProjectId();
User user=LoginUtils.getCurrentUserInfo();
if(!user.getUserid().equals(xmTaskExecuser.getUserid())) { if(!user.getUserid().equals(xmTaskExecuser.getUserid())) {
List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId); List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId);
boolean isHead= groupService.checkUserIsOtherUserTeamHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid()); boolean isHead= groupService.checkUserIsOtherUserTeamHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
if(!isHead ) {
tips.setFailureMsg("自己或者组长可以修改任务的报价信息,"+user.getUsername()+"不是"+xmTaskExecuser.getUsername()+"的组长,无权修改");
if( !isHead && !isTaskCreater ) {
tips.setFailureMsg("无权操作!自己、任务责任人、组长可以修改任务的报价信息");
} }
} }
if(tips.isOk()) { if(tips.isOk()) {
@ -435,14 +504,27 @@ public class XmTaskExecuserController {
Map<String,Object> m = new HashMap<>(); Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功更新一条数据"); Tips tips=new Tips("成功更新一条数据");
try{ try{
String taskId=xmTaskExecuser.getTaskId();
XmTask xmTask= xmTaskService.selectOneObject(new XmTask(taskId));
if(xmTask==null ){
tips.setFailureMsg("任务已不存在");
m.put("tips", tips);
return m;
}
if(!"0".equals(xmTask.getTaskState()) && !"1".equals(xmTask.getTaskState()) ){
tips.setFailureMsg("该任务已经不需要候选人");
m.put("tips", tips);
return m;
}
User user=LoginUtils.getCurrentUserInfo();
boolean isTaskCreater=user.getUserid().equals(xmTask.getCreateUserid());
String projectId=xmTaskExecuser.getProjectId(); String projectId=xmTaskExecuser.getProjectId();
User user=LoginUtils.getCurrentUserInfo();
if(!user.getUserid().equals(xmTaskExecuser.getUserid())) { if(!user.getUserid().equals(xmTaskExecuser.getUserid())) {
List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId); List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId);
boolean isHead= groupService.checkUserIsOtherUserTeamHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid()); boolean isHead= groupService.checkUserIsOtherUserTeamHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
if(!isHead ) {
tips.setFailureMsg("自己申请成为该任务候选人或者组长邀请您成为任务候选人,"+user.getUsername()+"不是"+xmTaskExecuser.getUsername()+"的组长,无权操作");
if( !isHead && !isTaskCreater ) {
tips.setFailureMsg("无权操作!任务责任人、组长可以邀请用户成为任务候选人,普通用户可以自己申请成为候选人");
} }
} }
if(tips.isOk()) { if(tips.isOk()) {
@ -473,13 +555,21 @@ public class XmTaskExecuserController {
Map<String,Object> m = new HashMap<>(); Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功删除一条数据"); Tips tips=new Tips("成功删除一条数据");
try{ try{
String taskId=xmTaskExecuser.getTaskId();
XmTask xmTask= xmTaskService.selectOneObject(new XmTask(taskId));
if(xmTask==null ){
tips.setFailureMsg("任务已不存在");
m.put("tips", tips);
return m;
}
User user=LoginUtils.getCurrentUserInfo();
boolean isTaskCreater=user.getUserid().equals(xmTask.getCreateUserid());
String projectId=xmTaskExecuser.getProjectId(); String projectId=xmTaskExecuser.getProjectId();
User user=LoginUtils.getCurrentUserInfo();
if(!user.getUserid().equals(xmTaskExecuser.getUserid())) { if(!user.getUserid().equals(xmTaskExecuser.getUserid())) {
List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId); List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId);
boolean isHead= groupService.checkUserIsOtherUserTeamHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid()); boolean isHead= groupService.checkUserIsOtherUserTeamHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
if(!isHead ) {
tips.setFailureMsg("只有自己或者组长可以删除任务执行人,"+user.getUsername()+"不是"+xmTaskExecuser.getUsername()+"的组长,无权删除");
if( !isHead && !isTaskCreater ) {
tips.setFailureMsg("无权操作!只有自己、任务责任人、组长可以删除任务执行人.");
} }
} }
if(tips.isOk()) { if(tips.isOk()) {
@ -508,55 +598,7 @@ public class XmTaskExecuserController {
m.put("tips", tips); m.put("tips", tips);
return m; return m;
} }
/**
* 敏感数据不允许随意修改
@ApiOperation( value = "根据主键修改一条xm_task_execuser信息",notes="editXmTaskExecuser")
@ApiResponses({
@ApiResponse(code = 200,response=XmTaskExecuser.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
})
@RequestMapping(value="/edit",method=RequestMethod.POST)
public Map<String,Object> editXmTaskExecuser(@RequestBody XmTaskExecuser xmTaskExecuser) {
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功更新一条数据");
try{
xmTaskExecuserService.updateSomeFieldByPk(xmTaskExecuser);
m.put("data",xmTaskExecuser);
}catch (BizException e) {
tips=e.getTips();
logger.error("",e);
}catch (Exception e) {
tips.setFailureMsg(e.getMessage());
logger.error("",e);
}
m.put("tips", tips);
return m;
}
**/
/**
@ApiOperation( value = "根据主键列表批量删除xm_task_execuser信息",notes="batchDelXmTaskExecuser,仅需要上传主键字段")
@ApiResponses({
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}")
})
@RequestMapping(value="/batchDel",method=RequestMethod.POST)
public Map<String,Object> batchDelXmTaskExecuser(@RequestBody List<XmTaskExecuser> xmTaskExecusers) {
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功删除"+xmTaskExecusers.size()+"条数据");
try{
xmTaskExecuserService.batchDelete(xmTaskExecusers);
}catch (BizException e) {
tips=e.getTips();
logger.error("",e);
}catch (Exception e) {
tips.setFailureMsg(e.getMessage());
logger.error("",e);
}
m.put("tips", tips);
return m;
}
*/
/** /**

Loading…
Cancel
Save