提交 0882ed63 authored 作者: 窦斌's avatar 窦斌

edit

上级 beb1f6bb
......@@ -42,7 +42,7 @@ class OrderListController extends Controller
}
$input = $request->all();
if($input['type']==1){
$return_data = OrderListService::getPerson($request->all(),$request['old_install_id']);
$return_data = OrderListService::getPerson($request->all());
}
if($input['type']==2) {
$error_message = $this->dataValidator->receivingValidator($request->all());
......@@ -78,6 +78,28 @@ class OrderListController extends Controller
$return_data = OrderListService::contact($request->all(),$request->ip());
return response()->json($return_data);
}
//改派
public function transferOfOrder ( Request $request ){
// 验证数据
$error_message = $this->dataValidator->transferOfOrderStartValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$input = $request->all();
if($input['type']==1){
$return_data = OrderListService::getPerson($request->all(),$input['old_install_id']);
}
if($input['type']==2) {
$error_message = $this->dataValidator->transferOfOrderValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$return_data = OrderListService::transferOfOrder($request->all(),$request->ip());
}
return response()->json($return_data);
}
// 检验
public function inspect(Request $request)
{
......
......@@ -134,6 +134,7 @@ class OrderListValidator extends FormRequest
return $validator->errors();
}
}
// 预约验证器
public function contactValidator($data)
{
......@@ -156,6 +157,55 @@ class OrderListValidator extends FormRequest
}
}
// 改派验证器入口
public function transferOfOrderStartValidator($data)
{
// 自定义错误消息
$messages = [
'type.required' => '请输入请求类型',
'type.in' => '参数错误',
'id.required' => '请输入工单id',
'id.integer' => '参数错误',
'old_install_id.required' => '请输入原技师',
'old_install_id.integer' => '参数错误',
];
// 数据验证
$validator = Validator::make($data, [
'type' => [//1获取技师2改派
'required',
Rule::in(['1', '2']),
],
'id' => 'required|integer|min:1',
'old_install_id' => 'required|integer|min:1',
], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
}
}
// 改派验证器入口
public function transferOfOrderValidator($data)
{
// 自定义错误消息
$messages = [
'receive_install_id.required' => '请选择安装人员',
'receive_install_id.integer' => '参数错误',
];
// 数据验证
$validator = Validator::make($data, [
'receive_install_id' => 'required|integer|min:1',
], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
}
}
// 开始安装验证器
public function startInstallValidator($data)
{
......
......@@ -465,10 +465,10 @@ class OrderListService extends Model
}
}
//end Dong
$content = "订单".$is_bool."(".$orderListArr['serial_number'].")";
$content = "订单".$is_bool."(".$orderListArr['serial_number'].")(".$instArr['install_name'].")";
self::operating_time($orderListArr['serial_number'],'接单时间',date("Y-m-d H-i-s"),$orderListArr['order_num'],$session);//订单操作时间
self::add_thistory($orderListArr['serial_number'],'tih_acceptime',date("Y-m-d H:i:s"),$orderListArr['ser_id'],2,$session);//添加历史时间
CommonService::inserting_log('接单1,',$orderListArr['sys_num'],$content,'派工单',$session,$ip);//日志
CommonService::inserting_log('接单1,',$orderListArr['sys_num'],$content,'派工单web',$session,$ip);//日志
return ['ErrorCode' => 1, 'ErrorMessage' => '操作成功', 'Data' => []];
}else{
DB::rollback();//回滚
......@@ -539,22 +539,73 @@ class OrderListService extends Model
*/
public static function contact ( $request , $ip){
$session = $request['session'];
$orderListArr = OrderTime::where("id",$request['id'])->select("order_num","sys_num","stauas","ser_id","p_id","customer_id","serial_number","ol_dispamount")->first();
$orderListArr = OrderList::where("id",$request['id'])->select("order_num","sys_num","stauas","ser_id","p_id","customer_id","serial_number","ol_dispamount")->first();
if($orderListArr['stauas'] <> 30){
// 拒单失败!该单状态不正确!
return ['ErrorCode' => ErrorInc::MYSQL_STEP_FAILED, 'ErrorMessage' => '订单状态错误请刷新后操作:检索码01', 'Data' => []];
}
$data['day_time']=$request['delay_time'];
$data['day_time']=$request['day_time'];
DB::beginTransaction(); //开启事务
$res = Orders::where("sys_num",$orderListArr['sys_num'])->update($data);
$ress = OrderList::where("id",$request['id'])->update($data);
if($res && $ress){
DB::commit();
self::operating_time($orderListArr['serial_number'],'安装预约时间',date("Y-m-d H-i-s"),$orderListArr['order_num'],$session);//订单操作时间
self::updateLineSrate($request['coordinate'], 2, $orderListArr['serial_number'], $orderListArr['sys_num'], $orderListArr['order_num']);
self::updateLineSrate($request['coordinate']??'', 2, $orderListArr['serial_number'], $orderListArr['sys_num'], $orderListArr['order_num']);
CommonService::inserting_log('预约安装,',$orderListArr['sys_num'],'订单('.$orderListArr['serial_number'].')','派工单web',$session,$ip);//日志
return ['ErrorCode' => 1, 'ErrorMessage' => '操作成功', 'Data' => []];
}else{
DB::rollback();//回滚
return ['ErrorCode' => ErrorInc::MYSQL_FAILED, 'ErrorMessage' => '操作失败', 'Data' => []];
}
}
/**|---------------------------------------------------------------------------------
* @name 改派
* @param int id 订单id
* @param int receive_install_id 接单技师id
* @retrun \Illuminate\Http\JsonResponse /multitype:array
* @author dou 2024/9/11 11:50
* |---------------------------------------------------------------------------------
*/
public static function transferOfOrder ( $request , $ip ){
$session = $request['session'];
$orderListArr = OrderList::where("id",$request['id'])->first();
if($orderListArr) {
$install_person = InstallPerson::where('id',$request['receive_install_id'])->first();
if($install_person) {
$orderlist['install_id'] = $install_person['id'];
$orderlist['intall_person'] = $install_person['install_name'];
$orderlist['intall_phone'] = $install_person['install_phone'];
DB::beginTransaction(); //开启事务
$res = OrderList::where("id",$request['id'])->update($orderlist);
$order['intall_person'] = $install_person['install_name'];
$order['intall_phone'] = $install_person['install_phone'];
$rea = Orders::where("order_num",$orderListArr['order_num'])->update($order);
if ($orderListArr['stauas'] > 20) {
$settl['intall_person'] = $install_person['install_name'];
$settl['intall_phone'] = $install_person['install_phone'];
$ree = SettlementList::where("order_num",$orderListArr['order_num'])->update($settl);
} else {
$ree = true;
}
if ($res && $rea && $ree) {
DB::commit();
$content = "订单(".$orderListArr['serial_number'].")(".$install_person['install_name'].")";
CommonService::inserting_log('改派,',$orderListArr['sys_num'],$content,'派工单web',$session,$ip);//日志
return ['ErrorCode' => 1, 'ErrorMessage' => '操作成功', 'Data' => []];
} else {
DB::rollback();//回滚
return ['ErrorCode' => ErrorInc::MYSQL_FAILED, 'ErrorMessage' => '操作失败', 'Data' => []];
}
}else{
return ['ErrorCode' => ErrorInc::BUSINESS_FORBID, 'ErrorMessage' => '技师不存在!', 'Data' => []];
}
}else{
return ['ErrorCode' => ErrorInc::DATA_EMPTY, 'ErrorMessage' => '未查询到订单', 'Data' => []];
}
}
// 检验
public static function inspect($request)
{
......@@ -1216,6 +1267,9 @@ class OrderListService extends Model
if($line_states < $install_line['line_state']){
return false;
}else{
if($line_state == 2 && $install_line['line_state']!=1){
return false;
}
$res = InstallLine::where("line_serm",$line_serm)->update($line);
}
}
......
......@@ -1423,6 +1423,7 @@ Route::namespace('Api')->group(function () {
Route::post('w1/OrderList/index', 'MobileWeb\OrderListController@index'); //服务工单列表
Route::post('w1/OrderList/receiving', 'MobileWeb\OrderListController@receiving'); //接单
Route::post('w1/OrderList/refuse', 'MobileWeb\OrderListController@refuse'); //拒单
Route::post('w1/OrderList/transferOfOrder', 'MobileWeb\OrderListController@transferOfOrder'); //改派
Route::post('w1/OrderList/contact', 'MobileWeb\OrderListController@contact'); //预约
Route::post('w1/OrderList/lineStart', 'MobileWeb\OrderListController@lineStart'); //出发
Route::post('w1/OrderList/lineArrive', 'MobileWeb\OrderListController@lineArrive'); //抵达
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论