Browse Source

上传报告,审核人员排序问题

user5 4 years ago
parent
commit
821cdd0c0d

+ 20 - 13
src/main/java/com/jeeplus/modules/sys/dao/UserDao.java

@@ -22,7 +22,7 @@ import com.jeeplus.modules.sys.entity.User;
  */
 @MyBatisDao
 public interface UserDao extends CrudDao<User> {
-	
+
 	/**
 	 * 根据登录名称查询用户
 	 * @param user
@@ -67,7 +67,7 @@ public interface UserDao extends CrudDao<User> {
 	 * @return
 	 */
 	public long findAllCount(User user);
-	
+
 	/**
 	 * 更新用户密码
 	 * @param user
@@ -90,14 +90,14 @@ public interface UserDao extends CrudDao<User> {
 	 * @return
 	 */
 	public int deleteUserRole(User user);
-	
+
 	/**
 	 * 插入用户岗位关联数据
 	 * @param user
 	 * @return
 	 */
 	public int insertUserRole(User user);
-	
+
 	/**
 	 * 更新用户信息
 	 * @param user
@@ -114,7 +114,7 @@ public interface UserDao extends CrudDao<User> {
 	 */
 	public int insertFriend(@Param("id")String id, @Param("userId")String userId, @Param("friendId")String friendId ,
 							@Param("status")String status, @Param("type")String type);
-	
+
 	/**
 	 * 查找好友
 	 */
@@ -141,9 +141,9 @@ public interface UserDao extends CrudDao<User> {
 	public void friendAuditNo(@Param("userId")String userId, @Param("friendId")String friendId);
 
 	/**
-	 * 
+	 *
 	 * 获取我的好友列表
-	 * 
+	 *
 	 */
 	public List<User> findFriends(User currentUser);
 	/**
@@ -154,9 +154,9 @@ public interface UserDao extends CrudDao<User> {
 	public List<User> findFriendsAudit(User currentUser);
 
 	/**
-	 * 
+	 *
 	 * 查询用户-->用来添加到常用联系人
-	 * 
+	 *
 	 */
 	public List<User> searchUsers(User user);
 	/**
@@ -197,13 +197,13 @@ public interface UserDao extends CrudDao<User> {
 	public List<User> findUserByStatusAudit(User user);
 
 	/**
-	 * 
+	 *
 	 */
-	
+
 	public List<User>  findListByOffice(User user);
-	
+
 	/**
-	 * 
+	 *
 	 */
 	public List<User> findUserByRole(Role role);
 
@@ -251,4 +251,11 @@ public interface UserDao extends CrudDao<User> {
 	 * @return
 	 */
 	User findUserByUserName(String name);
+
+	/**
+	 * 获取总审人员信息
+	 * @param user
+	 * @return
+	 */
+	public List<User> getAuditUserList(User user);
 }

+ 8 - 6
src/main/java/com/jeeplus/modules/sys/service/UserService.java

@@ -3,6 +3,7 @@ package com.jeeplus.modules.sys.service;
 
 import com.easemob.server.example.api.impl.EasemobIMUsers;
 import com.google.common.base.Strings;
+import com.google.common.collect.Lists;
 import com.jeeplus.common.bos.BOSClientUtil;
 import com.jeeplus.common.config.Global;
 import com.jeeplus.common.oss.OSSClientUtil;
@@ -15,10 +16,7 @@ import com.jeeplus.modules.iim.entity.LayGroup;
 import com.jeeplus.modules.iim.service.LayGroupService;
 import com.jeeplus.modules.sys.dao.RoleDao;
 import com.jeeplus.modules.sys.dao.UserDao;
-import com.jeeplus.modules.sys.entity.Company;
-import com.jeeplus.modules.sys.entity.Office;
-import com.jeeplus.modules.sys.entity.Role;
-import com.jeeplus.modules.sys.entity.User;
+import com.jeeplus.modules.sys.entity.*;
 import com.jeeplus.modules.sys.utils.UserUtils;
 import com.jeeplus.modules.sysuseroffice.entity.Useroffice;
 import com.jeeplus.modules.sysuseroffice.service.UserofficeService;
@@ -40,6 +38,7 @@ import java.net.HttpURLConnection;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.ArrayList;
+import java.util.Iterator;
 import java.util.List;
 
 
@@ -549,10 +548,13 @@ public class UserService extends BaseController {
     }
 
 
-
+    /**
+     * 查询总审人员信息
+     * @return
+     */
     public List<User> getAuditUserList(){
         Office recordsOffice =officeService.get(UserUtils.getUser().getOffice());
-        List<User> userList = UserUtils.getByRoleActivityEnname("bzshb",3,recordsOffice.getId(),"12",UserUtils.getUser());
+        List<User> userList = UserUtils.getAuditUserList("bzshb",3,recordsOffice.getId(),"12",UserUtils.getUser());
         return userList;
     }
     public List<User> getFilingUserList(){

+ 79 - 0
src/main/java/com/jeeplus/modules/sys/utils/UserUtils.java

@@ -1773,4 +1773,83 @@ public class UserUtils {
 		List<User> users = userDao.findUserByRoleId(role.getId(), comId);
 		return users;
 	}
+	/**
+	 * 获取总审人员信息
+	 */
+	public static List<User> getAuditUserList(String enname,int type,String officeId,String businessType,User userId){
+		//businessType 1:全平台   2:合同模块 	3:合同归档 	4:项目登记 	5:开票管理
+		// 6:退票管理 	7:收入管理 	8:报销管理 	9:月度计划管理 10:案例管理 11:行政管理 12 报告管理13 采购合同管理 14采购管理  15报废管理
+		//16借用管理  17 领用管理 18劳动关系管理 19 加班申请 20 出差申请 21外勤申请 22 转正申请 23 职级调整 24 部门调整 25 请假申请
+		//26 补卡申请 27 考勤审批
+		String name = getRoleActivityEnname(UserUtils.getSelectCompany().getId(),userId);
+		if (!enname.contains(name)){
+			enname = name+enname;
+		}
+		Role role = new Role();
+		role.setEnname(enname);
+		Office office = officeDao.get(officeId);
+		if (StringUtils.isNotBlank(office.getBranchOffice()) || type == 2) {
+			if (type == 2) {
+				role.setOffice(new Office(officeId));
+			} else if (type == 3) {
+				role.setBranchCompany(new Office(office.getBranchOffice()));
+			} else if(type == 1){
+				Office branchOffice =  officeDao.get(office.getBranchOffice());
+				if (StringUtils.isNotBlank(branchOffice.getParentId())&& !"0".equals(branchOffice.getParentId())){
+					Office topCompany = officeDao.get(branchOffice.getParentId());
+					if ("1".equals(topCompany.getType())){
+						Office office1 = new Office();
+						office1.setName("总公司");
+						role.setBranchCompany(office1);
+					}else{
+						role.setBranchCompany(new Office(branchOffice.getParentId()));
+					}
+				}else {
+					Office office1 = new Office();
+					office1.setName("总公司");
+					role.setBranchCompany(office1);
+				}
+			} else {
+				Office office1 = new Office();
+				office1.setName("总公司");
+				role.setBranchCompany(office1);
+			}
+		}else {
+			Office office1 = new Office();
+			office1.setName("总公司");
+			role.setBranchCompany(office1);
+		}
+		String roleIds = "";
+		List<Role> roles = roleDao.getByRoleActivityEnname(role);
+		for (Role r : roles) {
+			roleIds += r.getId() + ",";
+		}
+		User user = new User();
+		user.setRoleIds(roleIds);
+		List<User> list = userDao.getAuditUserList(user);
+		List<User> users = new ArrayList<>();
+		Set<String> set = new HashSet<>();
+		for (User u:list){
+			ActivityAssignment select = new ActivityAssignment();
+			select.setCreateBy(u);
+			select.setStartDate(new Date());
+			select.setType(businessType);
+			select.setCompanyId(getSelectCompany().getId());
+			ActivityAssignment activityAssignment = activityAssignmentDao.getByUserIdAndDate(select);
+			if (activityAssignment!=null && !activityAssignment.getIsNewRecord()){
+				User activityAssignmentUser = activityAssignment.getUser();
+				activityAssignmentUser.setRemarks(u.getName()+"的委托任务");
+				if (!set.contains(activityAssignmentUser.getId())) {
+					users.add(activityAssignmentUser);
+				}
+			}else {
+				if (!set.contains(u.getId())) {
+					users.add(u);
+				}
+			}
+			set.add(u.getId());
+		}
+		return users;
+	}
+
 }

+ 16 - 1
src/main/resources/mappings/modules/sys/UserDao.xml

@@ -1187,4 +1187,19 @@
 		WHERE a.name = #{name} AND a.del_flag = 0
 	</select>
 
-</mapper>
+	<select id="getAuditUserList" resultType="User">
+		SELECT
+		a.id,a.name,a.photo,a.login_name AS "loginName"
+		FROM sys_user a
+		JOIN sys_user_role ur ON ur.user_id = a.id
+		JOIN sys_role r ON ur.role_id = r.id
+		WHERE a.office_id is not null and find_in_set(r.id,#{roleIds})
+		order by a.name = '郑炎基' desc
+				,a.name = '王年生' desc
+				,a.name = '秦美' desc
+				,a.name = '总审1' desc
+				,a.name = '总审2' desc
+				,a.name = '总审3' desc
+	</select>
+
+</mapper>