浏览代码

缝缝补补

shenhao 4 年之前
父节点
当前提交
f88e45a57a

+ 291 - 287
src/main/java/com/ssj/dao/sys/train/dao/impl/TrainQueryDaoImpl.java

@@ -1,287 +1,291 @@
-package com.ssj.dao.sys.train.dao.impl;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.Pageable;
-import org.springframework.stereotype.Repository;
-
-import com.ssj.dao.sys.train.dao.TrainQueryDao;
-import com.ssj.framework.core.persistence.PagingHibernateJdbcDao;
-
-@Repository
-public class TrainQueryDaoImpl  implements TrainQueryDao {
-
-    @Autowired
-    private PagingHibernateJdbcDao dao;
-    
-    @Override
-	public Page<Map<String, Object>> findTrainVideoInfoByPage(Map<String, Object> params, Pageable pageable) {
-		StringBuilder sb = new StringBuilder();
-		List<Object> param = new ArrayList<>();
-        sb.append(" SELECT *,(SELECT count(1) from tr_exam_info e WHERE e.status=1 and e.video_id=t.id ) as exam_num from tr_video_info t WHERE 1=1 ");
-        if(params.get("roleType")!=null && StringUtils.isNotEmpty(params.get("roleType").toString())) {
-       	 	sb.append(" and t.role_type=?  ");
-       	 	param.add(params.get("roleType"));
-        }
-        if(params.get("module")!=null && StringUtils.isNotEmpty(params.get("module").toString())) {
-        	sb.append(" and t.module like concat('%',?,'%')  ");
-        	param.add(params.get("module"));
-        }
-        if(params.get("title")!=null && StringUtils.isNotEmpty(params.get("title").toString())) {
-       	  	sb.append(" and t.title like concat('%',?,'%')  ");
-       	  	param.add(params.get("title"));
-        }
-        if(params.get("status")!=null && StringUtils.isNotEmpty(params.get("status").toString())) {
-       	  	sb.append(" and t.status =? ");
-       	  	param.add(params.get("status"));
-        }
-        sb.append(" ORDER BY t.role_type ASC,t.indes ASC ");
-        return dao.findPage(sb.toString(),param.toArray(),pageable);
-	}
-
-	@Override
-	public Page<Map<String, Object>> findMerchantTeaNumByPage(Map<String, Object> params, Pageable pageable) {
-		StringBuilder sb = new StringBuilder();
-		List<Object> param = new ArrayList<>();
-        sb.append(" SELECT 	t.unit_name,t.id,t.pos_code,t.lib_id, ");
-        sb.append(" (SELECT COUNT(DISTINCT m.id) from tr_video_info m WHERE m.role_type=1 AND m.`status`=1 ) as role_num_1, ");
-        sb.append(" (SELECT COUNT(DISTINCT m.id) from tr_video_info m WHERE m.role_type=2 AND m.`status`=1 ) as role_num_2, ");
-        sb.append(" (SELECT COUNT(DISTINCT m.id) from tr_video_info m WHERE m.role_type=3 AND m.`status`=1 ) as role_num_3, ");
-        sb.append(" (SELECT COUNT(DISTINCT m.id) from tr_video_info m WHERE m.role_type=4 AND m.`status`=1 ) as role_num_4, ");
-        sb.append(" (SELECT COUNT(DISTINCT m.id) from tr_train_user m WHERE m.role_type=1 AND m.lib_id=t.lib_id) as pal_num, ");
-        sb.append(" (SELECT COUNT(DISTINCT m.id) from tr_train_user m WHERE m.lib_id=t.lib_id) as tea_num ");
-        sb.append(" from fx_merchant t WHERE 1=1 AND t.lib_id is not null ");
-        if(params.get("unitName")!=null && StringUtils.isNotEmpty(params.get("unitName").toString())) {
-       	 	sb.append(" AND t.unit_name like concat('%',?,'%') ");
-       	 	param.add(params.get("unitName"));
-        }
-        if(params.get("id")!=null && StringUtils.isNotEmpty(params.get("id").toString())) {
-       	 	sb.append(" AND t.id=? ");
-       	 	param.add(params.get("id"));
-        }
-        sb.append(" ORDER BY t.create_time desc ");
-        return dao.findPage(sb.toString(),param.toArray(),pageable);
-	}
-
-	@Override
-	public Page<Map<String, Object>> findTeaInfoNumByPage(Map<String, Object> params, Pageable pageable) {
-		StringBuilder sb = new StringBuilder();
-		List<Object> param = new ArrayList<>();
-        sb.append(" SELECT   *, ");
-        sb.append(" ( SELECT IFNULL(COUNT(DISTINCT u.user_id),0) from tr_video_user u LEFT JOIN tr_video_info i ON u.video_id=i.id WHERE i.`status`=1 AND u.`status`=1 AND u.role_type=1 AND u.user_id=t.user_id 	) as role_count_1,");
-        sb.append(" ( SELECT IFNULL(COUNT(DISTINCT u.user_id),0) from tr_video_user u LEFT JOIN tr_video_info i ON u.video_id=i.id WHERE i.`status`=1 AND u.`status`=1 AND u.role_type=2 AND u.user_id=t.user_id 	) as role_count_2,");
-        sb.append(" ( SELECT IFNULL(COUNT(DISTINCT u.user_id),0) from tr_video_user u LEFT JOIN tr_video_info i ON u.video_id=i.id WHERE i.`status`=1 AND u.`status`=1 AND u.role_type=3 AND u.user_id=t.user_id 	) as role_count_3,");
-        sb.append(" ( SELECT IFNULL(COUNT(DISTINCT u.user_id),0) from tr_video_user u LEFT JOIN tr_video_info i ON u.video_id=i.id WHERE i.`status`=1 AND u.`status`=1 AND u.role_type=4 AND u.user_id=t.user_id 	) as role_count_4,");
-       
-        sb.append(" (SELECT COUNT(DISTINCT m.id) from tr_video_info m WHERE m.role_type=1 AND m.`status`=1) as role_num_1, ");
-        sb.append(" (SELECT COUNT(DISTINCT m.id) from tr_video_info m WHERE m.role_type=2 AND m.`status`=1) as role_num_2, ");
-        sb.append(" (SELECT COUNT(DISTINCT m.id) from tr_video_info m WHERE m.role_type=3 AND m.`status`=1) as role_num_3, ");
-        sb.append(" (SELECT COUNT(DISTINCT m.id) from tr_video_info m WHERE m.role_type=4 AND m.`status`=1) as role_num_4  ");
-        
-        sb.append(" from tr_train_user t WHERE 1=1 ");
-        sb.append(" AND t.lib_id=?   ");
-        param.add(params.get("libId"));
-       
-        if(params.get("type")!=null && StringUtils.isNotEmpty(params.get("type").toString())) {
-        	 sb.append(" AND t.role_type=? ");
-        	 param.add(params.get("type"));
-        }
-        if(params.get("name")!=null && StringUtils.isNotEmpty(params.get("name").toString())) {
-        	sb.append(" AND t.name like concat('%',?,'%') ");
-       	 	param.add(params.get("name"));
-        }
-        sb.append(" GROUP BY t.id ");
-        sb.append(" ORDER BY t.create_time desc ");
-        return dao.findPage(sb.toString(),param.toArray(),pageable);
-	}
-	
-	
-	
-	@Override
-	public Map<String, Object> findTrainVideoUserByPage(Map<String, Object> params) {
-		StringBuilder sb = new StringBuilder();
-		List<Object> param = new ArrayList<>();
-		sb.append(" SELECT  ");
-		sb.append(" 	(SELECT COUNT(*)  from ( ");
-		sb.append(" 		SELECT  u.user_id,COUNT(DISTINCT u.video_id) AS count from tr_video_user u");
-		sb.append(" 		LEFT JOIN tr_video_info i ON u.video_id=i.id");
-		sb.append(" 		LEFT JOIN tr_train_user m ON u.user_id=m.id");
-		sb.append(" 		WHERE i.`status`=1 AND u.`status`=1 AND u.role_type=1 AND m.lib_id=? ");
-		sb.append(" 		GROUP BY u.user_id ");
-		sb.append(" 		HAVING count>=? ");
-		sb.append(" 	) as tmp) as role_count_1, ");
-		param.add(params.get("lib_id"));
-	    param.add(params.get("role_num_1"));
-		
-		sb.append(" 	(SELECT COUNT(*)  from ( ");
-		sb.append(" 		SELECT  u.user_id,COUNT(DISTINCT u.video_id) AS count from tr_video_user u");
-		sb.append(" 		LEFT JOIN tr_video_info i ON u.video_id=i.id");
-		sb.append(" 		LEFT JOIN tr_train_user m ON u.user_id=m.id");
-		sb.append(" 		WHERE i.`status`=1 AND u.`status`=1 AND u.role_type=2 AND m.lib_id=? ");
-		sb.append(" 		GROUP BY u.user_id ");
-		sb.append(" 		HAVING count>=? ");
-		sb.append(" 	) as tmp) as role_count_2, ");
-		param.add(params.get("lib_id"));
-	    param.add(params.get("role_num_2"));
-	    
-	    
-	    sb.append(" 	(SELECT COUNT(*)  from ( ");
-		sb.append(" 		SELECT  u.user_id,COUNT(DISTINCT u.video_id) AS count from tr_video_user u");
-		sb.append(" 		LEFT JOIN tr_video_info i ON u.video_id=i.id");
-		sb.append(" 		LEFT JOIN tr_train_user m ON u.user_id=m.id");
-		sb.append(" 		WHERE i.`status`=1 AND u.`status`=1 AND u.role_type=3 AND m.lib_id=? ");
-		sb.append(" 		GROUP BY u.user_id ");
-		sb.append(" 		HAVING count>=? ");
-		sb.append(" 	) as tmp) as role_count_3, ");
-		param.add(params.get("lib_id"));
-	    param.add(params.get("role_num_3"));
-	    
-	    sb.append(" 	(SELECT COUNT(*)  from ( ");
-  		sb.append(" 		SELECT  u.user_id,COUNT(DISTINCT u.video_id) AS count from tr_video_user u");
-  		sb.append(" 		LEFT JOIN tr_video_info i ON u.video_id=i.id");
-  		sb.append(" 		LEFT JOIN tr_train_user m ON u.user_id=m.id");
-  		sb.append(" 		WHERE i.`status`=1 AND u.`status`=1 AND u.role_type=4 AND m.lib_id=? ");
-  		sb.append(" 		GROUP BY u.user_id ");
-  		sb.append(" 		HAVING count>=? ");
-  		sb.append(" 	) as tmp) as role_count_4 ");
-  		param.add(params.get("lib_id"));
-  	    param.add(params.get("role_num_4"));
-  	    
-  	    List<Map<String, Object>> list= dao.findMap(sb.toString(),param.toArray());
-  	    
-        return list!=null && list.size()>0 ? list.get(0): new HashMap<String, Object>();
-	}
-
-	@Override
-	public List<Map<String, Object>> findTrainVideoUserByUserId(String userId) {
-		StringBuilder sb = new StringBuilder();
-		List<Object> param = new ArrayList<>();
-        sb.append(" SELECT ");
-        sb.append(" t.role_type as role_type, ");
-        sb.append(" COUNT(*) as count_num,  ");
-        sb.append(" ( ");
-        sb.append("  	SELECT COUNT(DISTINCT u.video_id)  from tr_video_user u ");
-        sb.append("  	LEFT JOIN tr_video_info i ON u.video_id=i.id");
-        sb.append("  	WHERE i.`status`=1 AND u.`status`=1 AND t.role_type=u.role_type AND u.user_id=? ");
-        sb.append(" ) as success_num ");
-        sb.append(" from tr_video_info t WHERE t.`status`=1 GROUP BY t.role_type ORDER BY t.role_type ");
-        param.add(userId);
-        return dao.findMap(sb.toString(),param.toArray());
-	}
-
-	@Override
-	public List<Map<String, Object>> findTrainVideoUserByRoleType(String userId, Integer roleType, String module) {
-		StringBuilder sb = new StringBuilder();
-		List<Object> param = new ArrayList<>();
-        sb.append(" SELECT *, ");
-        sb.append(" (SELECT count(DISTINCT u.video_id) from tr_video_user u WHERE u.video_id=t.id AND u.user_id=? AND u.`status`=1  ) as un_lock ");
-        sb.append(" from tr_video_info t   ");
-        sb.append(" WHERE t.`status`=1  ");
-        param.add(userId);
-        if(roleType!=null) {
-	        sb.append("  AND t.role_type=?  ");
-	     	param.add(roleType);
-        }
-        if(StringUtils.isNotEmpty(module)) {
-        	sb.append("  AND t.module=?  ");
-        	param.add(module);
-        }
-        sb.append("  ORDER BY t.indes asc ");
-        return dao.findMap(sb.toString(),param.toArray());
-	}
-
-	@Override
-	public List<Map<String, Object>> findVideoFileByType() {
-		StringBuilder sb = new StringBuilder();
-		List<Object> param = new ArrayList<>();
-        sb.append(" SELECT t.role_type,	t.url, ");
-        sb.append(" (SELECT count(1) from `tr_video_file` f WHERE f.`status`=1 AND f.type=2 AND f.role_type=t.role_type) as num  ");
-        sb.append(" FROM  `tr_video_file` t WHERE  t.`status`=1 AND t.type=1 GROUP BY t.role_type  ORDER BY t.role_type ASC ");
-        return dao.findMap(sb.toString(),param.toArray());
-	}
-
-	@Override
-	public Page<Map<String, Object>> findVideoFileBySysPage(Map<String, Object> params, Pageable pageable) {
-		StringBuilder sb = new StringBuilder();
-		List<Object> param = new ArrayList<>();
-        sb.append(" SELECT * from tr_video_file t WHERE t.`status`=1  ");
-        if(params.get("type")!=null && StringUtils.isNotEmpty(params.get("type").toString())) {
-       	 	sb.append(" AND t.type=?  ");
-       	 	param.add(params.get("type"));
-        }
-        if(params.get("roleType")!=null && StringUtils.isNotEmpty(params.get("roleType").toString())) {
-       	 	sb.append(" AND t.role_type=?  ");
-       	 	param.add(params.get("roleType"));
-        }
-        if(params.get("module")!=null && StringUtils.isNotEmpty(params.get("module").toString())) {
-        	sb.append(" AND t.module=?  ");
-        	param.add(params.get("module"));
-        }
-        if(params.get("name")!=null && StringUtils.isNotEmpty(params.get("name").toString())) {
-       	  	sb.append(" AND t.title like concat('%',?,'%')  ");
-       	  	param.add(params.get("name"));
-        }
-        sb.append("  ORDER BY t.type ASC,t.create_time DESC ");
-        return dao.findPage(sb.toString(),param.toArray(),pageable);
-	}
-	
-	@Override
-	public Page<Map<String, Object>> findVideoFileByPage(Map<String, Object> params, Pageable pageable) {
-		StringBuilder sb = new StringBuilder();
-		List<Object> param = new ArrayList<>();
-        sb.append(" SELECT * from tr_video_file t WHERE t.`status`=1  ");
-        if(params.get("type")!=null && StringUtils.isNotEmpty(params.get("type").toString())) {
-       	 	sb.append(" AND t.type=?  ");
-       	 	param.add(params.get("type"));
-        }
-        if(params.get("roleType")!=null && StringUtils.isNotEmpty(params.get("roleType").toString())) {
-       	 	sb.append(" AND t.role_type=?  ");
-       	 	param.add(params.get("roleType"));
-        }
-        if(params.get("module")!=null && StringUtils.isNotEmpty(params.get("module").toString())) {
-        	sb.append(" AND t.module=?  ");
-        	param.add(params.get("module"));
-        }
-        if(params.get("name")!=null && StringUtils.isNotEmpty(params.get("name").toString())) {
-       	  	sb.append(" AND t.title like concat('%',?,'%')  ");
-       	  	param.add(params.get("name"));
-        }
-        sb.append("  ORDER BY t.create_time DESC ");
-        return dao.findPage(sb.toString(),param.toArray(),pageable);
-	}
-
-	@Override
-	public Page<Map<String, Object>> findTrainUserBySysPage(Map<String, Object> params, Pageable pageable) {
-		StringBuilder sb = new StringBuilder();
-		List<Object> param = new ArrayList<>();
-        sb.append(" SELECT * from tr_train_user t WHERE t.status=1   ");
-        if(params.get("roleType")!=null && StringUtils.isNotEmpty(params.get("roleType").toString())) {
-       	 	sb.append(" and t.role_type=?  ");
-       	 	param.add(params.get("roleType"));
-        }
-        if(params.get("mobile")!=null && StringUtils.isNotEmpty(params.get("mobile").toString())) {
-        	sb.append(" and t.mobile like concat('%',?,'%')  ");
-        	param.add(params.get("mobile"));
-        }
-        if(params.get("name")!=null && StringUtils.isNotEmpty(params.get("name").toString())) {
-       	  	sb.append(" and t.`name` like concat('%',?,'%')  ");
-       	  	param.add(params.get("name"));
-        }
-        if(params.get("libId")!=null && StringUtils.isNotEmpty(params.get("libId").toString())) {
-       	  	sb.append(" and t.libId =? ");
-       	  	param.add(params.get("libId"));
-        }
-        sb.append(" ORDER BY t.create_time DESC ");
-        return dao.findPage(sb.toString(),param.toArray(),pageable);
-	}
-
-
-	
-	
-}
+package com.ssj.dao.sys.train.dao.impl;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
+import org.springframework.stereotype.Repository;
+
+import com.ssj.dao.sys.train.dao.TrainQueryDao;
+import com.ssj.framework.core.persistence.PagingHibernateJdbcDao;
+
+@Repository
+public class TrainQueryDaoImpl  implements TrainQueryDao {
+
+    @Autowired
+    private PagingHibernateJdbcDao dao;
+    
+    @Override
+	public Page<Map<String, Object>> findTrainVideoInfoByPage(Map<String, Object> params, Pageable pageable) {
+		StringBuilder sb = new StringBuilder();
+		List<Object> param = new ArrayList<>();
+        sb.append(" SELECT *,(SELECT count(1) from tr_exam_info e WHERE e.status=1 and e.video_id=t.id ) as exam_num from tr_video_info t WHERE 1=1 ");
+        if(params.get("roleType")!=null && StringUtils.isNotEmpty(params.get("roleType").toString())) {
+       	 	sb.append(" and t.role_type=?  ");
+       	 	param.add(params.get("roleType"));
+        }
+        if(params.get("module")!=null && StringUtils.isNotEmpty(params.get("module").toString())) {
+        	sb.append(" and t.module like concat('%',?,'%')  ");
+        	param.add(params.get("module"));
+        }
+        if(params.get("title")!=null && StringUtils.isNotEmpty(params.get("title").toString())) {
+       	  	sb.append(" and t.title like concat('%',?,'%')  ");
+       	  	param.add(params.get("title"));
+        }
+        if(params.get("status")!=null && StringUtils.isNotEmpty(params.get("status").toString())) {
+       	  	sb.append(" and t.status =? ");
+       	  	param.add(params.get("status"));
+        }
+        sb.append(" ORDER BY t.role_type ASC,t.indes ASC ");
+        return dao.findPage(sb.toString(),param.toArray(),pageable);
+	}
+
+	@Override
+	public Page<Map<String, Object>> findMerchantTeaNumByPage(Map<String, Object> params, Pageable pageable) {
+		StringBuilder sb = new StringBuilder();
+		List<Object> param = new ArrayList<>();
+        sb.append(" SELECT 	t.unit_name,t.id,t.pos_code,t.lib_id, ");
+        sb.append(" (SELECT COUNT(DISTINCT m.id) from tr_video_info m WHERE m.role_type=1 AND m.`status`=1 ) as role_num_1, ");
+        sb.append(" (SELECT COUNT(DISTINCT m.id) from tr_video_info m WHERE m.role_type=2 AND m.`status`=1 ) as role_num_2, ");
+        sb.append(" (SELECT COUNT(DISTINCT m.id) from tr_video_info m WHERE m.role_type=3 AND m.`status`=1 ) as role_num_3, ");
+        sb.append(" (SELECT COUNT(DISTINCT m.id) from tr_video_info m WHERE m.role_type=4 AND m.`status`=1 ) as role_num_4, ");
+        sb.append(" (SELECT COUNT(DISTINCT m.id) from tr_train_user m WHERE m.role_type=1 AND m.lib_id=t.lib_id) as pal_num, ");
+        sb.append(" (SELECT COUNT(DISTINCT m.id) from tr_train_user m WHERE m.lib_id=t.lib_id) as tea_num ");
+        sb.append(" from fx_merchant t WHERE 1=1 AND t.lib_id is not null ");
+        if(params.get("unitName")!=null && StringUtils.isNotEmpty(params.get("unitName").toString())) {
+       	 	sb.append(" AND t.unit_name like concat('%',?,'%') ");
+       	 	param.add(params.get("unitName"));
+        }
+        if(params.get("id")!=null && StringUtils.isNotEmpty(params.get("id").toString())) {
+       	 	sb.append(" AND t.id=? ");
+       	 	param.add(params.get("id"));
+        }
+        if(params.get("orgCode")!=null && StringUtils.isNotEmpty(params.get("orgCode").toString())) {
+       	 	sb.append(" AND t.org_code like concat(?,'%') ");
+       	 	param.add(params.get("orgCode"));
+        }
+        sb.append(" ORDER BY t.create_time desc ");
+        return dao.findPage(sb.toString(),param.toArray(),pageable);
+	}
+
+	@Override
+	public Page<Map<String, Object>> findTeaInfoNumByPage(Map<String, Object> params, Pageable pageable) {
+		StringBuilder sb = new StringBuilder();
+		List<Object> param = new ArrayList<>();
+        sb.append(" SELECT   *, ");
+        sb.append(" ( SELECT IFNULL(COUNT(DISTINCT u.video_id),0) from tr_video_user u LEFT JOIN tr_video_info i ON u.video_id=i.id WHERE i.`status`=1 AND u.`status`=1 AND u.role_type=1 AND u.user_id=t.id 	) as role_count_1,");
+        sb.append(" ( SELECT IFNULL(COUNT(DISTINCT u.video_id),0) from tr_video_user u LEFT JOIN tr_video_info i ON u.video_id=i.id WHERE i.`status`=1 AND u.`status`=1 AND u.role_type=2 AND u.user_id=t.id 	) as role_count_2,");
+        sb.append(" ( SELECT IFNULL(COUNT(DISTINCT u.video_id),0) from tr_video_user u LEFT JOIN tr_video_info i ON u.video_id=i.id WHERE i.`status`=1 AND u.`status`=1 AND u.role_type=3 AND u.user_id=t.id 	) as role_count_3,");
+        sb.append(" ( SELECT IFNULL(COUNT(DISTINCT u.video_id),0) from tr_video_user u LEFT JOIN tr_video_info i ON u.video_id=i.id WHERE i.`status`=1 AND u.`status`=1 AND u.role_type=4 AND u.user_id=t.id 	) as role_count_4,");
+       
+        sb.append(" (SELECT COUNT(DISTINCT m.id) from tr_video_info m WHERE m.role_type=1 AND m.`status`=1) as role_num_1, ");
+        sb.append(" (SELECT COUNT(DISTINCT m.id) from tr_video_info m WHERE m.role_type=2 AND m.`status`=1) as role_num_2, ");
+        sb.append(" (SELECT COUNT(DISTINCT m.id) from tr_video_info m WHERE m.role_type=3 AND m.`status`=1) as role_num_3, ");
+        sb.append(" (SELECT COUNT(DISTINCT m.id) from tr_video_info m WHERE m.role_type=4 AND m.`status`=1) as role_num_4  ");
+        
+        sb.append(" from tr_train_user t WHERE 1=1 ");
+        sb.append(" AND t.lib_id=?   ");
+        param.add(params.get("libId"));
+       
+        if(params.get("type")!=null && StringUtils.isNotEmpty(params.get("type").toString())) {
+        	 sb.append(" AND t.role_type=? ");
+        	 param.add(params.get("type"));
+        }
+        if(params.get("name")!=null && StringUtils.isNotEmpty(params.get("name").toString())) {
+        	sb.append(" AND t.name like concat('%',?,'%') ");
+       	 	param.add(params.get("name"));
+        }
+        sb.append(" GROUP BY t.id ");
+        sb.append(" ORDER BY t.create_time desc ");
+        return dao.findPage(sb.toString(),param.toArray(),pageable);
+	}
+	
+	
+	
+	@Override
+	public Map<String, Object> findTrainVideoUserByPage(Map<String, Object> params) {
+		StringBuilder sb = new StringBuilder();
+		List<Object> param = new ArrayList<>();
+		sb.append(" SELECT  ");
+		sb.append(" 	(SELECT COUNT(*)  from ( ");
+		sb.append(" 		SELECT  u.user_id,COUNT(DISTINCT u.video_id) AS count from tr_video_user u");
+		sb.append(" 		LEFT JOIN tr_video_info i ON u.video_id=i.id");
+		sb.append(" 		LEFT JOIN tr_train_user m ON u.user_id=m.id");
+		sb.append(" 		WHERE i.`status`=1 AND u.`status`=1 AND u.role_type=1 AND m.lib_id=? ");
+		sb.append(" 		GROUP BY u.user_id ");
+		sb.append(" 		HAVING count>=? ");
+		sb.append(" 	) as tmp) as role_count_1, ");
+		param.add(params.get("lib_id"));
+	    param.add(params.get("role_num_1"));
+		
+		sb.append(" 	(SELECT COUNT(*)  from ( ");
+		sb.append(" 		SELECT  u.user_id,COUNT(DISTINCT u.video_id) AS count from tr_video_user u");
+		sb.append(" 		LEFT JOIN tr_video_info i ON u.video_id=i.id");
+		sb.append(" 		LEFT JOIN tr_train_user m ON u.user_id=m.id");
+		sb.append(" 		WHERE i.`status`=1 AND u.`status`=1 AND u.role_type=2 AND m.lib_id=? ");
+		sb.append(" 		GROUP BY u.user_id ");
+		sb.append(" 		HAVING count>=? ");
+		sb.append(" 	) as tmp) as role_count_2, ");
+		param.add(params.get("lib_id"));
+	    param.add(params.get("role_num_2"));
+	    
+	    
+	    sb.append(" 	(SELECT COUNT(*)  from ( ");
+		sb.append(" 		SELECT  u.user_id,COUNT(DISTINCT u.video_id) AS count from tr_video_user u");
+		sb.append(" 		LEFT JOIN tr_video_info i ON u.video_id=i.id");
+		sb.append(" 		LEFT JOIN tr_train_user m ON u.user_id=m.id");
+		sb.append(" 		WHERE i.`status`=1 AND u.`status`=1 AND u.role_type=3 AND m.lib_id=? ");
+		sb.append(" 		GROUP BY u.user_id ");
+		sb.append(" 		HAVING count>=? ");
+		sb.append(" 	) as tmp) as role_count_3, ");
+		param.add(params.get("lib_id"));
+	    param.add(params.get("role_num_3"));
+	    
+	    sb.append(" 	(SELECT COUNT(*)  from ( ");
+  		sb.append(" 		SELECT  u.user_id,COUNT(DISTINCT u.video_id) AS count from tr_video_user u");
+  		sb.append(" 		LEFT JOIN tr_video_info i ON u.video_id=i.id");
+  		sb.append(" 		LEFT JOIN tr_train_user m ON u.user_id=m.id");
+  		sb.append(" 		WHERE i.`status`=1 AND u.`status`=1 AND u.role_type=4 AND m.lib_id=? ");
+  		sb.append(" 		GROUP BY u.user_id ");
+  		sb.append(" 		HAVING count>=? ");
+  		sb.append(" 	) as tmp) as role_count_4 ");
+  		param.add(params.get("lib_id"));
+  	    param.add(params.get("role_num_4"));
+  	    
+  	    List<Map<String, Object>> list= dao.findMap(sb.toString(),param.toArray());
+  	    
+        return list!=null && list.size()>0 ? list.get(0): new HashMap<String, Object>();
+	}
+
+	@Override
+	public List<Map<String, Object>> findTrainVideoUserByUserId(String userId) {
+		StringBuilder sb = new StringBuilder();
+		List<Object> param = new ArrayList<>();
+        sb.append(" SELECT ");
+        sb.append(" t.role_type as role_type, ");
+        sb.append(" COUNT(*) as count_num,  ");
+        sb.append(" ( ");
+        sb.append("  	SELECT COUNT(DISTINCT u.video_id)  from tr_video_user u ");
+        sb.append("  	LEFT JOIN tr_video_info i ON u.video_id=i.id");
+        sb.append("  	WHERE i.`status`=1 AND u.`status`=1 AND t.role_type=u.role_type AND u.user_id=? ");
+        sb.append(" ) as success_num ");
+        sb.append(" from tr_video_info t WHERE t.`status`=1 GROUP BY t.role_type ORDER BY t.role_type ");
+        param.add(userId);
+        return dao.findMap(sb.toString(),param.toArray());
+	}
+
+	@Override
+	public List<Map<String, Object>> findTrainVideoUserByRoleType(String userId, Integer roleType, String module) {
+		StringBuilder sb = new StringBuilder();
+		List<Object> param = new ArrayList<>();
+        sb.append(" SELECT *, ");
+        sb.append(" (SELECT count(DISTINCT u.video_id) from tr_video_user u WHERE u.video_id=t.id AND u.user_id=? AND u.`status`=1  ) as un_lock ");
+        sb.append(" from tr_video_info t   ");
+        sb.append(" WHERE t.`status`=1  ");
+        param.add(userId);
+        if(roleType!=null) {
+	        sb.append("  AND t.role_type=?  ");
+	     	param.add(roleType);
+        }
+        if(StringUtils.isNotEmpty(module)) {
+        	sb.append("  AND t.module=?  ");
+        	param.add(module);
+        }
+        sb.append("  ORDER BY t.indes asc ");
+        return dao.findMap(sb.toString(),param.toArray());
+	}
+
+	@Override
+	public List<Map<String, Object>> findVideoFileByType() {
+		StringBuilder sb = new StringBuilder();
+		List<Object> param = new ArrayList<>();
+        sb.append(" SELECT t.role_type,	t.url, ");
+        sb.append(" (SELECT count(1) from `tr_video_file` f WHERE f.`status`=1 AND f.type=2 AND f.role_type=t.role_type) as num  ");
+        sb.append(" FROM  `tr_video_file` t WHERE  t.`status`=1 AND t.type=1 GROUP BY t.role_type  ORDER BY t.role_type ASC ");
+        return dao.findMap(sb.toString(),param.toArray());
+	}
+
+	@Override
+	public Page<Map<String, Object>> findVideoFileBySysPage(Map<String, Object> params, Pageable pageable) {
+		StringBuilder sb = new StringBuilder();
+		List<Object> param = new ArrayList<>();
+        sb.append(" SELECT * from tr_video_file t WHERE t.`status`=1  ");
+        if(params.get("type")!=null && StringUtils.isNotEmpty(params.get("type").toString())) {
+       	 	sb.append(" AND t.type=?  ");
+       	 	param.add(params.get("type"));
+        }
+        if(params.get("roleType")!=null && StringUtils.isNotEmpty(params.get("roleType").toString())) {
+       	 	sb.append(" AND t.role_type=?  ");
+       	 	param.add(params.get("roleType"));
+        }
+        if(params.get("module")!=null && StringUtils.isNotEmpty(params.get("module").toString())) {
+        	sb.append(" AND t.module=?  ");
+        	param.add(params.get("module"));
+        }
+        if(params.get("name")!=null && StringUtils.isNotEmpty(params.get("name").toString())) {
+       	  	sb.append(" AND t.title like concat('%',?,'%')  ");
+       	  	param.add(params.get("name"));
+        }
+        sb.append("  ORDER BY t.type ASC,t.create_time DESC ");
+        return dao.findPage(sb.toString(),param.toArray(),pageable);
+	}
+	
+	@Override
+	public Page<Map<String, Object>> findVideoFileByPage(Map<String, Object> params, Pageable pageable) {
+		StringBuilder sb = new StringBuilder();
+		List<Object> param = new ArrayList<>();
+        sb.append(" SELECT * from tr_video_file t WHERE t.`status`=1  ");
+        if(params.get("type")!=null && StringUtils.isNotEmpty(params.get("type").toString())) {
+       	 	sb.append(" AND t.type=?  ");
+       	 	param.add(params.get("type"));
+        }
+        if(params.get("roleType")!=null && StringUtils.isNotEmpty(params.get("roleType").toString())) {
+       	 	sb.append(" AND t.role_type=?  ");
+       	 	param.add(params.get("roleType"));
+        }
+        if(params.get("module")!=null && StringUtils.isNotEmpty(params.get("module").toString())) {
+        	sb.append(" AND t.module=?  ");
+        	param.add(params.get("module"));
+        }
+        if(params.get("name")!=null && StringUtils.isNotEmpty(params.get("name").toString())) {
+       	  	sb.append(" AND t.title like concat('%',?,'%')  ");
+       	  	param.add(params.get("name"));
+        }
+        sb.append("  ORDER BY t.create_time DESC ");
+        return dao.findPage(sb.toString(),param.toArray(),pageable);
+	}
+
+	@Override
+	public Page<Map<String, Object>> findTrainUserBySysPage(Map<String, Object> params, Pageable pageable) {
+		StringBuilder sb = new StringBuilder();
+		List<Object> param = new ArrayList<>();
+        sb.append(" SELECT * from tr_train_user t WHERE t.status=1   ");
+        if(params.get("roleType")!=null && StringUtils.isNotEmpty(params.get("roleType").toString())) {
+       	 	sb.append(" and t.role_type=?  ");
+       	 	param.add(params.get("roleType"));
+        }
+        if(params.get("mobile")!=null && StringUtils.isNotEmpty(params.get("mobile").toString())) {
+        	sb.append(" and t.mobile like concat('%',?,'%')  ");
+        	param.add(params.get("mobile"));
+        }
+        if(params.get("name")!=null && StringUtils.isNotEmpty(params.get("name").toString())) {
+       	  	sb.append(" and t.`name` like concat('%',?,'%')  ");
+       	  	param.add(params.get("name"));
+        }
+        if(params.get("libId")!=null && StringUtils.isNotEmpty(params.get("libId").toString())) {
+       	  	sb.append(" and t.libId =? ");
+       	  	param.add(params.get("libId"));
+        }
+        sb.append(" ORDER BY t.create_time DESC ");
+        return dao.findPage(sb.toString(),param.toArray(),pageable);
+	}
+
+
+	
+	
+}

