You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

216 lines
6.0 KiB

  1. <?php
  2. class get_detail_supply
  3. {
  4. public $dict_type = array(
  5. 25 => '酒店',
  6. 259 => '车队',
  7. // 275 => '授信支付',
  8. // 288 => '预付',
  9. // 292 => '单结',
  10. // 293 => '日结',
  11. // 294 => '周结',
  12. // 295 => '月结',
  13. 310 => '巴士',
  14. 311 => '门票'
  15. );
  16. //获得数据基本流程
  17. function execGetSupply($supply_id)
  18. {
  19. //1.获取供应商基本信息
  20. $supply = $this->getSupplier($supply_id);
  21. //2.获取采购类型基本信息
  22. $supply['purchase'] = $this->getPurchase($supply_id);
  23. //3.获取联系信息
  24. $supply['link_info'] = $this->getLink($supply_id);
  25. //4将联系信息存入缓存
  26. $this -> setLinkMen($supply['link_info']);
  27. $json['code'] = '0';
  28. $json['info'] = '返回数据成功';
  29. $json['list'] = $supply;
  30. echo json_encode($json);
  31. exit();
  32. }
  33. //获得base_supplier表数据
  34. function getSupplier($supply_id)
  35. {
  36. global $pdo;
  37. $sql = "SELECT
  38. id,
  39. supplier_name,
  40. area_id,
  41. company_name,
  42. sett_type,
  43. sett_frequency,
  44. account_bank,
  45. account_num,
  46. account_name
  47. FROM
  48. base_supplier
  49. WHERE
  50. cancel_flag = 0
  51. AND id = " . $supply_id;
  52. writeLog("select base_supplier:" . $sql);
  53. $result = $pdo->query($sql);
  54. $res = $result->fetchAll(PDO::FETCH_ASSOC);
  55. if(count($res) == 0 )
  56. {
  57. $json['code'] = '1';
  58. $json['info'] = '数据已不存在';
  59. // $json['list'] = array();
  60. // $json['count'] = '0';
  61. echo json_encode($json);
  62. exit();
  63. }
  64. $res = $res[0];
  65. $area = $this -> getArea($res['area_id']);
  66. unset($res['area_id']);
  67. $res = array_merge($res,$area);
  68. return $res;
  69. }
  70. //获取所属城市基本信息
  71. function getArea($area_id)
  72. {
  73. global $pdo;
  74. $sql = "SELECT
  75. id,
  76. area_name,
  77. parent_id
  78. FROM
  79. base_area
  80. WHERE
  81. cancel_flag = 0
  82. AND id = " . $area_id;
  83. writeLog("select base_area:" . $sql);
  84. $result = $pdo->query($sql);
  85. $res1 = $result->fetchAll(PDO::FETCH_ASSOC);
  86. if(count($res1) == 0)
  87. {
  88. $json['code'] = '1';
  89. $json['info'] = 'base_area出错';
  90. echo json_encode($json);
  91. exit();
  92. }
  93. $res1 = $res1[0];
  94. if($res1['parent_id'] == 0)
  95. {
  96. $res['province_id'] = $res1['id'];
  97. $res['province_name'] = $res1['area_name'];
  98. }
  99. else
  100. {
  101. $sql = "SELECT
  102. id,
  103. area_name
  104. FROM
  105. base_area
  106. WHERE
  107. cancel_flag = 0
  108. AND id = " . $res1['parent_id'];
  109. writeLog("select base_area:" . $sql);
  110. $result = $pdo->query($sql);
  111. $res2 = $result->fetchAll(PDO::FETCH_ASSOC);
  112. $res2 = $res2[0];
  113. if(count($res2) == 0)
  114. {
  115. $json['code'] = '1';
  116. $json['info'] = 'base_area出错';
  117. echo json_encode($json);
  118. exit();
  119. }
  120. $res['province_id'] = $res2['id'];
  121. $res['province_name'] = $res2['area_name'];
  122. $res['city_id'] = $res1['id'];
  123. $res['city_name'] = $res1['area_name'];
  124. }
  125. return $res;
  126. }
  127. //获取采购信息
  128. function getPurchase($supply_id)
  129. {
  130. global $pdo;
  131. $sql = "SELECT
  132. id,
  133. product_type,
  134. purchaser_name
  135. FROM
  136. base_supplier_purchase
  137. WHERE
  138. cancel_flag = 0
  139. AND supplier_id = " . $supply_id;
  140. writeLog("select base_supplier_purchase:" . $sql);
  141. $result = $pdo->query($sql);
  142. $res = $result->fetchAll(PDO::FETCH_ASSOC);
  143. return $res;
  144. }
  145. //获取联系信息
  146. function getLink($supply_id)
  147. {
  148. global $pdo;
  149. $sql = "SELECT
  150. id,
  151. link_name,
  152. contact_name,
  153. contact_mobile,
  154. contact_telphone,
  155. fax,
  156. email,
  157. remark
  158. FROM
  159. base_supplier_link
  160. WHERE
  161. cancel_flag = 0
  162. AND supplier_id = " . $supply_id;
  163. writeLog("select base_supplier_link:" . $sql);
  164. $result = $pdo->query($sql);
  165. $res = $result->fetchAll(PDO::FETCH_ASSOC);
  166. return $res;
  167. }
  168. //将联系信息存入缓存
  169. function setLinkMen($link)
  170. {
  171. if(!isset($_COOKIE['memcache']))
  172. {
  173. $time = time();
  174. setcookie('memcache',time(),time()+36000,"/");
  175. $_COOKIE['memcache'] = $time;
  176. }
  177. $key = $_COOKIE['memcache'];
  178. foreach($link as $k=>$v)
  179. {
  180. $link_memcache[$v['id']] = $v;
  181. // $link_memcache[$v['id']]['is_db'] = '1';
  182. // $link_memcache[$v['id']]['is_update'] = '0';
  183. $link_memcache[$v['id']]['link_id'] = $v['id'];
  184. unset($link_memcache[$v['id']]['id']);
  185. }
  186. set_memcache("ZHANGS_LINK" . $key,$link_memcache);
  187. }
  188. }
  189. $supply_id = $_POST['supply_id'];//供应商id
  190. $get_detail_supply = new get_detail_supply();
  191. $get_detail_supply->execGetSupply($supply_id);
  192. ?>