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

工资--代码提交

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