Sfoglia il codice sorgente

业绩延期、自动测算

kevin 1 anno fa
parent
commit
f36e661d58
2 ha cambiato i file con 39 aggiunte e 6 eliminazioni
  1. 1 0
      backendApi/config/menu.php
  2. 38 6
      common/helpers/bonus/Calc/CalcConsole.php

+ 1 - 0
backendApi/config/menu.php

@@ -206,6 +206,7 @@ return [
         'child'=>[
             ['name'=>'Closure period', 'class'=>'', 'icon'=>'', 'controller'=>'bonus', 'action'=>'period', 'routePath'=>'bonus/period', 'show'=>1, 'wiki' => 'closurePeriod'],//封期管理
             ['name'=>'封期操作', 'class'=>'', 'icon'=>'', 'controller'=>'bonus', 'action'=>'close-period', 'routePath'=>'bonus/close-period', 'show'=>0,],
+            ['name'=>'自动计算', 'class'=>'', 'icon'=>'', 'controller'=>'bonus', 'action'=>'auto-calc', 'routePath'=>'bonus/auto-calc', 'show'=>0,],
             ['name'=>'生成业绩单', 'class'=>'', 'icon'=>'', 'controller'=>'bonus', 'action'=>'perf-period', 'routePath'=>'bonus/perf-period', 'show'=>0,],
             ['name'=>'结算操作', 'class'=>'', 'icon'=>'', 'controller'=>'bonus', 'action'=>'calc-period', 'routePath'=>'bonus/calc-period', 'show'=>0,],
             ['name'=>'挂网操作', 'class'=>'', 'icon'=>'', 'controller'=>'bonus', 'action'=>'send-period', 'routePath'=>'bonus/send-period', 'show'=>0,],

+ 38 - 6
common/helpers/bonus/Calc/CalcConsole.php

@@ -174,17 +174,49 @@ class CalcConsole extends BaseBusiness
             return;
         }
 
-        if( 1 < $nowDate && 10 >= $nowDate ){ // 10号及以前,不是0点,则跳过
-            if( $nowHour != 0) {
+        // 如果上一期没有挂网,则1-5号以及26~月底,每小时执行一次
+        if ($prevPeriod['IS_SENT'] == 0) {
+            echo('autoPrePerf: IS_SENT=0 当前期:' . $periodNum . ', 上一期:' . $prevPeriodNum . PHP_EOL);
+            // 每小时整点执行一次
+            if ($nowMin != 0) {
+                echo('autoPrePerf: IS_SENT=0(e-1) 当前期:' . $periodNum . ', 上一期:' . $prevPeriodNum . ', 时间:' . $nowMin . PHP_EOL);
                 return;
             }
-        }
-
-        if( 15 < $nowDate && 25 >= $nowDate ){ // 下半月前10天,不是0点,则跳过
-            if( $nowHour != 0) {
+            // 10~25不执行
+            if ($nowDate >= 10 && $nowDate <= 25) {
+                echo('autoPrePerf: IS_SENT=0(e-2) 当前期:' . $periodNum . ', 上一期:' . $prevPeriodNum . ', 日期:' . $nowDate . PHP_EOL);
                 return;
             }
+        } else {
+            echo('autoPrePerf: IS_SENT=1 当前期:' . $periodNum . PHP_EOL);
+            if( 1 < $nowDate && 10 >= $nowDate ){ // 10号及以前,不是0点,则跳过
+                echo('autoPrePerf: IS_SENT=1(e-1) 当前期:' . $periodNum . ', 日期:' . $nowDate . PHP_EOL);
+                if( $nowHour != 0) {
+                    echo('autoPrePerf: IS_SENT=1(e-2) 当前期:' . $periodNum . ', 日期:' . $nowDate . ', 时间:' . $nowHour . PHP_EOL);
+                    return;
+                }
+            }
+
+            if( 15 < $nowDate && 25 >= $nowDate ){ // 下半月前10天,不是0点,则跳过
+                echo('autoPrePerf: IS_SENT=1(e-3) 当前期:' . $periodNum . ', 日期:' . $nowDate . ', 时间:' . $nowHour . PHP_EOL);
+                if( $nowHour != 0) {
+                    echo('autoPrePerf: IS_SENT=1(e-4) 当前期:' . $periodNum . ', 日期:' . $nowDate . ', 时间:' . $nowHour . PHP_EOL);
+                    return;
+                }
+            }
         }
+
+//        if( 1 < $nowDate && 10 >= $nowDate ){ // 10号及以前,不是0点,则跳过
+//            if( $nowHour != 0) {
+//                return;
+//            }
+//        }
+//
+//        if( 15 < $nowDate && 25 >= $nowDate ){ // 下半月前10天,不是0点,则跳过
+//            if( $nowHour != 0) {
+//                return;
+//            }
+//        }
 //        if($nowDate >1 && $nowDate <= 15 || (($nowMin!=0 || $nowSec >= 5 ) || Period::isPreparing($periodNum)) ){ // 当不是整点小时,当计算中,不计算
 //            return;
 //        }