package com.qianwen.smartman.modules.dnc.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.qianwen.core.excel.util.ExcelUtil; import com.qianwen.core.mp.support.Query; import com.qianwen.core.oss.model.BladeFile; import com.qianwen.core.scanner.modular.annotation.GetResource; import com.qianwen.core.scanner.modular.annotation.PostResource; import com.qianwen.core.scanner.modular.stereotype.ApiResource; import com.qianwen.core.secure.annotation.PreAuth; import com.qianwen.core.tool.api.R; import com.qianwen.core.tool.utils.DateUtil; import com.qianwen.smartman.modules.dnc.service.IDncOperationLogService; import com.qianwen.smartman.modules.dnc.vo.DncLogExcelVO; import com.qianwen.smartman.modules.dnc.vo.DncOperationLogSearchVO; import com.qianwen.smartman.modules.dnc.vo.DncOperationLogVO; import com.qianwen.smartman.modules.dnc.vo.LogSearchVO; import com.qianwen.smartman.modules.dnc.vo.SuffixListVO; import com.qianwen.smartman.modules.resource.builder.oss.OssBuilder; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; @ApiResource({"blade-dnc/operation-file"}) @Api(value = "dnc操作日志接口", tags = {"dnc日志"}) @RestController /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/dnc/controller/DncOperationLogController.class */ public class DncOperationLogController { private static final Logger log = LoggerFactory.getLogger(DncOperationLogController.class); private final IDncOperationLogService dncOperationLogService; private final OssBuilder ossBuilder; public DncOperationLogController(final IDncOperationLogService dncOperationLogService, final OssBuilder ossBuilder) { this.dncOperationLogService = dncOperationLogService; this.ossBuilder = ossBuilder; } @PreAuth @PostResource({"/page/{workstationId}"}) @ApiOperation(value = "dnc工位操作日志查询分页", notes = "日志分页列表") public R> getPageWorkstationLog(@PathVariable("workstationId") String workstationId, @RequestBody LogSearchVO search, Query query) { return R.data(this.dncOperationLogService.listPages(workstationId, search, query)); } @PreAuth @GetResource({"/list/suffix"}) @ApiOperation(value = "后缀名", notes = "所有后缀") public R getSuffixList() { return R.data(this.dncOperationLogService.getSuffixList()); } @PreAuth @PostResource({"/page-allData"}) @ApiOperation(value = "dnc全部操作日志查询分页", notes = "全日志列表") public R> getPageAllDncData(@RequestBody DncOperationLogSearchVO search, Query query) { return R.data(this.dncOperationLogService.allDataPage(search, query)); } @PreAuth @PostResource({"/export-log"}) @ApiOperation("导出dnc操作日志") public R exportDncLog(@RequestBody DncOperationLogSearchVO dncOperationLogSearchVO) { List dncLogExcel = this.dncOperationLogService.exportDncLog(dncOperationLogSearchVO); String fileName = String.format("%s-%s.xlsx", "dnc操作日志数据", DateUtil.time()); MultipartFile multipartFile = ExcelUtil.exportToMultipartFile(fileName, "dnc操作日志表", dncLogExcel, DncLogExcelVO.class); BladeFile bladeFile = this.ossBuilder.tempTemplate().putFile(multipartFile.getOriginalFilename(), multipartFile); return R.data(bladeFile); } }