瀏覽代碼

Merge remote-tracking branch 'origin/master'

wangyangyang 4 年之前
父節點
當前提交
00c2378279
共有 18 個文件被更改,包括 272 次插入78 次删除
  1. 110 18
      operation_manager/src/main/java/com/huaxu/order/controller/WorkOrderManageController.java
  2. 3 0
      operation_manager/src/main/java/com/huaxu/order/dao/WorkOrderManageMapper.java
  3. 12 0
      operation_manager/src/main/java/com/huaxu/order/dto/WorkOrderManageDto.java
  4. 6 0
      operation_manager/src/main/java/com/huaxu/order/entity/WorkFlowDetail.java
  5. 6 0
      operation_manager/src/main/java/com/huaxu/order/entity/WorkFlowLog.java
  6. 7 0
      operation_manager/src/main/java/com/huaxu/order/service/WorkOrderManageService.java
  7. 6 0
      operation_manager/src/main/java/com/huaxu/order/service/impl/WorkOrderManageServiceImpl.java
  8. 64 10
      operation_manager/src/main/java/com/huaxu/task/controller/PlanManageController.java
  9. 1 1
      operation_manager/src/main/java/com/huaxu/task/entity/TaskManage.java
  10. 13 7
      operation_manager/src/main/resources/mapper/order/WorkOrderManageMapper.xml
  11. 8 8
      sms_water/src/main/java/com/huaxu/dto/generalView/DeviceWaterAmount.java
  12. 1 1
      sms_water/src/main/java/com/huaxu/dto/generalView/DeviceWaterDetail.java
  13. 1 1
      sms_water/src/main/java/com/huaxu/dto/generalView/DeviceWaterSupply.java
  14. 1 1
      sms_water/src/main/java/com/huaxu/dto/generalView/SceneWaterAmount.java
  15. 8 15
      sms_water/src/main/java/com/huaxu/dto/generalView/SceneWaterPressure.java
  16. 3 3
      sms_water/src/main/java/com/huaxu/dto/generalView/WaterSupplyChart.java
  17. 10 6
      sms_water/src/main/java/com/huaxu/rabbitmq/ReceiveData.java
  18. 12 7
      sms_water/src/main/java/com/huaxu/service/impl/AlarmDetailsServiceImpl.java

+ 110 - 18
operation_manager/src/main/java/com/huaxu/order/controller/WorkOrderManageController.java

@@ -23,10 +23,12 @@ import com.huaxu.process.entity.ProcessDefinition;
 import com.huaxu.process.service.WorkFlowService;
 import com.huaxu.process.utils.Action;
 import com.huaxu.task.entity.PlanManage;
+import com.huaxu.task.entity.UserEntity;
 import com.huaxu.task.service.PlanManageService;
 import com.huaxu.util.DatesUtil;
 import com.huaxu.util.MessageSendUtil;
 import com.huaxu.util.UserUtil;
+import com.sun.corba.se.spi.orbutil.threadpool.Work;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -39,6 +41,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
 import java.util.*;
+import java.util.stream.Collectors;
 
 @RestController
 @RequestMapping("/order/workOrderManage")
