invoiceOperationLog.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. <?php
  2. Doo::loadCore ( 'db/DooModel' );
  3. /**
  4. * 开票操作日志 业务逻辑
  5. *
  6. * @author CP.
  7. * @version 1.0
  8. * @namespace invoice
  9. * @package invoiceModel
  10. */
  11. class invoiceOperationLog extends DooModel {
  12. /**
  13. *
  14. * @var integer $lid 操作日志ID
  15. */
  16. public $lid;
  17. /**
  18. *
  19. * @var string $username 操作员相关:名称
  20. */
  21. public $username;
  22. /**
  23. *
  24. * @var string $category 办事处
  25. */
  26. public $category;
  27. /**
  28. *
  29. * @var string $img 操作员相关:头像
  30. */
  31. public $img;
  32. /**
  33. *
  34. * @var integer $uid 用户ID
  35. */
  36. public $uid;
  37. /**
  38. * 操作时间
  39. * @var datetime
  40. */
  41. public $date;
  42. /**
  43. * 操作动作
  44. * @var string
  45. */
  46. public $operation;
  47. /**
  48. * 开票ID
  49. * @var integer
  50. */
  51. public $iid;
  52. /**
  53. * 发票操作时的状态
  54. * @var integer
  55. */
  56. public $status;
  57. /**
  58. * 表名
  59. * @var string
  60. */
  61. public $_table = 'CLD_invoiceOperationLog';
  62. /**
  63. * 表主键
  64. * @var string
  65. */
  66. public $_primarykey = 'lid';
  67. /**
  68. * 表字段
  69. * @var array
  70. */
  71. public $_fields = array (
  72. 'lid',
  73. 'username',
  74. 'uid',
  75. 'category',
  76. 'date',
  77. 'operation',
  78. 'img',
  79. 'iid',
  80. 'status'
  81. );
  82. public function __construct() {
  83. parent::setupModel ( __CLASS__ );
  84. }
  85. /**
  86. * 添加相关开票操作日志
  87. *
  88. * @param array $item 要记录的相关发票操作数据
  89. * @return integer|0 返回操作ID
  90. */
  91. public function setInvoiceOperationLog($item = array()) {
  92. $lid = 0;
  93. if (is_array ( $item ) && ! empty ( $item )) {
  94. foreach ( $item as $key => $value ) {
  95. $this->$key = $value;
  96. }
  97. $lid = $this->insert ();
  98. }
  99. return $lid;
  100. }
  101. /**
  102. * 根据发票ID获取操作日志数据
  103. *
  104. * @param integer $iid 发票ID
  105. * @param integer $desc 获得一条操作日志最新或者最旧
  106. * @return array|array() 发票审批操作日志数据集
  107. */
  108. public function getInvoiceOperationLogByIid($iid = 0, $desc = '') {
  109. $list = array ();
  110. if (! empty ( $iid ) && is_numeric ( $iid ) && empty ( $desc ))
  111. $list = $this->find ( array (
  112. 'where' => ' iid=' . $iid,
  113. 'asArray' => true
  114. ) );
  115. elseif (! empty ( $desc ))
  116. $list = $this->getOne ( array (
  117. 'where' => 'iid=' . $iid,
  118. $desc => 'lid',
  119. 'asArray' => true
  120. ) );
  121. return $list;
  122. }
  123. /**
  124. * 获得一条最新的退回操作记录
  125. * @param number $iid
  126. * @param string $desc
  127. * @return unknown
  128. */
  129. public function getInvoiceOperationByDropped($iid = 0, $desc = 'desc') {
  130. $list = $this->getOne ( array (
  131. 'where' => ' iid=' . $iid . ' and status=3',
  132. $desc => 'lid',
  133. 'asArray' => true
  134. ) );
  135. return $list;
  136. }
  137. public function getInvoiceOperationInStatus($iid = 0, $status = '0'){
  138. $list = $this->getOne ( array (
  139. 'where' => 'iid=' . $iid . ' and status in(' . $status.')',
  140. 'desc' => 'lid',
  141. 'asArray' => true
  142. ) );
  143. return $list;
  144. }
  145. /**
  146. * 根据状态和发票ID获得一条最新的操作日志
  147. * @param number $iid
  148. * @param number $status
  149. * @param string $desc
  150. * @return unknown
  151. */
  152. public function getInvoiceOperationByStatus($iid = 0, $status = 0, $desc = 'desc') {
  153. $list = $this->getOne ( array (
  154. 'where' => 'iid=' . $iid . ' and status=' . $status,
  155. $desc => 'lid',
  156. 'asArray' => true
  157. ) );
  158. return $list;
  159. }
  160. /**
  161. * 根据sql执行
  162. * @param string $sql
  163. * @return boolean
  164. */
  165. function setInvoiceOperationLogBySql($sql = "") {
  166. if (empty ( $sql ))
  167. return false;
  168. $query = Doo::db ()->query ( $sql );
  169. return true;
  170. }
  171. }
  172. ?>