Explorar o código

Merge remote-tracking branch 'origin/master'

wangbo %!s(int64=4) %!d(string=hai) anos
pai
achega
c6cd603e4b

+ 4 - 1
operation_manager/src/main/java/com/huaxu/common/MimeType.java

@@ -21,7 +21,10 @@ public class MimeType {
             //许可证书
             "lic",
             // pdf
-            "pdf"};
+            "pdf",
+            //视频
+            "mp4","avi","rm","mov","qt"
+    };
 
     public static String getExtension(String urlPrefix) {
         switch (urlPrefix) {

+ 1 - 0
operation_manager/src/main/java/com/huaxu/config/ResourceServerConfig.java

@@ -18,6 +18,7 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
                 .authorizeRequests()
                 .antMatchers("/swagger-ui.html","/webjars/**", "/webjars/**", "/swagger-resources/**",
                        "/webSocket/**","/message/sendToOne","/messageTemplate/**","/messageType/**",
+                        "/order/workOrderManage/saveByAlarms",
                         "/v2/**")
                 .permitAll() //配置不需要身份认证的请求路径
                // .anyRequest().authenticated() //其他所有访问路径都需要身份认证

+ 3 - 0
operation_manager/src/main/java/com/huaxu/order/dao/WorkOrderManageMapper.java

@@ -1,5 +1,6 @@
 package com.huaxu.order.dao;
 
+import com.huaxu.order.dto.WorkOrderManageByAlarmDto;
 import com.huaxu.order.dto.WorkOrderManageDto;
 import com.huaxu.order.entity.WorkOrderManage;
 import org.apache.ibatis.annotations.Mapper;
@@ -26,4 +27,6 @@ public interface WorkOrderManageMapper {
     List<WorkOrderManageDto> selectAppAll( @Param("userId")Integer userId,@Param("tenantId")String tenantId);
 
     List<WorkOrderManageDto> selectOrderDetail(Integer id);
+
+    int batchInsertByAlarms(@Param("workOrderManages")List<WorkOrderManageByAlarmDto> workOrderManages);
 }

+ 45 - 0
operation_manager/src/main/java/com/huaxu/order/dto/WorkOrderManageByAlarmDto.java

@@ -0,0 +1,45 @@
+package com.huaxu.order.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@ApiModel(value = "报警信息生成的工单信息")
+@Data
+public class WorkOrderManageByAlarmDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "报警信息id")
+    private Long id;
+
+    @ApiModelProperty(value = "报警信息id")
+    private Long alarmId;
+
+    @ApiModelProperty(value = "设备id")
+    private Long deviceId;
+
+    @ApiModelProperty(value = "租户id")
+    private String tenantId;
+
+    @ApiModelProperty(value = "工单描述")
+    private String taskDesc;
+
+    @ApiModelProperty(value = "地址")
+    private String address;
+
+    @ApiModelProperty(value = "报警时间")
+    private String orderTime;
+
+    @ApiModelProperty(value = "公司机构id")
+    private String companyOrgId;
+
+    @ApiModelProperty(value = "部门机构id")
+    private String departmentOrgId;
+
+    @ApiModelProperty(value = "经纬度")
+    private String geo;
+
+}

+ 5 - 0
operation_manager/src/main/java/com/huaxu/order/service/WorkOrderManageService.java

@@ -1,6 +1,7 @@
 package com.huaxu.order.service;
 
 
+import com.huaxu.order.dto.WorkOrderManageByAlarmDto;
 import com.huaxu.order.dto.WorkOrderManageDto;
 import com.huaxu.order.entity.WorkOrderManage;
 import com.huaxu.task.entity.PlanManage;
@@ -37,4 +38,8 @@ public interface WorkOrderManageService {
      */
     List<WorkOrderManageDto> selectOrderDetail(Integer id);
 
+    /**
+     * 批量插入工单信息(报警生成的)
+     */
+    Integer batchInsertByAlarms(List<WorkOrderManageByAlarmDto> workOrderManages);
 }

+ 8 - 0
operation_manager/src/main/java/com/huaxu/order/service/impl/WorkOrderManageServiceImpl.java

