ExamineData.php 2.3KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | Description: 公告
  4. // +----------------------------------------------------------------------
  5. // | Author: Michael_xu | gengxiaoxu@5kcrm.com
  6. // +----------------------------------------------------------------------
  7. namespace app\oa\model;
  8. use think\Db;
  9. use app\admin\model\Common;
  10. use think\Request;
  11. use think\Validate;
  12. use think\helper\Time;
  13. class ExamineData extends Common
  14. {
  15. /**
  16. * 为了数据库的整洁,同时又不影响Model和Controller的名称
  17. * 我们约定每个模块的数据表都加上相同的前缀,比如CRM模块用crm作为数据表前缀
  18. */
  19. protected $name = 'oa_examine_data';
  20. /**
  21. * 存储自定义字段数据
  22. * @author Michael_xu
  23. * @param
  24. * @return
  25. */
  26. public function createData($param, $examine_id)
  27. {
  28. if (!$examine_id) {
  29. $this->error = '参数错误';
  30. return false;
  31. }
  32. $fieldList = db('admin_field')->where(['types' => 'oa_examine','types_id' => $param['category_id']])->select();
  33. //过滤掉固定字段
  34. $unField = ['content','remark','start_time','end_time','duration','cause','money','category_id','check_user_id','check_status','flow_id','order_id','create_user_id'];
  35. $data = [];
  36. foreach ($fieldList as $k=>$v) {
  37. $field_arr = [];
  38. if (is_array($param[$v['field']])) {
  39. foreach ($param[$v['field']] as $key=>$val) {
  40. $field_arr[] = str_replace(',', ',', $val);
  41. }
  42. $param[$v['field']] = $field_arr ? ','.implode(',',$field_arr).',' : '';
  43. }
  44. if (!in_array($v['field'], $unField)) {
  45. $data[$k]['examine_id'] = $examine_id;
  46. $data[$k]['field'] = $v['field'];
  47. $data[$k]['value'] = $param[$v['field']];
  48. }
  49. }
  50. if ($data) {
  51. $resData = db('oa_examine_data')->insertAll($data);
  52. if (!$resData) {
  53. $this->error = '添加失败';
  54. return false;
  55. }
  56. }
  57. return true;
  58. }
  59. /**
  60. * 读取自定义字段数据
  61. * @author Michael_xu
  62. * @param
  63. * @return
  64. */
  65. public function getDataById($examine_id)
  66. {
  67. if (!$examine_id) {
  68. $this->error = '参数错误';
  69. return false;
  70. }
  71. $dataList = db('oa_examine_data')->where(['examine_id' => $examine_id])->select();
  72. $newData = [];
  73. foreach ($dataList as $k=>$v) {
  74. $newData[$v['field']] = $v['value'];
  75. }
  76. return $newData ? : [];
  77. }
  78. }