车车 11 месяцев назад
Родитель
Сommit
3adc84be2c
15 измененных файлов с 130 добавлено и 34 удалено
  1. 4 7
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/lotostation/LotoStationController.java
  2. 12 4
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/lotostation/vo/LotoStationPageReqVO.java
  3. 3 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/lotostation/vo/LotoStationRespVO.java
  4. 8 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/map/MapController.java
  5. 8 5
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/dal/mysql/lotostation/LotoStationMapper.java
  6. 2 8
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/isolationpoint/IsolationPointServiceImpl.java
  7. 1 1
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/lotostation/LotoStationService.java
  8. 24 2
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/lotostation/LotoStationServiceImpl.java
  9. 2 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/map/MapService.java
  10. 30 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/map/MapServiceImpl.java
  11. 2 2
      yudao-module-iscs/src/main/resources/mapper/ExceptionMapper.xml
  12. 1 1
      yudao-module-iscs/src/main/resources/mapper/ExceptionMisplaceMapper.xml
  13. 30 1
      yudao-module-iscs/src/main/resources/mapper/LotoStationMapper.xml
  14. 1 1
      yudao-module-iscs/src/main/resources/mapper/MaterialsCheckRecordMapper.xml
  15. 2 2
      yudao-module-iscs/src/main/resources/mapper/MaterialsLoanMapper.xml

+ 4 - 7
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/lotostation/LotoStationController.java

@@ -4,14 +4,12 @@ import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.pojo.PageParam;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
 import cn.iocoder.yudao.module.iscs.controller.admin.isolationpoint.vo.BindingPointVO;
 import cn.iocoder.yudao.module.iscs.controller.admin.lotostation.vo.LotoStationPageReqVO;
 import cn.iocoder.yudao.module.iscs.controller.admin.lotostation.vo.LotoStationRespVO;
 import cn.iocoder.yudao.module.iscs.controller.admin.lotostation.vo.LotoStationSaveReqVO;
 import cn.iocoder.yudao.module.iscs.controller.admin.lotostation.vo.PointsMapVO;
-import cn.iocoder.yudao.module.iscs.dal.dataobject.lotostation.LotoStationDO;
 import cn.iocoder.yudao.module.iscs.service.lotostation.LotoStationService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
@@ -76,8 +74,8 @@ public class LotoStationController {
     @Operation(summary = "获得电柜分页")
     @PreAuthorize("@ss.hasPermission('iscs:loto-station:query')")
     public CommonResult<PageResult<LotoStationRespVO>> getLotoStationPage(@Valid LotoStationPageReqVO pageReqVO) {
-        PageResult<LotoStationDO> pageResult = lotoStationService.getLotoStationPage(pageReqVO);
-        return success(BeanUtils.toBean(pageResult, LotoStationRespVO.class));
+        PageResult<LotoStationRespVO> pageResult = lotoStationService.getLotoStationPage(pageReqVO);
+        return success(pageResult);
     }
 
     @GetMapping("/exportLotoStationExcel")
@@ -87,10 +85,9 @@ public class LotoStationController {
     public void exportLotoStationExcel(@Valid LotoStationPageReqVO pageReqVO,
               HttpServletResponse response) throws IOException {
         pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
-        List<LotoStationDO> list = lotoStationService.getLotoStationPage(pageReqVO).getList();
+        List<LotoStationRespVO> list = lotoStationService.getLotoStationPage(pageReqVO).getList();
         // 导出 Excel
-        ExcelUtils.write(response, "电柜.xls", "数据", LotoStationRespVO.class,
-                        BeanUtils.toBean(list, LotoStationRespVO.class));
+        ExcelUtils.write(response, "电柜.xls", "数据", LotoStationRespVO.class, list);
     }
 
     @GetMapping("/selectLotoBySerialNumber")

+ 12 - 4
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/lotostation/vo/LotoStationPageReqVO.java

@@ -1,10 +1,11 @@
 package cn.iocoder.yudao.module.iscs.controller.admin.lotostation.vo;
 
-import lombok.*;
-import java.util.*;
-import io.swagger.v3.oas.annotations.media.Schema;
 import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
+
 import java.time.LocalDateTime;
 
 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@@ -13,6 +14,9 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @Data
 public class LotoStationPageReqVO extends PageParam {
 
+    @Schema(description = "id")
+    private Long id;
+
     @Schema(description = "电柜编号")
     private String lotoCode;
 
@@ -44,4 +48,8 @@ public class LotoStationPageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] createTime;
 
-}
+    @Schema(description = "地图name")
+    @TableField(exist = false)
+    private String mapName;
+
+}

