浏览代码

生活补贴导入征信后会检验次年申请是否在年度内满足6个月缴费

sugangqiang 8 月之前
父节点
当前提交
9642bcae2c
共有 1 个文件被更改,包括 42 次插入6 次删除
  1. 42 6
      app/admin/controller/LivingAllowance.php

+ 42 - 6
app/admin/controller/LivingAllowance.php

@@ -1517,21 +1517,22 @@ class LivingAllowance extends AdminController {
              * 
              * 
              */
              */
             //非首年:新政策社保和个税其中一个满足6个月以上予以兑现
             //非首年:新政策社保和个税其中一个满足6个月以上予以兑现
-            $isActualSocialSecurityBigger6Month = $this->countByDates($old["actualSocialSecurity"]) < 6 ? false : true;
-            $isActualTaxBigger6Month = $this->countByDates($old["actualTax"]) < 6 ? false : true;
+            $year = substr($old["year"], 0, 4);
+            $isActualSocialSecurityBigger6Month = $this->countByDatesWithYear($old["actualSocialSecurity"], $year) < 6 ? false : true;
+            $isActualTaxBigger6Month = $this->countByDatesWithYear($old["actualTax"], $year) < 6 ? false : true;
             if (!$isActualSocialSecurityBigger6Month && !$isActualTaxBigger6Month) {
             if (!$isActualSocialSecurityBigger6Month && !$isActualTaxBigger6Month) {
-                $old["recommendJudgmentDetails"] = $old["recommendJudgmentDetails"] . "非首年申报:社保和个税缴纳时间均不足6个月,不予兑现";
+                $old["recommendJudgmentDetails"] = $old["recommendJudgmentDetails"] . "非首年申报:社保和个税当年度缴纳时间均不足6个月,不予兑现";
                 $old["recommendIsPay"] = -1;
                 $old["recommendIsPay"] = -1;
                 $old["recommendAmount"] = 0;
                 $old["recommendAmount"] = 0;
                 return $old;
                 return $old;
             }
             }
             $old["recommendIsPay"] = 1;
             $old["recommendIsPay"] = 1;
             if ($isActualSocialSecurityBigger6Month && $isActualTaxBigger6Month) {
             if ($isActualSocialSecurityBigger6Month && $isActualTaxBigger6Month) {
-                $old["recommendJudgmentDetails"] = "非首年申报:个税缴纳时间满足6个月及以上,个税缴纳时间满足6个月及以上,予以兑现;\n";
+                $old["recommendJudgmentDetails"] = "非首年申报:个税当年度缴纳时间满足6个月及以上,个税当年度缴纳时间满足6个月及以上,予以兑现;\n";
             } else if ($isActualSocialSecurityBigger6Month) {
             } else if ($isActualSocialSecurityBigger6Month) {
-                $old["recommendJudgmentDetails"] = "非首年申报:社保缴纳时间满足6个月及以上,予以兑现;\n";
+                $old["recommendJudgmentDetails"] = "非首年申报:社保当年度缴纳时间满足6个月及以上,予以兑现;\n";
             } else {
             } else {
-                $old["recommendJudgmentDetails"] = "非首年申报:个税缴纳时间满足6个月及以上,予以兑现;\n";
+                $old["recommendJudgmentDetails"] = "非首年申报:个税当年度缴纳时间满足6个月及以上,予以兑现;\n";
             }
             }
             $_old = $this->calculateAmount($old);
             $_old = $this->calculateAmount($old);
             $old = array_merge($old, $_old);
             $old = array_merge($old, $_old);
@@ -1572,4 +1573,39 @@ class LivingAllowance extends AdminController {
         return $count;
         return $count;
     }
     }
 
 
+    /**
+     * 计算月份数
+     * @param type $dates
+     * @return type
+     */
+    private function countByDatesWithYear($dates, $year) {
+        $dates = $dates ?: "";
+        $dateArr = array_filter(explode(",", $dates));
+        $count = 0;
+        for ($i = 0; $i < count($dateArr); $i++) {
+            $date = $dateArr[$i];
+            if ($date) {
+                if (strpos($date, "-") !== false) {
+                    $cDateArr = explode("-", $date);
+                    $_date1 = date("Y-m-d", strtotime($cDateArr[0] . "01"));
+                    $_date2 = date("Y-m-d", strtotime($cDateArr[1] . "01"));
+                    $currentDate = $_date1;
+                    while ($currentDate <= $_date2) {
+                        $currentYear = date("Y", strtotime($currentDate));
+                        if ($currentYear == $year) {
+                            $count++;
+                        }
+                        $currentDate = date("Y-m-d", strtotime("+1 month", strtotime($currentDate)));
+                    }
+                } else {
+                    // 处理单个日期
+                    $_date = date("Y-m-01", strtotime($date . "01"));
+                    if (date("Y", strtotime($_date)) == $year) {
+                        $count++;
+                    }
+                }
+            }
+        }
+        return $count;
+    }
 }
 }