LEFT JOIN BIZ_ConfirmLineInfo coli ON coli.COLI_GRI_SN=gci.GCI_GRI_SN and coli.COLI_State NOT IN ('30','40','50')
LEFT JOIN BIZ_ConfirmLineInfo coli ON coli.COLI_GRI_SN=gci.GCI_GRI_SN --and coli.COLI_State NOT IN ('30','40','50')
LEFT JOIN BIZ_ConfirmLineDetail cold ON cold.COLD_COLI_SN=coli.COLI_SN
WHERE 1=1 ";
if ($coli_sn !== 0) {
@ -278,7 +267,7 @@ class Orders_model extends CI_Model {
$this->GRI_Creator,
$this->GRI_OrderType
));
$this->GRI_SN = $this->HT->query("select MAX(GRI_SN) as insert_id FROM GRoupInfo WHERE GRI_No='" . $this->GRI_No . "'")->row('insert_id');
$this->GRI_SN = $this->HT->query("select MAX(GRI_SN) as insert_id FROM GRoupInfo WHERE GRI_operator=435 AND GRI_No='" . $this->GRI_No . "'")->row('insert_id');
return $this->GRI_SN;
}
@ -524,14 +513,20 @@ class Orders_model extends CI_Model {
return NULL;
}
/*!
* 1. 获取列表时: 按团号查询团是否已存在, 避免渠道和目的地组同时操作
* @param [type] $code [description]
* @param [type] $vendorOrderId [description]
*/
public function get_SN_by_groupCode($code, $vendorOrderId=NULL)
{
$sql = "SELECT top 1 COLI_SN,gri.GRI_SN,cold.COLD_PlanVEI_SN,cold.COLD_SN,coli.COLI_ID,coli.COLI_Memo,coli.COLI_OrderDetailText,coli.COLI_State,coli.COLI_OPI_ID,coli.COLI_Price,coli.COLI_CUrrency
,GRI_OPI_ID,GRI_operator,GRI_No,GRI_Name
FROM BIZ_ConfirmLineInfo coli
inner join BIZ_ConfirmLineDetail cold on cold.COLD_COLI_SN=COLI_SN and COLI_State not in (30,40,50)
inner join BIZ_ConfirmLineDetail cold on cold.COLD_COLI_SN=COLI_SN --and COLI_State not in (30,40,50)
LEFT JOIN GRoupInfo gri ON coli.COLI_GRI_SN=gri.GRI_SN and GRI_OrderType=227002
WHERE gri.GRI_No LIKE '%$code%'
and gri.GRI_operator<>435 and gri.GRI_operator is not null
WHERE coli.COLI_Department=30 and gri.GRI_No LIKE '%$code%'
order by COLI_SN desc"; // and gri.GRI_Name like '%$NoName%'
$query = $this->HT->query($sql);
if ($query->num_rows() > 0) {
@ -545,6 +540,27 @@ class Orders_model extends CI_Model {
@ -35,19 +14,34 @@ class Tulanduo_sync_model extends CI_Model {
*/
public function get_exists_vendorOrderId($vendorOrderIds="")
{
$sql = "SELECT GCI_VendorOrderId FROM GroupCombineInfo
WHERE GCI_VendorOrderId IN ($vendorOrderIds) ";
return $this->HT->query($sql)->result();
$sql = "SELECT GCI_VendorOrderId FROM GroupCombineInfo
WHERE GCI_VendorOrderId IN ($vendorOrderIds) ";
return $this->HT->query($sql)->result();
}
/*!
* 从图兰朵同步历史数据的日期偏移
* 获取HT内图兰朵订单的最老出发日期
* * 由于获取列表时根据发团日期或得到更早时间的发团日期
* * 因此这里取最早的10个, 找出不连续的为滚动日期的开始
*/
public function get_oldest_offset()
{
$sql = "SELECT top 1 CAST(GCI_travelDate as DATE) old_date from GroupCombineInfo
order by GCI_travelDate asc";
return $this->HT->query($sql)->row()->old_date;
$sql = "SELECT DISTINCT TOP 10 CAST(GCI_travelDate as DATE) old_date from GroupCombineInfo
order by old_date asc";
$all_date = $this->HT->query($sql)->result();
$all_date_arr = array_map(function($ele)
{
return $ele->old_date;
}, $all_date);
for ($i=count($all_date_arr)-1; $i > 0; $i--) {
$d1 = new DateTime($all_date_arr[$i]);
$d2 = new DateTime($all_date_arr[$i-1]);
$date_diff = $d2->diff($d1);
if (intval($date_diff->format('%R%a')) > 1) {
return $all_date_arr[$i];
}
}
return $all_date_arr[0];
}
/*!
* 图兰朵订单在HT内的信息
@ -59,62 +53,6 @@ class Tulanduo_sync_model extends CI_Model {
# code...
}
public $GCI_SN;
public $GCI_VEI_SN;
public $GCI_combineNo=''; // 拼团团号
public $GCI_GRI_SN; // 团key
public $GCI_VendorOrderId; // 地接社系统订单id
public $GCI_FromAgc; // 组团社来源
public $GCI_groupType; // 组团社来源
public $GCI_travelDate;
public $GCI_leaveDate;
public $GCI_createTime;
/** 目的地订单 拼团信息 */
public function biz_groupcombineinfo_save()
{
$sql = "IF NOT EXISTS(
SELECT TOP 1 1
FROM GroupCombineInfo
WHERE GCI_VendorOrderId = ? and GCI_GRI_SN=? and GCI_VEI_SN=?
)
INSERT INTO GroupCombineInfo
(GCI_combineNo
,GCI_GRI_SN
,GCI_VEI_SN
,GCI_VendorOrderId
,GCI_FromAgc
,GCI_groupType
,GCI_travelDate
,GCI_leaveDate
,GCI_createTime)
VALUES
(N?
,?
,?
,?
,N?
,?
,?
,?
,?)
";
$query = $this->HT->query($sql, array(
$this->GCI_VendorOrderId
,$this->GCI_GRI_SN
,$this->GCI_VEI_SN
,$this->GCI_combineNo
,$this->GCI_GRI_SN
,$this->GCI_VEI_SN
,$this->GCI_VendorOrderId
,$this->GCI_FromAgc
,$this->GCI_groupType
,$this->GCI_travelDate
,$this->GCI_leaveDate
,$this->GCI_createTime
));
$this->GCI_SN = $this->HT->query("select MAX(GCI_SN) as insert_id FROM GroupCombineInfo WHERE GCI_combineNo='" . $this->GCI_combineNo . "'")->row('insert_id');