| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- <?php
- namespace common\models;
- use common\helpers\Date;
- use common\helpers\Tool;
- use Yii;
- use yii\db\Exception;
- /**
- * This is the model class for table "{{%PERIOD_PREPARE}}".
- *
- * @property string $ID
- * @property int $PERIOD_NUM 期数
- * @property int $CALC_MONTH 所在结算月
- * @property int $CALC_YEAR 所在结算年
- * @property int $START_TIME 期数开始时间戳
- * @property int $END_TIME 期数结束时间戳
- * @property int $IS_MONTH 是否结算月节点
- * @property int $IS_YEAR 是否结算年节点
- * @property int $IS_CLOSED 是否已封期
- * @property int $IS_PERFED 是否已生成业绩单
- * @property int $IS_CALCULATED 是否已结算
- * @property int $IS_SENT 是否已发放
- * @property int $IS_PERFING 是否正在生成业绩单
- * @property int $IS_CALCING 是否正在计算状态
- * @property int $IS_SENDING 是否正在挂网状态
- * @property int $CALC_PERCENT 结算进度
- * @property int $SENT_PERCENT 发放进度
- * @property string $PERF_ADMIN_ID 生成业绩单管理员
- * @property string $CLOSE_ADMIN_ID 手动封期管理员ID
- * @property string $CALC_ADMIN_ID 结算管理员ID
- * @property string $SENT_ADMIN_ID 发放管理员ID
- * @property int $CLOSED_AT 发放管理员ID
- * @property int $PERF_STARTED_AT 生成业绩单开始时间
- * @property int $PERFED_AT 生成业绩单结束时间
- * @property int $CALCULATE_STARTED_AT 结算开始时间
- * @property int $CALCULATED_AT 结算完成时间
- * @property int $SEND_STARTED_AT 发放开始时间
- * @property int $SENT_AT 发放完成时间
- * @property int $CREATED_AT 创建时间
- */
- class PeriodPrepare extends \common\components\ActiveRecord
- {
- const CALCULATE_NONE = 0;
- const CALCULATE_FINISH = 1;
- const CALCULATE_FAIL = 2;
- const SEND_NONE = 0;
- const SEND_FINISH = 1;
- const SEND_FAIL = 2;
- const PERF_NONE = 0;
- const PERF_FINISH = 1;
- const PERF_FAIL = 2;
- const SYSTEM_START_PERIOD_NUM = 100;
- public $nowPeriodArr = null;
- public $periodNum = null;
- public $periodArr = null;
- public function init()
- {
- parent::init();
- }
- /**
- * @inheritdoc
- */
- public static function tableName()
- {
- return '{{%PERIOD_PREPARE}}';
- }
- /**
- * @inheritdoc
- */
- public function rules()
- {
- return [
- [['PERIOD_NUM', 'CALC_MONTH', 'CALC_YEAR', 'START_TIME', 'END_TIME', 'CREATED_AT'], 'required'],
- [['PERIOD_NUM', 'CALC_MONTH', 'CALC_YEAR', 'START_TIME', 'END_TIME', 'IS_MONTH', 'IS_YEAR', 'IS_CLOSED', 'IS_PERFED', 'IS_CALCULATED', 'IS_SENT', 'IS_PERFING', 'IS_CALCING', 'IS_SENDING', 'CALC_PERCENT', 'SENT_PERCENT', 'CLOSED_AT', 'PERF_STARTED_AT', 'PERFED_AT', 'CALCULATE_STARTED_AT', 'CALCULATED_AT', 'SEND_STARTED_AT', 'SENT_AT', 'CREATED_AT'], 'integer'],
- [['ID', 'PERF_ADMIN_ID', 'CLOSE_ADMIN_ID', 'CALC_ADMIN_ID', 'SENT_ADMIN_ID'], 'string', 'max' => 32],
- [['PERIOD_NUM'], 'unique'],
- [['ID'], 'unique'],
- ];
- }
- /**
- * @inheritdoc
- */
- public function attributeLabels()
- {
- return [
- 'ID' => 'ID',
- 'PERIOD_NUM' => '期数',
- 'CALC_MONTH' => '所在结算月',
- 'CALC_YEAR' => '所在结算年',
- 'START_TIME' => '期数开始时间戳',
- 'END_TIME' => '期数结束时间戳',
- 'IS_MONTH' => '是否结算月节点',
- 'IS_YEAR' => '是否结算年节点',
- 'IS_CLOSED' => '是否已封期',
- 'IS_PERFED' => '是否已生成业绩单',
- 'IS_CALCULATED' => '是否已结算',
- 'IS_SENT' => '是否已发放',
- 'IS_PERFING' => '是否正在生成业绩单',
- 'IS_CALCING' => '是否正在计算状态',
- 'IS_SENDING' => '是否正在挂网状态',
- 'CALC_PERCENT' => '结算进度',
- 'SENT_PERCENT' => '发放进度',
- 'PERF_ADMIN_ID' => '生成业绩单管理员',
- 'CLOSE_ADMIN_ID' => '手动封期管理员ID',
- 'CALC_ADMIN_ID' => '结算管理员ID',
- 'SENT_ADMIN_ID' => '发放管理员ID',
- 'CLOSED_AT' => '发放管理员ID',
- 'PERF_STARTED_AT' => '生成业绩单开始时间',
- 'PERFED_AT' => '生成业绩单结束时间',
- 'CALCULATE_STARTED_AT' => '结算开始时间',
- 'CALCULATED_AT' => '结算完成时间',
- 'SEND_STARTED_AT' => '发放开始时间',
- 'SENT_AT' => '发放完成时间',
- 'CREATED_AT' => '创建时间',
- ];
- }
- // 获取此业绩是否已计算完成,只有计算完成,计算完成才给用户展示
- public static function isPerfed($periodNum) {
- $result = PeriodPrepare::findUseSlaves()
- ->where(
- 'PERIOD_NUM=:PERIOD_NUM ', [':PERIOD_NUM' => $periodNum]
- )
- ->asArray()
- ->one();
- if (isset($result['IS_PERFED']) && $result['IS_PERFED'] == 1) {
- return true;
- }
- return false;
- }
- // 根据业绩期获取数据信息
- public static function getInfo($periodNum) {
- $result = PeriodPrepare::findUseSlaves()
- ->where(
- 'PERIOD_NUM=:PERIOD_NUM ', [':PERIOD_NUM' => $periodNum]
- )
- ->asArray()
- ->one();
- return $result;
- }
- }
|