Преглед на файлове

驾驶舱添加岗位配置是否参与排名

wanglt преди 3 месеца
родител
ревизия
040a551ecb

+ 19 - 20
ygtx-gxt/src/main/java/com/ygtx/gxt/service/impl/GxtRepairOrderServiceImpl.java

@@ -30,8 +30,8 @@ import com.ygtx.gxt.domain.*;
 import com.ygtx.gxt.mapper.GxtEquipmentMapper;
 import com.ygtx.gxt.mapper.GxtOrderPersonMapper;
 import com.ygtx.gxt.service.IGxtUserOperatorHistoryService;
+import com.ygtx.system.domain.SysPost;
 import com.ygtx.system.domain.SysPostHomePage;
-import com.ygtx.system.mapper.SysUserMapper;
 import com.ygtx.system.service.*;
 import com.ygtx.gxt.mapper.GxtRepairOrderPersonMapper;
 import com.ygtx.system.service.ISysUserService;
@@ -83,6 +83,9 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
     @Autowired
     private ISysRoleService sysRoleService;
 
+    @Autowired
+    private ISysPostService sysPostService;
+
     @Autowired
     private ISysPostHomePageService sysPostHomePageService;
 
@@ -2159,7 +2162,6 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
 
     private String getJXY(String userName) {
         List<SysRole> roleList = sysRoleService.selectRolesByUserName(userName);
-        String rankPermission = "";
         if (!roleList.isEmpty()) {
             Integer roleSort = null;
             Long userHighRoleId = null;
@@ -2174,31 +2176,28 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
                 postHomePage.setStatus("0");
                 List<SysPostHomePage> list = sysPostHomePageService.selectSysPostHomePageList(postHomePage);
                 if (!list.isEmpty()) {
-                    for (SysPostHomePage homePage : list) {
-                        if (homePage.getHomePageType().equals("5") || homePage.getHomePageType().equals("6")) {
-                            if (StringUtil.isNotEmpty(rankPermission)) {
-                                rankPermission = rankPermission + "," + homePage.getPostIds();
-                            }else {
-                                rankPermission = homePage.getPostIds();
-                            }
-                        }
-                    }
                     for (SysPostHomePage homePage : list) {
                         if (StringUtil.isNotEmpty(homePage.getHomePageType()) && !"-1".equals(homePage.getHomePageType())) {
                             String[] roleIdStrings = homePage.getPostIds().split(",");
                             for (String roleStr : roleIdStrings) {
                                 if (Long.parseLong(roleStr) == userHighRoleId) {
                                     String permission = "";
-                                    SysUser user = new SysUser();
-                                    user.setStatus("0");
-                                    user.setDelFlag("0");
-                                    user.setRankPermission(rankPermission);
-                                    List<SysUser> users = sysUserService.selectUserListByDeptId(user);
-                                    if (!users.isEmpty()) {
-                                        for (SysUser sysUser : users) {
-                                            permission += "," + sysUser.getUserId();
+                                    SysPost post = new SysPost();
+                                    post.setStatus("0");
+                                    post.setIsRank("1");
+                                    List<SysPost> postList = sysPostService.selectPostList(post);
+                                    List<Long> postIds = new ArrayList<>();
+                                    if (!postList.isEmpty()) {
+                                        for (SysPost sysPost:postList) {
+                                            postIds.add(sysPost.getPostId());
+                                        }
+                                        List<SysUser> users = sysUserService.selectUserListByPostIds(postIds);
+                                        if (!users.isEmpty()) {
+                                            for (SysUser user:users) {
+                                                permission += user.getUserId() + ",";
+                                            }
+                                            permission = permission.substring(1);
                                         }
-                                        permission = permission.substring(1);
                                     }
                                     return permission;
                                 }

+ 14 - 0
ygtx-system/src/main/java/com/ygtx/system/domain/SysPost.java

@@ -38,6 +38,10 @@ public class SysPost extends BaseEntity
     @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
     private String status;
 
+    /** 是否参与排名(0否 1是) */
+    @Excel(name = "是否参与排名", readConverterExp = "0=否,1=是")
+    private String isRank;
+
     /** 用户是否存在此岗位标识 默认不存在 */
     private boolean flag = false;
 
@@ -96,6 +100,16 @@ public class SysPost extends BaseEntity
         this.status = status;
     }
 
+    public String getIsRank()
+    {
+        return isRank;
+    }
+
+    public void setIsRank(String isRank)
+    {
+        this.isRank = isRank;
+    }
+
     public boolean isFlag()
     {
         return flag;

+ 2 - 0
ygtx-system/src/main/java/com/ygtx/system/mapper/SysUserMapper.java

@@ -198,4 +198,6 @@ public interface SysUserMapper
      * @return 结果
      */
     public int updateUserName(SysUser user);
+
+    public List<SysUser> selectUserListByPostIds(@Param("postIds") List<Long> postIds);
 }

+ 2 - 0
ygtx-system/src/main/java/com/ygtx/system/service/ISysUserService.java

@@ -254,4 +254,6 @@ public interface ISysUserService
     public SysUser selectDelUserByUserName(String userName);
 
     public int updateUserName(SysUser user);
+
+    public List<SysUser> selectUserListByPostIds(List<Long> postIds);
 }

+ 5 - 0
ygtx-system/src/main/java/com/ygtx/system/service/impl/SysUserServiceImpl.java

@@ -981,4 +981,9 @@ public class SysUserServiceImpl implements ISysUserService
 
         return sb.toString().toLowerCase(); // 再次确保小写(保险)
     }
+
+    @Override
+    public List<SysUser> selectUserListByPostIds(List<Long> postIds) {
+        return userMapper.selectUserListByPostIds(postIds);
+    }
 }

+ 8 - 1
ygtx-system/src/main/resources/mapper/system/SysPostMapper.xml

@@ -10,6 +10,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<result property="postName"      column="post_name"     />
 		<result property="postSort"      column="post_sort"     />
 		<result property="status"        column="status"        />
+		<result property="isRank"        column="is_rank"       />
 		<result property="createBy"      column="create_by"     />
 		<result property="createTime"    column="create_time"   />
 		<result property="updateBy"      column="update_by"     />
@@ -18,7 +19,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	</resultMap>
 	
 	<sql id="selectPostVo">
-        select post_id, post_code, post_name, post_sort, status, create_by, create_time, remark 
+        select post_id, post_code, post_name, post_sort, status, is_rank, create_by, create_time, remark 
 		from sys_post
     </sql>
 	
@@ -34,6 +35,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			<if test="postName != null and postName != ''">
 				AND post_name like concat('%', #{postName}, '%')
 			</if>
+			<if test="isRank != null and isRank != ''">
+				AND is_rank = #{isRank}
+			</if>
 		</where>
 	</select>
 	
@@ -92,6 +96,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="postName != null and postName != ''">post_name = #{postName},</if>
  			<if test="postSort != null">post_sort = #{postSort},</if>
  			<if test="status != null and status != ''">status = #{status},</if>
+ 			<if test="isRank != null and isRank != ''">is_rank = #{isRank},</if>
  			<if test="remark != null">remark = #{remark},</if>
  			<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
  			update_time = sysdate()
@@ -106,6 +111,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="postName != null and postName != ''">post_name,</if>
  			<if test="postSort != null">post_sort,</if>
  			<if test="status != null and status != ''">status,</if>
+ 			<if test="isRank != null and isRank != ''">is_rank,</if>
  			<if test="remark != null and remark != ''">remark,</if>
  			<if test="createBy != null and createBy != ''">create_by,</if>
  			create_time
@@ -115,6 +121,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="postName != null and postName != ''">#{postName},</if>
  			<if test="postSort != null">#{postSort},</if>
  			<if test="status != null and status != ''">#{status},</if>
+ 			<if test="isRank != null and isRank != ''">#{isRank},</if>
  			<if test="remark != null and remark != ''">#{remark},</if>
  			<if test="createBy != null and createBy != ''">#{createBy},</if>
  			sysdate()

+ 13 - 0
ygtx-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -361,4 +361,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		ORDER BY u.dept_id,u.nick_name
 	</select>
 
+	<select id="selectUserListByPostIds" resultMap="SysUserResult">
+		select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.pwd_update_date, u.create_by, u.create_time, u.remark,
+			   d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status, d.level
+		from sys_user u
+				 left join sys_dept d on u.dept_id = d.dept_id
+				 left join sys_user_post up on u.user_id = up.user_id
+				 left join sys_post p on p.post_id = up.post_id
+		WHERE p.post_id IN
+		<foreach collection="postIds" item="postId" open="(" separator="," close=")">
+			#{postId}
+		</foreach>
+	</select>
+
 </mapper>

+ 14 - 0
ygtx-ui/src/views/system/post/index.vue

@@ -79,6 +79,12 @@
          <el-table-column label="岗位编码" prop="postCode" />
          <el-table-column label="岗位名称" prop="postName" />
          <el-table-column label="岗位排序" prop="postSort" />
+         <el-table-column label="是否参与排名" prop="isRank">
+            <template #default="scope">
+               <el-tag v-if="scope.row.isRank === '1'" type="success">是</el-tag>
+               <el-tag v-else type="info">否</el-tag>
+            </template>
+         </el-table-column>
          <el-table-column label="状态" prop="status">
             <template #default="scope">
                <dict-tag :options="sys_normal_disable" :value="scope.row.status" />
@@ -126,6 +132,12 @@
                   >{{ dict.label }}</el-radio>
                </el-radio-group>
             </el-form-item>
+            <el-form-item label="参与排名" prop="isRank">
+               <el-radio-group v-model="form.isRank">
+                  <el-radio value="1">是</el-radio>
+                  <el-radio value="0">否</el-radio>
+               </el-radio-group>
+            </el-form-item>
             <el-form-item label="备注" prop="remark">
                <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
             </el-form-item>
@@ -169,6 +181,7 @@ const data = reactive({
     postName: [{ required: true, message: "岗位名称不能为空", trigger: "blur" }],
     postCode: [{ required: true, message: "岗位编码不能为空", trigger: "blur" }],
     postSort: [{ required: true, message: "岗位顺序不能为空", trigger: "blur" }],
+    isRank: [{ required: true, message: "请选择是否参与排名", trigger: "change" }],
   }
 })
 
@@ -198,6 +211,7 @@ function reset() {
     postName: undefined,
     postSort: 0,
     status: "0",
+    isRank: "0",
     remark: undefined
   }
   proxy.resetForm("postRef")