diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectController.java index e1ee0e9b..cd86e8eb 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectController.java @@ -143,18 +143,9 @@ public class XmProjectController { Map m = new HashMap<>(); Tips tips=new Tips("成功新增一条数据"); try{ - User user=LoginUtils.getCurrentUserInfo(); - if(StringUtils.isEmpty(xmProjectVo.getCode())) { - tips.setFailureMsg("编号不能为空,请修改编号再提交"); - }else if(!StringUtils.hasText(xmProjectVo.getBranchId())){ - xmProjectVo.setBranchId(user.getBranchId()); - //tips.setFailureMsg("项目归属机构号不能为空"); - }else { xmProjectService.saveProject(xmProjectVo); xmProjectService.clearProject(xmProjectVo.getId()); - m.put("data",xmProjectVo); - } }catch (BizException e) { tips=e.getTips(); @@ -251,7 +242,29 @@ public class XmProjectController { m.put("tips", tips); return m; } - + @ApiOperation( value = "创建项目代号",notes="createProjectCode") + @ApiResponses({ + @ApiResponse(code = 200,response=XmProject.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") + }) + @HasQx(value = "xm_core_xmProject_createProjectCode",name = "创建项目代号",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") + @RequestMapping(value="/createProjectCode",method=RequestMethod.POST) + public Map createProjectCode() { + Map m = new HashMap<>(); + Tips tips=new Tips("创建项目代号成功"); + try{ + User user= LoginUtils.getCurrentUserInfo(); + String code=this.xmProjectService.createProjectCode(user.getBranchId()); + m.put("data",code); + }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_project信息",notes="editXmProject") @ApiResponses({ @ApiResponse(code = 200,response=XmProject.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") @@ -415,7 +428,7 @@ public class XmProjectController { pq.setCode(xmProject.getCode()); List xmProjectList=this.xmProjectService.selectListByWhere(pq); if(xmProjectList!=null && xmProjectList.size()>0){ - return ResponseHelper.failed("code-exists","项目编码【"+xmProject.getCode()+"】已存在,,请重新输入新的项目编码,如果为空,后台自动生成"); + return ResponseHelper.failed("code-exists","项目代号【"+xmProject.getCode()+"】已存在,,请重新输入新的项目代号,如果为空,后台自动生成"); } } XmProject xmProjectDb=this.xmProjectService.getProjectFromCache(xmProject.getId()); diff --git a/xm-core/src/main/java/com/xm/core/service/XmProjectService.java b/xm-core/src/main/java/com/xm/core/service/XmProjectService.java index 30108471..8159c32b 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmProjectService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmProjectService.java @@ -263,8 +263,10 @@ public class XmProjectService extends BaseService { public XmProject saveProject(XmProjectVo xmProjectVo) { Tips tips = new Tips(); User user = LoginUtils.getCurrentUserInfo(); + + xmProjectVo.setBranchId(user.getBranchId()); if(!StringUtils.isEmpty(xmProjectVo.getId()) && xmProjectVo.getId().equals(xmProjectVo.getCode())) { - tips.setFailureMsg("id不能事先预设,如果必须事先预设,请保持与code相同"); + tips.setFailureMsg("id不能事先预设"); throw new BizException(tips); } if(StringUtils.hasText(xmProjectVo.getCode())) { @@ -272,20 +274,19 @@ public class XmProjectService extends BaseService { xmProjectQuery.setCode(xmProjectVo.getCode()); xmProjectQuery.setBranchId(user.getBranchId()); if(this.countByWhere(xmProjectQuery)>0){ - tips.setFailureMsg("编号重复,请修改编号再提交"); + tips.setFailureMsg("项目代号重复,请修改代号再提交"); throw new BizException(tips); } - xmProjectVo.setId(this.createKey("id")); + xmProjectVo.setId(this.createProjectId(xmProjectVo.getCode())); }else { xmProjectVo.setCode(this.createProjectCode(user.getBranchId())); - xmProjectVo.setId(this.createKey("id")); + xmProjectVo.setId(this.createProjectId(xmProjectVo.getCode())); } //获取当前登录用户信息 xmProjectVo.setCreateUserid(user.getUserid()); xmProjectVo.setCreateUsername(user.getUsername()); xmProjectVo.setCreateTime(new Date()); - xmProjectVo.setBranchId(user.getBranchId()); xmProjectVo.setStatus("0"); if(!StringUtils.hasText(xmProjectVo.getIsTpl())){ xmProjectVo.setIsTpl("0"); @@ -312,7 +313,18 @@ public class XmProjectService extends BaseService { return code; } - + public String createProjectId(String code){ + String id=sequenceService.getCommonNo(code+"-{rands:4}"); + XmProject xmProject=new XmProject(id); + long idcount=this.countByWhere(xmProject); + while (idcount>0){ + id=sequenceService.getCommonNo(code+"-{rands:4}"); + xmProject=new XmProject(id); + idcount=this.countByWhere(xmProject); + } + return id; + + } /** * 流程审批过程中回调该接口,更新业务数据