Commit 52355178 authored by Fuzy's avatar Fuzy

修改通用导入和对照方法

parent f8cfd287
......@@ -3,6 +3,7 @@ package com.ruoyi.system.controller;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.model.wages.dao.WagesDetailsOriginalExcelDAO;
import com.ruoyi.system.model.wages.dto.WagesExcelDto;
import com.ruoyi.system.model.wages.vo.WagesOverviewOriginalDataVO;
import com.ruoyi.system.service.WagesService;
import org.slf4j.Logger;
......@@ -80,8 +81,8 @@ public class WagesController {
* @return
*/
@RequestMapping("/lxWages")
public AjaxResult LinXiExcelAnalysisWages(@RequestParam("file") MultipartFile file, @RequestParam("date")String date, @RequestParam("mineId") String mineId){
String s = wagesService.linXiExcelAnalysisWages(file, date, mineId);
public AjaxResult LinXiExcelAnalysisWages(@RequestBody WagesExcelDto wagesExcelDto){
String s = wagesService.linXiExcelAnalysisWages(wagesExcelDto);
return new AjaxResult(200, s);
}
......
package com.ruoyi.system.model.wages.dto;
import lombok.Data;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import javax.validation.constraints.NotNull;
/**
* 2024/6/17
* 工资excel导入
*/
@Data
public class WagesExcelDto {
@NotNull(message = "excel不能为空")
private MultipartFile file;
@NotNull(message = "日期不能为空")
private String date;
@NotNull(message = "矿id不能为空")
private String mineId;
// 011704 0 总表 1 研发
private String identification;
}
......@@ -2,6 +2,7 @@ package com.ruoyi.system.service;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.system.model.wages.dao.WagesDetailsOriginalExcelDAO;
import com.ruoyi.system.model.wages.dto.WagesExcelDto;
import com.ruoyi.system.model.wages.vo.WagesOverviewOriginalDataVO;
import org.springframework.web.multipart.MultipartFile;
......@@ -19,5 +20,5 @@ public interface WagesService {
JSONObject selectWagesVoucherList(String s);
String linXiExcelAnalysisWages(MultipartFile file, String date, String mineId);
String linXiExcelAnalysisWages(WagesExcelDto wagesExcelDto);
}
......@@ -13,6 +13,7 @@ import com.ruoyi.system.mapper.WagesSalaryProofMapper;
import com.ruoyi.system.mapper.WagesVersionMapper;
import com.ruoyi.system.model.doc.CustomDocRequestModel;
import com.ruoyi.system.model.wages.dao.*;
import com.ruoyi.system.model.wages.dto.WagesExcelDto;
import com.ruoyi.system.model.wages.vo.WagesOverviewOriginalDataVO;
import com.ruoyi.system.service.WagesService;
import com.ruoyi.system.utils.WagesUtils;
......@@ -228,8 +229,11 @@ public class WagesServiceImpl implements WagesService {
/**
* 通用导入
*/
public String linXiExcelAnalysisWages(MultipartFile file, String date, String mineId) {
public String linXiExcelAnalysisWages(WagesExcelDto wagesExcelDto) {
try {
MultipartFile file = wagesExcelDto.getFile();
String date = wagesExcelDto.getDate();
String mineId = wagesExcelDto.getMineId();
// 查询有效(启用)的版本id
List<String> list = wagesVersionMapper.selectByVersionIdToMineId(mineId);
// 查询所有有效的对照信息
......@@ -275,13 +279,29 @@ public class WagesServiceImpl implements WagesService {
List<String> filterList = Arrays.asList("小计", "合计", "总计", "研发人员小计", "全矿总计");
for (int i = 0; i < idList.size(); i++) {
Integer integer = idList.get(i);
// 林西表特殊处理
if ("011704".equals(mineId)) {
if (integer == 1) {
if (wagesExcelDto.getIdentification() == null){
return "请填写excel表类型";
}
integer = wagesExcelDto.getIdentification().equals("0") ? 1 : 4;
}
if (integer == 2 || integer == 3) {
if (wagesExcelDto.getIdentification() == null){
return "请填写excel表类型";
}
integer = wagesExcelDto.getIdentification().equals("0") ? 2 : 3;
}
}
detailsMapper.deleteBatch(mineId, date, integer);
InputStream inputStream = file.getInputStream();
List<WagesDetailsExcelDAO> wagesList = EasyExcelFactory.read(inputStream, WagesDetailsExcelDAO.class, new ExcelListener<WagesDetailsExcelDAO>()).sheet(i).headRowNumber(2).doReadSync();
inputStream.close();
Integer finalInteger = integer;
wagesList = wagesList.parallelStream()
.filter(v -> !filterList.contains(v.getA1()))
.peek(v -> v.setComparisonId(integer)).collect(Collectors.toList());
.peek(v -> v.setComparisonId(finalInteger)).collect(Collectors.toList());
wagesDetailsMapper.insertBatch(date, wagesList, mineId);
}
} catch (Exception e) {
......
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