From c4b8b40137d35d09b9c4463060f0e37bba84a3c1 Mon Sep 17 00:00:00 2001
From: weiyuhua <weiyuhua@itianyi.com>
Date: Tue, 29 Oct 2024 15:05:11 +0800
Subject: [PATCH] =?UTF-8?q?=E4=B8=AD=E6=B6=A6=E5=B7=A5=E8=B5=84--=E4=BB=A3?=
 =?UTF-8?q?=E7=A0=81=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../ruoyi/system/constant/CoalConstant.java   |  4 +++
 .../impl/ImportExpenseSourceServiceImpl.java  |  4 +--
 .../impl/SalaryCurrentRuleServiceImpl.java    |  2 +-
 .../support/CurrentRuleSalarySupport.java     | 28 +++++++++++++++++--
 4 files changed, 33 insertions(+), 5 deletions(-)

diff --git a/ruoyi-wages/src/main/java/com/ruoyi/system/constant/CoalConstant.java b/ruoyi-wages/src/main/java/com/ruoyi/system/constant/CoalConstant.java
index 3849ad7..2e8f1d6 100644
--- a/ruoyi-wages/src/main/java/com/ruoyi/system/constant/CoalConstant.java
+++ b/ruoyi-wages/src/main/java/com/ruoyi/system/constant/CoalConstant.java
@@ -39,6 +39,10 @@ public class CoalConstant {
      * 云飞
      */
     public final static String YF_MINE = "011504";
+    /**
+     * 中润
+     */
+    public final static String ZR_MINE = "011706";
 
     public final static String ONE = "1";
 
diff --git a/ruoyi-wages/src/main/java/com/ruoyi/system/service/impl/ImportExpenseSourceServiceImpl.java b/ruoyi-wages/src/main/java/com/ruoyi/system/service/impl/ImportExpenseSourceServiceImpl.java
index 1dc7419..66d7ff0 100644
--- a/ruoyi-wages/src/main/java/com/ruoyi/system/service/impl/ImportExpenseSourceServiceImpl.java
+++ b/ruoyi-wages/src/main/java/com/ruoyi/system/service/impl/ImportExpenseSourceServiceImpl.java
@@ -27,8 +27,8 @@ public class ImportExpenseSourceServiceImpl implements ImportExpenseSourceServic
     @Override
     @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("011704"));
+        List<SalaryExpenseSourceModel> list = EasyExcelFactory.read(multipartFile.getInputStream(), SalaryExpenseSourceModel.class, new ExcelListener<>()).sheet("Sheet7").headRowNumber(1).doReadSync();
+        list.forEach(v -> v.setOrgCode("011706"));
         importExpenseSourceMapper.save(list);
         return AjaxResult.success();
     }
diff --git a/ruoyi-wages/src/main/java/com/ruoyi/system/service/impl/SalaryCurrentRuleServiceImpl.java b/ruoyi-wages/src/main/java/com/ruoyi/system/service/impl/SalaryCurrentRuleServiceImpl.java
index b6c5f5b..0080128 100644
--- a/ruoyi-wages/src/main/java/com/ruoyi/system/service/impl/SalaryCurrentRuleServiceImpl.java
+++ b/ruoyi-wages/src/main/java/com/ruoyi/system/service/impl/SalaryCurrentRuleServiceImpl.java
@@ -65,7 +65,7 @@ public class SalaryCurrentRuleServiceImpl implements SalaryCurrentRuleService {
                     }
                 }
             } else {
-                salaryMapper.save(salaryExcelModels);
+               salaryMapper.save(salaryExcelModels);
             }
         });
         stopWatch.stop();
diff --git a/ruoyi-wages/src/main/java/com/ruoyi/system/support/CurrentRuleSalarySupport.java b/ruoyi-wages/src/main/java/com/ruoyi/system/support/CurrentRuleSalarySupport.java
index a9258ca..d8f20a4 100644
--- a/ruoyi-wages/src/main/java/com/ruoyi/system/support/CurrentRuleSalarySupport.java
+++ b/ruoyi-wages/src/main/java/com/ruoyi/system/support/CurrentRuleSalarySupport.java
@@ -7,6 +7,7 @@ import com.ruoyi.system.mapper.SalaryMapper;
 import com.ruoyi.system.model.newrule.NewRuleRequestModel;
 import com.ruoyi.system.model.salary.ConfigModel;
 import com.ruoyi.system.model.salary.SalaryExcelModel;