+ 5 - 3
src/main/java/com/ssj/dao/weixin/order/dao/impl/OrderQueryDaoImpl.java

@@ -407,13 +407,15 @@ public class OrderQueryDaoImpl implements OrderQueryDao{
 	public List<Map<String, Object>> getOrder(Map<String, Object> searchParams) {
 		StringBuilder selSQL = new StringBuilder();
         List<Object> queryParams = new ArrayList<Object>();
-        selSQL.append(" SELECT o.*, u.wx_name,DATE_FORMAT(o.create_time,'%Y-%m-%d %H:%i:%s')as create_time2,  ");
+        selSQL.append(" SELECT o.*, ifnull(u.wx_name,f.unit_name) as wx_name,DATE_FORMAT(o.create_time,'%Y-%m-%d %H:%i:%s')as create_time2,  ");
         selSQL.append("  DATE_FORMAT(o.pay_time,'%Y-%m-%d %H:%i:%s')as pay_time2, CASE o.order_type  ");
-        selSQL.append("  WHEN 4 THEN '会员卡支付酬金' WHEN 7 THEN '图书馆借书首次酬金'WHEN 8 THEN'图书馆借书普通酬金'ELSE'其他'   ");
+        selSQL.append("  WHEN 4 THEN '会员卡支付酬金' WHEN 7 THEN '图书馆借书首次酬金'WHEN 8 THEN'图书馆借书普通酬金' when 14 then '商户续费服务包' ELSE'其他'   ");
         selSQL.append("  END  AS order_type2, CASE o.order_status  ");
         selSQL.append("  WHEN 0 THEN'未支付'WHEN 1 THEN'已支付'WHEN 4 THEN'已退款'ELSE'其他'END AS order_status2 ,  ");
         selSQL.append("  DATE_FORMAT(r.create_time,'%Y-%m-%d %H:%i:%s')as refund_time  ");
-        selSQL.append("  FROM tb_orders o JOIN tb_user u ON o.user_id = u.id  ");
+        selSQL.append("  FROM tb_orders o   ");
+		selSQL.append("  left JOIN tb_user u ON o.user_id = u.id ");
+		selSQL.append("  left join  fx_merchant  f  on o.user_id  = f.lib_id  ");
         selSQL.append("  LEFT JOIN tb_order_refund r ON o.order_no = r.order_no  ");
         if(searchParams!=null && searchParams.size()>0){
         	selSQL.append("  where 1=1 ");

+ 9 - 0
src/main/java/com/ssj/sys/controller/ReportController.java

@@ -1325,6 +1325,15 @@ public class ReportController extends BaseController {
     	ServletOutputStream os = null;
     	try { 
     		String libName="资金流水表";
+    		if(request.getParameter("beginDate")!=null){
+    			libName=libName+request.getParameter("beginDate");
+			}
+    		if(request.getParameter("beginDate")!=null && request.getParameter("endDate")!=null){
+				libName=libName+"_";
+			}
+			if(request.getParameter("endDate")!=null){
+				libName=libName+request.getParameter("endDate");
+			}
     		os = response.getOutputStream(); //获得输出流  
     		response.reset();   //清空输出流  
     		String fileName = new String(libName.getBytes("gb2312"), "ISO8859-1") +".xlsx";  

+ 6 - 1
src/main/java/com/ssj/sys/controller/TrainController.java

@@ -259,7 +259,12 @@ public class TrainController extends BaseController {
 		
 		Map<String, Object> params = new HashMap<String, Object>();
 		params.put("unitName", request.getParameter("unitName")==null?"":request.getParameter("unitName"));
-		params.put("id",merchant!=null ? merchant.getId() : "无权限");
+		if(merchant==null){
+			params.put("id","无权限");
+		}else{
+			params.put("orgCode",merchant.getOrgCode());
+		}
+
 		
 		SplitPage sp = new SplitPage();
         sp.setAction(request.getRequestURI());

+ 6 - 6
src/main/resources/templates/sys/fx/merchantMealSelfAdd.html

@@ -400,21 +400,21 @@
 			}
 			$("#1_service_num").val(parseInt($("#1_service_num").val())-1);
 
-			$("#payPrice").val(parseInt($("#price").val())*parseInt($("#1_service_num").val())*parseInt($("#2_service_num").val()));
+			$("#payPrice").val(parseInt(Number($("#price").val())*parseInt($("#1_service_num").val())*parseInt($("#2_service_num").val())));
 
 		});
 
 		$("#1_service_num").bind("input propertychange", function (event) {
-				$("#payPrice").val(parseInt($("#price").val())*parseInt($("#1_service_num").val())*parseInt($("#2_service_num").val()));
+				$("#payPrice").val(parseInt(Number($("#price").val())*parseInt($("#1_service_num").val())*parseInt($("#2_service_num").val())));
 		});
 
 		$("#2_service_num").bind("input propertychange", function (event) {
-				$("#payPrice").val(parseInt($("#price").val())*parseInt($("#1_service_num").val())*parseInt($("#2_service_num").val()));
+				$("#payPrice").val(parseInt(Number($("#price").val())*parseInt($("#1_service_num").val())*parseInt($("#2_service_num").val())));
 		});
 		
 		$("#1_add_num").click(function (){
 			$("#1_service_num").val(parseInt($("#1_service_num").val())+1);
-			$("#payPrice").val(parseInt($("#price").val())*parseInt($("#1_service_num").val())*parseInt($("#2_service_num").val()));
+			$("#payPrice").val(parseInt(Number($("#price").val())*parseInt($("#1_service_num").val())*parseInt($("#2_service_num").val())));
 		});
 		
 		$("#2_reduce_num").click(function (){
@@ -424,12 +424,12 @@
 				return;
 			}
 			$("#2_service_num").val(parseInt($("#2_service_num").val())-1);
-			$("#payPrice").val(parseInt($("#price").val())*parseInt($("#1_service_num").val())*parseInt($("#2_service_num").val()));
+			$("#payPrice").val(parseInt(Number($("#price").val())*parseInt($("#1_service_num").val())*parseInt($("#2_service_num").val())));
 		});
 		
 		$("#2_add_num").click(function (){
 			$("#2_service_num").val(parseInt($("#2_service_num").val())+1);
-			$("#payPrice").val(parseInt($("#price").val())*parseInt($("#1_service_num").val())*parseInt($("#2_service_num").val()));
+			$("#payPrice").val(parseInt(Number($("#price").val())*parseInt($("#1_service_num").val())*parseInt($("#2_service_num").val())));
 		});
 		
 	})

+ 1 - 1
src/main/resources/templates/sys/train/pace_list.html

@@ -65,7 +65,7 @@
 				<td th:text="${itemStat.count}"></td>
 				<td th:text="${item.unit_name}"></td>
 				<td >
-					<a th:href="@{/sys/train/pace/list/info.html(libId=${item.lib_id},type='6' )}">
+					<a th:href="@{/sys/train/pace/list/info.html(libId=${item.lib_id} )}">
 						[[${item.role_count_1 +'/'+ item.pal_num}]]
 					</a>
 				</td>