diff --git a/app/adminapi/controller/financial/FinancialUsingFundsController.php b/app/adminapi/controller/financial/FinancialUsingFundsController.php new file mode 100644 index 000000000..956486309 --- /dev/null +++ b/app/adminapi/controller/financial/FinancialUsingFundsController.php @@ -0,0 +1,111 @@ +dataLists(new FinancialUsingFundsLists()); + } + + + /** + * @notes 添加财务管理--用款申请单 + * @return \think\response\Json + * @author likeadmin + * @date 2024/03/29 09:29 + */ + public function add() + { + $params = (new FinancialUsingFundsValidate())->post()->goCheck('add'); + $result = FinancialUsingFundsLogic::add($params); + if (true === $result) { + return $this->success('添加成功', [], 1, 1); + } + return $this->fail(FinancialUsingFundsLogic::getError()); + } + + + /** + * @notes 编辑财务管理--用款申请单 + * @return \think\response\Json + * @author likeadmin + * @date 2024/03/29 09:29 + */ + public function edit() + { + $params = (new FinancialUsingFundsValidate())->post()->goCheck('edit'); + $result = FinancialUsingFundsLogic::edit($params); + if (true === $result) { + return $this->success('编辑成功', [], 1, 1); + } + return $this->fail(FinancialUsingFundsLogic::getError()); + } + + + /** + * @notes 删除财务管理--用款申请单 + * @return \think\response\Json + * @author likeadmin + * @date 2024/03/29 09:29 + */ + public function delete() + { + $params = (new FinancialUsingFundsValidate())->post()->goCheck('delete'); + $result = FinancialUsingFundsLogic::delete($params); + if (true === $result) { + return $this->success('删除成功', [], 1, 1); + } + return $this->fail(FinancialUsingFundsLogic::getError()); + } + + + /** + * @notes 获取财务管理--用款申请单详情 + * @return \think\response\Json + * @author likeadmin + * @date 2024/03/29 09:29 + */ + public function detail() + { + $params = (new FinancialUsingFundsValidate())->goCheck('detail'); + $result = FinancialUsingFundsLogic::detail($params); + return $this->data($result); + } + + + } \ No newline at end of file diff --git a/app/adminapi/controller/financial/FinancialUsingFundsDetailController.php b/app/adminapi/controller/financial/FinancialUsingFundsDetailController.php new file mode 100644 index 000000000..b3a9ad8a9 --- /dev/null +++ b/app/adminapi/controller/financial/FinancialUsingFundsDetailController.php @@ -0,0 +1,108 @@ +dataLists(new FinancialUsingFundsDetailLists()); + } + + + /** + * @notes 添加财务管理--用款申请单--申请明细 + * @return \think\response\Json + * @author likeadmin + * @date 2024/03/29 09:29 + */ + public function add() + { + $params = (new FinancialUsingFundsDetailValidate())->post()->goCheck('add'); + $result = FinancialUsingFundsDetailLogic::add($params); + if (true === $result) { + return $this->success('添加成功', [], 1, 1); + } + return $this->fail(FinancialUsingFundsDetailLogic::getError()); + } + + + /** + * @notes 编辑财务管理--用款申请单--申请明细 + * @return \think\response\Json + * @author likeadmin + * @date 2024/03/29 09:29 + */ + public function edit() + { + $params = (new FinancialUsingFundsDetailValidate())->post()->goCheck('edit'); + $result = FinancialUsingFundsDetailLogic::edit($params); + if (true === $result) { + return $this->success('编辑成功', [], 1, 1); + } + return $this->fail(FinancialUsingFundsDetailLogic::getError()); + } + + + /** + * @notes 删除财务管理--用款申请单--申请明细 + * @return \think\response\Json + * @author likeadmin + * @date 2024/03/29 09:29 + */ + public function delete() + { + $params = (new FinancialUsingFundsDetailValidate())->post()->goCheck('delete'); + FinancialUsingFundsDetailLogic::delete($params); + return $this->success('删除成功', [], 1, 1); + } + + + /** + * @notes 获取财务管理--用款申请单--申请明细详情 + * @return \think\response\Json + * @author likeadmin + * @date 2024/03/29 09:29 + */ + public function detail() + { + $params = (new FinancialUsingFundsDetailValidate())->goCheck('detail'); + $result = FinancialUsingFundsDetailLogic::detail($params); + return $this->data($result); + } + + +} \ No newline at end of file diff --git a/app/adminapi/lists/financial/FinancialExpenseReimbursementDetailLists.php b/app/adminapi/lists/financial/FinancialExpenseReimbursementDetailLists.php index 50545bbbd..ad6564d47 100644 --- a/app/adminapi/lists/financial/FinancialExpenseReimbursementDetailLists.php +++ b/app/adminapi/lists/financial/FinancialExpenseReimbursementDetailLists.php @@ -40,7 +40,6 @@ { return [ '=' => ['expense_reimbursement_id'], - ]; } diff --git a/app/adminapi/lists/financial/FinancialUsingFundsDetailLists.php b/app/adminapi/lists/financial/FinancialUsingFundsDetailLists.php new file mode 100644 index 000000000..25cb6d2b5 --- /dev/null +++ b/app/adminapi/lists/financial/FinancialUsingFundsDetailLists.php @@ -0,0 +1,82 @@ + ['using_funds_id'], + ]; + } + + + /** + * @notes 获取财务管理--用款申请单--申请明细列表 + * @return array + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + * @author likeadmin + * @date 2024/03/29 09:29 + */ + public function lists(): array + { + return FinancialUsingFundsDetail::where($this->searchWhere) + ->field(['id', 'using_funds_id', 'dept_id', 'date', 'subject_name', 'amount', 'abstract', 'invoice']) + ->limit($this->limitOffset, $this->limitLength) + ->order(['id' => 'desc']) + ->select()->each(function ($data) { + $dept = Dept::field('name')->where('id', $data['dept_id'])->findOrEmpty(); + $data['dept_name'] = $dept['name']; + $data['subject_name_text'] = $data->subject_name_text; + }) + ->toArray(); + } + + + /** + * @notes 获取财务管理--用款申请单--申请明细数量 + * @return int + * @author likeadmin + * @date 2024/03/29 09:29 + */ + public function count(): int + { + return FinancialUsingFundsDetail::where($this->searchWhere)->count(); + } + + } \ No newline at end of file diff --git a/app/adminapi/lists/financial/FinancialUsingFundsLists.php b/app/adminapi/lists/financial/FinancialUsingFundsLists.php new file mode 100644 index 000000000..b58330c2b --- /dev/null +++ b/app/adminapi/lists/financial/FinancialUsingFundsLists.php @@ -0,0 +1,99 @@ + ['approve_dept', 'cost_type', 'pay_type'], + '%like%' => ['code', 'accept_company', 'create_user'], + ]; + } + + + /** + * @notes 获取财务管理--用款申请单列表 + * @return array + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + * @author likeadmin + * @date 2024/03/29 09:29 + */ + public function lists(): array + { + $params = $this->request->get(); + $where = []; + if (!empty($params['create_time'])) { + $date = explode(',', $params['create_time']); + $where[] = ['create_time', 'between', [strtotime($date[0] . ' 00:00:00'), strtotime($date[1] . ' 23:59:59')]]; + } + return FinancialUsingFunds::withoutField('update_time,delete_time')->where($this->searchWhere)->where($where) + ->limit($this->limitOffset, $this->limitLength) + ->order(['id' => 'desc']) + ->select()->each(function ($data) { + $dept = Dept::field('name')->where('id', $data['approve_dept'])->findOrEmpty(); + $contract = CostApprovedProject::field('contract_name,money')->where('id', $data['contract_id'])->findOrEmpty(); + $data['approve_dept_name'] = $dept['name']; + $data['contract_name'] = !$contract->isEmpty() ? $contract['contract_name'] : ''; + $data['contract_money'] = !$contract->isEmpty() ? $contract['money'] : ''; + $data['pay_type_text'] = $data->pay_type_text; + $data['cost_type_text'] = $data->cost_type_text; + }) + ->toArray(); + } + + + /** + * @notes 获取财务管理--用款申请单数量 + * @return int + * @author likeadmin + * @date 2024/03/29 09:29 + */ + public function count(): int + { + $params = $this->request->get(); + $where = []; + if (!empty($params['create_time'])) { + $date = explode(',', $params['create_time']); + $where[] = ['create_time', 'between', [strtotime($date[0] . ' 00:00:00'), strtotime($date[1] . ' 23:59:59')]]; + } + return FinancialUsingFunds::where($this->searchWhere)->where($where)->count(); + } + + } \ No newline at end of file diff --git a/app/adminapi/logic/financial/FinancialUsingFundsDetailLogic.php b/app/adminapi/logic/financial/FinancialUsingFundsDetailLogic.php new file mode 100644 index 000000000..2b0f7e629 --- /dev/null +++ b/app/adminapi/logic/financial/FinancialUsingFundsDetailLogic.php @@ -0,0 +1,122 @@ + $params['using_funds_id'], + 'dept_id' => $params['dept_id'], + 'date' => !empty($params['date']) ? strtotime($params['date']) : 0, + 'subject_name' => $params['subject_name'], + 'amount' => $params['amount'], + 'abstract' => $params['abstract'] ?? '', + 'invoice' => $params['invoice'] ?? '', + ]); + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 编辑财务管理--用款申请单--申请明细 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/03/29 09:29 + */ + public static function edit(array $params): bool + { + Db::startTrans(); + try { + FinancialUsingFundsDetail::where('id', $params['id'])->update([ + 'using_funds_id' => $params['using_funds_id'], + 'dept_id' => $params['dept_id'], + 'date' => !empty($params['date']) ? strtotime($params['date']) : 0, + 'subject_name' => $params['subject_name'], + 'amount' => $params['amount'], + 'abstract' => $params['abstract'] ?? '', + 'invoice' => $params['invoice'] ?? '', + 'update_time' => time(), + ]); + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 删除财务管理--用款申请单--申请明细 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/03/29 09:29 + */ + public static function delete(array $params): bool + { + return FinancialUsingFundsDetail::destroy($params['id']); + } + + + /** + * @notes 获取财务管理--用款申请单--申请明细详情 + * @param $params + * @return array + * @author likeadmin + * @date 2024/03/29 09:29 + */ + public static function detail($params): array + { + $data = FinancialUsingFundsDetail::withoutField('create_time,update_time,delete_time')->findOrEmpty($params['id']); + $dept = Dept::field('name')->where('id', $data['dept_id'])->findOrEmpty(); + $data['dept_name'] = $dept['name']; + $data['subject_name_text'] = $data->subject_name_text; + return $data->toArray(); + } + } \ No newline at end of file diff --git a/app/adminapi/logic/financial/FinancialUsingFundsLogic.php b/app/adminapi/logic/financial/FinancialUsingFundsLogic.php new file mode 100644 index 000000000..4118a7aea --- /dev/null +++ b/app/adminapi/logic/financial/FinancialUsingFundsLogic.php @@ -0,0 +1,199 @@ + data_unique_code('YKSQ'), + 'approve_dept' => $params['approve_dept'], + 'cost_type' => $params['cost_type'], + 'pay_type' => $params['pay_type'], + 'pay_reason' => $params['pay_reason'], + 'contract_id' => $params['contract_id'] ?? 0, + 'has_pay_amount' => $params['has_pay_amount'] ?? 0, + 'this_pay_amount' => $params['this_pay_amount'] ?? 0, + 'accept_company' => $params['accept_company'], + 'accept_acount' => $params['accept_acount'], + 'province' => $params['province'] ?? '', + 'city' => $params['city'] ?? '', + 'accept_bank' => $params['accept_bank'], + 'accept_deposit' => $params['accept_deposit'], + 'bill_num' => $params['bill_num'] ?? 0, + 'content' => $params['content'], + 'create_user' => $params['create_user'], + 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), + ]); + if (!empty($params['detail'])) { + foreach ($params['detail'] as $v) { + FinancialUsingFundsDetail::create([ + 'using_funds_id' => $res->id, + 'dept_id' => $v['dept_id'], + 'date' => !empty($v['date']) ? strtotime($v['date']) : 0, + 'subject_name' => $v['subject_name'], + 'amount' => $v['amount'], + 'abstract' => $v['abstract'] ?? '', + 'invoice' => $v['invoice'] ?? '', + ]); + } + } + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 编辑财务管理--用款申请单 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/03/29 09:29 + */ + public static function edit(array $params): bool + { + Db::startTrans(); + try { + FinancialUsingFunds::where('id', $params['id'])->update([ + 'approve_dept' => $params['approve_dept'], + 'cost_type' => $params['cost_type'], + 'pay_type' => $params['pay_type'], + 'pay_reason' => $params['pay_reason'], + 'contract_id' => $params['contract_id'] ?? 0, + 'has_pay_amount' => $params['has_pay_amount'] ?? 0, + 'this_pay_amount' => $params['this_pay_amount'] ?? 0, + 'accept_company' => $params['accept_company'], + 'accept_acount' => $params['accept_acount'], + 'province' => $params['province'] ?? '', + 'city' => $params['city'] ?? '', + 'accept_bank' => $params['accept_bank'], + 'accept_deposit' => $params['accept_deposit'], + 'bill_num' => $params['bill_num'] ?? 0, + 'content' => $params['content'], + 'create_user' => $params['create_user'], + 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), + 'update_time' => time() + ]); + if (!empty($params['detail'])) { + foreach ($params['detail'] as $v) { + if (!empty($v['id'])) { + FinancialUsingFundsDetail::where('id', $v['id'])->update([ + 'using_funds_id' => $params['id'], + 'dept_id' => $v['dept_id'], + 'date' => !empty($v['date']) ? strtotime($v['date']) : 0, + 'subject_name' => $v['subject_name'], + 'amount' => $v['amount'], + 'abstract' => $v['abstract'] ?? '', + 'invoice' => $v['invoice'] ?? '', + 'update_time' => time(), + ]); + } else { + FinancialUsingFundsDetail::create([ + 'using_funds_id' => $params['id'], + 'dept_id' => $v['dept_id'], + 'date' => !empty($v['date']) ? strtotime($v['date']) : 0, + 'subject_name' => $v['subject_name'], + 'amount' => $v['amount'], + 'abstract' => $v['abstract'] ?? '', + 'invoice' => $v['invoice'] ?? '', + ]); + } + } + } + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 删除财务管理--用款申请单 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/03/29 09:29 + */ + public static function delete(array $params): bool + { + $detail = FinancialUsingFundsDetail::where('using_funds_id', 'in', $params['id'])->findOrEmpty(); + if (!$detail->isEmpty()) { + self::setError('此数据关联了用款申请明细信息,需删除用款申请明细信息'); + return false; + } + return FinancialUsingFunds::destroy($params['id']); + } + + + /** + * @notes 获取财务管理--用款申请单详情 + * @param $params + * @return array + * @author likeadmin + * @date 2024/03/29 09:29 + */ + public static function detail($params): array + { + $data = FinancialUsingFunds::withoutField('update_time,delete_time')->findOrEmpty($params['id']); + $dept = Dept::field('name')->where('id', $data['approve_dept'])->findOrEmpty(); + $contract = CostApprovedProject::field('contract_name,money')->where('id', $data['contract_id'])->findOrEmpty(); + $province = GeoProvince::field('province_name')->where('province_code', $data['province'])->findOrEmpty(); + $city = GeoCity::field('city_name')->where('city_code', $data['city'])->findOrEmpty(); + $data['approve_dept_name'] = $dept['name']; + $data['contract_name'] = !$contract->isEmpty() ? $contract['contract_name'] : ''; + $data['contract_money'] = !$contract->isEmpty() ? $contract['money'] : ''; + $data['province_name'] = !$province->isEmpty() ? $province['province_name'] : ''; + $data['city_name'] = !$city->isEmpty() ? $city['city_name'] : ''; + $data['pay_type_text'] = $data->pay_type_text; + $data['cost_type_text'] = $data->cost_type_text; + return $data->toArray(); + } + } \ No newline at end of file diff --git a/app/adminapi/validate/financial/FinancialUsingFundsDetailValidate.php b/app/adminapi/validate/financial/FinancialUsingFundsDetailValidate.php new file mode 100644 index 000000000..cb1af22da --- /dev/null +++ b/app/adminapi/validate/financial/FinancialUsingFundsDetailValidate.php @@ -0,0 +1,134 @@ + 'require|checkData', + 'using_funds_id' => 'require|checkUsingFunds', + 'dept_id' => 'require|checkDept', + 'date' => 'dateFormat:Y-m-d', + 'subject_name' => 'require|checkSubjectName', + 'amount' => 'require|float|gt:0', + ]; + + + /** + * 参数描述 + * @var string[] + */ + protected $field = [ + 'id' => 'id', + 'using_funds_id' => '用款申请单id', + 'dept_id' => '费用归属部门', + 'date' => '发生日期', + 'subject_name' => '科目名称', + 'amount' => '金额', + 'abstract' => '摘要', + 'invoice' => '关联发票', + ]; + + + /** + * @notes 添加场景 + * @return FinancialUsingFundsDetailValidate + * @author likeadmin + * @date 2024/03/29 09:29 + */ + public function sceneAdd() + { + return $this->only(['using_funds_id', 'dept_id', 'date', 'subject_name', 'amount', 'abstract', 'invoice']); + } + + + /** + * @notes 编辑场景 + * @return FinancialUsingFundsDetailValidate + * @author likeadmin + * @date 2024/03/29 09:29 + */ + public function sceneEdit() + { + return $this->only(['id', 'using_funds_id', 'dept_id', 'date', 'subject_name', 'amount', 'abstract', 'invoice']); + } + + + /** + * @notes 删除场景 + * @return FinancialUsingFundsDetailValidate + * @author likeadmin + * @date 2024/03/29 09:29 + */ + public function sceneDelete() + { + return $this->only(['id'])->remove('id', 'checkData'); + } + + + /** + * @notes 详情场景 + * @return FinancialUsingFundsDetailValidate + * @author likeadmin + * @date 2024/03/29 09:29 + */ + public function sceneDetail() + { + return $this->only(['id']); + } + + public function checkData($value): bool|string + { + $data = FinancialUsingFundsDetail::where('id', $value)->findOrEmpty(); + return $data->isEmpty() ? '数据不存在' : true; + } + + public function checkUsingFunds($value): bool|string + { + $data = FinancialUsingFunds::where('id', $value)->findOrEmpty(); + return $data->isEmpty() ? '用款申请单信息不存在' : true; + } + + public function checkDept($value): bool|string + { + $data = Dept::where('id', $value)->findOrEmpty(); + return $data->isEmpty() ? '费用归属部门信息不存在' : true; + } + + public function checkSubjectName($value): bool|string + { + $dict = DictData::where('type_value', 'subject_category')->column('value'); + return !in_array($value, $dict) ? '科目名称数据值无效' : true; + } + + } \ No newline at end of file diff --git a/app/adminapi/validate/financial/FinancialUsingFundsValidate.php b/app/adminapi/validate/financial/FinancialUsingFundsValidate.php new file mode 100644 index 000000000..233d0839d --- /dev/null +++ b/app/adminapi/validate/financial/FinancialUsingFundsValidate.php @@ -0,0 +1,196 @@ + 'require|checkData', + 'approve_dept' => 'require|checkDept', + 'cost_type' => 'require|checkCostType', + 'pay_type' => 'require|checkPayType', + 'pay_reason' => 'require', + 'contract_id' => 'checkContract', + 'has_pay_amount' => 'float|egt:0', + 'this_pay_amount' => 'float|egt:0', + 'accept_company' => 'require', + 'accept_acount' => 'require', + 'accept_bank' => 'require', + 'accept_deposit' => 'require', + 'bill_num' => 'float|egt:0', + 'content' => 'require', + 'create_user' => 'require', + 'create_time' => 'require|dateFormat:Y-m-d H:i:s', + 'detail' => 'checkDetail' + ]; + + + /** + * 参数描述 + * @var string[] + */ + protected $field = [ + 'id' => 'id', + 'code' => '单据编号', + 'approve_dept' => '审批部门', + 'cost_type' => '费用类别', + 'pay_type' => '支付方式', + 'pay_reason' => '付款原因', + 'contract_id' => '支出合同', + 'has_pay_amount' => '已支付金额', + 'this_pay_amount' => '本次支付金额', + 'accept_company' => '付往单位', + 'accept_acount' => '收款账号', + 'province' => '开户省份', + 'city' => '开户城市', + 'accept_bank' => '收款银行', + 'accept_deposit' => '收款开户行', + 'bill_num' => '附单据张数', + 'content' => '事由', + 'create_user' => '申请人', + 'create_time' => '申请日期', + + ]; + + + /** + * @notes 添加场景 + * @return FinancialUsingFundsValidate + * @author likeadmin + * @date 2024/03/29 09:29 + */ + public function sceneAdd() + { + return $this->remove('id', true); + } + + + /** + * @notes 编辑场景 + * @return FinancialUsingFundsValidate + * @author likeadmin + * @date 2024/03/29 09:29 + */ + public function sceneEdit() + { + } + + + /** + * @notes 删除场景 + * @return FinancialUsingFundsValidate + * @author likeadmin + * @date 2024/03/29 09:29 + */ + public function sceneDelete() + { + return $this->only(['id'])->remove('id', 'checkData'); + } + + + /** + * @notes 详情场景 + * @return FinancialUsingFundsValidate + * @author likeadmin + * @date 2024/03/29 09:29 + */ + public function sceneDetail() + { + return $this->only(['id']); + } + + public function checkData($value): bool|string + { + $data = FinancialUsingFunds::where('id', $value)->findOrEmpty(); + return $data->isEmpty() ? '数据不存在' : true; + } + + public function checkDept($value): bool|string + { + $data = Dept::where('id', $value)->findOrEmpty(); + return $data->isEmpty() ? '审批部门信息不存在' : true; + } + + public function checkCostType($value): bool|string + { + $dict = DictData::where('type_value', 'cost_type')->column('value'); + return !in_array($value, $dict) ? '费用类别数据值无效' : true; + } + + public function checkPayType($value): bool|string + { + $dict = DictData::where('type_value', 'financial_pay_type')->column('value'); + return !in_array($value, $dict) ? '支付方式数据值无效' : true; + } + + public function checkContract($value): bool|string + { + if (empty($value)) return true; + $data = CostApprovedProject::where('id', $value)->findOrEmpty(); + return $data->isEmpty() ? '合同信息不存在' : true; + } + + public function checkDetail($value): bool|string + { + if (empty($value) || $value == '') return true; + if (!is_array($value)) return '用款申请明细明细数据格式错误'; + foreach ($value as $k => $v) { + if (isset($v['id']) && !empty($v['id'])) { + $data = FinancialUsingFundsDetail::where('id', $v['id'])->findOrEmpty(); + if ($data->isEmpty()) { + return '第' . ($k + 1) . '行用款申请明细明细信息不存在'; + } + } + if (empty($v['dept_id'])) { + return '第' . ($k + 1) . '行费用归属部门为空'; + } else { + $dept = Dept::where('id', $v['dept_id'])->findOrEmpty(); + if ($dept->isEmpty()) return '第' . ($k + 1) . '行费用归属部门信息不存在'; + } + if (empty($v['subject_name'])) { + return '第' . ($k + 1) . '行科目名称为空'; + } else { + $dict = DictData::where('type_value', 'subject_category')->column('value'); + if (!in_array($v['subject_name'], $dict)) return '第' . ($k + 1) . '行科目名称数据值无效'; + } + if (empty($v['amount'])) { + return '第' . ($k + 1) . '行金额为空'; + } else { + if (!is_numeric($v['amount']) || $v['amount'] < 0) return '第' . ($k + 1) . '行金额必须是大于零的数字'; + } + } + return true; + } + + } \ No newline at end of file diff --git a/app/adminapi/validate/safety/SafetyProductMonthValidate.php b/app/adminapi/validate/safety/SafetyProductMonthValidate.php index 73e0ab3fb..ff13e2ee3 100644 --- a/app/adminapi/validate/safety/SafetyProductMonthValidate.php +++ b/app/adminapi/validate/safety/SafetyProductMonthValidate.php @@ -40,7 +40,7 @@ 'project_id' => 'require|checkProject', 'month' => 'require|in:1,2,3,4,5,6,7,8,9,10,11,12', 'resp_user' => 'require', - 'hazard_num' => 'integer|gt:0', + 'hazard_num' => 'integer|egt:0', 'file' => 'checkFile' ]; diff --git a/app/common/model/financial/FinancialUsingFunds.php b/app/common/model/financial/FinancialUsingFunds.php new file mode 100644 index 000000000..c6ec5dd8d --- /dev/null +++ b/app/common/model/financial/FinancialUsingFunds.php @@ -0,0 +1,46 @@ +column('name', 'value'); + return $dictDate[$data['pay_type']]; + } + + public function getCostTypeTextAttr($value, $data) + { + $dictDate = DictData::where('type_value', 'cost_type')->column('name', 'value'); + return $dictDate[$data['cost_type']]; + } + } \ No newline at end of file diff --git a/app/common/model/financial/FinancialUsingFundsDetail.php b/app/common/model/financial/FinancialUsingFundsDetail.php new file mode 100644 index 000000000..d18bf89cf --- /dev/null +++ b/app/common/model/financial/FinancialUsingFundsDetail.php @@ -0,0 +1,45 @@ +column('name', 'value'); + return !empty($data['subject_name']) ? $dict[$data['subject_name']] : ''; + } + } \ No newline at end of file