Jelajahi Sumber

fix: 设备出入库登记增加查询条件

caozixuan 1 tahun lalu
induk
melakukan
865543ce40

+ 43 - 58
sop-api/src/main/java/com/qmth/sop/server/api/TBDeviceInOutController.java

@@ -14,6 +14,7 @@ import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.common.contant.SystemConstant;
 import com.qmth.sop.common.enums.DeviceStatusEnum;
 import com.qmth.sop.common.enums.DeviceUsageTypeEnum;
+import com.qmth.sop.common.enums.InOutTypeEnum;
 import com.qmth.sop.common.enums.LogTypeEnum;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
@@ -43,53 +44,49 @@ import java.util.stream.Stream;
 @RestController
 @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_DEVICE_IN_OUT)
 public class TBDeviceInOutController {
+
     @Resource
     private TBDeviceInOutService tbDeviceInOutService;
+
     @Resource
     private SysUserService sysUserService;
 
     @ApiOperation(value = "sop管理 - 设备出入库登记查询")
     @RequestMapping(value = "/sop_page", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = DeviceInOutResult.class)})
+    @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = DeviceInOutResult.class) })
     public Result findDeviceInOutPageBySop(@ApiParam(value = "服务单元id") @RequestParam(required = false) String serviceUnitId,
-                                           @ApiParam(value = "用途类型") @RequestParam(required = false) DeviceUsageTypeEnum usageType,
-                                           @ApiParam(value = "登记人") @RequestParam(required = false) String userId,
-                                           @ApiParam(value = "运行状态") @RequestParam(required = false) DeviceStatusEnum deviceStatus,
-                                           @ApiParam(value = "出入库时间 - 开始") @RequestParam(required = false) Long inOutTimeStart,
-                                           @ApiParam(value = "出入库时间 - 结束") @RequestParam(required = false) Long inOutTimeEnd,
-                                           @ApiParam(value = "设备编号") @RequestParam(required = false) String deviceNo,
-                                           @ApiParam(value = "设备序列号") @RequestParam(required = false) String deviceSerialNo,
-                                           @ApiParam(value = "客户名称") @RequestParam(required = false) String customName,
-                                           @ApiParam(value = "当前地") @RequestParam(required = false) String location,
-                                           @ApiParam(value = "发往地") @RequestParam(required = false) String address,
-                                           @ApiParam(value = "登记流水号") @RequestParam(required = false) String serialNo,
-                                           @ApiParam(value = "分页页数", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
-                                           @ApiParam(value = "分页容量", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
+            @ApiParam(value = "用途类型") @RequestParam(required = false) DeviceUsageTypeEnum usageType, @ApiParam(value = "登记人") @RequestParam(required = false) String userId,
+            @ApiParam(value = "运行状态") @RequestParam(required = false) DeviceStatusEnum deviceStatus, @ApiParam(value = "出入库时间 - 开始") @RequestParam(required = false) Long inOutTimeStart,
+            @ApiParam(value = "出入库时间 - 结束") @RequestParam(required = false) Long inOutTimeEnd, @ApiParam(value = "设备编号") @RequestParam(required = false) String deviceNo,
+            @ApiParam(value = "设备序列号") @RequestParam(required = false) String deviceSerialNo, @ApiParam(value = "客户名称") @RequestParam(required = false) String customName,
+            @ApiParam(value = "当前地") @RequestParam(required = false) String location, @ApiParam(value = "发往地") @RequestParam(required = false) String address,
+            @ApiParam(value = "登记流水号") @RequestParam(required = false) String serialNo, @ApiParam(value = "出入库状态") @RequestParam(required = false) InOutTypeEnum inOutType,
+            @ApiParam(value = "分页页数", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
+            @ApiParam(value = "分页容量", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
 
-        return ResultUtil.ok(tbDeviceInOutService.findDeviceInOutPageBySop(SystemConstant.convertIdToLong(serviceUnitId),
-                usageType, SystemConstant.convertIdToLong(userId), deviceStatus, inOutTimeStart, inOutTimeEnd, deviceNo, deviceSerialNo, customName, location, address, serialNo,
-                pageNumber, pageSize));
+        return ResultUtil.ok(
+                tbDeviceInOutService.findDeviceInOutPageBySop(SystemConstant.convertIdToLong(serviceUnitId), usageType,
+                        SystemConstant.convertIdToLong(userId), deviceStatus, inOutTimeStart, inOutTimeEnd, deviceNo,
+                        deviceSerialNo, customName, location, address, serialNo, inOutType, pageNumber, pageSize));
     }
 
     @ApiOperation(value = "查询可出库的设备信息")
     @RequestMapping(value = "/can_out_info", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = DeviceInOutResult.class)})
-    public Result findDeviceCanOutInfo(@ApiParam(value = "供应商id") @RequestParam(required = false) String supplierId,
-                                       @ApiParam(value = "sop编号") @RequestParam(required = false) String sopNo) {
+    @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = DeviceInOutResult.class) })
+    public Result findDeviceCanOutInfo(@ApiParam(value = "供应商id") @RequestParam(required = false) String supplierId, @ApiParam(value = "sop编号") @RequestParam(required = false) String sopNo) {
         return ResultUtil.ok(tbDeviceInOutService.findDeviceCanOutInfo(SystemConstant.convertIdToLong(supplierId), sopNo));
     }
 
     @ApiOperation(value = "查询可入库的设备信息")
     @RequestMapping(value = "/can_in_info", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = DeviceInOutResult.class)})
