Просмотр исходного кода

[task-1704] 【设施】设施环境模块改进 / 【后端】设施环境总览接口

Li Yuan 2 лет назад
Родитель
Сommit
c6b48c5685

+ 30 - 10
ibps-provider-root/modules/provider-bpmn/src/main/java/com/lc/ibps/office/provider/BpmInitiatedProvider.java

@@ -9,6 +9,7 @@ import java.util.function.Function;
 
 import javax.annotation.Resource;
 
+import com.lc.ibps.base.core.util.Collections;
 import com.lc.ibps.base.framework.table.ICommonDao;
 import org.slf4j.event.Level;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -1465,6 +1466,10 @@ public class BpmInitiatedProvider extends GenericProvider implements IBpmInitiat
 			StopWatchUtil.stopAndStartNewLocal(localId, step, "my completed count");
 			ICommonDao<?> commonDao = AppUtil.getBean(ICommonDao.class);
 			String currentUserId = ContextUtil.getCurrentUserId();
+			List<Map<String,Object>> object3 =
+					(List<Map<String, Object>>) commonDao.query(" SELECT entity.parent_id_ as id_ FROM ibps_party_entity entity, ibps_party_employee em " +
+							" WHERE entity.party_type_='position' AND entity.depth_=3 AND em.id_=#{p0} AND FIND_IN_SET(entity.id_,em.positions_)" , new String[]{currentUserId});
+
 			try {
 //				final Infobox infobox = new Infobox();
 //				myCompleted(multiTaskType, name, executor, workerWrappers, list, infobox);
@@ -1502,11 +1507,18 @@ public class BpmInitiatedProvider extends GenericProvider implements IBpmInitiat
 				infobox2.setAlias("myDevices");
 				infobox2.setDataText("-1");
 				infobox2.setAccessToken(ContextUtil.getCurrentAccessToken());
-				List<Map<String,Object>> object3 =
-						(List<Map<String, Object>>) commonDao.query("SELECT COUNT(1) AS total FROM  t_mjsbwhbyjlby v,ibps_party_employee u " +
-								"	WHERE FIND_IN_SET(v.bian_zhi_bu_men_, u.positions_) AND u.id_=#{p0} " +
-								"	AND DATE(v.create_time_)=CURDATE() AND shi_fou_guo_shen_='待处理'", new String[]{currentUserId});
-				infobox2.setDataText(object3.get(0).get("total").toString());
+				if(Collections.isEmpty(object3)) {
+					List<Map<String, Object>> object4 =
+							(List<Map<String, Object>>) commonDao.query("SELECT COUNT(1) AS total FROM  t_mjsbwhbyjlby v,ibps_party_employee u " +
+									"	WHERE FIND_IN_SET(v.bian_zhi_bu_men_, u.positions_) AND u.id_=#{p0} " +
+									"	AND DATE(v.create_time_)=CURDATE() AND shi_fou_guo_shen_='待处理'", new String[]{currentUserId});
+					infobox2.setDataText(object4.get(0).get("total").toString());
+				}else{
+					List<Map<String, Object>> object4 =
+							(List<Map<String, Object>>) commonDao.query("SELECT COUNT(1) AS total FROM  t_mjsbwhbyjlby " +
+									"	WHERE di_dian_=#{p0} AND DATE(create_time_)=CURDATE() AND shi_fou_guo_shen_='待处理'", new String[]{(String)object3.get(0).get("id_")});
+					infobox2.setDataText(object4.get(0).get("total").toString());
+				}
 				list.add(infobox2);
 			} catch (Exception e) {
 				logger.error(e.getMessage(), e);
@@ -1524,11 +1536,19 @@ public class BpmInitiatedProvider extends GenericProvider implements IBpmInitiat
 				infobox2.setAlias("myFacility");
 				infobox2.setDataText("-1");
 				infobox2.setAccessToken(ContextUtil.getCurrentAccessToken());
-				List<Map<String,Object>> object3 =
-						(List<Map<String, Object>>) commonDao.query("SELECT COUNT(1) AS total" +
-								"	FROM v_facs_summary_daily facs, ibps_party_employee emp" +
-								"	WHERE shi_fou_guo_shen_='待处理' and FIND_IN_SET(bian_zhi_bu_men_,emp.positions_) AND emp.id_=#{p0}" , new String[]{currentUserId});
-				infobox2.setDataText(object3.get(0).get("total").toString());
+				if(Collections.isEmpty(object3)) {
+					List<Map<String, Object>> object4 =
+							(List<Map<String, Object>>) commonDao.query("SELECT COUNT(1) AS total" +
+									"	FROM v_facs_summary_daily facs, ibps_party_employee emp" +
+									"	WHERE shi_fou_guo_shen_='待处理' and FIND_IN_SET(bian_zhi_bu_men_,emp.positions_) AND emp.id_=#{p0}", new String[]{currentUserId});
+					infobox2.setDataText(object4.get(0).get("total").toString());
+				}else{
+					List<Map<String, Object>> object4 =
+							(List<Map<String, Object>>) commonDao.query("SELECT COUNT(1) AS total" +
+									"	FROM v_facs_summary_daily " +
+									"	WHERE shi_fou_guo_shen_='待处理' and  di_dian_=#{p0}", new String[]{(String)object3.get(0).get("id_")});
+					infobox2.setDataText(object4.get(0).get("total").toString());
+				}
 				list.add(infobox2);
 			} catch (Exception e) {
 				logger.error(e.getMessage(), e);

+ 12 - 2
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/business/service/impl/FacilityEnvironmentServiceImpl.java

@@ -32,10 +32,20 @@ public class FacilityEnvironmentServiceImpl implements FacilityEnvironmentServic
             buMen = result1.getData().stream().map(n -> n.getId()).collect(Collectors.joining(","));
 
         }
