yangys
2025-08-13 ad90205fe702d0238983c693a8effe255c680f27
blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileHandleController.java
@@ -3,10 +3,13 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.DateUtil;
@@ -14,7 +17,10 @@
import org.springblade.mdm.basesetting.machine.vo.MachineExcelVO;
import org.springblade.mdm.basesetting.machine.vo.MachineQueryVO;
import org.springblade.mdm.basesetting.machine.vo.MachineVO;
import org.springblade.mdm.commons.vo.IdsVO;
import org.springblade.mdm.gkw.programnode.service.MachineFileService;
import org.springblade.mdm.machineback.service.MachineBackFileService;
import org.springblade.mdm.machineback.service.NcProgramExportInnerService;
import org.springblade.mdm.machineback.vo.MachineBackFileHandleExcelVO;
import org.springblade.mdm.machineback.vo.MachineBackFileHandleQueryVO;
import org.springblade.mdm.machineback.vo.MachineBackFileQueryVO;
@@ -23,33 +29,47 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@Slf4j
@RestController
@AllArgsConstructor
@RequestMapping("/machineback/filehandle")
@Tag(name = "机床回传程序处理", description = "机床回传程序处理")
public class MachineBackFileHandleController {
   @Autowired
   private MachineBackFileService service;
   private final MachineBackFileService service;
   private final MachineFileService machineFileService;
   private final NcProgramExportInnerService ncProgramExportInnerService;
   /**
    * 分页
    */
   @Operation(summary = "分页查询", description = "名称或编码")
   @Operation(summary = "分页查询", description = "名称或编码,已接受的文件列表")
   @GetMapping("/page")
   public R<IPage<MachineBackFileVO>> page(MachineBackFileHandleQueryVO query) {
      IPage<MachineBackFileVO> pages = service.handlePageQuery(query);
      IPage<MachineBackFileVO> pages = machineFileService.handlePageQuery(query);
      return R.data(pages);
   }
   @GetMapping("export-to-inner")
   @ApiOperationSupport(order = 13)
   @Operation(summary = "导出到涉密网", description = "导出到涉密网")
   public void exportToInner(MachineBackFileHandleQueryVO query, HttpServletResponse response) {
   public void exportToInner(@Parameter(description = "审批表id数组") String ids, HttpServletResponse response) {
      if(Func.isBlank(ids)) {
         throw new ServiceException("未选择文件导出");
      }
      try {
         String filename = "toinnerexp-"+ DateUtil.format(DateUtil.now(), "yyyyMMddHHmm")+".zip";
         response.setHeader("Content-Disposition", "attachment; filename="+filename);
         response.setContentType("application/octet-stream");
         ncProgramExportInnerService.exportToInner(Func.toLongList(ids),response.getOutputStream());
      } catch (IOException e) {
         log.error("工控网导出回传文件异常", e);
         throw new RuntimeException(e);
      }
   }
@@ -58,13 +78,15 @@
   public void exportExcel(MachineBackFileHandleQueryVO query, HttpServletResponse response) {
      query.setCurrent(1);
      query.setSize(Integer.MAX_VALUE);
      IPage<MachineBackFileVO> pages = service.handlePageQuery(query);
      //IPage<MachineBackFileVO> pages = service.handlePageQuery(query);
      IPage<MachineBackFileVO> pages = machineFileService.handlePageQuery(query);
      List<MachineBackFileHandleExcelVO> list = new ArrayList<>();
      pages.getRecords().forEach(vo ->{
         MachineBackFileHandleExcelVO excelVO   = new MachineBackFileHandleExcelVO();
         BeanUtil.copy(vo, excelVO);
         MachineBackFileHandleExcelVO excelVO = new MachineBackFileHandleExcelVO();
         BeanUtil.copyProperties(vo, excelVO);
         excelVO.setCuredStatus(vo.getIsCured()==0?"固化":"未固化");
         list.add(excelVO);
      });
      ExcelUtil.export(response, "机床回传程序" + DateUtil.time(), "机床回传程序表", list, MachineBackFileHandleExcelVO.class);