-    public Result findDeviceCanInInfo(@ApiParam(value = "供应商id") @RequestParam(required = false) String supplierId,
-                                      @ApiParam(value = "派单号") @RequestParam(required = false) String sopNo) {
+    @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = DeviceInOutResult.class) })
+    public Result findDeviceCanInInfo(@ApiParam(value = "供应商id") @RequestParam(required = false) String supplierId, @ApiParam(value = "派单号") @RequestParam(required = false) String sopNo) {
         return ResultUtil.ok(tbDeviceInOutService.findDeviceCanInInfo(SystemConstant.convertIdToLong(supplierId), sopNo));
     }
 
     @ApiOperation(value = "设备出入库提交")
     @RequestMapping(value = "/submit", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "更新成功", response = Result.class)})
+    @ApiResponses({ @ApiResponse(code = 200, message = "更新成功", response = Result.class) })
     @OperationLog(logType = LogTypeEnum.ADD)
     public Result deviceInOutSubmit(@Valid @RequestBody DeviceInOutSubmitParam deviceInOutSubmitParam, BindingResult bindingResult) {
         if (bindingResult.hasErrors()) {
@@ -101,52 +98,40 @@ public class TBDeviceInOutController {
 
     @ApiOperation(value = "资源保障-设备保障-出入库登记查询")
     @RequestMapping(value = "/source_page", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = DeviceInOutResult.class)})
+    @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = DeviceInOutResult.class) })
     public Result findDeviceInOutPageBySource(@ApiParam(value = "服务单元id") @RequestParam(required = false) String serviceUnitId,
-                                              @ApiParam(value = "用途类型") @RequestParam(required = false) DeviceUsageTypeEnum usageType,
-                                              @ApiParam(value = "登记人") @RequestParam(required = false) String userId,
-                                              @ApiParam(value = "运行状态") @RequestParam(required = false) DeviceStatusEnum deviceStatus,
-                                              @ApiParam(value = "出入库时间 - 开始") @RequestParam(required = false) Long inOutTimeStart,
-                                              @ApiParam(value = "出入库时间 - 结束") @RequestParam(required = false) Long inOutTimeEnd,
-                                              @ApiParam(value = "设备编号") @RequestParam(required = false) String deviceNo,
-                                              @ApiParam(value = "设备序列号") @RequestParam(required = false) String deviceSerialNo,
-                                              @ApiParam(value = "客户名称") @RequestParam(required = false) String customName,
-                                              @ApiParam(value = "当前地") @RequestParam(required = false) String location,
-                                              @ApiParam(value = "发往地") @RequestParam(required = false) String address,
-                                              @ApiParam(value = "登记流水号") @RequestParam(required = false) String serialNo,
-                                              @ApiParam(value = "分页页数", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
-                                              @ApiParam(value = "分页容量", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
+            @ApiParam(value = "用途类型") @RequestParam(required = false) DeviceUsageTypeEnum usageType, @ApiParam(value = "登记人") @RequestParam(required = false) String userId,
+            @ApiParam(value = "运行状态") @RequestParam(required = false) DeviceStatusEnum deviceStatus, @ApiParam(value = "出入库时间 - 开始") @RequestParam(required = false) Long inOutTimeStart,
+            @ApiParam(value = "出入库时间 - 结束") @RequestParam(required = false) Long inOutTimeEnd, @ApiParam(value = "设备编号") @RequestParam(required = false) String deviceNo,
+            @ApiParam(value = "设备序列号") @RequestParam(required = false) String deviceSerialNo, @ApiParam(value = "客户名称") @RequestParam(required = false) String customName,
+            @ApiParam(value = "当前地") @RequestParam(required = false) String location, @ApiParam(value = "发往地") @RequestParam(required = false) String address,
+            @ApiParam(value = "登记流水号") @RequestParam(required = false) String serialNo, @ApiParam(value = "出入库状态") @RequestParam(required = false) InOutTypeEnum inOutType,
+            @ApiParam(value = "分页页数", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
+            @ApiParam(value = "分页容量", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
 
         return ResultUtil.ok(tbDeviceInOutService.findDeviceInOutPageBySource(SystemConstant.convertIdToLong(serviceUnitId),
                 usageType, SystemConstant.convertIdToLong(userId), deviceStatus, inOutTimeStart, inOutTimeEnd, deviceNo, deviceSerialNo, customName, location, address, serialNo,
-                pageNumber, pageSize));
+                inOutType, pageNumber, pageSize));
     }
 
     @ApiOperation(value = "资源保障-设备保障-出入库登记查询-查询登记人列表")
     @RequestMapping(value = "/registrant_list", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = SearchResult.class)})
