BatchInfo.php 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294
  1. <?php
  2. /*
  3. * Copyright (c) 2008-2016 vip.com, All Rights Reserved.
  4. *
  5. * Powered by com.vip.osp.osp-idlc-2.5.11.
  6. *
  7. */
  8. namespace vipapis\overseas;
  9. class BatchInfo {
  10. static $_TSPEC;
  11. public $vendor_id = null;
  12. public $po_no = null;
  13. public $co_mode = null;
  14. public $trade_mode = null;
  15. public $pallet = null;
  16. public $schedule_id = null;
  17. public $product_list = null;
  18. public function __construct($vals=null){
  19. if (!isset(self::$_TSPEC)){
  20. self::$_TSPEC = array(
  21. 1 => array(
  22. 'var' => 'vendor_id'
  23. ),
  24. 2 => array(
  25. 'var' => 'po_no'
  26. ),
  27. 3 => array(
  28. 'var' => 'co_mode'
  29. ),
  30. 4 => array(
  31. 'var' => 'trade_mode'
  32. ),
  33. 5 => array(
  34. 'var' => 'pallet'
  35. ),
  36. 6 => array(
  37. 'var' => 'schedule_id'
  38. ),
  39. 7 => array(
  40. 'var' => 'product_list'
  41. ),
  42. );
  43. }
  44. if (is_array($vals)){
  45. if (isset($vals['vendor_id'])){
  46. $this->vendor_id = $vals['vendor_id'];
  47. }
  48. if (isset($vals['po_no'])){
  49. $this->po_no = $vals['po_no'];
  50. }
  51. if (isset($vals['co_mode'])){
  52. $this->co_mode = $vals['co_mode'];
  53. }
  54. if (isset($vals['trade_mode'])){
  55. $this->trade_mode = $vals['trade_mode'];
  56. }
  57. if (isset($vals['pallet'])){
  58. $this->pallet = $vals['pallet'];
  59. }
  60. if (isset($vals['schedule_id'])){
  61. $this->schedule_id = $vals['schedule_id'];
  62. }
  63. if (isset($vals['product_list'])){
  64. $this->product_list = $vals['product_list'];
  65. }
  66. }
  67. }
  68. public function getName(){
  69. return 'BatchInfo';
  70. }
  71. public function read($input){
  72. $input->readStructBegin();
  73. while(true){
  74. $schemeField = $input->readFieldBegin();
  75. if ($schemeField == null) break;
  76. $needSkip = true;
  77. if ("vendor_id" == $schemeField){
  78. $needSkip = false;
  79. $input->readString($this->vendor_id);
  80. }
  81. if ("po_no" == $schemeField){
  82. $needSkip = false;
  83. $input->readString($this->po_no);
  84. }
  85. if ("co_mode" == $schemeField){
  86. $needSkip = false;
  87. $input->readString($this->co_mode);
  88. }
  89. if ("trade_mode" == $schemeField){
  90. $needSkip = false;
  91. $input->readString($this->trade_mode);
  92. }
  93. if ("pallet" == $schemeField){
  94. $needSkip = false;
  95. $input->readString($this->pallet);
  96. }
  97. if ("schedule_id" == $schemeField){
  98. $needSkip = false;
  99. $input->readString($this->schedule_id);
  100. }
  101. if ("product_list" == $schemeField){
  102. $needSkip = false;
  103. $this->product_list = array();
  104. $_size0 = 0;
  105. $input->readListBegin();
  106. while(true){
  107. try{
  108. $elem0 = null;
  109. $elem0 = new \vipapis\overseas\BatchDetailInfo();
  110. $elem0->read($input);
  111. $this->product_list[$_size0++] = $elem0;
  112. }
  113. catch(\Exception $e){
  114. break;
  115. }
  116. }
  117. $input->readListEnd();
  118. }
  119. if($needSkip){
  120. \Osp\Protocol\ProtocolUtil::skip($input);
  121. }
  122. $input->readFieldEnd();
  123. }
  124. $input->readStructEnd();
  125. }
  126. public function write($output){
  127. $xfer = 0;
  128. $xfer += $output->writeStructBegin();
  129. $xfer += $output->writeFieldBegin('vendor_id');
  130. $xfer += $output->writeString($this->vendor_id);
  131. $xfer += $output->writeFieldEnd();
  132. $xfer += $output->writeFieldBegin('po_no');
  133. $xfer += $output->writeString($this->po_no);
  134. $xfer += $output->writeFieldEnd();
  135. $xfer += $output->writeFieldBegin('co_mode');
  136. $xfer += $output->writeString($this->co_mode);
  137. $xfer += $output->writeFieldEnd();
  138. $xfer += $output->writeFieldBegin('trade_mode');
  139. $xfer += $output->writeString($this->trade_mode);
  140. $xfer += $output->writeFieldEnd();
  141. if($this->pallet !== null) {
  142. $xfer += $output->writeFieldBegin('pallet');
  143. $xfer += $output->writeString($this->pallet);
  144. $xfer += $output->writeFieldEnd();
  145. }
  146. $xfer += $output->writeFieldBegin('schedule_id');
  147. $xfer += $output->writeString($this->schedule_id);
  148. $xfer += $output->writeFieldEnd();
  149. $xfer += $output->writeFieldBegin('product_list');
  150. if (!is_array($this->product_list)){
  151. throw new \Osp\Exception\OspException('Bad type in structure.', \Osp\Exception\OspException::INVALID_DATA);
  152. }
  153. $output->writeListBegin();
  154. foreach ($this->product_list as $iter0){
  155. if (!is_object($iter0)) {
  156. throw new \Osp\Exception\OspException('Bad type in structure.', \Osp\Exception\OspException::INVALID_DATA);
  157. }
  158. $xfer += $iter0->write($output);
  159. }
  160. $output->writeListEnd();
  161. $xfer += $output->writeFieldEnd();
  162. $xfer += $output->writeFieldStop();
  163. $xfer += $output->writeStructEnd();
  164. return $xfer;
  165. }
  166. }
  167. ?>