Sale.php 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444
  1. <?php
  2. namespace app\admin\controller;
  3. use think\App;
  4. use think\facade\Db;use think\facade\Validate;
  5. class Sale extends Base{
  6. public function __construct(App $app) {parent::__construct($app);}
  7. /** 获取列表
  8. * @return \think\response\Json|void
  9. * @throws \think\db\exception\DataNotFoundException
  10. * @throws \think\db\exception\DbException
  11. * @throws \think\db\exception\ModelNotFoundException
  12. */
  13. public function list(){
  14. $post =$this->request->param();
  15. $condition = [['a.is_del',"=",0]];
  16. $roleid = $this->roleid;
  17. $check = checkRole($roleid,'86');
  18. if($check){
  19. $condition[]=["a.ownerid","=",$this->uid];
  20. }
  21. $page = isset($post['page'])&&$post['page']!==''?intval($post['page']):1;
  22. $size = isset($post['size'])&&$post['size']!==''?intval($post['size']):15;
  23. $start =isset($post['start'])&&$post['start']!==''?trim($post['start']):'';
  24. if($start!=''){
  25. $condition[]=["a.createdTime",">=",$start." 00:00:00"];
  26. }
  27. $end =isset($post['end'])&&$post['end']!==''?trim($post['end']):'';
  28. if($end!=''){
  29. $condition[]=["a.createdTime","<=",$end." 23:59:59"];
  30. }
  31. $total_min = isset($post['total_min'])&&$post['total_min']!==''?floatval($post['total_min']):'';
  32. if($total_min!==''){
  33. $condition[]=["a.totalPrice",">=",$total_min];
  34. }
  35. $total_max = isset($post['total_max'])&&$post['total_max']!==''?floatval($post['total_max']):'';
  36. if($total_max!==''){
  37. $condition[]=["a.totalPrice","<=",$total_max];
  38. }
  39. $cxCode = isset($post['cxCode'])&&$post['cxCode']!==''?trim($post['cxCode']):'';
  40. if($cxCode!==''){
  41. $condition[]=["a.cxCode","=",$cxCode];
  42. }
  43. $inv_status = isset($post['inv_status'])&&$post['inv_status']!==''?intval($post['inv_status']):'';
  44. if($inv_status!==''){
  45. if($inv_status==0){
  46. $condition[]=["a.inv_status","<>",3];
  47. }else{
  48. $condition[]=["a.inv_status","=",$inv_status];
  49. }
  50. }
  51. $invIs = isset($post['inv_is'])&&$post['inv_is']!==''?intval($post['inv_is']):'';
  52. if($invIs!==''){
  53. if($invIs==1){
  54. $condition[]=["a.winv_fee","<>",0];
  55. }else{
  56. $condition[]=["a.winv_fee","=",0];
  57. }
  58. }
  59. $payIs = isset($post['pay_is'])&&$post['pay_is']!==''?intval($post['pay_is']):'';
  60. if($payIs!==''){
  61. if($invIs==1){
  62. $condition[]=["a.wpay_fee","<>",0];
  63. }else{
  64. $condition[]=["a.wpay_fee","=",0];
  65. }
  66. }
  67. $pay_status = isset($post['pay_status'])&&$post['pay_status']!==''?intval($post['pay_status']):'';
  68. if($pay_status!==''){
  69. if($pay_status==0){
  70. $condition[]=["a.pay_status","<>",3];
  71. }else{
  72. $condition[]=["a.pay_status","=",$pay_status];
  73. }
  74. }
  75. $status = isset($post['status'])&&$post['status']!==''?intval($post['status']):'';
  76. if($status!==''){
  77. if($status==3){
  78. $condition[]=["a.status","<>",2];
  79. }else{
  80. $condition[]=["a.status","=",$status];
  81. }
  82. }
  83. $qrdNo = isset($post['sequenceNo'])&&$post['sequenceNo']!=''?trim($post['sequenceNo']):'';
  84. if($qrdNo!==''){
  85. $condition[]=["a.sequenceNo","like","%$qrdNo%"];
  86. }
  87. $department = isset($post['department'])&&$post['department']!=''?trim($post['department']):'';
  88. if($department!==''){
  89. $condition[]=["a.department","like","%$department%"];
  90. }
  91. $customerNo = isset($post['customerNo'])&&$post['customerNo']!=''?trim($post['customerNo']):'';
  92. if($customerNo!==''){
  93. $condition[]=["a.customerNo","like","%$customerNo%"];
  94. }
  95. $customer = isset($post['customer'])&&$post['customer']!=''?trim($post['customer']):'';
  96. if($customer!=''){
  97. $condition[]=["a.customerName","like","%$customer%"];
  98. }
  99. $companyNo = isset($post['companyNo'])&&$post['companyNo']!=''?trim($post['companyNo']):'';
  100. if($companyNo!==''){
  101. $condition[]=["a.companyNo","=",$companyNo];
  102. }
  103. $companyName = isset($post['companyName'])&&$post['companyName']!=''?trim($post['companyName']):'';
  104. if($companyName !=''){
  105. $condition[]=["a.companyName","like","%$companyName%"];
  106. }
  107. $platName = isset($post['platName'])&&$post['platName']!=''?trim($post['platName']):'';
  108. if($platName!=''){
  109. $condition[]=["a.platName","like","%$platName%"];
  110. }
  111. $platform_type = isset($post['platform_type'])&&$post['platform_type']!==''?intval($post['platform_type']):'';
  112. if($platform_type!==''){
  113. $condition[]=["a.platform_type","=",$platform_type];
  114. }
  115. $saler= isset($post['saler']) && $post['saler']!='' ? trim($post['saler']) :"";
  116. if($saler!='') $condition []=["a.ownerName","like","%$saler%"];
  117. $salerid= isset($post['salerid']) && $post['salerid']!='' ? intval($post['salerid']) :"";
  118. if($salerid!='') $condition []=["a.ownerid","=",$salerid];
  119. $qrdtype= isset($post['qrdtype']) && $post['qrdtype']!='' ? intval($post['qrdtype']) :"";
  120. if($qrdtype!='') $condition []=["a.qrdType","=",$qrdtype];
  121. $qrdsource= isset($post['qrdsource']) && $post['qrdsource']!='' ? intval($post['qrdsource']) :"";
  122. if($qrdsource!='') $condition []=["a.qrdSource","=",$qrdsource];
  123. $sendstatus= isset($post['sendstatus']) && $post['sendstatus']!='' ? intval($post['sendstatus']) :"";
  124. if($sendstatus!='') $condition []=["a.sendStatus","=",$sendstatus];
  125. $tag_id= isset($post['tag_id'])&&$post['tag_id']!=="" ? intval($post['tag_id']) :"";
  126. if($tag_id!==''){
  127. if($tag_id==1) $condition[]=["a.inv_tag","=",1];
  128. if($tag_id==2) $condition[]=["a.pay_tag","=",1];
  129. if($tag_id==3) $condition[]=["a.pay_tag|inv_tag","=",1];
  130. if($tag_id==4) $condition[]=["a.pay_tag&inv_tag","=",1];
  131. }
  132. $cat_status= isset($post['cat_status'])&&$post['cat_status']!=="" ? intval($post['cat_status']) :"";
  133. if($cat_status!=='') $condition[]=["b.status","=",$cat_status];
  134. $count =Db::name("qrd_info")->alias("a")->leftJoin("good b","a.goodNo=b.spuCode")->where($condition)->count();
  135. $total = ceil($count/$size);
  136. $page = $page>$total ? intval($total) : $page;
  137. $list =Db::name("qrd_info")->alias("a")
  138. ->leftJoin("good b","a.goodNo=b.spuCode")
  139. ->field("a.*,b.status as cat_status,b.inv_cat_name,b.inv_cat_code,b.inv_tax,b.inv_good_name,b.isZx")
  140. ->order("a.createdTime desc")
  141. ->where($condition)->page($page,$size)->select();
  142. $data=[];
  143. foreach ( $list as $ky=>$value){
  144. $value['catInfo'] = json_decode($value['catInfo'],true);
  145. $tag =Db::name("tag_log")->alias("a")->leftJoin("order_tag b","a.tag_id=b.id")->where
  146. (["code"=>$value['sequenceNo'],"a.status"=>1])->column("b.tag_name,a.tag_img,a.tag_remark","b.type");
  147. $value['goodNum'] = $value['goodNum'] -$value['thNum'];
  148. $value['sendNum'] = $value['sendNum'] -$value['thNum'];
  149. $value['inv_tag_name']=$tag[4]['tag_name']??'';
  150. $value['pay_tag_name']=$tag[3]['tag_name']??'';
  151. $value['pay_tag_img']=$tag[3]['tag_img']??'';
  152. $value['inv_tag_img']=$tag[4]['tag_img']??'';
  153. $value['inv_tag_remark']=$tag[4]['tag_remark']??'';
  154. $value['pay_tag_remark']=$tag[3]['tag_remark']??'';
  155. $invArr = Db::name("assoc")
  156. ->alias("a")
  157. ->leftJoin("invoice_good b", "a.viceCode=b.invNo AND b.orderCode =a.orderCode")
  158. ->where(["a.status" => [1, 2], "a.is_del" => 0, "a.type" => 1, "a.orderCode" => $value['sequenceNo']])->group("a.status")
  159. ->column("sum(b.goodNum) as goodNum", "a.status");
  160. $value['inv_num'] = $invArr[1]??0;
  161. $value['ainv_num'] = $invArr[2]??0;
  162. $value['winv_num'] =$value['goodNum']- $value['inv_num']-$value['ainv_num'];
  163. $data[]=$value;
  164. }
  165. return app_show(0,"获取成功",["list"=>$data,"count"=>$count]);
  166. }
  167. public function query(){
  168. $post =$this->request->param();
  169. $condition = [['a.is_del',"=",0]];
  170. $start =isset($post['start'])&&$post['start']!==''?trim($post['start']):'';
  171. if($start!=''){
  172. $condition[]=["a.createdTime",">=",$start." 00:00:00"];
  173. }
  174. $end =isset($post['end'])&&$post['end']!==''?trim($post['end']):'';
  175. if($end!=''){
  176. $condition[]=["a.createdTime","<=",$end." 23:59:59"];
  177. }
  178. $total_min = isset($post['total_min'])&&$post['total_min']!==''?floatval($post['total_min']):'';
  179. if($total_min!==''){
  180. $condition[]=["a.totalPrice",">=",$total_min];
  181. }
  182. $total_max = isset($post['total_max'])&&$post['total_max']!==''?floatval($post['total_max']):'';
  183. if($total_max!==''){
  184. $condition[]=["a.totalPrice","<=",$total_max];
  185. }
  186. $cxCode = isset($post['cxCode'])&&$post['cxCode']!==''?trim($post['cxCode']):'';
  187. if($cxCode!==''){
  188. $condition[]=["a.cxCode","=",$cxCode];
  189. }
  190. $inv_status = isset($post['inv_status'])&&$post['inv_status']!==''?intval($post['inv_status']):'';
  191. if($inv_status!==''){
  192. if($inv_status==0){
  193. $condition[]=["a.inv_status","<>",3];
  194. }else{
  195. $condition[]=["a.inv_status","=",$inv_status];
  196. }
  197. }
  198. $invIs = isset($post['inv_is'])&&$post['inv_is']!==''?intval($post['inv_is']):'';
  199. if($invIs!==''){
  200. if($invIs==1){
  201. $condition[]=["a.winv_fee","<>",0];
  202. }else{
  203. $condition[]=["a.winv_fee","=",0];
  204. }
  205. }
  206. $payIs = isset($post['pay_is'])&&$post['pay_is']!==''?intval($post['pay_is']):'';
  207. if($payIs!==''){
  208. if($invIs==1){
  209. $condition[]=["a.wpay_fee","<>",0];
  210. }else{
  211. $condition[]=["a.wpay_fee","=",0];
  212. }
  213. }
  214. $pay_status = isset($post['pay_status'])&&$post['pay_status']!==''?intval($post['pay_status']):'';
  215. if($pay_status!==''){
  216. if($pay_status==0){
  217. $condition[]=["a.pay_status","<>",3];
  218. }else{
  219. $condition[]=["a.pay_status","=",$pay_status];
  220. }
  221. }
  222. $status = isset($post['status'])&&$post['status']!==''?intval($post['status']):'';
  223. if($status!==''){
  224. if($status==3){
  225. $condition[]=["a.status","<>",2];
  226. }else{
  227. $condition[]=["a.status","=",$status];
  228. }
  229. }
  230. $qrdNo = isset($post['sequenceNo'])&&$post['sequenceNo']!=''?trim($post['sequenceNo']):'';
  231. if($qrdNo!==''){
  232. $condition[]=["a.sequenceNo","in",explode(",",$qrdNo)];
  233. }
  234. $department = isset($post['department'])&&$post['department']!=''?trim($post['department']):'';
  235. if($department!==''){
  236. $condition[]=["a.department","like","%$department%"];
  237. }
  238. $customerNo = isset($post['customerNo'])&&$post['customerNo']!=''?trim($post['customerNo']):'';
  239. if($customerNo!==''){
  240. $condition[]=["a.customerNo","like","%$customerNo%"];
  241. }
  242. $customer = isset($post['customer'])&&$post['customer']!=''?trim($post['customer']):'';
  243. if($customer!=''){
  244. $condition[]=["a.customerName","like","%$customer%"];
  245. }
  246. $companyNo = isset($post['companyNo'])&&$post['companyNo']!=''?trim($post['companyNo']):'';
  247. if($companyNo!==''){
  248. $condition[]=["a.companyNo","=",$companyNo];
  249. }
  250. $companyName = isset($post['companyName'])&&$post['companyName']!=''?trim($post['companyName']):'';
  251. if($companyName !=''){
  252. $condition[]=["a.companyName","like","%$companyName%"];
  253. }
  254. $platName = isset($post['platName'])&&$post['platName']!=''?trim($post['platName']):'';
  255. if($platName!=''){
  256. $condition[]=["a.platName","like","%$platName%"];
  257. }
  258. $platform_type = isset($post['platform_type'])&&$post['platform_type']!==''?intval($post['platform_type']):'';
  259. if($platform_type!==''){
  260. $condition[]=["a.platform_type","=",$platform_type];
  261. }
  262. $saler= isset($post['saler']) && $post['saler']!='' ? trim($post['saler']) :"";
  263. if($saler!='') $condition []=["a.ownerName","like","%$saler%"];
  264. $salerid= isset($post['salerid']) && $post['salerid']!='' ? intval($post['salerid']) :"";
  265. if($salerid!='') $condition []=["a.ownerid","=",$salerid];
  266. $qrdtype= isset($post['qrdtype']) && $post['qrdtype']!='' ? intval($post['qrdtype']) :"";
  267. if($qrdtype!='') $condition []=["a.qrdType","=",$qrdtype];
  268. $qrdsource= isset($post['qrdsource']) && $post['qrdsource']!='' ? intval($post['qrdsource']) :"";
  269. if($qrdsource!='') $condition []=["a.qrdSource","=",$qrdsource];
  270. $sendstatus= isset($post['sendstatus']) && $post['sendstatus']!='' ? intval($post['sendstatus']) :"";
  271. if($sendstatus!='') $condition []=["a.sendStatus","=",$sendstatus];
  272. $tag_id= isset($post['tag_id'])&&$post['tag_id']!=="" ? intval($post['tag_id']) :"";
  273. if($tag_id!==''){
  274. if($tag_id==1) $condition[]=["a.inv_tag","=",1];
  275. if($tag_id==2) $condition[]=["a.pay_tag","=",1];
  276. if($tag_id==3) $condition[]=["a.pay_tag|inv_tag","=",1];
  277. if($tag_id==4) $condition[]=["a.pay_tag&inv_tag","=",1];
  278. }
  279. $cat_status= isset($post['cat_status'])&&$post['cat_status']!=="" ? intval($post['cat_status']) :"";
  280. if($cat_status!=='') $condition[]=["b.status","=",$cat_status];
  281. $list =Db::name("qrd_info")->alias("a")
  282. ->leftJoin("good b","a.goodNo=b.spuCode")
  283. ->field("a.*,b.status as cat_status,b.inv_cat_name,b.inv_cat_code,b.inv_tax,b.inv_good_name,b.isZx")
  284. ->order("a.createdTime desc")
  285. ->where($condition)->select();
  286. $data=[];
  287. foreach ( $list as $ky=>$value){
  288. $value['catInfo'] = json_decode($value['catInfo'],true);
  289. $tag =Db::name("tag_log")->alias("a")->leftJoin("order_tag b","a.tag_id=b.id")->where
  290. (["code"=>$value['sequenceNo'],"a.status"=>1])->column("b.tag_name,a.tag_img,a.tag_remark","b.type");
  291. $value['goodNum'] = $value['goodNum'] -$value['thNum'];
  292. $value['sendNum'] = $value['sendNum'] -$value['thNum'];
  293. $value['inv_tag_name']=$tag[4]['tag_name']??'';
  294. $value['pay_tag_name']=$tag[3]['tag_name']??'';
  295. $value['pay_tag_img']=$tag[3]['tag_img']??'';
  296. $value['inv_tag_img']=$tag[4]['tag_img']??'';
  297. $value['inv_tag_remark']=$tag[4]['tag_remark']??'';
  298. $value['pay_tag_remark']=$tag[3]['tag_remark']??'';
  299. $invArr = Db::name("assoc")
  300. ->alias("a")
  301. ->leftJoin("invoice_good b", "a.viceCode=b.invNo AND b.orderCode =a.orderCode")
  302. ->where(["a.status" => [1, 2], "a.is_del" => 0, "a.type" => 1, "a.orderCode" => $value['sequenceNo']])->group("a.status")
  303. ->column("sum(b.goodNum) as goodNum", "a.status");
  304. $value['inv_num'] = $invArr[1]??0;
  305. $value['ainv_num'] = $invArr[2]??0;
  306. $value['winv_num'] =$value['goodNum']- $value['inv_num']-$value['ainv_num'];
  307. $data[]=$value;
  308. }
  309. return app_show(0,"获取成功",$data);
  310. }
  311. /**
  312. * 更改销售单状态 是否需要回款 0 未回款对账 1 回款对账 2 无需汇款操作
  313. */
  314. public function status(){
  315. $post =$this->request->only(["sequenceNo"=>'',"status"=>0],"post","trim");
  316. if($post['sequenceNo']==''){
  317. return error_show(1004,"参数 sequenceNo 不能为空");
  318. }
  319. if($post['status']===''){
  320. return error_show(1004,"参数 status 不能为空");
  321. }
  322. $qrdinfo =Db::name("qrd_info")->where("sequenceNo","=",$post['sequenceNo'])->findOrEmpty();
  323. if(empty($qrdinfo)){
  324. return error_show(1004,"未找到确认单信息");
  325. }
  326. if ($qrdinfo['status']==1){
  327. return error_show(1004,"确认单已参与对账");
  328. }
  329. $update=[
  330. "status"=>$post['status'],
  331. "updatetime"=>date("Y-m-d H:i:s")
  332. ];
  333. $up =Db::name("qrd_info")->where($qrdinfo)->update($update);
  334. if($up){
  335. return app_show(0,"更新成功");
  336. }else{
  337. return error_show(1003,"更新失败");
  338. }
  339. }
  340. //确认单信息详情
  341. public function saleinfo(){
  342. $post=$this->post;
  343. $sequenceNo =isset($post['sequenceNo'])&&$post['sequenceNo']?trim($post['sequenceNo']):"";
  344. if($sequenceNo==''){
  345. return error_show(1003,"参数 sequenceNo 不能为空");
  346. }
  347. $qrdinfo =Db::name("qrd_info")->where("sequenceNo","=",$post['sequenceNo'])->findOrEmpty();
  348. if(empty($qrdinfo)){
  349. return error_show(1004,"未找到确认单信息");
  350. }
  351. $goodinfo = Db::name("good")->where(["spuCode"=>$qrdinfo["goodNo"]])->findOrEmpty();
  352. $qrdinfo['goodinfo'] =$goodinfo;
  353. $qrdinfo['catInfo'] = json_decode($qrdinfo['catInfo'],true);
  354. $tag =Db::name("tag_log")->alias("a")->leftJoin("order_tag b","a.tag_id=b.id")
  355. ->where(["code"=>$qrdinfo['sequenceNo'],"a.status"=>1])->column("b.tag_name,a.tag_img,a.tag_remark","b.type");
  356. $qrdinfo['inv_tag_name']=$tag[4]['tag_name']??'';
  357. $qrdinfo['pay_tag_name']=$tag[3]['tag_name']??'';
  358. $qrdinfo['pay_tag_img']=$tag[3]['tag_img']??'';
  359. $qrdinfo['pay_tag_remark']=$tag[3]['tag_remark']??'';
  360. $qrdinfo['inv_tag_img']=$tag[4]['tag_img']??'';
  361. $qrdinfo['inv_tag_remark']=$tag[4]['tag_remark']??'';
  362. $qrdinfo['goodNum'] = $qrdinfo['goodNum'] -$qrdinfo['thNum'];
  363. $qrdinfo['sendNum'] = $qrdinfo['sendNum'] -$qrdinfo['thNum'];
  364. $qrdinfo['customerAttr'] = Db::name("customer_info")->where(["companyNo"=>$qrdinfo['customerNo']])->value("parent",'');
  365. return app_show(0,"获取成功",$qrdinfo);
  366. }
  367. /**验证采销订单管联数据是否对账
  368. * @return \think\response\Json|void
  369. */
  370. public function OrderIsCheck(){
  371. $post =$this->request->only(["orderCode"=>'',"isCgd"=>0,"is_cgd_check"=>0],"post","trim");
  372. $vali=Validate::rule([
  373. "orderCode|销售单单号"=>"require|max:255",
  374. "isCgd|是否退采购单"=>"require|in:0,1",
  375. "is_cgd_check|只退采购单"=>"in:0,1"
  376. ]);
  377. if($vali->check($post)==false) return error_show(1004,$vali->getError());
  378. if($post['is_cgd_check']==0){
  379. $qrdinf =Db::name('qrd_info')->where(['sequenceNo|cxCode'=>$post['orderCode'],'status'=>1,'is_del'=>0])->column('sequenceNo');
  380. if(!empty($qrdinf)){
  381. $asscoinfo =Db::name('assoc')->where(['orderCode'=>$qrdinf,'status'=>[1,2],'is_del'=>0])->column('viceCode','type');
  382. $message='';
  383. if(isset($asscoinfo[1]))$message.='开票申请编号:'.$asscoinfo[1]."\r\n";
  384. if(isset($asscoinfo[2]))$message.='资金认领编号:'.$asscoinfo[2]."\r\n";
  385. return error_show(1005,$message);
  386. }
  387. $cgdinfo =Db::name('cgd_info')->where(['cxCode'=>$post['orderCode'],'status'=>1,'is_del'=>0])->column('sequenceNo');
  388. if(!empty($cgdinfo)){
  389. $message='';
  390. $payinfo = Db::name('pay_info')->where(['cgdNo'=>$cgdinfo,'status'=>1,'is_del'=>0])->column('payNo');
  391. if(!empty($payinfo))$message.='对账单编号:'.implode(',',$payinfo)."\n";
  392. $hp = Db::name('pay_invoice')->where(['payNo'=>$payinfo,'is_del'=>0,'status'=>[1,2,3,4]])->column('hpNo');
  393. if(!empty($hp))$message.='对账单回票编号:'.implode(',',$hp)."\n";
  394. $paydz = Db::name('pay_payment')->where(['payNo'=>$payinfo,'is_del'=>0,'status'=>[1,2,3,4]])->column('dzNo');
  395. if(!empty($paydz))$message.='对账单付款编号:'.implode(',',$paydz)."\n";
  396. return error_show(1005,$message);
  397. }
  398. if($post['isCgd']==1){
  399. $cgdinfo =Db::name('cgd_info')->where(['qrdCode'=>$post['orderCode'],'status'=>1,'is_del'=>0])->column('sequenceNo');
  400. if(!empty($cgdinfo)){
  401. $message='';
  402. $payinfo = Db::name('pay_info')->where(['cgdNo'=>$cgdinfo,'status'=>1,'is_del'=>0])->column('payNo');
  403. if(!empty($payinfo))$message.='对账单编号:'.implode(',',$payinfo)."\n";
  404. $hp = Db::name('pay_invoice')->where(['payNo'=>$payinfo,'is_del'=>0,'status'=>[1,2,3,4]])->column('hpNo');
  405. if(!empty($hp))$message.='对账单回票编号:'.implode(',',$hp)."\n";
  406. $paydz = Db::name('pay_payment')->where(['payNo'=>$payinfo,'is_del'=>0,'status'=>[1,2,3,4]])->column('dzNo');
  407. if(!empty($paydz))$message.='对账单付款编号:'.implode(',',$paydz)."\n";
  408. return error_show(1005,$message);
  409. }
  410. }
  411. }else{
  412. $cgdinfo =Db::name('cgd_info')->where(['sequenceNo'=>$post['orderCode'],'status'=>1,'is_del'=>0])->column('sequenceNo');
  413. if(!empty($cgdinfo)){
  414. $message='';
  415. $payinfo = Db::name('pay_info')->where(['cgdNo'=>$cgdinfo,'status'=>1,'is_del'=>0])->column('payNo');
  416. if(!empty($payinfo))$message.='对账单编号:'.implode(',',$payinfo)."\n";
  417. $hp = Db::name('pay_invoice')->where(['payNo'=>$payinfo,'is_del'=>0,'status'=>[1,2,3,4]])->column('hpNo');
  418. if(!empty($hp))$message.='对账单回票编号:'.implode(',',$hp)."\n";
  419. $paydz = Db::name('pay_payment')->where(['payNo'=>$payinfo,'is_del'=>0,'status'=>[1,2,3,4]])->column('dzNo');
  420. if(!empty($paydz))$message.='对账单付款编号:'.implode(',',$paydz)."\n";
  421. return error_show(1005,$message);
  422. }
  423. }
  424. return app_show(0,"不存在对账订单");
  425. }
  426. }