+    @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = SearchResult.class) })
     public Result findDeviceInOutPageBySource() {
         List<SearchResult> resultList = new ArrayList<>();
-        List<Long> userIdList = tbDeviceInOutService.list(new QueryWrapper<TBDeviceInOut>()
-                        .lambda()
-                        .select(TBDeviceInOut::getUserId))
-                .stream()
-                .map(TBDeviceInOut::getUserId)
-                .distinct()
-                .collect(Collectors.toList());
+        List<Long> userIdList = tbDeviceInOutService.list(
+                        new QueryWrapper<TBDeviceInOut>().lambda().select(TBDeviceInOut::getUserId)).stream()
+                .map(TBDeviceInOut::getUserId).distinct().collect(Collectors.toList());
 
         if (CollectionUtils.isNotEmpty(userIdList)) {
-            resultList = sysUserService.list(new QueryWrapper<SysUser>()
-                            .lambda()
-                            .select(SysUser::getId, SysUser::getRealName)
-                            .in(SysUser::getId, userIdList))
-                    .stream()
-                    .flatMap(e -> {
-                        SearchResult searchResult = new SearchResult();
-                        searchResult.setId(e.getId());
-                        searchResult.setValue(e.getRealName());
-                        return Stream.of(searchResult);
-                    }).collect(Collectors.toList());
+            resultList = sysUserService.list(
+                    new QueryWrapper<SysUser>().lambda().select(SysUser::getId, SysUser::getRealName)
+                            .in(SysUser::getId, userIdList)).stream().flatMap(e -> {
+                SearchResult searchResult = new SearchResult();
+                searchResult.setId(e.getId());
+                searchResult.setValue(e.getRealName());
+                return Stream.of(searchResult);
+            }).collect(Collectors.toList());
         }
         return ResultUtil.ok(resultList);
     }

+ 19 - 35
sop-business/src/main/java/com/qmth/sop/business/mapper/TBDeviceInOutMapper.java

