소스 검색

Merge remote-tracking branch 'origin/master'

wangbo 4 년 전
부모
커밋
0f1aad6f6c

+ 1 - 1
operation_manager/src/main/java/com/huaxu/client/UserCenterClient.java

@@ -21,5 +21,5 @@ public interface UserCenterClient {
 
 
     @PostMapping("/user/findUserIdsByUserIds")
-    List<UserEntity> findUserIdsByUserIds(Long[] ids);
+    List<UserEntity> findUserIdsByUserIds(@RequestParam("ids") Long[] ids);
 }

+ 2 - 0
operation_manager/src/main/java/com/huaxu/task/entity/UserEntity.java

@@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import com.huaxu.model.ProgramItem;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
 import javax.validation.constraints.NotNull;
 import java.io.Serializable;
@@ -17,6 +18,7 @@ import java.util.List;
  * @date 2020-10-22 17:35
  */
 @Data
+@NoArgsConstructor
 public class UserEntity implements Serializable {
 
     private static final long serialVersionUID = 1L;

+ 2 - 0
sms_water/src/main/java/com/huaxu/dao/DeviceParmMapper.java

@@ -81,4 +81,6 @@ public interface DeviceParmMapper  {
     List<DeviceParmEntity> selectDeviceBySceneIdAndType(@Param("info") DeviceParmEntity deviceParmEntity);
 
     List<ParmTypeCountDto> findAlarmCount(@Param("info") DeviceParmEntity deviceParmEntity);
+
+    List<ParmTypeCountDto> findAlarmTotalCount(@Param("info") DeviceParmEntity deviceParmEntity);
 }

+ 1 - 0
sms_water/src/main/java/com/huaxu/dto/ParmTypeCountDto.java

@@ -5,6 +5,7 @@ import lombok.Data;
 @Data
 public class ParmTypeCountDto {
     private Integer parmType;
+    private Long deviceId;
     private Integer totalCount;
     private Integer nbnormalCount;
 }

+ 2 - 0
sms_water/src/main/java/com/huaxu/service/DeviceParmService.java

@@ -89,4 +89,6 @@ public interface DeviceParmService {
     List<DeviceParmEntity> selectDeviceBySceneIdAndType(DeviceParmEntity deviceParmEntity);
 
     List<ParmTypeCountDto> findAlarmCount(DeviceParmEntity deviceParmEntity);
+
+    List<ParmTypeCountDto> findAlarmTotalCount(DeviceParmEntity deviceParmEntity);
 }

+ 6 - 9
sms_water/src/main/java/com/huaxu/service/SecSupplyService.java

@@ -191,16 +191,12 @@ public class SecSupplyService {
         DeviceParmEntity deviceParmEntity = new DeviceParmEntity();
         deviceParmEntity.setSceneEntities(sceneEntities);
         List<ParmTypeCountDto> list = deviceParmService.findAlarmCount(deviceParmEntity);
-        //余氯11 浊度9  PH7  cod 15   15,7,9,11,18,19
-        Integer totalCount = 0;
-        Integer nbNormalCount = 0;
+        //余氯11 浊度9  PH8  cod 15   15,8,9,11,18,19
         for(ParmTypeCountDto item : list)
         {
-            totalCount +=item.getTotalCount();
-            nbNormalCount+=item.getNbnormalCount();
             switch(item.getParmType())
             {
-                case 7:
+                case 8:
                     WaterPieStateDto waterPieStateDto1 = new WaterPieStateDto();
                     waterPieStateDto1.setNormalCount(item.getTotalCount()- item.getNbnormalCount());
                     waterPieStateDto1.setNbnormalCount(item.getNbnormalCount());
@@ -225,10 +221,11 @@ public class SecSupplyService {
                     break;
             }
         }
+        List<ParmTypeCountDto> listTotal = deviceParmService.findAlarmTotalCount(deviceParmEntity);
         WaterPieStateDto waterPieStateDto4 = new WaterPieStateDto();
-        waterPieStateDto4.setNormalCount(totalCount- nbNormalCount);
-        waterPieStateDto4.setNbnormalCount(nbNormalCount);
-        waterPieStateDto4.setPercentage((double) (Math.round((Double.valueOf(totalCount- nbNormalCount)/Double.valueOf(totalCount))*100)));
+        waterPieStateDto4.setNormalCount(listTotal.get(0).getTotalCount()- listTotal.get(0).getNbnormalCount());
+        waterPieStateDto4.setNbnormalCount(listTotal.get(0).getNbnormalCount());
+        waterPieStateDto4.setPercentage((double) (Math.round((Double.valueOf(listTotal.get(0).getTotalCount()- listTotal.get(0).getNbnormalCount())/Double.valueOf(listTotal.get(0).getTotalCount()))*100)));
         waterPieDto.setWaterQuality(waterPieStateDto4);
         return waterPieDto;
     }

+ 6 - 0
sms_water/src/main/java/com/huaxu/service/impl/DeviceParmServiceImpl.java

@@ -14,6 +14,7 @@ import com.huaxu.service.DeviceParmService;
 import com.huaxu.service.DeviceSceneService;
 import com.huaxu.service.SceneService;
 import com.huaxu.util.UserUtil;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -225,4 +226,9 @@ public class DeviceParmServiceImpl  implements DeviceParmService {
     public List<ParmTypeCountDto> findAlarmCount(DeviceParmEntity deviceParmEntity) {
         return deviceParmMapper.findAlarmCount(deviceParmEntity);
     }
+    public List<ParmTypeCountDto> findAlarmTotalCount(DeviceParmEntity deviceParmEntity)
+    {
+        return deviceParmMapper.findAlarmTotalCount(deviceParmEntity);
+    }
+
 }

+ 18 - 1
sms_water/src/main/resources/mapper/DeviceParmMapper.xml

@@ -253,7 +253,7 @@
         select b.PARM_TYPE as "parmType",count(a.DEVICE_ID) as "totalCount",count(c.id) as "nbnormalCount"
         from sms_device_scene a
         INNER JOIN sms_device_parm b on a.DEVICE_ID=b.DEVICE_ID
-               and a.PARENT_SCENE_ID=b.PARENT_SCENE_ID and b.PARM_TYPE in (15,7,9,11,18,19) and b.`STATUS`=1
+               and a.PARENT_SCENE_ID=b.PARENT_SCENE_ID and b.PARM_TYPE in (15,8,9,11,18,19) and b.`STATUS`=1
         LEFT JOIN  sms_alarm_details c on c.PARENT_SCENE_ID=b.PARENT_SCENE_ID
                and c.ATTRIBUTE_ID=b.ATTRIBUTE_ID and c.STATE=1
         where a.PARENT_SCENE_ID in
@@ -264,4 +264,21 @@
         a.`STATUS`=1
         group by b.PARM_TYPE
     </select>
+    <select id="findAlarmTotalCount" resultType="com.huaxu.dto.ParmTypeCountDto">
+        select count(1) as "totalCount" ,sum(tab.nbnormalCount) as "nbnormalCount" from(
+        select a.PARENT_SCENE_ID,a.DEVICE_ID as "deviceId",case when count(c.id)>0 then 1 else 0 end  as "nbnormalCount"
+        from sms_device_scene a
+        INNER JOIN sms_device_parm b on a.DEVICE_ID=b.DEVICE_ID
+        and a.PARENT_SCENE_ID=b.PARENT_SCENE_ID and b.PARM_TYPE in (15,8,9,11,18,19) and b.`STATUS`=1
+        LEFT JOIN  sms_alarm_details c on c.PARENT_SCENE_ID=b.PARENT_SCENE_ID
+        and c.ATTRIBUTE_ID=b.ATTRIBUTE_ID and c.STATE=1
+        where a.PARENT_SCENE_ID in
+        <foreach collection="info.sceneEntities" item="dramaId" open="(" close=")" separator=",">
+            #{dramaId.id}
+        </foreach>
+        and
+        a.`STATUS`=1
+        group by a.PARENT_SCENE_ID,a.DEVICE_ID
+        ) as tab
+    </select>
 </mapper>

+ 1 - 1
sms_water/src/main/resources/mapper/MonitorDataReportMapper.xml

@@ -1171,7 +1171,7 @@
 
             where s.`STATUS`=1 and st.SCENE_TYPE_NAME = '水厂' and s.TENANT_ID =#{tenantId}
             <if test="parmType != null and  parmType == -1">
-                and dp.PARM_TYPE in (15,7,9,11,18,19)
+                and dp.PARM_TYPE in (15,8,9,11,18,19)
             </if>
             <if test="parmType != null and  parmType != -1">
                 and dp.PARM_TYPE = #{parmType}

+ 9 - 7
user_center/src/main/java/com/huaxu/controller/UserController.java

@@ -280,14 +280,16 @@ public class UserController {
     }
     @RequestMapping(value = "/findUserIdsByUserIds", method = RequestMethod.POST)
     @ResponseBody
-    public Map<Long,String> findUserIdsByUserIds(Long[] ids) {
+    public List<UserEntity> findUserIdsByUserIds(Long[] ids) {
         List list = Arrays.asList(ids.clone());
         List<UserEntity> result = userService.findUserIdsByUserIds(list);
-        Map<Long,String> userInfos = new HashMap<>();
-        for(UserEntity item : result)
-        {
-            userInfos.put(item.getId(),item.getUsername());
-        }
-        return  userInfos;
+        return  result;
+    }
+    @ApiOperation(value = "获取登录用户所属机构及其上级机构用户信息")
+    @RequestMapping(value = "/findUserIdsForOrg", method = RequestMethod.GET)
+    @ResponseBody
+    public AjaxMessage<List<UserEntity>> findUserIdsForOrg() {
+        List<UserEntity> result = userService.findUserIdsForOrg();
+        return new AjaxMessage<>(ResultStatus.OK,result);
     }
 }

+ 2 - 0
user_center/src/main/java/com/huaxu/dao/UserMapper.java

@@ -38,5 +38,7 @@ public interface UserMapper extends BaseMapper<UserEntity> {
 
     List<UserEntity> findUserList(@Param("user")UserEntity userEntity);
 
+    List<UserEntity> findUserIdsForOrg(@Param("compayId")Integer compayId, @Param("deptId")Integer deptId);
+
     /**删除相关方法  使用mybatis-plus集成的 **/
 }

+ 2 - 0
user_center/src/main/java/com/huaxu/entity/UserEntity.java

@@ -8,6 +8,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import com.huaxu.model.ProgramItem;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
 import java.beans.Transient;
 import java.io.Serializable;
@@ -21,6 +22,7 @@ import java.util.List;
  */
 @Data
 @TableName("uims_user")
+@NoArgsConstructor
 public class UserEntity implements Serializable {
 
     private static final long serialVersionUID = 1L;

+ 8 - 0
user_center/src/main/java/com/huaxu/service/UserService.java

@@ -337,4 +337,12 @@ public class UserService extends ServiceImpl<UserMapper,UserEntity> {
 		}
 		return userEntities;
 	}
+
+    public List<UserEntity> findUserIdsForOrg() {
+		LoginUser currentUser = UserUtil.getCurrentUser();
+		Integer compayId = currentUser.getCompanyId();
+		Integer deptId = currentUser.getDepartmentId();
+		List<UserEntity> list = userMapper.findUserIdsForOrg(compayId,deptId);
+		return list;
+	}
 }

+ 15 - 0
user_center/src/main/resources/mapper/UserMapper.xml

@@ -213,4 +213,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{item}
         </foreach>
     </select>
+    <select id="findUserIdsForOrg"  resultType="com.huaxu.entity.UserEntity">
+        SELECT
+        <include refid="userColumns"/>
+        FROM uims_user a
+        <include refid="sysAreaJoins"/>
+        where a.status=1
+        and (1=1
+        <if test="compayId != null and compayId != ''">
+          or  a.COMPANY_ORG_ID = #{compayId}
+        </if>
+        <if test="deptId != null and deptId != ''">
+           or a.DEPT_ORG_ID = #{deptId}
+        </if>
+        )
+    </select>
 </mapper>