from(Purchase::tableName()); $date = date("Y-m-d H:i:s"); //找出一个星期内可以标记为过期的订单 $startDate = date("Y-m-d H:i:s", strtotime('-7 days')); $query->where(['status' => PurchaseClass::STATUS_UN_PAY])->andWhere(['>', 'deadline', $startDate])->andWhere(['<=', 'deadline', $date]); $query->orderBy('deadline ASC'); Yii::$app->params['ptStyle'] = dict::getDict('ptStyle', 'hd'); //如果有报错,抛出异常 Yii::$app->params['errorReport'] = 1; $arr = []; foreach ($query->batch() as $purchases) { foreach ($purchases as $purchase) { $connection = Yii::$app->db;//事务处理 $transaction = $connection->beginTransaction(); $id = $purchase['id'] ?? 0; $orderSn = $purchase['orderSn'] ?? ''; try { $current = PurchaseClass::getById($id, true); PurchaseService::expire($current); $transaction->commit(); noticeUtil::push("采购单过期未付款,库存已回滚,单号:{$orderSn}"); } catch (\Exception $e) { $transaction->rollBack(); $msg = $e->getMessage(); noticeUtil::push("采购单过期处理报错了!订单号:{$orderSn},错误信息:{$msg}", '15280215347'); } $log = "过期的采购单:{$id} json:" . json_encode($purchase); $arr[] = $log; } } if (!empty($arr)) { foreach ($arr as $item) { Yii::info($item); } } } //待付款订单自动变成欠款订单 public function actionSetDebtOrder() { //采购单由供货商发起的!!!!! $ghsInvite = dict::getDict('cgStyle', 'ghs'); $query = new \yii\db\Query(); $query->from(Purchase::tableName()); $date = date("Y-m-d H:i:s"); //找出一个星期内可以标记为欠款的订单 $startDate = date("Y-m-d H:i:s", strtotime('-7 days')); $query->where(['status' => PurchaseClass::STATUS_UN_PAY])->andWhere(['cgStyle' => $ghsInvite])->andWhere(['>', 'autoSetTime', $startDate])->andWhere(['<=', 'autoSetTime', $date]); $query->orderBy('autoSetTime ASC'); Yii::$app->params['ptStyle'] = dict::getDict('ptStyle', 'hd'); //如果有报错,抛出异常 Yii::$app->params['errorReport'] = 1; $arr = []; foreach ($query->batch() as $purchases) { foreach ($purchases as $purchase) { $connection = Yii::$app->db;//事务处理 $transaction = $connection->beginTransaction(); $id = $purchase['id'] ?? 0; $orderSn = $purchase['orderSn'] ?? ''; try { $current = PurchaseClass::getById($id, true); //供货商发起的记欠款 PurchaseService::debt($current); $transaction->commit(); noticeUtil::push("采购单已经变更为欠款。订单号:{$orderSn}", '15280215347'); } catch (\Exception $e) { $transaction->rollBack(); $msg = $e->getMessage(); noticeUtil::push("待付款采购单设置为欠款单报错了!订单号:{$orderSn},错误信息:{$msg}", '15280215347'); } $log = "待付款采购单设置为欠款单:{$id} json:" . json_encode($purchase); $arr[] = $log; } } if (!empty($arr)) { foreach ($arr as $item) { Yii::info($item); } } } }