瀏覽代碼

地区负责人-人员删除调整

sangwenwei 11 月之前
父節點
當前提交
79a0f32184

+ 2 - 0
src/main/java/com/jeeplus/modules/areaStaff/dao/AreaStaffDao.java

@@ -49,6 +49,8 @@ public interface AreaStaffDao extends TreeDao<AreaStaffInfo> {
     List<AreaStaffInfo> getByParentIdList(@Param("parentIdList") List<String> parentIdList, @Param("parentIds")String parentIds);
 
     List<User> getUserByParentId(AreaStaffInfo info);
+    //用于新增页面回显时
+    List<User> getUserByParentIdAdd(AreaStaffInfo info);
 
     List<User> getUserByParentIdAndStandardDetail(AreaStaffInfo info);
 

+ 3 - 0
src/main/java/com/jeeplus/modules/areaStaff/service/AreaStaffService.java

@@ -382,6 +382,9 @@ public class AreaStaffService  extends TreeService<AreaStaffDao, AreaStaffInfo>
     public List<User> getUserByParentId(AreaStaffInfo info){
         return dao.getUserByParentId(info);
     }
+    public List<User> getUserByParentIdAdd(AreaStaffInfo info){
+        return dao.getUserByParentIdAdd(info);
+    }
 
     /**
      * 人员信息导入

+ 24 - 15
src/main/java/com/jeeplus/modules/areaStaff/web/AreaStaffController.java

@@ -17,6 +17,7 @@ import com.jeeplus.modules.sys.service.AreaService;
 import com.jeeplus.modules.sys.service.OfficeService;
 import com.jeeplus.modules.sys.service.SystemService;
 import com.jeeplus.modules.sys.utils.UserUtils;
+import org.apache.commons.collections4.CollectionUtils;
 import org.apache.shiro.authz.annotation.Logical;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -185,7 +186,7 @@ public class AreaStaffController extends BaseController {
             areaStaffInfo.setOffice(officeList.get(0));
         }
 
-        List<User> userList = areaStaffService.getUserByParentId(areaStaffInfo);
+        List<User> userList = areaStaffService.getUserByParentIdAdd(areaStaffInfo);
         model.addAttribute("userList", userList);
 
         model.addAttribute("areaStaffInfo", areaStaffInfo);
@@ -217,7 +218,7 @@ public class AreaStaffController extends BaseController {
                 office = officeService.get(areaStaffInfo.getParent().getStandardDetail());
                 areaStaffInfo.setOffice(office);
 
-                List<User> userList = areaStaffService.getUserByParentId(areaStaffInfo);
+                List<User> userList = areaStaffService.getUserByParentIdAdd(areaStaffInfo);
                 model.addAttribute("userList", userList);
                 break;
             case "4":
@@ -425,7 +426,14 @@ public class AreaStaffController extends BaseController {
                 infos.add(s);
             }
         }
-
+        //获取该地区下所有用户
+        List<User> userList = areaStaffService.getUserByParentId(areaStaffInfo);
+        //先删除一次然后在进行新增
+        if (CollectionUtils.isNotEmpty(userList)){
+            for (User deleteUser : userList) {
+                areaStaffService.outUserById(deleteUser.getId(),deleteUser.getAuditUserId());
+            }
+        }
         StringBuilder msg = new StringBuilder();
         int newNum = 0;
         if (infos.size()!=0){
@@ -451,11 +459,12 @@ public class AreaStaffController extends BaseController {
             }
             addMessage(redirectAttributes, "已成功分配 "+newNum+" 个用户"+msg);
         }else {
-            //获取该地区下所有用户,将他们删除
-            List<User> userList = areaStaffService.getUserByParentId(areaStaffInfo);
-            for (User user : userList) {
-                areaStaffService.outUserById(user.getId(),user.getAuditUserId());
+            if (CollectionUtils.isNotEmpty(userList)){
+                for (User user : userList) {
+                    areaStaffService.outUserById(user.getId(),user.getAuditUserId());
+                }
             }
+
         }
         return "redirect:" + adminPath + "/areaStaff/areaStaff/userForm?parent.id="+areaStaffInfo.getId();
     }
@@ -494,18 +503,18 @@ public class AreaStaffController extends BaseController {
             String[] split = ids.split(",");
             for (String s : split) {
                 User user = UserUtils.get(s);
-                AreaStaffUserInfo staffInfo=areaStaffService.getIsTemplateByUserId(s,areaId);
-                if (staffInfo != null && StringUtils.isNotBlank(staffInfo.getIsTemplate())){
-                    user.setIsTemplate(staffInfo.getIsTemplate());
-                }
+//                AreaStaffUserInfo staffInfo=areaStaffService.getIsTemplateByUserId(s,areaId);
+//                if (staffInfo != null && StringUtils.isNotBlank(staffInfo.getIsTemplate())){
+//                    user.setIsTemplate(staffInfo.getIsTemplate());
+//                }
                 users.add(user);
             }
         }else {
             User user = UserUtils.get(ids);
-            AreaStaffUserInfo staffInfo=areaStaffService.getIsTemplateByUserId(ids,areaId);
-            if (staffInfo != null && StringUtils.isNotBlank(staffInfo.getIsTemplate())){
-                user.setIsTemplate(staffInfo.getIsTemplate());
-            }
+//            AreaStaffUserInfo staffInfo=areaStaffService.getIsTemplateByUserId(ids,areaId);
+//            if (staffInfo != null && StringUtils.isNotBlank(staffInfo.getIsTemplate())){
+//                user.setIsTemplate(staffInfo.getIsTemplate());
+//            }
             users.add(user);
         }
 

+ 23 - 0
src/main/resources/mappings/modules/areaStaff/AreaStaffDao.xml

@@ -261,6 +261,29 @@
 		o.top_company AS "office.topCompany",
 		o.parent_id AS "office.parent.id",
 		o.parent_ids AS "office.parentIds",
+		sasui.id as "auditUserId"
+		from sys_user a
+		left join sys_office o on a.office_id = o.id
+		left join sys_office s on a.company_id = s.id
+		left join sys_area_staff_user_info sasui on sasui.user_id = a .id
+		<where>
+			sasui.area_staff_id = #{id} and sasui.del_flag = 0
+		</where>
+
+	</select>
+
+	<select id="getUserByParentIdAdd" resultType="User">
+		select a.*,
+		s.name AS "company.name",
+		s.parent_id AS "company.parent.id",
+		s.parent_ids AS "company.parentIds",
+		s.group_id AS "company.groupId",
+		s.group_name AS "company.groupName",
+		s.useable AS "company.useable",
+		o.name AS "office.name",
+		o.top_company AS "office.topCompany",
+		o.parent_id AS "office.parent.id",
+		o.parent_ids AS "office.parentIds",
 		sasui.id as "auditUserId",
 		sasui.is_template as "isTemplate"
 		from sys_user a

+ 2 - 1
src/main/webapp/webpage/modules/areaStaff/areaStaffUserForm.jsp

@@ -29,8 +29,9 @@
 				  if (!selectElement || !selectElement.value) {
 					  layer.msg(userName+':未选择长期还是临时', {icon: 0});
 					  allSelected = false;
+					  return;
 				  }
-				  return;
+
 			  }
 			  if(allSelected){
 				  $("#inputForm").submit();