zhangnaisong
2024-07-04 4b8bdee03a2469a0260611f4f06d26ef16c5383c
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java
@@ -278,4 +278,50 @@
        int result = ardTankLockMapper.deleteLockByCarId(carId);
        return result;
    }
    @Override
    public int updateLockByCarId(Map<String, Object> para) {
        int result = 0;
        String carId = (String) para.get("carId");
        List<ArdTankLock> ardTankLockOldList = ardTankLockMapper.getLockByCarId(carId);
        Set<String> idSet = new HashSet();//之前的主键
        for(ArdTankLock ardTankLock : ardTankLockOldList){
            idSet.add(ardTankLock.getId());
        }
        //Set<String> newIdSet = new HashSet();//传参的主键
        List<Map<String,Object>> lockList = (List<Map<String, Object>>) para.get("lockList");
        List<ArdTankLock> ardTankLocks = new ArrayList();
        for(Map<String,Object> map : lockList){
            if(map.get("id") != null){//有主键,做修改操作
                //newIdSet.add((String) map.get("id"));
                idSet.remove((String) map.get("id"));
                ArdTankLock ardTankLock = new ArdTankLock();
                ardTankLock.setId((String) map.get("id"));
                ardTankLock.setLockNum((String) map.get("lockNum"));
                ardTankLock.setLockName((String) map.get("lockName"));
                ardTankLock.setImgPositionTop((String) map.get("imgPositionTop"));
                ardTankLock.setImgPositionLeft((String) map.get("imgPositionLeft"));
                ardTankLock.setCarId((String) map.get("carId"));
                ardTankLock.setEnable((String) map.get("enable"));
                result = result + ardTankLockMapper.updateArdTankLock(ardTankLock);
            }else{//无主键,做修改操作
                ArdTankLock ardTankLock = new ArdTankLock();
                ardTankLock.setId(IdUtils.simpleUUID());
                ardTankLock.setLockNum((String) map.get("lockNum"));
                ardTankLock.setLockName((String) map.get("lockName"));
                ardTankLock.setImgPositionTop((String) map.get("imgPositionTop"));
                ardTankLock.setImgPositionLeft((String) map.get("imgPositionLeft"));
                ardTankLock.setCarId(carId);
                ardTankLock.setEnable((String) map.get("enable"));
                ardTankLocks.add(ardTankLock);
            }
        }
        if(ardTankLocks.size() != 0){
            result = result + ardTankLockMapper.insertArdTankLocks(ardTankLocks);
        }
        if(!idSet.isEmpty()){
            result = result + ardTankLockMapper.deleteArdTankLockByIdSet(idSet);
        }
        return result;
    }
}