@@ -2,6 +2,7 @@ package com.huaxu.order.service.impl;
 
 import com.huaxu.model.LoginUser;
 import com.huaxu.order.dao.WorkOrderManageMapper;
+import com.huaxu.order.dto.WorkOrderManageByAlarmDto;
 import com.huaxu.order.dto.WorkOrderManageDto;
 import com.huaxu.order.entity.WorkOrderManage;
 import com.huaxu.order.service.WorkOrderManageService;
@@ -74,4 +75,11 @@ public class WorkOrderManageServiceImpl implements WorkOrderManageService {
     public List<WorkOrderManageDto> selectOrderDetail(Integer id) {
         return workOrderManageMapper.selectOrderDetail(id);
     }
+    /**
+     * 批量插入工单信息(报警生成的)
+     */
+    @Override
+    public Integer batchInsertByAlarms(List<WorkOrderManageByAlarmDto> workOrderManages) {
+        return workOrderManageMapper.batchInsertByAlarms(workOrderManages);
+    }
 }

+ 8 - 0
operation_manager/src/main/resources/mapper/order/WorkOrderManageMapper.xml

@@ -454,4 +454,12 @@
     where t1.id = #{id,jdbcType=INTEGER} or t1.order_pid = #{orderPid,jdbcType=INTEGER}
     order by t1.order_pid
   </select>
