decode ( $itid ); $list = array (); if (! empty ( $itid ) && is_numeric ( $itid )) { $field = 'a.apStatus,a.isid,a.invoiceCompany,a.invoiceTitle,a.TIN,a.address,a.phone,a.bank,a.bankAccount,a.invoiceElement,a.invoiceQuantity,a.invoiceUnitPrice,a.invoicePrice,a.invoiceType,a.remark ,a.mailItems,a.recipientsAddress,a.recipients,a.recipientsPhone,a.remark,a.remark,a.remark,a.remark,a.userName ,b.invoiceSerial,b.printTime,b.invoiceNo,b.status,b.printStatus,b.untreadStatus,b.irid'; $sql = "select " . $field . " from " . $this->_table . " as a left join CLD_invoice as b on (a.iid=b.iid) where a.trainId=" . $itid; $query = Doo::db ()->query ( $sql ); $list = $query->fetchAll (); } // 获得收款流水号 $iridList = array (); foreach ( $list as $key => $value ) { $list [$key] ['storeKey'] = $XDeode->encode ( $value ['isid'] ); $list [$key] ['iridArray'] = array (); if (! empty ( $value ['irid'] )) { array_push ( $iridList, $value ['irid'] ); $list [$key] ['iridArray'] = explode ( ',', $value ['irid'] ); } $list [$key] ['invoiceReceivables'] = array (); } $iridString = implode ( ',', $iridList ); Doo::loadModel ( 'invoiceReceivables' ); $invoiceReceivables = new invoiceReceivables (); $irlist = $invoiceReceivables->getInvoiceReceivablesInIridString ( $iridString ); foreach ( $irlist as $key => $value ) { foreach ( $list as $k => $v ) { if (in_array ( $value ['irid'], $v ['iridArray'] )) { array_push ( $list [$k] ['invoiceReceivables'], array ( $value ['irid'], $value ['receivablesSerial'], $value ['iridKeyK'] ) ); } } } // print_r($list); // echo $iridString; return $list; } /** * 根据参数字段更新相应字段(主键ID必须传) * @param array $item 相关需要更新的字段信息 * @return number 返回发票ID */ public function setInvoiceStoreByCondition($item = array(), $isid = "") { $lid = 0; if (is_array ( $item ) && ! empty ( $item )) { foreach ( $item as $key => $value ) { $this->$key = $value; } if (! empty ( $isid )) { $condition = array ( 'where' => "isid in (" . $isid . ")", 'asArray' => TRUE ); $this->update ( $condition ); } else $lid = $this->update (); } return $lid; } /** * 根据发票ID获取一条发票数据 * @param number $iid 发票ID * @param number $select 需要获取的字段,为空获取全部数据 * @return array|array() 返回发票数据 */ public function getInvoiceStoreByIsid($iid = 0, $select = "") { if (! is_numeric ( $iid )) $iid = $this->authcode ( $iid ); $condition = array ( 'where' => "isid=" . $iid, 'asArray' => TRUE ); if (! empty ( $select )) $condition += array ( 'select' => $select ); $Detail = array (); if (is_numeric ( $iid ) && ! empty ( $iid )) $Detail = $this->getOne ( $condition ); if (empty ( $Detail )) return $Detail; if (isset ( $Detail ['expressCompany'] ) && ! empty ( $Detail ['expressCompany'] )) { $express = explode ( ":", $Detail ['expressCompany'] ); $Detail ['expressCompany'] = $express [0]; $Detail ['expressCom'] = $express [1]; } else { $Detail ['expressCompany'] = ''; $Detail ['expressCom'] = ''; } Doo::loadClass ( 'XDeode' ); $XDeode = new XDeode ( 5 ); $Detail ['storeKey'] = $XDeode->encode ( $Detail ['isid'] ); $Detail ['trainKey'] = $XDeode->encode ( $Detail ['trainId'] ); $Detail ['iidKey'] = $this->authcode ( $Detail ['isid'], '' ); Doo::loadModel ( 'L_category' ); $lCategory = new L_category (); $Detail ['category'] = $lCategory->getCategory (); return $Detail; } /** * 根据Isid 获得多条数据 */ function getInvoiceStoreInIsid($isid = '', $select = "") { $condition = array ( 'where' => "isid in ( " . $isid . ")", 'asArray' => TRUE ); if (! empty ( $select )) $condition += array ( 'select' => $select ); $detail = array (); if (! empty ( $isid )) $detail = $this->find ( $condition ); return $detail; } // 拷贝一条数据 function setInvoiceStoreToApproval($isid = "") { if (empty ( $isid )) return 0; $sql = 'insert into CLD_invoice (`isid`,`invoiceQuantity`, `invoiceUnitPrice`, `invoicePrice`, `moldManage`, `cid`, `categoryName`, `sid`, `userName`, `remark`, `invoiceElement`, `invoiceType`, `invoiceTitle`, `invoiceCompany`, `invoiceNo`, `TIN`, `address`, `phone`, `bank`, `bankAccount`, `doPost`, `recipients`, `recipientsPhone`, `recipientsAddress`, `mailItems`, `mailItemsJson`, `expressCompany`, `expressNumber`, `actualItems`, `untreadReason`, `untreadPost`, `untreadCompany`, `untreadNumber`, `untreadItems`) select `isid`,`invoiceQuantity`, `invoiceUnitPrice`, `invoicePrice`, `moldManage`, `cid`, `categoryName`, `sid`, `userName`, `remark`, `invoiceElement`, `invoiceType`, `invoiceTitle`, `invoiceCompany`, `invoiceNo`, `TIN`, `address`, `phone`, `bank`, `bankAccount`, `doPost`, `recipients`, `recipientsPhone`, `recipientsAddress`, `mailItems`, `mailItemsJson`, `expressCompany`, `expressNumber`, `actualItems`, `untreadReason`, `untreadPost`, `untreadCompany`, `untreadNumber`, `untreadItems` from ' . $this->_table . ' where isid=' . $isid; $query = Doo::db ()->query ( $sql ); return Doo::db ()->lastInsertId (); } /** * 批量插入多条发票发 * @param string $isid * @return number */ function setInvoiceStoreBatchToApproval($isid = "") { if (empty ( $isid )) return 0; $sql = 'insert into CLD_invoice (`isid`,`invoiceQuantity`, `invoiceUnitPrice`, `invoicePrice`, `moldManage`, `cid`, `categoryName`, `sid`, `userName`, `remark`, `invoiceElement`, `invoiceType`, `invoiceTitle`, `invoiceCompany`, `invoiceNo`, `TIN`, `address`, `phone`, `bank`, `bankAccount`, `doPost`, `recipients`, `recipientsPhone`, `recipientsAddress`, `mailItems`, `mailItemsJson`, `expressCompany`, `expressNumber`, `actualItems`, `untreadReason`, `untreadPost`, `untreadCompany`, `untreadNumber`, `untreadItems`) select `isid`,`invoiceQuantity`, `invoiceUnitPrice`, `invoicePrice`, `moldManage`, `cid`, `categoryName`, `sid`, `userName`, `remark`, `invoiceElement`, `invoiceType`, `invoiceTitle`, `invoiceCompany`, `invoiceNo`, `TIN`, `address`, `phone`, `bank`, `bankAccount`, `doPost`, `recipients`, `recipientsPhone`, `recipientsAddress`, `mailItems`, `mailItemsJson`, `expressCompany`, `expressNumber`, `actualItems`, `untreadReason`, `untreadPost`, `untreadCompany`, `untreadNumber`, `untreadItems` from ' . $this->_table . ' where isid in (' . $isid . ')'; $query = Doo::db ()->query ( $sql ); return Doo::db ()->lastInsertId (); } function delInvoiceStoreByIsid($isid='') { if (empty ( $isid )) return ''; $sql = "DELETE FROM " . $this->_table . " WHERE `isid`=" . $isid; $query = Doo::db ()->query ( $sql ); } /** * 批量更新 * @param string $isid * @return number */ function UpdateBatchInvoiceStore($sql = "") { if (empty ( $sql )) return 0; $query = Doo::db ()->query ( $sql ); } } ?>