package com.zy.asrs.controller; import com.core.common.R; import com.zy.asrs.service.DigitalTwinService; import com.zy.common.web.BaseController; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; @RequestMapping("/digitalTwin") @RestController public class DigitalTwinController extends BaseController { @Resource private DigitalTwinService digitalTwinService; /** * 数据总览 * * @param areaId 库区编码 * @return */ @RequestMapping(value = "/overview") // @ManagerAuth public R overview(@RequestParam(required = false) String areaId) { return R.ok(digitalTwinService.overview(areaId)); } /** * 近期订单(默认7天) * * @param areaId 库区编码 * @param startDate 格式:yyyyMMdd,20251022 * @param endDate 格式:yyyyMMdd,20251027 * @return */ @RequestMapping(value = "/recentOrder") // @ManagerAuth public R recentOrder(@RequestParam(required = false) String areaId, @RequestParam(required = false) String startDate, @RequestParam(required = false) String endDate) { return R.ok(digitalTwinService.order(startDate, endDate)); } /** * 近期剩余库位(默认7天) * * @param areaId 库区编码 * @param startDate 格式:yyyyMMdd,20251022 * @param endDate 格式:yyyyMMdd,20251027 * @return */ @RequestMapping(value = "/recentIdleLoc") // @ManagerAuth public R recentIdleLoc(@RequestParam(required = false) String areaId, @RequestParam(required = false) String startDate, @RequestParam(required = false) String endDate) { return R.ok(digitalTwinService.recentLoc(areaId, startDate, endDate)); } /** * 近期出入库(默认7天) * * @param areaId 库区编码 * @param startDate 格式:yyyyMMdd,20251022 * @param endDate 格式:yyyyMMdd,20251027 * @return */ @RequestMapping(value = "/recentInAndOutBound") // @ManagerAuth public R recentInAndOutBound(@RequestParam(required = false) String areaId, @RequestParam(required = false) String startDate, @RequestParam(required = false) String endDate) { return R.ok(digitalTwinService.inAndOutBound(areaId, startDate, endDate)); } /** * 近期呆滞品(默认超30天) * * @param areaId 库区编码 * @param overDayNum 呆滞品天数,默认30天 * @return */ @RequestMapping(value = "/recentDetainMat") // @ManagerAuth public R recentDetainMat(@RequestParam(required = false) String areaId, @RequestParam(required = false) Integer overDayNum, @RequestParam(required = false) Integer pageIndex, @RequestParam(required = false) Integer pageSize, @RequestParam(required = false) String condition) { return R.ok(digitalTwinService.recentDetainMat(areaId, overDayNum, pageIndex, pageSize, condition)); } /** * 设备运行信息 * * @param areaId * @return */ @RequestMapping(value = "/equipment") // @ManagerAuth public R equipment(@RequestParam(required = false) String areaId) { return R.ok(digitalTwinService.equipment(areaId)); } /** * 库位和库存详情 * * @param arr * @return */ @RequestMapping(value = "/warehouseDetail") // @ManagerAuth public R warehouseDetail(@RequestParam(required = false) Integer[] arr) { return R.ok(digitalTwinService.warehouseDetail(arr)); } /** * 查询所有库位状态和物料-二机床信息化数字孪生用 */ @RequestMapping(value = "/getAllLocations") public R getAllLocations() { return R.ok(digitalTwinService.getAllLocations()); } /** * 查询所有库的库位状态总数量 */ @RequestMapping(value = "/getLocalInfo") public R getLocalInfo() { return R.ok(digitalTwinService.getLocInfo()); } /** * 查询所有库的库存明细 */ @RequestMapping(value = "/getLocalDetal") public R getLocalDetal() { return R.ok(digitalTwinService.getLocalDetal()); } }