diff --git a/app/adminapi/controller/contract/ContractController.php b/app/adminapi/controller/contract/ContractController.php index 89edb2be6..8552bd933 100644 --- a/app/adminapi/controller/contract/ContractController.php +++ b/app/adminapi/controller/contract/ContractController.php @@ -20,6 +20,8 @@ use app\adminapi\controller\BaseAdminController; use app\adminapi\lists\contract\ContractLists; use app\adminapi\logic\contract\ContractLogic; use app\adminapi\validate\contract\ContractValidate; +use app\common\model\oa\Flow; +use app\common\model\oa\FlowType; /** @@ -103,6 +105,24 @@ class ContractController extends BaseAdminController $result = ContractLogic::detail($params); return $this->data($result); } + + public function flows(): \think\response\Json + { + $flow_type = FlowType::where('type',1)->where('name','xmht')->findOrEmpty(); + $data = Flow::field('id,name')->where('flow_cate',$flow_type['id'])->where('status',3)->select(); + return $this->success('请求成功',$data->toArray()); + } + + //添加审批 + public function approve(): \think\response\Json + { + $params = (new ContractValidate())->post()->goCheck('approve'); + $result = ContractLogic::approve($params,$this->adminId); + if (true === $result) { + return $this->success('提交审核信息成功', [], 1, 1); + } + return $this->fail(ContractLogic::getError()); + } } \ No newline at end of file diff --git a/app/adminapi/controller/contract/ContractNegotiationController.php b/app/adminapi/controller/contract/ContractNegotiationController.php index 1266753da..2b007ecce 100644 --- a/app/adminapi/controller/contract/ContractNegotiationController.php +++ b/app/adminapi/controller/contract/ContractNegotiationController.php @@ -20,6 +20,8 @@ use app\adminapi\controller\BaseAdminController; use app\adminapi\lists\contract\ContractNegotiationLists; use app\adminapi\logic\contract\ContractNegotiationLogic; use app\adminapi\validate\contract\ContractNegotiationValidate; +use app\common\model\oa\Flow; +use app\common\model\oa\FlowType; /** @@ -103,6 +105,24 @@ class ContractNegotiationController extends BaseAdminController $result = ContractNegotiationLogic::detail($params); return $this->data($result); } + + public function flows(): \think\response\Json + { + $flow_type = FlowType::where('type',1)->where('name','htqs')->findOrEmpty(); + $data = Flow::field('id,name')->where('flow_cate',$flow_type['id'])->where('status',3)->select(); + return $this->success('请求成功',$data->toArray()); + } + + //添加审批 + public function approve(): \think\response\Json + { + $params = (new ContractNegotiationValidate())->post()->goCheck('approve'); + $result = ContractNegotiationLogic::approve($params,$this->adminId); + if (true === $result) { + return $this->success('提交审核信息成功', [], 1, 1); + } + return $this->fail(ContractNegotiationLogic::getError()); + } } \ No newline at end of file diff --git a/app/adminapi/controller/contract/ProcurementContractController.php b/app/adminapi/controller/contract/ProcurementContractController.php index d1a29fa58..504f78b48 100644 --- a/app/adminapi/controller/contract/ProcurementContractController.php +++ b/app/adminapi/controller/contract/ProcurementContractController.php @@ -20,6 +20,8 @@ use app\adminapi\controller\BaseAdminController; use app\adminapi\lists\contract\ProcurementContractLists; use app\adminapi\logic\contract\ProcurementContractLogic; use app\adminapi\validate\contract\ProcurementContractValidate; +use app\common\model\oa\Flow; +use app\common\model\oa\FlowType; /** @@ -87,6 +89,24 @@ class ProcurementContractController extends BaseAdminController $result = ProcurementContractLogic::detail($params); return $this->data($result); } + + public function flows(): \think\response\Json + { + $flow_type = FlowType::where('type',1)->where('name','cght')->findOrEmpty(); + $data = Flow::field('id,name')->where('flow_cate',$flow_type['id'])->where('status',3)->select(); + return $this->success('请求成功',$data->toArray()); + } + + //添加审批 + public function approve(): \think\response\Json + { + $params = (new ProcurementContractValidate())->post()->goCheck('approve'); + $result = ProcurementContractLogic::approve($params,$this->adminId); + if (true === $result) { + return $this->success('提交审核信息成功', [], 1, 1); + } + return $this->fail(ProcurementContractLogic::getError()); + } } \ No newline at end of file diff --git a/app/adminapi/controller/contract/SubcontractingContractController.php b/app/adminapi/controller/contract/SubcontractingContractController.php index 793da2b4c..4ccff81a0 100644 --- a/app/adminapi/controller/contract/SubcontractingContractController.php +++ b/app/adminapi/controller/contract/SubcontractingContractController.php @@ -20,6 +20,8 @@ use app\adminapi\controller\BaseAdminController; use app\adminapi\lists\contract\SubcontractingContractLists; use app\adminapi\logic\contract\SubcontractingContractLogic; use app\adminapi\validate\contract\SubcontractingContractValidate; +use app\common\model\oa\Flow; +use app\common\model\oa\FlowType; /** @@ -89,6 +91,24 @@ class SubcontractingContractController extends BaseAdminController $result = SubcontractingContractLogic::detail($params); return $this->data($result); } + + public function flows(): \think\response\Json + { + $flow_type = FlowType::where('type',1)->where('name','fbht')->findOrEmpty(); + $data = Flow::field('id,name')->where('flow_cate',$flow_type['id'])->where('status',3)->select(); + return $this->success('请求成功',$data->toArray()); + } + + //添加审批 + public function approve(): \think\response\Json + { + $params = (new SubcontractingContractValidate())->post()->goCheck('approve'); + $result = SubcontractingContractLogic::approve($params,$this->adminId); + if (true === $result) { + return $this->success('提交审核信息成功', [], 1, 1); + } + return $this->fail(SubcontractingContractLogic::getError()); + } } \ No newline at end of file diff --git a/app/adminapi/controller/contract/SubcontractingContractNegotiationController.php b/app/adminapi/controller/contract/SubcontractingContractNegotiationController.php index 7ec3dc091..472f14dcf 100644 --- a/app/adminapi/controller/contract/SubcontractingContractNegotiationController.php +++ b/app/adminapi/controller/contract/SubcontractingContractNegotiationController.php @@ -20,6 +20,8 @@ use app\adminapi\controller\BaseAdminController; use app\adminapi\lists\contract\SubcontractingContractNegotiationLists; use app\adminapi\logic\contract\SubcontractingContractNegotiationLogic; use app\adminapi\validate\contract\SubcontractingContractNegotiationValidate; +use app\common\model\oa\Flow; +use app\common\model\oa\FlowType; /** @@ -103,6 +105,24 @@ class SubcontractingContractNegotiationController extends BaseAdminController $result = SubcontractingContractNegotiationLogic::detail($params); return $this->data($result); } + + public function flows(): \think\response\Json + { + $flow_type = FlowType::where('type',1)->where('name','fbhtqs')->findOrEmpty(); + $data = Flow::field('id,name')->where('flow_cate',$flow_type['id'])->where('status',3)->select(); + return $this->success('请求成功',$data->toArray()); + } + + //添加审批 + public function approve(): \think\response\Json + { + $params = (new SubcontractingContractNegotiationValidate())->post()->goCheck('approve'); + $result = SubcontractingContractNegotiationLogic::approve($params,$this->adminId); + if (true === $result) { + return $this->success('提交审核信息成功', [], 1, 1); + } + return $this->fail(SubcontractingContractNegotiationLogic::getError()); + } } \ No newline at end of file diff --git a/app/adminapi/logic/contract/ContractLogic.php b/app/adminapi/logic/contract/ContractLogic.php index 303236385..cf218b4bf 100644 --- a/app/adminapi/logic/contract/ContractLogic.php +++ b/app/adminapi/logic/contract/ContractLogic.php @@ -21,6 +21,7 @@ use app\common\model\contract\Contract; use app\common\logic\BaseLogic; use app\common\model\finance\FinanceReturnedMoney; use app\common\model\finance\FinanceReturnedRecord; +use app\common\model\oa\FlowApprove; use app\common\model\project\Project; use app\common\model\custom\Custom; use think\facade\Db; @@ -224,6 +225,39 @@ class ContractLogic extends BaseLogic $data['contract_pricing_method_text'] = $data->contract_pricing_method_text; $data['business_director_name'] = $business_director['name']; $data['returned_amount'] = FinanceReturnedRecord::where('contract_id',$data['id'])->sum('amount'); + $approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); + $data['approve_check_status'] = $approve_data['check_status']; return $data->toArray(); } + + public static function approve($params,$admin_id): bool{ + $data = Contract::where('id',$params['id'])->findOrEmpty(); + $approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); + if(!empty($data['approve_id']) && $approve_data['check_status'] != 3){ + self::setError('当前内容存在审核信息,请勿重复提交'); + return false; + } + Db::startTrans(); + try { + $res = addApprove( + '项目合同', + $params['id'], + 'app\common\model\contract\Contract', + $params['path'], + $params['flow_id'], + $admin_id + ); + if($res){ + Contract::where('id',$params['id'])->update([ + 'approve_id' => $res, + ]); + } + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } } \ No newline at end of file diff --git a/app/adminapi/logic/contract/ContractNegotiationLogic.php b/app/adminapi/logic/contract/ContractNegotiationLogic.php index c49141ac5..a414c9303 100644 --- a/app/adminapi/logic/contract/ContractNegotiationLogic.php +++ b/app/adminapi/logic/contract/ContractNegotiationLogic.php @@ -165,10 +165,39 @@ class ContractNegotiationLogic extends BaseLogic $data['project_code'] = $project['project_code']; $data['custom_name'] = $custom['name']; $data['negotiation_type_text'] = $data->negotiation_type_text; - $approve_info = FlowApprove::field('id')->where('content_id',$params['id']) - ->where('content_model','app\common\model\contract\ContractNegotiation') - ->where('content_logic','app\adminapi\logic\contract\ContractNegotiationLogic')->findOrEmpty(); - $data['approve_id'] = $approve_info['id']; + $approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); + $data['approve_check_status'] = $approve_data['check_status']; return $data->toArray(); } + + public static function approve($params,$admin_id): bool{ + $data = ContractNegotiation::where('id',$params['id'])->findOrEmpty(); + $approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); + if(!empty($data['approve_id']) && $approve_data['check_status'] != 3){ + self::setError('当前内容存在审核信息,请勿重复提交'); + return false; + } + Db::startTrans(); + try { + $res = addApprove( + '项目合同洽商', + $params['id'], + 'app\common\model\contract\ContractNegotiation', + $params['path'], + $params['flow_id'], + $admin_id + ); + if($res){ + Contract::where('id',$params['id'])->update([ + 'approve_id' => $res, + ]); + } + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } } \ No newline at end of file diff --git a/app/adminapi/logic/contract/ProcurementContractLogic.php b/app/adminapi/logic/contract/ProcurementContractLogic.php index 76b473bfb..766dd827f 100644 --- a/app/adminapi/logic/contract/ProcurementContractLogic.php +++ b/app/adminapi/logic/contract/ProcurementContractLogic.php @@ -17,12 +17,12 @@ namespace app\adminapi\logic\contract; use app\common\model\contract\ProcurementContract; use app\common\model\contract\ProcurementContractDetail; -use app\common\model\custom\Custom; use app\common\logic\BaseLogic; use app\common\model\dept\Dept; use app\common\model\dept\Orgs; use app\common\model\dict\DictData; use app\common\model\finance\FinancePaymentPlan; +use app\common\model\oa\FlowApprove; use app\common\model\project\Project; use app\common\model\supplier\Supplier; use think\facade\Db; @@ -244,6 +244,39 @@ class ProcurementContractLogic extends BaseLogic $data['account_period_text'] = $data->account_period_text; $data['amount_excluding_tax'] = ProcurementContractDetail::where('contract_id',$data['id'])->sum('amount_excluding_tax'); $data['contract_amount'] = ProcurementContractDetail::where('contract_id',$data['id'])->sum('amount_including_tax'); + $approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); + $data['approve_check_status'] = $approve_data['check_status']; return $data->toArray(); } + + public static function approve($params,$admin_id): bool{ + $data = ProcurementContract::where('id',$params['id'])->findOrEmpty(); + $approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); + if(!empty($data['approve_id']) && $approve_data['check_status'] != 3){ + self::setError('当前内容存在审核信息,请勿重复提交'); + return false; + } + Db::startTrans(); + try { + $res = addApprove( + '采购合同', + $params['id'], + 'app\common\model\contract\ProcurementContract', + $params['path'], + $params['flow_id'], + $admin_id + ); + if($res){ + ProcurementContract::where('id',$params['id'])->update([ + 'approve_id' => $res, + ]); + } + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } } \ No newline at end of file diff --git a/app/adminapi/logic/contract/SubcontractingContractLogic.php b/app/adminapi/logic/contract/SubcontractingContractLogic.php index b8fa3a9b4..aa1283819 100644 --- a/app/adminapi/logic/contract/SubcontractingContractLogic.php +++ b/app/adminapi/logic/contract/SubcontractingContractLogic.php @@ -17,12 +17,12 @@ namespace app\adminapi\logic\contract; use app\common\model\contract\SubcontractingContract; use app\common\model\contract\SubcontractingContractDetail; -use app\common\model\custom\Custom; use app\common\logic\BaseLogic; use app\common\model\dept\Dept; use app\common\model\dept\Orgs; use app\common\model\dict\DictData; use app\common\model\finance\FinancePaymentPlan; +use app\common\model\oa\FlowApprove; use app\common\model\project\Project; use app\common\model\supplier\Supplier; use think\facade\Db; @@ -249,6 +249,39 @@ class SubcontractingContractLogic extends BaseLogic $data['account_period_text'] = $data->account_period_text; $data['contract_amount'] = SubcontractingContractDetail::where('contract_id',$data['id'])->sum('amount_including_tax'); $data['amount_excluding_tax'] = SubcontractingContractDetail::where('contract_id',$data['id'])->sum('amount_excluding_tax'); + $approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); + $data['approve_check_status'] = $approve_data['check_status']; return $data->toArray(); } + + public static function approve($params,$admin_id): bool{ + $data = SubcontractingContract::where('id',$params['id'])->findOrEmpty(); + $approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); + if(!empty($data['approve_id']) && $approve_data['check_status'] != 3){ + self::setError('当前内容存在审核信息,请勿重复提交'); + return false; + } + Db::startTrans(); + try { + $res = addApprove( + '分包合同', + $params['id'], + 'app\common\model\contract\SubcontractingContract', + $params['path'], + $params['flow_id'], + $admin_id + ); + if($res){ + SubcontractingContract::where('id',$params['id'])->update([ + 'approve_id' => $res, + ]); + } + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } } \ No newline at end of file diff --git a/app/adminapi/logic/contract/SubcontractingContractNegotiationLogic.php b/app/adminapi/logic/contract/SubcontractingContractNegotiationLogic.php index 063913c1c..68e5834d8 100644 --- a/app/adminapi/logic/contract/SubcontractingContractNegotiationLogic.php +++ b/app/adminapi/logic/contract/SubcontractingContractNegotiationLogic.php @@ -128,7 +128,7 @@ class SubcontractingContractNegotiationLogic extends BaseLogic */ public static function detail($params): array { - $data = SubcontractingContractNegotiation::field('id,project_id,subcontracting_contract_id,negotiation_name,negotiation_no,negotiation_amount,negotiation_type,sign_date,warranty_amount,warranty_expire_date,negotiation_content,negotiation_detail,negotiation_quotation,negotiation_basis') + $data = SubcontractingContractNegotiation::field('id,project_id,subcontracting_contract_id,negotiation_name,negotiation_no,negotiation_amount,negotiation_type,sign_date,warranty_amount,warranty_expire_date,negotiation_content,negotiation_detail,negotiation_quotation,negotiation_basis,approve_id') ->findOrEmpty($params['id']); $subcontracting_contract = SubcontractingContract::field('supplier_id,contract_no,contract_name')->where('id',$data['subcontracting_contract_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); @@ -140,10 +140,39 @@ class SubcontractingContractNegotiationLogic extends BaseLogic $data['project_code'] = $project['project_code']; $data['project_name'] = $project['name']; $data['negotiation_type_text'] = $data->negotiation_type_text; - $approve_info = FlowApprove::field('id')->where('content_id',$params['id']) - ->where('content_model','app\common\model\contract\SubcontractingContractNegotiation') - ->where('content_logic','app\adminapi\logic\contract\SubcontractingContractNegotiationLogic')->findOrEmpty(); - $data['approve_id'] = $approve_info['id']; + $approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); + $data['approve_check_status'] = $approve_data['check_status']; return $data->toArray(); } + + public static function approve($params,$admin_id): bool{ + $data = SubcontractingContractNegotiation::where('id',$params['id'])->findOrEmpty(); + $approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); + if(!empty($data['approve_id']) && $approve_data['check_status'] != 3){ + self::setError('当前内容存在审核信息,请勿重复提交'); + return false; + } + Db::startTrans(); + try { + $res = addApprove( + '分包合同洽商', + $params['id'], + 'app\common\model\contract\SubcontractingContractNegotiation', + $params['path'], + $params['flow_id'], + $admin_id + ); + if($res){ + SubcontractingContractNegotiation::where('id',$params['id'])->update([ + 'approve_id' => $res, + ]); + } + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } } \ No newline at end of file diff --git a/app/adminapi/validate/contract/ContractNegotiationValidate.php b/app/adminapi/validate/contract/ContractNegotiationValidate.php index 1d0bc3cab..a289e111b 100644 --- a/app/adminapi/validate/contract/ContractNegotiationValidate.php +++ b/app/adminapi/validate/contract/ContractNegotiationValidate.php @@ -16,6 +16,7 @@ namespace app\adminapi\validate\contract; use app\common\model\contract\Contract; +use app\common\model\contract\ContractNegotiation; use app\common\model\dept\Dept; use app\common\model\dept\Orgs; use app\common\model\dict\DictData; @@ -35,7 +36,7 @@ class ContractNegotiationValidate extends BaseValidate * @var string[] */ protected $rule = [ - 'id' => 'require', + 'id' => 'require|checkData', 'org_id' => 'require|checkOrg', 'dept_id' => 'require|checkDept', 'contract_id' => 'require|checkContract', @@ -48,6 +49,8 @@ class ContractNegotiationValidate extends BaseValidate 'warranty_expire_date' => 'dateFormat:Y-m-d', 'negotiation_quotation' => 'checkAnnex', 'negotiation_basis' => 'checkAnnex', + 'flow_id' => 'require|checkFlow', + 'path' => 'require', ]; protected $message = [ @@ -78,7 +81,7 @@ class ContractNegotiationValidate extends BaseValidate */ public function sceneAdd() { - return $this->remove('id', true); + return $this->remove('id', true)->remove('flow_id',true)->remove('path',true); } @@ -89,7 +92,9 @@ class ContractNegotiationValidate extends BaseValidate * @date 2023/12/04 21:26 */ public function sceneEdit() - {} + { + return $this->remove('flow_id',true)->remove('path',true); + } /** @@ -115,6 +120,20 @@ class ContractNegotiationValidate extends BaseValidate return $this->only(['id']); } + public function sceneApprove() + { + return $this->only(['id','flow_id','path']); + } + + public function checkData($value): bool|string + { + $data = ContractNegotiation::where('id',$value)->findOrEmpty(); + if($data->isEmpty()){ + return '数据不存在'; + } + return true; + } + public function checkOrg($value): bool|string { $org = Orgs::where('id',$value)->findOrEmpty(); diff --git a/app/adminapi/validate/contract/ContractValidate.php b/app/adminapi/validate/contract/ContractValidate.php index 704d1cc58..73d85042c 100644 --- a/app/adminapi/validate/contract/ContractValidate.php +++ b/app/adminapi/validate/contract/ContractValidate.php @@ -17,6 +17,7 @@ namespace app\adminapi\validate\contract; use app\common\model\auth\Admin; use app\common\model\bid\BidBuyBiddingDocument; +use app\common\model\contract\Contract; use app\common\model\custom\Custom; use app\common\model\dept\Dept; use app\common\model\dept\Orgs; @@ -39,7 +40,7 @@ class ContractValidate extends BaseValidate * @var string[] */ protected $rule = [ - 'id' => 'require', + 'id' => 'require|checkData', 'org_id' => 'require|checkOrg', 'dept_id' => 'require|checkDept', 'custom_id' => 'require|checkCustom', @@ -57,7 +58,9 @@ class ContractValidate extends BaseValidate 'expire' => 'require|dateFormat:Y-m-d', 'contract_date' => 'require|dateFormat:Y-m-d', 'annex' => 'checkAnnex', - 'returned_money' => 'require|checkReturnedMoney' + 'returned_money' => 'require|checkReturnedMoney', + 'flow_id' => 'require|checkFlow', + 'path' => 'require', ]; @@ -99,7 +102,7 @@ class ContractValidate extends BaseValidate */ public function sceneAdd() { - return $this->remove('id', true); + return $this->remove('id', true)->remove('flow_id',true)->remove('path',true); } @@ -110,7 +113,9 @@ class ContractValidate extends BaseValidate * @date 2023/12/02 17:19 */ public function sceneEdit() - {} + { + return $this->remove('flow_id',true)->remove('path',true); + } /** @@ -136,6 +141,20 @@ class ContractValidate extends BaseValidate return $this->only(['id']); } + public function sceneApprove() + { + return $this->only(['id','flow_id','path']); + } + + public function checkData($value): bool|string + { + $data = Contract::where('id',$value)->findOrEmpty(); + if($data->isEmpty()){ + return '数据不存在'; + } + return true; + } + public function checkOrg($value): bool|string { $org = Orgs::where('id',$value)->findOrEmpty(); diff --git a/app/adminapi/validate/contract/ProcurementContractValidate.php b/app/adminapi/validate/contract/ProcurementContractValidate.php index 56bffccc6..8667ec007 100644 --- a/app/adminapi/validate/contract/ProcurementContractValidate.php +++ b/app/adminapi/validate/contract/ProcurementContractValidate.php @@ -15,6 +15,7 @@ namespace app\adminapi\validate\contract; +use app\common\model\contract\ProcurementContract; use app\common\model\contract\ProcurementContractDetail; use app\common\model\dept\Dept; use app\common\model\dept\Orgs; @@ -39,7 +40,7 @@ class ProcurementContractValidate extends BaseValidate * @var string[] */ protected $rule = [ - 'id' => 'require', + 'id' => 'require|checkData', 'org_id' => 'require|checkOrg', 'dept_id' => 'require|checkDept', 'supplier_id' => 'require|checkSupplier', @@ -52,7 +53,9 @@ class ProcurementContractValidate extends BaseValidate 'retention_money_rate' => 'require|float|egt:0', 'annex' => 'checkAnnex', 'procurement_contract_detail' => 'require|checkProcurementContractDetail', - 'payment_plan' => 'require|checkPaymentPlan' + 'payment_plan' => 'require|checkPaymentPlan', + 'flow_id' => 'require|checkFlow', + 'path' => 'require', ]; @@ -88,7 +91,7 @@ class ProcurementContractValidate extends BaseValidate */ public function sceneAdd() { - return $this->remove('id', true); + return $this->remove('id', true)->remove('flow_id',true)->remove('path',true); } @@ -99,7 +102,9 @@ class ProcurementContractValidate extends BaseValidate * @date 2023/12/04 22:08 */ public function sceneEdit() - {} + { + return $this->remove('flow_id',true)->remove('path',true); + } /** @@ -125,6 +130,20 @@ class ProcurementContractValidate extends BaseValidate return $this->only(['id']); } + public function sceneApprove() + { + return $this->only(['id','flow_id','path']); + } + + public function checkData($value): bool|string + { + $data = ProcurementContract::where('id',$value)->findOrEmpty(); + if($data->isEmpty()){ + return '数据不存在'; + } + return true; + } + public function checkOrg($value): bool|string { $org = Orgs::where('id',$value)->findOrEmpty(); diff --git a/app/adminapi/validate/contract/SubcontractingContractNegotiationValidate.php b/app/adminapi/validate/contract/SubcontractingContractNegotiationValidate.php index da71d4a6c..ee87cbf85 100644 --- a/app/adminapi/validate/contract/SubcontractingContractNegotiationValidate.php +++ b/app/adminapi/validate/contract/SubcontractingContractNegotiationValidate.php @@ -16,6 +16,7 @@ namespace app\adminapi\validate\contract; use app\common\model\contract\SubcontractingContract; +use app\common\model\contract\SubcontractingContractNegotiation; use app\common\model\dict\DictData; use app\common\validate\BaseValidate; @@ -33,7 +34,7 @@ class SubcontractingContractNegotiationValidate extends BaseValidate * @var string[] */ protected $rule = [ - 'id' => 'require', + 'id' => 'require|checkData', 'subcontracting_contract_id' => 'require|checkSubcontractingContract', 'sign_date' => 'require|dateFormat:Y-m-d', 'negotiation_name' => 'require', @@ -43,6 +44,8 @@ class SubcontractingContractNegotiationValidate extends BaseValidate 'warranty_expire_date' => 'dateFormat:Y-m-d', 'negotiation_quotation' => 'checkAnnex', 'negotiation_basis' => 'checkAnnex', + 'flow_id' => 'require|checkFlow', + 'path' => 'require', ]; @@ -70,7 +73,7 @@ class SubcontractingContractNegotiationValidate extends BaseValidate */ public function sceneAdd() { - return $this->remove('id', true); + return $this->remove('id', true)->remove('flow_id',true)->remove('path',true); } /** @@ -80,7 +83,9 @@ class SubcontractingContractNegotiationValidate extends BaseValidate * @date 2023/12/12 17:21 */ public function sceneEdit() - {} + { + return $this->remove('flow_id',true)->remove('path',true); + } /** @@ -106,6 +111,20 @@ class SubcontractingContractNegotiationValidate extends BaseValidate return $this->only(['id']); } + public function sceneApprove() + { + return $this->only(['id','flow_id','path']); + } + + public function checkData($value): bool|string + { + $data = SubcontractingContractNegotiation::where('id',$value)->findOrEmpty(); + if($data->isEmpty()){ + return '数据不存在'; + } + return true; + } + public function checkSubcontractingContract($value): bool|string { $data = SubcontractingContract::where('id',$value)->findOrEmpty(); diff --git a/app/adminapi/validate/contract/SubcontractingContractValidate.php b/app/adminapi/validate/contract/SubcontractingContractValidate.php index ef71d89c0..e0ec463b8 100644 --- a/app/adminapi/validate/contract/SubcontractingContractValidate.php +++ b/app/adminapi/validate/contract/SubcontractingContractValidate.php @@ -14,6 +14,7 @@ namespace app\adminapi\validate\contract; +use app\common\model\contract\SubcontractingContract; use app\common\model\contract\SubcontractingContractDetail; use app\common\model\dept\Dept; use app\common\model\dept\Orgs; @@ -38,7 +39,7 @@ class SubcontractingContractValidate extends BaseValidate * @var string[] */ protected $rule = [ - 'id' => 'require', + 'id' => 'require|checkData', 'org_id' => 'require|checkOrg', 'dept_id' => 'require|checkDept', 'supplier_id' => 'require|checkSupplier', @@ -51,7 +52,9 @@ class SubcontractingContractValidate extends BaseValidate 'retention_money_rate' => 'require|float|egt:0', 'annex' => 'checkAnnex', 'subcontracting_contract_detail' => 'require|checkSubcontractingContractDetail', - 'payment_plan' => 'require|checkPaymentPlan' + 'payment_plan' => 'require|checkPaymentPlan', + 'flow_id' => 'require|checkFlow', + 'path' => 'require', ]; protected $message = [ @@ -82,7 +85,7 @@ class SubcontractingContractValidate extends BaseValidate */ public function sceneAdd() { - return $this->remove('id', true); + return $this->remove('id', true)->remove('flow_id',true)->remove('path',true); } @@ -93,7 +96,9 @@ class SubcontractingContractValidate extends BaseValidate * @date 2023/12/12 17:15 */ public function sceneEdit() - {} + { + return $this->remove('flow_id',true)->remove('path',true); + } /** @@ -119,6 +124,20 @@ class SubcontractingContractValidate extends BaseValidate return $this->only(['id']); } + public function sceneApprove() + { + return $this->only(['id','flow_id','path']); + } + + public function checkData($value): bool|string + { + $data = SubcontractingContract::where('id',$value)->findOrEmpty(); + if($data->isEmpty()){ + return '数据不存在'; + } + return true; + } + public function checkOrg($value): bool|string { $org = Orgs::where('id',$value)->findOrEmpty();