@@ -22,6 +22,7 @@ import java.util.List;
  * @since 2023-08-01
  */
 public interface TBDeviceInOutMapper extends BaseMapper<TBDeviceInOut> {
+
     /**
      * sop管理 - 设备出入库登记查询
      *
@@ -38,23 +39,16 @@ public interface TBDeviceInOutMapper extends BaseMapper<TBDeviceInOut> {
      * @param location       当前地
      * @param address        发往地
      * @param serialNo       登记流水号
+     * @param inOutType      出入库状态
      * @param dpr            数据权限
      * @return 分页结果
      */
-    IPage<DeviceInOutResult> findDeviceInOutPageBySop(@Param("iPage") Page<DeviceInOutResult> iPage,
-                                                      @Param("serviceUnitId") Long serviceUnitId,
-                                                      @Param("usageType") DeviceUsageTypeEnum usageType,
-                                                      @Param("userId") Long userId,
-                                                      @Param("deviceStatus") DeviceStatusEnum deviceStatus,
-                                                      @Param("inOutTimeStart") Long inOutTimeStart,
-                                                      @Param("inOutTimeEnd") Long inOutTimeEnd,
-                                                      @Param("deviceNo") String deviceNo,
-                                                      @Param("deviceSerialNo") String deviceSerialNo,
-                                                      @Param("customName") String customName,
-                                                      @Param("location") String location,
-                                                      @Param("address") String address,
-                                                      @Param("serialNo") String serialNo,
-                                                      @Param("dpr") DataPermissionDto dpr);
+    IPage<DeviceInOutResult> findDeviceInOutPageBySop(@Param("iPage") Page<DeviceInOutResult> iPage, @Param("serviceUnitId") Long serviceUnitId,
+            @Param("usageType") DeviceUsageTypeEnum usageType, @Param("userId") Long userId, @Param("deviceStatus") DeviceStatusEnum deviceStatus,
+            @Param("inOutTimeStart") Long inOutTimeStart, @Param("inOutTimeEnd") Long inOutTimeEnd, @Param("deviceNo") String deviceNo,
+            @Param("deviceSerialNo") String deviceSerialNo, @Param("customName") String customName, @Param("location") String location,
+            @Param("address") String address, @Param("serialNo") String serialNo,
+            @Param("inOutType") InOutTypeEnum inOutType, @Param("dpr") DataPermissionDto dpr);
 
     /**
      * 资源保障-设备保障-出入库登记查询
@@ -72,23 +66,16 @@ public interface TBDeviceInOutMapper extends BaseMapper<TBDeviceInOut> {
      * @param location       当前地
      * @param address        发往地
      * @param serialNo       登记流水号
+     * @param inOutType      出入库状态
      * @param dpr            数据权限
      * @return 分页结果
      */
-    IPage<DeviceInOutResult> findDeviceInOutPageBySource(@Param("iPage") Page<DeviceInOutResult> iPage,
-                                                         @Param("serviceUnitId") Long serviceUnitId,
-                                                         @Param("usageType") DeviceUsageTypeEnum usageType,
-                                                         @Param("userId") Long userId,
-                                                         @Param("deviceStatus") DeviceStatusEnum deviceStatus,
-                                                         @Param("inOutTimeStart") Long inOutTimeStart,
-                                                         @Param("inOutTimeEnd") Long inOutTimeEnd,
-                                                         @Param("deviceNo") String deviceNo,
-                                                         @Param("deviceSerialNo") String deviceSerialNo,
-                                                         @Param("customName") String customName,
-                                                         @Param("location") String location,
-                                                         @Param("address") String address,
-                                                         @Param("serialNo") String serialNo,
-                                                         @Param("dpr") DataPermissionDto dpr);
+    IPage<DeviceInOutResult> findDeviceInOutPageBySource(@Param("iPage") Page<DeviceInOutResult> iPage, @Param("serviceUnitId") Long serviceUnitId,
+            @Param("usageType") DeviceUsageTypeEnum usageType, @Param("userId") Long userId, @Param("deviceStatus") DeviceStatusEnum deviceStatus,
+            @Param("inOutTimeStart") Long inOutTimeStart, @Param("inOutTimeEnd") Long inOutTimeEnd, @Param("deviceNo") String deviceNo,
+            @Param("deviceSerialNo") String deviceSerialNo, @Param("customName") String customName, @Param("location") String location,
+            @Param("address") String address, @Param("serialNo") String serialNo,
+            @Param("inOutType") InOutTypeEnum inOutType, @Param("dpr") DataPermissionDto dpr);
 
     /**
      * 查询可出库设备信息
@@ -98,10 +85,8 @@ public interface TBDeviceInOutMapper extends BaseMapper<TBDeviceInOut> {
      * @param inOutType  设备最后一次出入库记录状态 -- 入库
      * @return 可出库设备信息
      */
-    List<DeviceInOutResult> findDeviceCanOutInfo(@Param("supplierId") Long supplierId,
-                                                 @Param("status") DeviceStatusEnum status,
-                                                 @Param("inOutType") InOutTypeEnum inOutType);
-
+    List<DeviceInOutResult> findDeviceCanOutInfo(@Param("supplierId") Long supplierId, @Param("status") DeviceStatusEnum status,
+            @Param("inOutType") InOutTypeEnum inOutType);
 
     /**
      * 查询可入库设备信息(sop项目入库需要有派单号)
@@ -111,7 +96,6 @@ public interface TBDeviceInOutMapper extends BaseMapper<TBDeviceInOut> {
      * @param sopNo      sopNo
      * @return 可入库设备信息
      */
-    List<DeviceInOutResult> findDeviceCanInInfo(@Param("supplierId") Long supplierId,
-                                                @Param("inOutType") InOutTypeEnum inOutType,
-                                                @Param("sopNo") String sopNo);
+    List<DeviceInOutResult> findDeviceCanInInfo(@Param("supplierId") Long supplierId, @Param("inOutType") InOutTypeEnum inOutType,
+            @Param("sopNo") String sopNo);
 }

