YilianyunOrderPrinter.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <?php
  2. /**
  3. * @link:http://www.gdqijianshi.com/
  4. * @copyright: Copyright (c) 2020 广东七件事集团
  5. * Created by PhpStorm
  6. * Author: zal
  7. * Date: 2020-04-01
  8. * Time: 21:49
  9. */
  10. namespace addons\Printer\common\logic\printer;
  11. use addons\Printer\common\config\YilianyunConfig;
  12. class YilianyunOrderPrinter extends BasePrinter
  13. {
  14. public function __construct($config = array())
  15. {
  16. $this->config = new YilianyunConfig($config);
  17. }
  18. public function getTimes()
  19. {
  20. return "<MN>{$this->config->time}</MN>";
  21. }
  22. public function getCenter($content)
  23. {
  24. return "<center>{$content}</center>";
  25. }
  26. public function getBold($content)
  27. {
  28. return "<FB>{$content}</FB>";
  29. }
  30. public function getCenterBold($content)
  31. {
  32. return "<FB><center>{$content}</center></FB>\n";
  33. }
  34. public function getBR($content)
  35. {
  36. return "{$content}\n";
  37. }
  38. public function getQR($content){
  39. return "<QR>{$content}</QR>";
  40. }
  41. public function getTableNoAttr($data)
  42. {
  43. $content = '';
  44. if($data->is_show_price){
  45. $content .= "<table><tr><td>名称</td><td>数量</td><td>单价</td></tr>";
  46. }else{
  47. $content .= "<table><tr><td>名称</td><td>数量</td></tr>";
  48. }
  49. $time = time();
  50. foreach ($data->goods_list as $k => $v) {
  51. $price = $v->unit_price;
  52. $v->name = str_replace(',', ',', $v->name);
  53. $arr = $this->rStrPad1($v->name, 8);
  54. foreach ($arr as $index => $value) {
  55. if ($index == 0) {
  56. if($data->is_show_price){
  57. $content .= "<tr><td>" . $value . "</td><td> " . $v->num . "</td><td>" . $price . "</td></tr>";
  58. }else{
  59. $content .= "<tr><td>" . $value . "</td><td> " . $v->num . "</td></tr>";
  60. }
  61. } else {
  62. $content .= "<tr><td>" . $value . "</td></tr>";
  63. }
  64. }
  65. if($data->is_show_barcode){
  66. $content .= "<tr><td><BR>".$v->goods_id.$time."</BR></td></tr>";
  67. }
  68. }
  69. $content .= "</table>";
  70. return $content;
  71. }
  72. public function getTableAttr($data)
  73. {
  74. $content = '';
  75. $content .= "<table><tr><td>名称</td><td>数量</td><td>总价</td></tr>";
  76. foreach ($data->goods_list as $k => $v) {
  77. $name = $v['name'] . '(' . $v['attr'] . ')';
  78. $nameArr = $this->rStrPad1($name, 6);
  79. foreach ($nameArr as $index => $value) {
  80. if ($index == count($nameArr) - 1) {
  81. $content .= "<tr><td>" . $nameArr[$index] . "</td><td>" . '×' . $v['num'] . "</td><td>" . round($v['total_price'], 2) . "</td></tr>";
  82. } else {
  83. $content .= "<tr><td>" . $nameArr[$index] . "</td><td></td><td></td></tr>";
  84. }
  85. }
  86. }
  87. $content .= "</table>";
  88. return $content;
  89. }
  90. }