导出检验数据格式化
This commit is contained in:
parent
bb0299c323
commit
6f0dc85929
@ -5,6 +5,7 @@ import com.xkrs.dao.QcItemDao;
|
|||||||
import com.xkrs.dao.QcSourceDao;
|
import com.xkrs.dao.QcSourceDao;
|
||||||
import com.xkrs.dao.QcSpecDao;
|
import com.xkrs.dao.QcSpecDao;
|
||||||
import com.xkrs.encapsulation.PromptMessageEnum;
|
import com.xkrs.encapsulation.PromptMessageEnum;
|
||||||
|
import com.xkrs.model.bean.XSSFCellDataBean;
|
||||||
import com.xkrs.model.entity.CraftItemEntity;
|
import com.xkrs.model.entity.CraftItemEntity;
|
||||||
import com.xkrs.model.entity.QcItemEntity;
|
import com.xkrs.model.entity.QcItemEntity;
|
||||||
import com.xkrs.model.entity.QcSourceEntity;
|
import com.xkrs.model.entity.QcSourceEntity;
|
||||||
@ -13,13 +14,11 @@ import com.xkrs.model.qo.ExportSourceExcelQo;
|
|||||||
import com.xkrs.model.qo.QcSourceQoDelete;
|
import com.xkrs.model.qo.QcSourceQoDelete;
|
||||||
import com.xkrs.model.qo.QcSourceQoInsert;
|
import com.xkrs.model.qo.QcSourceQoInsert;
|
||||||
import com.xkrs.service.QcSourceService;
|
import com.xkrs.service.QcSourceService;
|
||||||
import com.xkrs.util.Constant;
|
import com.xkrs.util.*;
|
||||||
import com.xkrs.util.ExcelUploadUtil;
|
|
||||||
import com.xkrs.util.LocalDateUtils;
|
|
||||||
import com.xkrs.util.LocalStringUtils;
|
|
||||||
import org.apache.http.util.TextUtils;
|
import org.apache.http.util.TextUtils;
|
||||||
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
|
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
|
||||||
import org.apache.poi.hssf.util.HSSFColor;
|
import org.apache.poi.hssf.util.HSSFColor;
|
||||||
|
import org.apache.poi.ss.usermodel.CellStyle;
|
||||||
import org.apache.poi.ss.util.CellRangeAddress;
|
import org.apache.poi.ss.util.CellRangeAddress;
|
||||||
import org.apache.poi.xssf.usermodel.*;
|
import org.apache.poi.xssf.usermodel.*;
|
||||||
import org.springframework.context.i18n.LocaleContextHolder;
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
@ -28,9 +27,11 @@ import org.springframework.web.multipart.MultipartFile;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.transaction.Transactional;
|
import javax.transaction.Transactional;
|
||||||
|
import java.awt.*;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.List;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObject;
|
import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObject;
|
||||||
@ -218,10 +219,10 @@ public class QcSourceServiceImpl implements QcSourceService {
|
|||||||
double valueMax = stringToDouble(existsQcSpec.getMax());
|
double valueMax = stringToDouble(existsQcSpec.getMax());
|
||||||
double valueMin = stringToDouble(existsQcSpec.getMin());
|
double valueMin = stringToDouble(existsQcSpec.getMin());
|
||||||
double value = stringToDouble(qcValue);
|
double value = stringToDouble(qcValue);
|
||||||
if (valueMax >= 0 && value >= 0 && value >= valueMax) {
|
if (valueMax > -99_000D && value > -99_000D && value >= valueMax) {
|
||||||
return qcValue + "##H";
|
return qcValue + "##H";
|
||||||
}
|
}
|
||||||
if (valueMin >= 0 && value >= 0 && value <= valueMin) {
|
if (valueMin > -99_000D && value > -99_000D && value <= valueMin) {
|
||||||
return qcValue + "##L";
|
return qcValue + "##L";
|
||||||
}
|
}
|
||||||
return qcValue;
|
return qcValue;
|
||||||
@ -235,7 +236,7 @@ public class QcSourceServiceImpl implements QcSourceService {
|
|||||||
return Double.parseDouble(stringValue);
|
return Double.parseDouble(stringValue);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
return -1D;
|
return -100_000D;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -340,6 +341,21 @@ public class QcSourceServiceImpl implements QcSourceService {
|
|||||||
XSSFWorkbook workbook = new XSSFWorkbook();
|
XSSFWorkbook workbook = new XSSFWorkbook();
|
||||||
//建立新的sheet对象(excel的表单)
|
//建立新的sheet对象(excel的表单)
|
||||||
XSSFSheet sheet = workbook.createSheet("检验数据表");
|
XSSFSheet sheet = workbook.createSheet("检验数据表");
|
||||||
|
for (int i = 0; i < dataListList.get(0).size(); i++) {
|
||||||
|
if (i <= 5) {
|
||||||
|
sheet.setColumnWidth(i, 20 * 256);
|
||||||
|
} else {
|
||||||
|
sheet.setColumnWidth(i, 14 * 256);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
XSSFCellStyle headCellStyle = workbook.createCellStyle();
|
||||||
|
headCellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
|
||||||
|
headCellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
|
||||||
|
XSSFFont headFont = workbook.createFont();
|
||||||
|
headFont.setColor(HSSFColor.BLACK.index);
|
||||||
|
headCellStyle.setFont(headFont);
|
||||||
|
headCellStyle.setFillForegroundColor(new XSSFColor(new Color(156, 195, 230)));//设置背景色
|
||||||
|
headCellStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);//填充模式
|
||||||
|
|
||||||
XSSFCellStyle highCellStyle = workbook.createCellStyle();
|
XSSFCellStyle highCellStyle = workbook.createCellStyle();
|
||||||
highCellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
|
highCellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
|
||||||
@ -378,15 +394,26 @@ public class QcSourceServiceImpl implements QcSourceService {
|
|||||||
XSSFRow row = sheet.createRow(i + startRowNum);
|
XSSFRow row = sheet.createRow(i + startRowNum);
|
||||||
for (int j = 0; j < dataList.size(); j++) {
|
for (int j = 0; j < dataList.size(); j++) {
|
||||||
XSSFCell cell = row.createCell(j);
|
XSSFCell cell = row.createCell(j);
|
||||||
String data = dataList.get(j);
|
String sourceValue = dataList.get(j);
|
||||||
if (data.contains("##H")) {
|
if (i == 0) {
|
||||||
cell.setCellValue(data.split("##")[0]);
|
cell.setCellValue(sourceValue);
|
||||||
|
cell.setCellStyle(headCellStyle);
|
||||||
|
} else if (j <= 5) {
|
||||||
|
cell.setCellValue(sourceValue);
|
||||||
|
cell.setCellStyle(normalCellStyle);
|
||||||
|
} else if (sourceValue.contains("##H")) {
|
||||||
|
cell.setCellValue(LocalDoubleUtils.keepThreeDecimal(sourceValue.split("##")[0]));
|
||||||
cell.setCellStyle(highCellStyle);
|
cell.setCellStyle(highCellStyle);
|
||||||
} else if (data.contains("##L")) {
|
} else if (sourceValue.contains("##L")) {
|
||||||
cell.setCellValue(data.split("##")[0]);
|
cell.setCellValue(LocalDoubleUtils.keepThreeDecimal(sourceValue.split("##")[0]));
|
||||||
cell.setCellStyle(lowCellStyle);
|
cell.setCellStyle(lowCellStyle);
|
||||||
} else {
|
} else {
|
||||||
cell.setCellValue(data);
|
XSSFCellDataBean cellDataBean = new XSSFCellDataBean(sourceValue);
|
||||||
|
if (XSSFCellDataBean.VALUE_TYPE_STRING == cellDataBean.getValueType()) {
|
||||||
|
cell.setCellValue(cellDataBean.getStringValue());
|
||||||
|
} else if (XSSFCellDataBean.VALUE_TYPE_DOUBLE == cellDataBean.getValueType()) {
|
||||||
|
cell.setCellValue(LocalDoubleUtils.keepThreeDecimal(cellDataBean.getDoubleValue()));
|
||||||
|
}
|
||||||
cell.setCellStyle(normalCellStyle);
|
cell.setCellStyle(normalCellStyle);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -399,21 +399,21 @@ public class QcSpecServiceImpl implements QcSpecService {
|
|||||||
XSSFRow row = sheet.createRow(i + startRowNum);
|
XSSFRow row = sheet.createRow(i + startRowNum);
|
||||||
for (int j = 0; j < dataList.size(); j++) {
|
for (int j = 0; j < dataList.size(); j++) {
|
||||||
XSSFCell cell = row.createCell(j);
|
XSSFCell cell = row.createCell(j);
|
||||||
if (i == 0) {
|
|
||||||
cell.setCellStyle(headCellStyle);
|
|
||||||
} else {
|
|
||||||
cell.setCellStyle(normalCellStyle);
|
|
||||||
}
|
|
||||||
String sourceValue = dataList.get(j);
|
String sourceValue = dataList.get(j);
|
||||||
if (j <= 2) {
|
if (i == 0) {
|
||||||
cell.setCellValue(sourceValue);
|
cell.setCellValue(sourceValue);
|
||||||
continue;
|
cell.setCellStyle(headCellStyle);
|
||||||
}
|
} else if (j <= 2) {
|
||||||
XSSFCellDataBean cellDataBean = new XSSFCellDataBean(sourceValue);
|
cell.setCellValue(sourceValue);
|
||||||
if (XSSFCellDataBean.VALUE_TYPE_STRING == cellDataBean.getValueType()) {
|
cell.setCellStyle(normalCellStyle);
|
||||||
cell.setCellValue(cellDataBean.getStringValue());
|
} else {
|
||||||
} else if (XSSFCellDataBean.VALUE_TYPE_DOUBLE == cellDataBean.getValueType()) {
|
XSSFCellDataBean cellDataBean = new XSSFCellDataBean(sourceValue);
|
||||||
cell.setCellValue(LocalDoubleUtils.formatEmptyValue(cellDataBean.getDoubleValue()));
|
if (XSSFCellDataBean.VALUE_TYPE_STRING == cellDataBean.getValueType()) {
|
||||||
|
cell.setCellValue(cellDataBean.getStringValue());
|
||||||
|
} else if (XSSFCellDataBean.VALUE_TYPE_DOUBLE == cellDataBean.getValueType()) {
|
||||||
|
cell.setCellValue(LocalDoubleUtils.keepThreeDecimal(cellDataBean.getDoubleValue()));
|
||||||
|
}
|
||||||
|
cell.setCellStyle(normalCellStyle);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,11 @@ public class LocalDoubleUtils {
|
|||||||
private LocalDoubleUtils() {
|
private LocalDoubleUtils() {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String formatEmptyValue(double value) {
|
public static String keepThreeDecimal(String value) {
|
||||||
|
return keepThreeDecimal(Double.parseDouble(value));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String keepThreeDecimal(double value) {
|
||||||
return decimalFormat.format(value);
|
return decimalFormat.format(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user