|
@@ -24,7 +24,6 @@ class invoiceReceivables extends DooModel {
|
|
|
public $date;
|
|
|
public $confirmTime;
|
|
|
public $bindDate;
|
|
|
-
|
|
|
public $_table = 'CLD_invoiceReceivables';
|
|
|
public $_primarykey = 'irid';
|
|
|
public $_fields = array (
|
|
@@ -42,34 +41,51 @@ class invoiceReceivables extends DooModel {
|
|
|
'source',
|
|
|
'date',
|
|
|
'confirmTime',
|
|
|
- 'bindDate'
|
|
|
+ 'bindDate'
|
|
|
);
|
|
|
-
|
|
|
- public function getInvoiceReceivablesByClaim($cid=0,$sid=0){
|
|
|
- if (empty($sid)){
|
|
|
- $list['csClaim'] = $this->find ( array (
|
|
|
+ /**
|
|
|
+ * 获取最新几条收款包括最新的一条操作日志
|
|
|
+ * @param number $limit
|
|
|
+ * @return unknown
|
|
|
+ */
|
|
|
+ public function getInvoiceReceivablesByNew($limit = 4) {
|
|
|
+ $list = $this->find ( array (
|
|
|
+ 'desc' => 'irid',
|
|
|
+ 'limit'=>$limit,
|
|
|
+ 'asArray' => TRUE
|
|
|
+ ) );
|
|
|
+ Doo::loadModel ( 'invoiceROLog' );
|
|
|
+ $invoiceROLog = new invoiceROLog ();
|
|
|
+ foreach ($list as $key=>$value){
|
|
|
+ $list[$key]['invoiceROLog']=$invoiceROLog->getInvoiceROLogByIrid($value['irid'],'desc');
|
|
|
+ }
|
|
|
+ return $list;
|
|
|
+ }
|
|
|
+ public function getInvoiceReceivablesByClaim($cid = 0, $sid = 0) {
|
|
|
+ if (empty ( $sid )) {
|
|
|
+ $list ['csClaim'] = $this->find ( array (
|
|
|
'where' => "receivablesCategory='public' and receivablesStaff='public' and bindStatus=0",
|
|
|
'desc' => 'irid',
|
|
|
- 'asArray' => TRUE
|
|
|
+ 'asArray' => TRUE
|
|
|
) );
|
|
|
foreach ( $list ['csClaim'] as $key => $value ) {
|
|
|
$list ['csClaim'] [$key] ['iidKey'] = $this->authcode ( $value ['irid'], '' );
|
|
|
- //$list ['csClaim'] [$key] ['iidKeyUrl'] = $XDeode->encode ( $value ['iid'] );
|
|
|
+ // $list ['csClaim'] [$key] ['iidKeyUrl'] = $XDeode->encode ( $value ['iid'] );
|
|
|
}
|
|
|
|
|
|
- $list['sClaim'] = $this->find ( array (
|
|
|
- 'where' => "receivablesCategory!='public' and receivablesStaff='public' and receivablesCategory like '".$cid.":%' and bindStatus=0",
|
|
|
+ $list ['sClaim'] = $this->find ( array (
|
|
|
+ 'where' => "receivablesCategory!='public' and receivablesStaff='public' and receivablesCategory like '" . $cid . ":%' and bindStatus=0",
|
|
|
'desc' => 'irid',
|
|
|
- 'asArray' => TRUE
|
|
|
+ 'asArray' => TRUE
|
|
|
) );
|
|
|
foreach ( $list ['sClaim'] as $key => $value ) {
|
|
|
$list ['sClaim'] [$key] ['iidKey'] = $this->authcode ( $value ['irid'], '' );
|
|
|
}
|
|
|
|
|
|
- $list['arClaim'] = $this->find ( array (
|
|
|
- 'where' => "receivablesCategory!='public' and receivablesStaff!='public' and receivablesCategory like '".$cid.":%' and bindStatus=0",
|
|
|
+ $list ['arClaim'] = $this->find ( array (
|
|
|
+ 'where' => "receivablesCategory!='public' and receivablesStaff!='public' and receivablesCategory like '" . $cid . ":%' and bindStatus=0",
|
|
|
'desc' => 'irid',
|
|
|
- 'asArray' => TRUE
|
|
|
+ 'asArray' => TRUE
|
|
|
) );
|
|
|
foreach ( $list ['arClaim'] as $key => $value ) {
|
|
|
$staff = explode ( "-", $value ['receivablesStaff'] );
|
|
@@ -77,12 +93,12 @@ class invoiceReceivables extends DooModel {
|
|
|
$list ['arClaim'] [$key] ['username'] = $staff [1];
|
|
|
}
|
|
|
}
|
|
|
- if (!empty($cid)&&!empty($sid)){
|
|
|
+ if (! empty ( $cid ) && ! empty ( $sid )) {
|
|
|
|
|
|
- $list['myClaim'] = $this->find ( array (
|
|
|
- 'where' => " receivablesStaff like '".$sid."-%' and receivablesCategory like '".$cid.":%' and bindStatus=0",
|
|
|
+ $list ['myClaim'] = $this->find ( array (
|
|
|
+ 'where' => " receivablesStaff like '" . $sid . "-%' and receivablesCategory like '" . $cid . ":%' and bindStatus=0",
|
|
|
'desc' => 'irid',
|
|
|
- 'asArray' => TRUE
|
|
|
+ 'asArray' => TRUE
|
|
|
) );
|
|
|
foreach ( $list ['myClaim'] as $key => $value ) {
|
|
|
$list ['myClaim'] [$key] ['iidKey'] = $this->authcode ( $value ['irid'], '' );
|
|
@@ -91,16 +107,16 @@ class invoiceReceivables extends DooModel {
|
|
|
$list ['myClaim'] [$key] ['username'] = $staff [1];
|
|
|
}
|
|
|
|
|
|
- $list['bindClaim'] = $this->find ( array (
|
|
|
+ $list ['bindClaim'] = $this->find ( array (
|
|
|
'where' => " bindStatus=1 ",
|
|
|
'desc' => 'irid',
|
|
|
- 'limit'=>3,
|
|
|
- 'asArray' => TRUE
|
|
|
+ 'limit' => 3,
|
|
|
+ 'asArray' => TRUE
|
|
|
) );
|
|
|
Doo::loadModel ( 'invoice' );
|
|
|
$invoice = new invoice ();
|
|
|
foreach ( $list ['bindClaim'] as $key => $value ) {
|
|
|
- $list ['bindClaim'] [$key] ['invoice']=$invoice->getInvoiceByIid($value['iid'],'iid,invoicePrice,invoiceSerial');
|
|
|
+ $list ['bindClaim'] [$key] ['invoice'] = $invoice->getInvoiceByIid ( $value ['iid'] );
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -113,18 +129,20 @@ class invoiceReceivables extends DooModel {
|
|
|
* @param string $bindStatus
|
|
|
* @return mixed
|
|
|
*/
|
|
|
- public function getInvoiceReceivablesByIid($iid="",$bindStatus="All"){
|
|
|
- $iid=$this->authcode ($iid );
|
|
|
- $list=array();
|
|
|
- if (!empty($iid)&&is_numeric($iid)){
|
|
|
- $sql='';
|
|
|
- if ($bindStatus==1)
|
|
|
- $sql=" and bindStatus=1";
|
|
|
- elseif ($bindStatus==0)
|
|
|
- $sql=" and bindStatus=0";
|
|
|
+ public function getInvoiceReceivablesByIid($iid = "", $bindStatus = "All") {
|
|
|
+ Doo::loadClass ( 'XDeode' );
|
|
|
+ $XDeode = new XDeode ( 5 );
|
|
|
+ $iid = $this->authcode ( $iid );
|
|
|
+ $list = array ();
|
|
|
+ if (! empty ( $iid ) && is_numeric ( $iid )) {
|
|
|
+ $sql = '';
|
|
|
+ if ($bindStatus == 1)
|
|
|
+ $sql = " and bindStatus=1";
|
|
|
+ elseif ($bindStatus == 0)
|
|
|
+ $sql = " and bindStatus=0";
|
|
|
$list = $this->find ( array (
|
|
|
- 'where' => " iid=" . $iid.$sql,
|
|
|
- 'asArray' => TRUE
|
|
|
+ 'where' => " iid=" . $iid . $sql,
|
|
|
+ 'asArray' => TRUE
|
|
|
) );
|
|
|
}
|
|
|
foreach ( $list as $key => $value ) {
|
|
@@ -132,29 +150,32 @@ class invoiceReceivables extends DooModel {
|
|
|
$staff = explode ( "-", $value ['receivablesStaff'] );
|
|
|
$list [$key] ['sid'] = $staff [0];
|
|
|
$list [$key] ['username'] = $staff [1];
|
|
|
+ $list [$key] ['iridKey'] = $XDeode->encode ( $value ['irid'] );
|
|
|
}
|
|
|
return $list;
|
|
|
}
|
|
|
-
|
|
|
- public function getInvoiceReceivablesInIridString($iridString=""){
|
|
|
- $list=array();
|
|
|
- if (!empty($iridString))
|
|
|
- $list = $this->find ( array (
|
|
|
- 'where' => " irid in(" . $iridString.")",
|
|
|
- 'asArray' => TRUE
|
|
|
- ) );
|
|
|
+ public function getInvoiceReceivablesInIridString($iridString = "") {
|
|
|
+ $list = array ();
|
|
|
+ if (! empty ( $iridString ))
|
|
|
+ $list = $this->find ( array (
|
|
|
+ 'where' => " irid in(" . $iridString . ")",
|
|
|
+ 'asArray' => TRUE
|
|
|
+ ) );
|
|
|
return $list;
|
|
|
}
|
|
|
-
|
|
|
- public function getInvoiceReceivablesByIrid($irid=""){
|
|
|
- $irid=$this->authcode ($irid );
|
|
|
- $detail=array();
|
|
|
- if (!empty($irid)&&is_numeric($irid))
|
|
|
+ public function getInvoiceReceivablesByIrid($irid = "") {
|
|
|
+ Doo::loadClass ( 'XDeode' );
|
|
|
+ $XDeode = new XDeode ( 5 );
|
|
|
+ $irid = $this->authcode ( $irid );
|
|
|
+ $detail = array ();
|
|
|
+ if (! empty ( $irid ) && is_numeric ( $irid ))
|
|
|
$detail = $this->getOne ( array (
|
|
|
- 'where' => " irid=" . $irid,
|
|
|
- 'asArray' => TRUE
|
|
|
- ) );
|
|
|
+ 'where' => " irid=" . $irid,
|
|
|
+ 'asArray' => TRUE
|
|
|
+ ) );
|
|
|
|
|
|
+ $detail ['iridKey'] = $XDeode->encode ( $detail ['irid'] );
|
|
|
+ $detail ['iridEn'] = $this->authcode ( $detail ['irid'], '' );
|
|
|
return $detail;
|
|
|
}
|
|
|
|
|
@@ -189,7 +210,7 @@ class invoiceReceivables extends DooModel {
|
|
|
}
|
|
|
return $lid;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 加密或解密指定字符串
|
|
|
*
|
|
@@ -208,28 +229,28 @@ class invoiceReceivables extends DooModel {
|
|
|
$keya = md5 ( substr ( $key, 0, 16 ) );
|
|
|
$keyb = md5 ( substr ( $key, 16, 16 ) );
|
|
|
$keyc = $ckey_length ? ($operation == 'DECODE' ? substr ( $string, 0, $ckey_length ) : substr ( md5 ( microtime () ), - $ckey_length )) : '';
|
|
|
-
|
|
|
+
|
|
|
$cryptkey = $keya . md5 ( $keya . $keyc );
|
|
|
$key_length = strlen ( $cryptkey );
|
|
|
-
|
|
|
+
|
|
|
$string = $operation == 'DECODE' ? base64_decode ( substr ( $string, $ckey_length ) ) : sprintf ( '%010d', $expiry ? $expiry + time () : 0 ) . substr ( md5 ( $string . $keyb ), 0, 16 ) . $string;
|
|
|
$string_length = strlen ( $string );
|
|
|
-
|
|
|
+
|
|
|
$result = '';
|
|
|
$box = range ( 0, 255 );
|
|
|
-
|
|
|
+
|
|
|
$rndkey = array ();
|
|
|
for($i = 0; $i <= 255; $i ++) {
|
|
|
$rndkey [$i] = ord ( $cryptkey [$i % $key_length] );
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
for($j = $i = 0; $i < 256; $i ++) {
|
|
|
$j = ($j + $box [$i] + $rndkey [$i]) % 256;
|
|
|
$tmp = $box [$i];
|
|
|
$box [$i] = $box [$j];
|
|
|
$box [$j] = $tmp;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
for($a = $j = $i = 0; $i < $string_length; $i ++) {
|
|
|
$a = ($a + 1) % 256;
|
|
|
$j = ($j + $box [$a]) % 256;
|
|
@@ -238,7 +259,7 @@ class invoiceReceivables extends DooModel {
|
|
|
$box [$j] = $tmp;
|
|
|
$result .= chr ( ord ( $string [$i] ) ^ ($box [($box [$a] + $box [$j]) % 256]) );
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
if ($operation == 'DECODE') {
|
|
|
if ((substr ( $result, 0, 10 ) == 0 || substr ( $result, 0, 10 ) - time () > 0) && substr ( $result, 10, 16 ) == substr ( md5 ( substr ( $result, 26 ) . $keyb ), 0, 16 )) {
|
|
|
return substr ( $result, 26 );
|
|
@@ -249,7 +270,6 @@ class invoiceReceivables extends DooModel {
|
|
|
return $keyc . str_replace ( '=', '', base64_encode ( $result ) );
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
?>
|