| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- <?php
- // +----------------------------------------------------------------------
- // | Description: 公告
- // +----------------------------------------------------------------------
- // | Author: Michael_xu | gengxiaoxu@5kcrm.com
- // +----------------------------------------------------------------------
- namespace app\oa\model;
-
- use think\Db;
- use app\admin\model\Common;
- use think\Request;
- use think\Validate;
- use think\helper\Time;
-
- class ExamineData extends Common
- {
- /**
- * 为了数据库的整洁,同时又不影响Model和Controller的名称
- * 我们约定每个模块的数据表都加上相同的前缀,比如CRM模块用crm作为数据表前缀
- */
- protected $name = 'oa_examine_data';
-
- /**
- * 存储自定义字段数据
- * @author Michael_xu
- * @param
- * @return
- */
- public function createData($param, $examine_id)
- {
- if (!$examine_id) {
- $this->error = '参数错误';
- return false;
- }
- $fieldList = db('admin_field')->where(['types' => 'oa_examine','types_id' => $param['category_id']])->select();
- //过滤掉固定字段
- $unField = ['content','remark','start_time','end_time','duration','cause','money','category_id','check_user_id','check_status','flow_id','order_id','create_user_id'];
- $data = [];
- foreach ($fieldList as $k=>$v) {
- if (!in_array($v['field'], $unField)) {
- $data[$k]['examine_id'] = $examine_id;
- $data[$k]['field'] = $v['field'];
- // 处理数据格式是对象的字段:position 地址、location 定位、date_interval 日期区间、detail_table 明细表格
- if (in_array($v['form_type'], ['position', 'location', 'date_interval', 'detail_table'])) {
- $data[$k]['value'] = !empty($param[$v['field']]) ? json_encode($param[$v['field']], JSON_NUMERIC_CHECK) : '';
- } else {
- $data[$k]['value'] = !empty($param[$v['field']]) ? $param[$v['field']] : '';
- }
-
- // 处理手写签名
- if ($v['form_type'] == 'handwriting_sign') {
- $data[$k]['value'] = !empty($param[$v['field']]['file_id']) ? $param[$v['field']]['file_id'] : '';
- }
- // 处理附件
- if ($v['form_type'] == 'file') {
- $data[$k]['value'] = !empty($param[$v['field']]) ? arrayToString($param[$v['field']]) : '';
- }
- }
- }
- if ($data) {
- db('oa_examine_data')->where('examine_id', $examine_id)->delete();
- // print_r($data);exit;
- $resData = db('oa_examine_data')->insertAll($data);
- if (!$resData) {
- $this->error = '添加失败';
- return false;
- }
- }
- return true;
- }
-
- /**
- * 读取自定义字段数据
- * @author Michael_xu
- * @param
- * @return
- */
- public function getDataById($examine_id)
- {
- if (!$examine_id) {
- $this->error = '参数错误';
- return false;
- }
- $dataList = db('oa_examine_data')->where(['examine_id' => $examine_id])->select();
- $newData = [];
- foreach ($dataList as $k=>$v) {
- $newData[$v['field']] = $v['value'];
- }
- return $newData ? : [];
- }
- }
|