@@ -123,12 +126,7 @@ public class WorkOrderManageController {
     @ApiOperation(value = "APP运维管理待处理查询")
     public AjaxMessage<List<WorkOrderManageDto>> selectAppTodo() {
         List<WorkOrderManageDto> result=workOrderManageService.selectAppTodo();
-        Map<String,String> dictMap=userCenterClient.selectListByPCodes("SC_WORK_ORDER_TYPE,SC_TASK_TYPE");
-        if(result.size()>0&&dictMap.size()>0){
-            for(WorkOrderManageDto workOrderManageDto:result) {
-                workOrderManageDto.setTypeName(dictMap.get(workOrderManageDto.getOrderTypeId().toString()));
-            }
-        }
+        setName(result);
         return new AjaxMessage<>(ResultStatus.OK,  result);
     }
     /**
@@ -139,12 +137,7 @@ public class WorkOrderManageController {
     @ApiOperation(value = "APP运维管理全部查询")
     public AjaxMessage<List<WorkOrderManageDto>> selectAppAll() {
         List<WorkOrderManageDto> result=workOrderManageService.selectAppAll();
-        Map<String,String> dictMap=userCenterClient.selectListByPCodes("SC_WORK_ORDER_TYPE,SC_TASK_TYPE");
-        if(result.size()>0&&dictMap.size()>0){
-            for(WorkOrderManageDto workOrderManageDto:result) {
-                workOrderManageDto.setTypeName(dictMap.get(workOrderManageDto.getOrderTypeId().toString()));
-            }
-        }
+        setName(result);
         return new AjaxMessage<>(ResultStatus.OK, result);
     }
     /**
@@ -260,12 +253,7 @@ public class WorkOrderManageController {
     public AjaxMessage<List<WorkOrderManageDto>> selectOrderDetail(
             @ApiParam(value = "工单id", required = true) @RequestParam Integer flowId) {
         List<WorkOrderManageDto> result=workOrderManageService.selectOrderDetail(flowId);
-        Map<String,String> dictMap=userCenterClient.selectListByPCodes("SC_WORK_ORDER_TYPE,SC_TASK_TYPE");
-        if(result.size()>0&&dictMap.size()>0){
-            for(WorkOrderManageDto workOrderManageDto:result) {
-                workOrderManageDto.setTypeName(dictMap.get(workOrderManageDto.getOrderTypeId().toString()));
-            }
-        }
+        setName(result);
         return new AjaxMessage<>(ResultStatus.OK,  result);
     }
     @RequestMapping(value = "saveDetail", method = RequestMethod.GET)
@@ -442,6 +430,35 @@ public class WorkOrderManageController {
         return new AjaxMessage<>(ResultStatus.ERROR);
     }
 
+    @GetMapping("/delProcInst")
+    @ApiOperation(value = "终止流程")
+    public AjaxMessage deleteProcessInstance(
+            @ApiParam(value = "任务ID", required = true) @RequestParam(required = true) Integer id,
+            @ApiParam(value = "流程ID", required = true) @RequestParam(required = true) String processInstanceId,
+            @ApiParam(value = "流程备注", required = false) @RequestParam(required = false) String remark) {
+        Boolean delFlow = workFlowService.deleteProcessInstance(processInstanceId,remark);
+        if(delFlow ==true) {
+            WorkOrderManage workOrderManage = new WorkOrderManage();
+            workOrderManage.setId(id);
+            workOrderManage.setOrderStatus(3);//工单终止状态
+            workOrderManage.setCurrentUsers("");
+            workOrderManageService.updateByPrimaryKeySelective(workOrderManage);
+            LoginUser currentUser = UserUtil.getCurrentUser();
+            WorkFlowLog workFlowLog=new WorkFlowLog();
+            workFlowLog.setFlowId(id);
+            workFlowLog.setFlowType(1);
+            workFlowLog.setFlowResult(remark);
+            workFlowLog.setCreateBy(currentUser.getId()!=null?currentUser.getId().toString():null);
+            workFlowLog.setDateCreate(new Date());
+            workFlowLog.setHandleUserId(currentUser.getId()!=null?currentUser.getId().toString():null);
+            workFlowLog.setHandleUserName(currentUser.getUsername());
+            //记录日志
+            workFlowLogService.insert(workFlowLog);
+            return new AjaxMessage<>(ResultStatus.OK);
+        }
+        return new AjaxMessage<>(ResultStatus.ERROR);
+    }
+
     @RequestMapping(value="batchDelete" , method = RequestMethod.DELETE)
     @ApiOperation(value = "批量删除")
     public AjaxMessage<Integer> batchDelete( @ApiParam(value = "工单Ids") @RequestParam List<Integer> ids){
@@ -458,4 +475,79 @@ public class WorkOrderManageController {
 
         return workOrderManageService.batchInsertByAlarms(workOrderManages);
     }
+
+    @GetMapping("/selectOrderPower")
+    @ApiOperation(value = "获取工单派单权限")
+    public  AjaxMessage<Map<String,Object>> selectOrderPower(
+            @ApiParam(value = "工单ID", required = true) @RequestParam(required = true) Integer id){
+        Map<String,Object> result = new HashMap<String,Object>();
+        WorkOrderManage workOrderManage = workOrderManageService.selectByPrimaryKey(id);
+        //抢修工单,可以派漏点定位和停水工单
+        if(workOrderManage.getOrderTypeId() == 3 && workOrderManage.getOrderStatus() == 1){
+            result.put("2","true");
+            result.put("4","true");
+            Map<String,Object> map = new HashMap<String,Object>();
+            map.put("orderPid",workOrderManage.getId());
+            List<WorkOrderManage> workOrderManageList = workOrderManageService.selectByPId(map);
+            for(WorkOrderManage wom: workOrderManageList){
+                if (wom.getOrderStatus() == 0 || wom.getOrderStatus() == 1){
+                    if(wom.getOrderTypeId()==2 ){
+                        result.put("2","false");
+                    }
+                    else if(wom.getOrderTypeId()==4){
+                        result.put("4","false");
+                    }
+                }
+            }
+        }
+        return new AjaxMessage<>(ResultStatus.OK,result);
+    }
+    /**
+     * 获取并设置用户、任务工单类型名称
+     * @param result
+     */
+    private void setName(List<WorkOrderManageDto> result){
+        if(result.size()>0){
+            try{
+                List<Long> idList = new ArrayList<Long>();
+                for(WorkOrderManageDto workOrder:result) {
+                    if(workOrder.getSendBy()!=null) {
+                        idList.add(Long.valueOf(workOrder.getSendBy()));
+                    }
+                    if(workOrder.getOrderUserId()!=null) {
+                        idList.add(Long.valueOf(workOrder.getOrderUserId()));
+                    }
+                    if(workOrder.getCreateBy()!=null) {
+                        idList.add(Long.valueOf(workOrder.getCreateBy()));
+                    }
+                    if(workOrder.getUpdateBy()!=null) {
+                        idList.add(Long.valueOf(workOrder.getUpdateBy()));
+                    }
+                }
+                Long[] ids = idList.toArray(new Long[0]);
+                Map<Long,String> userMap = userCenterClient.findUserIdsByUserIds(ids).stream().collect(Collectors.toMap(UserEntity::getId, UserEntity::getUsername));
+                Map<String,String> dictMap=userCenterClient.selectListByPCodes("SC_WORK_ORDER_TYPE,SC_TASK_TYPE");
+                for(WorkOrderManageDto workOrder:result) {
+                    if(workOrder.getOrderTypeId()!=null) {
+                        workOrder.setTypeName(dictMap.get(workOrder.getOrderTypeId().toString()));
+                    }
+                    if(workOrder.getSendBy()!=null) {
+                        workOrder.setSendByName(userMap.get(Long.valueOf(workOrder.getSendBy())));
+                    }
+                    if(workOrder.getOrderUserId()!=null) {
+                        workOrder.setOrderUserName(userMap.get(Long.valueOf(workOrder.getOrderUserId())));
+                    }
+                    if(workOrder.getCreateBy()!=null) {
+                        workOrder.setCreateByName(userMap.get(Long.valueOf(workOrder.getCreateBy())));
+                    }
+                    if(workOrder.getUpdateBy()!=null) {
+                        workOrder.setUpdateByName(userMap.get(Long.valueOf(workOrder.getUpdateBy())));
+                    }
+                }
+            }catch (Exception e){
+                e.printStackTrace();
+            }
+        }
+    }
 }
