ard-work/src/main/java/com/ruoyi/alarmpoints/elecwall/domain/ArdWall.java
@@ -1,9 +1,12 @@ package com.ruoyi.alarmpoints.elecwall.domain; import com.ruoyi.common.core.domain.entity.SysUser; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; import java.util.List; /** * 电子围栏管理对象 ard_wall @@ -41,8 +44,19 @@ /** 所属用户 */ @Excel(name = "所属用户") private String userId; /** 关联用户列表 */ @Excel(name = "关联用户列表") List<SysUser> sysUserList; public void setId(String id) public List<SysUser> getSysUserList() { return sysUserList; } public void setSysUserList(List<SysUser> sysUserList) { this.sysUserList = sysUserList; } public void setId(String id) { this.id = id; } ard-work/src/main/java/com/ruoyi/alarmpoints/elecwall/domain/ArdWallUser.java
对比新文件 @@ -0,0 +1,24 @@ package com.ruoyi.alarmpoints.elecwall.domain; import com.ruoyi.common.annotation.Excel; import lombok.Data; /** * 派警关联用户对象 ard_dispatch_police_user * * @author ard * @date 2023-08-21 */ @Data public class ArdWallUser { private static final long serialVersionUID = 1L; /** 围栏ID */ @Excel(name = "围栏ID") private String wallId; /** 关联用户ID */ @Excel(name = "关联用户ID") private String userId; } ard-work/src/main/java/com/ruoyi/alarmpoints/elecwall/mapper/ArdWallMapper.java
@@ -2,6 +2,8 @@ import java.util.List; import com.ruoyi.alarmpoints.elecwall.domain.ArdWall; import com.ruoyi.alarmpoints.elecwall.domain.ArdWallUser; import com.ruoyi.dispatch.domain.ArdDispatchPoliceUser; /** * 电子围栏管理Mapper接口 @@ -58,4 +60,29 @@ * @return 结果 */ public int deleteArdWallByIds(String[] ids); /** * 批量新增围栏关联用户 * * @param ardWallUserList 围栏关联用户列表 * @return 结果 */ public int batchArdWallUser(List<ArdWallUser> ardWallUserList); /** * 通过围栏管理主键删除派警关联用户信息 * * @param id 围栏管理ID * @return 结果 */ public int deleteArdWallUserByWallId(String id); /** * 批量删除围栏关联用户 * * @param ids 需要删除的数据主键集合 * @return 结果 */ public int deleteArdWallUserByWallIds(String[] ids); } ard-work/src/main/java/com/ruoyi/alarmpoints/elecwall/service/impl/ArdWallServiceImpl.java
@@ -1,9 +1,16 @@ package com.ruoyi.alarmpoints.elecwall.service.impl; import java.util.ArrayList; import java.util.List; import com.ruoyi.alarmpoints.elecwall.domain.ArdWallUser; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.dispatch.domain.ArdDispatchPolice; import com.ruoyi.dispatch.domain.ArdDispatchPoliceUser; import org.springframework.stereotype.Service; import com.ruoyi.alarmpoints.elecwall.mapper.ArdWallMapper; import com.ruoyi.alarmpoints.elecwall.domain.ArdWall; @@ -53,9 +60,11 @@ @Override public int insertArdWall(ArdWall ardWall) { ardWall.setId(IdUtils.simpleUUID()); ardWall.setCreateBy(SecurityUtils.getUsername()); ardWall.setCreateTime(DateUtils.getNowDate()); return ardWallMapper.insertArdWall(ardWall); ardWall.setCreateBy(SecurityUtils.getUsername()); ardWall.setCreateTime(DateUtils.getNowDate()); int i = ardWallMapper.insertArdWall(ardWall); insertArdWallUser(ardWall); return i; } /** @@ -66,8 +75,10 @@ */ @Override public int updateArdWall(ArdWall ardWall) { ardWall.setUpdateBy(SecurityUtils.getUsername()); ardWall.setUpdateTime(DateUtils.getNowDate()); ardWall.setUpdateBy(SecurityUtils.getUsername()); ardWall.setUpdateTime(DateUtils.getNowDate()); ardWallMapper.deleteArdWallUserByWallId(ardWall.getId()); insertArdWallUser(ardWall); return ardWallMapper.updateArdWall(ardWall); } @@ -79,6 +90,7 @@ */ @Override public int deleteArdWallByIds(String[] ids) { ardWallMapper.deleteArdWallUserByWallIds(ids); return ardWallMapper.deleteArdWallByIds(ids); } @@ -90,6 +102,29 @@ */ @Override public int deleteArdWallById(String id) { ardWallMapper.deleteArdWallUserByWallId(id); return ardWallMapper.deleteArdWallById(id); } /** * 新增电子围栏关联用户信息 * * @param ardWall 电子围栏管理对象 */ public void insertArdWallUser(ArdWall ardWall) { List<SysUser> sysUserList = ardWall.getSysUserList(); String id = ardWall.getId(); if (StringUtils.isNotNull(sysUserList)) { List<ArdWallUser> list = new ArrayList<ArdWallUser>(); for (SysUser user : sysUserList) { ArdWallUser ardWallUser = new ArdWallUser(); ardWallUser.setWallId(id); ardWallUser.setUserId(user.getUserId()); list.add(ardWallUser); } if (list.size() > 0) { ardWallMapper.batchArdWallUser(list); } } } } ard-work/src/main/java/com/ruoyi/dispatch/service/impl/ArdDispatchPoliceServiceImpl.java
@@ -83,8 +83,7 @@ public int updateArdDispatchPolice(ArdDispatchPolice ardDispatchPolice) { ardDispatchPolice.setUpdateBy(SecurityUtils.getUsername()); ardDispatchPolice.setUpdateTime(DateUtils.getNowDate()); ardDispatchPoliceMapper.deleteArdDispatchPoliceUserByDispatchId(ardDispatchPolice.getId()) ; ardDispatchPoliceMapper.deleteArdDispatchPoliceUserByDispatchId(ardDispatchPolice.getId()); insertArdDispatchPoliceUser(ardDispatchPolice); return ardDispatchPoliceMapper.updateArdDispatchPolice(ardDispatchPolice); } @@ -115,11 +114,6 @@ return ardDispatchPoliceMapper.deleteArdDispatchPoliceById(id); } /** * 新增派警关联用户信息 * * @param ardDispatchPolice 派警管理对象 */ /** * 新增派警关联用户信息 * ard-work/src/main/resources/mapper/alarmpoints/ArdWallMapper.xml
@@ -16,6 +16,19 @@ <result property="createTime" column="create_time" /> <result property="updateBy" column="update_by" /> <result property="updateTime" column="update_time" /> <!-- 子查询,关联 ard_dispatch_police_user 表 --> <collection property="sysUserList" ofType="java.util.List" select="getSysUserListByMainTableId" column="id"/> </resultMap> <select id="getSysUserListByMainTableId" resultType="SysUser"> SELECT u.* FROM ard_wall_user b left join sys_user u on b.user_id = u.user_id WHERE wall_id = #{id} </select> <resultMap type="SysUser" id="SysUserListResult"> <result property="userId" column="sub_user_id"/> <result property="nickName" column="sub_nick_name"/> <result property="deptId" column="sub_dept_id"/> </resultMap> <sql id="selectArdWallVo"> @@ -96,4 +109,21 @@ #{id} </foreach> </delete> <insert id="batchArdWallUser"> insert into ard_wall_user( wall_id, user_id) values <foreach item="item" index="index" collection="list" separator=","> ( #{item.wallId}, #{item.userId}) </foreach> </insert> <delete id="deleteArdWallUserByWallId" parameterType="String"> delete from ard_wall_user where wall_id = #{wallId} </delete> <delete id="deleteArdWallUserByWallIds" parameterType="String"> delete from ard_wall_user where wall_id in <foreach item="wallId" collection="array" open="(" separator="," close=")"> #{wallId} </foreach> </delete> </mapper>