From 59516e0330f8fbd8194c95f0c0f846e45163e439 Mon Sep 17 00:00:00 2001 From: weiz <736250432@qq.com> Date: Thu, 21 Mar 2024 17:59:28 +0800 Subject: [PATCH] update --- .../SubcontractingContractValidate.php | 464 +++++++++--------- 1 file changed, 232 insertions(+), 232 deletions(-) diff --git a/app/adminapi/validate/contract/SubcontractingContractValidate.php b/app/adminapi/validate/contract/SubcontractingContractValidate.php index 09b48d98d..3dbdbf3ad 100644 --- a/app/adminapi/validate/contract/SubcontractingContractValidate.php +++ b/app/adminapi/validate/contract/SubcontractingContractValidate.php @@ -11,249 +11,249 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\validate\contract; - -use app\common\model\contract\SubcontractingContract; -use app\common\model\contract\SubcontractingContractDetail; -use app\common\model\dict\DictData; -use app\common\model\finance\FinancePaymentPlan; -use app\common\model\project\Project; -use app\common\model\project\ProjectSubpackageBudgetDetail; -use app\common\model\supplier\Supplier; -use app\common\validate\BaseValidate; - - -/** - * SubcontractingContract验证器 - * Class SubcontractingContractValidate - * @package app\adminapi\validate\contract - */ -class SubcontractingContractValidate extends BaseValidate -{ - - /** - * 设置校验规则 - * @var string[] - */ - protected $rule = [ - 'id' => 'require|checkData', - 'supplier_id' => 'require|checkSupplier', - 'project_id' => 'require|checkProject', - 'contract_name' => 'require', - 'contract_type' => 'require|checkContractType', - 'signing_date' => 'require|dateFormat:Y-m-d', - 'pay_type' => 'require|checkPayType', - 'account_period' => 'require|checkAccountPeriod', - 'retention_money_rate' => 'require|float|egt:0', - 'annex' => 'checkAnnex', - 'subcontracting_contract_detail' => 'require|checkSubcontractingContractDetail', - 'payment_plan' => 'require|checkPaymentPlan', - 'flow_id' => 'require|checkFlow', - 'path' => 'require', - ]; - protected $message = [ - 'id.require' => '缺少必要参数', - 'supplier_id.require' => '请选择供应商', - 'project_id.require' => '请选择项目', - 'contract_name.require' => '请填写合同名称', - 'contract_type.require' => '请选择合同类型', - 'signing_date.require' => '请选择签约日期', - 'signing_date.dateFormat' => '签约日期数据格式错误', - 'pay_type.require' => '请选择付款方式', - 'account_period.require' => '请选择账期', - 'retention_money_rate.require' => '请填写质保金比例', - 'retention_money_rate.float' => '质保金比例值必须是数字', - 'retention_money_rate.egt' => '质保金比例值必须大于等于0', - 'subcontracting_contract_detail.require' => '分包合同明细不能为空', - 'payment_plan.require' => '付款计划不能为空' - ]; - - - /** - * @notes 添加场景 - * @return SubcontractingContractValidate - * @author likeadmin - * @date 2023/12/12 17:15 - */ - public function sceneAdd() - { - return $this->remove('id', true)->remove('flow_id',true)->remove('path',true); - } - - - /** - * @notes 编辑场景 - * @return SubcontractingContractValidate - * @author likeadmin - * @date 2023/12/12 17:15 - */ - public function sceneEdit() - { - return $this->remove('flow_id',true)->remove('path',true); - } - - - /** - * @notes 删除场景 - * @return SubcontractingContractValidate - * @author likeadmin - * @date 2023/12/12 17:15 - */ - public function sceneDelete() - { - return $this->only(['id'])->remove('id','checkData'); - } - - - /** - * @notes 详情场景 - * @return SubcontractingContractValidate - * @author likeadmin - * @date 2023/12/12 17:15 - */ - public function sceneDetail() - { - return $this->only(['id']); - } + namespace app\adminapi\validate\contract; - public function sceneApprove() + use app\common\model\contract\SubcontractingContract; + use app\common\model\contract\SubcontractingContractDetail; + use app\common\model\dict\DictData; + use app\common\model\finance\FinancePaymentPlan; + use app\common\model\project\Project; + use app\common\model\project\ProjectSubpackageBudgetDetail; + use app\common\model\supplier\Supplier; + use app\common\validate\BaseValidate; + + + /** + * SubcontractingContract验证器 + * Class SubcontractingContractValidate + * @package app\adminapi\validate\contract + */ + class SubcontractingContractValidate extends BaseValidate { - return $this->only(['id','flow_id','path']); - } - - public function checkData($value): bool|string - { - $data = SubcontractingContract::where('id',$value)->findOrEmpty(); - if($data->isEmpty()){ - return '数据不存在'; + + /** + * 设置校验规则 + * @var string[] + */ + protected $rule = [ + 'id' => 'require|checkData', + 'supplier_id' => 'require|checkSupplier', + 'project_id' => 'require|checkProject', + 'contract_name' => 'require', + 'contract_type' => 'require|checkContractType', + 'signing_date' => 'require|dateFormat:Y-m-d', + 'pay_type' => 'require|checkPayType', + 'account_period' => 'require|checkAccountPeriod', + 'retention_money_rate' => 'require|float|egt:0', + 'annex' => 'checkAnnex', + 'subcontracting_contract_detail' => 'checkSubcontractingContractDetail', + 'payment_plan' => 'checkPaymentPlan', + 'flow_id' => 'require|checkFlow', + 'path' => 'require', + ]; + + protected $message = [ + 'id.require' => '缺少必要参数', + 'supplier_id.require' => '请选择供应商', + 'project_id.require' => '请选择项目', + 'contract_name.require' => '请填写合同名称', + 'contract_type.require' => '请选择合同类型', + 'signing_date.require' => '请选择签约日期', + 'signing_date.dateFormat' => '签约日期数据格式错误', + 'pay_type.require' => '请选择付款方式', + 'account_period.require' => '请选择账期', + 'retention_money_rate.require' => '请填写质保金比例', + 'retention_money_rate.float' => '质保金比例值必须是数字', + 'retention_money_rate.egt' => '质保金比例值必须大于等于0', + 'subcontracting_contract_detail.require' => '分包合同明细不能为空', + 'payment_plan.require' => '付款计划不能为空' + ]; + + + /** + * @notes 添加场景 + * @return SubcontractingContractValidate + * @author likeadmin + * @date 2023/12/12 17:15 + */ + public function sceneAdd() + { + return $this->remove('id', true)->remove('flow_id', true)->remove('path', true); } - return true; - } - - public function checkSupplier($value): bool|string - { - $supplier = Supplier::where('id',$value)->findOrEmpty(); - if($supplier->isEmpty()){ - return '供应商信息不存在'; + + + /** + * @notes 编辑场景 + * @return SubcontractingContractValidate + * @author likeadmin + * @date 2023/12/12 17:15 + */ + public function sceneEdit() + { + return $this->remove('flow_id', true)->remove('path', true); } - return true; - } - - public function checkProject($value): bool|string - { - $project = Project::where('id',$value)->findOrEmpty(); - if($project->isEmpty()){ - return '项目信息不存在'; + + + /** + * @notes 删除场景 + * @return SubcontractingContractValidate + * @author likeadmin + * @date 2023/12/12 17:15 + */ + public function sceneDelete() + { + return $this->only(['id'])->remove('id', 'checkData'); } - return true; - } - - public function checkContractType($value): bool|string - { - $dict = DictData::where('type_value','divide_contract_type')->column('value'); - if(!in_array($value,$dict)){ - return '合同类型无效'; + + + /** + * @notes 详情场景 + * @return SubcontractingContractValidate + * @author likeadmin + * @date 2023/12/12 17:15 + */ + public function sceneDetail() + { + return $this->only(['id']); } - return true; - } - - public function checkPayType($value): bool|string - { - $dict = DictData::where('type_value','pay_type')->column('value'); - if(!in_array($value,$dict)){ - return '付款方式无效'; + + public function sceneApprove() + { + return $this->only(['id', 'flow_id', 'path']); } - return true; - } - - public function checkAccountPeriod($value): bool|string - { - $dict = DictData::where('type_value','account_period')->column('value'); - if(!in_array($value,$dict)){ - return '账期无效'; + + public function checkData($value): bool|string + { + $data = SubcontractingContract::where('id', $value)->findOrEmpty(); + if ($data->isEmpty()) { + return '数据不存在'; + } + return true; } - return true; - } - - public function checkSubcontractingContractDetail($value): bool|string - { - if(!empty($value) && !is_array($value)){ - return '分包合同明细数据格式错误'; + + public function checkSupplier($value): bool|string + { + $supplier = Supplier::where('id', $value)->findOrEmpty(); + if ($supplier->isEmpty()) { + return '供应商信息不存在'; + } + return true; } - foreach($value as $v) { - if(isset($v['id']) && $v['id'] != ''){ - $data_detail = SubcontractingContractDetail::where('id',$v['id'])->findOrEmpty(); - if($data_detail->isEmpty()){ - return '分包合同明细信息不存在'; - } - } - if(empty($v['subpackage_budget_detail_id'])){ - return '请选择分包预算明细信息'; - }else{ - $subcontracting_budget_detail = ProjectSubpackageBudgetDetail::where('id',$v['subpackage_budget_detail_id'])->findOrEmpty(); - if($subcontracting_budget_detail->isEmpty()){ - return '分包预算明细信息不存在'; - } - } - if(empty($v['num'])){ - return '工作量不能为空'; - }else{ - if(!is_numeric($v['num']) || $v['num'] <= 0){ - return '工作量必须是大于0的数字'; - } - } - if(empty($v['price'])){ - return '含税单价不能为空'; - }else{ - if(!is_numeric($v['price']) || $v['price'] <= 0){ - return '含税单价必须是大于0的数字'; - } - } - if(empty($v['tax_rate'])){ - return '请选择税率'; - }else{ - $dict = DictData::where('type_value','tax_rate')->column('value'); - if(!in_array($v['tax_rate'],$dict)){ - return '税率无效'; + + public function checkProject($value): bool|string + { + $project = Project::where('id', $value)->findOrEmpty(); + if ($project->isEmpty()) { + return '项目信息不存在'; + } + return true; + } + + public function checkContractType($value): bool|string + { + $dict = DictData::where('type_value', 'divide_contract_type')->column('value'); + if (!in_array($value, $dict)) { + return '合同类型无效'; + } + return true; + } + + public function checkPayType($value): bool|string + { + $dict = DictData::where('type_value', 'pay_type')->column('value'); + if (!in_array($value, $dict)) { + return '付款方式无效'; + } + return true; + } + + public function checkAccountPeriod($value): bool|string + { + $dict = DictData::where('type_value', 'account_period')->column('value'); + if (!in_array($value, $dict)) { + return '账期无效'; + } + return true; + } + + public function checkSubcontractingContractDetail($value): bool|string + { + if (!empty($value) && !is_array($value)) { + return '分包合同明细数据格式错误'; + } + foreach ($value as $v) { + if (isset($v['id']) && $v['id'] != '') { + $data_detail = SubcontractingContractDetail::where('id', $v['id'])->findOrEmpty(); + if ($data_detail->isEmpty()) { + return '分包合同明细信息不存在'; + } + } + if (empty($v['subpackage_budget_detail_id'])) { + return '请选择分包预算明细信息'; + } else { + $subcontracting_budget_detail = ProjectSubpackageBudgetDetail::where('id', $v['subpackage_budget_detail_id'])->findOrEmpty(); + if ($subcontracting_budget_detail->isEmpty()) { + return '分包预算明细信息不存在'; + } + } + if (empty($v['num'])) { + return '工作量不能为空'; + } else { + if (!is_numeric($v['num']) || $v['num'] <= 0) { + return '工作量必须是大于0的数字'; + } + } + if (empty($v['price'])) { + return '含税单价不能为空'; + } else { + if (!is_numeric($v['price']) || $v['price'] <= 0) { + return '含税单价必须是大于0的数字'; + } + } + if (empty($v['tax_rate'])) { + return '请选择税率'; + } else { + $dict = DictData::where('type_value', 'tax_rate')->column('value'); + if (!in_array($v['tax_rate'], $dict)) { + return '税率无效'; + } } } + return true; } - return true; - } - - public function checkPaymentPlan($value): bool|string - { - if(!empty($value) && !is_array($value)){ - return '付款计划据格式错误'; + + public function checkPaymentPlan($value): bool|string + { + if (!empty($value) && !is_array($value)) { + return '付款计划据格式错误'; + } + foreach ($value as $v) { + if (isset($v['id']) && $v['id'] != '') { + $data_detail = FinancePaymentPlan::where('id', $v['id'])->findOrEmpty(); + if ($data_detail->isEmpty()) { + return '付款计划信息不存在'; + } + } + if (empty($v['period'])) { + return '请选择期次'; + } else { + $dict = DictData::where('type_value', 'pay_period')->column('value'); + if (!in_array($v['period'], $dict)) { + return '期次无效'; + } + } + if (empty($v['pay_date'])) { + return '请选择计划付款日期'; + } + if (empty($v['amount'])) { + return '金额不能为空'; + } else { + if (!is_numeric($v['amount']) || $v['amount'] <= 0) { + return '金额必须是大于0的数字'; + } + } + } + return true; } - foreach($value as $v) { - if(isset($v['id']) && $v['id'] != ''){ - $data_detail = FinancePaymentPlan::where('id',$v['id'])->findOrEmpty(); - if($data_detail->isEmpty()){ - return '付款计划信息不存在'; - } - } - if(empty($v['period'])){ - return '请选择期次'; - }else{ - $dict = DictData::where('type_value','pay_period')->column('value'); - if(!in_array($v['period'],$dict)){ - return '期次无效'; - } - } - if(empty($v['pay_date'])){ - return '请选择计划付款日期'; - } - if(empty($v['amount'])){ - return '金额不能为空'; - }else{ - if(!is_numeric($v['amount']) || $v['amount'] <= 0){ - return '金额必须是大于0的数字'; - } - } - } - return true; - } -} \ No newline at end of file + } \ No newline at end of file