自定义脚本

tags/yfai-mes-ext-v1.0
jun 10 months ago
parent 1b2f04fb6c
commit 9dd5ceed60

@ -110,7 +110,12 @@
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.16</version>
<scope>compile</scope>
</dependency>
<!-- webservice -->
<dependency>
<groupId>org.apache.cxf</groupId>

@ -49,6 +49,8 @@ class MesToPiscesProductionAssembly {
} else {
LOGGER.info("条码:{}信息不存在", String.valueOf(rowMap.get("assembly_sn")))
}
}else{
rowMap.put("ASSEMBLY_BARCODE_ID", null)
}
//
if (!StringUtils.isEmpty(rowMap.get("product_sn"))) {
@ -58,6 +60,8 @@ class MesToPiscesProductionAssembly {
} else {
LOGGER.info("条码:{}信息不存在", String.valueOf(rowMap.get("product_sn")))
}
}else{
rowMap.put("BARCODE_ID", null)
}
//
if (!StringUtils.isEmpty(rowMap.get("production_record_id"))) {
@ -71,6 +75,8 @@ class MesToPiscesProductionAssembly {
} else {
LOGGER.info("原材料容器id{},信息不存在", String.valueOf(rowMap.get(rowMap.get("production_record_id"))))
}
}else{
rowMap.put("PRODUCTION_LOG_FID", null)
}
//FID
if (!StringUtils.isEmpty(rowMap.get("equipment_code"))) {
@ -78,8 +84,10 @@ class MesToPiscesProductionAssembly {
if (!Objects.isNull(mesEquipment)) {
rowMap.put("EQUIPMENT_FID", mesEquipment.getFid())
} else {
LOGGER.info("设备代码:{}信息不存在", String.valueOf(rowMap.get("EQUIPMENT_FID")))
LOGGER.info("设备代码:{}信息不存在", String.valueOf(rowMap.get("equipment_code")))
}
}else{
rowMap.put("EQUIPMENT_FID", null)
}
}
return srcData;

@ -51,6 +51,9 @@ class MesToPiscesRawPartCharging {
} else {
LOGGER.info("原材料容器id{},信息不存在", String.valueOf(rowMap.get(rowMap.get("package_id"))))
}
}else{
rowMap.put("PACKAGE_NAME", null)
rowMap.put("PACKAGE_FID", null)
}
//
if (!StringUtils.isEmpty(rowMap.get("package_detail_id"))) {
@ -64,6 +67,8 @@ class MesToPiscesRawPartCharging {
} else {
LOGGER.info("原材料容器明细id{},信息不存在", String.valueOf(rowMap.get(rowMap.get("package_detail_id"))))
}
}else{
rowMap.put("PACKAGE_DETAIL_FID", null)
}
//
if (!StringUtils.isEmpty(rowMap.get("package_part_id"))) {
@ -77,6 +82,8 @@ class MesToPiscesRawPartCharging {
} else {
LOGGER.info("原材料容器明细id{},信息不存在", String.valueOf(rowMap.get(rowMap.get("package_part_id"))))
}
}else {
rowMap.put("PACKAGE_PART_FID", null)
}
}
return srcData;

@ -0,0 +1,59 @@
package cn.estsh.i3plus.ext.mes.apiservice.utils;
import cn.estsh.i3plus.mes.apiservice.util.BeanMapUtils;
import cn.hutool.core.text.csv.*;
import cn.hutool.core.util.CharsetUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
public class CsvImportUtil {
// 读取csv中的数据
public static <T> List<T> csvImports(MultipartFile file, Class<T> dbClass) {
//2. 进行配置
CsvReadConfig csvReadConfig = new CsvReadConfig();
// 是否跳过空白行
csvReadConfig.setSkipEmptyRows(true);
// 是否设置首行为标题行
csvReadConfig.setContainsHeader(true);
//构建 CsvReader 对象
CsvReader csvReader = CsvUtil.getReader(csvReadConfig);
// 这里转了下 可能会产生临时文件,临时文件目录可以设置,也可以立马删除
CsvData read = csvReader.read(multipartFile2File(file), CharsetUtil.CHARSET_UTF_8);
List<Map<String, Object>> mapList = new ArrayList<>();
for (CsvRow row : read.getRows()) {
Map<String, Object> map = new HashMap<>();
for (int i = 0; i < row.size(); i++) {
map.put(read.getHeader().get(i), row.get(i));
}
mapList.add(map);
}
return BeanMapUtils.mapToBean(mapList, dbClass);
}
/**
* multipartFileFile
**/
public static File multipartFile2File(MultipartFile multipartFile) {
File file = null;
if (multipartFile != null) {
try {
file = File.createTempFile("tmp", null);
multipartFile.transferTo(file);
System.gc();
file.deleteOnExit();
} catch (Exception e) {
e.printStackTrace();
log.warn("multipartFile转File发生异常" + e);
}
}
return file;
}
}
Loading…
Cancel
Save