Quellcode durchsuchen

Merge remote-tracking branch 'origin/20210223' into 20210223

yuejiaying vor 3 Jahren
Ursprung
Commit
b629a58fd3
19 geänderte Dateien mit 365 neuen und 78 gelöschten Zeilen
  1. 12 0
      operation_manager/src/main/java/com/huaxu/client/UserCenterClient.java
  2. 83 0
      operation_manager/src/main/java/com/huaxu/dict/Dict.java
  3. 46 0
      operation_manager/src/main/java/com/huaxu/dict/DictUtil.java
  4. 1 3
      operation_manager/src/main/java/com/huaxu/evaluation/controller/EvaluationItemController.java
  5. 3 0
      operation_manager/src/main/java/com/huaxu/evaluation/entity/EvaluationCycleEntity.java
  6. 10 1
      operation_manager/src/main/java/com/huaxu/evaluation/entity/EvaluationItemEntity.java
  7. 5 2
      operation_manager/src/main/java/com/huaxu/evaluation/service/impl/EvaluationCycleServiceImpl.java
  8. 8 4
      operation_manager/src/main/java/com/huaxu/evaluation/service/impl/EvaluationGradeServiceImpl.java
  9. 39 14
      operation_manager/src/main/java/com/huaxu/evaluation/service/impl/EvaluationItemServiceImpl.java
  10. 3 0
      operation_manager/src/main/java/com/huaxu/order/dao/WorkOrderManageMapper.java
  11. 1 3
      operation_manager/src/main/java/com/huaxu/order/service/WorkOrderManageService.java
  12. 5 0
      operation_manager/src/main/java/com/huaxu/order/service/impl/WorkOrderManageServiceImpl.java
  13. 12 0
      operation_manager/src/main/java/com/huaxu/org/OrgInfoUtil.java
  14. 1 1
      operation_manager/src/main/resources/mapper/evaluation/EvaluationItemMapper.xml
  15. 3 3
      operation_manager/src/main/resources/mapper/evaluation/EvaluationItemValueMapper.xml
  16. 45 0
      operation_manager/src/main/resources/mapper/order/WorkOrderManageMapper.xml
  17. 81 46
      sms_water/src/main/java/com/huaxu/controller/MonitorInfoController.java
  18. 6 1
      sms_water/src/main/java/com/huaxu/entity/MonitorInfoEntity.java
  19. 1 0
      user_center/src/main/java/com/huaxu/controller/OrgController.java

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

@@ -2,9 +2,13 @@ package com.huaxu.client;
 
 import com.huaxu.config.FeignConfig;
 
+import com.huaxu.dict.Dict;
 import com.huaxu.model.AjaxMessage;
+import com.huaxu.model.ResultStatus;
 import com.huaxu.task.entity.UserEntity;
 import com.huaxu.org.Org;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.*;
 
