diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmIterationMenuController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmIterationMenuController.java index aef29aef..06c4aa71 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmIterationMenuController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmIterationMenuController.java @@ -3,14 +3,17 @@ package com.xm.core.ctrl; import com.mdp.core.entity.Tips; import com.mdp.core.err.BizException; import com.mdp.core.utils.RequestUtils; +import com.mdp.core.utils.ResponseHelper; import com.mdp.mybatis.PageUtils; import com.mdp.safe.client.entity.User; import com.mdp.safe.client.utils.LoginUtils; +import com.xm.core.entity.XmIteration; import com.xm.core.entity.XmIterationMenu; import com.xm.core.entity.XmMenu; import com.xm.core.service.XmIterationMenuService; import com.xm.core.service.XmMenuService; import com.xm.core.service.push.XmMenuPushMsgService; +import com.xm.core.vo.XmIterationMenuVo; import io.swagger.annotations.*; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -39,9 +42,6 @@ public class XmIterationMenuController { static Log logger=LogFactory.getLog(XmIterationMenuController.class); - @Autowired - private XmIterationMenuService xmIterationMenuService; - @Autowired @@ -49,44 +49,7 @@ public class XmIterationMenuController { @Autowired XmMenuService xmMenuService; - - @ApiOperation( value = "查询迭代定义信息列表",notes="listXmIterationMenu,条件之间是 and关系,模糊查询写法如 {studentName:'%才哥%'}") - @ApiImplicitParams({ - @ApiImplicitParam(name="id",value="主键,主键",required=false), - @ApiImplicitParam(name="iterationId",value="对应的迭代编号",required=false), - @ApiImplicitParam(name="menuId",value="需求编号",required=false), - @ApiImplicitParam(name="productId",value="产品编号",required=false), - @ApiImplicitParam(name="ctime",value="关联时间",required=false), - @ApiImplicitParam(name="relStatus",value="关联状态0不再关联1正常关联",required=false), - @ApiImplicitParam(name="pageSize",value="每页记录数",required=false), - @ApiImplicitParam(name="currentPage",value="当前页码,从1开始",required=false), - @ApiImplicitParam(name="total",value="总记录数,服务器端收到0时,会自动计算总记录数,如果上传>0的不自动计算",required=false), - @ApiImplicitParam(name="orderFields",value="排序列 如性别、学生编号排序 ['sex','studentId']",required=false), - @ApiImplicitParam(name="orderDirs",value="排序方式,与orderFields对应,升序 asc,降序desc 如 性别 升序、学生编号降序 ['asc','desc']",required=false) - }) - @ApiResponses({ - @ApiResponse(code = 200,response= XmIterationMenu.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'错误码'},pageInfo:{total:总记录数},data:[数据对象1,数据对象2,...]}") - }) - @RequestMapping(value="/list",method=RequestMethod.GET) - public Map listXmIterationMenu( @RequestParam Map xmIterationMenu){ - Map m = new HashMap<>(); - Tips tips=new Tips("查询成功"); - RequestUtils.transformArray(xmIterationMenu, "ids"); - PageUtils.startPage(xmIterationMenu); - String iterationId=(String)xmIterationMenu.get("iterationId"); - String menuId=(String)xmIterationMenu.get("menuId"); - if(!(StringUtils.hasText(iterationId)||StringUtils.hasText(menuId))){ - tips.setFailureMsg("迭代编号iterationId、需求编号menuId最少一个不能为空"); - m.put("tips", tips); - return m; - } - List> xmIterationMenuList = xmIterationMenuService.selectListMapByWhere(xmIterationMenu); //列出XmIterationMenu列表 - PageUtils.responePage(m, xmIterationMenuList); - m.put("data",xmIterationMenuList); - m.put("tips", tips); - return m; - } @@ -130,11 +93,11 @@ public class XmIterationMenuController { @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}}") }) @RequestMapping(value="/del",method=RequestMethod.POST) - public Map delXmIterationMenu(@RequestBody XmIterationMenu xmIterationMenu){ + public Map delXmIterationMenu(@RequestBody XmIterationMenuVo xmIterationMenus){ Map m = new HashMap<>(); Tips tips=new Tips("成功删除一条数据"); try{ - xmIterationMenuService.deleteByPk(xmIterationMenu); + xmMenuService.batchUnIteration(xmIterationMenus); User user = LoginUtils.getCurrentUserInfo(); this.xmMenuPushMsgService.pushMenuRelUsersMsg(user.getBranchId(), xmIterationMenu.getMenuId(), user.getUserid(), user.getUsername(), user.getUsername()+"将需求【"+xmIterationMenu.getMenuId()+"】移出迭代"); }catch (BizException e) { @@ -181,18 +144,15 @@ public class XmIterationMenuController { @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}") }) @RequestMapping(value="/batchDel",method=RequestMethod.POST) - public Map batchDelXmIterationMenu(@RequestBody List xmIterationMenus) { + public Map batchDelXmIterationMenu(@RequestBody XmIterationMenuVo xmIterationMenus) { Map m = new HashMap<>(); - Tips tips=new Tips("成功删除"+xmIterationMenus.size()+"条数据"); - try{ - - xmIterationMenuService.batchDelete(xmIterationMenus); - User user = LoginUtils.getCurrentUserInfo(); + Tips tips=new Tips("成功删除"+xmIterationMenus.getMenuIds().size()+"条数据"); + try{ + xmMenuService.batchUnIteration(xmIterationMenus); - for (XmIterationMenu xmIterationMenu : xmIterationMenus) { - this.xmMenuPushMsgService.pushMenuRelUsersMsg(user.getBranchId(), xmIterationMenu.getMenuId(), user.getUserid(), user.getUsername(), user.getUsername()+"将需求【"+xmIterationMenu.getMenuId()+"】移出迭代"); + User user = LoginUtils.getCurrentUserInfo(); + this.xmMenuPushMsgService.pushMenuRelUsersMsg(user.getBranchId(), xmIterationMenu.getMenuId(), user.getUserid(), user.getUsername(), user.getUsername()+"将需求【"+xmIterationMenu.getMenuId()+"】移出迭代"); - } }catch (BizException e) { tips=e.getTips(); logger.error("",e); @@ -204,39 +164,35 @@ public class XmIterationMenuController { return m; } @RequestMapping(value="/batchAdd",method=RequestMethod.POST) - public Map batchAddXmIterationMenu(@RequestBody List xmIterationMenus) { + public Map batchAddXmIterationMenu(@RequestBody XmIterationMenuVo xmIterationMenus) { Map m = new HashMap<>(); - Tips tips=new Tips("成功新增"+xmIterationMenus.size()+"条数据"); + Tips tips=new Tips("成功将需求发布到迭代中"); try{ - if(xmIterationMenus==null || xmIterationMenus.size()==0) { - - }else { - List menuIds=new ArrayList<>(); - for (XmIterationMenu xmIterationMenu : xmIterationMenus) { - xmIterationMenu.setCtime(new Date()); - xmIterationMenu.setRelStatus("1"); - xmIterationMenu.setId(xmIterationMenuService.createKey("id")); - menuIds.add(xmIterationMenu.getMenuId()); - } - List menus=xmMenuService.selectExistIterationMenus(menuIds); - if(menus!=null && menus.size()>0){ - List menuNames = menus.stream().map(XmMenu::getMenuName).collect(Collectors.toList()); - String menusNameStr=StringUtils.arrayToDelimitedString(menuNames.toArray(),","); - tips.setFailureMsg("以下需求已加入本迭代计划,不能重复加入。"+menusNameStr); - }else{ - xmIterationMenuService.batchInsert(xmIterationMenus); + if(!StringUtils.hasText(xmIterationMenus.getIterationId())){ + return ResponseHelper.failed("iterationId-0","迭代编号不能为空"); + } + List menuIds=xmIterationMenus.getMenuIds(); + if(menuIds==null || menuIds.size()==0){ + return ResponseHelper.failed("menuIds-0","需求编号不能为空"); + } + List menus=xmMenuService.selectListByIds(menuIds); + List hadJoin=menus.stream().filter(i->StringUtils.hasText(i.getIterationId())).collect(Collectors.toList()); + List msgs=new ArrayList<>(); + if(menus!=null && menus.size()==menuIds.size()){ + return ResponseHelper.failed("menus-had-iteration","需求全部都已加入迭代,不能重复加入。"); + } + List menuNames = menus.stream().map(XmMenu::getMenuName).collect(Collectors.toList()); + String menusNameStr=StringUtils.arrayToDelimitedString(menuNames.toArray(),","); + msgs.add("以下需求已加入迭代计划,不能重复加入。"+menusNameStr); + xmMenuService.batchIteration(xmIterationMenus); - User user = LoginUtils.getCurrentUserInfo(); + User user = LoginUtils.getCurrentUserInfo(); - for (XmIterationMenu xmIterationMenu : xmIterationMenus) { + for (XmIterationMenu xmIterationMenu : xmIterationMenus) { - this.xmMenuPushMsgService.pushMenuRelUsersMsg(user.getBranchId(), xmIterationMenu.getMenuId(), user.getUserid(), user.getUsername(), user.getUsername()+"将需求【"+xmIterationMenu.getMenuId()+"】加入迭代"); + this.xmMenuPushMsgService.pushMenuRelUsersMsg(user.getBranchId(), xmIterationMenu.getMenuId(), user.getUserid(), user.getUsername(), user.getUsername()+"将需求【"+xmIterationMenu.getMenuId()+"】加入迭代"); - } } - - - } }catch (BizException e) { tips=e.getTips(); logger.error("",e); diff --git a/xm-core/src/main/java/com/xm/core/entity/XmIterationMenu.java b/xm-core/src/main/java/com/xm/core/entity/XmIterationMenu.java deleted file mode 100644 index eeefe38e..00000000 --- a/xm-core/src/main/java/com/xm/core/entity/XmIterationMenu.java +++ /dev/null @@ -1,169 +0,0 @@ -package com.xm.core.entity; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import java.util.Date; - -/** - * 组织 com.qqkj 顶级模块 oa 大模块 xm 小模块
- * 实体 XmIterationMenu所有属性名:
- * id,iterationId,menuId,productId,ctime,relStatus,hasTask,cuserid,cusername;
- * 表 XM.xm_iteration_menu 迭代定义的所有字段名:
- * id,iteration_id,menu_id,product_id,ctime,rel_status,has_task,cuserid,cusername;
- * 当前主键(包括多主键):
- * id;
- */ -@ApiModel(description="迭代定义") -public class XmIterationMenu implements java.io.Serializable { - - private static final long serialVersionUID = 1L; - - @ApiModelProperty(notes="主键,主键",allowEmptyValue=true,example="",allowableValues="") - String id; - - - @ApiModelProperty(notes="对应的迭代编号",allowEmptyValue=true,example="",allowableValues="") - String iterationId; - - @ApiModelProperty(notes="需求编号",allowEmptyValue=true,example="",allowableValues="") - String menuId; - - @ApiModelProperty(notes="产品编号",allowEmptyValue=true,example="",allowableValues="") - String productId; - - @ApiModelProperty(notes="关联时间",allowEmptyValue=true,example="",allowableValues="") - Date ctime; - - @ApiModelProperty(notes="关联状态0不再关联1正常关联",allowEmptyValue=true,example="",allowableValues="") - String relStatus; - - @ApiModelProperty(notes="是否已有任务在关联0否1有",allowEmptyValue=true,example="",allowableValues="") - String hasTask; - - @ApiModelProperty(notes="创建人编号",allowEmptyValue=true,example="",allowableValues="") - String cuserid; - - @ApiModelProperty(notes="创建人姓名",allowEmptyValue=true,example="",allowableValues="") - String cusername; - - /**主键**/ - public XmIterationMenu(String id) { - this.id = id; - } - - /**迭代定义**/ - public XmIterationMenu() { - } - - /** - * 主键 - **/ - public void setId(String id) { - this.id = id; - } - /** - * 对应的迭代编号 - **/ - public void setIterationId(String iterationId) { - this.iterationId = iterationId; - } - /** - * 需求编号 - **/ - public void setMenuId(String menuId) { - this.menuId = menuId; - } - /** - * 产品编号 - **/ - public void setProductId(String productId) { - this.productId = productId; - } - /** - * 关联时间 - **/ - public void setCtime(Date ctime) { - this.ctime = ctime; - } - /** - * 关联状态0不再关联1正常关联 - **/ - public void setRelStatus(String relStatus) { - this.relStatus = relStatus; - } - /** - * 是否已有任务在关联0否1有 - **/ - public void setHasTask(String hasTask) { - this.hasTask = hasTask; - } - /** - * 创建人编号 - **/ - public void setCuserid(String cuserid) { - this.cuserid = cuserid; - } - /** - * 创建人姓名 - **/ - public void setCusername(String cusername) { - this.cusername = cusername; - } - - /** - * 主键 - **/ - public String getId() { - return this.id; - } - /** - * 对应的迭代编号 - **/ - public String getIterationId() { - return this.iterationId; - } - /** - * 需求编号 - **/ - public String getMenuId() { - return this.menuId; - } - /** - * 产品编号 - **/ - public String getProductId() { - return this.productId; - } - /** - * 关联时间 - **/ - public Date getCtime() { - return this.ctime; - } - /** - * 关联状态0不再关联1正常关联 - **/ - public String getRelStatus() { - return this.relStatus; - } - /** - * 是否已有任务在关联0否1有 - **/ - public String getHasTask() { - return this.hasTask; - } - /** - * 创建人编号 - **/ - public String getCuserid() { - return this.cuserid; - } - /** - * 创建人姓名 - **/ - public String getCusername() { - return this.cusername; - } - -} \ No newline at end of file diff --git a/xm-core/src/main/java/com/xm/core/service/XmIterationMenuService.java b/xm-core/src/main/java/com/xm/core/service/XmIterationMenuService.java deleted file mode 100644 index 0491bb64..00000000 --- a/xm-core/src/main/java/com/xm/core/service/XmIterationMenuService.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.xm.core.service; - -import com.mdp.core.service.BaseService; -import org.springframework.stereotype.Service; - -/** - * 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.
- * 组织 com.qqkj 顶级模块 oa 大模块 xm 小模块
- * 实体 XmIterationMenu 表 XM.xm_iteration_menu 当前主键(包括多主键): id; - ***/ -@Service("xm.core.xmIterationMenuService") -public class XmIterationMenuService extends BaseService { - - /** 请在此类添加自定义函数 */ - -} - diff --git a/xm-core/src/main/java/com/xm/core/service/XmMenuService.java b/xm-core/src/main/java/com/xm/core/service/XmMenuService.java index e7339aea..5e3456a6 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmMenuService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmMenuService.java @@ -4,6 +4,7 @@ import com.mdp.core.entity.Tips; import com.mdp.core.service.BaseService; import com.xm.core.entity.XmMenu; import com.xm.core.entity.XmTask; +import com.xm.core.vo.XmIterationMenuVo; import com.xm.core.vo.XmMenuVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -252,5 +253,13 @@ public class XmMenuService extends BaseService { public List selectListByIds(List ids) { return super.selectList("selectListByIds",ids); } + + public void batchUnIteration(XmIterationMenuVo xmIterationMenus) { + super.update("batchUnIteration",xmIterationMenus); + } + + public void batchIteration(XmIterationMenuVo xmIterationMenus) { + super.update("batchIteration",xmIterationMenus); + } } diff --git a/xm-core/src/main/java/com/xm/core/vo/XmIterationMenuVo.java b/xm-core/src/main/java/com/xm/core/vo/XmIterationMenuVo.java new file mode 100644 index 00000000..e55326c0 --- /dev/null +++ b/xm-core/src/main/java/com/xm/core/vo/XmIterationMenuVo.java @@ -0,0 +1,27 @@ +package com.xm.core.vo; + +import java.util.List; + +public class XmIterationMenuVo { + + String iterationId; + + + List menuIds; + + public String getIterationId() { + return iterationId; + } + + public void setIterationId(String iterationId) { + this.iterationId = iterationId; + } + + public List getMenuIds() { + return menuIds; + } + + public void setMenuIds(List menuIds) { + this.menuIds = menuIds; + } +} diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml index bf451619..d66cb977 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml @@ -100,6 +100,22 @@ #{item} + + + update xm_menu res set res.iteration_id = null where res.menu_id in + + #{item} + + + and res.iteration_id=#{iterationId} + + + + update xm_menu res set res.iteration_id = #{iterationId} where res.menu_id in + + #{item} + +