OrderNoService.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. namespace App\Service;
  3. use App\Model\Construction;
  4. use App\Model\SalesOrder;
  5. class OrderNoService extends Service
  6. {
  7. //采购 收货 发货 单号生成
  8. public function createOrderNumber($prefix){
  9. return $prefix . date('Ymd') . time() . rand(1000,9999);
  10. }
  11. //销售订单合同号
  12. public static function createSalesOrderNumber($prefix){
  13. $str = $prefix . date('Ymd',time());
  14. $order_number = SalesOrder::where('order_number','Like','%'. $str . '%')
  15. ->max('order_number');
  16. if(empty($order_number)){
  17. $number = str_pad(1,3,'0',STR_PAD_LEFT);
  18. $number = $str . $number;
  19. }else{
  20. $tmp = substr($order_number, -3);
  21. $tmp = $tmp + 1;
  22. //超过999
  23. if(strlen($tmp) > 3) return '';
  24. $number = str_pad($tmp,3,'0',STR_PAD_LEFT);
  25. $number = $str . $number;
  26. }
  27. return $number;
  28. }
  29. //施工单订单合同号
  30. public static function createConstructionOrderNumber($prefix){
  31. $str = $prefix . date('Ymd',time());
  32. $order_number = Construction::where('order_number','Like','%'. $str . '%')
  33. ->max('order_number');
  34. if(empty($order_number)){
  35. $number = str_pad(1,3,'0',STR_PAD_LEFT);
  36. $number = $str . $number;
  37. }else{
  38. $tmp = substr($order_number, -3);
  39. $tmp = $tmp + 1;
  40. //超过999
  41. if(strlen($tmp) > 3) return '';
  42. $number = str_pad($tmp,3,'0',STR_PAD_LEFT);
  43. $number = $str . $number;
  44. }
  45. return $number;
  46. }
  47. //采购 收货 发货 单号生成
  48. public function createReturnExchangeOrderNumber($prefix){
  49. return $prefix . date('Ymd') . time() . rand(1000,9999);
  50. }
  51. }