| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- <?php
- namespace console\controllers;
- use bizHd\purchase\classes\PurchaseClass;
- use bizHd\purchase\models\Purchase;
- use bizHd\purchase\services\PurchaseService;
- use common\components\dict;
- use common\components\noticeUtil;
- use yii\console\Controller;
- use Yii;
- class PurchaseController extends Controller
- {
- //采购订单过期变更 shish 2021.5.14
- // ./yii purchase/expire-order
- // /usr/local/nginx/html/huahuibao/yii purchase/expire-order
- public function actionExpireOrder()
- {
- $query = new \yii\db\Query();
- $query->from(Purchase::tableName());
- $date = date("Y-m-d H:i:s");
- $query->where(['status' => PurchaseClass::STATUS_UN_PAY])->andWhere(['<=', 'deadline', $date]);
- $query->orderBy('deadline ASC');
- $connection = Yii::$app->db;//事务处理
- $transaction = $connection->beginTransaction();
- Yii::$app->params['ptStyle'] = dict::getDict('ptStyle', 'hd');
- try {
- $arr = [];
- foreach ($query->batch() as $purchases) {
- foreach ($purchases as $purchase) {
- $id = $purchase['id'] ?? 0;
- $current = PurchaseClass::getById($id, true);
- PurchaseService::expire($current);
- $log = "过期的采购单:{$id} json:" . json_encode($purchase);
- $arr[] = $log;
- }
- }
- $transaction->commit();
- if (!empty($arr)) {
- foreach ($arr as $item) {
- Yii::info($item);
- }
- }
- } catch (Exception $e) {
- $transaction->rollBack();
- $msg = $e->getMessage();
- noticeUtil::push("采购订单过期变更报错:{$msg}", '15280215347');
- }
- }
- }
|