Commit 8296c6df authored by hangjun83's avatar hangjun83

1、修复bug,2、新增编辑任务

parent 6297b295
......@@ -76,6 +76,7 @@ class BhOrdersController extends Controller
'name.required' => "任务名称必填",
'orderNo.required' => "订单号必填",
'itemId.required' => "订单购买项必填",
'pId.required' => "订单产品必选",
'refundNums.required' => "退货数量必填",
'handleFee.required' => "手续费费用必填",
'transferPre.required' => "是否转预存必选",
......@@ -91,6 +92,29 @@ class BhOrdersController extends Controller
}
}
public function editSorderRefundTask(Request $request)
{
$message = [
'taskId.required' => "任务id必填",
'name.required' => "任务名称必填",
'orderNo.required' => "订单号必填",
'itemId.required' => "订单购买项必填",
'pId.required' => "订单产品必选",
'refundNums.required' => "退货数量必填",
'handleFee.required' => "手续费费用必填",
'transferPre.required' => "是否转预存必选",
'cancelPorder.required' => "是否取消采购订单必选",
];
$this->validateRequest($request, $message);
try{
$order = $this->bhOrdersService->addSordersRefundTask($request);
return Response::success($order, '编辑成功');
}catch(\Exception $exception){
return Response::fail($exception->getMessage(),500);
}
}
/**
* 获取订单退货任务列表
* @param Request $request
......@@ -165,4 +189,19 @@ class BhOrdersController extends Controller
return Response::fail($exception->getMessage(),500);
}
}
public function getSorderDetailByTaskId(Request $request)
{
$message = [
'taskId.required' => "任务id必填",
];
$this->validateRequest($request, $message);
try{
$logs = $this->bhOrdersService->getBhSorderDetailByTaskId($request);
return Response::success($this->formatKeysfromArray($logs), '操作成功');
}catch(\Exception $exception){
return Response::fail($exception->getMessage(),500);
}
}
}
......@@ -22,4 +22,10 @@ class BhSorderRefundCriteria extends Criteria
$query->where('type', '=', $this->request->get('type'));
}
}
protected function after($model)
{
$model->orderbyDesc('id');
return $model;
}
}
......@@ -60,6 +60,23 @@ class BhSoitemsRepositoryEloquent extends BaseRepository implements BhSoitemsRep
return $soItems;
}
public function getSorderItemsDetailFromItemId($itemId,$pid=null)
{
//查询订单的详情
$soItems = BhSoitems::query()
->join('sorders','sorders.so_id','soitems.so_id')
->join('products','soitems.p_id','products.p_id')
->join('chemicals','products.c_id','chemicals.c_id')
->join('brands','products.b_id','brands.b_id')
->where('soitems.si_id',$itemId);
if(!is_null($pid)){
$soItems = $soItems->where('soitems.p_id',$pid);
}
$soItems = $soItems->get();
return $soItems;
}
/**
* 根据si_id获取订单明细项
* @param $si_id
......
......@@ -56,6 +56,11 @@ class BhSorderRefundRepositoryEloquent extends BaseRepository implements BhSorde
$task['status'] = 'notexec';
$task['type'] = 'sorder_refund';
return $this->create($task);
if(isset($params['task_id']) && !empty($params['task_id'])){
$id = $params['task_id'];
return $this->update($task,$id);
}else{
return $this->create($task);
}
}
}
......@@ -25,7 +25,6 @@ use App\Repositories\Enums\ResponseCodeEnum;
use App\Repositories\Models\AdminUsers;
use App\Repositories\Models\BhPorders;
use App\Support\Traits\Helpers;
use http\Exception\BadQueryStringException;
use Illuminate\Support\Facades\DB;
......@@ -132,6 +131,12 @@ class BhOrdersService
throw new \LogicException('该订单编号不存在!',500);
}
if(isset($params['task_id']) && !empty($params['task_id'])){
if(!app(BhSorderRefundRepository::class)->find($params['task_id'])){
throw new \LogicException('该任务不存在!',500);
}
}
if($params['transfer_pre'] == true){
$params['transfer_pre'] = 1;
}else{
......@@ -144,6 +149,10 @@ class BhOrdersService
$params['cancel_porder'] = 0;
}
if($params['refund_nums'] == 'null'){
throw new \LogicException('请填写正确的退货数量',500);
}
return app(BhSorderRefundRepository::class)->addRefundTask($params);
}
......@@ -197,6 +206,32 @@ class BhOrdersService
return $tasks;
}
public function getBhSorderDetailByTaskId($request)
{
$params = $this->formatKeysfromArray($request->all(),'toUnderScore');
$task = app(BhSorderRefundRepository::class)->find($params['task_id']);
if(!$task){
throw new \LogicException('任务不存在!',500);
}
$task = $task->toArray();
$content = json_decode($task['exec_content'],true);
//获取销售订单item数据
$dbConnect = DB::connection('bh_mysql');
$soItems = app(BhSoitemsRepository::class)->getSorderItemsDetailFromItemId($content['item_id'],$content['p_id']);
$soItems = $soItems->toArray();
$returnItem = [];
if($soItems){
foreach($soItems as $item){
if($item['si_if_cancel'] == 0){
$returnItem[] = $item;
}
}
}
return $returnItem;
}
/**
* 手动执行脚本
* @param $request
......
......@@ -21,10 +21,12 @@ $api->version('v1', function($api) {
// 百化销售订单
$api->post('/adminapi/tools/bh/addSorderRefundTask', ['permission' => 'tools.bh.order.add', 'uses'=>'BhOrdersController@addSorderRefundTask']);
$api->post('/adminapi/tools/bh/editSorderRefundTask', ['permission' => 'tools.bh.order.add', 'uses'=>'BhOrdersController@editSorderRefundTask']);
$api->post('/adminapi/tools/bh/getBhSordersDetail', ['permission' => 'tools.bh.order.search', 'uses'=>'BhOrdersController@getBhSordersDetail']);
$api->get('/adminapi/tools/bh/getBhSorderRefundTask', ['permission' => 'tools.bh.order.search', 'uses'=>'BhOrdersController@getBhSorderRefundTaskToPage']);
$api->post('/adminapi/tools/bh/execBhSorderRefundTask', ['permission' => 'tools.bh.order.search', 'uses'=>'BhOrdersController@execBhSorderRefundTask']);
$api->post('/adminapi/tools/bh/getSorderRefundTaskLogs', ['permission' => 'tools.bh.order.search', 'uses'=>'BhOrdersController@getSorderRefundTaskLogsToPage']);
$api->get('/adminapi/tools/bh/getSorderRefundTaskLogs', ['permission' => 'tools.bh.order.search', 'uses'=>'BhOrdersController@getSorderRefundTaskLogsToPage']);
$api->post('/adminapi/tools/bh/getSorderDetailByTaskId', ['permission' => 'tools.bh.order.search', 'uses'=>'BhOrdersController@getSorderDetailByTaskId']);
});
......
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 to comment