Commit 045863c1 authored by 位宇华's avatar 位宇华

工资--代码提交

parent 1efa39f7
......@@ -17,6 +17,12 @@ public class SalaryExcelModel implements Serializable {
//人数
@ExcelProperty(value = "人数")
private String personCount;
private String personNo;
private String personName;
private String deptAttr;
//应付工资
@ExcelProperty(value = "应付工资")
private String salary;
......@@ -316,4 +322,27 @@ public class SalaryExcelModel implements Serializable {
this.singleSupplyMedicalInsurance = singleSupplyMedicalInsurance;
}
public String getPersonNo() {
return personNo;
}
public void setPersonNo(String personNo) {
this.personNo = personNo;
}
public String getDeptAttr() {
return deptAttr;
}
public void setDeptAttr(String deptAttr) {
this.deptAttr = deptAttr;
}
public String getPersonName() {
return personName;
}
public void setPersonName(String personName) {
this.personName = personName;
}
}
......@@ -25,7 +25,7 @@ public class ImportExpenseSourceServiceImpl implements ImportExpenseSourceServic
@SneakyThrows
public AjaxResult expenseSource(MultipartFile multipartFile) {
List<SalaryExpenseSourceModel> list= EasyExcelFactory.read(multipartFile.getInputStream(), SalaryExpenseSourceModel.class,new ExcelListener<>()).sheet("Sheet1").headRowNumber(1).doReadSync();
list.forEach(v->v.setOrgCode("011702"));
list.forEach(v->v.setOrgCode("011204"));
importExpenseSourceMapper.save(list);
return AjaxResult.success();
}
......
......@@ -43,12 +43,14 @@ public class SalaryCurrentRuleServiceImpl implements SalaryCurrentRuleService {
String salaryDate = newRuleSalaryRequestModelList.get(0).getWageMonth();
Function<List<NewRuleRequestModel>, List<SalaryExcelModel>> stringListFunction = CurrentRuleSalarySupport.MINE_MAP.get(mineCode);
List<SalaryExcelModel> salaryExcelModels = stringListFunction.apply(newRuleSalaryRequestModelList);
if (!StringUtils.equalsAny(mineCode, "010105")) {
List<SalaryExpenseSourceModel> sourceModels = salaryMapper.getSources(mineCode);
salaryExcelModels.forEach(salary -> sourceModels.forEach(source -> {
if (StringUtils.equals(salary.getOrg(), source.getOrg())) {
salary.setSourceExpenses(source.getExpenseSource());
}
}));
}
int count = salaryMapper.exist(mineCode, salaryDate);
if (count > 0) {
List<String> stringList = salaryMapper.selectByDateAndMineCode(salaryDate, mineCode);
......
package com.ruoyi.system.support;
import com.alibaba.fastjson.JSON;
import com.ruoyi.system.constant.CoalConstant;
import com.ruoyi.system.mapper.SalaryMapper;
import com.ruoyi.system.model.newrule.NewRuleRequestModel;
......@@ -139,9 +138,17 @@ public class CurrentRuleSalarySupport {
public static List<SalaryExcelModel> getSalaryMapping(List<NewRuleRequestModel> newRuleSalaryRequestModelList) {
String orgCode = newRuleSalaryRequestModelList.stream().findFirst().get().getMineid();
List<SalaryExcelModel> salaryExcelModelList = getSalaryExcelModelList(newRuleSalaryRequestModelList);
List<SalaryExcelModel> finalList = new ArrayList<>();
Map<String, List<SalaryExcelModel>> collect = salaryExcelModelList.stream().collect(Collectors.groupingBy(SalaryExcelModel::getOrg));
Map<String, List<SalaryExcelModel>> collect;
//按人员的
if (StringUtils.equalsAny(orgCode, "010105", "011204")) {
collect = salaryExcelModelList.stream().collect(Collectors.groupingBy(SalaryExcelModel::getPersonNo));
} else {
//按部门的
collect = salaryExcelModelList.stream().collect(Collectors.groupingBy(SalaryExcelModel::getOrg));
}
collect.forEach((k, v) -> {
SalaryExcelModel salaryExcelModel = mergeData(v);
finalList.add(salaryExcelModel);
......@@ -152,55 +159,36 @@ public class CurrentRuleSalarySupport {
public static SalaryExcelModel mergeData(List<SalaryExcelModel> dataList) {
return dataList.stream().collect(Collectors.collectingAndThen(Collectors.toMap(data -> data.getBelongToCoal() + data.getOrg() + data.getSalaryDate(), data -> data, (existingData, newData) -> {
existingData.setPersonCount(
StringUtils.isEmpty(existingData.getPersonCount()) ? newData.getPersonCount() : existingData.getPersonCount());
existingData.setMedicalInsurance(
StringUtils.isEmpty(existingData.getMedicalInsurance()) ? newData.getMedicalInsurance() : existingData.getMedicalInsurance());
existingData.setOldInsurance(
StringUtils.isEmpty(existingData.getOldInsurance()) ? newData.getOldInsurance() : existingData.getOldInsurance());
existingData.setUnemploymentInsurance
(StringUtils.isEmpty(existingData.getUnemploymentInsurance()) ? newData.getUnemploymentInsurance() : existingData.getUnemploymentInsurance());
existingData.setSalary(
StringUtils.isEmpty(existingData.getSalary()) ? newData.getSalary() : existingData.getSalary());
existingData.setMedicalSubsidy(
StringUtils.isEmpty(existingData.getMedicalSubsidy()) ? newData.getMedicalSubsidy() : existingData.getMedicalSubsidy());
existingData.setSumSalary(
StringUtils.isEmpty(existingData.getSumSalary()) ? newData.getSumSalary() : existingData.getSumSalary());
existingData.setAnnuity(
StringUtils.isEmpty(existingData.getAnnuity()) ? newData.getAnnuity() : existingData.getAnnuity());
existingData.setSingleSupplyMedicalInsurance(
StringUtils.isEmpty(existingData.getSingleSupplyMedicalInsurance()) ? newData.getSingleSupplyMedicalInsurance() : existingData.getSingleSupplyMedicalInsurance());
existingData.setSupplyMedicalInsurance(
StringUtils.isEmpty(existingData.getSupplyMedicalInsurance()) ? newData.getSupplyMedicalInsurance() : existingData.getSupplyMedicalInsurance());
existingData.setBirthInsurance(
StringUtils.isEmpty(existingData.getBirthInsurance()) ? newData.getBirthInsurance() : existingData.getBirthInsurance());
existingData.setInjuryInsurance(
StringUtils.isEmpty(existingData.getInjuryInsurance()) ? newData.getInjuryInsurance() : existingData.getInjuryInsurance());
existingData.setCompanyHouseFund(
StringUtils.isEmpty(existingData.getCompanyHouseFund()) ? newData.getCompanyHouseFund() : existingData.getCompanyHouseFund());
existingData.setHouseFund(
StringUtils.isEmpty(existingData.getHouseFund()) ? newData.getHouseFund() : existingData.getHouseFund());
existingData.setLaborUnionDues(
StringUtils.isEmpty(existingData.getLaborUnionDues()) ? newData.getLaborUnionDues() : existingData.getLaborUnionDues());
existingData.setEdufFees(
StringUtils.isEmpty(existingData.getEdufFees()) ? newData.getEdufFees() : existingData.getEdufFees());
existingData.setOneChild(
StringUtils.isEmpty(existingData.getOneChild()) ? newData.getOneChild() : existingData.getOneChild());
existingData.setLunch(
StringUtils.isEmpty(existingData.getLunch()) ? newData.getLunch() : existingData.getLunch());
existingData.setLongAccountInsurance(
StringUtils.isEmpty(existingData.getLongAccountInsurance()) ? newData.getLongAccountInsurance() : existingData.getLongAccountInsurance());
existingData.setHonorMoney(
StringUtils.isEmpty(existingData.getHonorMoney()) ? newData.getHonorMoney() : existingData.getHonorMoney());
existingData.setWarmSubsidy(
StringUtils.isEmpty(existingData.getWarmSubsidy()) ? newData.getWarmSubsidy() : existingData.getWarmSubsidy());
existingData.setHeatPreventSubsidy(
StringUtils.isEmpty(existingData.getHeatPreventSubsidy()) ? newData.getHeatPreventSubsidy() : existingData.getHeatPreventSubsidy());
existingData.setPersonCount(StringUtils.isEmpty(existingData.getPersonCount()) ? newData.getPersonCount() : existingData.getPersonCount());
existingData.setPersonNo(StringUtils.isEmpty(existingData.getPersonNo()) ? newData.getPersonNo() : existingData.getPersonNo());
existingData.setPersonName(StringUtils.isEmpty(existingData.getPersonName()) ? newData.getPersonName() : existingData.getPersonName());
existingData.setMedicalInsurance(StringUtils.isEmpty(existingData.getMedicalInsurance()) ? newData.getMedicalInsurance() : existingData.getMedicalInsurance());
existingData.setOldInsurance(StringUtils.isEmpty(existingData.getOldInsurance()) ? newData.getOldInsurance() : existingData.getOldInsurance());
existingData.setUnemploymentInsurance(StringUtils.isEmpty(existingData.getUnemploymentInsurance()) ? newData.getUnemploymentInsurance() : existingData.getUnemploymentInsurance());
existingData.setSalary(StringUtils.isEmpty(existingData.getSalary()) ? newData.getSalary() : existingData.getSalary());
existingData.setMedicalSubsidy(StringUtils.isEmpty(existingData.getMedicalSubsidy()) ? newData.getMedicalSubsidy() : existingData.getMedicalSubsidy());
existingData.setSumSalary(StringUtils.isEmpty(existingData.getSumSalary()) ? newData.getSumSalary() : existingData.getSumSalary());
existingData.setAnnuity(StringUtils.isEmpty(existingData.getAnnuity()) ? newData.getAnnuity() : existingData.getAnnuity());
existingData.setSingleSupplyMedicalInsurance(StringUtils.isEmpty(existingData.getSingleSupplyMedicalInsurance()) ? newData.getSingleSupplyMedicalInsurance() : existingData.getSingleSupplyMedicalInsurance());
existingData.setSupplyMedicalInsurance(StringUtils.isEmpty(existingData.getSupplyMedicalInsurance()) ? newData.getSupplyMedicalInsurance() : existingData.getSupplyMedicalInsurance());
existingData.setBirthInsurance(StringUtils.isEmpty(existingData.getBirthInsurance()) ? newData.getBirthInsurance() : existingData.getBirthInsurance());
existingData.setInjuryInsurance(StringUtils.isEmpty(existingData.getInjuryInsurance()) ? newData.getInjuryInsurance() : existingData.getInjuryInsurance());
existingData.setCompanyHouseFund(StringUtils.isEmpty(existingData.getCompanyHouseFund()) ? newData.getCompanyHouseFund() : existingData.getCompanyHouseFund());
existingData.setHouseFund(StringUtils.isEmpty(existingData.getHouseFund()) ? newData.getHouseFund() : existingData.getHouseFund());
existingData.setLaborUnionDues(StringUtils.isEmpty(existingData.getLaborUnionDues()) ? newData.getLaborUnionDues() : existingData.getLaborUnionDues());
existingData.setEdufFees(StringUtils.isEmpty(existingData.getEdufFees()) ? newData.getEdufFees() : existingData.getEdufFees());
existingData.setOneChild(StringUtils.isEmpty(existingData.getOneChild()) ? newData.getOneChild() : existingData.getOneChild());
existingData.setLunch(StringUtils.isEmpty(existingData.getLunch()) ? newData.getLunch() : existingData.getLunch());
existingData.setLongAccountInsurance(StringUtils.isEmpty(existingData.getLongAccountInsurance()) ? newData.getLongAccountInsurance() : existingData.getLongAccountInsurance());
existingData.setHonorMoney(StringUtils.isEmpty(existingData.getHonorMoney()) ? newData.getHonorMoney() : existingData.getHonorMoney());
existingData.setWarmSubsidy(StringUtils.isEmpty(existingData.getWarmSubsidy()) ? newData.getWarmSubsidy() : existingData.getWarmSubsidy());
existingData.setHeatPreventSubsidy(StringUtils.isEmpty(existingData.getHeatPreventSubsidy()) ? newData.getHeatPreventSubsidy() : existingData.getHeatPreventSubsidy());
return existingData;
}), map -> map.values().iterator().next()));
}
private static List<SalaryExcelModel> getSalaryExcelModelList(List<NewRuleRequestModel> newRuleSalaryRequestModelList) {
String mineId = newRuleSalaryRequestModelList.stream().findFirst().get().getMineid();
List<ConfigModel> configModelList = salaryMapper.getConfig();
List<SalaryExcelModel> salaryExcelModelList = new ArrayList<>();
Map<String, List<NewRuleRequestModel>> collect = newRuleSalaryRequestModelList.stream().collect(Collectors.groupingBy(NewRuleRequestModel::getRow));
......@@ -208,7 +196,7 @@ public class CurrentRuleSalarySupport {
SalaryExcelModel salaryExcelModel = new SalaryExcelModel();
for (NewRuleRequestModel newRuleRequestModel : value) {
for (ConfigModel configModel : configModelList) {
if (StringUtils.contains(configModel.getColName(),newRuleRequestModel.getColoumn())){
if (StringUtils.contains(configModel.getColName(), newRuleRequestModel.getColoumn())) {
Field field;
try {
field = SalaryExcelModel.class.getDeclaredField(configModel.getKeyName());
......@@ -224,7 +212,30 @@ public class CurrentRuleSalarySupport {
}
salaryExcelModelList.add(salaryExcelModel);
});
if (StringUtils.equals("010105", mineId)) {
salaryExcelModelList.forEach(v -> v.setSourceExpenses(getQJYSource(v)));
}
return salaryExcelModelList;
}
private static String getQJYSource(SalaryExcelModel salaryExcelModel) {
String deptAttr = salaryExcelModel.getDeptAttr();
String org = salaryExcelModel.getOrg();
if (StringUtils.equals("机关", deptAttr) && StringUtils.equals("洗煤厂", org)) {
return "管理费用-管理费";
} else if (StringUtils.equals("洗煤厂", org)) {
return "基本生产-洗煤";
} else if (StringUtils.containsAny(org, "后勤", "宾馆")) {
return "制造费用-原煤";
} else if (StringUtils.containsAny(org, "离岗")) {
return "管理费用-劳动保险费";
} else if (StringUtils.contains(org, "研发")) {
return "研发入相应工资";
} else if (StringUtils.contains(org, "兴隆洗煤厂")) {
return "管理费用-管理费(部门-兴隆洗煤厂)";
} else {
return "基本生产-原煤";
}
}
}
......@@ -3,7 +3,7 @@
<mapper namespace="com.ruoyi.system.mapper.SalaryMapper">
<insert id="save">
INSERT INTO salary (org, person_count, medical_subsidy, sum_salary, old_insurance, annuity,
INSERT INTO salary (org, person_count,person_no, person_name,medical_subsidy, sum_salary, old_insurance, annuity,
single_supply_medical_insurance, medical_insurance, supply_medical_insurance,
birth_insurance, source_expenses, unemployment_insurance, injury_insurance,
company_house_fund, house_fund,
......@@ -11,7 +11,7 @@
warm_subsidy, heat_prevent_subsidy, belong_to_coal,salary_date)
VALUES
<foreach collection="salaryExcelModelList" item="item" index="index" separator=",">
(#{item.org},#{item.personCount},#{item.medicalSubsidy},
(#{item.org},#{item.personCount},#{item.personNo},#{item.personName},#{item.medicalSubsidy},
#{item.sumSalary},#{item.oldInsurance},#{item.annuity},#{item.singleSupplyMedicalInsurance},
#{item.medicalInsurance},#{item.supplyMedicalInsurance},#{item.birthInsurance},#{item.sourceExpenses},
#{item.unemploymentInsurance},#{item.injuryInsurance},#{item.companyHouseFund},#{item.houseFund},
......@@ -118,6 +118,12 @@
<if test="personCount!=null and personCount!=''">
person_count =#{personCount},
</if>
<if test="personNo!=null and personNo!=''">
person_no =#{personNo},
</if>
<if test="personName!=null and personName!=''">
person_name=#{personName},
</if>
<if test="medicalSubsidy!=null and medicalSubsidy!=''">
medical_subsidy=#{medicalSubsidy},
</if>
......
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