+ 3 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/lotostation/vo/LotoStationRespVO.java

@@ -61,4 +61,7 @@ public class LotoStationRespVO {
     @TableField(exist = false)
     private String mapName;
 
+    @Schema(description = "所属岗位Name")
+    private String workstationName;
+
 }

+ 8 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/map/MapController.java

@@ -77,6 +77,14 @@ public class MapController {
         return success(BeanUtils.toBean(pageResult, MapRespVO.class));
     }
 
+    @GetMapping("/getNotUsedMap")
+    @Operation(summary = "获得地图参数分页")
+    @PreAuthorize("@ss.hasPermission('iscs:map:query')")
+    public CommonResult<List<MapDO>> getNotUsedMap() {
+        List<MapDO> list = mapService.getNotUsedMap();
+        return success(list);
+    }
+
     @GetMapping("/exportMapExcel")
     @Operation(summary = "导出地图参数 Excel")
     @PreAuthorize("@ss.hasPermission('iscs:map:export')")

+ 8 - 5
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/dal/mysql/lotostation/LotoStationMapper.java

@@ -1,13 +1,14 @@
 package cn.iocoder.yudao.module.iscs.dal.mysql.lotostation;
 
-import java.util.*;
-
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.iocoder.yudao.module.iscs.controller.admin.lotostation.vo.LotoStationPageReqVO;
+import cn.iocoder.yudao.module.iscs.controller.admin.lotostation.vo.LotoStationRespVO;
 import cn.iocoder.yudao.module.iscs.dal.dataobject.lotostation.LotoStationDO;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Mapper;
-import cn.iocoder.yudao.module.iscs.controller.admin.lotostation.vo.*;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 电柜 Mapper
@@ -32,4 +33,6 @@ public interface LotoStationMapper extends BaseMapperX<LotoStationDO> {
                 .orderByDesc(LotoStationDO::getId));
     }
 
-}
+    Page<LotoStationRespVO> getLotoStationPage(Page<LotoStationDO> page, @Param(value = "vo") LotoStationPageReqVO vo);
+
+}

+ 2 - 8
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/isolationpoint/IsolationPointServiceImpl.java

@@ -64,9 +64,6 @@ public class IsolationPointServiceImpl extends ServiceImpl<IsolationPointMapper,
         List<IsolationPointDO> list2 = list(Wrappers.<IsolationPointDO>lambdaQuery()
                 .eq(IsolationPointDO::getRfidId, createReqVO.getRfidId()));
         Assert.isTrue(list2.isEmpty(), "该NFC已被使用!");
-        List<IsolationPointDO> list3 = list(Wrappers.<IsolationPointDO>lambdaQuery()
-                .eq(IsolationPointDO::getPointCode, createReqVO.getPointCode()));
-        Assert.isTrue(list3.isEmpty(), "该编号已被使用!");
         List<IsolationPointDO> list4 = list(Wrappers.<IsolationPointDO>lambdaQuery()
                 .eq(IsolationPointDO::getPointSerialNumber, createReqVO.getPointSerialNumber()));
         Assert.isTrue(list4.isEmpty(), "该序列号已被使用!");
@@ -79,16 +76,13 @@ public class IsolationPointServiceImpl extends ServiceImpl<IsolationPointMapper,
                 MapPointDO point = new MapPointDO();
                 point.setMapId(lotoStation.getMapId());
                 point.setMapType("2");
-                point.setEntityId(createReqVO.getId());
+                point.setEntityId(isolationPointDO.getId());
                 mapPointService.save(point);
             }
         }
-        // 插入
-        IsolationPointDO isolationPoint = BeanUtils.toBean(createReqVO, IsolationPointDO.class);
-        isolationPointMapper.insert(isolationPoint);
 
         // 返回
-        return isolationPoint.getId();
+        return isolationPointDO.getId();
     }
 
     @Override

+ 1 - 1
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/lotostation/LotoStationService.java

