package org.springblade.mdm.flow.controller;
|
|
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.tags.Tag;
|
import jakarta.servlet.http.HttpServletResponse;
|
import lombok.AllArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.flowable.engine.HistoryService;
|
import org.springblade.core.excel.util.ExcelUtil;
|
import org.springblade.core.mp.support.Condition;
|
import org.springblade.core.tool.api.R;
|
import org.springblade.core.tool.utils.DateUtil;
|
import org.springblade.core.tool.utils.Func;
|
import org.springblade.mdm.flow.constants.FlowVariableContants;
|
import org.springblade.mdm.flow.service.FlowCommonService;
|
import org.springblade.mdm.flow.service.ProgramOnMachineExportService;
|
import org.springblade.mdm.flow.service.TaskDispatchService;
|
import org.springblade.mdm.flow.vo.FlowVO;
|
import org.springblade.mdm.flow.vo.ProgramOnMachineExcel;
|
import org.springblade.mdm.flow.vo.ProgramOnMachineQueryVO;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.io.IOException;
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Map;
|
|
@Slf4j
|
@RestController
|
@AllArgsConstructor
|
@RequestMapping("/flowmgr/programonmachine")
|
@Tag(name = "现场编制导出", description = "现场编制导出")
|
public class ProgramOnMachineExportController {
|
|
private FlowCommonService flowCommonService;
|
private ProgramOnMachineExportService programOnMachineService;
|
private final TaskDispatchService taskDispatchService;
|
private final HistoryService historyService;
|
@GetMapping("/finished-page")
|
@ApiOperationSupport(order = 3)
|
@Operation(summary = "已审批列表", description = "已审批列表")
|
public R<IPage<FlowVO>> finishedPage(ProgramOnMachineQueryVO queryVO) {
|
IPage<FlowVO> pages = programOnMachineService.finishedPage(Condition.getPage(queryVO), queryVO);
|
return R.data(pages);
|
}
|
|
|
@PostMapping("/export")
|
@Operation(summary = "导出现场编制记录", description = "导出现场编制记录")
|
public void export(ProgramOnMachineQueryVO queryVO,HttpServletResponse response) throws IOException {
|
queryVO.setCurrent(1);
|
queryVO.setSize(Integer.MAX_VALUE);
|
IPage<FlowVO> page = programOnMachineService.finishedPage(Condition.getPage(queryVO), queryVO);
|
|
List<ProgramOnMachineExcel> list = new ArrayList<>();
|
|
page.getRecords().forEach(record -> {
|
ProgramOnMachineExcel excel = new ProgramOnMachineExcel();
|
Map<String,Object> vars = record.getVariables();
|
excel.setDrawingNo(Func.toStr(vars.get(FlowVariableContants.DRAWING_NO)));
|
excel.setProcessNo(Func.toStr(vars.get(FlowVariableContants.PROCESS_NO)));
|
excel.setProcessEdition(Func.toStr(vars.get(FlowVariableContants.PROCESS_EDITION)));
|
excel.setMachineCode(Func.toStr(vars.get(FlowVariableContants.MACHINE_CODE)));
|
excel.setProcessInstanceId(record.getProcessInstanceId());
|
list.add(excel);
|
});
|
ExcelUtil.export(response, "现场编制记录" + DateUtil.time(), "机床数据表", list, ProgramOnMachineExcel.class);
|
|
}
|
}
|