Commit 163afb19 authored by Fuzy's avatar Fuzy

1

parent f0c44159
......@@ -19,7 +19,7 @@ public interface WagesCompilationMapper {
List<WagesCompilationExcelDAO> 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);
}
......@@ -10,5 +10,5 @@ import java.util.List;
*/
public interface WagesVersionMapper {
WagesVersionDAO selectByVersionId(Integer versionId);
List<WagesVersionDAO> selectByVersionId();
}
package com.ruoyi.system.service.impl;
import com.ruoyi.system.mapper.WagesCompilationMapper;
import com.ruoyi.system.mapper.WagesDetailsMapper;
import com.ruoyi.system.mapper.WagesVersionMapper;
import com.ruoyi.system.model.wages.dao.WagesCompilationExcelDAO;
import com.ruoyi.system.model.wages.dao.WagesVersionDAO;
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 detailsMapper;
private final WagesCompilationMapper wagesCompilationMapper;
private final WagesVersionMapper wagesVersionMapper;
@Override
public void deteleByMineIdAndDate(String mineId, String date,String type) {
WagesCompilationExcelDAO wagesCompilationExcelDAO = wagesCompilationMapper.selectByMineIdAndType(mineId, type);
Integer versionId = wagesCompilationExcelDAO.getVersionId();
if (versionId == null) {
return ;
}
WagesVersionDAO wagesVersionDAO = wagesVersionMapper.selectByVersionId(versionId);
if (wagesVersionDAO.getOpenOrClose().equals("0")) {
return ;
}
WagesCompilationExcelDAO dao = wagesCompilationMapper.selectByMineIdAndTypeAndVersionId(mineId, type, versionId);
if (dao == null) {
return ;
}
Integer comparisonId = dao.getComparisonId();
detailsMapper.deleteBatch(mineId,date,comparisonId);
}
}
......@@ -7,11 +7,14 @@ import com.alibaba.fastjson.JSONObject;
import com.ruoyi.system.common.ReturnResult;
import com.ruoyi.system.constant.ApiConstant;
import com.ruoyi.system.listener.ExcelListener;
import com.ruoyi.system.mapper.*;
import com.ruoyi.system.mapper.WagesDetailsMapper;
import com.ruoyi.system.mapper.WagesMapper;
import com.ruoyi.system.mapper.WagesSalaryProofMapper;
import com.ruoyi.system.model.doc.CustomDocRequestModel;
import com.ruoyi.system.model.wages.dao.*;
import com.ruoyi.system.model.wages.vo.WagesOverviewOriginalDataVO;
import com.ruoyi.system.service.WagesService;
import com.ruoyi.system.utils.WagesUtils;
import com.ruoyi.system.yyinterface.VoucherUtils;
import lombok.RequiredArgsConstructor;
import org.slf4j.Logger;
......@@ -39,10 +42,8 @@ public class WagesServiceImpl implements WagesService {
WagesMapper wagesMapper;
@Autowired
WagesSalaryProofMapper wagesSalaryProofMapper;
@Autowired
WagesDetailsMapper wagesDetailsMapper;
private final WagesCompilationMapper wagesCompilationMapper;
private final WagesVersionMapper wagesVersionMapper;
private final WagesDetailsMapper wagesDetailsMapper;
private final WagesDetailsMapper detailsMapper;
@Transactional
@Override
......@@ -154,8 +155,8 @@ public class WagesServiceImpl implements WagesService {
String lbname = sourceOfExpenses.substring(index + 1);
String lbname2 = "项目";
//用友项目接口查询
String xmCode = getCodeByName(lbname,"010101");
if(xmCode!=null){
String xmCode = getCodeByName(lbname, "010101");
if (xmCode != null) {
jsonObject1.put("auxiliary_item_b", lbname2 + ":" + xmCode + "/" + lbname);
}
......@@ -217,17 +218,20 @@ public class WagesServiceImpl implements WagesService {
@Override
public String linXiExcelAnalysisWages(MultipartFile file, String date, String mineId) {
try {
Integer comparisonId = WagesUtils.getComparisonId(mineId, "0");
detailsMapper.deleteBatch(mineId, date, comparisonId);
comparisonId = WagesUtils.getComparisonId(mineId, "1");
detailsMapper.deleteBatch(mineId, date, comparisonId);
List<String> filterList = Arrays.asList("小计", "合计", "总计");
InputStream inputStream = file.getInputStream();
List<WagesDetailsExcelDAO> wagesList = EasyExcelFactory.read(inputStream, WagesDetailsExcelDAO.class, new ExcelListener<WagesDetailsExcelDAO>()).sheet(0).headRowNumber(2).doReadSync();
inputStream.close();
Integer comparisonId1 = getComparisonId(mineId,"0");
Integer comparisonId1 = WagesUtils.getComparisonId(mineId, "0");
InputStream inputStream1 = file.getInputStream();
List<WagesDetailsExcelDAO> financeWagesList = EasyExcelFactory.read(inputStream1, WagesDetailsExcelDAO.class, new ExcelListener<WagesDetailsExcelDAO>()).sheet(1).headRowNumber(2).doReadSync();
inputStream1.close();
Integer comparisonId2 = getComparisonId(mineId,"1");
Integer comparisonId2 = WagesUtils.getComparisonId(mineId, "1");
wagesList = wagesList.parallelStream()
.filter(v -> !filterList.contains(v.getA1()))
.peek(v -> v.setComparisonId(comparisonId1)).collect(Collectors.toList());
......@@ -242,29 +246,6 @@ public class WagesServiceImpl implements WagesService {
return "完成";
}
/**
* 根据矿id和type获取对应的对照表id
* @param mineId
* @param type
* @return
*/
private Integer getComparisonId(String mineId, String type) {
WagesCompilationExcelDAO wagesCompilationExcelDAO = wagesCompilationMapper.selectByMineIdAndType(mineId, type);
Integer versionId = wagesCompilationExcelDAO.getVersionId();
if (versionId == null) {
return null;
}
WagesVersionDAO wagesVersionDAO = wagesVersionMapper.selectByVersionId(versionId);
if (wagesVersionDAO.getOpenOrClose().equals("0")) {
return null;
}
WagesCompilationExcelDAO dao = wagesCompilationMapper.selectByMineIdAndTypeAndVersionId(mineId, type, versionId);
if (dao == null) {
return null;
}
return dao.getComparisonId();
}
public JSONArray getCustomDoc(CustomDocRequestModel customDocRequestModel) {
ReturnResult customDocument = VoucherUtils.callVoucherQuery(customDocRequestModel, "/yonbip/digitalModel/customerdoc/list");
......@@ -289,18 +270,19 @@ public class WagesServiceImpl implements WagesService {
}
return code;
}
//用友接口获取项目
private String getCodeByName( String name,String mineId) {
private String getCodeByName(String name, String mineId) {
String code = null;
JSONObject jsonObject = new JSONObject();
jsonObject.put("pageIndex",1L);
jsonObject.put("pageSize",1000L);
jsonObject.put("name",name);
ReturnResult accSubject = VoucherUtils.callVoucherQuery( jsonObject , ApiConstant.YFXM_URL);
jsonObject.put("pageIndex", 1L);
jsonObject.put("pageSize", 1000L);
jsonObject.put("name", name);
ReturnResult accSubject = VoucherUtils.callVoucherQuery(jsonObject, ApiConstant.YFXM_URL);
JSONObject data = (JSONObject) accSubject.getData().get(0);
JSONArray recordList= data.getJSONArray("recordList");
JSONArray recordList = data.getJSONArray("recordList");
for (Object o : recordList) {
JSONObject object = (JSONObject)o;
JSONObject object = (JSONObject) o;
String orgid_code = object.getString("orgid_code");
if (orgid_code.equals(mineId)) {
code = object.getString("code");
......
package com.ruoyi.system.utils;
import com.ruoyi.system.mapper.WagesCompilationMapper;
import com.ruoyi.system.mapper.WagesVersionMapper;
import com.ruoyi.system.model.wages.dao.WagesCompilationExcelDAO;
import com.ruoyi.system.model.wages.dao.WagesVersionDAO;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
/**
* 2024/6/13
*/
public class WagesUtils {
private static WagesVersionMapper wagesVersionMapper;
private static WagesCompilationMapper wagesCompilationMapper;
public WagesUtils(WagesVersionMapper wagesVersionMapper, WagesCompilationMapper wagesCompilationMapper) {
this.wagesVersionMapper = wagesVersionMapper;
this.wagesCompilationMapper = wagesCompilationMapper;
}
/**
* 根据矿id和type获取对应的对照表id
* @param mineId
* @param type
* @return
*/
public static Integer getComparisonId(String mineId, String type) {
List<WagesCompilationExcelDAO> wagesCompilationExcelDAO = wagesCompilationMapper.selectByMineIdAndType(mineId, type);
if (wagesCompilationExcelDAO == null || wagesCompilationExcelDAO.size() == 0) {
return null;
}
List<Integer> collect = wagesCompilationExcelDAO.stream().map(v -> v.getVersionId()).collect(Collectors.toList());
List<WagesVersionDAO> wagesVersionDAO = wagesVersionMapper.selectByVersionId();
if (wagesVersionDAO == null || wagesVersionDAO.size() == 0) {
return null;
}
Optional<WagesVersionDAO> first = wagesVersionDAO.stream().filter(v -> collect.contains(v.getVersionId()) && "1".equals(v.getOpenOrClose())).findFirst();
if (first.isPresent()) {
Integer id = first.get().getVersionId();
return wagesCompilationExcelDAO.parallelStream().filter(v -> id.equals(v.getVersionId())).map(v -> v.getComparisonId()).findFirst().get();
}
return null;
}
}
......@@ -193,22 +193,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectWagesComparationVerticalVo">
select comparison_id, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12,
a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25,
a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38,
a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51,
a52, a53, a54, a55, a56, a57, a58, a59, a60, a61, a62, a63, a64,
a65, a66, a67, a68, a69, a70, a71, a72, a73, a74, a75, a76, a77,
a78, a79, a80, a81, a82, a83, a84, a85, a86, a87, a88, a89, a90,
a91, a92, a93, a94, a95, a96, a97, a98, a99, a100, a101, a102, a103,
a104, a105, a106, a107, a108, a109, a110, a111, a112, a113, a114,
a115, a116, a117, a118, a119, a120, a121, a122, a123, a124, a125,
a126, a127, a128, a129, a130, a131, a132, a133, a134, a135, a136,
a137, a138, a139, a140, a141, a142, a143, a144, a145, a146, a147,
a148, a149, a150, a151, a152, a153, a154, a155, a156, a157, a158,
a159, a160, a161, a162, a163, a164, a165, a166, a167, a168, a169,
a170, a171, a172, a173, a174, a175, a176, a177, a178, a179, a180,
mine_id, type, version_id from wages_comparation_vertical
select comparison_id
# , a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12,
# a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25,
# a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38,
# a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51,
# a52, a53, a54, a55, a56, a57, a58, a59, a60, a61, a62, a63, a64,
# a65, a66, a67, a68, a69, a70, a71, a72, a73, a74, a75, a76, a77,
# a78, a79, a80, a81, a82, a83, a84, a85, a86, a87, a88, a89, a90,
# a91, a92, a93, a94, a95, a96, a97, a98, a99, a100, a101, a102, a103,
# a104, a105, a106, a107, a108, a109, a110, a111, a112, a113, a114,
# a115, a116, a117, a118, a119, a120, a121, a122, a123, a124, a125,
# a126, a127, a128, a129, a130, a131, a132, a133, a134, a135, a136,
# a137, a138, a139, a140, a141, a142, a143, a144, a145, a146, a147,
# a148, a149, a150, a151, a152, a153, a154, a155, a156, a157, a158,
# a159, a160, a161, a162, a163, a164, a165, a166, a167, a168, a169,
# a170, a171, a172, a173, a174, a175, a176, a177, a178, a179, a180
,mine_id, type, version_id from wages_comparation_vertical
</sql>
<select id="list" parameterType="com.ruoyi.system.model.wages.dao.WagesCompilationExcelDAO" resultMap="WagesComparationVerticalResult">
......
......@@ -15,10 +15,8 @@
<sql id="selectWagesVersionVo">
select version_id, version, open_or_close, begin_time, end_time, create_time from wages_version
</sql>
<select id="selectByVersionId" resultMap="WagesVersionResult"
parameterType="java.lang.Integer">
<select id="selectByVersionId" resultMap="WagesVersionResult">
<include refid="selectWagesVersionVo"/>
where version_id = #{versionId}
</select>
......
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