Sale.php 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480
  1. <?php
  2. namespace app\admin\controller;
  3. use app\BaseController;
  4. use think\App;
  5. use think\facade\Db;
  6. class Sale extends BaseController
  7. {
  8. public $post="";
  9. public function __construct(App $app)
  10. {
  11. parent::__construct($app);
  12. $this->post=$this->request->post();
  13. }
  14. public function create(){
  15. $token = isset($this->post['token']) && $this->post['token'] !=="" ?trim($this->post['token']):"";
  16. $orderCode=makeNo("CX");
  17. $good_code = $this->post['good_code'] && $this->post['good_code'] !=="" ? trim($this->post['good_code']) :"";
  18. if($good_code==""){
  19. return error_show(1002,"商品code不能为空");
  20. }
  21. $customer_code= $this->post['customer_code'] && $this->post['customer_code'] !=="" ? trim($this->post['customer_code']) :"";
  22. if($customer_code==""){
  23. return error_show(1002,"客户code不能为空");
  24. }
  25. $apply_id =GetUserInfo($token);
  26. if(empty($apply_id)||$apply_id['code']!=0){
  27. return error_show(1002,"申请人数据不存在");
  28. }
  29. $rm= isset($apply_id["data"]['id']) ? $apply_id["data"]['id'] : "";
  30. $ri= isset($apply_id["data"]['nickname']) ? $apply_id["data"]['nickname'] : "";
  31. $good_name=isset($this->post['good_name']) && $this->post['good_name'] !=="" ? trim($this->post['good_name']) :"";
  32. $good_num=isset($this->post['good_num']) && $this->post['good_num'] !=="" ? intval($this->post['good_num']) :"";
  33. $origin_price = isset($this->post['origin_price']) && $this->post['origin_price'] !=="" ? intval($this->post['origin_price']) :"";
  34. $sale_price=isset($this->post['sale_price']) && $this->post['sale_price'] !=="" ? trim($this->post['sale_price']) :"";
  35. $total_price=isset($this->post['total_price']) && $this->post['total_price'] !=="" ? trim($this->post['total_price']) :"";
  36. $post_fee=isset($this->post['post_fee']) && $this->post['post_fee'] !=="" ? trim($this->post['post_fee']) :"";
  37. $status = isset($this->post['status']) && $this->post['status'] !=="" ? intval($this->post['status']) :"";
  38. $va= isset($this->post['order_addr']) && $this->post['order_addr'] !=="" ? $this->post['order_addr']:"";
  39. if($va==""){
  40. return error_show(1002,"参数order_addr不能为空");
  41. }
  42. $vi= isset($this->post['good_stock']) && $this->post['good_stock'] !=="" ? $this->post['good_stock']:"";
  43. if($vi==""){
  44. return error_show(1002,"参数good_stock不能为空");
  45. }
  46. Db::startTrans();
  47. try {
  48. $data=[
  49. "orderCode"=>$orderCode,
  50. "good_code"=>$good_code,
  51. "customer_code"=>$customer_code,
  52. "good_name"=>$good_name,
  53. "good_num"=>$good_num,
  54. "apply_id"=>$rm,
  55. "apply_name"=>$ri,
  56. "origin_price"=>$origin_price,
  57. "sale_price"=>$sale_price,
  58. "total_price"=>$total_price,
  59. "post_fee"=>$post_fee,
  60. "status"=>$status,
  61. "is_del"=>0,
  62. "addtime"=>date("Y-m-d H:i:s"),
  63. "updatetime"=>date("Y-m-d H:i:s")
  64. ];
  65. $datainfo = Db::name('sale')->insert($data,true);
  66. $vat=[];
  67. $inn=[];
  68. if($datainfo>0){
  69. foreach ($vi as $ion){
  70. $iten=[];
  71. $iten['orderCode']=$orderCode;
  72. $iten['wsm_code']=$ion['wsm_code'];
  73. $iten['stock_id']="";
  74. $iten['num']=$ion['num'];
  75. $iten['status']=0;
  76. $iten['sale_price']=$sale_price;
  77. $iten['addtime'] =date("Y-m-d H:i:s");
  78. $iten['updatetime'] =date("Y-m-d H:i:s");
  79. $inn[]=$iten;
  80. }
  81. // if($vi['usable_stock']<$iten['num']){
  82. // Db::rollback();
  83. // return error_show(1002,"超出库存数量");
  84. // }
  85. $vp= Db::name('sale_info')->insertAll($inn);
  86. if($vp==""){
  87. Db::rollback();
  88. return error_show(1002,"添加失败");
  89. }
  90. foreach ($va as $value){
  91. $temp=[];
  92. $temp['orderCode']=$orderCode;
  93. $temp['contactor']=$value['contactor'];
  94. $temp['mobile'] = $value['mobile'];
  95. $temp['addr'] = $value['addr'];
  96. $temp['addr_code']=isset($value['addr_code']) && $value['addr_code']!==""? $value['addr_code']:"";
  97. $temp['customer_code'] =$customer_code;
  98. $temp['receipt_quantity']=$value['receipt_quantity'];
  99. $temp['post_fee'] =0;
  100. $temp['is_del'] =0;
  101. $temp['addtime'] =date("Y-m-d H:i:s");
  102. $temp['updatetime'] =date("Y-m-d H:i:s");
  103. $temp['arrive_time']=date("Y-m-d H:i:s");
  104. $vat[]=$temp;
  105. }
  106. $vmp = Db::name('order_addr')->insertAll($vat);
  107. if($vmp){
  108. Db::commit();
  109. return error_show(0,"销售订单创建成功");
  110. }
  111. }
  112. Db::rollback();
  113. return error_show(1002,"销售订单创建失败");
  114. }catch(\Exception $e){
  115. Db::rollback();
  116. return error_show(1005,$e->getMessage());
  117. }
  118. }
  119. public function list(){
  120. $page = isset($this->post['page']) && $this->post['page'] !=="" ? intval($this->post['page']):"1";
  121. $size = isset($this->post['size']) && $this->post['size'] !=="" ? intval($this->post['size']) :"10";
  122. $where[] = ['is_del',"=",0];
  123. $orderCode=isset($this->post['orderCode']) && $this->post['orderCode'] !=="" ? intval($this->post['orderCode']):"";
  124. if($orderCode !==""){
  125. $where[]=['orderCode',"=",$orderCode];
  126. }
  127. $status=isset($this->post['status']) && $this->post['status'] !=="" ? intval($this->post['status']):"";
  128. if($status !==""){
  129. $where[]=['orderCode',"=",$status];
  130. }
  131. $addtime = isset($this->post['addtime']) && $this->post['addtime'] !=="" ? $this->post['addtime'] :"";
  132. if($addtime !=""){
  133. $where[]= ["addtime",'<=',$addtime];
  134. }
  135. $count = Db::name('sale')->where($where)->count();
  136. $total = ceil($count/$size);
  137. $page = $page >= $total ? $total : $page;
  138. $list= Db::name('sale')->where($where)->order("addtime desc")->page($page,$size)->select();
  139. return app_show(0,"获取成功",['list'=>$list,'count'=>$count]);
  140. }
  141. public function edit(){
  142. $token = isset($this->post['token']) && $this->post['token'] !=="" ? trim($this->post['token']) :"";
  143. $id = isset($this->post['id']) && $this->post['id'] !=="" ? trim($this->post['id']) :"";
  144. if($id==""){
  145. return error_show(1002,"参数id不能为空");
  146. }
  147. $etid = Db::name("sale")->where(["id"=>$id,"is_del"=>0])->find();
  148. if(empty($etid)){
  149. return error_show(1002,"未找到数据");
  150. }
  151. // $orderCode=isset($this->post['orderCode']) && $this->post['orderCode'] !=="" ? trim($this->post['orderCode']) :"";
  152. // if($orderCode==""){
  153. // return error_show(1002,"销售单code不能为空");
  154. // }
  155. $good_code = isset($this->post['good_code']) && $this->post['good_code'] !=="" ? trim($this->post['good_code']) :"";
  156. if($good_code==""){
  157. return error_show(1002,"商品code不能为空");
  158. }
  159. $customer_code=isset($this->post['customer_code']) && $this->post['customer_code'] !=="" ? intval($this->post['customer_code']):"";
  160. if($customer_code==""){
  161. return error_show(1002,"客户code不能为空");
  162. }
  163. $apply_id =GetUserInfo($token);
  164. if(empty($apply_id)||$apply_id['code']!=0){
  165. return error_show(1002,"申请人数据不存在");
  166. }
  167. $rm= isset($apply_id["data"]['id']) ? $apply_id["data"]['id'] : "";
  168. $ri= isset($apply_id["data"]['nickname']) ? $apply_id["data"]['nickname'] : "";
  169. $good_name=isset($this->post['good_name']) && $this->post['good_name'] !=="" ? trim($this->post['good_name']) :"";
  170. $good_num=isset($this->post['good_num']) && $this->post['good_num'] !=="" ? intval($this->post['good_num']) :"";
  171. $origin_price = isset($this->post['origin_price']) && $this->post['origin_price'] !=="" ? intval($this->post['origin_price']) :"";
  172. $sale_price=isset($this->post['sale_price']) && $this->post['sale_price'] !=="" ? trim($this->post['sale_price']) :"";
  173. $total_price=isset($this->post['total_price']) && $this->post['total_price'] !=="" ? trim($this->post['total_price']) :"";
  174. $post_fee=isset($this->post['post_fee']) && $this->post['post_fee'] !=="" ? trim($this->post['post_fee']) :"";
  175. $status = isset($this->post['status']) && $this->post['status'] !=="" ? intval($this->post['status']) :"";
  176. $vr= isset($this->post['order_addr']) && $this->post['order_addr'] !=="" ? $this->post['order_addr']:"";
  177. if($vr==""){
  178. return error_show(1002,"参数order_addr不能为空");
  179. }
  180. $vi= isset($this->post['good_stock']) && $this->post['good_stock'] !=="" ? $this->post['good_stock']:"";
  181. if($vi==""){
  182. return error_show(1002,"参数good_stock不能为空");
  183. }
  184. Db::startTrans();
  185. try {
  186. $datn=[
  187. "id"=>$id,
  188. "good_code"=>$good_code,
  189. "customer_code"=>$customer_code,
  190. "good_name"=>$good_name,
  191. "good_num"=>$good_num,
  192. "apply_id"=>$rm,
  193. "apply_name"=>$ri,
  194. "origin_price"=>$origin_price,
  195. "sale_price"=>$sale_price,
  196. "total_price"=>$total_price,
  197. "post_fee"=>$post_fee,
  198. "status"=>$status,
  199. "is_del"=>0,
  200. "updatetime"=>date("Y-m-d H:i:s")
  201. ];
  202. $datninfo = Db::name('sale')->where(['id'=>$id,'is_del'=>0])->save($datn);
  203. //$vat=[];
  204. if($datninfo>0){
  205. foreach ($vi as $ion){
  206. $iten=[];
  207. isset($ion['id'])&&$ion['id']!=="" ? $iten['id'] = $ion['id']:'';
  208. $iten['orderCode']=$etid['orderCode'];
  209. $iten['wsm_code']=$ion['wsm_code'];
  210. $iten['stock_id']=$ion['stock_id'];
  211. $iten['num']=$ion['num'];
  212. $iten['status']=$ion['status'];
  213. $iten['sale_price']=$ion['sale_price'];
  214. isset($ion['id'])&&$ion['id']!=="" ? '' : $iten['addtime'] =date("Y-m-d H:i:s");
  215. $iten['updatetime'] =date("Y-m-d H:i:s");
  216. //$inn[]=$iten;
  217. $vp= Db::name('sale_info')->save($iten);
  218. }
  219. foreach ($vr as $value){
  220. $temp=[];
  221. isset($value['id'])&&$value['id']!=="" ? $temp['id'] = $value['id']:'';
  222. $temp['orderCode']=$etid['orderCode'];
  223. $temp['contactor']=$value['contactor'];
  224. $temp['mobile'] = $value['mobile'];
  225. $temp['addr'] = $value['addr'];
  226. $temp['addr_code'] =$value['addr_code'];
  227. $temp['customer_code'] =$customer_code;
  228. $temp['receipt_quantity']=$value['receipt_quantity'];
  229. $temp['post_fee'] =0;
  230. $temp['is_del'] =$value['is_del'];
  231. isset($value['id'])&&$value['id']!=="" ? '' : $temp['addtime'] =date("Y-m-d H:i:s");
  232. $temp['updatetime'] =date("Y-m-d H:i:s");
  233. $temp['arrive_time']=date("Y-m-d H:i:s");
  234. $dat = Db::name('order_addr')->save($temp);
  235. if($dat==false){
  236. Db::rollback();
  237. return error_show(1002,"更新失败");
  238. }
  239. }
  240. Db::commit();
  241. return error_show(0,"更新成功");
  242. }
  243. Db::rollback();
  244. return error_show(1002,"更新失败");
  245. }catch(\Exception $e){
  246. Db::rollback();
  247. return error_show(1005,$e->getMessage());
  248. }
  249. }
  250. public function info(){
  251. $id = isset($this->post['id']) && $this->post['id'] !=="" ? intval($this->post['id']):"";
  252. if($id==""){
  253. return error_show(1002,"参数id不能为空");
  254. }
  255. //->field('good_code,good_name,good_num,customer_code,orderCode')
  256. $einfo = Db::name('sale')->where(['id'=>$id,'is_del'=>0])->find();
  257. if(empty($einfo)){
  258. return error_show(1002,"未找到销售订单数据");
  259. }
  260. $in= Db::name('customer_info')->where(['companyNo'=>$einfo['customer_code']])->field('companyName')->find();
  261. // ->field('addr,contactor,mobile,receipt_quantity,arrive_time')
  262. $fo = Db::name('order_addr')->where(['orderCode'=>$einfo['orderCode'],'is_del'=>0])->select();
  263. $addrs=[];
  264. foreach ($fo as $value){
  265. $value['addr_info']="";
  266. if($value['addr_code']!=""){
  267. $addr=GetAddr($value['addr_code']);
  268. $value['addr_info'] = $addr.$value['addr'];
  269. }
  270. $addrs[]=$value;
  271. }
  272. //->field('num,sale_price,wsm_code,stock_id')
  273. $st = Db::name('sale_info')->where(['orderCode'=>$einfo['orderCode']])->select();
  274. $data=[];
  275. foreach ($st as $value){
  276. $value['wsm_name']="";
  277. $value['wsm_supplier']="";
  278. $value['wsm_supplierNo']="";
  279. $value['usable_stock']=0;
  280. if($value['wsm_code']!=""){
  281. $wsmcode = Db::name("warehouse_info")->alias("a")->leftJoin("supplier b","a.supplierNo=b.code")
  282. ->where(["a.wsm_code"=>$value['wsm_code']])->field("a.name as wsm_name,b.name,b.code")->find();
  283. $value['wsm_name'] =isset($wsmcode['wsm_name']) ? $wsmcode['wsm_name']:"";
  284. $value['wsm_supplier'] =isset($wsmcode['name']) ? $wsmcode['name']:"";
  285. $value['wsm_supplierNo'] =isset($wsmcode['code']) ? $wsmcode['code']:"";
  286. $dn = Db::name('good_stock')->where(['wsm_code'=>$value['wsm_code'],'good_type_code'=>$einfo['good_code']])->find();
  287. $value['usable_stock'] =isset($dn['usable_stock']) ?$dn['usable_stock']:"0";
  288. }
  289. $data[]=$value;
  290. }
  291. $einfo['info']=$data;
  292. $einfo['companyName']=isset($in['companyName']) ? $in['companyName']:"";
  293. $einfo['addrs']=$addrs;
  294. if(empty($einfo)){
  295. return error_show(1002,"未找到销售订单数据");
  296. }else{
  297. return app_show(0,"获取成功",$einfo);
  298. }
  299. }
  300. public function del(){
  301. $id = isset($this->post['id']) && $this->post['id'] !=="" ? intval($this->post['id']) :"";
  302. if($id===""){
  303. return error_show(1002,"参数id不能为空");
  304. }
  305. $ed = Db::name('sale')->where(['id'=>$id,'is_del'=>0])->find();
  306. if(empty($ed)){
  307. return error_show(1002,"未找到销售订单数据");
  308. }
  309. $str =Db::name('sale')->update(['id'=>$id,'is_del'=>1,'updatetime'=>date("Y-m-d H:i:s")]);
  310. if($str){
  311. return error_show(0,"删除成功");
  312. }else{
  313. return error_show(1002,"删除失败");
  314. }
  315. }
  316. //$stock['usable_stock']-=$value['allot_num'];
  317. //$stock['wait_out_stock']+=$value['allot_num'];
  318. //$stock['total_stock']=$stock['wait_out_stock']+$stock['usable_stock'];
  319. //$stock['updatetime']= date('Y-m-d H:i:s');
  320. public function status(){
  321. $id = isset($this->post['id']) && $this->post['id'] !=="" ? intval($this->post['id']) :"";
  322. if($id==""){
  323. return error_show(1002,"参数id不能为空");
  324. }
  325. $status = isset($this->post['status']) && $this->post['status'] !=="" ? intval($this->post['status']) :"";
  326. if($status==""){
  327. return error_show(1002,"订单状态不能为空");
  328. }
  329. $dio = Db::name('sale')->where(['id'=>$id,'is_del'=>0])->find();
  330. if(empty($dio)){
  331. return error_show(1002,"销售单信息未找到");
  332. }
  333. $dio['status']=$status;
  334. $dio['updatetime']=date("Y-m-d H:i:s");
  335. $st = Db::name('sale')->save($dio);
  336. if($status==3){
  337. }
  338. return error_show(0,"订单状态更新成功");
  339. }
  340. public function fee(){
  341. $id = isset($this->post['id']) && $this->post['id'] !=="" ? trim($this->post['id']) :"";
  342. if($id==""){
  343. return error_show(1002,"参数id不能为空");
  344. }
  345. $etid = Db::name("sale")->where(["id"=>$id,"is_del"=>0])->find();
  346. if(empty($etid)){
  347. return error_show(1002,"未找到数据");
  348. }
  349. $vr= isset($this->post['order_addr']) && $this->post['order_addr'] !=="" ? $this->post['order_addr']:"";
  350. if($vr==""){
  351. return error_show(1002,"参数order_addr不能为空");
  352. }
  353. Db::startTrans();
  354. try {
  355. $data=[
  356. "id"=>$id,
  357. "status"=>2,
  358. "is_del"=>0,
  359. "updatetime"=>date("Y-m-d H:i:s")
  360. ];
  361. $datainfo = Db::name('sale')->where(['id'=>$id,'is_del'=>0])->save($data);
  362. if($datainfo){
  363. foreach ($vr as $value){
  364. $tm=[];
  365. $tm['id'] = $value['id'];
  366. $tm['orderCode']=$etid['orderCode'];
  367. $tm['post_fee']=$value['post_fee'];
  368. $tm['updatetime']=date("Y-m-d H:i:s");
  369. $dn = Db::name('order_addr')->save($tm);
  370. if($dn==false){
  371. Db::rollback();
  372. return error_show(1002,"更新失败");
  373. }
  374. }
  375. Db::commit();
  376. return error_show(0,"更新成功");
  377. }
  378. Db::rollback();
  379. return error_show(1003,"更新失败");
  380. }catch(\Exception $e){
  381. Db::rollback();
  382. return error_show(1005,$e->getMessage());
  383. }
  384. }
  385. public function out(){
  386. $token= isset($this->post['token']) && $this->post['token'] !=="" ? trim($this->post['token']) :"";
  387. $outCode=makeNo("CK");
  388. $orderCode = isset($this->post['orderCode']) && $this->post['orderCode'] !=="" ? trim($this->post['orderCode']) :"";
  389. if($orderCode==""){
  390. return error_show(1002,"参数orderCode不能为空");
  391. }
  392. $post_name= isset($this->post['post_name']) && $this->post['post_name'] !=="" ? trim($this->post['post_name']) :"";
  393. if($post_name==""){
  394. return error_show(1002,"物流公司不能为空");
  395. }
  396. $post_code = isset($this->post['post_code']) && $this->post['post_code'] !=="" ? trim($this->post['post_code']) :"";
  397. if($post_code==""){
  398. return error_show(1002,"物流单号不能为空");
  399. }
  400. $post_fee = isset($this->post['post_fee']) && $this->post['post_fee'] !=="" ? intval($this->post['post_fee']) :"";
  401. if($post_fee==""){
  402. return error_show(1002,"物流费不能为空");
  403. }
  404. $send_num = isset($this->post['send_num']) && $this->post['send_num'] !=="" ? $this->post['send_num'] :"";
  405. if($send_num==""){
  406. return error_show(1002,"发货数量不能为空");
  407. }
  408. $apply_id =GetUserInfo($token);
  409. if(empty($apply_id)||$apply_id['code']!=0){
  410. return error_show(1002,"申请人数据不存在");
  411. }
  412. $rm= isset($apply_id["data"]['id']) ? $apply_id["data"]['id'] : "";
  413. $ri= isset($apply_id["data"]['nickname']) ? $apply_id["data"]['nickname'] : "";
  414. $addrid = isset($this->post['addrid']) && $this->post['addrid'] !=="" ? intval($this->post['addrid']) :"";
  415. $dr = Db::name('order_addr')->where(['id'=>$addrid,'is_del'=>0])->find();
  416. if(empty($dr)){
  417. return error_show(1003,"收货人信息未找到");
  418. }
  419. if($dr['orderCode']!== $orderCode){
  420. return error_show(1002,"订单code不存在");
  421. }
  422. $sendtime = isset($this->post['sendtime']) && $this->post['sendtime'] !=="" ? $this->post['sendtime']:date("Y-m-d H:i:s");
  423. // $check_num = isset($this->post['check_num']) && $this->post['check_num'] !=="" ? $this->post['check_num'] :"";
  424. // $error_num = isset($this->post['error_num']) && $this->post['error_num'] !=="" ? $this->post['error_num'] :"";
  425. $status = isset($this->post['status']) && $this->post['status'] !=="" ? $this->post['status'] :"0";
  426. $data=[
  427. "orderCode"=>$orderCode,
  428. "outCode"=>$outCode,
  429. "apply_id"=>$rm,
  430. "apply_name"=>$ri,
  431. "addrid"=>$dr['id'],
  432. "post_name"=>$post_name,
  433. "post_code"=>$post_code,
  434. "post_fee"=>$post_fee,
  435. "sendtime"=>$sendtime,
  436. "send_num"=>$send_num,
  437. "check_num"=>0,
  438. "error_num"=>0,
  439. "status"=>$status,
  440. "addtime"=>date("Y-m-d H:i:s"),
  441. "updatetime"=>date("Y-m-d H:i:s")
  442. ];
  443. $datainfo = Db::name('order_out')->insert($data);
  444. if($datainfo){
  445. return error_show(0,"创建成功");
  446. }else{
  447. return error_show(1003,"创建失败");
  448. }
  449. }
  450. public function customer(){
  451. $outCode= isset($this->post['outCode']) && $this->post['outCode'] !=="" ? trim($this->post['outCode']) :"";
  452. if(empty($outCode)){
  453. return error_show(1002,"销售订单编号不能为空");
  454. }
  455. $status = isset($this->post['status']) && $this->post['status'] !== "" ? $this->post['status'] :"";
  456. if($status==""){
  457. return error_show(10002,"状态不能为空");
  458. }
  459. $codeinfo = Db::name('order_out')->where(['outCode'=>$outCode])->find();
  460. if($codeinfo==""){
  461. return error_show(1003,"未找到订单数据");
  462. }
  463. $codeinfo['status']=$status;
  464. $codeinfo['updatetime']=date("Y-m-d H:i:s");
  465. $cust = Db::name('order_out')->save($codeinfo);
  466. if($cust){
  467. return error_show(0,"出库订单更新成功");
  468. }else{
  469. return error_show(1003,"出库订单更新失败");
  470. }
  471. }
  472. }