package cn.com.lzt.dialogDeal.service; import java.io.Serializable; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.jeecgframework.core.common.service.CommonService; import org.jeecgframework.core.util.JeecgDataAutorUtils; import org.jeecgframework.core.util.ResourceUtil; import org.jeecgframework.minidao.annotation.Arguments; import org.jeecgframework.minidao.annotation.ResultType; import org.jeecgframework.minidao.pojo.MiniDaoPage; import org.jeecgframework.web.system.pojo.base.TSUser; import cn.com.lzt.arrangeduty.dto.ArrangeDutyDto; import cn.com.lzt.arrangeduty.dto.MealsSubsidyDto; import cn.com.lzt.arrangeduty.dto.ProjectDepartDto; import cn.com.lzt.arrangeduty.dto.UserOrgDto; import cn.com.lzt.arrangeduty.entity.ArrangeDutyEntity; /** * 用户和项目关系处理 * @author zbw * 2017-11-24 */ public interface UserDepartOrgDealServiceI extends CommonService{ public void delete(ArrangeDutyEntity entity) throws Exception; public Serializable save(ArrangeDutyEntity entity) throws Exception; public void saveOrUpdate(ArrangeDutyEntity entity) throws Exception; /** * 根据当前登录用户id查询 用户与组织机构关系表数据 * @author zbw * 2017-11-15 * @param userOrgDto * @param authSql * @return */ @Arguments({"userOrgDto", "authSql"}) @ResultType(UserOrgDto.class) public List getUserOrgDtoByUserId( UserOrgDto userOrgDto, String authSql); /** * 根据用户与组织机构关系表中的组织id查询项目id; * 业务逻辑 * 任意层节点的zTree,每一层有一个父id,顶级节点父节点为null,一个组织类型orgType,随机给一层的主键id,找到项目id,特征是orgType=3; * 根据是否是顶级父id判断是自上而下还是自下而上查找,当自下而上找到null时,再进行自下而上; * @author zbw * 2017-11-15 * @param projectDepartId * @return */ public List getProjectDepartId(String projectDepartId); /** * 根据用户与组织机构关系表中的组织id查询项目id; * 业务逻辑 * 自下而上的找項目; * @author zbw * 2017-11-15 * @param projectDepartId * @return */ public String getProjectDepartParentId(String projectDepartId); /** * 根据部门信息表id查询部门信息表数据 * 班次设定的项目选择 * 可以选择的项目应限制为当前登录的项目经理、项目助理、内勤的“所属单位”及“兼职单位”的项目 * 部门信息表 * @author zbw * 2017-11-15 * @param projectDepartDto * @param authSql * @return */ public List getProjectDepartByListId( ProjectDepartDto projectDepartDto, String authSql); /** * 获取某个父节点下面的所有子节点 * * @param pid 父ID * @param entryList 当前节点的所有子节点列表(for循环用) * @param childList 所有子节点列表 * @return */ public List getAllChildrenList(String pid, List entryList, List childList); /** * 获取某个子节点上面的所有父节点 * * @param childId 父ID * @param entryList 当前节点的所有父节点列表(for循环用) * @param childList 所有父节点列表 * @return */ public List getAllParentList(String pid, List entryList, List parentList); /** * 班次设定的项目选择 * 可以选择的项目应限制为当前登录的项目经理、项目助理、内勤的“所属单位”及“兼职单位”的项目 * 部门信息表 * 根据部门信息表父id查询部门信息表数据 * @author zbw * 2017-11-15 * @param projectDepartDto * @param authSql * @return */ @Arguments({"projectDepartDto", "authSql"}) @ResultType(ProjectDepartDto.class) public List getProjectDepartByListParentId( ProjectDepartDto projectDepartDto, String authSql); /** * 班次设定的项目选择 * 可以选择的项目应限制为当前登录的项目经理、项目助理、内勤的“所属单位”及“兼职单位”的项目 * 部门信息表 * 根据部门信息表子id查询部门信息表数据 * @author zbw * 2017-11-15 * @param projectDepartDto * @param authSql * @return */ @Arguments({"projectDepartDto", "authSql"}) @ResultType(ProjectDepartDto.class) public List getProjectDepartByListChildId( ProjectDepartDto projectDepartDto, String authSql); /** * 根据项目id查询 * //返回所有的父id和子id// * @author zbw * 2017-11-16 * @param projectDepartId * @return */ public List getParentChildIdByProjectDepartId(String projectDepartId); /** * 根据项目id查询 * 返回所有的子id * @author zbw * 2017-11-16 * @param projectDepartId * @return */ public List getChildIdByProjectDepartId(String projectDepartId); }