Commit 8d1bb1b4 authored by 刘_震's avatar 刘_震

林西矿表头字段的对照

parent d8a95281
package com.ruoyi.system.controller;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.service.WagesCompilationService;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
/**
* @author haiwe
* @date 2024/6/7
*/
@RestController
@RequestMapping("/wages/compilation")
@RequiredArgsConstructor
public class WagesCompilationController {
private final WagesCompilationService wagesCompilationService;
@PostMapping("/excel")
public AjaxResult readExcel(@RequestParam("file") MultipartFile file) {
wagesCompilationService.readExcel(file);
return AjaxResult.success();
}
}
package com.ruoyi.system.controller;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.service.WagesDetailsService;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
/**
* @author haiwe
* @date 2024/6/5
*/
@RestController
@RequestMapping(value = "/details")
@RequiredArgsConstructor
public class WagesDetailsController {
private final WagesDetailsService wagesDetailsService;
}
package com.ruoyi.system.mapper;
import com.ruoyi.system.model.wages.dao.WagesCompilationDAO;
/**
* @author haiwe
* @date 2024/6/7
*/
public interface WagesCompilationMapper {
void insert(WagesCompilationDAO wagesCompilationDAO);
}
package com.ruoyi.system.mapper;
import com.ruoyi.system.model.wages.dao.WagesDetailsExcelDAO;
import java.util.List;
/**
* @author haiwe
* @date 2024/6/5
*/
public interface WagesDetailsMapper {
void deleteDetailsToDate(String date);
void insertBatch(String date, List<WagesDetailsExcelDAO> list);
}
package com.ruoyi.system.model.wages.dao;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author haiwe
* @date 2024/6/7
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WagesCompilationDAO {
private Integer id;
private String chineseField;
private String englishField;
private String mineId;
private String type;
}
package com.ruoyi.system.service;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
/**
* @author haiwe
* @date 2024/6/7
*/
public interface WagesCompilationService {
void readExcel(MultipartFile file);
}
package com.ruoyi.system.service;
import org.springframework.web.multipart.MultipartFile;
/**
* @author haiwe
* @date 2024/6/5
*/
public interface WagesDetailsService {
}
package com.ruoyi.system.service.impl;
import cn.hutool.poi.excel.ExcelReader;
import cn.hutool.poi.excel.ExcelUtil;
import com.ruoyi.common.utils.file.FileUtils;
import com.ruoyi.system.mapper.WagesCompilationMapper;
import com.ruoyi.system.model.wages.dao.WagesCompilationDAO;
import com.ruoyi.system.service.WagesCompilationService;
import lombok.RequiredArgsConstructor;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* @author haiwe
* @date 2024/6/7
*/
@RequiredArgsConstructor
@Service
public class WagesCompilationServiceImpl implements WagesCompilationService {
private final WagesCompilationMapper wagesCompilationMapper;
private String a = "a"; // 定义前缀字符串
@Override
public void readExcel(MultipartFile file) {
try {
InputStream inputStream = new ByteArrayInputStream(file.getBytes());
Workbook workbook = WorkbookFactory.create(inputStream);
for (int i = 0; i < workbook.getNumberOfSheets(); i++) {
Sheet sheet = workbook.getSheetAt(i);
String mineId = "011704"; // 固定的 mineId
int type = i; // 根据 Sheet 的下标设定不同的 type
Row row = sheet.getRow(1); // 读取第二行数据
List<String> rowData = new ArrayList<>();
if (row != null) {
Iterator<Cell> cellIterator = row.cellIterator();
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
rowData.add(cell.toString());
}
for (int j = 0; j < rowData.size(); j++) {
String chineseField = rowData.get(j);
String englishField = "a" + (j + 1); // i 从 0 开始,需加 1
WagesCompilationDAO wagesCompilationDAO = new WagesCompilationDAO();
wagesCompilationDAO.setChineseField(chineseField);
wagesCompilationDAO.setEnglishField(englishField);
wagesCompilationDAO.setType(String.valueOf(type));
wagesCompilationDAO.setMineId(mineId);
// 如果是 DAO 对象,还需要设置其他的属性,如 type 等
wagesCompilationMapper.insert(wagesCompilationDAO);
}
}
}
workbook.close();
inputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
package com.ruoyi.system.service.impl;
import com.ruoyi.system.mapper.WagesDetailsMapper;
import com.ruoyi.system.service.WagesDetailsService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
/**
* @author haiwe
* @date 2024/6/5
*/
@Service
@RequiredArgsConstructor
public class WagesDetailsServiceImpl implements WagesDetailsService {
private final WagesDetailsMapper wagesMapper;
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.WagesCompilationMapper">
<resultMap type="com.ruoyi.system.model.wages.dao.WagesCompilationDAO" id="WagesComparationResult">
<result property="chineseField" column="chinese_field" />
<result property="englishField" column="english_field" />
<result property="mineId" column="mine_id" />
<result property="type" column="type" />
</resultMap>
<insert id="insert" parameterType="com.ruoyi.system.model.wages.dao.WagesCompilationDAO">
INSERT INTO wages_comparation (chinese_field, english_field, mine_id, type)
VALUES (#{chineseField}, #{englishField}, #{mineId}, #{type})
</insert>
</mapper>
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment