You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
information-system/gys_system/models/bak/groupinfo_model.php(20160819)

415 lines
14 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?php
class Groupinfo_model extends CI_Model {
function __construct() {
parent::__construct();
$this->HT = $this->load->database('HT', TRUE);
}
//团的信息
function get_group_info($gri_sn) {
$sql = "
EXEC SP_Evaluation_GetGroupInfo 1,0,?,1
";
$query = $this->HT->select_stored_procedure($sql, array($gri_sn));
return $query;
}
//生成汉特各项平均分
function SP_VendorQuality_SetMark($gri_sn, $vei_sn, $eoi_sn) {
$sql = "
EXEC SP_VendorQuality_SetMark ?,?,?
";
$query = $this->HT->select_stored_procedure($sql, array($gri_sn, $vei_sn, $eoi_sn));
return $query;
}
//团队相关联的信息,地接等等
function get_eva_objectinfo($topnum, $eoi_sn, $gri_sn = false, $vei_sn = false, $cii_sn = false, $eoi_type = false, $eoi_fillworkers_sn = false, $eoi_date = false, $orderby = ' EOI_Date DESC ') {
if (empty($topnum)) {
$topnum = 1;
}
$sql = "
SELECT TOP $topnum EOI_SN,
EOI_GRI_SN,
EOI_VEI_SN,
EOI_ObjSN,
EOI_CII_SN,
EOI_Type,
EOI_Score,
EOI_GetDate,
EOI_Date,
EOI_SendEvaluation,
EOI_NotSendReason,
EOI_JD,
EOI_JDCheckDate,
EOI_Evaluation,
EOI_NotEvaluationReason,
EOI_CusService,
EOI_CusServiceCheckDate,
Checker,
Checked,
Creator,
CreateDate,
LastEidtUser,
LastEditTime,
EOI_Cancel,
EOI_GroupType,
EOI_AddCode,
EOI_DEI_SN,
EOI_OPI_SN,
EOI_FillWorkers_SN,
EOI_VerifyUser_SN,
(
SELECT TOP 1 vei2_companybn
FROM VendorInfo2
WHERE vei2_vei_sn = EOI_VEI_SN
AND VEI2_LGC = 2
) VendorName,
(
SELECT TOP 1 gi. GRI_No
FROM GRoupInfo gi
WHERE gi .GRI_SN = EOI_GRI_SN
) AS groupname
FROM Eva_ObjectInfo
WHERE 1=1
AND EOI_sendEvaluation = 1
AND eoi_cancel = 0
AND year(EOI_Date)> '2010'
";
empty($eoi_sn) ? false : $sql.=' AND EOI_SN= ' . $this->HT->escape($eoi_sn);
empty($gri_sn) ? false : $sql.=' AND EOI_GRI_SN= ' . $this->HT->escape($gri_sn);
empty($vei_sn) ? false : $sql.=' AND EOI_VEI_SN= ' . $this->HT->escape($vei_sn);
empty($cii_sn) ? false : $sql.=' AND EOI_CII_SN= ' . $this->HT->escape($cii_sn);
empty($eoi_type) ? false : $sql.=' AND EOI_Type= ' . $this->HT->escape($eoi_type);
empty($eoi_date) ? false : $sql.=' AND ' . $eoi_date;
//查找没有添加反馈表的团
($eoi_fillworkers_sn !== null) ? false : $sql.=' AND EOI_FillWorkers_SN IS NULL AND EOI_VerifyUser_SN IS NULL ';
$sql.=' ORDER BY ' . $orderby;
$query = $this->HT->query($sql);
//print_r($this->HT->queries);
if ($topnum == 1) {
if ($query->num_rows() > 0) {
$row = $query->row();
return $row;
} else {
return FALSE;
}
} else {
return $query->result();
}
}
//更新导游信息
function update_guide($eoi_sn, $eoi_objsn) {
$sql = "
UPDATE Eva_ObjectInfo
SET
EOI_ObjSN=?
WHERE EOI_SN=?
";
$query = $this->HT->query($sql, array($eoi_objsn, $eoi_sn));
//print_r($this->HT->queries);
return $query;
}
function update_feedback_verify($eoi_sn, $type, $lmi_sn) {
switch ($type) {
case 'verifysave':
$sql = "
UPDATE Eva_ObjectInfo
SET
EOI_FillWorkers_SN=?,
EOI_VRequestVerify=0,
EOI_FWks_LastEditTime=GETDATE()
WHERE EOI_SN=?
";
$query = $this->HT->query($sql, array($lmi_sn, $eoi_sn));
break;
case 'verifygo':
$sql = "
UPDATE Eva_ObjectInfo
SET
EOI_FillWorkers_SN=?,
EOI_VRequestVerify=1,
EOI_FWks_LastEditTime=GETDATE()
WHERE EOI_SN=?
";
$query = $this->HT->query($sql, array($lmi_sn, $eoi_sn));
break;
case 'verifyok'://审核通过
$sql = "
UPDATE Eva_ObjectInfo
SET
EOI_VerifyUser_SN=?,
EOI_Verify_lastEditTime=GETDATE()
WHERE EOI_SN=?
";
$query = $this->HT->query($sql, array($lmi_sn, $eoi_sn));
break;
case 'verifyno': //审核不通过
$sql = "
UPDATE Eva_ObjectInfo
SET
EOI_VerifyUser_SN=null,
EOI_Verify_lastEditTime=null
WHERE EOI_SN=?
";
$query = $this->HT->query($sql, array($eoi_sn));
break;
default:
return false;
}
//print_r($this->HT->queries);
return $query;
}
// 判断多家庭反馈表
function get_many_family($gri_sn){
$sql = "
SELECT cul_cui_sn ESI_MEI_SN,
(
SELECT TOP 1 mei_firstname + ' ' + mei_lastname
FROM MEmberInfo
WHERE mei_sn = cul_cui_sn
) esiname
FROM CustomerList
WHERE cul_coli_sn = (
SELECT TOP 1 coli_sn
FROM ConfirmLineInfo
WHERE coli_gri_sn = ?
)
AND CUL_SendEvaluation = 1
ORDER BY
cul_cui_sn
";
$query = $this->HT->query($sql, array($gri_sn));
//print_r($this->HT->queries);
return $query->result();
}
//反馈表分数
function get_service_item_info($eoi_sn, $gri_sn, $vei_sn,$mei_sn) {
$sql = "
SELECT ESI_SN,
ESI_VEI_SN,
ESI_GRI_SN,
ESI_Date,
ESI_LeaveCity,
ESI_ServiceCity,
ESI_ServiceType,
ESI_ServiceSN,
ESI_ServiceSN2,
ESI_ServiceName,
ESI_Describe,
ESI_ServiceSNBack,
ESI_Order,
ESI_Rate,
ESI_Comment,
ESI_NotCount,
ESI_NotCountReason,
ESI_EOI_SN,
ESI_CII_SN,
ESI_DayNo,
ESI_MEI_SN,
ESI_SYC_SN,
ESI_LocalAgencySaid,
ESI_LastEditDate,
ESI_ServeDate
FROM Eva_ServiceItemInfo
WHERE (esi_eoi_sn = ? AND esi_gri_sn = ?)
AND esi_vei_sn = ?
AND esi_mei_sn = ?
AND ESI_ServiceType IN ('A', 'C', '7','Y','W')
ORDER BY
(
CASE ESI_ServiceType
WHEN 'A' THEN 2
WHEN '4' THEN 3
WHEN 'w' THEN 4
WHEN 'Y' THEN 5
ELSE 1
END
),
ESI_ServeDate,
ESI_Order,
ESI_ServiceSN
";
$query = $this->HT->query($sql, array($eoi_sn, $gri_sn, $vei_sn,$mei_sn));
//print_r($this->HT->queries);
return $query->result();
}
//生成反馈项目
public function create_service_item_info($eoi_sn, $gri_sn, $vei_sn) {
$lgc = $this->get_group_lgc($gri_sn);
// 多家庭反馈表生成
$customer_list = $this->get_customer($gri_sn);
if ($customer_list) {
foreach ($customer_list as $item_cus) {
$mei_sn = $item_cus->cul_cui_sn;
$sql = " EXEC SP_VendorQuality_CreateServiceItemTest 0,?,?,0,?,?,? "; //@Debug,@GRI_SN,@VEI_SN,@VType,@LGC,@EOI_SN,@MEI_SN
$query = $this->HT->select_stored_procedure($sql, array($gri_sn, $vei_sn, $lgc, $eoi_sn, $mei_sn));
//echo $gri_sn.','.$vei_sn.','.$lgc.','.$eoi_sn;
}
} else {
$mei_sn = 0;
$sql = " EXEC SP_VendorQuality_CreateServiceItemTest 0,?,?,0,?,?,? "; //@Debug,@GRI_SN,@VEI_SN,@VType,@LGC,@EOI_SN,@MEI_SN
$query = $this->HT->select_stored_procedure($sql, array($gri_sn, $vei_sn, $lgc, $eoi_sn, $mei_sn));
}
return true;
}
//查询团队的客人SN
public function get_customer($gri_sn) {
$sql = "
SELECT cul_cui_sn
FROM CustomerList
WHERE cul_coli_sn = (
SELECT TOP 1 coli_sn
FROM ConfirmLineInfo
WHERE coli_gri_sn = ?
AND CUL_SendEvaluation = 1
)
";
$query = $this->HT->query($sql, array($gri_sn));
//print_r($this->HT->queries);
return $query->result();
}
//查询团队的语种默认1英文
public function get_group_lgc($gri_sn) {
$sql = " SELECT ISNULL(
(
SELECT DEI_LGC
FROM DepartmentInfo
WHERE DEI_SN = (
SELECT TOP 1 coli_department
FROM ConfirmLineInfo
WHERE coli_gri_sn = ?
)
),
1
) lgc
";
$query = $this->HT->query($sql, array($gri_sn));
if ($query->result()) {
$row = $query->row();
return $row->lgc;
} else {
return 1;
}
}
public function get_group_service($eoi_sn, $vei_sn) {
$sql = " SP_Evaloation_GetHotelAndElse 0,?,?,1,0 ";
$query = $this->HT->select_stored_procedure($sql, array($eoi_sn, $vei_sn));
return $query;
}
public function get_eva_feedback($gri_sn, $vei_sn, $eoi_sn, $eef_type) {
$sql = "
SELECT TOP 1 eefb.EEF_SN,
eefb.EEF_GRI_SN,
eefb.EEF_VEI_SN,
eefb.EEF_MEI_SN,
eefb.EEF_CII_SN,
eefb.EEF_EOI_SN,
eefb.EEF_Type,
eefb.EEF_ID,
eefb.EEF_Content,
eefb.EEF_Date,
eefb.EEF_Creator
FROM Eva_ElseFeedBack eefb
WHERE eefb.EEF_GRI_SN = ?
AND eefb.EEF_VEI_SN = ?
AND eefb.EEF_EOI_SN = ?
AND eefb.EEF_Type = ?
";
$query = $this->HT->query($sql, array($gri_sn, $vei_sn, $eoi_sn, $eef_type));
//print_r($this->HT->queries);
if ($query->result()) {
$row = $query->row();
return $row;
} else {
return FALSE;
}
}
//更新分数
public function update_esi_rate($esi_sn, $rate) {
$sql = "
UPDATE Eva_ServiceItemInfo
SET
ESI_Rate = ?
WHERE ESI_SN=?
";
$query = $this->HT->query($sql, array($rate, $esi_sn));
//print_r($this->HT->queries);
return $query;
}
//更新问题的答案
public function update_eva_answer($gri_sn, $eoi_sn, $vei_sn, $eef_type, $eef_content, $eef_id) {
//根据内容来查询答案是否已经有记录
$sql = "
SELECT TOP 1 eefb.EEF_SN
FROM Eva_ElseFeedBack eefb
WHERE eefb.EEF_GRI_SN = ?
AND eefb.EEF_EOI_SN=?
AND eefb.EEF_VEI_SN = ?
AND eefb.EEF_Type = ?
";
$query = $this->HT->query($sql, array($gri_sn, $eoi_sn, $vei_sn, $eef_type));
if ($query->result()) {
$row = $query->row();
$sql = "
UPDATE Eva_ElseFeedBack
SET
EEF_Content = ?,
EEF_ID=?,
EEF_Date = GETDATE()
WHERE EEF_SN = ?
";
$query = $this->HT->query($sql, array($eef_content, $eef_id, $row->EEF_SN));
} else {
$sql = "
INSERT INTO Eva_ElseFeedBack
(
EEF_GRI_SN,
EEF_EOI_SN,
EEF_VEI_SN,
EEF_Type,
EEF_Content,
EEF_Date,
EEF_ID
)
VALUES
(
?,?,?,?,?,GETDATE(),?
)
";
$query = $this->HT->query($sql, array($gri_sn, $eoi_sn, $vei_sn, $eef_type, $eef_content, $eef_id));
}
//print_r($this->HT->queries);
return $query;
}
}