Commit e00dcea4 by 孙龙

打印标签

parent 0a0304df
......@@ -36,15 +36,38 @@ Class ApiController extends Controller
* @param Request $request
*/
public function tryPrintLabel(Request $request){
$list = $request->input("list",0);
$list = $request->input("list",[]);
if(empty($list)){
return $this->setError("请求平台打印失败:打印数据不能为空");
}
foreach($list as &$item){
if(intval($item["print_num"]) <= 0){
$item["print_num"] = 1;
}elseif(intval($item["print_num"]) >= 100){
$item["print_num"] = 100;//单个明细限制100
}
}
if(count($list) > 150){//所有型号数限制150
return $this->setError("请求平台打印失败:型号明细总数超过150了");
}
$templateIdList = array_pluck($list,"template_id");
$templateIdListSearch = LabelService::getTemplateIds($templateIdList);
foreach($templateIdList as $temptId){
if(!in_array($temptId,$templateIdListSearch)){
return $this->setError(sprintf("请求平台打印失败:标签模板id:%s不存在",$temptId));
}
}
$data = json_encode($list);
$key = LabelService::tryPrintLabel($data);
if(empty($key)){
return ['code'=>-1,"msg"=>"请求平台打印失败", 'data'=>[]];
return $this->setError("请求平台打印失败");
}else{
return ['code'=>0,"msg"=>"请求平台打印成功", 'data'=>[
"url" => config("website.erp_print_url")."/api/print_label?key=".(string)$key
]];
return $this->setSuccessData(
["url" => config("website.erp_print_url")."/api/print_label?key=".(string)$key],0,0,"请求打印成功"
);
}
}
......
......@@ -2,6 +2,7 @@
namespace App\Http\Controllers;
use App\Http\ApiHelper\ApiCode;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
......@@ -10,4 +11,46 @@ use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
public function setSuccess($msg = '操作成功', $code = 0, $data = [])
{
$res_data = [
"code" => $code,
"msg" => $msg,
'data' => (object)$data,
];
return response()->json($res_data);
}
public function setError($msg, $code = -1, $data = [])
{
$res_data = [
"code" => $code,
"msg" => $msg,
];
if ($data) {
$res_data['data'] = $data;
}
return response()->json($res_data);
}
public function setSuccessData($data = [], $count = 0, $code = 0, $msg = 'ok')
{
$res_data = [
"code" => $code,
"data" => $data,
];
if ($msg) {
$res_data['msg'] = $msg;
}
if ($count) {
$res_data['count'] = $count;
}
return response()->json($res_data);
}
}
......@@ -206,7 +206,7 @@ class LabelService {
public static function tryPrintLabel($data){
$key = self::getErpPrintLabelRedisKey();
Redis::setEx($key,3600*24*5,$data);
Redis::setEx($key,3600*24,$data);
return $key;
}
......@@ -216,9 +216,6 @@ class LabelService {
$template_ids = [];
foreach($datas as $item){
if(intval($item["template_id"]) <= 0){
throw new \Exception("没有找到对应的标签模板id");
}
array_push($template_ids,$item["template_id"]);
}
......@@ -228,9 +225,6 @@ class LabelService {
$returnHtml = [];
foreach($datas as $item){
$pringNums = $item["print_num"];
if(intval($pringNums) > 50 ){
$pringNums = 50;
}
for ($i=0;$i<=$pringNums;$i++){
$html = $templateList[$item["template_id"]]["template_extend"]["html"];
$createHtml = (new \App\Services\LabelService)->getLabelOfflineHtml($html,$item);
......@@ -242,4 +236,9 @@ class LabelService {
}
return $returnHtml;
}
public static function getTemplateIds($templateIdList){
$templateListIds = TemplateListModel::whereIn("id",$templateIdList)->where("status",1)->pluck("id")->toArray();
return $templateListIds;
}
}
\ No newline at end of file
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment