package com.jiuqi.mobile.nigo.comeclose.manager.master; import java.util.List; import java.util.Set; import com.jiuqi.mobile.nigo.comeclose.bean.LoadOnGetList; import com.jiuqi.mobile.nigo.comeclose.bean.app.coop.CooperativeBean; import com.jiuqi.mobile.nigo.comeclose.bean.app.coop.CrossWorkTeamBean; import com.jiuqi.mobile.nigo.comeclose.bean.app.coop.WorkTeamBean; import com.jiuqi.mobile.nigo.comeclose.bean.base.UserBean; import com.jiuqi.mobile.nigo.comeclose.bean.master.OperateBean; import com.jiuqi.mobile.nigo.comeclose.bean.master.OrganizationBean; import com.jiuqi.mobile.nigo.comeclose.exception.NiGoException; import com.jiuqi.mobile.nigo.comeclose.manager.ISimpleUserManger; import com.jiuqi.mobile.nigo.comeclose.manager.ManagerAnnotation; import com.jiuqi.mobile.nigo.comeclose.portal.PortalAnnotation; import com.jiuqi.mobile.nigo.comeclose.portal.PortalMethodAnnctation; /** * 组织机构(包括,行政管理部门和合作社,作业队) * <p> * 20130808 作业队、跨区作业队,不在组织机构内部 * * @author modi * */ @ManagerAnnotation(implClass = "com.jiuqi.mobile.nigo.biz.master.manager.OrganizationManagerImpl") @PortalAnnotation(implClass = "com.jiuqi.mobile.nigo.biz.portal.OrganizationMangerPortalImpl") public interface IOrganizationManager extends ISimpleUserManger<OrganizationBean> { /** * 获得根节点 * * @return */ OrganizationBean getRootNode(); /** * 根据guid获得当前节点 * * @param guid * @return */ @PortalMethodAnnctation OrganizationBean find(String guid); /** * 获得指定节点所有子节点 * * @param code * @return */ List<OrganizationBean> getChildrenNodes(String code); /** * 获取父节点信息 * @param code * @return */ UserBean getParent(String code); /** * 获得指定节点所有子节点,用于全发短信的简单OrganizationBean * * @param code * @return */ List<UserBean> getChildrenNodesSimple(String code); /** * 获取所有节点 * * @return */ OrganizationBean[] getAllOrganization(); /** * 插入或修改节点 * * @param organization * @throws NiGoException */ void put(OrganizationBean organization) throws NiGoException; /** * 根据条件查询组织机构信息,可按组织机构名 */ @PortalMethodAnnctation LoadOnGetList<OrganizationBean> search(SelectOrganizationKey key); /** * @Title: getClildNodes * @Description: 根据guid查询机构节点 * @param @param guid * @param @return 设定文件 * @return OrganizationBean[] 返回类型 * @throws */ OrganizationBean[] getClildNodes(String guid); /** * 跟据多个行政区划的组合条件查询 短信使用 (谨慎) * @auth lizh * @Date 2013-12-4上午11:54:43 * @method findCooperByArea * @fileName ICooperManager * @package com.jiuqi.mobile.nigo.comeclose.manager.master * @project comeclose * @param area * @return * @return Set<String> */ Set<String> findOganByArea(List<Long> area); /** * 完善资料是修改密码,账户别名 * @return */ String updateUser(OrganizationBean bean,String password) throws NiGoException; /** * 删除节点(谨慎使用)!!!!!!!!!!!! * * @param guid * @throws NiGoException */ boolean delete(String guid) throws NiGoException; // /** // * 更新组织机构 // * @param organization // * @param password // * @throws NiGoException // */ // public int update(OrganizationBean organization,String password) throws // NiGoException ; // /** // * 创建组织机构 // * @param organization // * @param password // * @throws NiGoException // */ // public void create(OrganizationBean organization,String password) throws // NiGoException ; /** * 插入或修改合作社 * * @param coooperative * @throws NiGoException */ void put(CooperativeBean coooperative) throws NiGoException; /** * 插入或修改跨区作业队 * <p> * 20130809移动到ICrossWorkManger * * @param crossWorkTeam * @throws NiGoException */ @Deprecated void put(CrossWorkTeamBean crossWorkTeam) throws NiGoException; /** * 插入或修改作业队 * <p> * 20130809移动到IWorkTeamManger * * @param workTeam * @throws NiGoException */ @Deprecated void put(WorkTeamBean workTeam) throws NiGoException; /** * 通过名称检索合作社 * <p> * 20130816 改为search(SelectCooperativeKey key); * * @param cooperativeName * @param adminAreaCode * @return */ @PortalMethodAnnctation @Deprecated CooperativeBean[] search(String cooperativeName, long adminAreaCode); /** * 通过合作社名称检索合作社 * * @param key * @return */ @PortalMethodAnnctation LoadOnGetList<CooperativeBean> search(SelectCooperativeKey key); /** * 查询合作社 * * @param coooperative * @throws NiGoException */ @PortalMethodAnnctation CooperativeBean findCooperative(String guid); /** * 查询跨区作业队 * <p> * 20130809移动到ICrossWorkManger * * @param crossWorkTeam * @throws NiGoException */ @Deprecated CrossWorkTeamBean findCrossWorkTeam(String guid); /** * 查询作业队 * <p> * 20130809移动到IWorkTeamManger * * @param workTeam * @throws NiGoException */ @Deprecated WorkTeamBean findWorkTeam(String guid); /** * @Title: fuzzySearchCroosWorkTeam * @Description:模糊查询,暂无实现功能 * @param @param searchStr * @param @return 设定文件 * @return List<CrossWorkTeamBean> 返回类型 * @throws */ public abstract List<CrossWorkTeamBean> fuzzySearchCroosWorkTeam(String searchStr); /** * @Title: deleteCrossWorkTeam * @Description: 删除跨区作业队 * @param @param guid 设定文件 * @return void 返回类型 * @throws */ public abstract void deleteCrossWorkTeam(String guid); /** * @Title: deleteCooperative * @Description: 删除合作社 * @param @param guid 设定文件 * @return void 返回类型 * @throws */ public abstract void deleteCooperative(String guid); // ========20130809 ADD============== /** * 创建或修改操作员 * * @param operate * @throws NiGoException */ void put(OperateBean operate) throws NiGoException; /** * 获得直属组织结构的指定用户类别的用户列表(直属)(可按用户名称模糊查询) * <p> * 20130809 转移至IOrganizationManger * * @param username * 用户名称 * @param orgId * 组织机构ID * @return */ LoadOnGetList<CooperativeBean> searchCooperativesByOrg(String username, String orgGuid); }