diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java index a3c151f3..d76b3b15 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java @@ -168,7 +168,7 @@ public class XmTaskExecuserController { if(ObjectTools.isEmpty(xmTaskExecuser.getTaskId())){ return Result.error("taskId-required","任务编号不能为空"); } - XmTask xmTaskDb=xmTaskService.selectOneObject(new XmTask(xmTaskExecuser.getTaskId())); + XmTask xmTaskDb=xmTaskService.getById(xmTaskExecuser.getTaskId()); if(xmTaskDb==null){ return Result.error("任务已不存在"); diff --git a/xm-core/src/main/java/com/xm/core/service/XmTaskExecuserService.java b/xm-core/src/main/java/com/xm/core/service/XmTaskExecuserService.java index 8e0ecef1..eee3c00c 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmTaskExecuserService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmTaskExecuserService.java @@ -5,14 +5,17 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.mdp.core.err.BizException; import com.mdp.core.service.BaseService; +import com.mdp.core.utils.ObjectTools; import com.mdp.msg.client.PushNotifyMsgService; import com.mdp.safe.client.entity.Dept; import com.mdp.safe.client.entity.User; import com.mdp.safe.client.utils.LoginUtils; +import com.xm.core.entity.XmProject; import com.xm.core.entity.XmTask; import com.xm.core.entity.XmTaskExecuser; import com.xm.core.mapper.XmTaskExecuserMapper; import com.xm.core.service.client.MkClient; +import com.xm.core.service.client.SysClient; import com.xm.core.service.push.XmPushMsgService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -36,6 +39,9 @@ public class XmTaskExecuserService extends BaseService { @Autowired PushNotifyMsgService notifyMsgService; + @Autowired + XmProjectService xmProjectService; @Autowired SysClient sysClient; @@ -224,41 +222,39 @@ public class XmTaskService extends BaseService { xmTaskVo.setTaskSkillNames(xmTaskVo.getSkills().stream().map(k->k.getSkillName()).collect(Collectors.joining(","))); xmTaskVo.setTaskSkillIds(xmTaskVo.getSkills().stream().map(k->k.getSkillId()).collect(Collectors.joining(","))); } - + XmProject projectDb=xmProjectService.getProjectFromCache(xmTaskVo.getProjectId()); //如果是由服务商提供服务构建的任务 if(StringUtils.hasText(xmTaskVo.getServiceId())){ Map userServiceData=sysClient.getUserSvrByServiceId(xmTaskVo.getServiceId()); if(userServiceData!=null && !userServiceData.isEmpty()){ - User exeUser=BaseUtils.fromMap(userServiceData,User.class); + User bidUser=BaseUtils.fromMap(userServiceData,User.class); UserSvrVo svrVo=BaseUtils.fromMap(userServiceData,UserSvrVo.class); XmTaskExecuser xmTaskExecuser=new XmTaskExecuser(); xmTaskExecuser.setTaskId(xmTaskVo.getId()); xmTaskExecuser.setTaskName(xmTaskVo.getName()); xmTaskExecuser.setProjectId(xmTaskVo.getProjectId()); - xmTaskExecuser.setBidUserid(exeUser.getUserid()); - xmTaskExecuser.setBidUsername(exeUser.getUsername()); - xmTaskExecuser.setBidBranchId(exeUser.getBranchId()); + xmTaskExecuser.setBidUserid(bidUser.getUserid()); + xmTaskExecuser.setBidUsername(bidUser.getUsername()); + xmTaskExecuser.setBidBranchId(bidUser.getBranchId()); xmTaskExecuser.setBranchId(xmTaskVo.getCbranchId()); xmTaskExecuser.setStatus("1"); xmTaskExecuser.setQuoteAmount(svrVo.getPrice()); xmTaskExecuser.setQuoteWorkload(xmTaskVo.getBudgetWorkload()); xmTaskExecuser.setSkillRemark((String)userServiceData.get("skills")); - - - Dept Dept=new Dept(); - Dept.setDeptid(this.xmTaskSkillService.createKey("id")); - Dept xmGroupUser=new Dept(); - - Dept.setBranchId(xmTaskVo.getCbranchId()); - List gs=new ArrayList<>(); - gs.add(Dept); - groupService.addGroups(xmTaskVo.getProjectId(),gs); - + User exeUserParams=new User(); + exeUserParams.setCpaOrg(bidUser.getBranchId()); + exeUserParams.setCpaUserid(bidUser.getUserid()); + exeUserParams.setUsername(bidUser.getUsername()); + exeUserParams.setDeptid(projectDb.getDeptid()); + exeUserParams.setBranchId(projectDb.getBranchId()); + User exeUserDb=sysClient.createUserIfNotExists(exeUserParams,projectDb.getDeptid(),projectDb.getBranchId()); + xmTaskExecuser.setPrjUserid(exeUserDb.getUserid()); + xmTaskExecuser.setPrjUsername(exeUserDb.getUsername()); xmTaskExecuserService.addExecuser(xmTaskExecuser,!"0".equals(xmTaskVo.getStatus())); - xmTaskVo.setExeUserids(exeUser.getUserid()); - xmTaskVo.setExeUsernames(exeUser.getUsername()); - xmTaskVo.setExecutorUserid(exeUser.getUserid()); - xmTaskVo.setExecutorUsername(exeUser.getUsername()); + xmTaskVo.setExeUserids(exeUserDb.getUserid()); + xmTaskVo.setExeUsernames(exeUserDb.getUsername()); + xmTaskVo.setExecutorUserid(exeUserDb.getUserid()); + xmTaskVo.setExecutorUsername(exeUserDb.getUsername()); xmTaskVo.setExecUsers(1); xmTaskVo.setStatus("1"); xmTaskVo.setBidStep("4"); @@ -267,7 +263,6 @@ public class XmTaskService extends BaseService { xmTaskVo.setEstate("1"); xmTaskVo.setQuoteFinalAt(svrVo.getPrice()); xmTaskVo.setBidEtime(new Date()); - } } diff --git a/xm-core/src/main/java/com/xm/core/service/client/SysClient.java b/xm-core/src/main/java/com/xm/core/service/client/SysClient.java index 262cf0e9..5e2f6926 100644 --- a/xm-core/src/main/java/com/xm/core/service/client/SysClient.java +++ b/xm-core/src/main/java/com/xm/core/service/client/SysClient.java @@ -134,4 +134,12 @@ public class SysClient { public List listSubDept(String pdeptid) { return null; } + + public User createUserIfNotExists(User exeUser,String deptid,String branchId) { + String url="/sys/user/createIfNotExists"; + exeUser.setBranchId(branchId); + Map re=callBizService.postForMap(url,map("user",exeUser ,"userDept",map("deptid",deptid))); + User user=BaseUtils.fromMap((Map) re.get("data"),User.class); + return user; + } }