package com.ld.igds.quantity.controller; import com.bstek.bdf2.core.business.IUser; import com.bstek.bdf2.core.model.DefaultDept; import com.ld.igds.common.manager.CommonManager; import com.ld.igds.constant.BizType; import com.ld.igds.constant.Constant; import com.ld.igds.constant.RespCodeEnum; import com.ld.igds.data.PageResponse; import com.ld.igds.file.dto.FileData; import com.ld.igds.io.response.BaseResponse; import com.ld.igds.models.Depot; import com.ld.igds.quantity.dto.QuantityConfDto; import com.ld.igds.quantity.dto.QuantityData; import com.ld.igds.quantity.dto.QuantityParam; import com.ld.igds.quantity.manager.QuantityManager; import com.ld.igds.util.ContextUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; import java.util.List; /** * 数量在线检测入口 */ @RestController @RequestMapping("basic/quantity") public class QuantityController { @Autowired private CommonManager commonManager; @Autowired private QuantityManager quantityManager; /** * 页面控制--数量检测页面 * * @param depotId * @return */ @RequestMapping("/view-check") public ModelAndView viewCheck( @RequestParam(value = "depotId", required = false) String depotId, @RequestParam(value = "deptId", required = false) String deptId, @RequestParam(value = "t", required = false) String t) { if (StringUtils.isEmpty(t)) t = "1"; ModelAndView view = new ModelAndView(); // 仓库列表做下拉框使用 List listDepot = commonManager.listDepot(null); view.addObject(Constant.MODEL_KEY_DEPOT_LIST, listDepot); IUser user = ContextUtil.getLoginUser(); view.addObject(Constant.MODEL_KEY_LOGIN_USER, user); if (StringUtils.isEmpty(deptId)) { deptId = ContextUtil.subDeptId(user); } view.addObject("deptId", deptId); view.addObject("bizType", BizType.QUANTITY.getCode()); view.addObject("depotId", depotId); //获取当前用户所在的分库名称 DefaultDept dept = commonManager.getSubDept(user, deptId); view.addObject("dept", dept); view.setViewName("admin/quantity/quantity"); return view; } /** * 查看三维图 * * @param depotId * @return */ @RequestMapping("/show-3d") public ModelAndView show3d(@RequestParam(value = "depotId", required = true) String depotId, @RequestParam(value = "batchId", required = false) String batchId, @RequestParam(value = "time", required = false) String time) { ModelAndView view = new ModelAndView(); QuantityParam param = new QuantityParam(); param.setDepotId(depotId); param.setBatchId(batchId); param.setCompanyId(ContextUtil.getCompanyId()); PageResponse response = quantityManager.getLastData(param); if (RespCodeEnum.CODE_0000.getCode().equals(response.getCode())) { view.addObject("lastData", response.getData()); } else { view.addObject("lastData", null); } view.setViewName("admin/quantity/quantity-3d"); return view; } /** * 数量监测-单仓开始检测 * * @param param * @return */ @RequestMapping("/check-single") public BaseResponse checkSingle(@RequestBody QuantityParam param) { return quantityManager.checkSingle(param); } /** * 数量监测-停止检测 * * @param param * @return */ @RequestMapping("/check-stop") public BaseResponse checkStop(@RequestBody QuantityParam param) { return quantityManager.checkStop(param); } /** * 根据条件查询数据 * * @param param * @return */ @RequestMapping("/query-data") public PageResponse queryGrainData(@RequestBody QuantityParam param) { return quantityManager.getLastData(param); } /** * 关闭警告 * * @param param * @return */ @RequestMapping("/close-warn") public BaseResponse closeWarn(@RequestBody QuantityParam param) { return quantityManager.closeWarn(param); } @RequestMapping("/quantity-camera") public PageResponse quantityCamera(@RequestBody QuantityParam param) { return quantityManager.quantityCamera(param); } /** * 获取检测记录信息 * * @param param * @return */ @RequestMapping("/query-record") public PageResponse> queryRecord(@RequestBody QuantityParam param) { return quantityManager.getRecordData(param); } /** * 获取抓拍集合 * * @param param * @return */ @RequestMapping("/list-snap-img") public PageResponse> listSnapImg(@RequestBody QuantityParam param) { return quantityManager.listSnapImg(param); } }