brook 3 лет назад
Родитель
Сommit
eb061aac93

+ 2 - 1
common/helpers/bonus/Calc/PullCalcBonusData.php

@@ -113,7 +113,8 @@ class PullCalcBonusData extends BaseBusiness
 //            'ORI_CAPPED_BONUS_QY' => ['CAPPED_BONUS_QY'],
             'ORI_BONUS_QY' => ['BONUS_QY', 'SHOULD_QY'],
 
-            'ORI_BONUS_BS'      => ['BONUS_BS', 'REAL_BONUS_BS'],
+            'ORI_BONUS_BS' => ['BONUS_BS', 'REAL_BONUS_BS', 'BONUS_BS_ABBR', 'ORI_BONUS_BS_ABBR', 'REAL_BONUS_BS_ABBR'],//
+
             'ORI_BONUS_QUARTER' => ['BONUS_QUARTER'],
             'ORI_BONUS_TOURISM' => ['BONUS_TOURISM'],
             'ORI_BONUS_GARAGE'  => ['BONUS_GARAGE'],

+ 8 - 3
common/helpers/bonus/Calc/PullPerfDataFromCalc.php

@@ -85,8 +85,10 @@ class PullPerfDataFromCalc extends BasePerfBusiness
 
         periodMonth:
         $offset = $_offset * $this->_limit;
-        $data   = \Yii::$app->$db->createCommand("SELECT p.*,'$pCalcMonth' as P_CALC_MONTH ,u.DEC_LV as LAST_DEC_LV,u.EMP_LV as LAST_EMP_LV, ifnull(u.STATUS,0) as LAST_STATUS FROM AR_PERF_MONTH as p LEFT JOIN AR_USER AS u ON p.user_id = u.id
-            where p.CALC_MONTH = $this->_calcYearMonth limit $this->_limit offset $offset;")->queryAll();
+        //u.EMP_LV as LAST_EMP_LV,
+        $data   = \Yii::$app->$db->createCommand("SELECT p.*,'$pCalcMonth' as P_CALC_MONTH ,u.DEC_LV as LAST_DEC_LV,
+        ifnull(u.STATUS,0) as LAST_STATUS FROM AR_PERF_MONTH as p LEFT JOIN AR_USER AS u ON p.user_id = u.id
+        where p.CALC_MONTH = $this->_calcYearMonth limit $this->_limit offset $offset;")->queryAll();
 
         if (!empty($data)) {
             $fieldArray = array_keys($data[0]);
@@ -110,7 +112,10 @@ class PullPerfDataFromCalc extends BasePerfBusiness
 
         period:
         $offset = $_offset * $this->_limit;
-        $data   = \Yii::$app->$db->createCommand("SELECT p.*,'$pCalcMonth' as P_CALC_MONTH ,u.DEC_LV as LAST_DEC_LV,u.EMP_LV as LAST_EMP_LV, ifnull(u.STATUS,0) as LAST_STATUS FROM AR_PERF_PERIOD as p LEFT JOIN AR_USER AS u ON p.user_id = u.id where p.PERIOD_NUM = $this->_periodNum limit $this->_limit offset $offset;")->queryAll();
+        //u.EMP_LV as LAST_EMP_LV,
+        $data   = \Yii::$app->$db->createCommand("SELECT p.*,'$pCalcMonth' as P_CALC_MONTH ,u.DEC_LV as LAST_DEC_LV,
+        ifnull(u.STATUS,0) as LAST_STATUS FROM AR_PERF_PERIOD as p LEFT JOIN AR_USER AS u ON p.user_id = u.id 
+        where p.PERIOD_NUM = $this->_periodNum limit $this->_limit offset $offset;")->queryAll();
 
         if (!empty($data)) {
             $fieldArray = array_keys($data[0]);

+ 15 - 5
common/helpers/bonus/Calc/PushBaseDataToCalc.php

@@ -15,6 +15,7 @@ use common\models\CalcBonusQY;
 use common\models\EmployLevel;
 use common\models\forms\DeclarationForm;
 use common\models\PerfMonth;
+use common\models\PerfOrder;
 use common\models\PerfPeriod;
 use common\models\PerfStandard;
 use common\models\Period;
@@ -493,14 +494,23 @@ class PushBaseDataToCalc extends BaseBusiness
     {
         $_offset = 0;
 
-        perfOrder:
-        $offset = $_offset * $this->_limit;
-        $field  = "ID,SN,DEC_TYPE, USER_ID,PV,
+        $field = "ID,SN,DEC_TYPE, USER_ID,PV,
          PERIOD_NUM, CALC_MONTH,DEC_USER_ID,
          CREATED_AT,DEC_AMOUNT as ORDER_AMOUNT,PAY_TYPE,FROM_TABLES,PAY_TYPE";
 
-        $data = ActiveRecord::findBySql("SELECT $field  from AR_PERF_ORDER where PERIOD_NUM =  $this->_periodNum limit $this->_limit offset $offset;")
-            ->asArray()->all();
+        $periodNum     = $this->_periodNum;
+        $currentPeriod = Period::getInfoByPeriodNum($periodNum);
+        //判断是否月节点
+        if ($currentPeriod['IS_MONTH']) {
+            $periodNum = Period::getCurrentMonthPeriodByPeriodNum($periodNum);
+        }
+
+        //结算月
+        perfOrder:
+        $offset = $_offset * $this->_limit;
+        $data   = PerfOrder::find()->select($field)->where(['PERIOD_NUM' => $periodNum])
+            ->offset($offset)->limit($this->_limit)->asArray()->all();
+
         if (!empty($data)) {
             $_offset    += 1;
             $fieldArray = array_keys(current($data));