Commit d460c4db authored by 侯贺政's avatar 侯贺政

员工导入批量验证门店;运费模板详情优化

Signed-off-by: 侯贺政's avatarhouhezheng <houhezheng@romens.cn>
parent 83be249a
...@@ -136,7 +136,13 @@ class ShopEmployeeController extends BaseController ...@@ -136,7 +136,13 @@ class ShopEmployeeController extends BaseController
return $fileInfo['INFO']; return $fileInfo['INFO'];
} }
$arr = Helper::newSpreadsheet($fileInfo['INFO'][0])->getRows(true, ['rowOffset' => 2, 'columns' => 9]); $data = Helper::newSpreadsheet($fileInfo['INFO'][0])->getRows(true, ['rowOffset' => 2, 'columns' => 9]);
$arr = (new ShopBranch)->validateBranch($data);
if (isset($arr['CODE'])) {
@unlink($fileInfo['INFO'][0]);
Yii::$app->response->statusCode = 422;
return $arr['list'];
}
$model = new $this->modelClass(); $model = new $this->modelClass();
$model->scenario = 'import'; $model->scenario = 'import';
$transcation = $model->getDb()->beginTransaction(); $transcation = $model->getDb()->beginTransaction();
...@@ -144,15 +150,6 @@ class ShopEmployeeController extends BaseController ...@@ -144,15 +150,6 @@ class ShopEmployeeController extends BaseController
if (is_array($arr) && !empty($arr)) { if (is_array($arr) && !empty($arr)) {
try { try {
foreach ($arr as $key => $value) { foreach ($arr as $key => $value) {
$branch_info = ShopBranch::findOne(['CODE' => $value[8]]);
if (!$branch_info) {
$returnInfo = [
($key + 1) => ['error' => '不存在该门店,检查并更正所属门店编码,或删除此条数据']
];
@unlink($fileInfo['INFO'][0]);
Yii::$app->response->statusCode = 422;
return $returnInfo;
}
$_model = $model::findOne(['EMPLOYEE_CODE' => $value[1]]); $_model = $model::findOne(['EMPLOYEE_CODE' => $value[1]]);
if ($_model === null) { if ($_model === null) {
$_model = clone $model; $_model = clone $model;
...@@ -179,7 +176,7 @@ class ShopEmployeeController extends BaseController ...@@ -179,7 +176,7 @@ class ShopEmployeeController extends BaseController
$_model->CONTACTBIRTH_DATE = $value[5]; $_model->CONTACTBIRTH_DATE = $value[5];
$_model->EMPLOYEE_IS_MANAGER = $value[6]; $_model->EMPLOYEE_IS_MANAGER = $value[6];
$_model->IS_DISTRIBUTOR = $value[7]; $_model->IS_DISTRIBUTOR = $value[7];
$_model->EMPLOYEE_BRANCH_GUID = $branch_info['GUID']; $_model->EMPLOYEE_BRANCH_GUID = $arr['BRANCH_GUID'];
$_model->UPDATE_GUID = Yii::$app->user->identity->GUID; $_model->UPDATE_GUID = Yii::$app->user->identity->GUID;
$_model->UPDATE_NAME = Yii::$app->user->identity->NAME; $_model->UPDATE_NAME = Yii::$app->user->identity->NAME;
$_model->UPDATE_DATE = date('Y-m-d H:i:s', time()); $_model->UPDATE_DATE = date('Y-m-d H:i:s', time());
...@@ -248,7 +245,7 @@ class ShopEmployeeController extends BaseController ...@@ -248,7 +245,7 @@ class ShopEmployeeController extends BaseController
$model->CODE = $params['MOBILE_PHONE']; $model->CODE = $params['MOBILE_PHONE'];
$model->CREATE_GUID = Yii::$app->user->identity->GUID; $model->CREATE_GUID = Yii::$app->user->identity->GUID;
$model->CREATE_NAME = Yii::$app->user->identity->NAME; $model->CREATE_NAME = Yii::$app->user->identity->NAME;
$model->CREATE_DATE = date('Y-m-d H:i:s',time()); $model->CREATE_DATE = date('Y-m-d H:i:s', time());
$model->BELONG = 1; $model->BELONG = 1;
if (!$model->save()) { if (!$model->save()) {
...@@ -310,7 +307,7 @@ class ShopEmployeeController extends BaseController ...@@ -310,7 +307,7 @@ class ShopEmployeeController extends BaseController
$_model->CODE = $params['MOBILE_PHONE']; $_model->CODE = $params['MOBILE_PHONE'];
$_model->UPDATE_GUID = Yii::$app->user->identity->GUID; $_model->UPDATE_GUID = Yii::$app->user->identity->GUID;
$_model->UPDATE_NAME = Yii::$app->user->identity->NAME; $_model->UPDATE_NAME = Yii::$app->user->identity->NAME;
$_model->UPDATE_DATE = date('Y-m-d H:i:s',time()); $_model->UPDATE_DATE = date('Y-m-d H:i:s', time());
if (!$_model->save()) { if (!$_model->save()) {
Yii::$app->response->statusCode = 422; Yii::$app->response->statusCode = 422;
...@@ -356,7 +353,7 @@ class ShopEmployeeController extends BaseController ...@@ -356,7 +353,7 @@ class ShopEmployeeController extends BaseController
$_model->EMPLOYEE_IS_MANAGER = 0; $_model->EMPLOYEE_IS_MANAGER = 0;
$_model->UPDATE_GUID = Yii::$app->user->identity->GUID; $_model->UPDATE_GUID = Yii::$app->user->identity->GUID;
$_model->UPDATE_NAME = Yii::$app->user->identity->NAME; $_model->UPDATE_NAME = Yii::$app->user->identity->NAME;
$_model->UPDATE_DATE = date('Y-m-d H:i:s',time()); $_model->UPDATE_DATE = date('Y-m-d H:i:s', time());
if (!$_model->save(false)) { if (!$_model->save(false)) {
Yii::$app->response->statusCode = 422; Yii::$app->response->statusCode = 422;
return $_model->errors; return $_model->errors;
......
...@@ -6,8 +6,6 @@ use app\models\v1\branch\ShopBranch; ...@@ -6,8 +6,6 @@ use app\models\v1\branch\ShopBranch;
use app\models\v1\common\ShopTransportArea; use app\models\v1\common\ShopTransportArea;
use app\models\v1\rbacuser\ShopRbacUser; use app\models\v1\rbacuser\ShopRbacUser;
use app\models\v1\transport\ShopPackagingcostsBranches; use app\models\v1\transport\ShopPackagingcostsBranches;
use app\models\v1\shopuser\ShopUserMembergrade;
use app\models\v1\transport\ShopTransportType;
use backend\controllers\v1\BaseController; use backend\controllers\v1\BaseController;
use backend\helpers\Func; use backend\helpers\Func;
use Yii; use Yii;
...@@ -80,15 +78,10 @@ class TransportSettingController extends BaseController ...@@ -80,15 +78,10 @@ class TransportSettingController extends BaseController
* INCREASE_WEIGHT_FEE:续重费用, * INCREASE_WEIGHT_FEE:续重费用,
* IS_USED:是否启用, * IS_USED:是否启用,
* SELECT_AREA:配送城市, * SELECT_AREA:配送城市,
* PROVINCES:城市所属省份,
* DESCRIPTION:简介, * DESCRIPTION:简介,
* LIMIT_MEMBER_GROUP_GUID:限制人群, * LIMIT_MEMBER_GROUP_GUID:限制人群,
* GROUP_GUID:权限, * GROUP_GUID:权限,
* TRANSPOR_TTYPE_ALL:所有运送方式列表
* GUID:运送方式guid,
* NAME:运送方式名称,
* LIMIT_MEMBER_GROUP_ALL:所有用户组列表
* GUID:用户组guid,
* NAME:用户组名称,
* BRANCHES_INFO:指定省级列表 * BRANCHES_INFO:指定省级列表
* GUID:指定省级guid, * GUID:指定省级guid,
* CODE:门店编码, * CODE:门店编码,
...@@ -113,10 +106,6 @@ class TransportSettingController extends BaseController ...@@ -113,10 +106,6 @@ class TransportSettingController extends BaseController
$info['PROVINCES'] = (new ShopTransportArea)->getProvinces($info['SELECT_AREA']); $info['PROVINCES'] = (new ShopTransportArea)->getProvinces($info['SELECT_AREA']);
$info['LIMIT_MEMBER_GROUP_GUID'] = explode(',', $info['LIMIT_MEMBER_GROUP_GUID']); $info['LIMIT_MEMBER_GROUP_GUID'] = explode(',', $info['LIMIT_MEMBER_GROUP_GUID']);
$transType = (new ShopTransportType)->BranchTransportInfo();
$info['TRANSPOR_TTYPE_ALL'] = $transType; //所有运送方式
$memberGroup = ShopUserMembergrade::find()->select(['GUID', 'NAME'])->all();
$info['LIMIT_MEMBER_GROUP_ALL'] = $memberGroup; //所有用户组
$transportBranches = (new ShopPackagingcostsBranches)->transportBranches($model->GUID); $transportBranches = (new ShopPackagingcostsBranches)->transportBranches($model->GUID);
$info['BRANCHES_INFO'] = $transportBranches; //指定省级 $info['BRANCHES_INFO'] = $transportBranches; //指定省级
......
...@@ -498,10 +498,50 @@ class ShopBranch extends BaseModel ...@@ -498,10 +498,50 @@ class ShopBranch extends BaseModel
->andWhere(['PARENT_GUID' => $ProvinceBranchGuid]) ->andWhere(['PARENT_GUID' => $ProvinceBranchGuid])
->asArray() ->asArray()
->all(); ->all();
$temp = []; $temp = array_column($query, 'GUID');
foreach ($query as $value) {
$temp[] = $value['GUID'];
}
return $temp; return $temp;
} }
/**
* 批量验证门店是否存在,是否属于该权限下的门店。
* 如果有验证失败的数据,则返回这些数组,数组内包含错误信息。
* 如果验证成功,则给每条数据,带入所属门店的GUID。
*
* @param array $arr 需要验证的数据
* @return array
*/
public function validateBranch($arr)
{
$userInfo = (new ShopRbacUser)->getRbacUserInfo(Yii::$app->user->identity->GUID);
//删除条件:总部权限删除所有,省级只能删除自己。
$where = [];
switch ($userInfo['ROLE_ID']) {
case USER_ROLE_REGION_ADMIN: //省级
$where = ['PARENT_GUID' => $userInfo['BRANCH_GUID']];
break;
case USER_ROLE_STORE_ADMIN: //门店
$where = ['GUID' => $userInfo['BRANCH_GUID']];
break;
default:
$where = [];
break;
}
$branches = static::find()->select('CODE,GUID')->andFilterwhere($where)->asArray()->all();
$branchesCode = array_column($branches,'CODE');
foreach ($arr as $key => $value) {
if (in_array($value[8], $branchesCode)) {
$value['error'] = '门店编码不正确,检查并更正所属门店编码,或删除此条数据';
$list[$key+1] = $value;
}
//获取当前员工的门店GUID
$branch = array_search($value[8],$branchesCode);
$arr[$key]['BRANCH_GUID'] = $branch?$branches[$branch]['GUID']:'';
}
if (isset($list)) {
return ['CODE'=>'422','list'=>$list];
}
return $arr;
}
} }
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