sgj
2026-03-27 878b6958363308a7d07b7b8197dc19662f3e1198
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,16 +12,19 @@
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;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.scheduling.annotation.Async;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
 * @Description 出入库业务处理
@@ -40,6 +47,10 @@
    private DicAreaService dicAreaService;
    @Resource
    private InoutNoticeService inoutNoticeService;
    @Resource
    private CommonManager commonManager;
    @Resource
    private ApiCameraManager apiCameraManager;
    /**
     * 根据用户请求信息,根据当前客户电脑IP,获取出入库称重上次选择的地磅
@@ -220,7 +231,7 @@
        data.setRegisterUser(ContextUtil.getLoginUserName());
        data.setRegisterTime(new Date());
        num = inoutRecordService.addInoutRecord(data);
        num = inoutRecordService.addInoutRecord(data,true);
        if (num == 0) {
            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "登记失败!", data);
@@ -510,6 +521,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 +542,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 +551,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;
    }
}