Commit 163afb19 authored by Fuzy's avatar Fuzy

1

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