InterOrder.php 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506
  1. <?php
  2. namespace app\admin\controller;
  3. use think\facade\Db;
  4. use think\facade\Validate;
  5. use think\App;
  6. class InterOrder extends Base {
  7. public function __construct(App $app) {
  8. parent::__construct($app);
  9. }
  10. /**
  11. * @return \think\response\Json|void
  12. * @throws \think\db\exception\DataNotFoundException
  13. * @throws \think\db\exception\DbException
  14. * @throws \think\db\exception\ModelNotFoundException
  15. */
  16. public function list(){
  17. $param = $this->request->only(["page"=>1,"size"=>10,'cgdNo'=>"","qrdNo"=>"","khNo"=>"",
  18. "supplierNo"=>"","companyNo"=>"","starttime"=>"","endtime"=>"","sale_name"=>"","cgd_saler"=>""],"post","trim");
  19. $where=[];
  20. if($param['cgdNo']!="") $where[]=["a.cgdNo","like","%{$param['cgdNo']}%"];
  21. if($param['qrdNo']!="") $where[]=["a.orderCode","like","%{$param['qrdNo']}%"];
  22. if($param['khNo']!="") $where[]=["b.customer_code","like","%{$param['khNo']}%"];
  23. if($param['companyNo']!="") $where[]=["c.companyNo","like","%{$param['companyNo']}%"];
  24. if($param['supplierNo']!="") $where[]=["c.supplierNo","like","%{$param['supplierNo']}%"];
  25. if($param['starttime']!="") $where[]=["a.addtime",">=",date("Y-m-d 00:00:00",strtotime($param['starttime']))];
  26. if($param['endtime']!="") $where[]=["a.addtime","<=",date("Y-m-d 23:59:59",strtotime($param['endtime']))];
  27. if($param['sale_name']!="") $where[]=["b.apply_name","like","%{$param['sale_name']}%"];
  28. if($param['cgd_saler']!="") $where[]=["c.cgder","like","%{$param['cgd_saler']}%"];
  29. $count= Db::name("inter_order")->alias("a")
  30. ->leftJoin("qrd_caixiao b","a.orderCode=b.sequenceNo")
  31. ->leftJoin("cgd_caixiao c","a.cgdNo=c.s.cgdNo")->where($where)->count();
  32. $total =ceil($count/$param['size']);
  33. $page =$total>=$param['page'] ? intval($param['page']): intval($total);
  34. $list= Db::name("inter_order")->alias("a")
  35. ->leftJoin("qrd_info b","a.orderCode=b.orderCode")
  36. ->leftJoin("cgd_info c","a.cgdNo=c.sequenceNo")
  37. ->field("a.id,
  38. a.orderCode,
  39. b.customer_name ,
  40. b.customer_code,
  41. c.companyName,
  42. c.companyNo,
  43. a.rate*100 as cgd_tax,
  44. c.supplier_name,
  45. c.supplierNo,
  46. b.poNo,
  47. a.addtime,
  48. b.apply_name as sale_name,
  49. c.cgder as cgd_saler,
  50. c.depart as cgd_depart,
  51. b.depart as sale_depart,
  52. b.goodName,
  53. b.tax,
  54. b.sale_price,
  55. b.good_num ,
  56. b.total_price,
  57. b.order_type,
  58. b.cat_name,
  59. a.cgdNo,
  60. b.workNo")
  61. ->json(["cat_name"])
  62. ->where($where)->page($page,intval($param['size']))
  63. ->select()->toArray();
  64. return app_show(0,"获取成功",["list"=>$list,"count"=>$count]);
  65. }
  66. public function create(){
  67. $param =$this->request->only(["token"=>"",
  68. "saleid"=>"","companyNo"=>'',"poNo"=>"","workNo"=>"","khNo"=>"","order_type"=>"","goodName"=>"",
  69. "tax"=>"","goodNum"=>"","goodPrice"=>"","mobile"=>"","addr"=>"","contactor"=>"",
  70. "buyerid"=>"","sendtime"=>"","cat_id"=>'',"supplierNo"=>"","cgd_tax"=>""
  71. ],"post");
  72. $valid =Validate::rule([
  73. "token"=>"require|max:255|min:1",
  74. "saleid|业务员名称"=>"require|number|gt:0",
  75. "companyNo|业务公司编号"=>"require|max:255|min:1",
  76. "supplierNo|业务公司编号"=>"require|max:255|min:1",
  77. "poNo|PO编号"=>"require|max:255|min:1",
  78. "workNo|单据编号"=>"require|max:255|min:1",
  79. "khNo|客户公司编号"=>"require|max:255|min:1",
  80. "order_type|订单类型"=>"require|number|in:[1,2,3]",
  81. "goodName|商品名称"=>"require|max:255|min:1",
  82. "tax|税率"=>"require|number|gt:0",
  83. "goodNum|商品数量"=>"require|number|gt:0",
  84. "goodPrice|商品单价"=>"require|number|gt:0",
  85. "mobile|联系人电话"=>"require|number|mobile",
  86. "contactor|联系人"=>"require|max:255|min:1",
  87. "addr|收货地址"=>"require|max:255|min:1",
  88. "buyerid|销售员"=>"require|number|gt:0",
  89. "sendtime|发货时间"=>"require|date",
  90. "cat_id|商品分类ID"=>"require|number|gt:0",
  91. "cgd_tax|采购毛利率"=>"require|number|gt:0",
  92. ]);
  93. if($valid->check($param)==false)return error_show(1004,$valid->getError());
  94. $qrdcode =makeNo("QRD");
  95. $cgddcode =makeNo("CGD");
  96. $goodCode =makeNo("SPU");
  97. $customer =Db::name("customer_info")->where('companyNo', "=", $param['khNo'])->find();
  98. $supplierName =Db::name("supplier")->where('code', "=", $param['supplierNo'])->value("name","");
  99. $companyName =Db::name("supplier")->where('code', "=", $param['companyNo'])->value("name","");
  100. $param["cgd_tax"]=$param["cgd_tax"]/100;
  101. $inter=[
  102. "cgdNo"=>$cgddcode,
  103. "orderCode"=>$qrdcode,
  104. "rate"=>$param["cgd_tax"],
  105. "apply_id"=>$this->uid,
  106. "apply_name"=>$this->uname,
  107. "mobile"=>$param['mobile'],
  108. "contactor"=>$param['contactor'],
  109. "sendtime"=>$param['sendtime'],
  110. "addr"=>$param['addr'],
  111. ];
  112. $saleinfo= GetInfoById($param['token'],['id'=>$param['saleid']]);
  113. if(empty($to)||$to['code']!=0){
  114. return app_show(1002,"销售员工信息不存在");
  115. }
  116. $buyer= GetInfoById($param['token'],['id'=>$param['buyerid']]);
  117. if(empty($to)||$to['code']!=0){
  118. return app_show(1002,"采购员工信息不存在");
  119. }
  120. $qrd =['orderCode' => $qrdcode,
  121. 'apply_id' => $param['saleid'] ?? 0,
  122. 'apply_name' => $saleinfo['data']['nickname'] ?? '',
  123. 'order_type' => 2,
  124. 'order_source' =>1,
  125. 'platform_id' => '',
  126. 'good_code' => $goodCode,
  127. 'cat_id' => $param['cat_id'] ?? 0,
  128. 'cat_name' => json_encode($this->_get_cat_list($param['cat_id']), JSON_UNESCAPED_UNICODE),
  129. 'good_name' => $param['goodName'] ?? '',
  130. 'good_num' => $param['goodNum'] ?? 0,
  131. 'good_type' =>1,
  132. 'is_activity' => 0,
  133. 'is_stock' => 0,
  134. 'arrive_time' => '',
  135. 'customer_code' => $customer['companyNo'] ?? '',
  136. 'customer_name' => $customer['companyName'] ?? '',
  137. 'supplierNo' => $param['companyNo'],
  138. 'supplier_name' => $companyName ?? '',
  139. 'zxNo' => '',
  140. 'proof_id' => 0,
  141. 'proof_url' => '',
  142. 'other_orderNo' =>'' ,
  143. 'paytime' => '',
  144. 'workNo' => $param['workNo'] ?? '',
  145. 'poNo' => $param['poNo'] ?? '',
  146. 'use_order' => '',
  147. 'good_weight' => 0,
  148. 'addtime' => date("Y-m-d H:i:s"),
  149. 'noble_metal' => '',
  150. 'brand' =>'',
  151. 'unit' => '',
  152. 'cost_desc' => '',
  153. 'noble_weight' => 0,
  154. 'tax' => $param['tax'],
  155. 'lead_time' => 0,
  156. 'depart' => get_company_name_by_uid($param['saleid'] ?? 0) ?? '',
  157. 'cgdNo' => $cgddcode,
  158. 'pay_id' =>0,
  159. 'oldCode' => 0,
  160. 'origin_price' => 0,
  161. 'sale_price' => round($param['goodPrice'], 4),
  162. 'total_price' =>round($param['goodPrice']*$param['goodNum'], 4),
  163. 'post_fee' => 0,
  164. 'is_diff' => 0,
  165. 'send_num' => $param['goodNum'],
  166. 'wsend_num' => 0,
  167. 'th_num' => 0,
  168. 'send_type' => 0,
  169. 'gold_price' =>0,
  170. 'cost_price' => 0,
  171. 'status' => 2,
  172. 'updatetime' =>date("Y-m-d H:i:s"),
  173. 'delivery_day' => 0,
  174. 'th_fee' => 0,
  175. 'cost_fee' => 0,
  176. 'diff_fee' => 0,
  177. 'diff_weight' => 0,
  178. 'send_status' =>3,
  179. ];
  180. $cgd=[
  181. 'cgdNo' => $cgddcode,
  182. 'bkcode' => '',
  183. 'wsm_code' => '',
  184. 'cgder' => $buyer['data']['nickname'] ?? '',
  185. 'cgder_id' => $param['buyerid'] ?? 0,
  186. 'depart' => get_company_name_by_uid($param['buyerid'] ?? 0) ?? '',
  187. 'qrdNo' => $qrdcode,
  188. 'spuCode' => $goodCode,
  189. 'good_name' => $param['goodName'],
  190. 'skuCode' =>'',
  191. 'good_num' => $param['goodNum'] ?? 0,
  192. 'cat_name' => json_encode($this->_get_cat_list($param['cat_id']), JSON_UNESCAPED_UNICODE),
  193. 'companyNo' => $param['companyNo'],
  194. 'companyName' => $companyName,
  195. 'supplierNo' => $param['supplierNo'],
  196. 'supplier_name' => $supplierName,
  197. 'bktime' => '',
  198. 'bkcreater' => '',
  199. 'noble_metal' => '',
  200. 'brand' => '',
  201. 'unit' => '',
  202. 'cost_desc' => '',
  203. 'noble_weight' => '',
  204. 'tax' => $param['tax'] ?? '',
  205. 'is_stock' =>0,
  206. 'delivery_day' => 0,
  207. 'lead_time' => 0,
  208. 'is_diff' =>0,
  209. 'addtime' =>date("Y-m-d H:i:s"),
  210. 'supplier_persion' => $buyer['data']['nickname'] ?? '',
  211. 'supplier_persionid' => $param['buyerid'] ?? 0,
  212. 'pay_id' => 0,
  213. 'oldCode' => '',
  214. 'good_price' => round($param['goodPrice']*(1-$param['cgd_tax']), 4),
  215. 'total_fee' => round($param['goodNum']*$param['goodPrice']*(1-$param['cgd_tax']),4),
  216. 'pakage_fee' => 0,
  217. 'open_fee' => 0,
  218. 'cert_fee' => 0,
  219. 'delivery_fee' => 0,
  220. 'mark_fee' => 0,
  221. 'teach_fee' => 0,
  222. 'nake_fee' => 0,
  223. 'demo_fee' => 0,
  224. 'weight' => 0,
  225. 'diff_weight' =>0,
  226. 'diff_fee' => 0,
  227. 'gold_price' =>0,
  228. 'send_num' => $param['goodNum'],
  229. 'wsend_num' => 0,
  230. 'status' =>3 ,
  231. 'order_type' =>2,
  232. 'order_source' => 1,//支付渠道
  233. 'good_type' => 1,
  234. 'last_time' => '',
  235. 'send_type' => 1,
  236. 'send_status' => 3,
  237. 'th_num' => 0,
  238. 'th_fee' =>0,
  239. 'updatetime' =>date("Y-m-d H:i:s"),
  240. ];
  241. $good=[
  242. "spuCode" => $goodCode,
  243. "good_name" => $param['goodName'],
  244. "brand_id" => 0,
  245. "good_unit" => 0,
  246. "cat_id" => $param['cat_id'],
  247. "good_type" => 1,
  248. "moq" => 1,
  249. "customized" => 0,
  250. "tax" => $param['tax'],
  251. "supplierNo" => $param["supplierNo"],
  252. "is_auth" => 0,
  253. "craft_desc" => $param['goodName'],
  254. "good_remark" => "",
  255. "platform_id" =>0,
  256. "good_img" => '',
  257. "good_thumb_img" => "",
  258. "good_info_img" => "",
  259. "specinfo" => '',
  260. "work_day" => 0,
  261. "noble_metal" => 0,
  262. "is_gold_price" =>0,
  263. "config" => '',
  264. "other_config" => '',
  265. "weight" =>0,
  266. "good_weight" => 0,
  267. "is_diff" => 0,
  268. "supply_area" =>0,
  269. "pay_way" => 0,
  270. "send_way" => 1,
  271. "companyNo" => $param['comapnyNo'],
  272. "status" => 1,
  273. "is_del" => 0,
  274. "createrid" => $this->uid,
  275. "creater" => $this->uname,
  276. "addtime" => date("Y-m-d H:i:s"),
  277. "updatetime" => date("Y-m-d H:i:s"),
  278. 'proof_type' => 0,//凭证类型
  279. 'proof_url' => '',//凭证文件
  280. ];
  281. Db::startTrans();
  282. try {
  283. $a = Db::name("qrd_caixiao")->insert($qrd);
  284. $d = Db::name("inter_order")->insert($inter);
  285. $b = Db::name('cgd_caixiao')->insert($cgd);
  286. $c = Db::name('good_zixun')->insert($good);
  287. if ($a && $b && $c&&$d) {
  288. Db::commit();
  289. return app_show(0,'新建成功');
  290. } else {
  291. Db::rollback();
  292. return error_show(1004,'新建失败');
  293. }
  294. } catch (\Exception $e) {
  295. Db::rollback();
  296. return error_show(1004, $e->getMessage());
  297. }
  298. }
  299. public function save(){
  300. $param =$this->request->only(["token"=>"",
  301. "saleid"=>"","companyNo"=>'',"poNo"=>"","workNo"=>"","khNo"=>"","order_type"=>"","goodName"=>"",
  302. "tax"=>"","goodNum"=>"","goodPrice"=>"","mobile"=>"","addr"=>"","contactor"=>"",
  303. "buyerid"=>"","sendtime"=>"","cat_id"=>'',"supplierNo"=>"","cgd_tax"=>"","id"=>""
  304. ],"post");
  305. $valid =Validate::rule([
  306. "token"=>"require|max:255|min:1",
  307. "id|主键ID"=>"require|number|gt:0",
  308. "saleid|业务员名称"=>"require|number|gt:0",
  309. "companyNo|业务公司编号"=>"require|max:255|min:1",
  310. "supplierNo|业务公司编号"=>"require|max:255|min:1",
  311. "poNo|PO编号"=>"require|max:255|min:1",
  312. "workNo|单据编号"=>"require|max:255|min:1",
  313. "khNo|客户公司编号"=>"require|max:255|min:1",
  314. "order_type|订单类型"=>"require|number|in:[1,2,3]",
  315. "goodName|商品名称"=>"require|max:255|min:1",
  316. "tax|税率"=>"require|number|gt:0",
  317. "goodNum|商品数量"=>"require|number|gt:0",
  318. "goodPrice|商品单价"=>"require|number|gt:0",
  319. "mobile|联系人电话"=>"require|number|mobile",
  320. "contactor|联系人"=>"require|max:255|min:1",
  321. "addr|收货地址"=>"require|max:255|min:1",
  322. "buyerid|销售员"=>"require|number|gt:0",
  323. "sendtime|发货时间"=>"require|date",
  324. "cat_id|商品分类ID"=>"require|number|gt:0",
  325. "cgd_tax|采购毛利率"=>"require|number|gt:0",
  326. ]);
  327. if($valid->check($param)==false)return error_show(1004,$valid->getError());
  328. $inter_order=Db::name("inter_order")->where(["id"=>$param['id']])->findOrEmpty();
  329. if(empty($inter_order)) return error_show(1004,"未找到订单数据");
  330. $qrd_order=Db::name("qrd_caixiao")->where(["orderCode"=>$inter_order['orderCode']])->findOrEmpty();
  331. if(empty($qrd_order)) return error_show(1004,"未找到销售单数据");
  332. $cgd_order=Db::name("cgd_caixiao")->where(["cgdNo"=>$inter_order['cgdNo']])->findOrEmpty();
  333. if(empty($cgd_order)) return error_show(1004,"未找到采购单数据");
  334. $customer =Db::name("customer_info")->where('companyNo', "=", $param['khNo'])->find();
  335. $supplierName =Db::name("supplier")->where('code', "=", $param['supplierNo'])->value("name","");
  336. $companyName =Db::name("supplier")->where('code', "=", $param['companyNo'])->value("name","");
  337. $param["cgd_tax"]=$param["cgd_tax"]/100;
  338. $inter=[
  339. "id"=>$inter_order['id'],
  340. "rate"=>$param["cgd_tax"],
  341. "mobile"=>$param['mobile'],
  342. "contactor"=>$param['contactor'],
  343. "addr"=>$param['addr'],
  344. "sendtime"=>$param['sendtime'],
  345. "updatetime"=>date("Y-m-d H:i:s")
  346. ];
  347. $saleinfo= GetInfoById($param['token'],['id'=>$param['saleid']]);
  348. if(empty($to)||$to['code']!=0){
  349. return app_show(1002,"销售员工信息不存在");
  350. }
  351. $buyer= GetInfoById($param['token'],['id'=>$param['buyerid']]);
  352. if(empty($to)||$to['code']!=0){
  353. return app_show(1002,"采购员工信息不存在");
  354. }
  355. $qrd =['id' => $qrd_order['id'],
  356. 'apply_id' => $param['saleid'] ?? 0,
  357. 'apply_name' => $saleinfo['data']['nickname'] ?? '',
  358. 'cat_id' => $param['cat_id'] ?? 0,
  359. 'cat_name' => json_encode($this->_get_cat_list($param['cat_id']), JSON_UNESCAPED_UNICODE),
  360. 'good_name' => $param['goodName'] ?? '',
  361. 'good_num' => $param['goodNum'] ?? 0,
  362. 'customer_code' => $customer['companyNo'] ?? '',
  363. 'customer_name' => $customer['companyName'] ?? '',
  364. 'supplierNo' => $param['companyNo'],
  365. 'supplier_name' => $companyName ?? '',
  366. 'workNo' => $param['workNo'] ?? '',
  367. 'poNo' => $param['poNo'] ?? '',
  368. 'tax' => $param['tax'],
  369. 'depart' => get_company_name_by_uid($param['saleid'] ?? 0) ?? '',
  370. 'sale_price' => round($param['goodPrice'], 4),
  371. 'total_price' =>round($param['goodPrice']*$param['goodNum'], 4),
  372. 'send_num' => $param['goodNum'],
  373. 'updatetime' =>date("Y-m-d H:i:s")];
  374. $cgd=[
  375. 'id' => $cgd_order['id'],
  376. 'cgder' => $buyer['data']['nickname'] ?? '',
  377. 'cgder_id' => $param['buyerid'] ?? 0,
  378. 'depart' => get_company_name_by_uid($param['buyerid'] ?? 0) ?? '',
  379. 'good_name' => $param['goodName'],
  380. 'good_num' => $param['goodNum'] ?? 0,
  381. 'cat_name' => json_encode($this->_get_cat_list($param['cat_id']), JSON_UNESCAPED_UNICODE),
  382. 'companyNo' => $param['companyNo'],
  383. 'companyName' => $companyName,
  384. 'supplierNo' => $param['supplierNo'],
  385. 'supplier_name' => $supplierName,
  386. 'tax' => $param['tax'] ?? '',
  387. 'supplier_persion' => $buyer['data']['nickname'] ?? '',
  388. 'supplier_persionid' => $param['buyerid'] ?? 0,
  389. 'good_price' => round($param['goodPrice']*(1-$param['cgd_tax']), 4),
  390. 'total_fee' => round($param['goodNum']*$param['goodPrice']*(1-$param['cgd_tax']),4),
  391. 'send_num' => $param['goodNum'],
  392. 'updatetime' =>date("Y-m-d H:i:s"),
  393. ];
  394. Db::startTrans();
  395. try {
  396. $a = Db::name("qrd_caixiao")->save($qrd);
  397. $d = Db::name("inter_order")->save($inter);
  398. $b = Db::name('cgd_caixiao')->save($cgd);
  399. if ($a && $b && $d) {
  400. Db::commit();
  401. return app_show(0,'更新成功');
  402. } else {
  403. Db::rollback();
  404. return error_show(1004,'更新失败');
  405. }
  406. } catch (\Exception $e) {
  407. Db::rollback();
  408. return error_show(1004, $e->getMessage());
  409. }
  410. }
  411. // "id|主键ID"=>"require|number|gt:0",
  412. // "sale_name|业务员名称"=>"require|max:255|min:1",
  413. // "sale_id|业务员名称"=>"require|number|gt:0",
  414. // "companyNo|业务公司编号"=>"require|max:255|min:1",
  415. // "supplierNo|业务公司编号"=>"require|max:255|min:1",
  416. // "poNo|PO编号"=>"require|max:255|min:1",
  417. // "sequenceNo|单据编号"=>"require|max:255|min:1",
  418. // "khNo|客户公司编号"=>"require|max:255|min:1",
  419. // "qrdType|订单类型"=>"require|number|in:[1,2,3]",
  420. // "goodName|商品名称"=>"require|max:255|min:1",
  421. // "tax|税率"=>"require|number|gt:0",
  422. // "goodNum|商品数量"=>"require|number|gt:0",
  423. // "goodPrice|商品单价"=>"require|number|gt:0",
  424. // "mobile|联系人电话"=>"require|number|mobile",
  425. // "contactor|联系人"=>"require|max:255|min:1",
  426. // "addr|收货地址"=>"require|max:255|min:1",
  427. // "buyer|销售员"=>"require|max:255|min:1",
  428. // "buyerid|销售员"=>"require|number|gt:0",
  429. // "sendtime|发货时间"=>"require|date",
  430. // "cat|商品分类"=>"require|array",
  431. // "cgd_tax|采购毛利率"=>"require|number|gt:0",
  432. // "sale_depart|销售员部门"=>"require|max:255|min:1",
  433. // "cgd_depart|采购员部门"=>"require|max:255|min:1",
  434. public function info(){
  435. $post=$this->request->post();
  436. $id = isset($post['id'])&&$post['id']!='' ? $post['id'] :"";
  437. if($id=='') return error_show(1004,"参数id 不能为空");
  438. $condition = [['a.id',"=",$id]];
  439. $list=Db::name('inter_order')->alias('a')->join('qrd_caixiao b','a.orderCode=b.orderCode','left')
  440. ->join('cgd_caixiao c','a.cgdNo=c.cgdNo','left')->json(["cat_name"])->where($condition)
  441. ->order("a.addtime desc")->field('a.id,
  442. b.good_code ,
  443. a.orderCode,
  444. b.customer_code as khNo,
  445. b.customer_name as khName,
  446. c.companyName,
  447. c.companyNo,
  448. b.poNo,
  449. b.workNo,
  450. a.addtime,
  451. b.apply_name as sale_name,
  452. b.apply_id as saleid,
  453. b.depart as sale_depart,
  454. b.good_name goodName,
  455. b.tax,
  456. b.cat_name as cat,
  457. b.sale_price goodPrice,
  458. b.good_num goodNum,
  459. b.total_price,
  460. b.order_type,
  461. c.supplier_name,
  462. c.supplierNo,
  463. a.cgdNo,
  464. c.cgder as buyer,
  465. c.cgderid as buyerid,
  466. c.depart as cgd_depart,
  467. a.sendtime ,
  468. a.rate*100 as cgd_tax,
  469. a.contactor,
  470. a.mobile,
  471. a.addr
  472. ')->findOrEmpty();
  473. if(empty($list)){
  474. return error_show(1004,'未找到数据');
  475. }
  476. return app_show(0,"获取成功",$list);
  477. }
  478. //获取分类层级信息,id、cat_name(分类名称)和fund_code(财务核算码)
  479. private function _get_cat_list($var, $data = [])
  480. {
  481. $str = Db::name('cat')
  482. ->field('id,cat_name,fund_code,pid')
  483. ->where(['id' => $var])
  484. ->findOrEmpty();
  485. if ($str == false) return [];
  486. $vmn = [];
  487. $vmn['id'] = $str['id'];
  488. $vmn['cat_name'] = $str['cat_name'];
  489. $vmn['fund_code'] = $str['fund_code'];
  490. array_unshift($data, $vmn);
  491. if ($str['pid'] == 0) return $data;
  492. else return $this->_get_cat_list($str['pid'], $data);
  493. }
  494. }