+
+  <insert id="batchInsertByAlarms" parameterType="com.huaxu.order.entity.WorkOrderManage" keyProperty="id" useGeneratedKeys="true">
+  insert into sc_work_order_manage( task_no, task_desc, address, order_time, company_org_id, department_org_id, order_status, event_type, order_pid, tenant_id, current_task_name, create_by,  date_create, update_by, date_update, geo)
+ values
+  <foreach collection="workOrderManages" item="item" index="index" separator=",">
+    (CONCAT(DATE_FORMAT(now(), '%Y%m%d%H%i%s'),FLOOR(RAND()*8999)+1000) , #{item.taskDesc}, #{item.address}, #{item.orderTime}, #{item.companyOrgId}, #{item.departmentOrgId}, 0, 3, 0, #{item.tenantId}, '设备报警工单', 'system',  now(), 'system', now(), #{item.geo})
+  </foreach>
+  </insert>
 </mapper>

+ 10 - 8
sms_water/src/main/java/com/huaxu/service/SecSupplyService.java

@@ -190,9 +190,13 @@ public class SecSupplyService {
         DeviceParmEntity deviceParmEntity = new DeviceParmEntity();
         deviceParmEntity.setSceneEntities(sceneEntities);
         List<ParmTypeCountDto> list = deviceParmService.findAlarmCount(deviceParmEntity);
-        //余氯11 浊度9  PH7  cod 15
+        //余氯11 浊度9  PH7  cod 15   15,7,9,11,18,19
+        Integer totalCount = 0;
+        Integer nbNormalCount = 0;
         for(ParmTypeCountDto item : list)
         {
+            totalCount +=item.getTotalCount();
+            nbNormalCount+=item.getNbnormalCount();
             switch(item.getParmType())
             {
                 case 7:
@@ -218,15 +222,13 @@ public class SecSupplyService {
                     waterPieStateDto3.setPercentage((double) (Math.round((Double.valueOf(item.getTotalCount()- item.getNbnormalCount())/Double.valueOf(item.getTotalCount()))*100)));
                     waterPieDto.setResidualChlorine(waterPieStateDto3);
                     break;
-                case 15:
-                    WaterPieStateDto waterPieStateDto4 = new WaterPieStateDto();
-                    waterPieStateDto4.setNormalCount(item.getTotalCount()- item.getNbnormalCount());
-                    waterPieStateDto4.setNbnormalCount(item.getNbnormalCount());
-                    waterPieStateDto4.setPercentage((double) (Math.round((Double.valueOf(item.getTotalCount()- item.getNbnormalCount())/Double.valueOf(item.getTotalCount()))*100)));
-                    waterPieDto.setWaterQuality(waterPieStateDto4);
-                    break;
             }
         }
+        WaterPieStateDto waterPieStateDto4 = new WaterPieStateDto();
+        waterPieStateDto4.setNormalCount(totalCount- nbNormalCount);
+        waterPieStateDto4.setNbnormalCount(nbNormalCount);
+        waterPieStateDto4.setPercentage((double) (Math.round((Double.valueOf(totalCount- nbNormalCount)/Double.valueOf(totalCount))*100)));
+        waterPieDto.setWaterQuality(waterPieStateDto4);
         return waterPieDto;
     }
 }

+ 3 - 5
sms_water/src/main/resources/mapper/DeviceParmMapper.xml

@@ -158,9 +158,7 @@
             <if test="isArtwork != null ">
                 IS_ARTWORK = #{isArtwork},
             </if>
-            <if test="remark != null and remark != '' ">
-                REMARK = #{remark},
-            </if>
+            REMARK = #{remark},
             parm_type = #{parmType},
             <if test="seq != null and seq != '' ">
                 SEQ = #{seq},
@@ -245,7 +243,7 @@
         select  a.DEVICE_ID as "deviceId",b.DEVICE_CODE as "deviceCode",a.ATTRIBUTE_ID  as "attributeId"
         from sms_device_parm a
         inner join sms_device b on a.DEVICE_ID=b.id
-        where a.PARM_TYPE=#{info.parmType}
+        where a.PARM_TYPE=#{info.parmType} and b.`STATUS`=1
         and a.PARENT_SCENE_ID in
         <foreach collection="info.sceneEntities" item="dramaId" open="(" close=")" separator=",">
             #{dramaId.id}
@@ -255,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 (7,9,11,15)
+               and a.PARENT_SCENE_ID=b.PARENT_SCENE_ID and b.PARM_TYPE in (15,7,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

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

@@ -632,7 +632,7 @@
     left join sms_scene s on s.SCENE_TYPE_ID =st.id
     left join sms_device_scene ds on ds.SCENE_ID=s.ID
     left join sms_device d on d.id=ds.DEVICE_ID
-    where st.SCENE_TYPE_NAME=#{sceneTypeName} and d.`STATUS`= 1 and  d.ENABLE_STATE = 1
+    where st.SCENE_TYPE_NAME=#{sceneTypeName} and d.`STATUS`= 1 and  d.ENABLE_STATE = 1 and  ds.status=1
     <if test="tenantId != null and tenantId != '' ">
         and d.tenant_id = #{tenantId}
     </if>
@@ -881,7 +881,7 @@
 
     <!-- 概览页 -->
     <select id="selectDeviceCode" resultType="java.lang.String">
-        select DEVICE_CODE from sms_device
+        select DEVICE_CODE from sms_device d
         where STATUS =1 and ENABLE_STATE =1  and TENANT_ID=#{tenantId}
         <if test="userType!=null and userType!=-999 and userType!=-9999 and  programItems != null and programItems.size() > 0">
             <if test="permissonType == 5 or permissonType == 2">

+ 10 - 7
sms_water/src/main/resources/mapper/OnlineMonitorMapper.xml

@@ -307,10 +307,13 @@
     </select>
     <!--按管网名称分类查询设备数量-->
     <select id="selectDeviceCount" resultType="java.util.Map">
-        select  t1.id sceneId,t1.scene_name sceneName,sum(if(t5.id is null,0,1)) deviceCount
+        select  t1.id sceneId,t1.scene_name sceneName,sum(if(t5.id is null,0,1)) deviceCount,sum(if(t7.device_id is null,0,1)) alarmCount
         from sms_scene t1
-        <include refid="deviceLeftJoins"/>
-        where t1.parent_scene_id = 0 and t1. status = 1 and t1. enable_state = 1 and t3.scene_type_name = '管网'
+        <include refid="deviceInnerJoins"/>
+        left join(
+            select a1.scene_id, a1.device_id from sms_alarm_details a1 where a1.`status` = 1 and a1.state = 1 group by a1.scene_id, a1.device_id
+        )t7 on t7.scene_id=t2.scene_id and t7.device_id=t2.device_id
+        where t1.parent_scene_id = 0 and t1. status = 1 and t1. enable_state = 1 and t3.scene_type_name = '管网' and t5.scene_type_name = #{sceneTypeName}
         <if test="sceneIds != null and sceneIds.size() > 0">
             and t1.id  in
             <foreach collection="sceneIds" item="item" open="(" close=")" separator=",">
@@ -336,7 +339,7 @@
         left join sms_device_parm t2 on t2.device_id=t1.id and t2.is_map=1 and t2.status=1
         left join sms_device_attribute t3 on t2.attribute_id=t3.id and t3.status=1
         left join (
-        select a1.device_id,count(1) alarm_count from sms_alarm_details a1 where a1.device_id= #{deviceId} and a1.`status` = 1 and a1.state = 1
+            select a1.device_id,count(1) alarm_count from sms_alarm_details a1 where a1.device_id= #{deviceId} and a1.`status` = 1 and a1.state = 1
         )t4 on t4.device_id=t1.id
         left join sms_alarm_details t6 on t6.device_id=t1.id and t6.attribute_id=t2.attribute_id and t6.status = 1 and t6.state=1
         where t1. status = 1 and t1. enable_state = 1 and t1.id= #{deviceId}
@@ -348,7 +351,7 @@
         from sms_scene t1
         <include refid="deviceInnerJoins"/>
         left join(
-         select a1.scene_id, a1.device_id from sms_alarm_details a1 where a1.`status` = 1 and a1.state = 1 group by a1.scene_id, a1.device_id
+            select a1.scene_id, a1.device_id from sms_alarm_details a1 where a1.`status` = 1 and a1.state = 1 group by a1.scene_id, a1.device_id
         )t7 on t7.scene_id=t2.scene_id and t7.device_id=t2.device_id
         where t1.parent_scene_id = 0 and t1. status = 1 and t1. enable_state = 1 and t3.scene_type_name = '管网'
         <choose>
@@ -470,7 +473,7 @@
         from sms_scene t1
         <include refid="deviceInnerJoins"/>
         left join(
-        select a1.scene_id, a1.device_id ,count(1) alarm_count from sms_alarm_details a1 where a1.`status` = 1 and a1.state = 1 group by a1.scene_id, a1.device_id
+            select a1.scene_id, a1.device_id ,count(1) alarm_count from sms_alarm_details a1 where a1.`status` = 1 and a1.state = 1 group by a1.scene_id, a1.device_id
         )t7 on t7.scene_id=t2.scene_id and t7.device_id=t2.device_id
         where t1.parent_scene_id = 0 and t1. status = 1 and t1. enable_state = 1 and t3.scene_type_name = '管网' and t5.scene_type_name = #{onlineDataDto.sceneTypeName}
         <if test="onlineDataDto.sceneIds != null and onlineDataDto.sceneIds.size() > 0">
@@ -524,7 +527,7 @@
         from sms_scene t1
         <include refid="sceneDeviceJoins"/>
         inner join sms_month_report t8 on t8.device_id=t2.device_id and t8.attribute_id =t5.attribute_id
-        and t8.year = year(now() + interval-1 day) and t8.month = month(now() + interval-1 day) and t8.day = day(now() + interval-1 day)
+            and t8.year = year(now() + interval-1 day) and t8.month = month(now() + interval-1 day) and t8.day = day(now() + interval-1 day)
         where t1.parent_scene_id = 0 and t1. status = 1 and t5.parm_type in(3) and t3.scene_type_name = '水厂'
         <if test="sceneIds != null and sceneIds.size() > 0">
             and t1.id  in

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

@@ -272,7 +272,7 @@ public class UserController {
         List<UserEntity> result = userService.findUserIdsByOrgId(list);
         return new AjaxMessage<>(ResultStatus.OK,result);
     }
-    @RequestMapping(value = "/findUserList", method = RequestMethod.POST)
+    @RequestMapping(value = "/findUserList", method = RequestMethod.GET)
     @ResponseBody
     public AjaxMessage<List<UserListDto>> findUserList() {
         List<UserListDto> userList = userService.findUserList();