Commit 1d5daa16 authored by Fuzy's avatar Fuzy

重构计算方法

parent 8d1bb1b4
package com.ruoyi.system.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.support.config.FastJsonConfig;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysMenu;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.model.wages.dao.WagesDetailsOriginalExcelDAO;
import com.ruoyi.system.model.wages.dao.WagesSalaryProof;
import com.ruoyi.system.model.wages.vo.WagesOverviewOriginalDataVO;
import com.ruoyi.system.service.WagesService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Map;
/**
* 2024/4/26
......@@ -42,7 +29,7 @@ public class WagesController {
}
/**
* excel解析
* 唐山矿excel解析
* @param file
* @return
*/
......@@ -88,5 +75,23 @@ public class WagesController {
return AjaxResult.success(of);
}
/**
* 林西矿工资Excel导入
* @return
*/
@RequestMapping("/lxWages")
public AjaxResult LinXiExcelAnalysisWages(@RequestParam("file") MultipartFile file, @RequestParam("date")String date){
String s = wagesService.linXiExcelAnalysisWages(file, date);
return new AjaxResult(200, s);
}
/**
* 林西矿工资Excel导入
* @return
*/
@RequestMapping("/lxIns")
public List<WagesDetailsOriginalExcelDAO> LinXiExcelAnalysisInsurance(){
// List<WagesDetailsOriginalExcelDAO> list = wagesService.linXiExcelAnalysisInsurance();
return null;
}
}
package com.ruoyi.system.model.wages.dao;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* 2024/6/6
*/
// 林西财务工资表
@Data
public class LinXiFinanceWagesSurface {
@ExcelProperty(value = "部门名称",index = 0)
private String dept;
@ExcelProperty(value = "人数", index = 1)
private BigDecimal numberOfPeople;
@ExcelProperty(value = "工资合计", index = 2)
private BigDecimal totalSalary;
@ExcelProperty(value = "班中餐", index = 3)
private BigDecimal classLunch;
@ExcelProperty(value = "一孩保健", index = 4)
private BigDecimal childHealthCare;
@ExcelProperty(value = "保健费", index = 5)
private BigDecimal healthExpenses;
@ExcelProperty(value = "住宿补贴", index = 6)
private BigDecimal accommodationSubsidy;
@ExcelProperty(value = "荣誉金", index =7 )
private BigDecimal honoraryGold;
@ExcelProperty(value = "降温防暑费", index = 8)
private BigDecimal coolingAndHeatstrokePreventionFees;
@ExcelProperty(value = "生日补贴", index = 9)
private BigDecimal birthdaySubsidy;
@ExcelProperty(value = "月票", index = 10)
private BigDecimal monthlyTicket;
@ExcelProperty(value = "护理费", index = 11)
private BigDecimal nursingExpenses;
@ExcelProperty(value = "营养餐", index = 12)
private BigDecimal nutritionalMeals;
@ExcelProperty(value = "党组织工作经费", index = 13)
private BigDecimal partyOrganizationWorkFunds;
@ExcelProperty(value = "培训费", index = 14)
private BigDecimal trainingFees;
@ExcelProperty(value = "其它费用1", index = 15)
private BigDecimal otherExpenses1;
@ExcelProperty(value = "其它费用1.1", index = 16)
private BigDecimal otherExpenses1_1;
@ExcelProperty(value = "其它费用1.2", index = 17)
private BigDecimal otherExpenses1_2;
@ExcelProperty(value = "其它费用2", index = 18)
private BigDecimal otherExpenses2;
@ExcelProperty(value = "伙食补贴", index = 19)
private BigDecimal mealAllowance;
@ExcelProperty(value = "其它费用4", index = 20)
private BigDecimal otherExpenses4;
@ExcelProperty(value = "宣传费用", index = 21)
private BigDecimal promotionExpenses;
@ExcelProperty(value = "司机补贴", index = 22)
private BigDecimal driverSubsidies;
@ExcelProperty(value = "困难补助", index = 23)
private BigDecimal subsidyThoseFinancialDifficulties;
@ExcelProperty(value = "费用合计", index = 24)
private BigDecimal totalExpenses;
@ExcelProperty(value = "应付工资", index = 25)
private BigDecimal payableWages;
@ExcelProperty(value = "扣款合计", index = 26)
private BigDecimal totalDeduction;
@ExcelProperty(value = "实付工资", index = 27)
private BigDecimal paidWages;
@ExcelProperty(value = "矿付", index = 28)
private BigDecimal miningPayment;
}
package com.ruoyi.system.model.wages.dao;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* 2024/6/6
*/
// 林西工资详情表
@Data
public class LinXiWagesDetailsOriginalExcelDao {
@ExcelProperty(value = "部门名称",index = 0)
private String dept;
@ExcelProperty(value = "人数", index = 1)
private BigDecimal numberOfPeople;
@ExcelProperty(value = "基本工资", index = 2)
private BigDecimal basicSalary;
@ExcelProperty(value = "风险补贴", index = 3)
private BigDecimal riskSubsidy;
@ExcelProperty(value = "节日资", index = 4)
private BigDecimal festivalResources;
@ExcelProperty(value = "井下贴", index = 5)
private BigDecimal undergroundSticker;
@ExcelProperty(value = "岗贴", index = 6)
private BigDecimal postStickers;
@ExcelProperty(value = "夜班费", index = 7)
private BigDecimal nightShiftFee;
@ExcelProperty(value = "班组贴", index = 8)
private BigDecimal teamStickers;
@ExcelProperty(value = "书报", index = 9)
private BigDecimal booksAndNewspapers;
@ExcelProperty(value = "调标补资", index = 10)
private BigDecimal adjustmentStandardsFunding;
@ExcelProperty(value = "调标补资1", index = 11)
private BigDecimal adjustmentStandardsFunding1;
@ExcelProperty(value = "女卫", index = 12)
private BigDecimal femaleGuard;
@ExcelProperty(value = "交通补贴", index = 13)
private BigDecimal transportationSubsidies;
@ExcelProperty(value = "房贴", index = 14)
private BigDecimal roomStickers;
@ExcelProperty(value = "技师", index = 15)
private BigDecimal technician;
@ExcelProperty(value = "岗位带头人", index = 16)
private BigDecimal jobLeader;
@ExcelProperty(value = "绩效工资", index = 17)
private BigDecimal performanceBasedSalary;
@ExcelProperty(value = "安全工资", index = 18)
private BigDecimal safeSalary;
@ExcelProperty(value = "保勤奖", index = 19)
private BigDecimal attendanceAward;
@ExcelProperty(value = "风险金返还", index = 20)
private BigDecimal riskFundReturn;
@ExcelProperty(value = "调精神文明奖", index = 21)
private BigDecimal spiritualCivilizationAward;
@ExcelProperty(value = "年终奖", index = 22)
private BigDecimal yearEndBonus;
@ExcelProperty(value = "调保勤奖", index = 23)
private BigDecimal adjustmentAndMaintenanceAttendanceAward;
@ExcelProperty(value = "调一季度开门红奖", index = 24)
private BigDecimal adjustFirstQuarterOpeningBonus;
@ExcelProperty(value = "单项奖", index = 25)
private BigDecimal individualAwards;
@ExcelProperty(value = "兑现奖", index = 26)
private BigDecimal redemptionAward;
@ExcelProperty(value = "配煤奖", index = 27)
private BigDecimal coalBlendingAward;
@ExcelProperty(value = "通防奖", index = 28)
private BigDecimal communicationAndDefenseAward;
@ExcelProperty(value = "其它奖", index = 29)
private BigDecimal otherAwards;
@ExcelProperty(value = "下井加奖", index = 30)
private BigDecimal lowerWellBonus;
@ExcelProperty(value = "加其它一", index = 31)
private BigDecimal addAnotherOne;
@ExcelProperty(value = "加其它二", index = 32)
private BigDecimal addAnotherTwo;
@ExcelProperty(value = "其它扣奖", index = 33)
private BigDecimal otherDeductions;
@ExcelProperty(value = "奖金合计", index = 34)
private BigDecimal totalBonus;
@ExcelProperty(value = "生育津贴", index = 35)
private BigDecimal maternityAllowance;
@ExcelProperty(value = "肉贴", index = 36)
private BigDecimal meatPaste;
@ExcelProperty(value = "年功", index = 37)
private BigDecimal meritEarnedDuringYearsOfService;
@ExcelProperty(value = "老年功", index = 38)
private BigDecimal elderlyMerit;
@ExcelProperty(value = "医药贴", index = 39)
private BigDecimal medicalPatches;
@ExcelProperty(value = "取暖费", index = 40)
private BigDecimal heatingExpenses;
@ExcelProperty(value = "话费", index = 41)
private BigDecimal phoneBill;
@ExcelProperty(value = "信访津贴", index = 42)
private BigDecimal petitionAllowance;
@ExcelProperty(value = "三违罚款", index = 43)
private BigDecimal finesForThreeViolations;
@ExcelProperty(value = "工资合计", index = 44)
private BigDecimal totalSalary;
@ExcelProperty(value = "班中餐", index = 45)
private BigDecimal classLunch;
@ExcelProperty(value = "一孩保健", index = 46)
private BigDecimal childHealthCare;
@ExcelProperty(value = "保健费", index = 47)
private BigDecimal healthExpenses;
@ExcelProperty(value = "住宿补贴", index = 48)
private BigDecimal accommodationSubsidy;
@ExcelProperty(value = "荣誉金", index = 49)
private BigDecimal honoraryGold;
@ExcelProperty(value = "降温防暑费", index = 50)
private BigDecimal coolingAndHeatstrokePreventionFees;
@ExcelProperty(value = "生日补贴", index = 51)
private BigDecimal birthdaySubsidy;
@ExcelProperty(value = "月票", index = 52)
private BigDecimal monthlyTicket;
@ExcelProperty(value = "护理费", index = 53)
private BigDecimal nursingExpenses;
@ExcelProperty(value = "营养餐", index = 54)
private BigDecimal nutritionalMeals;
@ExcelProperty(value = "党组织工作经费", index = 55)
private BigDecimal partyOrganizationWorkFunds;
@ExcelProperty(value = "培训费", index = 56)
private BigDecimal trainingFees;
@ExcelProperty(value = "其它费用1", index = 57)
private BigDecimal otherExpenses1;
@ExcelProperty(value = "其它费用1.1", index = 58)
private BigDecimal otherExpenses1_1;
@ExcelProperty(value = "其它费用1.2", index = 59)
private BigDecimal otherExpenses1_2;
@ExcelProperty(value = "其它费用2", index = 60)
private BigDecimal otherExpenses2;
@ExcelProperty(value = "伙食补贴", index = 61)
private BigDecimal mealAllowance;
@ExcelProperty(value = "其它费用4", index = 62)
private BigDecimal otherExpenses4;
@ExcelProperty(value = "宣传费用", index = 63)
private BigDecimal promotionExpenses;
@ExcelProperty(value = "司机补贴", index = 64)
private BigDecimal driverSubsidies;
@ExcelProperty(value = "困难补助", index = 65)
private BigDecimal subsidyThoseFinancialDifficulties;
@ExcelProperty(value = "费用合计", index = 66)
private BigDecimal totalExpenses;
@ExcelProperty(value = "应付工资", index = 67)
private BigDecimal payableWages;
@ExcelProperty(value = "扣款合计", index = 68)
private BigDecimal totalDeduction;
@ExcelProperty(value = "实付工资", index = 69)
private BigDecimal paidWages;
@ExcelProperty(value = "矿付", index = 70)
private BigDecimal miningPayment;
}
......@@ -2,12 +2,10 @@ package com.ruoyi.system.service;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.system.model.wages.dao.WagesDetailsOriginalExcelDAO;
import com.ruoyi.system.model.wages.dao.WagesSalaryProof;
import com.ruoyi.system.model.wages.vo.WagesOverviewOriginalDataVO;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Map;
/**
* 2024/4/27
......@@ -20,4 +18,6 @@ public interface WagesService {
List<WagesDetailsOriginalExcelDAO> details();
JSONObject selectWagesVoucherList(String s);
String linXiExcelAnalysisWages(MultipartFile file, String date);
}
......@@ -13,6 +13,8 @@ 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.yyinterface.VoucherUtils;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -23,6 +25,7 @@ import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
......@@ -200,6 +203,24 @@ public class WagesServiceImpl implements WagesService {
return object;
}
@Override
public String linXiExcelAnalysisWages(MultipartFile file, String date) {
try {
List<String> filterList = Arrays.asList("小计", "合计", "总计");
InputStream inputStream = file.getInputStream();
List<LinXiWagesDetailsOriginalExcelDao> wagesList = EasyExcelFactory.read(inputStream, LinXiWagesDetailsOriginalExcelDao.class, new ExcelListener<LinXiWagesDetailsOriginalExcelDao>()).sheet(0).doReadSync();
inputStream.close();
InputStream inputStream1 = file.getInputStream();
List<LinXiFinanceWagesSurface> financeWagesList = EasyExcelFactory.read(inputStream1, LinXiFinanceWagesSurface.class, new ExcelListener<LinXiFinanceWagesSurface>()).sheet(1).doReadSync();
inputStream1.close();
wagesList = wagesList.parallelStream().filter(v -> !filterList.contains(v.getDept())).collect(Collectors.toList());
financeWagesList = financeWagesList.parallelStream().filter(v -> !filterList.contains(v.getDept())).collect(Collectors.toList());
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
public JSONArray getCustomDoc(CustomDocRequestModel customDocRequestModel) {
ReturnResult customDocument = VoucherUtils.callVoucherQuery(customDocRequestModel, "/yonbip/digitalModel/customerdoc/list");
if(customDocument!=null){
......
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