czt
2026-02-11 0c665d8cd63cf1d7bd0e800e3989f04061194927
fzzy-igdss-web/src/main/java/com/fzzy/inout/manager/InoutManager.java
@@ -1,6 +1,10 @@
package com.fzzy.inout.manager;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fzzy.common.manager.CommonManager;
import com.fzzy.igds.camera.ApiCameraManager;
import com.fzzy.igds.camera.data.ApiCameraData;
import com.fzzy.igds.camera.data.ApiCameraResp;
import com.fzzy.igds.constant.Constant;
import com.fzzy.igds.constant.RespCodeEnum;
import com.fzzy.igds.data.*;
@@ -8,6 +12,7 @@
import com.fzzy.igds.service.*;
import com.fzzy.igds.utils.ContextUtil;
import com.fzzy.igds.utils.SystemUtil;
import com.fzzy.work.data.WorkStatus;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.redis.RedisCache;
import lombok.extern.slf4j.Slf4j;
@@ -17,6 +22,7 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.util.*;
/**
@@ -40,6 +46,10 @@
    private DicAreaService dicAreaService;
    @Resource
    private InoutNoticeService inoutNoticeService;
    @Resource
    private CommonManager commonManager;
    @Resource
    private ApiCameraManager apiCameraManager;
    /**
     * 根据用户请求信息,根据当前客户电脑IP,获取出入库称重上次选择的地磅
@@ -510,6 +520,7 @@
        }
        param.setDeptId(ContextUtil.subDeptId(user));
        param.setCompleteStatus(Constant.COMPLETE_STATUS_NONE);
        param.setAuditStatus(WorkStatus.STATUS_50.getCode());
        List<InoutNoticeIn> list = inoutNoticeService.getNoticeIn(param);
        if (null == list || list.isEmpty()) {
@@ -530,6 +541,7 @@
        }
        param.setDeptId(ContextUtil.subDeptId(user));
        param.setCompleteStatus(Constant.COMPLETE_STATUS_NONE);
        param.setAuditStatus(WorkStatus.STATUS_50.getCode());
        List<InoutNoticeOut> list = inoutNoticeService.getNoticeOut(param);
        if (null == list || list.isEmpty()) {
@@ -538,4 +550,61 @@
        return new PageResponse<>(RespCodeEnum.CODE_0000, list);
    }
    /**
     * 根据参数获取出入库的图片
     *
     * @param id
     * @return
     */
    public List<FileInfo> cutImgList(String id) {
        if (StringUtils.isBlank(id)){
            return null;
        }
        List<FileInfo> files = fileService.listFile(ContextUtil.getCompanyId(), id);
        if (null == files) {
            return null;
        }
        for (FileInfo file : files) {
            file.setFilePath(commonManager.isImgExit(file.getFilePath(), null));
        }
        return files;
    }
    /**
     * 获取播放信息
     *
     * @param camera
     * @return
     */
    public ApiCameraResp getPlayAddr(InoutConf camera) {
        //通过统一入口获取播放地址
        ApiCameraData apiCameraData = new ApiCameraData();
        apiCameraData.setCompanyId(camera.getCompanyId());
        apiCameraData.setDeptId(camera.getDeptId());
        apiCameraData.setCameraId(camera.getSn());
        apiCameraData.setIp(camera.getIp());
        apiCameraData.setCtrlPort(camera.getPortCtrl());
        apiCameraData.setWebPort(camera.getPort());
        apiCameraData.setPlayType(camera.getPlayType());
        apiCameraData.setSnapType(camera.getSnapType());
        apiCameraData.setSn(camera.getSn());
        apiCameraData.setChannel(camera.getChanNum());
        apiCameraData.setLoginId(camera.getLoginId());
        apiCameraData.setPwd(camera.getPwd());
        apiCameraData.setUrlIn(camera.getUrlIn());
        apiCameraData.setUrlOut(camera.getUrlOut());
        apiCameraData.setMediaAddr(camera.getMediaAddr());
        //根据播放方式获取对应的播放地址
        ApiCameraResp resp = apiCameraManager.getApiCameraService(apiCameraData.getPlayType()).getPlayAddr(apiCameraData);
        resp.setPlayType(camera.getPlayType());
        resp.setSnapType(camera.getSnapType());
        resp.setCameraId(camera.getSn());
        return resp;
    }
}