ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankWallLockMapper.java
@@ -2,6 +2,7 @@ import java.util.List; import com.ruoyi.sy.domain.ArdTankWallLock; import org.apache.ibatis.annotations.Param; /** * 电子围栏电磁锁Mapper接口 @@ -64,4 +65,6 @@ public int deleteArdTankWallLockByWallId(String wallId); public int updateArdTankWallLockByWallIdAndLockId(ArdTankWallLock ardTankWallLock); public int deleteArdTankWallLockByLockIdAndOtherIds(@Param("lockId")String lockId,@Param("idList")List<String> idList); } ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankWallLockServiceImpl.java
@@ -99,6 +99,7 @@ String id = (String) para.get("id");//锁主键 List<Map<String,String>> tankWallLockList = (List<Map<String, String>>) para.get("tankWallLockList"); //List<ArdTankWallLock> tankWallLocks = new ArrayList(); List<String> idList = new ArrayList();//存放新增和修改的中间表主键 int result = 0; for(Map<String,String> map : tankWallLockList){ ArdTankWallLock ardTankWallLock = new ArdTankWallLock(); @@ -108,12 +109,19 @@ if(ardTankWallLockList.size() != 0){ ardTankWallLock.setProcessType(map.get("processType")); result = result + ardTankWallLockMapper.updateArdTankWallLockByWallIdAndLockId(ardTankWallLock); for(ArdTankWallLock ardTankWallLockOld : ardTankWallLockList){//需要修改的主键 idList.add(ardTankWallLockOld.getId()); } }else{ ardTankWallLock.setProcessType(map.get("processType")); ardTankWallLock.setId(IdUtils.simpleUUID()); result = result + ardTankWallLockMapper.insertArdTankWallLock(ardTankWallLock); idList.add(ardTankWallLock.getId());//新增的主键 } } if(!idList.isEmpty()){//判断是否有需要删除的数据主键 result = result + ardTankWallLockMapper.deleteArdTankWallLockByLockIdAndOtherIds(id,idList); } return result; } ard-work/src/main/resources/mapper/sy/ArdTankWallLockMapper.xml
@@ -81,4 +81,13 @@ </trim> where wall_id = #{wallId} and lock_id = #{lockId} </update> <delete id="deleteArdTankWallLockByLockIdAndOtherIds" > delete from ard_tank_wall_lock atwl where atwl.lock_id = #{lockId} and atwl.id not in <foreach item="mid" collection="idList" open="(" separator="," close=")"> #{mid} </foreach> </delete> </mapper> ard-work/src/main/resources/mapper/sy/ArdTankWallMapper.xml
@@ -67,7 +67,7 @@ </select> <select id="getArdTankWallByLockId" resultType="java.util.Map" parameterType="java.lang.String"> select atw.id,atw.wall_name as "wallName",atw.wall_poi as "wallPoi", select atw.id as "wallId",atw.wall_name as "wallName",atw.wall_poi as "wallPoi", atwl.process_type as "processType",case process_type when '-1' then '关动作' when '0' then '无动作' when '1' then '开动作' end as process from ard_tank_wall_lock atwl