package com.ld.igds.inout.controller;
|
|
import com.ld.igds.constant.RespCodeEnum;
|
import com.ld.igds.data.PageResponse;
|
import com.ld.igds.data.SnapImgDto;
|
import com.ld.igds.inout.dto.ApiInoutData;
|
import com.ld.igds.inout.dto.InoutCameraDto;
|
import com.ld.igds.inout.manager.InoutEventControlManager;
|
import com.ld.igds.models.InoutConf;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.servlet.ModelAndView;
|
|
import javax.annotation.Resource;
|
|
/**
|
* 出入库作业页面,设备相关操作控制层,包括车牌识别,远程读卡器,摄像头,称重主控器远程控制等
|
*
|
* @author: andy.jia
|
* @description:
|
* @version:
|
*/
|
@RestController
|
@RequestMapping("inout/api")
|
public class InoutApiController {
|
|
@Resource
|
private InoutEventControlManager inoutEventControl;
|
|
/**
|
* 获取车牌识别信息
|
*
|
* @param param 车牌识别数据信息
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping("/get-plateNum")
|
public PageResponse<ApiInoutData> getPlateNum(@RequestBody ApiInoutData param) {
|
|
if (null == param.getIp()) {
|
return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), "出入库配置中没有配置如入登记的车牌识别");
|
}
|
|
if (StringUtils.isEmpty(param.getProtocol())) {
|
return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), "当前车牌识别未配置通讯协议,无法执行");
|
}
|
|
param = inoutEventControl.getPlateNum(param);
|
|
if (StringUtils.isEmpty(param.getErrorMsg())) {
|
return new PageResponse<>(RespCodeEnum.CODE_0000, param);
|
}
|
|
return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), param.getErrorMsg());
|
}
|
|
/**
|
* 获取智慧卡信息
|
*
|
* @param param 获取智慧卡信息
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping("/get-icCard")
|
public PageResponse<ApiInoutData> getIcCard(@RequestBody ApiInoutData param) {
|
|
if (StringUtils.isEmpty(param.getProtocol())) {
|
return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), "当前智慧卡未配置通讯协议,无法执行");
|
}
|
|
if (null == param.getIp()) {
|
return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), "出入库配置中没有配置智慧卡信息");
|
}
|
|
param = inoutEventControl.getIcCardNum(param);
|
|
if (StringUtils.isEmpty(param.getErrorMsg())) {
|
return new PageResponse<>(RespCodeEnum.CODE_0000, param);
|
}
|
|
return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), param.getErrorMsg());
|
}
|
|
/**
|
* 出入库视频
|
*
|
* @return
|
*/
|
@RequestMapping("/inout-video-play")
|
public @ResponseBody
|
PageResponse<InoutCameraDto> inoutVideoPlay(@RequestBody InoutCameraDto param) {
|
param.setErrorMsg(null);
|
param = inoutEventControl.inoutVideoPlay(param);
|
|
if (StringUtils.isEmpty(param.getErrorMsg())) {
|
return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "成功", param);
|
}
|
return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), param.getErrorMsg());
|
}
|
|
/**
|
* 视频保活
|
*
|
* @param param
|
* @return
|
*/
|
@RequestMapping("/video-keep-Live")
|
public @ResponseBody
|
PageResponse<String> keepLive(@RequestBody InoutCameraDto param) {
|
|
String msg = inoutEventControl.videoKeepLive(param);
|
|
return new PageResponse<>(RespCodeEnum.CODE_0000, msg);
|
}
|
|
|
/**
|
* 出入库抓拍
|
*
|
* @param param
|
* @return
|
*/
|
@RequestMapping("/snap-img")
|
public @ResponseBody
|
PageResponse<SnapImgDto> cutImg(@RequestBody SnapImgDto param) {
|
|
param = inoutEventControl.snapImg(param);
|
|
return new PageResponse<>(RespCodeEnum.CODE_0000, param);
|
}
|
|
|
/**
|
* 海康Web4.0播放
|
*
|
* @param id
|
* @param length
|
* @param width
|
* @return
|
*/
|
@RequestMapping("/iframe-hik")
|
public ModelAndView inRegister(@RequestParam(value = "id", required = true) String id,
|
@RequestParam(value = "length", required = true) String length,
|
@RequestParam(value = "width", required = true) String width) {
|
ModelAndView view = new ModelAndView();
|
|
// 当前流程节点
|
view.addObject("id", id);
|
view.addObject("length", length);
|
view.addObject("width", width);
|
|
InoutConf inoutConf = inoutEventControl.getInoutConf(id);
|
view.addObject("data", inoutConf);
|
|
view.setViewName("admin/inout/video-hik");
|
return view;
|
}
|
|
|
/**
|
* 调用通知,称重完成
|
*
|
* @param param
|
* @return
|
*/
|
@RequestMapping("/notice-weight-done")
|
public @ResponseBody
|
PageResponse<String> noticeWeightDone(@RequestBody ApiInoutData param) {
|
|
String msg = inoutEventControl.noticeWeightDone(param);
|
|
return new PageResponse<>(RespCodeEnum.CODE_0000, msg);
|
}
|
|
}
|