303 lines
11 KiB
PHP
Executable File
303 lines
11 KiB
PHP
Executable File
<?php
|
||
|
||
# @Author: 嗨噜客(三亚) <fm453>
|
||
# @Date: 2022-04-24T20:28:47+08:00
|
||
# @Email: fm453@lukegzs.com
|
||
# @Last modified by: fm453
|
||
# @Last modified time: 2022-05-21T22:11:58+08:00
|
||
# @Copyright: www.hiluker.cn
|
||
|
||
namespace backend\controllers;
|
||
|
||
use Yii;
|
||
use yii\data\Pagination;
|
||
|
||
use addons\models\AcCar;
|
||
use addons\models\AcCarOwner;
|
||
use addons\models\AcCarBrand;
|
||
use addons\models\AcCarSeries;
|
||
use addons\models\AcStore;
|
||
use addons\models\AcEmployee;
|
||
use addons\models\AcOrder;
|
||
use addons\models\AcOrderPre;
|
||
use addons\models\AcOrderStatus;
|
||
use addons\models\AcTruck;
|
||
use addons\models\AcDriver;
|
||
use addons\models\AcPlat;
|
||
use common\models\CVcode;
|
||
use addons\models\AcContact;
|
||
use common\models\Member as User;
|
||
use addons\models\AcUserExt;
|
||
use common\models\Fans;
|
||
|
||
class OrdercheckController extends Common
|
||
{
|
||
public function beforeAction($action)
|
||
{
|
||
if (!$this->pid) {
|
||
$this->result('您正使用本系统内部接口,禁止非法链接使用!');
|
||
}
|
||
return parent::beforeAction($action);
|
||
}
|
||
|
||
public function actionIndex()
|
||
{
|
||
$apis = [
|
||
'basic'=>'基础验车', //启运网点
|
||
'online'=>'中转验车',
|
||
'arrive'=>'到站验车', //目的地网点
|
||
];
|
||
$this->result('您正使用CMTS系统运单验车管理接口!', $apis, 200);
|
||
}
|
||
|
||
public function actionBasic()
|
||
{
|
||
$pid = $this->pid;
|
||
$status = Yii::$app->params['OrderStatus'];
|
||
$post = $this->postdata;
|
||
|
||
$id = isset($post['oid']) ? $post['oid'] : 0;
|
||
if ($id<=0) {
|
||
$this->result('查询参数错误!');
|
||
}
|
||
$AcOrder = new AcOrder();
|
||
$order = $AcOrder->findOne($id);
|
||
if (!$order) {
|
||
$this->result('该运单数据不存在!');
|
||
}
|
||
if (!isset($post['checks'])) {
|
||
$this->result('验车参数错误!');
|
||
}
|
||
$checks = $post['checks']; //需要更新的验车信息
|
||
//判断执行权限 S
|
||
if (!$this->user_info) {
|
||
$this->result('无有效用户登陆信息,无权操作!');
|
||
}
|
||
if (!$this->employee_id) {
|
||
$this->result('未表明员工工号身份!');
|
||
}
|
||
//判断执行权限 E
|
||
$hasChange = 0; //是否有需要更新的数据
|
||
$op = isset($post['op']) ? $post['op'] : '';
|
||
$isOss = true; //是否启用OSS服务
|
||
switch ($op) {
|
||
case 'data':
|
||
$hasChange = 1;
|
||
$checker = isset($checks['checker']) ? trim($checks['checker']) : '';
|
||
$order->checker = $checker ? $checker : $this->user_info->username;
|
||
$start_km = isset($checks['start_km']) ? (int) $checks['start_km'] : 0;
|
||
$order->start_km = $start_km;
|
||
$is_driving_lisence = isset($checks['is_driving_lisence']) ? (int)$checks['is_driving_lisence'] : 0;
|
||
$order->no_driving_lisence = $is_driving_lisence==1 ? 1 : 0;
|
||
$car_extra = isset($checks['car_extra']) ? trim($checks['car_extra']) : '';
|
||
$order->car_extra = $car_extra;
|
||
break;
|
||
case 'driving_lisence':
|
||
$k = 'driving_lisence';
|
||
if (isset($checks[$k]) && $checks[$k]) {
|
||
if (!$isOss) {
|
||
$file = Yii::getAlias('@upload-src').$checks[$k];
|
||
if (file_exists($file)) {
|
||
$hasChange = 1;
|
||
$order->$k = $checks[$k];
|
||
}
|
||
} else {
|
||
$hasChange = 1;
|
||
$order->$k = $checks[$k];
|
||
}
|
||
}
|
||
break;
|
||
case 'thumb_f':
|
||
$k = 'thumb_f';
|
||
if (isset($checks[$k]) && $checks[$k]) {
|
||
if (!$isOss) {
|
||
$file = Yii::getAlias('@upload-src').$checks[$k];
|
||
if (file_exists($file)) {
|
||
$hasChange = 1;
|
||
$order->$k = $checks[$k];
|
||
}
|
||
} else {
|
||
$hasChange = 1;
|
||
$order->$k = $checks[$k];
|
||
}
|
||
}
|
||
break;
|
||
case 'thumb_b':
|
||
$k = 'thumb_b';
|
||
if (isset($checks[$k]) && $checks[$k]) {
|
||
$file = Yii::getAlias('@upload-src').$checks[$k];
|
||
if (file_exists($file)) {
|
||
$hasChange = 1;
|
||
$order->$k = $checks[$k];
|
||
}
|
||
}
|
||
break;
|
||
case 'thumb_l':
|
||
$k = 'thumb_l';
|
||
if (isset($checks[$k]) && $checks[$k]) {
|
||
if (!$isOss) {
|
||
$file = Yii::getAlias('@upload-src').$checks[$k];
|
||
if (file_exists($file)) {
|
||
$hasChange = 1;
|
||
$order->$k = $checks[$k];
|
||
}
|
||
} else {
|
||
$hasChange = 1;
|
||
$order->$k = $checks[$k];
|
||
}
|
||
}
|
||
break;
|
||
case 'thumb_r':
|
||
$k = 'thumb_r';
|
||
if (isset($checks[$k]) && $checks[$k]) {
|
||
if (!$isOss) {
|
||
$file = Yii::getAlias('@upload-src').$checks[$k];
|
||
if (file_exists($file)) {
|
||
$hasChange = 1;
|
||
$order->$k = $checks[$k];
|
||
}
|
||
} else {
|
||
$hasChange = 1;
|
||
$order->$k = $checks[$k];
|
||
}
|
||
}
|
||
break;
|
||
case 'thumbs':
|
||
$k = 'thumbs';
|
||
if (isset($checks[$k]) && $checks[$k]) {
|
||
$hasChange = 1;
|
||
$thumbs = json_encode($checks[$k]);
|
||
$order->$k = $thumbs;
|
||
}
|
||
break;
|
||
case 'all':
|
||
$keys = ['driving_lisence','thumb_f','thumb_b','thumb_l','thumb_r'];
|
||
foreach ($keys as $k) {
|
||
if (isset($checks[$k]) && $checks[$k]) {
|
||
if (!$isOss) {
|
||
$file = Yii::getAlias('@upload-src').$checks[$k];
|
||
if (file_exists($file)) {
|
||
$hasChange = 1;
|
||
$order->$k = $checks[$k];
|
||
}
|
||
} else {
|
||
$hasChange = 1;
|
||
$order->$k = $checks[$k];
|
||
}
|
||
}
|
||
}
|
||
$k = 'thumbs';
|
||
if (isset($checks[$k]) && $checks[$k]) {
|
||
$hasChange = 1;
|
||
$thumbs = json_encode($checks[$k]);
|
||
$order->$k = $thumbs;
|
||
}
|
||
$checker = isset($checks['checker']) ? trim($checks['checker']) : '';
|
||
$order->checker = $checker ? $checker : $this->user_info->username;
|
||
$start_km = isset($checks['start_km']) ? (int) $checks['start_km'] : 0;
|
||
$order->start_km = $start_km;
|
||
$is_driving_lisence = isset($checks['is_driving_lisence']) ? (int)$checks['is_driving_lisence'] : 0;
|
||
$order->no_driving_lisence = $is_driving_lisence==1 ? 1 : 0;
|
||
$car_extra = isset($checks['car_extra']) ? trim($checks['car_extra']) : '';
|
||
$order->car_extra = $car_extra;
|
||
if ($hasChange) {
|
||
$order->is_checked = 1;
|
||
}
|
||
break;
|
||
}
|
||
if ($hasChange) {
|
||
$res = $order->save();
|
||
$this->result('操作完成!', null, 200);
|
||
} else {
|
||
$this->result('没有要更新的数据!', null, 200);
|
||
}
|
||
}
|
||
|
||
public function actionAjax()
|
||
{
|
||
$get = Yii::$app->request->get();
|
||
$post = Yii::$app->request->post();
|
||
$id = (int)$get['id'];
|
||
$data = $where = [];
|
||
$where['id'] = $id;
|
||
$data['update_at'] = time();
|
||
|
||
$model = new AcOrder();
|
||
$res = $model->findOne($id);
|
||
$return = [];
|
||
$return['timeout'] = 1; //几秒后自动跳转
|
||
$return['status'] = 0;
|
||
$return['ajax'] = 1;
|
||
|
||
if (!$res) {
|
||
$return['msg'] = '订单数据不存在';
|
||
$return['errorcode'] = 404;
|
||
exit(json_encode($return, JSON_UNESCAPED_UNICODE));
|
||
} else {
|
||
$order = $res;
|
||
if ($order->deleted>0) {
|
||
$return['msg'] = '订单已被删除了,无法操作';
|
||
$return['errorcode'] = 404;
|
||
exit(json_encode($return, JSON_UNESCAPED_UNICODE));
|
||
}
|
||
}
|
||
|
||
switch ($get['do']) {
|
||
case 'cancel':
|
||
if ($order->is_cwqr>0) {
|
||
$return['msg'] = '订单已入账,请先联系财务销账后再取消';
|
||
$return['errorcode'] = 404;
|
||
exit(json_encode($return, JSON_UNESCAPED_UNICODE));
|
||
}
|
||
if ($order->status_code>1) {
|
||
$return['msg'] = '订单已进入运输后流程,无法操作取消';
|
||
$return['errorcode'] = 404;
|
||
exit(json_encode($return, JSON_UNESCAPED_UNICODE));
|
||
}
|
||
if ($order->status_code==-1) {
|
||
$return['msg'] = '订单已经是被取消状态';
|
||
$return['errorcode'] = 404;
|
||
exit(json_encode($return, JSON_UNESCAPED_UNICODE));
|
||
}
|
||
$data['status_code'] = -1;
|
||
$model->id = $id;
|
||
$res = $model->updateAll($data, $where);
|
||
if ($res) {
|
||
$return['msg'] = '订单取消成功';
|
||
$return['errorcode'] = 200;
|
||
$return['data'] = ['css'=>'btn-info'];
|
||
} else {
|
||
$return['msg'] = '订单取消失败';
|
||
$return['errorcode'] = 0;
|
||
}
|
||
break;
|
||
case 'truckcar':
|
||
if ($order->status_code==-1) {
|
||
$return['msg'] = '订单已被取消,不能承运';
|
||
$return['errorcode'] = 404;
|
||
exit(json_encode($return, JSON_UNESCAPED_UNICODE));
|
||
}
|
||
if ($order->status_code!=1) {
|
||
$return['msg'] = '订单当前非初始状态(协议签订),不可作承运处理';
|
||
$return['errorcode'] = 404;
|
||
exit(json_encode($return, JSON_UNESCAPED_UNICODE));
|
||
}
|
||
$data['status_code'] = 5;
|
||
$model->id = $id;
|
||
$res = $model->updateAll($data, $where);
|
||
if ($res) {
|
||
$return['msg'] = '订单已转为待承运状态';
|
||
$return['errorcode'] = 200;
|
||
$return['data'] = ['css'=>'default'];
|
||
} else {
|
||
$return['msg'] = '订单标记失败,请稍后再试';
|
||
$return['errorcode'] = 0;
|
||
}
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
exit(json_encode($return, JSON_UNESCAPED_UNICODE));
|
||
}
|
||
}
|