|
@@ -374,11 +374,12 @@ class ImportService extends Service
|
|
|
$emp_map1[$value['number']] = $value['id'];
|
|
|
}
|
|
|
|
|
|
- $depart = Depart::where('del_time',0)
|
|
|
+ $departList = Depart::where('del_time',0)
|
|
|
->where('parent_id', 0)
|
|
|
->whereIn('title', $fp)
|
|
|
- ->pluck('title','id')
|
|
|
- ->toArray();
|
|
|
+ ->select('title','id','notify_id')
|
|
|
+ ->get()->toArray();
|
|
|
+ $depart = array_column($departList,null,'title');
|
|
|
|
|
|
$top_depart_id = $user['depart_top'][0] ?? [];
|
|
|
$top_depart_id = $top_depart_id['depart_id'] ?? 0;
|
|
@@ -393,7 +394,7 @@ class ImportService extends Service
|
|
|
|
|
|
list($status, $msg) = $this->customerFilterSecond($array,$time,$head,$user,$contact_info_array,$customer,$basic_list,$emp_map,$emp_map1,$basic_use,$depart);
|
|
|
if(! $status) return [0, $msg];
|
|
|
- list($insert, $insert_detail, $insert_detail2,$insert_detail3) = $msg;
|
|
|
+ list($insert, $insert_detail, $insert_detail2, $insert_detail3) = $msg;
|
|
|
|
|
|
try{
|
|
|
DB::beginTransaction();
|
|
@@ -481,12 +482,6 @@ class ImportService extends Service
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if(empty($value[13])) {
|
|
|
- $error[] = $line . '负责人名或负责人工号必须填写';
|
|
|
- }else{
|
|
|
- if(! in_array($value[13], $fz)) $fz[] = $value[13];
|
|
|
- }
|
|
|
-
|
|
|
if(! empty($value[14])){
|
|
|
list($status, $msg) = $this->convertExcelCellToDate($value[14]);
|
|
|
if(! $status) {
|
|
@@ -499,7 +494,11 @@ class ImportService extends Service
|
|
|
}
|
|
|
|
|
|
if(empty($value[15])) {
|
|
|
- $error[] = $line . '分配门店必须填写';
|
|
|
+ if(empty($value[13])) {
|
|
|
+ $error[] = $line . '(分配门店为空时)负责人名或负责人工号必须填写';
|
|
|
+ }else{
|
|
|
+ if(! in_array($value[13], $fz)) $fz[] = $value[13];
|
|
|
+ }
|
|
|
}else{
|
|
|
if(! in_array($value[15], $fp)) $fp[] = $value[15];
|
|
|
}
|
|
@@ -621,29 +620,34 @@ class ImportService extends Service
|
|
|
$repeat = 1;
|
|
|
$error[] = $line . '联系方式内容:' . $value['12'] . '已存在';
|
|
|
}
|
|
|
- $man = 0;
|
|
|
- if(! empty($emp_name[$value['13']])){
|
|
|
- $name = $emp_name[$value['13']];
|
|
|
- if(count($name) > 1) {
|
|
|
- $error[] = $line . '负责人名:' . $value['13'] . '在系统中多次出现,请填写工号精准定位负责人';
|
|
|
- }else{
|
|
|
- $man = $name[0];
|
|
|
- }
|
|
|
+
|
|
|
+ $fp = $man = 0;
|
|
|
+ if(empty($value['15'])){
|
|
|
+ //分配门店为空 负责人必填
|
|
|
+ list($return_man, $return_error) = $this->returnMan($emp_name, $emp_number, $value['13'], $line);
|
|
|
+ if(! empty($return_error)) $error[] = $return_error;
|
|
|
+ if(! empty($return_man)) $man = $return_man;
|
|
|
}else{
|
|
|
- if(! empty($emp_number[$value['13']])){
|
|
|
- $man = $emp_number[$value['13']];
|
|
|
+ if(empty($depart[$value['15']])) {
|
|
|
+ $error[] = $line . '分配门店:' . $value['15'] . '不存在';
|
|
|
}else{
|
|
|
- $error[] = $line . '负责人工号:' . $value['13'] . '不存在';
|
|
|
+ $d_t = $depart[$value['15']];
|
|
|
+ $fp = $d_t['id']; //门店id
|
|
|
+ $fp_man = $d_t['notify_id']; //门店负责人
|
|
|
+ if(empty($fp_man)) {
|
|
|
+ $error[] = $line . '分配门店:' . $value['15'] . '门店负责人暂未设置';
|
|
|
+ }else{
|
|
|
+ if(! empty($value['13'])){
|
|
|
+ list($return_man, $return_error) = $this->returnMan($emp_name, $emp_number, $value['13'], $line);
|
|
|
+ if(! empty($return_error)) $error[] = $return_error;
|
|
|
+ if(! empty($return_man)) $man = $return_man;
|
|
|
+ if($fp_man != $man) $error[] = $line . '分配门店:' . $value['15'] . '门店负责人与用户填写的负责人不一致';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $man = $fp_man;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- $fp = 0;
|
|
|
- if(empty($depart[$value['15']])) {
|
|
|
- $error[] = $line . '分配门店:' . $value['15'] . '不存在';
|
|
|
- }else{
|
|
|
- $fp = $depart[$value['15']];
|
|
|
- }
|
|
|
-
|
|
|
$insert[] = $tmp;
|
|
|
$insert_detail[] = [
|
|
|
'customer_id' => 0,
|
|
@@ -683,6 +687,34 @@ class ImportService extends Service
|
|
|
return [true, [$insert, $insert_detail, $insert_detail2, $insert_detail3]];
|
|
|
}
|
|
|
|
|
|
+ function returnMan($emp_name, $emp_number, $value, $line){
|
|
|
+ $return = [];
|
|
|
+ $type = 0;
|
|
|
+ if(! empty($emp_name[$value])){
|
|
|
+ $return = $emp_name[$value];
|
|
|
+ $type = 1;
|
|
|
+ }else{
|
|
|
+ if(! empty($emp_number[$value])) $return = $emp_number[$value];
|
|
|
+ }
|
|
|
+
|
|
|
+ $man = 0;$error = "";
|
|
|
+ if($type){
|
|
|
+ if(count($return) > 1) {
|
|
|
+ $error = $line . '负责人名:' . $value . '在系统中多次出现,请填写工号精准定位负责人';
|
|
|
+ }else{
|
|
|
+ $man = $return[0];
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ if(! empty($return)){
|
|
|
+ $man = $return;
|
|
|
+ }else{
|
|
|
+ $error = $line . '负责人工号:' . $value . '不存在';
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return [$man, $error];
|
|
|
+ }
|
|
|
+
|
|
|
function convertExcelCellToDate($cellValue) {
|
|
|
// 尝试将单元格值转换为浮点数(Excel 日期序列号)
|
|
|
$excelTimestamp = filter_var($cellValue, FILTER_VALIDATE_FLOAT);
|