Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }