zhangnaisong
2024-07-06 77c5a466bac023b91e2d59fb22014c3035bd7aeb
电磁锁挂接电子围栏修改提交
已修改4个文件
22 ■■■■■ 文件已修改
ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankWallLockMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankWallLockServiceImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/sy/ArdTankWallLockMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/sy/ArdTankWallMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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