package com.project.zcustom.controller.smart; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.project.common.annotation.Log; import com.project.common.core.controller.BaseController; import com.project.common.core.domain.AjaxResult; import com.project.common.enums.BusinessType; import com.project.common.utils.StringUtils; import com.project.common.utils.poi.ExcelUtil; import com.project.zcustom.domain.smart.PlatGreenSmart; import com.project.zcustom.service.smart.*; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Objects; /** * 绿智食堂Controller * * @author change * @date 2024-10-21 */ @RestController @RequestMapping("/large/smart") @RequiredArgsConstructor(onConstructor_ = @Autowired) public class PlatGreenSmartController extends BaseController { private final IPlatGreenSmartService platGreenSmartService; private final IPlatGreenSmartOtherService iPlatGreenSmartOtherService; private final IPlatGreenSmartEnergyService iPlatGreenSmartEnergyService; private final IPlatGreenSmartRankService iPlatGreenSmartRankService; private final IPlatGreenSmartSafetyService iPlatGreenSmartSafetyService; private final IPlatGreenFoodsService iPlatGreenFoodsService; @ApiOperation("食堂概览") @RequestMapping("/getCanteenData") public AjaxResult getCanteenData(@RequestParam String appOrg) { return AjaxResult.success("查询成功", platGreenSmartService.getCanteenData(appOrg)); } @ApiOperation("食堂安全管理") @RequestMapping("/getSafetyData") public AjaxResult getSafetyData(@RequestParam String appOrg) { return AjaxResult.success("查询成功", iPlatGreenSmartSafetyService.getSafetyData(appOrg)); } @ApiOperation("获取食堂名称列表") @RequestMapping("/getCanteenNameList") public AjaxResult getCanteenNameList(@RequestParam String appOrg) { QueryWrapper queryWrapper = new QueryWrapper<>(); List smartList = new ArrayList<>(); if(Objects.equals(appOrg,"0000")){ queryWrapper.select("canteen_num").ne("app_org","10001").groupBy("canteen_num").last("limit 3"); smartList = platGreenSmartService.list(queryWrapper); PlatGreenSmart smartInfo = platGreenSmartService.getOne((new QueryWrapper()).eq("app_org","10001").select("canteen_num").last("limit 1")); if(StringUtils.isNotNull(smartInfo)){ smartList.add(0,smartInfo); } }else{ queryWrapper.select("canteen_num").eq("app_org", appOrg).groupBy("canteen_num").last("limit 4"); smartList = platGreenSmartService.list(queryWrapper); } return AjaxResult.success("查询成功", smartList); } @ApiOperation("食堂服务满意度") @RequestMapping("/getCanteenScoreData") public AjaxResult getCanteenScoreData(@RequestParam String appOrg,@RequestParam String canteenName) { return AjaxResult.success("查询成功", platGreenSmartService.getCanteenScoreData(appOrg, canteenName)); } @ApiOperation("能耗信息") @RequestMapping("/getPowerData") public AjaxResult getPowerData(@RequestParam String appOrg) { return AjaxResult.success("查询成功", iPlatGreenSmartEnergyService.getPowerData(appOrg)); } @ApiOperation("热销菜品排行") @RequestMapping("/getFoodRankData") public AjaxResult getFoodRankData(@RequestParam String appOrg) { return AjaxResult.success("查询成功", iPlatGreenSmartRankService.getRankData(appOrg)); } @ApiOperation("各食堂满意度排名") @RequestMapping("/getCanteenDegreeData") public AjaxResult getCanteenDegreeData(@RequestParam String appOrg) { return AjaxResult.success("查询成功", platGreenSmartService.getCanteenDegreeData(appOrg)); } @ApiOperation("各单位统计排行") @RequestMapping("/getCanteenTotalRank") public AjaxResult getCanteenTotalRank(@RequestParam String appOrg) { return AjaxResult.success("查询成功", platGreenSmartService.getCanteenTotalRank(appOrg)); } @ApiOperation("绿智食堂参评食堂情况") @RequestMapping("/geParticipateData") public AjaxResult geParticipateData(@RequestParam String appOrg) { return AjaxResult.success("查询成功", iPlatGreenSmartOtherService.geParticipateData(appOrg)); } @ApiOperation("就餐情况 饼图") @RequestMapping("/getDiningPieData") public AjaxResult getDiningPieData(@RequestParam String appOrg) { return AjaxResult.success("查询成功", iPlatGreenSmartOtherService.getDiningPieData(appOrg)); } @ApiOperation("资质证件") @RequestMapping("/getQualificationData") public AjaxResult getLicenceData(@RequestParam String appOrg,@RequestParam String canteenName) { return AjaxResult.success("查询成功", platGreenSmartService.getQualificationData(appOrg, canteenName)); } @ApiOperation("智慧食堂") @RequestMapping("/getSmartCanteenPieData") public AjaxResult getSmartCanteenPieData(@RequestParam String appOrg) { return AjaxResult.success("查询成功", iPlatGreenSmartOtherService.getSmartCanteenPieData(appOrg)); } @ApiOperation("员工服务") @RequestMapping("/getEmployeePieData") public AjaxResult getEmployeePieData(@RequestParam String appOrg) { return AjaxResult.success("查询成功", iPlatGreenSmartOtherService.getEmployeePieData(appOrg)); } @ApiOperation("菜品信息") @RequestMapping("/getFoodData") public AjaxResult getFoodData(@RequestParam String appOrg) { return AjaxResult.success("查询成功", iPlatGreenSmartOtherService.getFoodData(appOrg)); } @ApiOperation("其他数据信息") @RequestMapping("/getOtherData") public AjaxResult getOtherData(@RequestParam String appOrg) { return AjaxResult.success("查询成功", iPlatGreenSmartOtherService.getOtherData(appOrg)); } @ApiOperation("电子餐券") @RequestMapping("/getElectronicVouchersData") public AjaxResult getElectronicVouchersData(@RequestParam String appOrg) { return AjaxResult.success("查询成功", iPlatGreenSmartOtherService.getElectronicVouchersData(appOrg)); } @ApiOperation("菜谱列表") @RequestMapping("/getFoodsList") public AjaxResult getFoodsList(@RequestParam String appOrg) { return AjaxResult.success("查询成功", iPlatGreenFoodsService.getPlatGreenFoodsByField("app_org",appOrg)); } @ApiOperation("菜品种类数量") @RequestMapping("/getFoodsTypeNum") public AjaxResult getFoodsTypeNum(@RequestParam String appOrg) { return AjaxResult.success("查询成功", iPlatGreenFoodsService.getFoodsTypeNum(appOrg)); } }