diff --git a/wisenergy-mapper/src/main/resources/mapper/WorkUserMapper.xml b/wisenergy-mapper/src/main/resources/mapper/WorkUserMapper.xml
index aeb581dea964328c8178bdff6297d4a4ae8b3a6d..ed241701c2fe14225d625bd24a2ac92815444d82 100644
--- a/wisenergy-mapper/src/main/resources/mapper/WorkUserMapper.xml
+++ b/wisenergy-mapper/src/main/resources/mapper/WorkUserMapper.xml
@@ -114,7 +114,7 @@
 
     <select id="getUserRoleDto" resultMap="UserRoleMap">
       select u.id as 'id',u.name as 'name',u.status as 'status',r.id as 'role_id',r.name as 'role_name'
-from work_user u LEFT JOIN work_user_role ur ON u.id = ur.user_id
+from work_user u LEFT JOIN (select role_id,user_id FROM work_user_role GROUP BY user_id) ur ON u.id = ur.user_id
 LEFT JOIN work_role r on ur.role_id = r.id
     </select>
 
@@ -123,7 +123,6 @@ LEFT JOIN work_role r on ur.role_id = r.id
       FROM  work_user_role ur LEFT JOIN work_role r
       ON ur.role_id = r.id
       WHERE ur.user_id = #{id}
-
     </select>
 
 </mapper>
