/** * 线索转化成功之后修改线索转化的标示 * $id 是线索的id编号 * $res 修改之后的结果 */ public function lead_success($id) { $data["Lead_int04"] = 1001; $data["last_transfer_date"] = "to_date('" . dataReduce8("Y-m-d H:i:s", date('Y-m-d H:i:s')) . "','yyyy-mm-dd hh24:mi:ss')"; foreach ($data as $k => $v) { if ($k == "last_transfer_date") { $this->db->set($k, $v, false); } else { $this->db->set($k, $v); } } $this->db->where('lead_id', $id); $res = $this->db->update('tc_lead'); return $res; }
/** * @param $data 插入明细的数据 * @param $module 插入对象 * @param int $OrgID * @param $UserID * @return mixed 插入成功或者失败信息 */ public function detail_add($data, $module, $OrgID = 1, $UserID) { $this->load->model('admin/nextid', 'nextid'); $time = date("Y-m-d H:i:s"); $type_id = $data[$module . 'Type']; $object_attr = $this->attr->object_attr($OrgID, $module); //查出对象对应属性信息 $tbl_name = $this->GetAllTbl($OrgID, $module); foreach ($tbl_name as $k => $v) { $insert[$v] = array(); } $obj_data = $this->obj->NameGetObj($OrgID, $module); $main_tbl = $obj_data['MAIN_TABLE']; $pk = $obj_data['KEY_ATTR_FLD']; $IDformat = $this->nextid->NewFormatID($type_id, $obj_data, $OrgID); if (!empty($IDformat['FORMAT'])) { $FormatID = $this->nextid->NewID('LEAD_USERID_' . $type_id . '_' . date('Ymd'), $OrgID); $strarr = array('{YYYY}' => date('Y'), '{MM}' => date('m'), '{DD}' => date('d'), '{0000}' => str_pad($FormatID, 4, "0", STR_PAD_LEFT)); $lead_userid = strtr($IDformat['FORMAT'], $strarr); $data[$IDformat['ATTR_NAME']] = $lead_userid; } $nextid = $this->nextid->NewID($main_tbl, $OrgID); $userdata = $this->user->SelectOne($OrgID, $UserID); // foreach ($ndata as $k => $v) { // if ($object_attr[$k]['is_must'] && empty($data[$k])) { // $res['res'] = "fail"; // $res['error_code'] = "201"; // $res['msg'] = "缺少\"" . $k . "\"参数,保存失败!"; // echo "\"" . $object_attr[$k]['label'] . "\"未填,保存失败!"; // return $res; // } // } $ndata = $this->transform($data, $module, $OrgID); if ($ndata == false || empty($ndata)) { $res['res'] = 'fail'; $res['msg'] = '保存失败!'; return $res; } foreach ($ndata as $k => $v) { if (empty($v)) { continue; } $insert[$object_attr[$k]['tbl_name']][$k] = $v; } //$this->db->trans_start(); foreach ($insert as $k => $v) { if (!empty($v)) { foreach ($v as $kk => $vv) { switch ($object_attr[$kk]['attr_type']) { case 4: if ($object_attr[$kk]['is_ref_obj']) { $this->db->set($object_attr[$object_attr[$kk]['referred_by']]['fld_name'], $vv); } else { $this->db->set($object_attr[$kk]['fld_name'], $vv); } break; case 6: //blob单独处理 break; case 1: case 2: case 3: case 11: case 12: case 13: case 18: case 19: case 20: // if(!is_numeric($vv)){ // $res['res'] = "fail"; // $res['error_code'] = "204"; // $res['msg'] = "\"".$kk."\"必须是数值!"; // return $res; // } $this->db->set($object_attr[$kk]['fld_name'], $vv, false); break; case 15: if (!empty($vv)) { //$vv = dataReduce8('Y-m-d', $vv); $this->db->set($object_attr[$kk]['fld_name'], "to_date('" . $vv . "','yyyy-mm-dd hh24:mi:ss')", false); } break; case 16: if (!empty($vv)) { $vv = dataReduce8('Y-m-d H:i:s', $vv); $this->db->set($object_attr[$kk]['fld_name'], "to_date('" . $vv . "','yyyy-mm-dd hh24:mi:ss')", false); } break; default: $this->db->set($object_attr[$kk]['fld_name'], $vv); break; } } } $this->db->set($pk, $nextid); $this->db->set('org_id', $OrgID, false); $this->db->insert($k); } // $this->db->trans_complete(); // if ($this->db->trans_status() === FALSE){ // return false; // }else{ $res['res'] = 'suc'; $res['id'] = $nextid; $res['msg'] = '保存成功!'; return $res; // } }
public function del($OrgID, $Objdata, $data, $UserID) { extract($Objdata, EXTR_OVERWRITE); if (!isset($data[$KEY_ATTR_NAME])) { return api_error('202', "ID必须存在"); } elseif (empty($data[$KEY_ATTR_NAME])) { return api_error('203', "ID不能为空"); } else { $id = $data[$OBJ_NAME . ".ID"]; } $d_data['DELETED_USER_ID'] = $UserID; $d_data['IS_DELETED'] = '1'; $d_data['DELETED_TIME'] = "to_date('" . dataReduce8("Y-m-d H:i:s", date('Y-m-d H:i:s')) . "','yyyy-mm-dd hh24:mi:ss')"; $pwhere = $this->objects->premissionList($Objdata, $OrgID, $d_data['DELETED_USER_ID'], "delete"); if ($this->objects->_del($id, $OBJ_TYPE, $d_data, $pwhere)) { return $this->api_succ(); } else { return $this->api_error('200', ""); } //echo 111; }
/** * Opportunity_model::opportunity_module_add() * 新增商机阶段方法 * @param mixed $next_id * @param mixed $module * @param integer $org_id * @return void */ public function opportunity_module_add($next_id, $module, $org_id = 1) { $fld = "owner_user_id,optnty_type,to_char(START_DATE,'yyyy-mm-dd') START_DATE"; $oppor_data = $this->selectOne($next_id, $fld); $optnty_type = $oppor_data['OPTNTY_TYPE']; //取出模型ID $start_date = $oppor_data['START_DATE']; //取出主商机的销售时间 $optnty_tbl_where = array("type_id" => $optnty_type, "org_id" => $org_id, "obj_id" => 0); /** * 取模阶段 select * from tc_opportunity_stage where org_id = 1 and obj_id = 0 and type_id = 2056; */ $oppor_stage_data = $this->selectWhere($optnty_tbl_where); unset($optnty_tbl_where); $stage_path = array(); //流程判断 //循环阶段模型数据 foreach ($oppor_stage_data as $key => $value) { $stage_next_id = $this->nextid->NewID("tc_opportunity_stage"); //获取自增的ID值 $stage_id = $value['STAGE_ID']; //备用 if ($stage_next_id > 0) { //判断获取的数据是否成功 if ($key == 0) { //回写给主表 $data['OPTNTY_STAGE'] = $stage_next_id; $this->update($data, $next_id); } $stage_path[$value['STAGE_ID']] = $stage_next_id; $value['STAGE_ID'] = $stage_next_id; //自增ID值从NEXTID模型文件中取出的 $value['OBJ_ID'] = $next_id; //传递过来的自增ID值 $value['TYPE_ID'] = 0; $this->doinsert($value); //更新数据后插入阶段表 if (!empty($start_date)) { //插入商机阶段时间 $this->db->set('PLAN_START_TIME', "to_date('" . $start_date . "','yyyy-mm-dd')", false); $start_date = date_add_sub($start_date); $this->db->set('PLAN_END_TIME', "to_date('" . $start_date . "','yyyy-mm-dd')", false); if ($key == 0) { $this->db->set('START_TIME', "to_date('" . dataReduce8('Y-m-d H:i:s', date('Y-m-d H:i:s')) . "','yyyy-mm-dd hh24:mi:ss')", false); } $w = array("STAGE_ID" => $stage_next_id); $this->db->where($w); $this->db->update('tc_opportunity_stage'); //插入商机阶段时间 } //取模 国际化阶段 插入 select * from tc_opportunity_stage_lang where stage_id = 2899; $tbl_where = array("stage_id" => $stage_id); $stage_data = $this->selectWhere($tbl_where, "tc_opportunity_stage_lang"); //获取出针对stage_id得到的国际化字段信息 if (!empty($stage_data)) { foreach ($stage_data as $k => $v) { //循环插入 $v['STAGE_ID'] = $stage_next_id; //上一步插入后的自增ID值 $this->doinsert($v, "tc_opportunity_stage_lang"); } } unset($tbl_where); $uinsert = array('org_id' => $org_id, 'user_id' => $oppor_data['OWNER_USER_ID'], 'optnty_id' => $next_id, 'stage_id' => $stage_id, 'is_self' => 1); $this->db->insert('rel_opportunity_stage_user', $uinsert); } } //循环阶段模型数据 结束 /** * 取模流程 select * from tc_stage_path where obj_id = 0 and type_id = 2056; */ $optnty_tbl_where = array("obj_id" => 0, "type_id" => $optnty_type, "org_id" => $org_id); $stage_path_data = $this->selectWhere($optnty_tbl_where, "tc_stage_path"); //获取模型数据 关于阶段流程的 unset($optnty_tbl_where); foreach ($stage_path_data as $key => $value) { $stage_path_next_id = $this->nextid->NewID("tc_stage_path"); //获取自增的ID值 $path_id = $value['PATH_ID']; //备用 if ($stage_path_next_id > 0) { //判断获取的数据是否成功 $value['PATH_ID'] = $stage_path_next_id; //自增ID值从NEXTID模型文件中取出的 $value['OBJ_ID'] = $next_id; //传递过来的自增ID值 $value['OLD_STAGE'] = $stage_path[$value['OLD_STAGE']]; //开始阶段 $value['NEW_STAGE'] = $stage_path[$value['NEW_STAGE']]; //结束阶段 $value['TYPE_ID'] = 0; $this->doinsert($value, "tc_stage_path"); //更新数据后插入阶段流程表 $tbl_where = array("path_id" => $path_id); $stage_path_action_data = $this->selectWhere($tbl_where, "tc_stage_path_action"); //获取出针对$path_id得到的相关行动信息 if (!empty($stage_path_action_data)) { foreach ($stage_path_action_data as $k => $v) { //循环插入 $v['PATH_ID'] = $stage_path_next_id; //上一步插入后的自增ID值 $this->doinsert($v, "tc_stage_path_action"); } } unset($tbl_where); } } }