diff --git a/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/dto/ParamDto.java b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/dto/ParamDto.java index 10e54e1..bf4748b 100644 --- a/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/dto/ParamDto.java +++ b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/dto/ParamDto.java @@ -38,4 +38,10 @@ public class ParamDto { @ApiModelProperty(value = "结束时间") private String endTime; + + @ApiModelProperty(value = "绑定班组人员") + private String bandingUsers; + + @ApiModelProperty(value = "未绑定班组人员") + private String unBandingUsers; } diff --git a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/controller/TeamManageController.java b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/controller/TeamManageController.java index d666c84..875d9fe 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/controller/TeamManageController.java +++ b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/controller/TeamManageController.java @@ -7,6 +7,7 @@ import com.securitycontrol.common.core.web.page.TableDataInfo; import com.securitycontrol.common.log.annotation.Log; import com.securitycontrol.common.log.enums.OperationType; import com.securitycontrol.entity.background.dto.ParamDto; +import com.securitycontrol.entity.background.vo.HumanManageVo; import com.securitycontrol.entity.background.vo.TeamManageVo; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; @@ -62,4 +63,32 @@ public class TeamManageController extends BaseController { return service.delTeam(dto); } + @ApiOperation(value = "获取班组人员列表") + @GetMapping("getTeamUserLists") + @Log(title = "人员管理", menu = "人员管理->班组管理", grade = OperationType.QUERY_BUSINESS, details = "查询班组人员", type = "业务日志") + public TableDataInfo getTeamUserLists(ParamDto dto) { + startPage(); + List list = service.getTeamUserLists(dto); + return getDataTable(list); + } + + @ApiOperation(value = "移出班组人员") + @PostMapping("removeTeamUser") + @Log(title = "人员管理", menu = "人员管理->班组管理", grade = OperationType.UPDATE_BUSINESS, details = "移出班组人员", type = "业务日志") + public AjaxResult removeTeamUser(@RequestBody ParamDto dto) { + return service.removeTeamUser(dto); + } + + @ApiOperation(value = "获取班组组员和未加入班组人员") + @GetMapping("getTeamUserAndNoBandingUser") + public AjaxResult getTeamUserAndNoBandingUser(ParamDto dto) { + return service.getTeamUserAndNoBandingUser(dto); + } + + @ApiOperation(value = "添加班组人员") + @PostMapping("addTeamUser") + @Log(title = "人员管理", menu = "人员管理->班组管理", grade = OperationType.ADD_BUSINESS, details = "添加班组人员", type = "业务日志") + public AjaxResult addTeamUser(@RequestBody ParamDto dto) { + return service.addTeamUser(dto); + } } diff --git a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/mapper/TeamManageMapper.java b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/mapper/TeamManageMapper.java index a11929c..adcb809 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/mapper/TeamManageMapper.java +++ b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/mapper/TeamManageMapper.java @@ -1,8 +1,10 @@ package com.securitycontrol.background.mapper; import com.securitycontrol.entity.background.dto.ParamDto; +import com.securitycontrol.entity.background.vo.HumanManageVo; import com.securitycontrol.entity.background.vo.TeamManageVo; import org.apache.ibatis.annotations.MapKey; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.util.List; @@ -89,6 +91,7 @@ public interface TeamManageMapper { /** * 班组是否存在班组人员 + * * @param dto * @return int * @description @@ -96,4 +99,59 @@ public interface TeamManageMapper { * @date 2024/3/21 10:48 */ int isPeopleByTeam(ParamDto dto); + + /** + * 班组人员数量 + * + * @param teamId + * @return int + * @description + * @author cwchen + * @date 2024/3/22 9:59 + */ + int getTeamUserNum(String teamId); + + /** + * 获取班组人员列表 + * + * @param dto + * @return List + * @description + * @author cwchen + * @date 2024/3/22 10:04 + */ + List getTeamUserLists(ParamDto dto); + + /** + * 移出班组人员 + * + * @param dto + * @description + * @author cwchen + * @date 2024/3/22 10:13 + */ + void removeTeamUser(ParamDto dto); + + /** + * 获取班组组员和未加入班组人员 + * + * @param dto + * @return List> + * @description + * @author cwchen + * @date 2024/3/22 10:35 + */ + @MapKey("id") + List> getTeamUserAndNoBandingUser(ParamDto dto); + + /** + * 添加班组人员 + * @param userId + * @param teamId + * @param type + * @description + * @author cwchen + * @date 2024/3/22 10:52 + */ + void addTeamUser(@Param("userId") String userId, @Param("teamId") String teamId, @Param("type") int type); } diff --git a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/TeamService.java b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/TeamService.java index e6040a0..99668c4 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/TeamService.java +++ b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/TeamService.java @@ -2,6 +2,7 @@ package com.securitycontrol.background.service; import com.securitycontrol.common.core.web.domain.AjaxResult; import com.securitycontrol.entity.background.dto.ParamDto; +import com.securitycontrol.entity.background.vo.HumanManageVo; import com.securitycontrol.entity.background.vo.TeamManageVo; import java.util.List; @@ -24,6 +25,7 @@ public interface TeamService { /** * 删除班组 + * * @param vo * @return AjaxResult * @description @@ -53,4 +55,47 @@ public interface TeamService { * @date 2024/3/21 10:40 */ AjaxResult getTeamDetailById(ParamDto dto); + + /** + * 获取班组人员列表 + * + * @param dto + * @return List + * @description + * @author cwchen + * @date 2024/3/22 10:02 + */ + List getTeamUserLists(ParamDto dto); + + /** + * 移出班组人员 + * + * @param dto + * @return AjaxResult + * @description + * @author cwchen + * @date 2024/3/22 10:10 + */ + AjaxResult removeTeamUser(ParamDto dto); + + /** + * 获取班组组员和未加入班组人员 + * + * @param dto + * @return AjaxResult + * @description + * @author cwchen + * @date 2024/3/22 10:31 + */ + AjaxResult getTeamUserAndNoBandingUser(ParamDto dto); + + /** + * 添加班组人员 + * @param dto + * @return AjaxResult + * @description + * @author cwchen + * @date 2024/3/22 10:44 + */ + AjaxResult addTeamUser(ParamDto dto); } diff --git a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/impl/TeamServiceImpl.java b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/impl/TeamServiceImpl.java index b89e072..ae24c26 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/impl/TeamServiceImpl.java +++ b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/impl/TeamServiceImpl.java @@ -7,15 +7,21 @@ import com.securitycontrol.common.core.utils.aes.AesCbcUtils; import com.securitycontrol.common.core.web.domain.AjaxResult; import com.securitycontrol.common.security.utils.ValidatorsUtils; import com.securitycontrol.entity.background.dto.ParamDto; +import com.securitycontrol.entity.background.vo.HumanManageVo; import com.securitycontrol.entity.background.vo.TeamManageVo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; import javax.annotation.Resource; import java.util.*; +/** + * 班组-业务逻辑层 + * @author 10488 + */ @Service(value = "TeamService") @Slf4j public class TeamServiceImpl implements TeamService { @@ -30,6 +36,10 @@ public class TeamServiceImpl implements TeamService { public List getTeamLists(ParamDto dto) { List list = new ArrayList<>(); list = mapper.getTeamLists(dto); + for (TeamManageVo vo : list) { + int num = mapper.getTeamUserNum(vo.getTeamId()); + vo.setTeamNum(String.valueOf(num)); + } return list; } @@ -59,6 +69,8 @@ public class TeamServiceImpl implements TeamService { mapper.addOrUpdateTeam(vo); } catch (Exception e) { log.error("新增/修改班组", e); + //手动回滚异常 + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return AjaxResult.error(); } return AjaxResult.success(); @@ -108,11 +120,84 @@ public class TeamServiceImpl implements TeamService { @Override @Transactional(rollbackFor = Exception.class) public AjaxResult delTeam(ParamDto dto) { - int result = mapper.isPeopleByTeam(dto); - if(result > 0){ - return AjaxResult.error("班组存在人员"); + try { + int result = mapper.isPeopleByTeam(dto); + if(result > 0){ + return AjaxResult.error("班组存在人员"); + } + mapper.delTeam(dto); + return AjaxResult.success(); + } catch (Exception e) { + log.error("删除班组",e); + //手动回滚异常 + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error(); + } + } + + @Override + public List getTeamUserLists(ParamDto dto) { + List list = new ArrayList<>(); + list = mapper.getTeamUserLists(dto); + return list; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult removeTeamUser(ParamDto dto) { + try { + mapper.removeTeamUser(dto); + return AjaxResult.success(); + } catch (Exception e) { + log.error("移出班组人员"); + //手动回滚异常 + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error(); + } + } + + @Override + public AjaxResult getTeamUserAndNoBandingUser(ParamDto dto) { + Map map = new HashMap<>(16); + List> teamUsers = new ArrayList<>(); + List> noBandingUsers = new ArrayList<>(); + List> list = mapper.getTeamUserAndNoBandingUser(dto); + if(CollectionUtils.isNotEmpty(list)){ + for (Map stringMap : list) { + if(Objects.equals(stringMap.get("type"),"1")){ + teamUsers.add(stringMap); + }else if(Objects.equals(stringMap.get("type"),"2")){ + noBandingUsers.add(stringMap); + } + } + } + map.put("teamUsers",teamUsers); + map.put("noBandingUsers",noBandingUsers); + return AjaxResult.success(map); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult addTeamUser(ParamDto dto) { + try { + if(StringUtils.isNotEmpty(dto.getBandingUsers())){ + String[] bandingUserArr = dto.getBandingUsers().split(","); + for (String bandingUser : bandingUserArr) { + mapper.addTeamUser(bandingUser,dto.getId(),1); + } + } + if(StringUtils.isNotEmpty(dto.getUnBandingUsers())){ + String[] unBandingUserArr = dto.getUnBandingUsers().split(","); + for (String unBandingUser : unBandingUserArr) { + mapper.addTeamUser(unBandingUser,null,2); + } + } + return AjaxResult.success(); + } catch (Exception e) { + log.error("添加班组人员"); + //手动回滚异常 + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error(); } - mapper.delTeam(dto); - return AjaxResult.success(); } } diff --git a/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/TeamManageMapper.xml b/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/TeamManageMapper.xml index ecb2b49..d6ec43b 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/TeamManageMapper.xml +++ b/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/TeamManageMapper.xml @@ -38,6 +38,19 @@ WHERE team_id = #{teamId} + + + + UPDATE t_team_people SET team_id = #{teamId} WHERE user_id = #{userId} + + + UPDATE t_team_people SET team_id = NULL WHERE user_id = #{userId} + + + + + UPDATE t_team_people SET team_id = NULL WHERE user_id = #{id} + DELETE FROM tb_work_team WHERE team_id = #{id} @@ -92,4 +105,29 @@ + + + + + + \ No newline at end of file