+import com.ruoyi.system.model.salary.SalaryExpenseSourceModel;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -35,6 +36,7 @@ public class CurrentRuleSalarySupport {
         MINE_MAP.put(CoalConstant.HF_MINE, CurrentRuleSalarySupport::getHfMineSalaryData);
         MINE_MAP.put(CoalConstant.QJY_MINE, CurrentRuleSalarySupport::getQjyMineSalaryData);
         MINE_MAP.put(CoalConstant.YF_MINE, CurrentRuleSalarySupport::getYfMineSalaryData);
+        MINE_MAP.put(CoalConstant.ZR_MINE, CurrentRuleSalarySupport::getZrMineSalaryData);
     }
 
 
@@ -45,6 +47,23 @@ public class CurrentRuleSalarySupport {
         CurrentRuleSalarySupport.salaryMapper = salaryMapper;
     }
 
+    /**
+     * 中润
+     *
+     * @param newRuleRequestModelList
+     * @return
+     */
+    private static List<SalaryExcelModel> getZrMineSalaryData(List<NewRuleRequestModel> newRuleRequestModelList) {
+        String mineCode=newRuleRequestModelList.get(0).getMineid();
+        ReplaceSpace(newRuleRequestModelList);
+        ReplaceBracket(newRuleRequestModelList);
+        List<SalaryExpenseSourceModel> sourceModels = salaryMapper.getSources(mineCode);
+        List<NewRuleRequestModel> collect = newRuleRequestModelList.stream().filter(v -> sourceModels.stream().noneMatch(source -> StringUtils.equals(v.getRow(), source.getExpenseSource()))).collect(Collectors.toList());
+        collect=collect.stream().filter(v->sourceModels.stream().anyMatch(source->StringUtils.equals(v.getRow(), source.getOrg()))).collect(Collectors.toList());
+        return  getSalaryMapping(collect);
+
+    }
+
 
     /**
      * 云飞
@@ -116,6 +135,7 @@ public class CurrentRuleSalarySupport {
      */
 
     private static List<SalaryExcelModel> getLjtMineSalaryData(List<NewRuleRequestModel> newRuleSalaryRequestModelList) {
+        ReplaceSpace(newRuleSalaryRequestModelList);
         return getSalaryMapping(newRuleSalaryRequestModelList);
     }
 
@@ -139,7 +159,6 @@ public class CurrentRuleSalarySupport {
     }
 
 
-
     /**
      * 东欢坨矿
      *
@@ -222,6 +241,7 @@ public class CurrentRuleSalarySupport {
                         }
                     }
                 }
+                salaryExcelModel.setOrg(newRuleRequestModel.getRow());
                 salaryExcelModel.setBelongToCoal(newRuleRequestModel.getMineid());
                 salaryExcelModel.setSalaryDate(newRuleRequestModel.getWageMonth());
             }
@@ -261,8 +281,9 @@ public class CurrentRuleSalarySupport {
         BigDecimal multiply = new BigDecimal(sumSalary).multiply(new BigDecimal(coefficient));
         return multiply.setScale(2, RoundingMode.HALF_UP).toString();
     }
+
     private static void ReplaceSpace(List<NewRuleRequestModel> newRuleSalaryRequestModelList) {
-        newRuleSalaryRequestModelList.forEach(v->{
+        newRuleSalaryRequestModelList.forEach(v -> {
             v.setColoumn(v.getColoumn().replaceAll(StringUtils.SPACE, StringUtils.EMPTY));
             v.setRow(v.getRow().replaceAll(StringUtils.SPACE, StringUtils.EMPTY));
             v.setMineid(v.getMineid().replaceAll(StringUtils.SPACE, StringUtils.EMPTY));
@@ -270,5 +291,8 @@ public class CurrentRuleSalarySupport {
             v.setWageMonth(v.getWageMonth().replaceAll(StringUtils.SPACE, StringUtils.EMPTY));
         });
     }
+    private static void ReplaceBracket(List<NewRuleRequestModel> newRuleRequestModelList) {
+        newRuleRequestModelList.forEach(v -> v.setRow(v.getRow().replaceAll("\\(.*?\\)",StringUtils.EMPTY).replaceAll("(.*?\\)", StringUtils.EMPTY).replaceAll("(.*?)",StringUtils.EMPTY).replaceAll("其中:",StringUtils.EMPTY)));
+    }
 
 }
-- 
2.26.2