Commit 933d1e81 authored by Fuzy's avatar Fuzy

修改通用导入和对照方法

parent bbcda3ba
...@@ -83,20 +83,11 @@ public class WagesController { ...@@ -83,20 +83,11 @@ public class WagesController {
* @return * @return
*/ */
@RequestMapping("/lxWages") @RequestMapping("/lxWages")
public AjaxResult LinXiExcelAnalysisWages(@RequestBody WagesExcelDto wagesExcelDto){ public AjaxResult LinXiExcelAnalysisWages(@RequestParam("file") MultipartFile file, @RequestParam String date, @RequestParam String mineId, @RequestParam String identification){
String s = wagesService.linXiExcelAnalysisWages(wagesExcelDto); String s = wagesService.linXiExcelAnalysisWages(file, date, mineId, identification);
return new AjaxResult(200, s); return new AjaxResult(200, s);
} }
/**
* 林西矿工资Excel导入
* @return
*/
@RequestMapping("/lxIns")
public List<WagesDetailsOriginalExcelDAO> LinXiExcelAnalysisInsurance(){
// List<WagesDetailsOriginalExcelDAO> list = wagesService.linXiExcelAnalysisInsurance();
return null;
}
@PostMapping("/lxSummary") @PostMapping("/lxSummary")
public List<WagesFormulaVo> lxSummary(@RequestBody WagesFormulaListDto wagesFormulaListDto){ public List<WagesFormulaVo> lxSummary(@RequestBody WagesFormulaListDto wagesFormulaListDto){
......
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; ...@@ -2,6 +2,7 @@ package com.ruoyi.system.service;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.ruoyi.system.model.wages.dao.WagesDetailsOriginalExcelDAO; import com.ruoyi.system.model.wages.dao.WagesDetailsOriginalExcelDAO;
import com.ruoyi.system.model.wages.dto.WagesExcelDto;
import com.ruoyi.system.model.wages.dto.WagesFormulaDto; import com.ruoyi.system.model.wages.dto.WagesFormulaDto;
import com.ruoyi.system.model.wages.dto.WagesFormulaListDto; import com.ruoyi.system.model.wages.dto.WagesFormulaListDto;
import com.ruoyi.system.model.wages.vo.WagesFormulaVo; import com.ruoyi.system.model.wages.vo.WagesFormulaVo;
...@@ -22,7 +23,7 @@ public interface WagesService { ...@@ -22,7 +23,7 @@ public interface WagesService {
JSONObject selectWagesVoucherList(String s); JSONObject selectWagesVoucherList(String s);
String linXiExcelAnalysisWages(MultipartFile file, String date, String mineId); String linXiExcelAnalysisWages(MultipartFile file, String date, String mineId, String identification);
List<WagesFormulaVo> lxSummary(WagesFormulaListDto wagesFormulaListDto); List<WagesFormulaVo> lxSummary(WagesFormulaListDto wagesFormulaListDto);
......
...@@ -4,12 +4,14 @@ import com.alibaba.excel.EasyExcelFactory; ...@@ -4,12 +4,14 @@ import com.alibaba.excel.EasyExcelFactory;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson;
import com.ruoyi.system.common.ReturnResult; import com.ruoyi.system.common.ReturnResult;
import com.ruoyi.system.constant.ApiConstant; import com.ruoyi.system.constant.ApiConstant;
import com.ruoyi.system.listener.ExcelListener; import com.ruoyi.system.listener.ExcelListener;
import com.ruoyi.system.mapper.*; import com.ruoyi.system.mapper.*;
import com.ruoyi.system.model.doc.CustomDocRequestModel; import com.ruoyi.system.model.doc.CustomDocRequestModel;
import com.ruoyi.system.model.wages.dao.*; import com.ruoyi.system.model.wages.dao.*;
import com.ruoyi.system.model.wages.dto.WagesExcelDto;
import com.ruoyi.system.model.wages.dto.WagesFormulaDto; import com.ruoyi.system.model.wages.dto.WagesFormulaDto;
import com.ruoyi.system.model.wages.dto.WagesFormulaListDto; import com.ruoyi.system.model.wages.dto.WagesFormulaListDto;
import com.ruoyi.system.model.wages.vo.WagesFormulaVo; import com.ruoyi.system.model.wages.vo.WagesFormulaVo;
...@@ -226,7 +228,7 @@ public class WagesServiceImpl implements WagesService { ...@@ -226,7 +228,7 @@ public class WagesServiceImpl implements WagesService {
/** /**
* 通用导入 * 通用导入
*/ */
public String linXiExcelAnalysisWages(MultipartFile file, String date, String mineId) { public String linXiExcelAnalysisWages(MultipartFile file, String date, String mineId, String identification) {
try { try {
// 查询有效(启用)的版本id // 查询有效(启用)的版本id
List<String> list = wagesVersionMapper.selectByVersionIdToMineId(mineId); List<String> list = wagesVersionMapper.selectByVersionIdToMineId(mineId);
...@@ -273,13 +275,29 @@ public class WagesServiceImpl implements WagesService { ...@@ -273,13 +275,29 @@ public class WagesServiceImpl implements WagesService {
List<String> filterList = Arrays.asList("小计", "合计", "总计", "研发人员小计", "全矿总计"); List<String> filterList = Arrays.asList("小计", "合计", "总计", "研发人员小计", "全矿总计");
for (int i = 0; i < idList.size(); i++) { for (int i = 0; i < idList.size(); i++) {
Integer integer = idList.get(i); Integer integer = idList.get(i);
// 林西表特殊处理
if ("011704".equals(mineId)) {
if (integer == 1) {
if (identification == null){
return "请填写excel表类型";
}
integer = identification.equals("0") ? 1 : 4;
}
if (integer == 2 || integer == 3) {
if (identification == null){
return "请填写excel表类型";
}
integer = identification.equals("0") ? 2 : 3;
}
}
detailsMapper.deleteBatch(mineId, date, integer); detailsMapper.deleteBatch(mineId, date, integer);
InputStream inputStream = file.getInputStream(); InputStream inputStream = file.getInputStream();
List<WagesDetailsExcelDAO> wagesList = EasyExcelFactory.read(inputStream, WagesDetailsExcelDAO.class, new ExcelListener<WagesDetailsExcelDAO>()).sheet(i).headRowNumber(2).doReadSync(); List<WagesDetailsExcelDAO> wagesList = EasyExcelFactory.read(inputStream, WagesDetailsExcelDAO.class, new ExcelListener<WagesDetailsExcelDAO>()).sheet(i).headRowNumber(2).doReadSync();
inputStream.close(); inputStream.close();
Integer finalInteger = integer;
wagesList = wagesList.parallelStream() wagesList = wagesList.parallelStream()
.filter(v -> !filterList.contains(v.getA1())) .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); wagesDetailsMapper.insertBatch(date, wagesList, mineId);
} }
} catch (Exception e) { } catch (Exception e) {
...@@ -311,7 +329,11 @@ public class WagesServiceImpl implements WagesService { ...@@ -311,7 +329,11 @@ public class WagesServiceImpl implements WagesService {
Map<String, List<String>> operandsMap = extractOperands(value); Map<String, List<String>> operandsMap = extractOperands(value);
//只含公式中的字段 //只含公式中的字段
List<String> formula = operandsMap.get("operands"); List<String> formula = operandsMap.get("operands");
for (String s : formula) {
for (WagesDetailsExcelDAO list : lists) {
JSONObject jsonList = new JSONObject((Map<String, Object>) list);
}
}
} }
......
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