From 41ca64f73587459dd0625d1177fba4a181361212 Mon Sep 17 00:00:00 2001
From: weiz <736250432@qq.com>
Date: Sat, 3 Feb 2024 14:06:08 +0800
Subject: [PATCH] update

---
 .../bid/BidDocumentExaminationController.php  |  1 -
 .../controller/oa/FlowApproveController.php   |  2 --
 .../logic/bid/BidDocumentExaminationLogic.php | 12 +++++++++-
 .../bid/BidDocumentExaminationValidate.php    |  3 ++-
 app/common.php                                |  2 +-
 app/common/validate/BaseValidate.php          | 22 +++++++++++++++++++
 6 files changed, 36 insertions(+), 6 deletions(-)

diff --git a/app/adminapi/controller/bid/BidDocumentExaminationController.php b/app/adminapi/controller/bid/BidDocumentExaminationController.php
index 486e5f3e4..611298eeb 100644
--- a/app/adminapi/controller/bid/BidDocumentExaminationController.php
+++ b/app/adminapi/controller/bid/BidDocumentExaminationController.php
@@ -52,7 +52,6 @@ class BidDocumentExaminationController extends BaseAdminController
     public function add()
     {
         $params = (new BidDocumentExaminationValidate())->post()->goCheck('add');
-		halt($params);
         $result = BidDocumentExaminationLogic::add($params,$this->adminId);
         if (true === $result) {
             return $this->success('添加成功', [], 1, 1);
diff --git a/app/adminapi/controller/oa/FlowApproveController.php b/app/adminapi/controller/oa/FlowApproveController.php
index 89e7aa94c..0418a9cb5 100644
--- a/app/adminapi/controller/oa/FlowApproveController.php
+++ b/app/adminapi/controller/oa/FlowApproveController.php
@@ -39,8 +39,6 @@ class FlowApproveController extends BaseAdminController
      */
     public function lists()
     {
-//		$res = addApprove('项目年假申请',9,'app\common\model\project\ProjectTripApply','app\adminapi\logic\project\ProjectTripApplyLogic',3,4,2);
-//		halt($res);
 	    $params = (new FlowApproveValidate())->get()->goCheck('lists');
         return $this->dataLists(new FlowApproveLists($params['type']));
     }
diff --git a/app/adminapi/logic/bid/BidDocumentExaminationLogic.php b/app/adminapi/logic/bid/BidDocumentExaminationLogic.php
index 1cdfdd63a..fd761622e 100644
--- a/app/adminapi/logic/bid/BidDocumentExaminationLogic.php
+++ b/app/adminapi/logic/bid/BidDocumentExaminationLogic.php
@@ -47,7 +47,7 @@ class BidDocumentExaminationLogic extends BaseLogic
 		$buy_bidding_document = BidBuyBiddingDocument::field('project_id')->where('id',$params['buy_bidding_document_id'])->findOrEmpty();
         Db::startTrans();
         try {
-            $bidDocumentExamination = BidDocumentExamination::create([
+            $res = $bidDocumentExamination = BidDocumentExamination::create([
 				'code' => data_unique_code('标书审查'),
 	            'project_id' => $buy_bidding_document['project_id'],
                 'buy_bidding_document_id' => $params['buy_bidding_document_id'],
@@ -79,6 +79,16 @@ class BidDocumentExaminationLogic extends BaseLogic
 					]);
 				}
 			}
+			//添加审批信息
+	        $res2 = addApprove(
+				'标书审查',
+				$res->id,
+				'app\common\model\bid\BidDocumentExamination',
+				'app\adminapi\logic\bid\BidDocumentExaminationLogic',
+				$params['approve_detail']['flow_type'],
+		        $params['approve_detail']['flow_path'],
+		        $admin_id
+	        );
             Db::commit();
             return true;
         } catch (\Exception $e) {
diff --git a/app/adminapi/validate/bid/BidDocumentExaminationValidate.php b/app/adminapi/validate/bid/BidDocumentExaminationValidate.php
index 76ad3d98a..4a383b7db 100644
--- a/app/adminapi/validate/bid/BidDocumentExaminationValidate.php
+++ b/app/adminapi/validate/bid/BidDocumentExaminationValidate.php
@@ -41,12 +41,13 @@ class BidDocumentExaminationValidate extends BaseValidate
 	    'tax_rate' => 'checkTaxRate',
 	    'pay_type' => 'checkPayType',
         'quotation_detail' => 'checkQuotationDetail',
+	    'approve_detail' => 'require|checkApproveDetail',
     ];
 	
 	protected $message = [
 		'id.require' => '缺少必要参数',
 		'buy_bidding_document_id.require' => '请选择标书编号',
-		'quotation_detail' => 'checkQuotationDetail',
+		'approve_detail.require' => '请填写审批流程信息',
 	];
 
 
diff --git a/app/common.php b/app/common.php
index 46d80cdcd..ca31c7b72 100755
--- a/app/common.php
+++ b/app/common.php
@@ -382,7 +382,7 @@ function addApprove($title,$content_id,$content_model,$content_logic,$flow_type_
 			//获取部门负责人id
 			if($v['flow_step'] == 1){
 				$dept = Dept::field('leader')->where('id',$createUser['dept_id'])->findOrEmpty();
-				$flow_user = $dept['leader'];
+				$flow_user = !$dept->isEmpty() ? $dept['leader'] : 0;
 			}else{
 				$flow_user = implode(',',$v['flow_user']);
 			}
diff --git a/app/common/validate/BaseValidate.php b/app/common/validate/BaseValidate.php
index 93912c5e1..caba3617a 100755
--- a/app/common/validate/BaseValidate.php
+++ b/app/common/validate/BaseValidate.php
@@ -16,6 +16,8 @@ declare(strict_types=1);
 
 namespace app\common\validate;
 
+use app\common\model\oa\Flow;
+use app\common\model\oa\FlowType;
 use app\common\service\JsonService;
 use think\Validate;
 
@@ -84,4 +86,24 @@ class BaseValidate extends Validate
         // 3.成功返回数据
         return $params;
     }
+	
+	public function checkApproveDetail($value): bool|string
+	{
+		if(empty($value) || !is_array($value)){
+			return '审批流程数据格式错误';
+		}
+		if(empty($value['flow_type'])){
+			return '请选择审批类型';
+		}else{
+			$ft = FlowType::where('id',$value['flow_type'])->findOrEmpty();
+			if($ft->isEmpty()) return '审批类型数据不存在';
+		}
+		if(empty($value['flow_path'])){
+			return '请选择审批流程';
+		}else{
+			$fp = Flow::where('id',$value['flow_path'])->where('flow_cate',$value['flow_type'])->findOrEmpty();
+			if($fp->isEmpty()) return '审批流程数据不存在';
+		}
+		return true;
+	}
 }
\ No newline at end of file