OrderNoService.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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. }