|
@@ -21,12 +21,14 @@ import org.apache.poi.xddf.usermodel.chart.BarDirection;
|
|
|
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
|
|
|
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
|
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|
|
-import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
-import java.io.*;
|
|
|
+import java.io.BufferedOutputStream;
|
|
|
+import java.io.IOException;
|
|
|
+import java.io.InputStream;
|
|
|
+import java.io.OutputStream;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
import java.net.URLEncoder;
|
|
@@ -63,24 +65,6 @@ public class ApiController extends BaseController {
|
|
|
private AsyncServiceImpl asyncService;
|
|
|
@Resource
|
|
|
private BrokenYarnExportServiceImpl brokenYarnExportService;
|
|
|
- @Value("${excel.total}")
|
|
|
- private String totalExcelTemplate;
|
|
|
- @Value("${excel.formula}")
|
|
|
- private String formulaExcelTemplate;
|
|
|
- @Value("${excel.gram}")
|
|
|
- private String gramExcelTemplate;
|
|
|
- @Value("${excel.stops}")
|
|
|
- private String stopsExcelTemplate;
|
|
|
- @Value("${excel.stopsType}")
|
|
|
- private String stopsTypeExcelTemplate;
|
|
|
- @Value("${excel.stopDetail}")
|
|
|
- private String stopDetailExcelTemplate;
|
|
|
- @Value("${excel.alarms}")
|
|
|
- private String alarmsExcelTemplate;
|
|
|
- @Value("${excel.yarn}")
|
|
|
- private String yarnExcelTemplate;
|
|
|
- @Value("${excel.brokenYarn}")
|
|
|
- private String brokenYarnExcelTemplate;
|
|
|
|
|
|
@ApiOperation("在线设备")
|
|
|
@GetMapping("/device/online")
|
|
@@ -246,7 +230,7 @@ public class ApiController extends BaseController {
|
|
|
Date sd = Date.from(localDate.atStartOfDay(ZoneOffset.of("+8")).toInstant());
|
|
|
List<TwinCalcDay> calcDayList = twinCalcDayService.selectTwinCalcDayListByTime(sd, sd);
|
|
|
Map<Long, BigDecimal> decimalMap = calcDayList.stream().collect(Collectors.toMap(TwinCalcDay::getDeviceId, TwinCalcDay::getLength));
|
|
|
- try (FileInputStream inputStream = new FileInputStream(yarnExcelTemplate); XSSFWorkbook wb = new XSSFWorkbook(inputStream); OutputStream outputStream = new BufferedOutputStream(response.getOutputStream())) {
|
|
|
+ try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("tpl/yarn.xlsx"); XSSFWorkbook wb = new XSSFWorkbook(inputStream); OutputStream outputStream = new BufferedOutputStream(response.getOutputStream())) {
|
|
|
Sheet sheet = wb.getSheetAt(0);
|
|
|
AtomicInteger rowNum = new AtomicInteger(2);
|
|
|
CellStyle percentStyle = wb.createCellStyle();
|
|
@@ -400,7 +384,7 @@ public class ApiController extends BaseController {
|
|
|
if (total != null && detail != null) {
|
|
|
List<GramMass> list = (List<GramMass>) total;
|
|
|
List<GramMassDetail> details = (List<GramMassDetail>) detail;
|
|
|
- try (FileInputStream inputStream = new FileInputStream(gramExcelTemplate); Workbook wb = new XSSFWorkbook(inputStream); OutputStream outputStream = new BufferedOutputStream(response.getOutputStream())) {
|
|
|
+ try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("tpl/gram.xlsx"); Workbook wb = new XSSFWorkbook(inputStream); OutputStream outputStream = new BufferedOutputStream(response.getOutputStream())) {
|
|
|
Sheet sheet = wb.getSheetAt(0);
|
|
|
|
|
|
CreationHelper creationHelper = wb.getCreationHelper();
|
|
@@ -488,7 +472,7 @@ public class ApiController extends BaseController {
|
|
|
if (d != null) {
|
|
|
List<FormulaDetail> list = (List<FormulaDetail>) d;
|
|
|
list = list.stream().filter(detail -> detail.getFormula_data_15().equals(height)).collect(Collectors.toList());
|
|
|
- try (FileInputStream inputStream = new FileInputStream(formulaExcelTemplate); Workbook wb = new XSSFWorkbook(inputStream); OutputStream outputStream = new BufferedOutputStream(response.getOutputStream())) {
|
|
|
+ try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("tpl/formula.xlsx"); Workbook wb = new XSSFWorkbook(inputStream); OutputStream outputStream = new BufferedOutputStream(response.getOutputStream())) {
|
|
|
Sheet sheet = wb.getSheetAt(0);
|
|
|
AtomicInteger rowNum = new AtomicInteger(2);
|
|
|
|
|
@@ -528,7 +512,7 @@ public class ApiController extends BaseController {
|
|
|
localDate = LocalDate.parse(end);
|
|
|
Date ed = Date.from(localDate.atStartOfDay(ZoneOffset.of("+8")).toInstant());
|
|
|
List<TwinCalcDay> list = twinCalcDayService.selectTwinCalcDayListByTime(sd, ed);
|
|
|
- try (FileInputStream inputStream = new FileInputStream(totalExcelTemplate); Workbook wb = new XSSFWorkbook(inputStream); OutputStream outputStream = new BufferedOutputStream(response.getOutputStream())) {
|
|
|
+ try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("tpl/total.xlsx"); Workbook wb = new XSSFWorkbook(inputStream); OutputStream outputStream = new BufferedOutputStream(response.getOutputStream())) {
|
|
|
CreationHelper creationHelper = wb.getCreationHelper();
|
|
|
CellStyle percentStyle = wb.createCellStyle();
|
|
|
percentStyle.setDataFormat(creationHelper.createDataFormat().getFormat("0.00%"));
|
|
@@ -574,7 +558,7 @@ public class ApiController extends BaseController {
|
|
|
@CrossOrigin(origins = "*")
|
|
|
public void brokenYarnExport(String date, HttpServletResponse response) throws ParseException {
|
|
|
LocalDate localDate = LocalDate.parse(date);
|
|
|
- try (FileInputStream inputStream = new FileInputStream(brokenYarnExcelTemplate); XSSFWorkbook wb = new XSSFWorkbook(inputStream); OutputStream outputStream = new BufferedOutputStream(response.getOutputStream())) {
|
|
|
+ try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("tpl/brokenYarn.xlsx"); XSSFWorkbook wb = new XSSFWorkbook(inputStream); OutputStream outputStream = new BufferedOutputStream(response.getOutputStream())) {
|
|
|
//1.基本信息表
|
|
|
brokenYarnExportService.base(wb, localDate);
|
|
|
//2.停机原因分析
|
|
@@ -833,7 +817,7 @@ public class ApiController extends BaseController {
|
|
|
totalTime.updateAndGet(v -> v + t);
|
|
|
});
|
|
|
}
|
|
|
- try (FileInputStream inputStream = new FileInputStream(stopsExcelTemplate); Workbook wb = new XSSFWorkbook(inputStream); OutputStream outputStream = new BufferedOutputStream(response.getOutputStream())) {
|
|
|
+ try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("tpl/stops.xlsx"); Workbook wb = new XSSFWorkbook(inputStream); OutputStream outputStream = new BufferedOutputStream(response.getOutputStream())) {
|
|
|
CreationHelper creationHelper = wb.getCreationHelper();
|
|
|
CellStyle percentStyle = wb.createCellStyle();
|
|
|
percentStyle.setDataFormat(creationHelper.createDataFormat().getFormat("0.00%"));
|
|
@@ -925,7 +909,7 @@ public class ApiController extends BaseController {
|
|
|
stopList.sort(Comparator.comparing(StopDetailVO::getDeviceId));
|
|
|
int[] nums = new int[7];
|
|
|
String[] devices = new String[7];
|
|
|
- try (FileInputStream inputStream = new FileInputStream(stopDetailExcelTemplate); Workbook wb = new XSSFWorkbook(inputStream); OutputStream outputStream = new BufferedOutputStream(response.getOutputStream())) {
|
|
|
+ try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("tpl/stopDetail.xlsx"); Workbook wb = new XSSFWorkbook(inputStream); OutputStream outputStream = new BufferedOutputStream(response.getOutputStream())) {
|
|
|
CellStyle p2 = wb.createCellStyle();
|
|
|
p2.setDataFormat(wb.createDataFormat().getFormat("0.00"));
|
|
|
Sheet sheet2 = wb.getSheetAt(1);
|
|
@@ -1077,7 +1061,7 @@ public class ApiController extends BaseController {
|
|
|
//1停经片停机,2-CCD停机(相机号+断纱/故障),3-人工停机,4-断电停机,5-设备故障停机,6-落布米数达到停机,7-盘头剩余圈数达到停机
|
|
|
String[] stopStr = {"断纱", "断纱", "人工停机", "断电停机", "设备故障停机", "下卷", "叫料"};
|
|
|
|
|
|
- try (FileInputStream inputStream = new FileInputStream(stopsTypeExcelTemplate); Workbook wb = new XSSFWorkbook(inputStream); OutputStream outputStream = new BufferedOutputStream(response.getOutputStream())) {
|
|
|
+ try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("tpl/stopsType.xlsx"); Workbook wb = new XSSFWorkbook(inputStream); OutputStream outputStream = new BufferedOutputStream(response.getOutputStream())) {
|
|
|
CreationHelper creationHelper = wb.getCreationHelper();
|
|
|
CellStyle percentStyle = wb.createCellStyle();
|
|
|
percentStyle.setDataFormat(creationHelper.createDataFormat().getFormat("0.00%"));
|
|
@@ -1169,7 +1153,7 @@ public class ApiController extends BaseController {
|
|
|
Map<Long, TwinDevice> deviceMap = deviceService.deviceMap();
|
|
|
Map<Long, List<TwinCalcAlarms>> alarmsGroup = list.stream().collect(Collectors.groupingBy(TwinCalcAlarms::getDeviceId, LinkedHashMap::new, Collectors.toList()));
|
|
|
String[] alarmStr = {"GB1伺服通讯故障", "GB2伺服通讯故障", "GB3伺服通讯故障", "GB4伺服通讯故障", "GB5伺服通讯故障", "牵引伺服通讯故障", "卷曲伺服通讯故障", "断纱故障", "电源故障", "联动未完全啮合", "米长到达", "GB1剩余圈数报警", "GB2剩余圈数报警", "GB3剩余圈数报警", "GB4剩余圈数报警", "GB5剩余圈数报警", "主轴变频掉线", "主轴变频故障", "GB1伺服故障", "GB2伺服故障", "GB3伺服故障", "GB4伺服故障", "GB5伺服故障", "牵引伺服故障", "卷曲伺服故障", "拍照自停", "CCD位置报警信息显示"};
|
|
|
- try (FileInputStream inputStream = new FileInputStream(alarmsExcelTemplate); Workbook wb = new XSSFWorkbook(inputStream); OutputStream outputStream = new BufferedOutputStream(response.getOutputStream())) {
|
|
|
+ try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("tpl/alarms.xlsx"); Workbook wb = new XSSFWorkbook(inputStream); OutputStream outputStream = new BufferedOutputStream(response.getOutputStream())) {
|
|
|
CreationHelper creationHelper = wb.getCreationHelper();
|
|
|
CellStyle percentStyle = wb.createCellStyle();
|
|
|
percentStyle.setDataFormat(creationHelper.createDataFormat().getFormat("0.00%"));
|