public int DeleteDept(int id, string accessToken) { int rows = 0; GROUP_INFO groupInfo = _groupRepo.Get(id); if (groupInfo != null) { int childrenCount = _groupRepo.GetCountByParentID(id); if (childrenCount > 0) { rows = -1; //如果有子部门,不能删除 } int empCount = _empRepo.GetCountByGroupID(id); if (empCount > 0) { rows = -2; //组织结构下有员工,不能删除 } DeptResponse response = WXQYClientServiceApi.Create().DeleteDept(accessToken, groupInfo.WX_GROUP_ID); if (response != null && response.ErrorCode == 0) { rows = _groupRepo.Delete(id); if (groupInfo.TYPE == 3) { MDSearch storeInfo = _storeRepo.GetByGroupId(id); if (storeInfo != null) { _storeRepo.Delete(storeInfo.ID); } } } } return(rows); }
public ActionResult QueryStore(int storeId) { JsonSMsg rMsg = new JsonSMsg(); DeptInfo deptInfo = StoreService.GetDept(storeId, 3); if (deptInfo != null) { MDSearch store = StoreService.GetStoreInfo(deptInfo.GroupID); store.ID = storeId; store.Name = deptInfo.DeptName; store.Code = deptInfo.DeptCode; rMsg.Status = 1; rMsg.Data = store; } return(Json(rMsg)); }
public DeptInfo GetDept(int id, int type) { DeptInfo deptInfo = null; GROUP_INFO groupInfo = _groupRepo.Get(id); if (groupInfo != null) { deptInfo = new DeptInfo(); deptInfo.ID = groupInfo.ID; deptInfo.DeptName = groupInfo.NAME; deptInfo.DeptCode = groupInfo.CODE; deptInfo.Type = groupInfo.TYPE; deptInfo.MagentoGroupID = groupInfo.MAGENTO_GROUP_ID; deptInfo.Order = groupInfo.WX_ORDER.HasValue ? groupInfo.WX_ORDER.Value : 0; deptInfo.ParentID = groupInfo.PARENT_ID; deptInfo.WXGroupID = groupInfo.WX_GROUP_ID; if (groupInfo.TYPE == 3) //获取门店信息 { MDSearch storeInfo = _storeRepo.GetByGroupId(groupInfo.ID); if (storeInfo != null) { deptInfo.StoreType = storeInfo.StoreType.HasValue ? storeInfo.StoreType.Value : 1; deptInfo.IsPickUp = storeInfo.IS_PICK_UP.HasValue ? storeInfo.IS_PICK_UP.Value : false; deptInfo.GroupID = storeInfo.GROUP_ID.HasValue ? storeInfo.GROUP_ID.Value : 0; deptInfo.Address = storeInfo.Address; deptInfo.Telephone = storeInfo.Phone; deptInfo.Latitude = storeInfo.X; deptInfo.Longitude = storeInfo.Y; deptInfo.BelongsAreaNo = storeInfo.BelongsAreaNo; deptInfo.Province = storeInfo.Province; deptInfo.City = storeInfo.City; deptInfo.Area = storeInfo.Area; deptInfo.Brand = storeInfo.PP; } } } return(deptInfo); }
public int ModifyDept(DeptInfo deptInfo, string accessToken, ref string errMsg) { int rows = 0, rootId = AppConfig.QYDeptRootID; GROUP_INFO existGroupInfo = _groupRepo.Get(deptInfo.ID); if (existGroupInfo != null) { int wxParentId = 0; if (existGroupInfo.PARENT_ID == 0) { wxParentId = rootId; } else { GROUP_INFO parentInfo = _groupRepo.Get(existGroupInfo.PARENT_ID); if (parentInfo != null) { wxParentId = parentInfo.WX_GROUP_ID; } } DeptResponse response = WXQYClientServiceApi.Create().UpdateDept(accessToken, existGroupInfo.WX_GROUP_ID, deptInfo.DeptName, wxParentId, deptInfo.Order); if (response != null && response.ErrorCode == 0) { GROUP_INFO groupInfo = new GROUP_INFO(); groupInfo.ID = deptInfo.ID; groupInfo.NAME = deptInfo.DeptName; groupInfo.CODE = deptInfo.DeptCode; groupInfo.MAGENTO_GROUP_ID = deptInfo.MagentoGroupID; groupInfo.WX_ORDER = deptInfo.Order; groupInfo.LAST_MODIFY_TIME = DateTime.Now; groupInfo.LAST_MODIFY_USER = "******"; groupInfo.FullUpdate = false; rows = (int)_groupRepo.Update(groupInfo); if (rows > 0 && existGroupInfo.TYPE == 3) { MDSearch storeInfo = _storeRepo.GetByGroupId(deptInfo.ID); if (storeInfo == null) { storeInfo = new MDSearch(); } storeInfo.Name = deptInfo.DeptName; storeInfo.Code = deptInfo.DeptCode; storeInfo.StoreType = deptInfo.StoreType; storeInfo.IS_PICK_UP = deptInfo.IsPickUp; storeInfo.Address = deptInfo.Address; storeInfo.Phone = deptInfo.Telephone; storeInfo.X = deptInfo.Latitude; storeInfo.Y = deptInfo.Longitude; storeInfo.BelongsAreaNo = deptInfo.BelongsAreaNo; storeInfo.Province = deptInfo.Province; storeInfo.City = deptInfo.City; storeInfo.Area = deptInfo.Area; storeInfo.PP = deptInfo.Brand; if (storeInfo.ID > 0) { storeInfo.FullUpdate = false; _storeRepo.Update(storeInfo); } else { storeInfo.GROUP_ID = deptInfo.ID; _groupRepo.Insert(storeInfo); } } } else { errMsg = response.ErrorMessage; } } return(rows); }
public int CreateDept(DeptInfo deptInfo, string accessToken, ref string errMsg) { int groupId = 0, wxParentId = 0, rootId = AppConfig.QYDeptRootID; GROUP_INFO groupInfo = null; if (deptInfo.ParentID == 0) //创建大区 { groupInfo = new GROUP_INFO(); groupInfo.TYPE = 1; wxParentId = rootId;//根目录ID } else { GROUP_INFO parentDept = _groupRepo.Get(deptInfo.ParentID); if (parentDept != null) { groupInfo = new GROUP_INFO(); wxParentId = parentDept.WX_GROUP_ID; if (parentDept.TYPE == 1) //如果父级是大区,则创建区域 { groupInfo.TYPE = 2; } else if (parentDept.TYPE == 2) { groupInfo.TYPE = 3; } } } if (groupInfo != null) { groupInfo.NAME = deptInfo.DeptName; groupInfo.CODE = deptInfo.DeptCode; groupInfo.PARENT_ID = deptInfo.ParentID; groupInfo.MAGENTO_GROUP_ID = deptInfo.MagentoGroupID; groupInfo.WX_ORDER = deptInfo.Order; groupInfo.CREATE_TIME = DateTime.Now; groupInfo.CREATE_USER = "******"; DeptResponse response = WXQYClientServiceApi.Create().CreateDept(accessToken, groupInfo.NAME, wxParentId, groupInfo.WX_ORDER.Value); if (response != null && response.ErrorCode == 0) { groupInfo.WX_GROUP_ID = response.ID; groupInfo.WX_PARENT_ID = wxParentId; groupId = (int)_groupRepo.Insert(groupInfo); if (groupId > 0 && groupInfo.TYPE == 3) //创建MDSearch { MDSearch storeInfo = new MDSearch(); storeInfo.Name = deptInfo.DeptName; storeInfo.Code = deptInfo.DeptCode; storeInfo.StoreType = deptInfo.StoreType; storeInfo.IS_PICK_UP = deptInfo.IsPickUp; storeInfo.Address = deptInfo.Address; storeInfo.Phone = deptInfo.Telephone; storeInfo.X = deptInfo.Latitude; storeInfo.Y = deptInfo.Longitude; storeInfo.BelongsAreaNo = deptInfo.BelongsAreaNo; storeInfo.Province = deptInfo.Province; storeInfo.City = deptInfo.City; storeInfo.Area = deptInfo.Area; storeInfo.PP = deptInfo.Brand; storeInfo.GROUP_ID = groupId; _groupRepo.Insert(storeInfo); } deptInfo.Type = groupInfo.TYPE; } else { errMsg = response.ErrorMessage; } } return(groupId); }