Commit 7c65d2c1 authored by 刘_震's avatar 刘_震

汇总接口的部分实现

parent 52355178
...@@ -22,4 +22,6 @@ public interface WagesCompilationMapper { ...@@ -22,4 +22,6 @@ public interface WagesCompilationMapper {
List<WagesCompilationExcelDAO> selectByMineIdAndType(@Param("mineId") String mineId, @Param("type") String type); List<WagesCompilationExcelDAO> selectByMineIdAndType(@Param("mineId") String mineId, @Param("type") String type);
WagesCompilationExcelDAO selectByMineIdAndTypeAndVersionId(@Param("mineId")String mineId, @Param("type")String type, @Param("versionId") Integer versionId); WagesCompilationExcelDAO selectByMineIdAndTypeAndVersionId(@Param("mineId")String mineId, @Param("type")String type, @Param("versionId") Integer versionId);
List<WagesCompilationExcelDAO> selectByComparisonId(Integer comparisonId);
} }
...@@ -16,4 +16,6 @@ public interface WagesDetailsMapper { ...@@ -16,4 +16,6 @@ public interface WagesDetailsMapper {
void deleteBatch(@Param("mineId") String mineId, @Param("date") String date, @Param("comparisonId") Integer comparisonId); void deleteBatch(@Param("mineId") String mineId, @Param("date") String date, @Param("comparisonId") Integer comparisonId);
List<WagesDetailsExcelDAO> selectByDate(@Param("date") String date);
} }
...@@ -2,7 +2,9 @@ package com.ruoyi.system.service; ...@@ -2,7 +2,9 @@ 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.WagesFormulaListDto;
import com.ruoyi.system.model.wages.vo.WagesFormulaVo;
import com.ruoyi.system.model.wages.vo.WagesOverviewOriginalDataVO; import com.ruoyi.system.model.wages.vo.WagesOverviewOriginalDataVO;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
...@@ -20,5 +22,8 @@ public interface WagesService { ...@@ -20,5 +22,8 @@ public interface WagesService {
JSONObject selectWagesVoucherList(String s); JSONObject selectWagesVoucherList(String s);
String linXiExcelAnalysisWages(WagesExcelDto wagesExcelDto); String linXiExcelAnalysisWages(MultipartFile file, String date, String mineId);
List<WagesFormulaVo> lxSummary(WagesFormulaListDto wagesFormulaListDto);
} }
...@@ -287,9 +287,6 @@ public class WagesCalculateConversionServiceImpl implements WagesCalculateConver ...@@ -287,9 +287,6 @@ public class WagesCalculateConversionServiceImpl implements WagesCalculateConver
} }
return value; return value;
} }
//解析公式
private Map<String, List<String>> extractOperands(String value) { private Map<String, List<String>> extractOperands(String value) {
Map<String, List<String>> operandsMap = new HashMap<>(); Map<String, List<String>> operandsMap = new HashMap<>();
List<String> operands = new ArrayList<>(); List<String> operands = new ArrayList<>();
......
...@@ -7,13 +7,12 @@ import com.alibaba.fastjson.JSONObject; ...@@ -7,13 +7,12 @@ import com.alibaba.fastjson.JSONObject;
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.WagesDetailsMapper; import com.ruoyi.system.mapper.*;
import com.ruoyi.system.mapper.WagesMapper;
import com.ruoyi.system.mapper.WagesSalaryProofMapper;
import com.ruoyi.system.mapper.WagesVersionMapper;
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.WagesFormulaListDto;
import com.ruoyi.system.model.wages.vo.WagesFormulaVo;
import com.ruoyi.system.model.wages.vo.WagesOverviewOriginalDataVO; import com.ruoyi.system.model.wages.vo.WagesOverviewOriginalDataVO;
import com.ruoyi.system.service.WagesService; import com.ruoyi.system.service.WagesService;
import com.ruoyi.system.utils.WagesUtils; import com.ruoyi.system.utils.WagesUtils;
...@@ -32,10 +31,7 @@ import org.springframework.web.multipart.MultipartFile; ...@@ -32,10 +31,7 @@ import org.springframework.web.multipart.MultipartFile;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -53,6 +49,7 @@ public class WagesServiceImpl implements WagesService { ...@@ -53,6 +49,7 @@ public class WagesServiceImpl implements WagesService {
private final WagesDetailsMapper detailsMapper; private final WagesDetailsMapper detailsMapper;
private final WagesUtils wagesUtils; private final WagesUtils wagesUtils;
private final WagesVersionMapper wagesVersionMapper; private final WagesVersionMapper wagesVersionMapper;
private final WagesCompilationMapper compilationMapper;
@Transactional @Transactional
@Override @Override
...@@ -229,11 +226,8 @@ public class WagesServiceImpl implements WagesService { ...@@ -229,11 +226,8 @@ public class WagesServiceImpl implements WagesService {
/** /**
* 通用导入 * 通用导入
*/ */
public String linXiExcelAnalysisWages(WagesExcelDto wagesExcelDto) { public String linXiExcelAnalysisWages(MultipartFile file, String date, String mineId) {
try { try {
MultipartFile file = wagesExcelDto.getFile();
String date = wagesExcelDto.getDate();
String mineId = wagesExcelDto.getMineId();
// 查询有效(启用)的版本id // 查询有效(启用)的版本id
List<String> list = wagesVersionMapper.selectByVersionIdToMineId(mineId); List<String> list = wagesVersionMapper.selectByVersionIdToMineId(mineId);
// 查询所有有效的对照信息 // 查询所有有效的对照信息
...@@ -279,29 +273,13 @@ public class WagesServiceImpl implements WagesService { ...@@ -279,29 +273,13 @@ 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 (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); 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(finalInteger)).collect(Collectors.toList()); .peek(v -> v.setComparisonId(integer)).collect(Collectors.toList());
wagesDetailsMapper.insertBatch(date, wagesList, mineId); wagesDetailsMapper.insertBatch(date, wagesList, mineId);
} }
} catch (Exception e) { } catch (Exception e) {
...@@ -310,6 +288,73 @@ public class WagesServiceImpl implements WagesService { ...@@ -310,6 +288,73 @@ public class WagesServiceImpl implements WagesService {
return "完成"; return "完成";
} }
@Override
public List<WagesFormulaVo> lxSummary(WagesFormulaListDto wagesFormulaListDto) {
//定义一个集合用来存储前端所需要的返回值
List<WagesFormulaVo> wagesFormulaVos = new ArrayList<>();
//获取前端传的参数
List<WagesFormulaDto> data = wagesFormulaListDto.getData();
//获取传进来的日期
String date = wagesFormulaListDto.getDate();
//根据日期查取相关数据
List<WagesDetailsExcelDAO> lists = wagesDetailsMapper.selectByDate(date);
//判断传进来的日期是否为空,如果为空则返回null
int size = lists.size();
if (size == 0) {
return null;
}
for (WagesFormulaDto wagesFormulaDto : data) {
String value = wagesFormulaDto.getValue();
//解析公式value
Map<String, List<String>> operandsMap = extractOperands(value);
//只含公式中的字段
List<String> formula = operandsMap.get("operands");
}
return wagesFormulaVos;
}
//解析公式value
private Map<String, List<String>> extractOperands(String value) {
Map<String, List<String>> operandsMap = new HashMap<>();
List<String> operands = new ArrayList<>();
List<String> operators = new ArrayList<>();
StringBuilder operandBuilder = new StringBuilder();
for (char c : value.toCharArray()) {
if (isOperator(c)) {
if (operandBuilder.length() > 0) {
operands.add(operandBuilder.toString().trim());
operandBuilder = new StringBuilder();
}
operators.add(String.valueOf(c));
} else {
operandBuilder.append(c);
}
}
if (operandBuilder.length() > 0) {
operands.add(operandBuilder.toString().trim());
}
operandsMap.put("operands", operands);
operandsMap.put("operators", operators);
return operandsMap;
}
//判断是否是操作符
private boolean isOperator(char c) {
return c == '+' || c == '-' || c == '*' || c == '/';
}
public JSONArray getCustomDoc(CustomDocRequestModel customDocRequestModel) { public JSONArray getCustomDoc(CustomDocRequestModel customDocRequestModel) {
ReturnResult customDocument = VoucherUtils.callVoucherQuery(customDocRequestModel, "/yonbip/digitalModel/customerdoc/list"); ReturnResult customDocument = VoucherUtils.callVoucherQuery(customDocRequestModel, "/yonbip/digitalModel/customerdoc/list");
......
...@@ -410,6 +410,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -410,6 +410,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectWagesComparationVerticalVo"/> <include refid="selectWagesComparationVerticalVo"/>
where mine_id = #{mineId} and type = #{type} and version_id = #{versionId} where mine_id = #{mineId} and type = #{type} and version_id = #{versionId}
</select> </select>
<select id="selectByComparisonId" resultType="com.ruoyi.system.model.wages.dao.WagesCompilationExcelDAO"
parameterType="java.lang.Integer">
<include refid="selectWagesComparationVerticalVo"/>
where comparison_id = #{comparisonId}
</select>
<insert id="insertBatch" parameterType="com.ruoyi.system.model.wages.dao.WagesCompilationExcelDAO" useGeneratedKeys="true" keyProperty="comparisonId"> <insert id="insertBatch" parameterType="com.ruoyi.system.model.wages.dao.WagesCompilationExcelDAO" useGeneratedKeys="true" keyProperty="comparisonId">
insert into wages_comparation_vertical insert into wages_comparation_vertical
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
<update id="updateByWagesVersionToTypeAndMineId"> <update id="updateByWagesVersionToTypeAndMineId">
update wages_version update wages_version
set open_or_close = '0' set open_or_close = '0'
where type = #{type} and mine_id = #{mindId}; where type = #{type} and mine_id = #{mineId};
</update> </update>
<select id="selectByVersionId" resultMap="WagesVersionResult"> <select id="selectByVersionId" resultMap="WagesVersionResult">
<include refid="selectWagesVersionVo"/> <include refid="selectWagesVersionVo"/>
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
<select id="selectByVersionIdToMineId" resultType="java.lang.String"> <select id="selectByVersionIdToMineId" resultType="java.lang.String">
select version_id select version_id
from wages_version from wages_version
where mine_id = #{mindId} and open_or_close = '1' where mine_id = #{mindId} and open_or_close = '1'
</select> </select>
<select id="selectByWagesVersionToTypeAndMineId" resultType="java.lang.String"> <select id="selectByWagesVersionToTypeAndMineId" resultType="java.lang.String">
select version_id select version_id
......
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