@@ -62,7 +62,7 @@ public interface LotoStationService extends IService<LotoStationDO> {
      * @param pageReqVO 分页查询
      * @return 电柜分页
      */
-    PageResult<LotoStationDO> getLotoStationPage(LotoStationPageReqVO pageReqVO);
+    PageResult<LotoStationRespVO> getLotoStationPage(LotoStationPageReqVO pageReqVO);
 
     LotoStationRespVO selectLotoBySerialNumber(String lotoSerialNumber);
 

+ 24 - 2
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/lotostation/LotoStationServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.lang.Assert;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.module.iscs.controller.admin.exceptionmisplace.vo.ExceptionMisplaceRespVO;
 import cn.iocoder.yudao.module.iscs.controller.admin.isolationpoint.vo.BindingPointVO;
 import cn.iocoder.yudao.module.iscs.controller.admin.isolationpoint.vo.PointDetailVO;
 import cn.iocoder.yudao.module.iscs.controller.admin.lotostation.vo.LotoStationPageReqVO;
@@ -21,6 +22,7 @@ import cn.iocoder.yudao.module.iscs.service.jobticketpoints.JobTicketPointsServi
 import cn.iocoder.yudao.module.iscs.service.map.MapService;
 import cn.iocoder.yudao.module.iscs.service.sop.SopPointsService;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
@@ -71,6 +73,13 @@ public class LotoStationServiceImpl extends ServiceImpl<LotoStationMapper, LotoS
         List<LotoStationDO> list1 = list(Wrappers.<LotoStationDO>lambdaQuery()
                 .eq(LotoStationDO::getLotoSerialNumber, createReqVO.getLotoSerialNumber()));
         Assert.isTrue(list1.isEmpty(), "该序列号已被使用,请重新填写!");
+        // 判断mapId有没有被使用
+        if (createReqVO.getMapId() != null) {
+            List<LotoStationDO> list2 = list(Wrappers.<LotoStationDO>lambdaQuery()
+                    .eq(LotoStationDO::getMapId, createReqVO.getMapId())
+                    .ne(LotoStationDO::getDeleted, 1));
+            Assert.isTrue(list2.isEmpty(), "该地图已被其他锁定站使用!");
+        }
         // 插入
         LotoStationDO lotoStation = BeanUtils.toBean(createReqVO, LotoStationDO.class);
         lotoStationMapper.insert(lotoStation);
@@ -82,6 +91,14 @@ public class LotoStationServiceImpl extends ServiceImpl<LotoStationMapper, LotoS
     @Override
     public void updateLotoStation(LotoStationSaveReqVO updateReqVO) {
         Assert.notNull(updateReqVO.getId(), "主键id不能为空!");
+        // 判断mapId有没有被使用
+        if (updateReqVO.getMapId() != null) {
+            List<LotoStationDO> list2 = list(Wrappers.<LotoStationDO>lambdaQuery()
+                    .eq(LotoStationDO::getMapId, updateReqVO.getMapId())
+                    .ne(LotoStationDO::getId, updateReqVO.getId())
+                    .ne(LotoStationDO::getDeleted, 1));
+            Assert.isTrue(list2.isEmpty(), "该地图已被其他锁定站使用!");
+        }
         // 判断名称重复
         List<LotoStationDO> list = list(Wrappers.<LotoStationDO>lambdaQuery()
                 .eq(LotoStationDO::getLotoName, updateReqVO.getLotoName())
@@ -145,8 +162,13 @@ public class LotoStationServiceImpl extends ServiceImpl<LotoStationMapper, LotoS
     }
 
     @Override
-    public PageResult<LotoStationDO> getLotoStationPage(LotoStationPageReqVO pageReqVO) {
-        return lotoStationMapper.selectPage(pageReqVO);
+    public PageResult<LotoStationRespVO> getLotoStationPage(LotoStationPageReqVO pageReqVO) {
+        Page<LotoStationDO> page = new Page<LotoStationDO>().setCurrent(pageReqVO.getPageNo()).setSize(pageReqVO.getPageSize());
+        Page<LotoStationRespVO> pageResult = lotoStationMapper.getLotoStationPage(page, pageReqVO);
+        PageResult<LotoStationRespVO> respVOPageResult = new PageResult<>();
+        respVOPageResult.setList(pageResult.getRecords());
+        respVOPageResult.setTotal(pageResult.getTotal());
+        return respVOPageResult;
     }
 
     @Override

+ 2 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/map/MapService.java

@@ -62,4 +62,6 @@ public interface MapService extends IService<MapDO> {
      */
     PageResult<MapDO> getMapPage(MapPageReqVO pageReqVO);
 
+    List<MapDO> getNotUsedMap();
+
 }

+ 30 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/map/MapServiceImpl.java

@@ -8,17 +8,22 @@ import cn.iocoder.yudao.module.iscs.controller.admin.map.vo.MapPageReqVO;
 import cn.iocoder.yudao.module.iscs.controller.admin.map.vo.MapRespVO;
 import cn.iocoder.yudao.module.iscs.controller.admin.map.vo.MapSaveReqVO;
 import cn.iocoder.yudao.module.iscs.controller.admin.mappoint.vo.MapPointRespVO;
+import cn.iocoder.yudao.module.iscs.dal.dataobject.lotostation.LotoStationDO;
 import cn.iocoder.yudao.module.iscs.dal.dataobject.map.MapDO;
 import cn.iocoder.yudao.module.iscs.dal.dto.hardwareApi.UpdateSwitchStatusDTO;
 import cn.iocoder.yudao.module.iscs.dal.mysql.map.MapMapper;
+import cn.iocoder.yudao.module.iscs.service.lotostation.LotoStationService;
 import cn.iocoder.yudao.module.iscs.service.mappoint.MapPointService;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import jakarta.annotation.Resource;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 
 import java.util.List;
+import java.util.stream.Collectors;
 
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static cn.iocoder.yudao.module.iscs.enums.ErrorCodeConstants.MAP_NOT_EXISTS;
@@ -39,6 +44,9 @@ public class MapServiceImpl extends ServiceImpl<MapMapper, MapDO> implements Map
     private MapPointService mapPointService;
     @Resource
     private RedisCacheUtil redisCacheUtil;
+    @Lazy
+    @Resource
+    private LotoStationService lotoStationService;
 
     @Override
     public Long createMap(MapSaveReqVO createReqVO) {
@@ -117,4 +125,26 @@ public class MapServiceImpl extends ServiceImpl<MapMapper, MapDO> implements Map
         return mapMapper.selectPage(pageReqVO);
     }
 
+    @Override
+    public List<MapDO> getNotUsedMap() {
+        // 1.查询所有的map
+        List<MapDO> mapDOList = list();
+        // 1.1.如果不是空 才有意义
+        if (!mapDOList.isEmpty()) {
+            // 2.开始查询哪些是被使用了的
+            List<LotoStationDO> lotoStationDOList = lotoStationService.list(Wrappers.<LotoStationDO>lambdaQuery()
+                    .isNotNull(LotoStationDO::getMapId));
+            // 2.1如果不是空才有意义
+            if (!lotoStationDOList.isEmpty()) {
+                mapDOList.removeIf(item -> lotoStationDOList
+                        .stream()
+                        .map(LotoStationDO::getMapId)
+                        .collect(Collectors.toSet())
+                        .contains(item.getId())
+                );
+            }
+        }
+        return mapDOList;
+    }
+
 }

+ 2 - 2
yudao-module-iscs/src/main/resources/mapper/ExceptionMapper.xml

@@ -22,7 +22,7 @@
             sys_exception e
                 LEFT JOIN system_dict_data d ON e.exception_category = d.value AND d.dict_type = 'classification_of_exceptions'
                 LEFT JOIN isc_loto_station l ON l.id = e.source_id
-                LEFT JOIN isc_materials_cabinet m ON m.cabinet_id = e.source_id
+                LEFT JOIN isc_materials_cabinet m ON m.id = e.source_id
                 LEFT JOIN system_dict_data dd ON e.exception_type = dd.value AND dd.dict_type = 'type_of_exception'
                 LEFT JOIN system_dict_data ddd ON e.exception_level = ddd.value AND ddd.dict_type = 'severity_level'
                 LEFT JOIN system_users u ON u.id = e.raiser
@@ -43,7 +43,7 @@
         LEFT JOIN system_dict_data d ON e.exception_category = d.value AND d.dict_type =
         'classification_of_exceptions'
         LEFT JOIN isc_loto_station l ON l.id = e.source_id
-        LEFT JOIN isc_materials_cabinet m ON m.cabinet_id = e.source_id
+        LEFT JOIN isc_materials_cabinet m ON m.id = e.source_id
         LEFT JOIN system_dict_data dd ON e.exception_type = dd.value AND dd.dict_type = 'type_of_exception'
         LEFT JOIN system_dict_data ddd ON e.exception_level = ddd.value AND ddd.dict_type = 'severity_level'
         LEFT JOIN system_users u ON u.id = e.raiser

+ 1 - 1
yudao-module-iscs/src/main/resources/mapper/ExceptionMisplaceMapper.xml

@@ -22,7 +22,7 @@
         LEFT JOIN isc_materials m ON e.materials_id = m.id
         LEFT JOIN isc_materials_cabinet c1 ON c1.id = e.loan_from_id
         LEFT JOIN isc_materials_cabinet c2 ON c2.id = e.restitution_to_id
-        LEFT JOIN system_user u ON u.id = e.restitution_user_id
+        LEFT JOIN system_users u ON u.id = e.restitution_user_id
         <where>
             <if test="vo.materialsName != null and vo.materialsName.trim != ''">
                 and m.materials_name like concat('%',#{vo.materialsName},'%')

+ 30 - 1
yudao-module-iscs/src/main/resources/mapper/LotoStationMapper.xml

@@ -9,4 +9,33 @@
         文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
      -->
 
-</mapper>
+    <select id="getLotoStationPage"
+            resultType="cn.iocoder.yudao.module.iscs.controller.admin.lotostation.vo.LotoStationRespVO">
+        SELECT
+        l.*,
+        w.workstation_name,
+        m.name as map_name
+        FROM
+        isc_loto_station l
+        LEFT JOIN isc_workstation w ON w.id = l.workstation_id
+        LEFT JOIN system_users u ON u.id = l.creator
+        LEFT JOIN isc_map m ON m.id = l.map_id
+        where
+        l.deleted = 0
+        <if test="vo.lotoName != null and vo.lotoName.trim != ''">
+            and l.loto_name like concat('%',#{vo.lotoName},'%')
+        </if>
+        <if test="vo.lotoCode != null and vo.lotoCode.trim != ''">
+            and l.loto_code like concat('%',#{vo.lotoCode},'%')
+        </if>
+        <if test="vo.workstationId != null">
+            and l.workstation_id = #{vo.workstationId}
+        </if>
+        <if test="vo.id != null">
+            and l.id = #{vo.id}
+        </if>
+        ORDER BY
+        l.order_num asc,
+        l.id DESC
+    </select>
+</mapper>

+ 1 - 1
yudao-module-iscs/src/main/resources/mapper/MaterialsCheckRecordMapper.xml

@@ -27,7 +27,7 @@
         LEFT JOIN isc_materials m ON m.id = r.materials_id
         LEFT JOIN isc_materials_cabinet mc ON mc.id = r.cabinet_id
         LEFT JOIN isc_materials_type t ON t.id = m.materials_type_id
-        LEFT JOIN system_user u ON u.id = r.check_user_id
+        LEFT JOIN system_users u ON u.id = r.check_user_id
         <where>
             <if test="vo.planId != null">
                 and r.plan_id = #{vo.planId}

+ 2 - 2
yudao-module-iscs/src/main/resources/mapper/MaterialsLoanMapper.xml

@@ -40,8 +40,8 @@
         LEFT JOIN isc_materials m ON m.id = l.materials_id
         LEFT JOIN isc_materials_cabinet c1 ON c1.id = l.loan_from_id
         LEFT JOIN isc_materials_cabinet c2 ON c2.id = l.restitution_to_id
-        LEFT JOIN system_user u ON u.id = l.loan_user_id
-        LEFT JOIN system_user u1 ON u1.id = l.restitution_user_id
+        LEFT JOIN system_users u ON u.id = l.loan_user_id
+        LEFT JOIN system_users u1 ON u1.id = l.restitution_user_id
         LEFT JOIN isc_materials_type mt ON mt.id = m.materials_type_id
         <where>
             <if test="vo.materialsName != null and vo.materialsName.trim != ''">