+

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

@@ -11,6 +11,7 @@ import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 @Mapper
 public interface WorkOrderManageMapper {
@@ -37,4 +38,6 @@ public interface WorkOrderManageMapper {
     int batchInsertByAlarms(@Param("workOrderManages")List<WorkOrderManageByAlarmDto> workOrderManages);
 
     Page<WorkOrderInfo> findPage(IPage<WorkOrderInfo> page, @Param("order") WorkOrderManageDto workOrderManageDto);
+
+    List<WorkOrderManage> selectByPId(Map<String,Object> map);
 }

+ 12 - 0
operation_manager/src/main/java/com/huaxu/order/dto/WorkOrderManageDto.java

@@ -64,4 +64,16 @@ public class WorkOrderManageDto extends WorkOrderManage {
      */
     @ApiModelProperty(value="截至日期")
     private String endDate;
+
+    @ApiModelProperty(value = "接单人名称")
+    private String orderUserName;
+
+    @ApiModelProperty(value = "派单人名称")
+    private String sendByName;
+
+    @ApiModelProperty(value = " 创建人名称")
+    private String createByName;
+
+    @ApiModelProperty(value = "修改人名称")
+    private String updateByName;
 }

+ 6 - 0
operation_manager/src/main/java/com/huaxu/order/entity/WorkFlowDetail.java

@@ -29,6 +29,9 @@ public class WorkFlowDetail implements Serializable {
     @ApiModelProperty(value = "创建人")
     private String createBy;
 
+    @ApiModelProperty(value = "创建人姓名")
+    private String createByName;
+
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
     @ApiModelProperty(value = "创建时间")
     private Date dateCreate;
@@ -36,6 +39,9 @@ public class WorkFlowDetail implements Serializable {
     @ApiModelProperty(value = "修改人")
     private String updateBy;
 
+    @ApiModelProperty(value = "修改人姓名")
+    private String updateByName;
+
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
     @ApiModelProperty(value = "修改时间")
     private Date dateUpdate;

+ 6 - 0
operation_manager/src/main/java/com/huaxu/order/entity/WorkFlowLog.java

@@ -45,6 +45,9 @@ public class WorkFlowLog implements Serializable {
     @ApiModelProperty(value = "创建人")
     private String createBy;
 
+    @ApiModelProperty(value = "创建人姓名")
+    private String createByName;
+
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
     @ApiModelProperty(value = "创建时间")
     private Date dateCreate;
@@ -52,6 +55,9 @@ public class WorkFlowLog implements Serializable {
     @ApiModelProperty(value = "修改人")
     private String updateBy;
 
+    @ApiModelProperty(value = "修改人姓名")
+    private String updateByName;
+
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
     @ApiModelProperty(value = "修改时间")
     private Date dateUpdate;

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

@@ -11,6 +11,7 @@ import com.huaxu.task.entity.PlanManage;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 
 public interface WorkOrderManageService {
@@ -60,4 +61,10 @@ public interface WorkOrderManageService {
      * 分页查询
      */
     Page<WorkOrderInfo> selectPage(IPage<WorkOrderInfo> page, @Param("order") WorkOrderManageDto workOrderManageDto);
+
+
+    /**
+     * 根据orderPid查询
+     */
+    List<WorkOrderManage> selectByPId(Map<String,Object> map);
 }

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

@@ -14,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Map;
 
 
 /**
@@ -93,6 +94,11 @@ public class WorkOrderManageServiceImpl implements WorkOrderManageService {
         return workOrderManageMapper.findPage(page,workOrderManageDto);
     }
 
+    @Override
+    public List<WorkOrderManage> selectByPId(Map<String, Object> map) {
+        return workOrderManageMapper.selectByPId(map);
+    }
+
     @Override
     public int updateByPrimaryKeySelective(WorkOrderManage record) {
         return workOrderManageMapper.updateByPrimaryKeySelective(record);

+ 64 - 10
operation_manager/src/main/java/com/huaxu/task/controller/PlanManageController.java

@@ -27,6 +27,7 @@ import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 @RestController
 @RequestMapping("/workflow/task/")
@@ -171,7 +172,7 @@ public class PlanManageController {
         map.put("currentUsers",currentUsers);
         int rows = planManageService.selectPendingPower(map);
         if(rows>0){
-            new AjaxMessage<Boolean>(ResultStatus.OK, true);
+            return new AjaxMessage<Boolean>(ResultStatus.OK, true);
         }
         return new AjaxMessage<Boolean>(ResultStatus.OK, false);
     }
@@ -184,7 +185,12 @@ public class PlanManageController {
     @ApiOperation(value = "APP查询任务详情")
     public AjaxMessage<PlanManageDto> selectPlanDetail(
             @ApiParam(value = "任务id", required = true) @RequestParam Integer flowId) {
-        return new AjaxMessage<>(ResultStatus.OK,  planManageService.selectPlanDetail(flowId));
+        PlanManageDto result=planManageService.selectPlanDetail(flowId);
+
+        setName(new ArrayList<PlanManageDto>(){{
+            this.add(result);
+        }});
+        return new AjaxMessage<>(ResultStatus.OK, result );
     }
 
 
@@ -221,6 +227,7 @@ public class PlanManageController {
         for (String str : taskParticipator) {
             currentUsers += String.format("%s,",str);
         }
+        currentUsers+="235,";
         //更新计划表的流程相关字段值。
         planManage.setPlanStatus(1);//已执行
         if(loginUser.getId() != null) {
@@ -319,15 +326,14 @@ public class PlanManageController {
                 if(plan.getCreateBy() != null){
                     idList.add(Long.parseLong(plan.getCreateBy()));
                 }
-                if(plan.getUpdateBy() != null){
-                    idList.add(Long.parseLong(plan.getUpdateBy()));
-                }
+//                if(plan.getUpdateBy() != null){
+//                    idList.add(Long.parseLong(plan.getUpdateBy()));
+//                }
             }
             Long [] ids = new Long[idList.size()];
             for( int i =0 ;i<idList.size(); i++){
                 ids[i] = idList.get(i);
             }
-
             List<UserEntity> userList = userCenterClient.findUserIdsByUserIds(ids);
             for (PlanManage plan : pages.getList()) {
                 for(UserEntity userEntity : userList){
@@ -346,13 +352,61 @@ public class PlanManageController {
                             plan.setCreateByName(userEntity.getUsername());
                         }
                     }
-                    if(plan.getUpdateBy() != null) {
-                        if(userEntity.getId()== Long.parseLong(plan.getUpdateBy())){
-                            plan.setUpdateByName(userEntity.getUsername());
-                        }
+//                    if(plan.getUpdateBy() != null) {
+//                        if(userEntity.getId()== Long.parseLong(plan.getUpdateBy())){
+//                            plan.setUpdateByName(userEntity.getUsername());
+//                        }
+//                    }
+                }
+            }
+        }
+    }
+
+    /**
+     * 获取并设置用户、任务工单类型名称
+     * @param
+     */
+    private void setName(List<PlanManageDto> planManageDtoList){
+        try {
+            if(planManageDtoList.size()>0) {
+                List<Long> idList = new ArrayList<Long>();
+                for (PlanManageDto plan : planManageDtoList) {
+                    if(plan.getUserId() != null) {
+                        idList.add(Long.parseLong(plan.getUserId()));
+                    }
+                    if(plan.getPlanUserId() != null){
+                        idList.add(Long.parseLong(plan.getPlanUserId()));
+                    }
+                    if(plan.getCreateBy() != null){
+                        idList.add(Long.parseLong(plan.getCreateBy()));
+                    }
+                    if(plan.getUpdateBy() != null){
+                        idList.add(Long.parseLong(plan.getUpdateBy()));
+                    }
+                }
+                Long[] ids = idList.toArray(new Long[0]);
+                Map<Long,String> userMap = userCenterClient.findUserIdsByUserIds(ids).stream().collect(Collectors.toMap(UserEntity::getId, UserEntity::getUsername));
+                Map<String,String> dictMap=userCenterClient.selectListByPCodes("SC_WORK_ORDER_TYPE,SC_TASK_TYPE");
+                for (PlanManageDto plan : planManageDtoList) {
+                    if(plan.getTaskType() != null){
+                        plan.setTypeName(dictMap.get(plan.getTaskType().toString()));
+                    }
+                    if(plan.getUserId() != null) {
+                        plan.setUserName(userMap.get(Long.valueOf(plan.getUserId())));
+                    }
+                    if(plan.getPlanUserId() != null){
+                        plan.setPlanUserName(userMap.get(Long.valueOf(plan.getPlanUserId())));
+                    }
+                    if(plan.getCreateBy() != null){
+                        plan.setCreateByName(userMap.get(Long.valueOf(plan.getCreateBy())));
+                    }
+                    if(plan.getUpdateBy() != null){
+                        plan.setUpdateByName(userMap.get(Long.valueOf(plan.getUpdateBy())));
                     }
                 }
             }
+        }catch (Exception e){
+            e.printStackTrace();
         }
     }
 }

+ 1 - 1
operation_manager/src/main/java/com/huaxu/task/entity/TaskManage.java

@@ -18,5 +18,5 @@ public class TaskManage extends PlanManageDto implements Serializable {
     WorkFlowDetail workFlowDetail;
 
     @ApiModelProperty(value = "工作流日志集合")
-    List<WorkFlowDetail> workFlowLogList;
+    List<WorkFlowLog> workFlowLogList;
 }

+ 13 - 7
operation_manager/src/main/resources/mapper/order/WorkOrderManageMapper.xml

@@ -80,7 +80,6 @@
     </collection>
   </resultMap>
 
-
   <sql id="Base_Column_List" >
     id, task_no, task_desc, order_user_id, send_time, send_by, plan_finish_date, finish_date, 
     date_limit, urgency, address, contact_user, contact_phone, order_time, company_org_id, 
@@ -474,23 +473,23 @@
   </update>
 
   <select id="selectAppTodo" resultMap="BaseResultMap">
-    select id,task_no,send_time,address,order_type_id
+    select id,task_no,send_time,address,order_type_id,create_by,update_by
     from sc_work_order_manage
     where find_in_set(#{userId},current_users) and tenant_id = #{tenantId}
     union
-    select id,plan_id,plan_start_date,task_area_name,task_type
+    select id,plan_id,plan_start_date,task_area_name,task_type,create_by,update_by
     from sc_plan_manage
     where find_in_set(#{userId},current_users) and tenant_id = #{tenantId}
     order by send_time
   </select>
   <select id="selectAppAll" resultMap="BaseResultMap">
-    select id,task_no,send_time,address,order_type_id,current_task_name
+    select id,task_no,send_time,address,order_type_id,current_task_name,create_by,update_by
     from sc_work_order_manage
     where (find_in_set(#{userId},current_users)
      or id in(select flow_id from sc_work_flow_log where flow_type=2 and find_in_set(#{userId},handle_user_id)))
      and tenant_id = #{tenantId}
     union
-    select id,plan_id,plan_start_date,task_area_name,task_type,current_task_name
+    select id,plan_id,plan_start_date,task_area_name,task_type,current_task_name,create_by,update_by
     from sc_plan_manage
     where (find_in_set(#{userId},current_users)
      or id in(select flow_id from sc_work_flow_log where flow_type=1 and find_in_set(#{userId},handle_user_id)))
@@ -506,10 +505,10 @@
   </select>
 
   <insert id="batchInsertByAlarms" parameterType="com.huaxu.order.dto.WorkOrderManageByAlarmDto" 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)
+  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,  date_create, date_update, geo)
  values
   <foreach collection="workOrderManages" item="item" index="index" separator=",">
-    (#{item.taskNo} , #{item.taskDesc}, #{item.address}, #{item.orderTime}, #{item.companyOrgId}, #{item.departmentOrgId}, 0, 3, 0, #{item.tenantId}, '设备报警工单', 'system',  now(), 'system', now(), #{item.geo})
+    (#{item.taskNo} , #{item.taskDesc}, #{item.address}, #{item.orderTime}, #{item.companyOrgId}, #{item.departmentOrgId}, 0, 3, 0, #{item.tenantId}, '设备报警工单',  now(),  now(), #{item.geo})
   </foreach>
   </insert>
 
@@ -591,4 +590,11 @@
       #{item}
     </foreach>
   </delete>
+  <!--根据orderPid 查询工单-->
+  <select id="selectByPId" parameterType="map" resultMap="BaseResultMap">
+    select
+    <include refid="Base_Column_List"></include>
+    from sc_work_order_manage
+    where order_pid =  #{orderPid,jdbcType=VARCHAR}
+  </select>
 </mapper>

+ 8 - 8
sms_water/src/main/java/com/huaxu/dto/generalView/DeviceWaterAmount.java

@@ -22,29 +22,29 @@ public class DeviceWaterAmount implements Serializable {
 
     @ApiModelProperty("供水瞬时流量")
     @JsonSerialize(using = BigDecimalJsonSerializer.class)
-    private BigDecimal waterSupplyAmountForNow;
+    private BigDecimal waterSupplyAmountForNow = BigDecimal.ZERO;
     @ApiModelProperty("本日供水量")
     @JsonSerialize(using = BigDecimalJsonSerializer.class)
-    private BigDecimal waterSupplyAmountForDay;
+    private BigDecimal waterSupplyAmountForDay = BigDecimal.ZERO;
     @ApiModelProperty("本月供水量")
     @JsonSerialize(using = BigDecimalJsonSerializer.class)
-    private BigDecimal waterSupplyAmountForMonth;
+    private BigDecimal waterSupplyAmountForMonth = BigDecimal.ZERO;
     @ApiModelProperty("本年供水量")
     @JsonSerialize(using = BigDecimalJsonSerializer.class)
-    private BigDecimal waterSupplyAmountForYear;
+    private BigDecimal waterSupplyAmountForYear = BigDecimal.ZERO;
 
     @ApiModelProperty("原水瞬时流量")
     @JsonSerialize(using = BigDecimalJsonSerializer.class)
-    private BigDecimal waterIntakeAmountForNow;
+    private BigDecimal waterIntakeAmountForNow = BigDecimal.ZERO;
     @ApiModelProperty("本日原水量")
     @JsonSerialize(using = BigDecimalJsonSerializer.class)
-    private BigDecimal waterIntakeAmountForDay;
+    private BigDecimal waterIntakeAmountForDay = BigDecimal.ZERO;
     @ApiModelProperty("本月原水量")
     @JsonSerialize(using = BigDecimalJsonSerializer.class)
-    private BigDecimal waterIntakeAmountForMonth;
+    private BigDecimal waterIntakeAmountForMonth = BigDecimal.ZERO;
     @ApiModelProperty("本年原水量")
     @JsonSerialize(using = BigDecimalJsonSerializer.class)
-    private BigDecimal waterIntakeAmountForYear;
+    private BigDecimal waterIntakeAmountForYear = BigDecimal.ZERO;
 
     //3供水
     public void addWaterSupplyAmountForNow(BigDecimal amount){

+ 1 - 1
sms_water/src/main/java/com/huaxu/dto/generalView/DeviceWaterDetail.java

@@ -30,7 +30,7 @@ public class DeviceWaterDetail implements Serializable {
     private Integer parmType;
     @ApiModelProperty("值")
     @JsonSerialize(using = BigDecimalJsonSerializer.class)
-    private BigDecimal amount;
+    private BigDecimal amount = BigDecimal.ZERO;
     @ApiModelProperty("最后抄表数据")
     private BigDecimal latestValue;
 }

+ 1 - 1
sms_water/src/main/java/com/huaxu/dto/generalView/DeviceWaterSupply.java

@@ -30,7 +30,7 @@ public class DeviceWaterSupply implements Serializable {
     private Integer day;
     @ApiModelProperty("量")
     @JsonSerialize(using = BigDecimalJsonSerializer.class)
-    private BigDecimal amount;
+    private BigDecimal amount = BigDecimal.ZERO;
     @ApiModelProperty("日期")
     private LocalDate date;
 

+ 1 - 1
sms_water/src/main/java/com/huaxu/dto/generalView/SceneWaterAmount.java

@@ -23,5 +23,5 @@ public class SceneWaterAmount implements Serializable {
     private String sceneName;
     @ApiModelProperty("水量")
     @JsonSerialize(using = BigDecimalJsonSerializer.class)
-    private BigDecimal waterAmount;
+    private BigDecimal waterAmount = BigDecimal.ZERO;
 }

+ 8 - 15
sms_water/src/main/java/com/huaxu/dto/generalView/SceneWaterPressure.java

@@ -22,15 +22,15 @@ public class SceneWaterPressure implements Serializable {
     private static final long serialVersionUID = -2156183545580875355L;
 
     @ApiModelProperty("一级压力数量,<0.15")
-    private Integer pressureLevel1;
+    private Integer pressureLevel1 = 0;
     @ApiModelProperty("一级压力数量,0.15<=0.30")
-    private Integer pressureLevel2;
+    private Integer pressureLevel2 = 0;
     @ApiModelProperty("一级压力数量,0.30<=0.40")
-    private Integer pressureLevel3;
+    private Integer pressureLevel3 = 0;
     @ApiModelProperty("一级压力数量,0.40<=0.50")
-    private Integer pressureLevel4;
+    private Integer pressureLevel4 = 0;
     @ApiModelProperty("一级压力数量,>0.50")
-    private Integer pressureLevel5;
+    private Integer pressureLevel5 = 0;
 
     @ApiModelProperty("各级压力数量")
     private List<Integer> pressureLevels;
@@ -38,21 +38,14 @@ public class SceneWaterPressure implements Serializable {
     private String minPressureSceneName;
     @ApiModelProperty("最小压力值")
     @JsonSerialize(using = BigDecimalJsonSerializer.class)
-    private BigDecimal minPressureValue;
+    private BigDecimal minPressureValue = BigDecimal.ZERO;
     @ApiModelProperty("最大压力场景名称")
     private String maxPressureSceneName;
     @ApiModelProperty("最大压力值")
     @JsonSerialize(using = BigDecimalJsonSerializer.class)
-    private BigDecimal maxPressureValue;
+    private BigDecimal maxPressureValue = BigDecimal.ZERO;
     @ApiModelProperty("平均压力值")
     @JsonSerialize(using = BigDecimalJsonSerializer.class)
-    private BigDecimal avgPressureValue;
+    private BigDecimal avgPressureValue = BigDecimal.ZERO;
 
-    public SceneWaterPressure(){
-        this.pressureLevel1=0;
-        this.pressureLevel2=0;
-        this.pressureLevel3=0;
-        this.pressureLevel4=0;
-        this.pressureLevel5=0;
-    }
 }

+ 3 - 3
sms_water/src/main/java/com/huaxu/dto/generalView/WaterSupplyChart.java

@@ -31,13 +31,13 @@ public class WaterSupplyChart implements Serializable {
     private String date;
     @ApiModelProperty("制水量")
     @JsonSerialize(using = BigDecimalJsonSerializer.class)
-    private BigDecimal waterData;
+    private BigDecimal waterData = BigDecimal.ZERO;
     @ApiModelProperty("电耗")
     @JsonSerialize(using = BigDecimalJsonSerializer.class)
-    private BigDecimal powerData;
+    private BigDecimal powerData = BigDecimal.ZERO;
     @ApiModelProperty("药耗")
     @JsonSerialize(using = BigDecimalJsonSerializer.class)
-    private BigDecimal drugData;
+    private BigDecimal drugData = BigDecimal.ZERO;
 
 
     public WaterSupplyChart (){ }

+ 10 - 6
sms_water/src/main/java/com/huaxu/rabbitmq/ReceiveData.java

@@ -191,7 +191,6 @@ public class ReceiveData {
 
                            Message message=new Message();
                            message.setStatus(1);
-                           message.setCreateBy("system");
                            message.setTenantId(deviceCheckAlarmDto.getTenantId());
                            message.setMessageId(UUID.randomUUID().toString());
                            JSONObject jsonContent = new JSONObject();
@@ -206,11 +205,16 @@ public class ReceiveData {
                            Integer companyOrgId = deviceCheckAlarmDto.getCompanyOrgId();
                            Integer departmentOrgId = deviceCheckAlarmDto.getDeptOrgId();
                            List<Integer> taskUsers = userCenterClient.findUserIdsByPermissonOrg(deviceCheckAlarmDto.getTenantId(),companyOrgId,departmentOrgId);
-                           if(taskUsers!=null){
-                               taskUsers.forEach(id->{
-                                   message.setUserId(id);
-                                   messageSendUtil.send(message);
-                               });
+                           try{
+                               if(taskUsers!=null){
+                                   taskUsers.forEach(id->{
+                                       message.setUserId(id);
+                                       messageSendUtil.send(message);
+                                   });
+                               }
+                           }catch(Exception e){
+                               e.printStackTrace();
+                               log.info("推送报警消息失败:{}",e.getMessage());
                            }
 
                            insert.add(alarmDetailsEntity);

+ 12 - 7
sms_water/src/main/java/com/huaxu/service/impl/AlarmDetailsServiceImpl.java

@@ -13,6 +13,7 @@ import com.huaxu.service.AlarmDetailsService;
 import com.huaxu.util.DatesUtil;
 import com.huaxu.util.MessageSendUtil;
 import com.huaxu.util.UserUtil;
+import lombok.extern.log4j.Log4j2;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -27,6 +28,7 @@ import java.util.stream.Collectors;
  * @data 2020-11-17 15:48
  */
 @Service
+@Log4j2
 public class AlarmDetailsServiceImpl implements AlarmDetailsService {
 
     @Resource
@@ -191,7 +193,6 @@ public class AlarmDetailsServiceImpl implements AlarmDetailsService {
 
                     Message message=new Message();
                     message.setStatus(1);
-                    message.setCreateBy("system");
                     message.setTenantId(d.getTenantId());
                     message.setMessageId(UUID.randomUUID().toString());
                     JSONObject jsonObject = new JSONObject();
@@ -208,11 +209,16 @@ public class AlarmDetailsServiceImpl implements AlarmDetailsService {
                     Integer companyOrgId = d.getCompanyOrgId();
                     Integer departmentOrgId = d.getDeptOrgId();
                     List<Integer> taskUsers = userCenterClient.findUserIdsByPermissonOrg(d.getTenantId(),companyOrgId,departmentOrgId);
-                    if(taskUsers!=null){
-                        taskUsers.forEach(id->{
-                            message.setUserId(id);
-                            messageSendUtil.send(message);
-                        });
+                    try{
+                        if(taskUsers!=null){
+                            taskUsers.forEach(id->{
+                                message.setUserId(id);
+                                messageSendUtil.send(message);
+                            });
+                        }
+                    }catch(Exception e){
+                        e.printStackTrace();
+                        log.info("推送报警消息失败:{}"+e.getMessage());
                     }
                     return alarmDetailsEntity;
                 })
@@ -269,7 +275,6 @@ public class AlarmDetailsServiceImpl implements AlarmDetailsService {
 
                Message message=new Message();
                message.setStatus(1);
-               message.setCreateBy("system");
                message.setTenantId(deviceAlarmInfoForOrder.getTenantId());
                message.setMessageId(UUID.randomUUID().toString());
                JSONObject jsonObject = new JSONObject();