diff --git a/wisenergy-service/src/main/java/cn/wisenergy/service/impl/WorkProjectServiceImpl.java b/wisenergy-service/src/main/java/cn/wisenergy/service/impl/WorkProjectServiceImpl.java
index 81a143a8d3b0861fa3cac468e446a4b059154027..ebe620a900574f1b8db2e677d0851b2a9df4a22b 100644
--- a/wisenergy-service/src/main/java/cn/wisenergy/service/impl/WorkProjectServiceImpl.java
+++ b/wisenergy-service/src/main/java/cn/wisenergy/service/impl/WorkProjectServiceImpl.java
@@ -173,7 +173,7 @@ public class WorkProjectServiceImpl implements WorkProjectService {
             if (workCentre == null) {
                 throw new BaseCustomException(BASE_RESP_CODE_ENUM.CENTRE_NOT_FOUND);
             }
-            map.put("centreId",workCentre.getId());
+            map.put("centreId", workCentre.getId());
             //获取中心下的部门信息
             List<WorkDept> workDepts = workDeptMapper.getDeptByCondition(map);
             if (CollectionUtils.isEmpty(workDepts)) {
@@ -309,11 +309,11 @@ public class WorkProjectServiceImpl implements WorkProjectService {
         // 2.更新表数据
 
         // 更新workProject数据
-        if (!StringUtils.isBlank(modifyProjectVo.getStartTimeReason())  ||
+        if (!StringUtils.isBlank(modifyProjectVo.getStartTimeReason()) ||
                 !StringUtils.isBlank(modifyProjectVo.getEndTimeReason()) ||
                 !StringUtils.isBlank(modifyProjectVo.getWorkTimeReason()) ||
                 !StringUtils.isBlank(modifyProjectVo.getCostBudgetReason())
-                 ) {
+        ) {
             int i = workProjectMapper.updateProject(modifyProjectVo);
             if (i == 0) {
                 throw new BaseCustomException(BASE_RESP_CODE_ENUM.UPDATE_DATA_FAIL);
@@ -326,29 +326,29 @@ public class WorkProjectServiceImpl implements WorkProjectService {
             workProjectChange.setModifyTime(new Date());
             if (!StringUtils.isBlank(modifyProjectVo.getStartTimeReason())) {
                 workProjectChange.setChangeType(3);
-                workProjectChange.setModifyBefore(DateUtil.convertDateToStr(modifyProjectVo.getStartTime(),"yyyy-MM-dd"));
-                workProjectChange.setModifyAfter(DateUtil.convertDateToStr(modifyProjectVo.getStartTime(),"yyyy-MM-dd"));
+                workProjectChange.setModifyBefore(DateUtil.convertDateToStr(modifyProjectVo.getStartTime(), "yyyy-MM-dd"));
+                workProjectChange.setModifyAfter(DateUtil.convertDateToStr(modifyProjectVo.getStartTime(), "yyyy-MM-dd"));
                 workProjectChange.setReason(modifyProjectVo.getStartTimeReason());
                 workProjectChanges.add(workProjectChange);
             }
             if (null != modifyProjectVo.getEndTime()) {
                 workProjectChange.setChangeType(4);
-                workProjectChange.setModifyBefore(DateUtil.convertDateToStr(modifyProjectVo.getEndTime(),"yyyy-MM-dd"));
-                workProjectChange.setModifyAfter(DateUtil.convertDateToStr(modifyProjectVo.getEndTime(),"yyyy-MM-dd"));
+                workProjectChange.setModifyBefore(DateUtil.convertDateToStr(modifyProjectVo.getEndTime(), "yyyy-MM-dd"));
+                workProjectChange.setModifyAfter(DateUtil.convertDateToStr(modifyProjectVo.getEndTime(), "yyyy-MM-dd"));
                 workProjectChange.setReason(modifyProjectVo.getEndTimeReason());
                 workProjectChanges.add(workProjectChange);
             }
             if (null != modifyProjectVo.getWorkTime()) {
                 workProjectChange.setChangeType(2);
                 workProjectChange.setModifyBefore(workProject.getWorkTime().toString());
-                workProjectChange.setModifyAfter(modifyProjectVo.getWorkTime().setScale(2,   BigDecimal.ROUND_HALF_UP).toString());
+                workProjectChange.setModifyAfter(modifyProjectVo.getWorkTime().setScale(2, BigDecimal.ROUND_HALF_UP).toString());
                 workProjectChange.setReason(modifyProjectVo.getWorkTimeReason());
                 workProjectChanges.add(workProjectChange);
             }
             if (null != modifyProjectVo.getCostBudget()) {
                 workProjectChange.setChangeType(1);
                 workProjectChange.setModifyBefore(workProject.getCostBudget().toString());
-                workProjectChange.setModifyAfter(modifyProjectVo.getCostBudget().setScale(2,   BigDecimal.ROUND_HALF_UP).toString());
+                workProjectChange.setModifyAfter(modifyProjectVo.getCostBudget().setScale(2, BigDecimal.ROUND_HALF_UP).toString());
                 workProjectChange.setReason(modifyProjectVo.getCostBudgetReason());
                 workProjectChanges.add(workProjectChange);
             }
@@ -378,14 +378,14 @@ public class WorkProjectServiceImpl implements WorkProjectService {
         if (null == createProjectVo) {
             throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
         }
-        if (null == createProjectVo.getManagerId()||null == createProjectVo.getStartTime()||null == createProjectVo.getEndTime() || null ==createProjectVo.getOaProjectId() ||null== createProjectVo.getWorkTime() || null == createProjectVo.getCostBudget() ||
-        null == createProjectVo.getProjectName() || CollectionUtils.isEmpty(createProjectVo.getUserIds()) || null == createProjectVo.getDeptId()) {
+        if (null == createProjectVo.getManagerId() || null == createProjectVo.getStartTime() || null == createProjectVo.getEndTime() || null == createProjectVo.getOaProjectId() || null == createProjectVo.getWorkTime() || null == createProjectVo.getCostBudget() ||
+                null == createProjectVo.getProjectName() || CollectionUtils.isEmpty(createProjectVo.getUserIds()) || null == createProjectVo.getDeptId()) {
             throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
         }
         if (createProjectVo.getStartTime().compareTo(createProjectVo.getEndTime()) > 0) {
             throw new BaseCustomException(BASE_RESP_CODE_ENUM.START_NOT_THAN_END_DATE);
         }
-        if (BigDecimal.ZERO.compareTo(createProjectVo.getWorkTime())>0 ||BigDecimal.ZERO.compareTo(createProjectVo.getCostBudget())>0) {
+        if (BigDecimal.ZERO.compareTo(createProjectVo.getWorkTime()) > 0 || BigDecimal.ZERO.compareTo(createProjectVo.getCostBudget()) > 0) {
             throw new BaseCustomException(BASE_RESP_CODE_ENUM.BUDGET_CANNOT_BELESSTHAN_ZERO);
         }
         // 判断oa编号是否重复
@@ -437,7 +437,7 @@ public class WorkProjectServiceImpl implements WorkProjectService {
                 if (modifyProjectVo.getStartTime().compareTo(workProject.getEndTime()) > 0) {
                     throw new BaseCustomException(BASE_RESP_CODE_ENUM.START_NOT_THAN_END_DATE);
                 }
-            }else{
+            } else {
                 if (modifyProjectVo.getStartTime().compareTo(modifyProjectVo.getEndTime()) > 0) {
                     throw new BaseCustomException(BASE_RESP_CODE_ENUM.START_NOT_THAN_END_DATE);
                 }
@@ -454,7 +454,7 @@ public class WorkProjectServiceImpl implements WorkProjectService {
                 if (modifyProjectVo.getStartTime().compareTo(modifyProjectVo.getEndTime()) > 0) {
                     throw new BaseCustomException(BASE_RESP_CODE_ENUM.START_NOT_THAN_END_DATE);
                 }
-            }else{
+            } else {
                 if (workProject.getStartTime().compareTo(modifyProjectVo.getEndTime()) > 0) {
                     throw new BaseCustomException(BASE_RESP_CODE_ENUM.START_NOT_THAN_END_DATE);
                 }
@@ -467,28 +467,25 @@ public class WorkProjectServiceImpl implements WorkProjectService {
             if (StringUtils.isBlank(modifyProjectVo.getCostBudgetReason())) {
                 throw new BaseCustomException(BASE_RESP_CODE_ENUM.REASON_CANNOT_BE_EMPTY);
             }
-            if (workProject.getCostBudget().compareTo(modifyProjectVo.getCostBudget())==0) {
+            if (workProject.getCostBudget().compareTo(modifyProjectVo.getCostBudget()) == 0) {
                 throw new BaseCustomException(BASE_RESP_CODE_ENUM.theNewContent_IsEqual_ToTheOriginal_Content);
             }
         }
         if (null != modifyProjectVo.getWorkTime()) {
-            if (StringUtils.isBlank( modifyProjectVo.getWorkTimeReason())) {
+            if (StringUtils.isBlank(modifyProjectVo.getWorkTimeReason())) {
                 throw new BaseCustomException(BASE_RESP_CODE_ENUM.REASON_CANNOT_BE_EMPTY);
             }
-            if (workProject.getWorkTime().compareTo(modifyProjectVo.getWorkTime())==0) {
+            if (workProject.getWorkTime().compareTo(modifyProjectVo.getWorkTime()) == 0) {
                 throw new BaseCustomException(BASE_RESP_CODE_ENUM.theNewContent_IsEqual_ToTheOriginal_Content);
             }
         }
 
-        if (null != modifyProjectVo.getStartTime() && null != modifyProjectVo.getEndTime() && null != modifyProjectVo.getCostBudget() && null != modifyProjectVo.getWorkTime()) {
-            if (workProject.getStartTime().compareTo(modifyProjectVo.getStartTime()) == 0 && workProject.getEndTime().compareTo(modifyProjectVo.getEndTime()) == 0 && workProject.getCostBudget().compareTo(modifyProjectVo.getCostBudget())==0 &&
-                    workProject.getWorkTime().equals(modifyProjectVo.getWorkTime())
-                    && userIds.containsAll(modifyProjectVo.getUserIds()) &&
+        if (null == modifyProjectVo.getStartTime() && null == modifyProjectVo.getEndTime() && null == modifyProjectVo.getCostBudget() && null == modifyProjectVo.getWorkTime()) {
+            if (userIds.containsAll(modifyProjectVo.getUserIds()) &&
                     modifyProjectVo.getUserIds().containsAll(userIds)) {
                 throw new BaseCustomException(BASE_RESP_CODE_ENUM.theNewContent_IsEqual_ToTheOriginal_Content);
             }
         }
 
-
     }
 }