@@ -31,6 +35,7 @@ public interface UserCenterClient {
 
     /**
      * 查询权限内的运维人员信息
+     *
      * @return
      */
     @GetMapping("/user/findUserListByType")
@@ -39,4 +44,11 @@ public interface UserCenterClient {
     @PostMapping("/org/getAllByTenantId")
     List<Org> getAllByTenantId();
 
+    @PostMapping(value = "/org/get")
+    AjaxMessage<Org> selectOne(@RequestParam Integer id);
+    /**
+     * 通过父配置id查询数据
+     */
+    @RequestMapping(value = "/dict/selectList", method = RequestMethod.POST)
+    AjaxMessage<List<Dict>> selectDictList(@RequestBody Dict dict);
 }

+ 83 - 0
operation_manager/src/main/java/com/huaxu/dict/Dict.java

@@ -0,0 +1,83 @@
+package com.huaxu.dict;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 数据字典(Dict)实体类
+ *
+ * @author yjy
+ * @since 2020-10-26
+ */
+@Data
+@ApiModel
+public class Dict implements Serializable {
+    private static final long serialVersionUID = 269554608076349144L;
+    /**
+     * 主键
+     */
+    @ApiModelProperty(value = "主键")
+    private Integer id;
+    /**
+     * 字典名称
+     */
+    @ApiModelProperty(value = "字典名称")
+    private String dictName;
+    /**
+     * 字典编码
+     */
+    @ApiModelProperty(value = "字典编码")
+    private String dictCode;
+    /**
+     * 字典值
+     */
+    @ApiModelProperty(value = "字典值")
+    private String dictValue;
+    /**
+     * 父配置ID
+     */
+    @ApiModelProperty(value = "父配置ID")
+    private Integer parentDictId;
+    /**
+     * 父配置编码
+     */
+    @ApiModelProperty(value = "父配置编码")
+    private String parentDictCode;
+   /**
+    * 备注
+    */
+   @ApiModelProperty(value = "备注")
+   private String remark;
+    /**
+     * 数据删除标识
+     */
+    @ApiModelProperty(value = "数据删除标识")
+    private Integer status;
+    /**
+     * 创建人
+     */
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
+    @ApiModelProperty(value = "创建时间")
+    private Date dateCreate;
+    /**
+     * 更新人
+     */
+    @ApiModelProperty(value = "更新人")
+    private String updateBy;
+    /**
+    * 更新时间
+    */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
+    @ApiModelProperty(value = "更新时间")
+    private Date dateUpdate;
+}

+ 46 - 0
operation_manager/src/main/java/com/huaxu/dict/DictUtil.java

@@ -0,0 +1,46 @@
+package com.huaxu.dict;
+
+import com.huaxu.client.UserCenterClient;
+import com.huaxu.org.Org;
+import com.huaxu.util.RedisUtil;
+import com.huaxu.util.UserUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Component
+public class DictUtil {
+
+    private static final String REDIS_CACHE_KEY_DICTINFO = "dict%s";
+
+    @Autowired
+    private RedisUtil redisUtil;
+
+    @Autowired
+    private UserCenterClient userCenterClient;
+
+    public String getDictName(String code,Integer value) {
+        String key = String.format(REDIS_CACHE_KEY_DICTINFO, code);
+        String keysValue = (String) redisUtil.getHashValues(key,value+"");
+        if (keysValue == null) {
+            Map<String,String> keysValues = updateDictInfo(key,code);
+            keysValue = keysValues.get(value+"");
+        }
+        return keysValue;
+    };
+
+    private Map<String,String> updateDictInfo(String key,String code) {
+        Map<String, String> keysValues = new HashMap<>();
+        Dict dict = new Dict();
+        dict.setParentDictCode(code);
+        List<Dict> dicts = userCenterClient.selectDictList(dict).getData();
+        for (Dict item : dicts) {
+            keysValues.put(item.getDictCode() + "", item.getDictValue());
+        }
+        redisUtil.putHashValues(key, keysValues);
+        return keysValues;
+    }
+}

+ 1 - 3
operation_manager/src/main/java/com/huaxu/evaluation/controller/EvaluationItemController.java

@@ -46,9 +46,7 @@ public class EvaluationItemController{
         IPage<EvaluationItemEntity> iPage = new Page<>(pageNum, pageSize);
         EvaluationItemEntity entity = new EvaluationItemEntity();
         entity.setName(name);
-        if (companyOrgId != null)
-            entity.setCompanyOrgId(companyOrgId.intValue());
-        if(deptOrgId!=null)
+        if (deptOrgId != null)
             entity.setDeptOrgId(deptOrgId.intValue());
         iPage = evaluationItemService.findPage(iPage, entity);
         Pagination<EvaluationItemEntity> pages = new Pagination<>(iPage);

+ 3 - 0
operation_manager/src/main/java/com/huaxu/evaluation/entity/EvaluationCycleEntity.java

@@ -30,6 +30,9 @@ public class EvaluationCycleEntity extends BaseEntity {
     @ApiModelProperty(value = "类型(0月度 1季度 2年度)")
     private Integer type;
 
+    @ApiModelProperty(value = "类型(0月度 1季度 2年度)")
+    private String typeName;
+
     @ApiModelProperty(value = "所属部门ID")
     @TableField(exist = false)
     @JsonIgnore

+ 10 - 1
operation_manager/src/main/java/com/huaxu/evaluation/entity/EvaluationItemEntity.java

@@ -42,6 +42,9 @@ public class EvaluationItemEntity extends BaseEntity {
     @TableField(exist = false)
     private String deptOrgName;
 
+    @ApiModelProperty(value = "所属部门IDs")
+    @TableField(exist = false)
+    private List<Integer> deptOrgIds;
     /** 分值 */
     @ApiModelProperty(value = "分值")
     private Double value;
@@ -52,7 +55,13 @@ public class EvaluationItemEntity extends BaseEntity {
 
     /** 周期(0月度 1季度 2年度) */
     @ApiModelProperty(value = "周期(0月度 1季度 2年度)")
-    private Integer cycle;
+    private String cycle;
+
+    /** 周期(0月度 1季度 2年度) */
+    @ApiModelProperty(value = "周期(0月度 1季度 2年度)")
+    @TableField(exist = false)
+    private String cycleName;
+
 
     /** 评分标准 */
     @ApiModelProperty(value = "评分标准")

+ 5 - 2
operation_manager/src/main/java/com/huaxu/evaluation/service/impl/EvaluationCycleServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huaxu.dict.DictUtil;
 import com.huaxu.evaluation.dao.EvaluationCycleMapper;
 import com.huaxu.evaluation.dao.EvaluationGradeMapper;
 import com.huaxu.evaluation.entity.EvaluationCycleEntity;
@@ -36,6 +37,8 @@ public class EvaluationCycleServiceImpl extends ServiceImpl<EvaluationCycleMappe
     EvaluationCycleMapper evaluationCycleMapper;
     @Autowired
     private OrgInfoUtil orgInfoUtil;
+    @Autowired
+    private DictUtil dictUtil;
     /**
      * 自定义分页查询,含关联实体对像
      */
@@ -49,9 +52,9 @@ public class EvaluationCycleServiceImpl extends ServiceImpl<EvaluationCycleMappe
             evaluationCycleEntity.setPermissonType(currentUser.getPermissonType());
         }
         Page<EvaluationCycleEntity> iPage = evaluationCycleMapper.findPage(page, evaluationCycleEntity);
-        for(EvaluationCycleEntity item:iPage.getRecords())
-        {
+        for(EvaluationCycleEntity item:iPage.getRecords()) {
             item.setCompanyOrgName(orgInfoUtil.getOrgName(item.getCompanyOrgId()));
+            item.setTypeName(dictUtil.getDictName("SC_EVALUATION_CYCLE ", item.getType()));
         }
         return iPage;
     }

+ 8 - 4
operation_manager/src/main/java/com/huaxu/evaluation/service/impl/EvaluationGradeServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huaxu.dict.DictUtil;
 import com.huaxu.evaluation.dao.EvaluationGradeMapper;
 import com.huaxu.evaluation.entity.EvaluationGradeEntity;
 import com.huaxu.evaluation.service.EvaluationGradeService;
@@ -33,23 +34,26 @@ public class EvaluationGradeServiceImpl extends ServiceImpl<EvaluationGradeMappe
     private EvaluationGradeMapper evaluationGradeMapper;
     @Autowired
     private OrgInfoUtil orgInfoUtil;
+    @Autowired
+    private DictUtil dictUtil;
     /**
      * 自定义分页查询,含关联实体对像
      */
     public IPage<EvaluationGradeEntity> findPage(IPage<EvaluationGradeEntity> page, EvaluationGradeEntity evaluationGradeEntity) {
 
         LoginUser currentUser = UserUtil.getCurrentUser();
-        if(currentUser!=null) {
+        if (currentUser != null) {
             evaluationGradeEntity.setTenantId(currentUser.getTenantId());
             evaluationGradeEntity.setProgramItems(currentUser.getProgramItemList());
             evaluationGradeEntity.setUserType(currentUser.getType());
             //1是公司,2是公司及以下,3部门,4部门及以下,5自定义
             evaluationGradeEntity.setPermissonType(currentUser.getPermissonType());
         }
-        Page<EvaluationGradeEntity> iPage = evaluationGradeMapper.findPage(page,evaluationGradeEntity);
-        for(EvaluationGradeEntity item:iPage.getRecords())
-        {
+        Page<EvaluationGradeEntity> iPage = evaluationGradeMapper.findPage(page, evaluationGradeEntity);
+        for (EvaluationGradeEntity item : iPage.getRecords()) {
             item.setCompanyOrgName(orgInfoUtil.getOrgName(item.getCompanyOrgId()));
+            item.setTypeName(dictUtil.getDictName("SC_EVALUATION_GRADE_TYPE",item.getType().intValue()));
+            item.setEvaluationGradeName(dictUtil.getDictName("SC_EVALUATION_GRADE",item.getEvaluationGrade().intValue()));
         }
         return iPage;
     }

+ 39 - 14
operation_manager/src/main/java/com/huaxu/evaluation/service/impl/EvaluationItemServiceImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huaxu.dict.DictUtil;
 import com.huaxu.evaluation.dao.EvaluationItemMapper;
 import com.huaxu.evaluation.entity.EvaluationCycleEntity;
 import com.huaxu.evaluation.entity.EvaluationGradeEntity;
@@ -38,6 +39,8 @@ public class EvaluationItemServiceImpl extends ServiceImpl<EvaluationItemMapper,
     private EvaluationItemValueService evaluationItemValueService;
     @Autowired
     private OrgInfoUtil orgInfoUtil;
+    @Autowired
+    private DictUtil dictUtil;
     /**
      * 自定义分页查询,含关联实体对像
      */
@@ -50,10 +53,24 @@ public class EvaluationItemServiceImpl extends ServiceImpl<EvaluationItemMapper,
             //1是公司,2是公司及以下,3部门,4部门及以下,5自定义
             evaluationItemEntity.setPermissonType(currentUser.getPermissonType());
         }
+        if(evaluationItemEntity.getDeptOrgId()!=null) {
+            Integer tempCompanyId = orgInfoUtil.getOrgCompanyId(evaluationItemEntity.getDeptOrgId());
+            if (tempCompanyId != null) {
+                evaluationItemEntity.setCompanyOrgId(tempCompanyId);
+            } else {
+                evaluationItemEntity.setCompanyOrgId(evaluationItemEntity.getDeptOrgId());
+                evaluationItemEntity.setDeptOrgId(null);
+            }
+        }
         Page<EvaluationItemEntity> iPage = evaluationItemMapper.findPage(page, evaluationItemEntity);
         for (EvaluationItemEntity item : iPage.getRecords()) {
             item.setCompanyOrgName(orgInfoUtil.getOrgName(item.getCompanyOrgId()));
             item.setDeptOrgName(orgInfoUtil.getOrgName(item.getDeptOrgId()));
+            //考评周期
+            String[] cycles = item.getCycle().split(",");
+            for (String cycle : cycles) {
+                item.setCycleName(item.getCycleName() == null ? dictUtil.getDictName("SC_EVALUATION_CYCLE ", Integer.valueOf(cycle)) : item.getCycleName() + "," + dictUtil.getDictName("SC_EVALUATION_CYCLE ", Integer.valueOf(cycle)));
+            }
             //查询考评项分支
             EvaluationItemValueEntity entity = new EvaluationItemValueEntity();
             entity.setEvaluationItemId(item.getId());
@@ -101,23 +118,31 @@ public class EvaluationItemServiceImpl extends ServiceImpl<EvaluationItemMapper,
      */
     public boolean addEvaluationItem(EvaluationItemEntity evaluationItem) {
         LoginUser currentUser = UserUtil.getCurrentUser();
-        if (this.save(evaluationItem)) {
-            Long id = evaluationItem.getId();
-            for (EvaluationItemValueEntity item : evaluationItem.getItemValues()) {
-                if (currentUser != null) {
-                    item.setTenantId(currentUser.getTenantId());
-                    item.setCreateBy(currentUser.getUsername());
-                    item.setUpdateBy(currentUser.getUsername());
+        for (Integer itemCompanyId : evaluationItem.getDeptOrgIds()) {
+            Integer companyId = orgInfoUtil.getOrgCompanyId(itemCompanyId);
+            if (companyId != null) {
+                evaluationItem.setCompanyOrgId(companyId);
+                evaluationItem.setDeptOrgId(itemCompanyId);
+            } else {
+                evaluationItem.setCompanyOrgId(itemCompanyId);
+            }
+            if (this.save(evaluationItem)) {
+                Long id = evaluationItem.getId();
+                for (EvaluationItemValueEntity item : evaluationItem.getItemValues()) {
+                    if (currentUser != null) {
+                        item.setTenantId(currentUser.getTenantId());
+                        item.setCreateBy(currentUser.getUsername());
+                        item.setUpdateBy(currentUser.getUsername());
+                    }
+                    item.setEvaluationItemId(id);
+                    item.setStatus(1);
+                    item.setDateUpdate(new Date());
+                    item.setDateCreate(new Date());
+                    evaluationItemValueService.addEvaluationItemValue(item);
                 }
-                item.setEvaluationItemId(id);
-                item.setStatus(1);
-                item.setDateUpdate(new Date());
-                item.setDateCreate(new Date());
-                evaluationItemValueService.addEvaluationItemValue(item);
             }
-            return true;
         }
-        return false;
+        return true;
     }
 
     /**

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

@@ -45,6 +45,9 @@ public interface WorkOrderManageMapper {
 
     Page<WorkOrderManageDto> findPage(IPage<WorkOrderManageDto> page, @Param("order") WorkOrderManageDto workOrderManageDto);
 
+
+    Map<String,Object> workOrderStatistics(@Param("order") WorkOrderManageDto workOrderManageDto);
+
     Page<WorkOrderManageDto> findByNo(IPage<WorkOrderManageDto> page, @Param("order") WorkOrderManageDto workOrderManageDto);
 
     List<WorkOrderManageDto> selectMaintainOrder(@Param("order") WorkOrderManageDto workOrderManageDto);

+ 1 - 3
operation_manager/src/main/java/com/huaxu/order/service/WorkOrderManageService.java

@@ -88,6 +88,7 @@ public interface WorkOrderManageService {
     Map<String,Object> selectMaintainUserStatus(@Param("userId") String userId);
 
 
+    Map<String,Object> workOrderStatistics(@Param("order") WorkOrderManageDto workOrderManageDto);
     /**
      * 待处理权限
      */
@@ -97,8 +98,5 @@ public interface WorkOrderManageService {
      */
     List<WorkOrderManageDto> selectOrderStatus(WorkOrderManageDto workOrderManageDto);
 
-
-
-
     List<WorkOrderManageDto> selectMaintainOrder(WorkOrderManageDto workOrderManageDto);
 }

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

@@ -153,6 +153,11 @@ public class WorkOrderManageServiceImpl implements WorkOrderManageService {
         return workOrderManageMapper.selectMaintainUserStatus(userId);
     }
 
+    @Override
+    public Map<String, Object> workOrderStatistics(WorkOrderManageDto workOrderManageDto) {
+        return workOrderManageMapper.workOrderStatistics(workOrderManageDto);
+    }
+
     @Override
     public int selectPendingPower(Map<String, Object> map) {
         return workOrderManageMapper.selectPendingPower(map);

+ 12 - 0
operation_manager/src/main/java/com/huaxu/org/OrgInfoUtil.java

@@ -56,4 +56,16 @@ public class OrgInfoUtil {
         redisUtil.putHashValues(key,keysValues);
         return keysValues;
     }
+    public Integer getOrgCompanyId(Integer id) {
+        Integer parentId = null;
+        Org org = userCenterClient.selectOne(id).getData();
+        Org parentOrg = new Org();
+        parentOrg.setOrgType(org.getOrgType());
+        while (!parentOrg.getOrgType().equals("company")) {
+            if (org.getParentOrgId().equals(0)) break;
+            Org temp = userCenterClient.selectOne(org.getParentOrgId()).getData();
+            parentOrg.setOrgType(temp.getOrgType());
+        }
+        return parentId;
+    }
 }

+ 1 - 1
operation_manager/src/main/resources/mapper/evaluation/EvaluationItemMapper.xml

@@ -86,7 +86,7 @@
             </if>
 
             <if test="evaluationItem.companyOrgId!=null and evaluationItem.deptOrgId == null">
-                and a.DEPT_ORG_ID is null and a.COMPANY_ORG_ID = #{evaluationItem.companyOrgId}
+               and a.COMPANY_ORG_ID = #{evaluationItem.companyOrgId}
             </if>
             <if test="evaluationItem.name != null  and evaluationItem.name != ''">
                 and a.name LIKE concat('%',#{evaluationItem.name},'%')

+ 3 - 3
operation_manager/src/main/resources/mapper/evaluation/EvaluationItemValueMapper.xml

@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.huaxu.evaluation.mapper.EvaluationItemValueMapper">
+<mapper namespace="com.huaxu.evaluation.dao.EvaluationItemValueMapper">
 
 
     <resultMap type="com.huaxu.evaluation.entity.EvaluationItemValueEntity" id="EvaluationItemValueResult">
@@ -54,7 +54,7 @@
 
         <where>
             <if test="evaluationItemId != null ">and a.evaluation_item_id = #{evaluationItemId}</if>
-            <if test="tenantId != null ">and a.tenantId = #{tenantId}</if>
+            <if test="tenantId != null ">and a.TENANT_ID = #{tenantId}</if>
         </where>
     </select>
 
@@ -70,7 +70,7 @@
             </if>
             <if test="evaluationItemValue.dateUpdate != null ">and a.date_update = #{evaluationItemValue.dateUpdate}
             </if>
-            <if test="evaluationItemValue.tenantId != null ">and a.tenantId = #{evaluationItemValue.tenantId}</if>
+            <if test="evaluationItemValue.tenantId != null ">and a.TENANT_ID = #{evaluationItemValue.tenantId}</if>
             and a.status=1
         </where>
     </select>

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

@@ -862,4 +862,49 @@
       order by t1.date_create desc
     </where>
   </select>
+
+
+  <!--工单完成情况统计-->
+  <select id="workOrderStatistics" resultType="map">
+    select  total '工单总数', finished '工单完成数', finished/total '工单完成率' from
+    (
+      select count(1) total,sum(case when order_status=2 then 1 when order_status =3 then 1 else 0 end) finished
+      from sc_work_order_manage t1
+      <where>
+        t1.order_status != 0
+        and t1.date_create &gt;= date_format(#{order.startDate,jdbcType=VARCHAR},'%Y-%c-%d')
+        and t1.date_create &lt; date_format(#{order.endDate,jdbcType=VARCHAR},'%Y-%c-%d')
+        <if test="order.tenantId != null and order.tenantId != ''">
+          and t1.tenant_id = #{order.tenantId}
+        </if>
+        <if test="order.userType!=null and order.userType!=-999 and order.userType!=-9999 and  order.programItems != null and order.programItems.size() > 0">
+          <if test="order.permissonType == 5 or order.permissonType == 2">
+            and ( t1.department_org_id in
+            <foreach collection="order.programItems" item="item" open="(" close=")" separator=",">
+              #{item.orgId}
+            </foreach>
+            or
+            t1.COMPANY_ORG_ID in
+            <foreach collection="order.programItems" item="item" open="(" close=")" separator=",">
+              #{item.orgId}
+            </foreach>
+            )
+          </if>
+          <if test="order.permissonType == 4 or order.permissonType == 3">
+            and t1.department_org_id in
+            <foreach collection="order.programItems" item="item" open="(" close=")" separator=",">
+              #{item.orgId}
+            </foreach>
+          </if>
+          <if test="order.permissonType == 1">
+            and t1.COMPANY_ORG_ID in
+            <foreach collection="order.programItems" item="item" open="(" close=")" separator=",">
+              #{item.orgId}
+            </foreach>
+            and (t1.department_org_id is null or t1.department_org_id =0)
+          </if>
+        </if>
+      </where>
+    ) a
+  </select>
 </mapper>

+ 81 - 46
sms_water/src/main/java/com/huaxu/controller/MonitorInfoController.java

@@ -133,59 +133,83 @@ public class MonitorInfoController {
         }
         List<MonitorInfoEntity> page = monitorInfoService.findList(monitorInfoEntity);
         for (MonitorInfoEntity item : page) {
-            if (item.getMonitorType().equals(0L)) {
-                //查询报警信息
-                List<AlarmDetailsDto> alarmDetailsDtos = alarmDetailsService.selectByDeviceId(id,item.getDeviceId().intValue());
-                Map<Integer, AlarmDetailsDto> mapAlarm = new HashMap<>();
-                //将缓存中的实时数据放到map中方便进行遍历
-                for (AlarmDetailsDto alarmDetailsDto : alarmDetailsDtos) {
-                    mapAlarm.put(alarmDetailsDto.getAttributeId(), alarmDetailsDto);
-                }
-                byte[] bytes = redisUtil.get(("sms_water_" + item.getDeviceCode()).getBytes());
-                if (bytes != null && bytes.length > 0) {
-                    MonitorDataEntity monitorDataEntity = (MonitorDataEntity) ByteArrayUtils.bytesToObject(bytes).get();
-                    Map<Long, MonitorDataValueEntity> map = new HashMap<>();
-                    //将缓存中的实时数据放到map中方便进行遍历
-                    for (MonitorDataValueEntity dateValue : monitorDataEntity.getDataValues()) {
-                        map.put(dateValue.getAttributeId(), dateValue);
-                    }
-                    //判断如果是标签则进行map中取值
-                    if (item.getMonitorType().equals(0L))//标签
-                    {
-                        //按属性ID查询标签值
-                        DeviceAttributeSpecsEntity deviceAttributeSpecsEntity = new DeviceAttributeSpecsEntity();
-                        deviceAttributeSpecsEntity.setAttributeId(item.getAttributeId());
-                        List<DeviceAttributeSpecsEntity> deviceAttributeSpecsEntities = deviceAttributeSpecsService.findList(deviceAttributeSpecsEntity);
-                        if (map.containsKey(item.getAttributeId())) {
-                            Double value = map.get(item.getAttributeId()).getDataValue();
-                            if (value != null) {
-                                if (deviceAttributeSpecsEntities.size() > 0) {
-                                    for (DeviceAttributeSpecsEntity specsEntity : deviceAttributeSpecsEntities)
-                                        if (Integer.valueOf(specsEntity.getSpecsValue()) == value.intValue()) {
-                                            item.setMonitorValue(specsEntity.getSpecsName());
-                                        }
+            switch (item.getMonitorType().intValue()) {
+                case 0:
+                    getMonitorInfo(id, item);
+                    break;
+                case 3:
+                case 4:
+                case 5:
+                    break;
+            }
+        }
+        return new AjaxMessage<>(ResultStatus.OK, page);
+    }
 
-                                } else {
-                                    DeviceAttributeEntity deviceAttributeEntity = deviceAttributeService.getById(item.getAttributeId());
-                                    String unit = "";
-                                    if (deviceAttributeEntity != null && deviceAttributeEntity.getUnit() != null)
-                                        unit = deviceAttributeEntity.getUnit();
-                                    item.setMonitorValue(String.format("%.3f", map.get(item.getAttributeId()).getDataValue()) + unit);
+    /**
+     * 更新指令状态
+     * @param sceneId
+     * @param item
+     */
+    public  void updateCommonState(Long sceneId,MonitorInfoEntity item) {
+
+    }
+
+    /**
+     * 更新标签值
+     * @param sceneId
+     * @param item
+     */
+    public  void getMonitorInfo(Long sceneId,MonitorInfoEntity item) {
+        //查询报警信息
+        List<AlarmDetailsDto> alarmDetailsDtos = alarmDetailsService.selectByDeviceId(sceneId, item.getDeviceId().intValue());
+        Map<Integer, AlarmDetailsDto> mapAlarm = new HashMap<>();
+        //将缓存中的实时数据放到map中方便进行遍历
+        for (AlarmDetailsDto alarmDetailsDto : alarmDetailsDtos) {
+            mapAlarm.put(alarmDetailsDto.getAttributeId(), alarmDetailsDto);
+        }
+        byte[] bytes = redisUtil.get(("sms_water_" + item.getDeviceCode()).getBytes());
+        if (bytes != null && bytes.length > 0) {
+            MonitorDataEntity monitorDataEntity = (MonitorDataEntity) ByteArrayUtils.bytesToObject(bytes).get();
+            Map<Long, MonitorDataValueEntity> map = new HashMap<>();
+            //将缓存中的实时数据放到map中方便进行遍历
+            for (MonitorDataValueEntity dateValue : monitorDataEntity.getDataValues()) {
+                map.put(dateValue.getAttributeId(), dateValue);
+            }
+            //判断如果是标签则进行map中取值
+            if (item.getMonitorType().equals(0L))//标签
+            {
+                //按属性ID查询标签值
+                DeviceAttributeSpecsEntity deviceAttributeSpecsEntity = new DeviceAttributeSpecsEntity();
+                deviceAttributeSpecsEntity.setAttributeId(item.getAttributeId());
+                List<DeviceAttributeSpecsEntity> deviceAttributeSpecsEntities = deviceAttributeSpecsService.findList(deviceAttributeSpecsEntity);
+                if (map.containsKey(item.getAttributeId())) {
+                    Double value = map.get(item.getAttributeId()).getDataValue();
+                    if (value != null) {
+                        if (deviceAttributeSpecsEntities.size() > 0) {
+                            for (DeviceAttributeSpecsEntity specsEntity : deviceAttributeSpecsEntities)
+                                if (Integer.valueOf(specsEntity.getSpecsValue()) == value.intValue()) {
+                                    item.setMonitorValue(specsEntity.getSpecsName());
                                 }
-                            }
-                        }
-                        //判断是否报警
-                        if (mapAlarm.containsKey(item.getAttributeId().intValue())){
-                            item.setIsAlarm(1);
-                            item.setMonitorValue(item.getMonitorValue()+"("+mapAlarm.get(item.getAttributeId().intValue()).getAlarmRange()+")");
-                        }else{
-                            item.setIsAlarm(0);
+
+                        } else {
+                            DeviceAttributeEntity deviceAttributeEntity = deviceAttributeService.getById(item.getAttributeId());
+                            String unit = "";
+                            if (deviceAttributeEntity != null && deviceAttributeEntity.getUnit() != null)
+                                unit = deviceAttributeEntity.getUnit();
+                            item.setMonitorValue(String.format("%.3f", map.get(item.getAttributeId()).getDataValue()) + unit);
                         }
                     }
                 }
+                //判断是否报警
+                if (mapAlarm.containsKey(item.getAttributeId().intValue())) {
+                    item.setIsAlarm(1);
+                    item.setMonitorValue(item.getMonitorValue() + "(" + mapAlarm.get(item.getAttributeId().intValue()).getAlarmRange() + ")");
+                } else {
+                    item.setIsAlarm(0);
+                }
             }
         }
-        return new AjaxMessage<>(ResultStatus.OK, page);
     }
 
     @RequestMapping(value="getDeviceParmByDeviceId" , method = RequestMethod.GET)
@@ -268,4 +292,15 @@ public class MonitorInfoController {
         int result = monitorInfoService.delMonitorInfoByIds(ids) ? 1 : 0;
         return new AjaxMessage<>(ResultStatus.OK, result);
     }
+    /**
+     * 操作标签--查询设备属性
+     */
+    @ApiOperation(value = "操作标签--查询设备属性")
+    @RequestMapping(value = "/getSceneParmBySceneId", method = RequestMethod.GET)
+    @ResponseBody
+    public AjaxMessage<List<DeviceParmEntity>> getSceneParmBySceneId(@ApiParam(value = "场景类型ID", required = true) Long id) {
+        List<DeviceParmEntity> deviceParmEntities = deviceParmService.selectByScendId(id.intValue());
+        return new AjaxMessage<>(ResultStatus.OK, deviceParmEntities);
+    }
+
 }

+ 6 - 1
sms_water/src/main/java/com/huaxu/entity/MonitorInfoEntity.java

@@ -58,7 +58,7 @@ public class MonitorInfoEntity{
     private Integer imageType;
 
     /** 标签类型 */
-    @ApiModelProperty(value = "标签类型(0标签 1普通标记 2跳转标记)")
+    @ApiModelProperty(value = "标签类型(0标签 1普通标记 2跳转标记 3水泵控制 4 压力调节 5阀门控制)")
     private Long monitorType;
 
     /** 标签值 */
@@ -95,6 +95,11 @@ public class MonitorInfoEntity{
     @TableField(exist = false)
     private Integer isAlarm;
 
+    /** 指令执行状态(0执行中 1执行成功 2执行失败) */
+    @ApiModelProperty(value = "指令执行状态(0执行中 1执行成功 2执行失败)")
+    @TableField(exist = false)
+    private Integer commonState;
+
     /** 类型 */
     @ApiModelProperty(value = "类型(0综合调度 1综合展示)")
     private Integer type;

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

@@ -50,6 +50,7 @@ public class OrgController {
         return new AjaxMessage<>(ResultStatus.OK, result);
     }
 
+
     /**
      * 新增一条数据
      *