dcs 3 maanden geleden
bovenliggende
commit
c84f2667e6

+ 6 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/controller/ReminderController.java

@@ -131,5 +131,11 @@ public class ReminderController {
         return Response.ok();
     }
 
+    @ApiOperation("项目工作台-事件提醒")
+    @RequestMapping(value = "/count/{projectId}", method = RequestMethod.GET)
+    public Response projectCount(@PathVariable long projectId) {
+        return Response.ok(reminderService.projectCount(projectId));
+    }
+
 
 }

+ 6 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/controller/WorkOrderController.java

@@ -110,4 +110,10 @@ public class WorkOrderController {
         return Response.ok();
     }
 
+    @ApiOperation("项目工作台-内部工单-外部工单")
+    @RequestMapping(value = "/count/{projectId}", method = RequestMethod.GET)
+    public Response projectCount(@PathVariable long projectId) {
+        return Response.ok(workOrderService.projectCount(projectId));
+    }
+
 }

+ 3 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/dao/ReminderDao.java

@@ -5,6 +5,7 @@ import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 @Mapper
 public interface ReminderDao {
@@ -25,4 +26,6 @@ public interface ReminderDao {
 
     List<Reminder> getLimit(@Param("p") Reminder p, @Param("currIndex") int currIndex, @Param("pageSize") int pageSize);
 
+    Map<String, Object> projectCount(long projectId);
+
 }

+ 2 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/dao/RemoteReminderDao.java

@@ -23,4 +23,6 @@ public interface RemoteReminderDao {
 
     List<RemoteReminder> getLimit(@Param("p") RemoteReminder p, @Param("currIndex") int currIndex, @Param("pageSize") int pageSize);
 
+    int projectCount(long projectId);
+
 }

+ 3 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/dao/WorkOrderDao.java

@@ -5,6 +5,7 @@ import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 @Mapper
 public interface WorkOrderDao {
@@ -22,4 +23,6 @@ public interface WorkOrderDao {
     List<WorkOrder> getList(WorkOrder workOrder);
 
     WorkOrder get(long id);
+
+    Map<String, Object> projectCount(@Param("projectId") long projectId, @Param("types") String types);
 }

+ 6 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/operate/controller/OperateDeviceController.java

@@ -82,5 +82,11 @@ public class OperateDeviceController {
         return Response.ok();
     }
 
+    @ApiOperation("项目工作台-设备管理")
+    @RequestMapping(value = "/count/{projectId}", method = RequestMethod.GET)
+    public Response projectCount(@PathVariable long projectId) {
+        return Response.ok(operateDeviceService.projectCount(projectId));
+    }
+
 
 }

+ 3 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/operate/dao/OperateDeviceDao.java

@@ -5,6 +5,7 @@ import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 @Mapper
 public interface OperateDeviceDao {
@@ -26,4 +27,6 @@ public interface OperateDeviceDao {
     List<OperateDevice> getDeviceLevelIds(List<Long> list);
 
     List<OperateDevice> getIds(List<Long> list);
+
+    Map<String, Object> projectCount(long projectId);
 }

+ 11 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/operate/service/OperateDeviceService.java

@@ -5,6 +5,7 @@ import com.bosshand.virgo.api.operate.dao.OperateDeviceEventDao;
 import com.bosshand.virgo.api.operate.model.OperateDevice;
 import com.bosshand.virgo.api.operate.model.OperateDeviceCountState;
 import com.bosshand.virgo.api.operate.model.OperateDeviceEvent;
+import com.bosshand.virgo.api.test.dao.GiveAlarmDao;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -22,6 +23,9 @@ public class OperateDeviceService {
     @Autowired
     OperateDeviceEventDao operateDeviceEventDao;
 
+    @Autowired
+    GiveAlarmDao giveAlarmDao;
+
     public int save(OperateDevice operateDevice) {
         return operateDeviceDao.save(operateDevice);
     }
@@ -138,4 +142,11 @@ public class OperateDeviceService {
         return ids;
     }
 
+    public Map<String, Object> projectCount(long projectId) {
+        Map<String, Object> map = new HashMap<>();
+        map.put("device",operateDeviceDao.projectCount(projectId));
+        map.put("alarm", giveAlarmDao.projectCount(projectId));
+        return map;
+    }
+
 }

+ 8 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/service/ReminderService.java

@@ -16,6 +16,7 @@ import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 @Service
 public class ReminderService {
@@ -187,5 +188,12 @@ public class ReminderService {
         return remoteReminderDao.delete(id);
     }
 
+    public Map<String, Object> projectCount(long projectId) {
+        Map<String, Object> map = reminderDao.projectCount(projectId);
+        int number = remoteReminderDao.projectCount(projectId);
+        map.put("remoteNumber", number);
+        return map;
+    }
+
 
 }

+ 7 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/service/WorkOrderService.java

@@ -80,4 +80,11 @@ public class WorkOrderService {
         return workOrderProcessDao.delete(id);
     }
 
+    public Map<String, Object> projectCount(long projectId) {
+        Map<String, Object> map = new HashMap<>();
+        map.put("external", workOrderDao.projectCount(projectId, "1,2"));
+        map.put("internal", workOrderDao.projectCount(projectId, "3,4"));
+        return map;
+    }
+
 }

+ 3 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/test/dao/GiveAlarmDao.java

@@ -4,6 +4,7 @@ import com.bosshand.virgo.api.test.model.GiveAlarm;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
+import java.util.Map;
 
 @Mapper
 public interface GiveAlarmDao {
@@ -11,4 +12,6 @@ public interface GiveAlarmDao {
     List<GiveAlarm> get(GiveAlarm b);
 
     void save(GiveAlarm b);
+
+    Map<String, Object> projectCount(long projectId);
 }

+ 8 - 0
virgo.api/src/main/resources/mapper/GiveAlarmMapper.xml

@@ -68,4 +68,12 @@
         values (#{projectId}, #{projectItemId}, #{projectItemTargetId}, #{projectItemTargetRoomId}, #{organizationId}, #{organizationName}, #{deviceId}, #{deviceName}, now(), #{type}, #{info}, #{state})
     </insert>
 
+    <select id="projectCount" resultType="map">
+        SELECT COUNT(`id`) as totalNumber,
+               COUNT(if(`state`=2,true,null)) as handledNumber,
+               COUNT(if(`state`!=2,true,null)) as unhandledNumber,
+               COUNT(if(DATE(date) = CURDATE(),true,null)) as dayNumber
+        FROM test_b WHERE projectId = #{projectId}
+    </select>
+
 </mapper>

+ 7 - 1
virgo.api/src/main/resources/mapper/OperateDeviceMapper.xml

@@ -219,7 +219,13 @@
         </choose>
     </select>
 
-
+    <select id="projectCount" resultType="map">
+        SELECT COUNT(`id`) as totalNumber,
+               COUNT(if(`state`=1,true,null)) as onLineNumber,
+               COUNT(if(`state`=0,true,null)) as offLineNumber,
+               COUNT(if(`state`=2,true,null)) as faultNumber
+        FROM operate_device WHERE projectId = #{projectId} and type = 1
+    </select>
 
 
 </mapper>

+ 7 - 0
virgo.api/src/main/resources/mapper/ReminderMapper.xml

@@ -156,4 +156,11 @@
         limit #{currIndex} , #{pageSize}
     </select>
 
+    <select id="projectCount" resultType="map">
+        SELECT COUNT(if(`type`=1,true,null)) as importantNumber,
+               COUNT(if(`type`=2,true,null)) as meetingNumber,
+               COUNT(if(`type`=3,true,null)) as seeRoomNumber
+        FROM reminder WHERE projectId = #{projectId}
+    </select>
+
 </mapper>

+ 4 - 0
virgo.api/src/main/resources/mapper/RemoteReminderMapper.xml

@@ -110,4 +110,8 @@
         limit #{currIndex} , #{pageSize}
     </select>
 
+    <select id="projectCount" parameterType="com.bosshand.virgo.api.model.RemoteReminder" resultType="Integer">
+        SELECT count(*) FROM remote_reminder where projectId = #{projectId}
+    </select>
+
 </mapper>

+ 5 - 0
virgo.api/src/main/resources/mapper/WorkOrderMapper.xml

@@ -162,4 +162,9 @@
         </where>
     </select>
 
+    <select id="projectCount" resultType="map">
+        SELECT COUNT(`id`) as totalNumber, COUNT(if(`status`=3,true,null)) as completedNumber, COUNT(if(`status`!=3,true,null)) as incompleteNumber
+        FROM work_order WHERE projectId = #{projectId} and type in (${types})
+    </select>
+
 </mapper>

+ 1 - 1
virgo.manager/src/main/java/com/bosshand/virgo/controller/ClientController.java

@@ -132,7 +132,7 @@ public class ClientController {
     }
 
     @ApiOperation("项目工作台-客户管理")
-    @RequestMapping(value = "/count/{projectId}", method = RequestMethod.POST)
+    @RequestMapping(value = "/count/{projectId}", method = RequestMethod.GET)
     public Response projectCount(@PathVariable long projectId) {
         return Response.ok(clientService.projectCount(projectId));
     }