package com.ld.igds.grain.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.DepotType;
|
import com.ld.igds.data.ChartLine;
|
import com.ld.igds.data.PageResponse;
|
import com.ld.igds.grain.dto.*;
|
import com.ld.igds.grain.manager.GrainManager;
|
import com.ld.igds.io.response.GrainResponse;
|
import com.ld.igds.models.Depot;
|
import com.ld.igds.models.DeviceIot;
|
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.*;
|
import org.springframework.web.servlet.ModelAndView;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 粮情模块控制层 控制层只定义控制入口和页面跳转,具体逻辑在Manager中控制。
|
*/
|
@RestController
|
@RequestMapping("basic/grain")
|
public class GrainController {
|
|
@Autowired
|
private GrainManager grainManager;
|
@Autowired
|
private CommonManager commonManager;
|
|
@RequestMapping("/gateway")
|
public ModelAndView gateway(
|
@RequestParam(value = "depotId", required = false) String depotId,
|
@RequestParam(value = "depotType", required = true) String depotType,
|
@RequestParam(value = "storeType", required = false) String storeType,
|
@RequestParam(value = "deptId", required = false) String deptId) {
|
ModelAndView view = new ModelAndView();
|
|
IUser user = ContextUtil.getLoginUser();
|
view.addObject(Constant.MODEL_KEY_LOGIN_USER, user);
|
|
// 获取当前用户所在的分库名称
|
DefaultDept dept = commonManager.getSubDept(user, deptId);
|
view.addObject("dept", dept);
|
|
if(null != dept){
|
view.addObject("deptId", dept.getId());
|
}
|
|
// 获取当前部门,所有仓库列表
|
List<Depot> listDepot = commonManager.listDepot(dept.getId());
|
view.addObject(Constant.MODEL_KEY_DEPOT_LIST, listDepot);
|
|
|
view.addObject("bizType", BizType.GRAIN.getCode());
|
view.addObject("depotType", depotType);
|
view.addObject("depotId", depotId);
|
// view.addObject("grainStorageType", grainStorageType);
|
|
if (StringUtils.isEmpty(depotType)) {
|
view.setViewName("admin/grain/grain-check1");
|
}
|
|
if (DepotType.TYPE_02.getCode().equals(depotType)) {
|
|
view.setViewName("admin/grain/grain-check4");
|
|
} else if (DepotType.TYPE_03.getCode().equals(depotType)) {
|
|
view.setViewName("admin/grain/grain-check3");
|
|
} else if (DepotType.TYPE_04.getCode().equals(depotType)) {
|
|
view.setViewName("admin/grain/grain-check4");
|
} else {
|
if(StringUtils.isNotEmpty(storeType) && storeType.equals("2")){
|
//使用动环温湿度
|
view.setViewName("admin/grain/grain-check5");
|
}else {
|
view.setViewName("admin/grain/grain-check1");
|
}
|
}
|
|
return view;
|
}
|
|
/**
|
* 页面控制--粮情检测页面 -平房仓
|
*
|
* @param depotId
|
* @return
|
*/
|
@RequestMapping("/view-check1")
|
public ModelAndView viewCheck(
|
@RequestParam(value = "depotId", required = false) String depotId,
|
@RequestParam(value = "deptId", required = false) String deptId) {
|
|
ModelAndView view = new ModelAndView();
|
|
IUser user = ContextUtil.getLoginUser();
|
view.addObject(Constant.MODEL_KEY_LOGIN_USER, user);
|
|
// 获取当前用户所在的分库名称
|
DefaultDept dept = commonManager.getSubDept(user, deptId);
|
view.addObject("dept", dept);
|
|
view.addObject("deptId", dept.getId());
|
|
// 获取当前部门,所有仓库列表
|
List<Depot> listDepot = commonManager.listDepot(dept.getId());
|
view.addObject(Constant.MODEL_KEY_DEPOT_LIST, listDepot);
|
|
view.addObject("bizType", BizType.GRAIN.getCode());
|
view.addObject("depotType", DepotType.TYPE_01.getCode());
|
view.addObject("depotId", depotId);
|
|
view.setViewName("admin/grain/grain-check1");
|
return view;
|
}
|
|
/**
|
* 页面控制--粮情检测页面,新版本
|
*
|
* @param depotId 默认仓库
|
* @param deptId 默认所属部门
|
* @return
|
*/
|
@RequestMapping("/view-check2")
|
public ModelAndView viewCheck2(
|
@RequestParam(value = "depotId", required = false) String depotId,
|
@RequestParam(value = "deptId", required = false) String deptId) {
|
ModelAndView view = new ModelAndView();
|
|
IUser user = ContextUtil.getLoginUser();
|
view.addObject(Constant.MODEL_KEY_LOGIN_USER, user);
|
|
// 获取当前用户所在的分库名称
|
DefaultDept dept = commonManager.getSubDept(user, deptId);
|
view.addObject("dept", dept);
|
|
// 获取当前部门,所有仓库列表
|
List<Depot> listDepot = commonManager.listDepot(dept.getId());
|
view.addObject(Constant.MODEL_KEY_DEPOT_LIST, listDepot);
|
|
view.addObject("bizType", BizType.GRAIN.getCode());
|
view.addObject("depotId", depotId);
|
|
view.setViewName("admin/grain/grain-check2");
|
return view;
|
}
|
|
/**
|
* 油罐仓
|
*
|
* @param depotId
|
* @param deptId
|
* @return
|
*/
|
@RequestMapping("/view-check3")
|
public ModelAndView viewCheck3(
|
@RequestParam(value = "depotId", required = false) String depotId,
|
@RequestParam(value = "deptId", required = false) String deptId) {
|
ModelAndView view = new ModelAndView();
|
|
IUser user = ContextUtil.getLoginUser();
|
view.addObject(Constant.MODEL_KEY_LOGIN_USER, user);
|
|
// 获取当前用户所在的分库名称
|
DefaultDept dept = commonManager.getSubDept(user, deptId);
|
view.addObject("dept", dept);
|
|
// 获取当前部门,所有仓库列表
|
List<Depot> listDepot = commonManager.listDepot(dept.getId());
|
view.addObject(Constant.MODEL_KEY_DEPOT_LIST, listDepot);
|
|
view.addObject("bizType", BizType.GRAIN.getCode());
|
view.addObject("depotType", DepotType.TYPE_03.getCode());
|
view.addObject("depotId", depotId);
|
|
view.setViewName("admin/grain/grain-check3");
|
return view;
|
}
|
|
/**
|
* 圆顶仓
|
*
|
* @param depotId
|
* @param deptId
|
* @return
|
*/
|
@RequestMapping("/view-check4")
|
public ModelAndView viewCheck4(
|
@RequestParam(value = "depotId", required = false) String depotId,
|
@RequestParam(value = "deptId", required = false) String deptId) {
|
ModelAndView view = new ModelAndView();
|
|
IUser user = ContextUtil.getLoginUser();
|
view.addObject(Constant.MODEL_KEY_LOGIN_USER, user);
|
|
// 获取当前用户所在的分库名称
|
DefaultDept dept = commonManager.getSubDept(user, deptId);
|
view.addObject("dept", dept);
|
|
// 获取当前部门,所有仓库列表
|
List<Depot> listDepot = commonManager.listDepot(dept.getId());
|
view.addObject(Constant.MODEL_KEY_DEPOT_LIST, listDepot);
|
|
view.addObject("bizType", BizType.GRAIN.getCode());
|
view.addObject("depotType", DepotType.TYPE_04.getCode());
|
view.addObject("depotId", depotId);
|
|
view.setViewName("admin/grain/grain-check4");
|
return view;
|
}
|
|
/**
|
* 页面控制--粮情检测页面 -平房仓
|
*
|
* @param depotId
|
* @return
|
*/
|
@RequestMapping("/view-check5")
|
public ModelAndView viewCheck5(
|
@RequestParam(value = "depotId", required = false) String depotId,
|
@RequestParam(value = "deptId", required = false) String deptId) {
|
|
ModelAndView view = new ModelAndView();
|
|
IUser user = ContextUtil.getLoginUser();
|
view.addObject(Constant.MODEL_KEY_LOGIN_USER, user);
|
|
// 获取当前用户所在的分库名称
|
DefaultDept dept = commonManager.getSubDept(user, deptId);
|
view.addObject("dept", dept);
|
|
// 获取当前部门,所有仓库列表
|
List<Depot> listDepot = commonManager.listDepot(dept.getId());
|
view.addObject(Constant.MODEL_KEY_DEPOT_LIST, listDepot);
|
|
view.addObject("bizType", BizType.GRAIN.getCode());
|
view.addObject("depotType", DepotType.TYPE_01.getCode());
|
view.addObject("depotId", depotId);
|
|
view.setViewName("admin/grain/grain-check5");
|
return view;
|
}
|
|
/**
|
* 页面控制--粮情温度走势
|
*
|
* @param depotId
|
* @return
|
*/
|
@RequestMapping("/temp-line")
|
public ModelAndView tempLine(
|
@RequestParam(value = "depotId", required = false) String depotId) {
|
ModelAndView view = new ModelAndView();
|
|
IUser user = ContextUtil.getLoginUser();
|
view.addObject(Constant.MODEL_KEY_LOGIN_USER, user);
|
|
// 获取当前用户所在的分库名称
|
DefaultDept dept = commonManager.getSubDept(user, null);
|
view.addObject("dept", dept);
|
|
// 获取当前部门,所有仓库列表
|
List<Depot> listDepot = commonManager.listDepot(dept.getId());
|
view.addObject(Constant.MODEL_KEY_DEPOT_LIST, listDepot);
|
|
view.setViewName("admin/grain/temp-line");
|
return view;
|
}
|
|
/**
|
* 获取粮情三温走势信息
|
*
|
* @param param
|
* @return
|
*/
|
@RequestMapping("/query-line-data")
|
public PageResponse<ChartLine> queryLineData(@RequestBody GrainParam param) {
|
return grainManager.queryLineData(param);
|
}
|
|
/**
|
* 根据条件获取集合,默认查询当天的数据
|
*
|
* @param param
|
* @return
|
*/
|
@RequestMapping("/query-list-data")
|
public PageResponse<List<GrainData>> queryListGrainData(
|
@RequestBody GrainParam param) {
|
if (null == param.getCheckMonth()) {
|
param.setLimit(5);
|
} else {
|
param.setLimit(80);
|
}
|
return grainManager.queryListGrainData(param);
|
}
|
|
/**
|
* 根据条件查询粮情数据
|
*
|
* @param param
|
* @return
|
*/
|
@RequestMapping("/query-data")
|
public PageResponse<GrainData> queryGrainData(@RequestBody GrainParam param) {
|
return grainManager.queryGrainData(param);
|
}
|
|
/**
|
* 根据条件获取列表数据 返回根据检测时间内的数据Map
|
*
|
* @param param
|
* @return
|
*/
|
@RequestMapping("/query-checkDate-map")
|
public PageResponse<Map<String, GrainData>> queryCheckDateMap(
|
@RequestBody GrainParam param) {
|
return grainManager.queryCheckDateMap(param);
|
}
|
|
/**
|
* 粮情检测-单仓检测
|
*
|
* @param param
|
* @return
|
*/
|
@RequestMapping("/check-single")
|
public GrainResponse checkSingle(@RequestBody GrainParam param) {
|
return grainManager.checkSingle(param);
|
}
|
|
/**
|
* 粮情检测-批量检测
|
*
|
* @param param
|
* @return
|
*/
|
@RequestMapping("/check-batch")
|
public GrainResponse checkBatch(@RequestBody GrainParam param) {
|
return grainManager.checkBatch(param);
|
}
|
|
/**
|
* 根据当前仓库获取检测记录,默认10条,如果检测当前月,默认显示80条
|
*
|
* @param param
|
* @return
|
*/
|
@RequestMapping("/page-list")
|
public PageResponse<List<GrainData>> pageList(@RequestBody GrainParam param) {
|
if (null == param.getCheckMonth()) {
|
param.setLimit(10);
|
} else {
|
param.setLimit(80);
|
}
|
return grainManager.pageListGrainData(param);
|
}
|
|
/**
|
* 批次对比
|
*
|
* @param param
|
* @return
|
*/
|
@RequestMapping("/data-compare")
|
public PageResponse<GrainData> dataCompare(
|
@RequestBody GrainCompareParam param) {
|
return grainManager.dataCompare(param);
|
}
|
|
/**
|
* 根据参数获取粮情采集点走势
|
*
|
* @param param
|
* @return
|
*/
|
@RequestMapping("/chart-point-line")
|
public PageResponse<ChartLine> chartPointLine(
|
@RequestBody GrainPointParam param) {
|
return grainManager.chartPointLine(param);
|
}
|
|
/**
|
* 根据参数获取打印的模板
|
*
|
* @param param
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping("/build-print-model")
|
public PageResponse<PrintModeData> buildPrintModel(
|
@RequestBody GrainParam param) {
|
return grainManager.buildPrintModel(param);
|
}
|
|
/**
|
* 根据参数获取打印的模板-ALL
|
*
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping("/build-print-model-all")
|
public PageResponse<Map<String, PrintModeData>> buildPrintModelAll(
|
@RequestBody GrainParam param) {
|
param.setCompanyId(ContextUtil.getCompanyId());
|
return grainManager.buildPrintModelAll(param);
|
}
|
|
/**
|
* 筒仓 -- 液面高度
|
* @return
|
*/
|
@RequestMapping("/liquid-height")
|
public ModelAndView getLiquidHeight(@RequestParam(value = "depotId", required = false) String depotId) {
|
|
|
ModelAndView view = new ModelAndView();
|
|
IUser user = ContextUtil.getLoginUser();
|
view.addObject(Constant.MODEL_KEY_LOGIN_USER, user);
|
|
// 获取当前用户所在的分库名称
|
String deptId = ContextUtil.subDeptId(user);
|
|
// 获取当前部门,所有仓库列表
|
List<Depot> listDepot = commonManager.listDepot(deptId);
|
view.addObject(Constant.MODEL_KEY_DEPOT_LIST, listDepot);
|
|
view.addObject("bizType", BizType.GRAIN.getCode());
|
view.addObject("depotType", DepotType.TYPE_01.getCode());
|
|
//查询仓库列表的液位高度
|
List<GrainData> grainDataList = grainManager.getLiquidHeight(user.getCompanyId(), deptId);
|
view.addObject("grainDataList", grainDataList);
|
|
view.setViewName("admin/grain/liquid-height");
|
return view;
|
}
|
|
/**
|
* 根据仓库编号,获取iot设备列表
|
*
|
* @param param
|
* @return
|
*/
|
@RequestMapping("/list-device-iot")
|
public PageResponse<List<DeviceIot>> listDeviceIot(
|
@RequestBody GrainParam param) {
|
param.setCompanyId(ContextUtil.getCompanyId());
|
|
return grainManager.listDeviceIot(param);
|
}
|
|
/**
|
* 根据仓库编码获取仓库的温湿度设备数据信息
|
*
|
* @param param
|
* @return
|
*/
|
@RequestMapping("/query-grain-iot-data")
|
public PageResponse<GrainData> queryIotGrainData(@RequestBody GrainParam param) {
|
return grainManager.queryIotGrainData(param);
|
}
|
|
|
/**
|
* 粮情检测-批量导出EXCEL
|
*
|
* @param param 包括检测时间和需要导出的IDS
|
* @return
|
*/
|
@RequestMapping("/export-batch")
|
public GrainResponse exportBatch(@RequestBody GrainParam param) {
|
return grainManager.exportBatch(param);
|
}
|
}
|