+ 7 - 7
sop-business/src/main/java/com/qmth/sop/business/service/TBDeviceInOutService.java

@@ -7,6 +7,7 @@ import com.qmth.sop.business.bean.result.DeviceInOutResult;
 import com.qmth.sop.business.entity.TBDeviceInOut;
 import com.qmth.sop.common.enums.DeviceStatusEnum;
 import com.qmth.sop.common.enums.DeviceUsageTypeEnum;
+import com.qmth.sop.common.enums.InOutTypeEnum;
 
 import java.util.List;
 
@@ -36,14 +37,14 @@ public interface TBDeviceInOutService extends IService<TBDeviceInOut> {
      * @param location       当前地
      * @param address        发往地
      * @param serialNo       登记流水号
+     * @param inOutType      出入库状态
      * @param pageNumber     分页页数
      * @param pageSize       分页容量
      * @return 分页结果
      */
     IPage<DeviceInOutResult> findDeviceInOutPageBySop(Long serviceUnitId, DeviceUsageTypeEnum usageType, Long userId,
-                                                      DeviceStatusEnum deviceStatus, Long inOutTimeStart, Long inOutTimeEnd,
-                                                      String deviceNo, String deviceSerialNo, String customName, String location, String address, String serialNo,
-                                                      Integer pageNumber, Integer pageSize);
+            DeviceStatusEnum deviceStatus, Long inOutTimeStart, Long inOutTimeEnd, String deviceNo, String deviceSerialNo, String customName, String location, String address, String serialNo,
+            InOutTypeEnum inOutType, Integer pageNumber, Integer pageSize);
 
     /**
      * 查询可出库的设备信息
@@ -70,7 +71,6 @@ public interface TBDeviceInOutService extends IService<TBDeviceInOut> {
      */
     void deviceInOutSubmit(DeviceInOutSubmitParam deviceInOutSubmitParam);
 
-
     // -- 出入库登记查询 资源保障部分
 
     /**
@@ -88,12 +88,12 @@ public interface TBDeviceInOutService extends IService<TBDeviceInOut> {
      * @param location       当前地
      * @param address        发往地
      * @param serialNo       登记流水号
+     * @param inOutType      出入库状态
      * @param pageNumber     分页页数
      * @param pageSize       分页容量
      * @return 分页结果
      */
     IPage<DeviceInOutResult> findDeviceInOutPageBySource(Long serviceUnitId, DeviceUsageTypeEnum usageType, Long userId,
-                                                         DeviceStatusEnum deviceStatus, Long inOutTimeStart, Long inOutTimeEnd,
-                                                         String deviceNo, String deviceSerialNo, String customName, String location, String address, String serialNo,
-                                                         Integer pageNumber, Integer pageSize);
+            DeviceStatusEnum deviceStatus, Long inOutTimeStart, Long inOutTimeEnd, String deviceNo, String deviceSerialNo, String customName, String location, String address, String serialNo,
+            InOutTypeEnum inOutType, Integer pageNumber, Integer pageSize);
 }

+ 4 - 4
sop-business/src/main/java/com/qmth/sop/business/service/impl/TBDeviceInOutServiceImpl.java

