ソースを参照

合同table页 创建人筛选功能优化

user5 4 年 前
コミット
b2af62051d

+ 7 - 0
src/main/java/com/jeeplus/modules/sys/dao/UserDao.java

@@ -244,4 +244,11 @@ public interface UserDao extends CrudDao<User> {
 	int updateUser(User user);
 
 	String findUserNo(String weChatId);
+
+	/**
+	 * 根据名称获取用户信息
+	 * @param name
+	 * @return
+	 */
+	User findUserByUserName(String name);
 }

+ 9 - 0
src/main/java/com/jeeplus/modules/sys/service/SystemService.java

@@ -1567,4 +1567,13 @@ public class SystemService extends BaseService implements InitializingBean {
         user.setOffice(office);
         return userDao.countByOffice(user);
     }
+
+    /**
+     * 根据用户名称查询用户信息
+     * @param name
+     * @return
+     */
+    public User findUserByUserName(String name) {
+        return userDao.findUserByUserName(name);
+    }
 }

+ 16 - 0
src/main/java/com/jeeplus/modules/sys/web/UserController.java

@@ -1456,5 +1456,21 @@ public class UserController extends BaseController {
         return ajaxJson;
     }
 
+    /**
+     * 验证工号是否重复
+     * @param oldNo
+     * @param no
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping(value = "getUserByName")
+    public AjaxJson getUserByName(String name) {
+        AjaxJson ajaxJson = new AjaxJson();
+        if(StringUtils.isNotBlank(name)){
+            User user = systemService.findUserByUserName(name);
+            ajaxJson.put("data",user);
+        }
+        return ajaxJson;
+    }
 
 }

+ 3 - 7
src/main/java/com/jeeplus/modules/workclientinfo/web/WorkClientInfoController.java

@@ -86,14 +86,10 @@ public class WorkClientInfoController extends BaseController {
 	@RequestMapping(value = {"list", ""})
 	public String list(WorkClientInfo workClientInfo, HttpServletRequest request, HttpServletResponse response, Model model) {
 
-		if(StringUtils.isNotBlank(workClientInfo.getCreateId())){
-			User selectUser = UserUtils.get(workClientInfo.getCreateId());
-			model.addAttribute("createName", selectUser.getName());
-		}else{
-			if(StringUtils.isNotBlank(workClientInfo.getCreateNameStr())){
-				model.addAttribute("createName", workClientInfo.getCreateNameStr());
-			}
+		if(StringUtils.isNotBlank(workClientInfo.getCreateNameStr())){
+			model.addAttribute("createName", workClientInfo.getCreateNameStr());
 		}
+
 		WorkClientLinkman workClientLinkman = workClientInfo.getWorkClientLinkman();
 		if(workClientLinkman != null){
 			workClientLinkman.setId("");

+ 10 - 0
src/main/resources/mappings/modules/sys/UserDao.xml

@@ -1176,5 +1176,15 @@
 		where id = #{id}
 	</update>
 
+	<!-- 根据登录名查询用户 -->
+	<select id="findUserByUserName" resultType="User" parameterType="User">
+		SELECT
+		<include refid="userColumns"/>
+		FROM sys_user a
+		LEFT JOIN sys_office s ON s.id = a.company_id
+		LEFT JOIN sys_office o ON o.id = a.office_id
+		LEFT JOIN sys_office bo ON bo.id = o.branch_office
+		WHERE a.name = #{name} AND a.del_flag = 0
+	</select>
 
 </mapper>

+ 1 - 1
src/main/resources/mappings/modules/workclientinfo/WorkClientInfoDao.xml

@@ -164,7 +164,7 @@
                 AND a.create_date &lt; #{endDate}
             </if>
 			<if test="(createId != null and createId != '') or (createNameStr != null and createNameStr != '')">
-				AND (a.create_by = #{createId} or su.name = #{createNameStr})
+				AND (a.create_by = #{createId} or su.name like concat('%',#{createNameStr},'%'))
 			</if>
             AND a.company_id = #{currentUser.company.id}
 

+ 1 - 1
src/main/webapp/WEB-INF/tags/sys/inquireselectUserNotReadolny.tag

@@ -25,7 +25,7 @@
 	<input id="${id}Id" name="${name}" class="${cssClass}" type="hidden" value="${value}"/>
 	<div class="input-group">
 		<input id="${id}Name" name="${labelName}" type="text" value="${labelValue}" data-msg-required="${dataMsgRequired}"
-		class="${cssClass}" style="${cssStyle}"/>
+		class="${cssClass}" style="${cssStyle}" onblur="cBlur(this)"/>
 		<span class="input-group-btn">
 	       		 <button type="button"  id="${id}Button" class="btn <c:if test="${fn:contains(cssClass, 'input-sm')}"> btn-sm </c:if><c:if test="${fn:contains(cssClass, 'input-lg')}"> btn-lg </c:if>  btn-primary ${disabled} ${hideBtn ? 'hide' : ''}"><i class="fa fa-search"></i>
 	             </button>

+ 25 - 0
src/main/webapp/webpage/modules/workclientinfo/workClientInfoList.jsp

@@ -104,6 +104,31 @@
 				layer.close(index);
 			});
 		}
+
+		function cBlur(obj) {
+			var id = $("#createId").val();
+			if(undefined != obj.value && null != obj.value && '' != obj.value){
+				$.ajax({
+					url:'${ctx}/sys/user/getUserByName?name='+obj.value,
+					type:"post",
+					success:function(data){
+						var user = data.body.data;
+						if(undefined == user || null == user || '' == user){
+							$("#createId").val("");
+						}else{
+							if(data.body.data.id != id){
+								if(undefined != id && null != id && '' != id){
+									$("#createId").val("");
+								}
+							}
+						}
+					}
+				});
+			}else{
+				$("#createId").val("");
+			}
+
+		}
 	</script>
 </head>
 <body class="gray-bg">