Commit 29ae6936 by 杨树贤

批量修改内部编码

parent 73db0538
...@@ -87,6 +87,28 @@ class SkuApiController extends Controller ...@@ -87,6 +87,28 @@ class SkuApiController extends Controller
} }
//批量修改内部编码
public function batchUpdateEncoded($request)
{
$canal = $request->get('canal');
$encoded = $request->get('encoded');
if (empty($canal)) {
$this->response(-1, '请选择供应商');
}
if (empty($encoded)) {
$this->response(-1, '请选择供内部编码(采购员)');
}
$data = [
'canal' => $canal,
"encoded" => $encoded,
];
//改成队列
(new SkuService())->batchUpdateEncodedQueue($data);
$this->response(0, '批量修改内部编码任务已经发送,请等待任务完成,期间你可以刷新列表查看下架情况');
}
//批量上下架 //批量上下架
public function batchUpdateSkuStatus(Request $request) public function batchUpdateSkuStatus(Request $request)
{ {
......
...@@ -73,6 +73,22 @@ class SkuController extends Controller ...@@ -73,6 +73,22 @@ class SkuController extends Controller
return $this->view('批量下架'); return $this->view('批量下架');
} }
public function BatchUpdateEncoded($request)
{
//获取所有启用的供应商编码
$model = new SupplierChannelModel();
$suppliers = $model->where('is_type', 0)->where('status', 2)->select(['supplier_name', 'supplier_code'])->get();
$userCodes = (new IntracodeModel())->getChannelUsersEncode();
$supplierCodes = [];
foreach ($suppliers as $supplier) {
$supplier = $supplier->toArray();
$supplierCodes[$supplier['supplier_code']] = $supplier['supplier_name'] . '(' . $supplier['supplier_code'] . ')';
}
$this->data['supplierCodes'] = $supplierCodes;
$this->data['userCodes'] = $userCodes;
return $this->view('批量修改内部编码');
}
public function BatchUpdateSkuStatus($request) public function BatchUpdateSkuStatus($request)
{ {
return $this->view('批量上架'); return $this->view('批量上架');
......
...@@ -39,6 +39,9 @@ class SkuService ...@@ -39,6 +39,9 @@ class SkuService
continue; continue;
} }
$sku = json_decode($redis->hget('sku', $goodsId), true); $sku = json_decode($redis->hget('sku', $goodsId), true);
if (empty($sku)) {
continue;
}
//赋值 //赋值
$sku['goods_id'] = $goodsId; $sku['goods_id'] = $goodsId;
$sku['update_time'] = date('Y-m-d H:i:s', $sku['update_time']); $sku['update_time'] = date('Y-m-d H:i:s', $sku['update_time']);
...@@ -165,6 +168,21 @@ class SkuService ...@@ -165,6 +168,21 @@ class SkuService
$channel->basic_publish($msg, '', 'lie_footstone_batch_downsku_queue'); $channel->basic_publish($msg, '', 'lie_footstone_batch_downsku_queue');
} }
//批量修改内部编码
public function batchUpdateEncodedQueue($data)
{
$conn = new AMQPStreamConnection(config('database.connections.rabbitmq2.host'),
config('database.connections.rabbitmq2.port'),
config('database.connections.rabbitmq2.login'),
config('database.connections.rabbitmq2.password'));
$channel = $conn->channel();
$channel->queue_declare('lie_footstone_update_sku_info_queue', false, true, false, false);
$msg = new AMQPMessage(json_encode($data),
array('content_type' => 'text/plain'));
$channel->basic_publish($msg, '', 'lie_footstone_update_sku_info_queue');
}
//批量更新sku状态,走队列的 //批量更新sku状态,走队列的
public function batchUpdateSkuStatus($data) public function batchUpdateSkuStatus($data)
{ {
......
<script>
layui.use(['table', 'form', 'element', 'table', 'layer', 'admin','xmSelect'], function () {
let admin = layui.admin;
let form = layui.form;
let element = layui.element;
let xmSelect = layui.xmSelect;
form.on('submit(batchUpdateEncoded)', function (data) {
let url = '/api/sku/BatchUpdateEncoded';
let res = ajax(url, data.field);
if (!res) {
layer.msg('网络错误,请重试', {icon: 6});
} else {
if (res.err_code === 0) {
admin.closeThisDialog();
parent.layer.msg(res.err_msg, {icon: 6});
} else {
parent.layer.msg(res.err_msg, {icon: 5});
}
}
return false;
});
form.on('submit(cancel)', function (data) {
admin.closeThisDialog();
});
});
</script>
\ No newline at end of file
...@@ -242,6 +242,20 @@ ...@@ -242,6 +242,20 @@
}); });
}); });
//批量修改内部编码
$("#batch_update_encoded").click(function () {
layer.open({
type: 2,
content: '/sku/BatchUpdateEncoded?view=iframe',
area: ['800px', '600px'],
title: '批量修改内部编码',
end: function () {
table.reload('skuList');
// supplierStatistics();
}
});
});
//批量上下架操作 //批量上下架操作
function batchUpdateGoodsStatus(skuIds, status) { function batchUpdateGoodsStatus(skuIds, status) {
let statusName = status === 'offshelf' ? '下架' : '上架'; let statusName = status === 'offshelf' ? '下架' : '上架';
......
<style>
.layui-form-item {
margin-bottom: 5px;
}
</style>
<div class="layui-card">
<div class="layui-card-body">
<form class="layui-form" action="">
<div class="layui-form-item">
<div class="layui-inline" style="margin-left: -30px">
@inject('statusPresenter','App\Presenters\StatusPresenter')
{!! $statusPresenter->render('canal','供应商选择 : ',null,
$supplierCodes,['required'=>true,'width'=>'400px']) !!}
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline" style="margin-left: -30px">
@inject('statusPresenter','App\Presenters\StatusPresenter')
{!! $statusPresenter->render('encoded','内部编码 : ',null,
$userCodes,['required'=>true,'width'=>'400px']) !!}
</div>
</div>
<div class="layui-form-item">
<div align="center" style="margin-top: 20px;text-align: right">
<button type="button" class="layui-btn layui-btn-sm layui-btn-info submit-loading" lay-submit
lay-filter="batchUpdateEncoded">确认
</button>
<button type="button" class="layui-btn layui-btn-sm layui-btn-primary" lay-submit
lay-filter="cancel">取消
</button>
</div>
</div>
</form>
</div>
</div>
...@@ -4,11 +4,14 @@ ...@@ -4,11 +4,14 @@
@if(checkPerm('TempTemp')) @if(checkPerm('TempTemp'))
<button type="button" class="layui-btn layui-btn-sm" id="add_supplier">新增</button> <button type="button" class="layui-btn layui-btn-sm" id="add_supplier">新增</button>
@endif @endif
<button type="button" class="layui-btn layui-btn-sm" id="batch_putaway">上架</button> <button type="button" class="layui-btn layui-btn-sm" id="batch_putaway">上架</button>
<button type="button" class="layui-btn layui-btn-sm" id="batch_off_shelf">下架</button> <button type="button" class="layui-btn layui-btn-sm" id="batch_off_shelf">下架</button>
<button type="button" class="layui-btn layui-btn-sm" id="remote_batch_off_shelf">批量下架</button> <button type="button" class="layui-btn layui-btn-sm" id="remote_batch_off_shelf">批量下架</button>
<button type="button" class="layui-btn layui-btn-sm" id="set_prefer">设置精选</button> @if (checkPerm('BatchUpdateEncoded'))
<button type="button" class="layui-btn layui-btn-sm" id="cancel_set_prefer">取消精选</button> <button type="button" class="layui-btn layui-btn-sm" id="batch_update_encoded">批量修改内部编码</button>
@endif
<button type="button" class="layui-btn layui-btn-sm" id="set_prefer">设置精选</button>
<button type="button" class="layui-btn layui-btn-sm" id="cancel_set_prefer">取消精选</button>
</div> </div>
<table class="layui-table" id="skuList" lay-filter="skuList"></table> <table class="layui-table" id="skuList" lay-filter="skuList"></table>
......
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