|  | @ -3785,8 +3785,11 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         List<Map<String,Object>> doctorTypeHourList = jdbcTemplate.queryForList(doctorTypeSql);
 | 
	
		
			
				|  |  |         result.put("doctorTypeHourList",doctorTypeHourList);//按人员统计总用时与参与人数
 | 
	
		
			
				|  |  |         JSONObject bugObj = selectBugTotal(memberId,startDate,endDate,dept);
 | 
	
		
			
				|  |  |         result.putAll(bugObj);
 | 
	
		
			
				|  |  |         //BUG数量统计
 | 
	
		
			
				|  |  |         if(StringUtils.isNoneBlank(memberId)||StringUtils.isNoneBlank(dept)){
 | 
	
		
			
				|  |  |             JSONObject bugObj = selectBugTotal(memberId,startDate,endDate,dept,false);
 | 
	
		
			
				|  |  |             result.putAll(bugObj);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return result;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -3975,11 +3978,12 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         //判断导出人权限
 | 
	
		
			
				|  |  |         String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |         boolean adminFlag = false;
 | 
	
		
			
				|  |  |         if (userRoles.size()==0){
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             String role_code = userRoles.get(0).get("role_code").toString();
 | 
	
		
			
				|  |  |             if ("admin".equals(role_code)){
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                 adminFlag = true;
 | 
	
		
			
				|  |  |             } else if ("deptAdmin".equals(role_code)) {//查询出管理员所在部门
 | 
	
		
			
				|  |  |                 if(StringUtils.isBlank(dept)){
 | 
	
		
			
				|  |  |                     sql = " select dh.dept_code from base_doctor doc INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code " +
 | 
	
	
		
			
				|  | @ -4191,6 +4195,11 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         List<Map<String,Object>> doctorTypeHourList = jdbcTemplate.queryForList(doctorTypeSql);
 | 
	
		
			
				|  |  |         result.put("doctorTypeHourList",doctorTypeHourList);//按人员统计总用时与参与人数
 | 
	
		
			
				|  |  |         //BUG数量统计
 | 
	
		
			
				|  |  |         if(StringUtils.isNoneBlank(memberId)||StringUtils.isNoneBlank(dept)||adminFlag){
 | 
	
		
			
				|  |  |             JSONObject bugObj = selectBugTotal(memberId,startDate,endDate,dept,adminFlag);
 | 
	
		
			
				|  |  |             result.putAll(bugObj);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return result;
 | 
	
		
			
				|  |  |     }
 | 
	
	
		
			
				|  | @ -5058,13 +5067,22 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public JSONObject selectBugTotal(String doctorId, String startDate, String endDate, String dept) throws Exception {
 | 
	
		
			
				|  |  |     public JSONObject selectBugTotal(String doctorId, String startDate, String endDate, String dept,boolean adminFlag) throws Exception {
 | 
	
		
			
				|  |  |         String sqlCondition = "";
 | 
	
		
			
				|  |  |         JSONObject result = new JSONObject();
 | 
	
		
			
				|  |  |         result.put("bugtotal",0);
 | 
	
		
			
				|  |  |         result.put("resolveBugTotal",0);
 | 
	
		
			
				|  |  |         result.put("unresolvedBugTotal",0);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (adminFlag){
 | 
	
		
			
				|  |  |             sqlCondition = " SELECT d.zt_id as ztId FROM base_doctor d LEFT JOIN base_doctor_hospital dh ON d.id=dh.doctor_code where d.del=1 and dh.del=1 and d.zt_id is not null ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (StringUtils.isNoneBlank(dept)){
 | 
	
		
			
				|  |  |             sqlCondition = " SELECT d.zt_id as ztId FROM base_doctor d LEFT JOIN base_doctor_hospital dh ON d.id=dh.doctor_code where d.del=1 and dh.del=1 and dh.dept_code='"+dept+"' ";
 | 
	
		
			
				|  |  |             sqlCondition = " SELECT d.zt_id as ztId FROM base_doctor d LEFT JOIN base_doctor_hospital dh ON d.id=dh.doctor_code where d.del=1 and dh.del=1 and dh.dept_code='"+dept+"' and d.zt_id is not null ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNoneBlank(doctorId)){
 | 
	
		
			
				|  |  |             sqlCondition = " SELECT d.zt_id as ztId FROM base_doctor d where d.id = '"+doctorId+"' ";
 | 
	
		
			
				|  |  |             sqlCondition = " SELECT d.zt_id as ztId FROM base_doctor d where d.id = '"+doctorId+"' and d.zt_id is not null ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         List<Map<String,Object>> mapList = jdbcTemplate.queryForList(sqlCondition);
 | 
	
		
			
				|  |  |         String str = "";
 | 
	
	
		
			
				|  | @ -5073,56 +5091,59 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |                 str += "'"+map.get("ztId")+"',";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         str = str.substring(0,str.length()-1);
 | 
	
		
			
				|  |  |         sqlCondition = " ";
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(startDate)){
 | 
	
		
			
				|  |  |             sqlCondition += " and lastEditedDate>='"+startDate+"' ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(endDate)){
 | 
	
		
			
				|  |  |             sqlCondition += " and lastEditedDate<='"+endDate+"' ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         String sql = "  select * from ( " +
 | 
	
		
			
				|  |  |                 " select count(distinct id) total,'resolve' `status` from zt_bug " +
 | 
	
		
			
				|  |  |                 " where  (resolvedBy in ("+str+")) or  " +
 | 
	
		
			
				|  |  |                 " (assignedTo in ("+str+") and `status` in ('closed')) or " +
 | 
	
		
			
				|  |  |                 " (closedBy in ("+str+")and `status` in ('closed')) " +
 | 
	
		
			
				|  |  |                 "  and deleted='0' " +sqlCondition+
 | 
	
		
			
				|  |  |                 " union ALL " +
 | 
	
		
			
				|  |  |                 " select count(distinct id) total,'unresolved' `status` from zt_bug " +
 | 
	
		
			
				|  |  |                 " where assignedTo in ("+str+") and `status` in ('active','resolved') and deleted='0' " +sqlCondition+
 | 
	
		
			
				|  |  |                 " )A ";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String url = "http://172.19.103.134:10023/ykyy/jdbcSQLQuery";
 | 
	
		
			
				|  |  |         Map<String,Object> params = new HashedMap();
 | 
	
		
			
				|  |  |         params.put("sql",sql);
 | 
	
		
			
				|  |  |         HttpResponse response = HttpUtils.doGet(url,params);
 | 
	
		
			
				|  |  |         String content = response.getContent();
 | 
	
		
			
				|  |  |         logger.info("response:"+content);
 | 
	
		
			
				|  |  |         JSONObject rs = JSON.parseObject(content);
 | 
	
		
			
				|  |  |         Long total = 0l;//总bug数;
 | 
	
		
			
				|  |  |         Long resolveBugTotal=0l;//已解决BUG数
 | 
	
		
			
				|  |  |         Long unresolvedBugTotal=0l;//待解决BUG数
 | 
	
		
			
				|  |  |         Integer status = rs.getInteger("status");
 | 
	
		
			
				|  |  |         if(status!=null&&status == 200){
 | 
	
		
			
				|  |  |             JSONArray array = rs.getJSONArray("detailModelList");
 | 
	
		
			
				|  |  |             if (array!=null&&array.size()!=0){
 | 
	
		
			
				|  |  |                 total = array.stream().mapToLong(t ->((JSONObject)t).get("total") == null ? 0 :Long.parseLong(((JSONObject)t).getString("total"))).sum();
 | 
	
		
			
				|  |  |                 for (int i=0;i<array.size();i++){
 | 
	
		
			
				|  |  |                     JSONObject tmp = array.getJSONObject(i);
 | 
	
		
			
				|  |  |                     String bugStatus = tmp.getString("status");
 | 
	
		
			
				|  |  |                     Long statusTotal  =Long.parseLong(tmp.getString("total"));
 | 
	
		
			
				|  |  |                     if("resolve".equals(bugStatus)){
 | 
	
		
			
				|  |  |                         resolveBugTotal = statusTotal;
 | 
	
		
			
				|  |  |                     }else {
 | 
	
		
			
				|  |  |                         unresolvedBugTotal = statusTotal;
 | 
	
		
			
				|  |  |         if (StringUtils.isNoneBlank(str)){
 | 
	
		
			
				|  |  |             str = str.substring(0,str.length()-1);
 | 
	
		
			
				|  |  |             sqlCondition = " ";
 | 
	
		
			
				|  |  |             if (StringUtils.isNotBlank(startDate)){
 | 
	
		
			
				|  |  |                 startDate = DateUtil.strToStrShort(startDate)+" 00:00:00";
 | 
	
		
			
				|  |  |                 sqlCondition += " and lastEditedDate>='"+startDate+"' ";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (StringUtils.isNotBlank(endDate)){
 | 
	
		
			
				|  |  |                 endDate = DateUtil.strToStrShort(endDate)+" 23:59:59";
 | 
	
		
			
				|  |  |                 sqlCondition += " and lastEditedDate<='"+endDate+"' ";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             String sql = "  select * from ( " +
 | 
	
		
			
				|  |  |                     " select count(distinct id) total,'resolve' `status` from zt_bug " +
 | 
	
		
			
				|  |  |                     " where  ((resolvedBy in ("+str+")) or  " +
 | 
	
		
			
				|  |  |                     " (assignedTo in ("+str+") and `status` in ('closed')) or " +
 | 
	
		
			
				|  |  |                     " (closedBy in ("+str+")and `status` in ('closed'))) " +
 | 
	
		
			
				|  |  |                     "  and deleted='0' " +sqlCondition+
 | 
	
		
			
				|  |  |                     " union ALL " +
 | 
	
		
			
				|  |  |                     " select count(distinct id) total,'unresolved' `status` from zt_bug " +
 | 
	
		
			
				|  |  |                     " where assignedTo in ("+str+") and `status` in ('active','resolved') and deleted='0' " +sqlCondition+
 | 
	
		
			
				|  |  |                     " )A ";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             String url = "http://172.19.103.134:10023/ykyy/jdbcSQLQuery";
 | 
	
		
			
				|  |  |             Map<String,Object> params = new HashedMap();
 | 
	
		
			
				|  |  |             params.put("sql",sql);
 | 
	
		
			
				|  |  |             HttpResponse response = HttpUtils.doGet(url,params);
 | 
	
		
			
				|  |  |             String content = response.getContent();
 | 
	
		
			
				|  |  |             logger.info("response:"+content);
 | 
	
		
			
				|  |  |             JSONObject rs = JSON.parseObject(content);
 | 
	
		
			
				|  |  |             Long total = 0l;//总bug数;
 | 
	
		
			
				|  |  |             Long resolveBugTotal=0l;//已解决BUG数
 | 
	
		
			
				|  |  |             Long unresolvedBugTotal=0l;//待解决BUG数
 | 
	
		
			
				|  |  |             Integer status = rs.getInteger("status");
 | 
	
		
			
				|  |  |             if(status!=null&&status == 200){
 | 
	
		
			
				|  |  |                 JSONArray array = rs.getJSONArray("detailModelList");
 | 
	
		
			
				|  |  |                 if (array!=null&&array.size()!=0){
 | 
	
		
			
				|  |  |                     total = array.stream().mapToLong(t ->((JSONObject)t).get("total") == null ? 0 :Long.parseLong(((JSONObject)t).getString("total"))).sum();
 | 
	
		
			
				|  |  |                     for (int i=0;i<array.size();i++){
 | 
	
		
			
				|  |  |                         JSONObject tmp = array.getJSONObject(i);
 | 
	
		
			
				|  |  |                         String bugStatus = tmp.getString("status");
 | 
	
		
			
				|  |  |                         Long statusTotal  =Long.parseLong(tmp.getString("total"));
 | 
	
		
			
				|  |  |                         if("resolve".equals(bugStatus)){
 | 
	
		
			
				|  |  |                             resolveBugTotal = statusTotal;
 | 
	
		
			
				|  |  |                         }else {
 | 
	
		
			
				|  |  |                             unresolvedBugTotal = statusTotal;
 | 
	
		
			
				|  |  |                         }
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             result.put("bugtotal",total);
 | 
	
		
			
				|  |  |             result.put("resolveBugTotal",resolveBugTotal);
 | 
	
		
			
				|  |  |             result.put("unresolvedBugTotal",unresolvedBugTotal);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         JSONObject result = new JSONObject();
 | 
	
		
			
				|  |  |         result.put("bugtotal",total);
 | 
	
		
			
				|  |  |         result.put("resolveBugTotal",resolveBugTotal);
 | 
	
		
			
				|  |  |         result.put("unresolvedBugTotal",unresolvedBugTotal);
 | 
	
		
			
				|  |  |         return result;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | }
 |