+        String sql = " SELECT parent_id_ as id_ FROM ibps_party_entity  WHERE party_type_='position' AND depth_=3 AND FIND_IN_SET(id_,'%s')";
+        List<Map<String,Object>> object3 =
+                (List<Map<String, Object>>) commonDao.query(String.format(sql,buMen));
+        if(Collections.isEmpty(object3)) {
+            String fetchSql =  "SELECT facs_type,pos.name_,COUNT(shi_fou_guo_shen_='待处理'  OR NULL ) AS todo,COUNT(shi_fou_guo_shen_='已完成'  OR NULL) AS done ,MAX(facs.pagePath) AS pagePath" +
+                    "   FROM v_facs_summary_daily, ibps_party_position pos,(SELECT DISTINCT pagePath,`type` FROM v_facs WHERE pagePath <>'') facs" +
+                    "   WHERE FIND_IN_SET(bian_zhi_bu_men_,'%s') AND bian_zhi_bu_men_=pos.id_ AND facs_type = facs.type" +
+                    "   GROUP BY facs_type,bian_zhi_bu_men_ ORDER BY facs_type;";
+            return (List<Map<String, Object>>)commonDao.query(String.format(fetchSql,buMen));
+        }
         String fetchSql =  "SELECT facs_type,pos.name_,COUNT(shi_fou_guo_shen_='待处理'  OR NULL ) AS todo,COUNT(shi_fou_guo_shen_='已完成'  OR NULL) AS done ,MAX(facs.pagePath) AS pagePath" +
                 "   FROM v_facs_summary_daily, ibps_party_position pos,(SELECT DISTINCT pagePath,`type` FROM v_facs WHERE pagePath <>'') facs" +
-                "   WHERE FIND_IN_SET(bian_zhi_bu_men_,'%s') AND bian_zhi_bu_men_=pos.id_ AND facs_type = facs.type" +
+                "   WHERE di_dian_='%s' AND bian_zhi_bu_men_=pos.id_ AND facs_type = facs.type" +
                 "   GROUP BY facs_type,bian_zhi_bu_men_ ORDER BY facs_type;";
-        return (List<Map<String, Object>>)commonDao.query(String.format(fetchSql,buMen));
+        return (List<Map<String, Object>>)commonDao.query(String.format(fetchSql,object3.get(0).get("id_")));
     }
 }