@@ -59,7 +59,7 @@ public class TBDeviceInOutServiceImpl extends ServiceImpl<TBDeviceInOutMapper, T
 
     @Override
     public IPage<DeviceInOutResult> findDeviceInOutPageBySop(Long serviceUnitId, DeviceUsageTypeEnum usageType, Long userId, DeviceStatusEnum deviceStatus, Long inOutTimeStart, Long inOutTimeEnd, String deviceNo,
-            String deviceSerialNo, String customName, String location, String address, String serialNo, Integer pageNumber, Integer pageSize) {
+            String deviceSerialNo, String customName, String location, String address, String serialNo, InOutTypeEnum inOutType, Integer pageNumber, Integer pageSize) {
         deviceNo = SystemConstant.translateSpecificSign(deviceNo);
         deviceSerialNo = SystemConstant.translateSpecificSign(deviceSerialNo);
         customName = SystemConstant.translateSpecificSign(customName);
@@ -71,7 +71,7 @@ public class TBDeviceInOutServiceImpl extends ServiceImpl<TBDeviceInOutMapper, T
         DataPermissionDto dpr = sysUserService.buildUserDataPermission(requestUser.getId());
         IPage<DeviceInOutResult> result = this.baseMapper.findDeviceInOutPageBySop(new Page<>(pageNumber, pageSize),
                 serviceUnitId, usageType, userId, deviceStatus, inOutTimeStart, inOutTimeEnd, deviceNo, deviceSerialNo,
-                customName, location, address, serialNo, dpr);
+                customName, location, address, serialNo, inOutType, dpr);
         result.getRecords().forEach(e -> {
             String addressArrTemp = e.getAddressArrTemp();
             String locationArrTemp = e.getLocationArrTemp();
@@ -247,7 +247,7 @@ public class TBDeviceInOutServiceImpl extends ServiceImpl<TBDeviceInOutMapper, T
 
     @Override
     public IPage<DeviceInOutResult> findDeviceInOutPageBySource(Long serviceUnitId, DeviceUsageTypeEnum usageType, Long userId, DeviceStatusEnum deviceStatus, Long inOutTimeStart, Long inOutTimeEnd, String deviceNo,
-            String deviceSerialNo, String customName, String location, String address, String serialNo, Integer pageNumber, Integer pageSize) {
+            String deviceSerialNo, String customName, String location, String address, String serialNo, InOutTypeEnum inOutType, Integer pageNumber, Integer pageSize) {
         deviceNo = SystemConstant.translateSpecificSign(deviceNo);
         customName = SystemConstant.translateSpecificSign(customName);
         location = SystemConstant.translateSpecificSign(location);
@@ -260,7 +260,7 @@ public class TBDeviceInOutServiceImpl extends ServiceImpl<TBDeviceInOutMapper, T
 
         IPage<DeviceInOutResult> result = this.baseMapper.findDeviceInOutPageBySource(new Page<>(pageNumber, pageSize),
                 serviceUnitId, usageType, userId, deviceStatus, inOutTimeStart, inOutTimeEnd, deviceNo, deviceSerialNo,
-                customName, location, address, serialNo, dpr);
+                customName, location, address, serialNo, inOutType, dpr);
 
         result.getRecords().forEach(e -> {
             String addressArrTemp = e.getAddressArrTemp();

+ 6 - 0
sop-business/src/main/resources/mapper/TBDeviceInOutMapper.xml

@@ -74,6 +74,9 @@
             <if test="serialNo != null and serialNo != ''">
                 AND tbdio.serial_no LIKE CONCAT('%',#{serialNo},'%')
             </if>
+            <if test="inOutType != null">
+                AND tbdio.type = #{inOutType}
+            </if>
             <if test="dpr != null and !dpr.hasAdmin and !dpr.hasPmo">
                 <choose>
                     <when test="dpr.hasBusiness">
@@ -172,6 +175,9 @@
             <if test="serialNo != null and serialNo != ''">
                 AND tbdio.serial_no LIKE CONCAT('%',#{serialNo},'%')
             </if>
+            <if test="inOutType != null">
+                AND tbdio.type = #{inOutType}
+            </if>
             <if test="dpr != null and !dpr.hasAdmin and !dpr.hasPmo">
                 <choose>
                     <when test="dpr.hasBusiness">