Extension2205ModuleController.php 3.6 KB
<?php
/**
 * @remark :
 * @name   :ExtensionModuleController.php
 * @author :lyh
 * @method :post
 * @time   :2024/8/7 16:15
 */

namespace App\Http\Controllers\Bside\ExtensionModule;

use App\Enums\Common\Code;
use App\Http\Controllers\Bside\BaseController;
use App\Http\Logic\Bside\ExtensionModule\ExtensionModuleFieldLogic;
use App\Models\ExtentModule\Extension2205ModuleValueLog;
use App\Models\ExtentModule\ExtensionModule;
use App\Models\ExtentModule\ExtensionModuleField;
use App\Models\ExtentModule\ExtensionModuleValue;
use Illuminate\Support\Facades\DB;

/**
 * @remark :单独处理2205项目扩展
 * @name   :Extension2205ModuleController
 * @author :lyh
 * @method :post
 * @time   :2024/9/4 14:32
 */
class Extension2205ModuleController extends BaseController
{
    public function get2205List(){
        $this->request->validate([
            'uuid'=>'required',
        ],[
            'uuid.required' => 'uuid不能为空',
        ]);
        $log2205Model = new Extension2205ModuleValueLog();
        $lists = $log2205Model->list(['module_id'=>1,'uuid'=>$this->param['uuid']]);
        $this->response('success',Code::SUCCESS,$lists);
    }

    /**
     * @remark :流程控制处理(2205)
     * @name   :save2205Status
     * @author :lyh
     * @method :post
     * @time   :2024/9/4 14:34
     */
    public function save2205Status(){
        $this->request->validate([
            'uuid'=>'required',
            'status'=>'required',
            'date'=>'required',
        ],[
            'uuid.required' => 'uuid不能为空',
            'status.required' => 'status不能为空',
            'date.required' => 'status不能为空',
        ]);
        if(empty($this->param['status']) || empty($this->param['date'])){
            $this->response('success');
        }
        if($this->user['project_id'] != 2205){
            $this->fail('当前接口为2205私有接口');
        }
        $this->param['module_id'] = $this->param['module_id'] ?? 1;
        $filedModel = new ExtensionModuleField();
        $fileInfo = $filedModel->read(['id'=>12]);//获取当前下拉框的数据
        if($fileInfo === false){
            $this->fail('当前字段不存在');
        }
        $statusData = json_decode($fileInfo['data'],true);
        $data = [];
        $number = 1;
        foreach ($statusData as $v){
            $data[$v] = $number;
            $number++;
        }
        $valuesModel = new ExtensionModuleValue();
        if(isset($this->param['uuid'])){
            $valuesInfo = $valuesModel->read(['uuid'=>$this->param['uuid'],'field_id'=>12]);//获取以前的数据
            if($valuesInfo !== false && !empty($valuesInfo['value'])){
                if($data[$valuesInfo['value']] > $data($this->param['value'])){
                    $this->fail('流程控制只能往下选择');
                }
            }
        }
        $log2205Model = new Extension2205ModuleValueLog();
        $log2205Info = $log2205Model->read(['module_id'=>$this->param['module_id'],'uuid'=>$this->param['uuid'],'status'=>$this->param['status']]);
        if($log2205Info == false){
            $data = [
                'module_id'=>$this->param['module_id'],
                'uuid'=>$this->param['uuid'],
                'status'=>$this->param['status'],
                'date'=>$this->param['date'],
            ];
           $id = $log2205Model->addReturnId($data);
        }else{
            $id = $log2205Info['id'];
            $data = [
                'date'=>$this->param['date'],
            ];
            $log2205Model->edit($data,['id'=>$log2205Info['id']]);
        }
        $this->response('success',Code::SUCCESS,['id'=>$id]);
    }
}