Browse Source

feat :1、增加数据导出,导出未接单数据。2、接口数据返回增加用户输入的电梯编号。

lihao16 4 tháng trước cách đây
mục cha
commit
44aca3d3d4

+ 16 - 24
inspur-admin/src/main/java/com/inspur/web/controller/work/ElevatorWorkOrderController.java

@@ -1,29 +1,22 @@
 package com.inspur.web.controller.work;
 
-import java.util.List;
-import javax.servlet.http.HttpServletResponse;
-
 import com.inspur.common.annotation.Anonymous;
-import com.inspur.domain.ElevatorWorkOrder;
-import com.inspur.service.IElevatorWorkOrderService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
 import com.inspur.common.annotation.Log;
 import com.inspur.common.core.controller.BaseController;
 import com.inspur.common.core.domain.AjaxResult;
+import com.inspur.common.core.page.TableDataInfo;
 import com.inspur.common.enums.BusinessType;
 import com.inspur.common.utils.poi.ExcelUtil;
-import com.inspur.common.core.page.TableDataInfo;
+import com.inspur.domain.ElevatorWorkOrder;
+import com.inspur.domain.ElevatorWorkOrderExport;
+import com.inspur.service.IElevatorWorkOrderService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
 
 /**
  * 电梯工单信息Controller
@@ -47,7 +40,6 @@ public class ElevatorWorkOrderController extends BaseController
     @ApiOperation("获取工单列表")
     public TableDataInfo list(ElevatorWorkOrder elevatorWorkOrder)
     {
-        startPage();
         List<ElevatorWorkOrder> list = elevatorWorkOrderService.selectElevatorWorkOrderList(elevatorWorkOrder);
         return getDataTable(list);
     }
@@ -55,13 +47,13 @@ public class ElevatorWorkOrderController extends BaseController
     /**
      * 导出电梯工单信息列表
      */
-    @PreAuthorize("@ss.hasPermi('work:workOrder:export')")
+    @Anonymous
+    // @PreAuthorize("@ss.hasPermi('work:workOrder:export')")
     @Log(title = "电梯工单信息", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void export(HttpServletResponse response, ElevatorWorkOrder elevatorWorkOrder)
-    {
-        List<ElevatorWorkOrder> list = elevatorWorkOrderService.selectElevatorWorkOrderList(elevatorWorkOrder);
-        ExcelUtil<ElevatorWorkOrder> util = new ExcelUtil<ElevatorWorkOrder>(ElevatorWorkOrder.class);
+    public void export(HttpServletResponse response, ElevatorWorkOrder elevatorWorkOrder) {
+        List<ElevatorWorkOrderExport> list = elevatorWorkOrderService.selectElevatorWorkOrderNoAnswer(elevatorWorkOrder);
+        ExcelUtil<ElevatorWorkOrderExport> util = new ExcelUtil<ElevatorWorkOrderExport>(ElevatorWorkOrderExport.class);
         util.exportExcel(response, list, "电梯工单信息数据");
     }
 

+ 1 - 0
inspur-ui/src/views/work/workOrder/index.vue

@@ -27,6 +27,7 @@
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+        <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['work:workOrder:export']">导出</el-button>
       </el-form-item>
     </el-form>
 

+ 5 - 0
inspur-work/src/main/java/com/inspur/domain/ElevatorWorkOrder.java

@@ -1,6 +1,8 @@
 package com.inspur.domain;
 
 import java.util.Date;
+import java.util.List;
+
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.ToString;
@@ -188,4 +190,7 @@ public class ElevatorWorkOrder extends BaseEntity {
     @Excel(name = "设备编码")
     private String deviceNo;
 
+    /** 用户输入的电梯编码 */
+    private String dtmfList;
+
 }

+ 108 - 0
inspur-work/src/main/java/com/inspur/domain/ElevatorWorkOrderExport.java

@@ -0,0 +1,108 @@
+package com.inspur.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.inspur.common.annotation.Excel;
+import com.inspur.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.ToString;
+
+import java.util.Date;
+
+/**
+ * 工单系统对象 elevator_work_order
+ *
+ * @author inspur
+ * @date 2024-09-20
+ */
+@Data
+@ToString
+public class ElevatorWorkOrderExport {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    private Long id;
+
+    /**
+     * 被困人员电话
+     */
+    @Excel(name = "被困人员电话")
+    private String trappedPersonTel;
+
+    /**
+     * 所属区域
+     */
+    @Excel(name = "所属区域")
+    private String region;
+
+    /**
+     * 详细使用地点
+     */
+    @Excel(name = "详细使用地点")
+    private String community;
+
+
+    /**
+     * 电梯名称
+     */
+    @Excel(name = "电梯名称")
+    private String elevatorName;
+
+    /**
+     * 电梯安全码
+     */
+    @Excel(name = "电梯安全码")
+    private String securityCode;
+
+    /**
+     * 被困人员输入的安全码
+     */
+    @Excel(name = "被困人员输入的安全码")
+    private String dtmfList;
+
+    /**
+     * 维保公司
+     */
+    @Excel(name = "维保公司")
+    private String maintCompany;
+
+    /**
+     * 维保人员1
+     */
+    @Excel(name = "维保人员1")
+    private String maintFristPerson;
+
+    /**
+     * 维保人员1电话
+     */
+    @Excel(name = "维保人员1电话")
+    private String maintfristTel;
+
+    /**
+     * 维保人员2
+     */
+    @Excel(name = "维保人员2")
+    private String maintSecondPerson;
+
+    /**
+     * 维保人员2电话
+     */
+    @Excel(name = "维保人员2电话")
+    private String maintSecondTel;
+
+
+    /** 设备注册编码 */
+    @Excel(name = "设备出厂编号")
+    private String deviceSn;
+
+    /** 设备编码 */
+    @Excel(name = "设备代码")
+    private String deviceNo;
+
+    /** 创建时间 */
+    @Excel(name = "报警时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Excel.Type.EXPORT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+}

+ 7 - 0
inspur-work/src/main/java/com/inspur/mapper/ElevatorWorkOrderMapper.java

@@ -2,6 +2,7 @@ package com.inspur.mapper;
 
 import java.util.List;
 import com.inspur.domain.ElevatorWorkOrder;
+import com.inspur.domain.ElevatorWorkOrderExport;
 import org.apache.ibatis.annotations.Param;
 
 /**
@@ -73,4 +74,10 @@ public interface ElevatorWorkOrderMapper
      * @param status
      */
     public void updateWorkOrderStatusByCallId(@Param("callId") String callId, @Param("status") Integer status);
+
+    /**
+     * 导出安全码正确 未接单数据
+     * @return
+     */
+    List<ElevatorWorkOrderExport> selectElevatorWorkOrderNoAnswer();
 }

+ 16 - 8
inspur-work/src/main/java/com/inspur/service/IElevatorWorkOrderService.java

@@ -2,18 +2,19 @@ package com.inspur.service;
 
 import java.util.List;
 import com.inspur.domain.ElevatorWorkOrder;
+import com.inspur.domain.ElevatorWorkOrderExport;
 
 /**
  * 工单系统Service接口
- * 
+ *
  * @author inspur
  * @date 2024-09-20
  */
-public interface IElevatorWorkOrderService 
+public interface IElevatorWorkOrderService
 {
     /**
      * 查询工单系统
-     * 
+     *
      * @param id 工单系统主键
      * @return 工单系统
      */
@@ -21,7 +22,7 @@ public interface IElevatorWorkOrderService
 
     /**
      * 查询工单系统列表
-     * 
+     *
      * @param elevatorWorkOrder 工单系统
      * @return 工单系统集合
      */
@@ -29,7 +30,7 @@ public interface IElevatorWorkOrderService
 
     /**
      * 新增工单系统
-     * 
+     *
      * @param elevatorWorkOrder 工单系统
      * @return 结果
      */
@@ -37,7 +38,7 @@ public interface IElevatorWorkOrderService
 
     /**
      * 修改工单系统
-     * 
+     *
      * @param elevatorWorkOrder 工单系统
      * @return 结果
      */
@@ -45,7 +46,7 @@ public interface IElevatorWorkOrderService
 
     /**
      * 批量删除工单系统
-     * 
+     *
      * @param ids 需要删除的工单系统主键集合
      * @return 结果
      */
@@ -53,9 +54,16 @@ public interface IElevatorWorkOrderService
 
     /**
      * 删除工单系统信息
-     * 
+     *
      * @param id 工单系统主键
      * @return 结果
      */
     public int deleteElevatorWorkOrderById(Long id);
+
+    /**
+     * 导出安全码正确 未接单数据
+     * @param elevatorWorkOrder
+     * @return
+     */
+    List<ElevatorWorkOrderExport> selectElevatorWorkOrderNoAnswer(ElevatorWorkOrder elevatorWorkOrder);
 }

+ 77 - 17
inspur-work/src/main/java/com/inspur/service/impl/ElevatorWorkOrderServiceImpl.java

@@ -1,28 +1,40 @@
 package com.inspur.service.impl;
 
-import java.util.List;
 import com.inspur.common.utils.DateUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import com.inspur.mapper.ElevatorWorkOrderMapper;
+import com.inspur.common.utils.StringUtils;
+import com.inspur.domain.ElevatorWorkNode;
 import com.inspur.domain.ElevatorWorkOrder;
+import com.inspur.domain.ElevatorWorkOrderExport;
+import com.inspur.mapper.ElevatorWorkNodeMapper;
+import com.inspur.mapper.ElevatorWorkOrderMapper;
 import com.inspur.service.IElevatorWorkOrderService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static com.inspur.common.utils.PageUtils.startPage;
 
 /**
  * 工单系统Service业务层处理
- * 
+ *
  * @author inspur
  * @date 2024-09-20
  */
 @Service
-public class ElevatorWorkOrderServiceImpl implements IElevatorWorkOrderService 
+public class ElevatorWorkOrderServiceImpl implements IElevatorWorkOrderService
 {
     @Autowired
     private ElevatorWorkOrderMapper elevatorWorkOrderMapper;
 
+    @Autowired
+    private ElevatorWorkNodeMapper elevatorWorkNodeMapper;
+
     /**
      * 查询工单系统
-     * 
+     *
      * @param id 工单系统主键
      * @return 工单系统
      */
@@ -34,32 +46,80 @@ public class ElevatorWorkOrderServiceImpl implements IElevatorWorkOrderService
 
     /**
      * 查询工单系统列表
-     * 
+     *
      * @param elevatorWorkOrder 工单系统
      * @return 工单系统
      */
     @Override
-    public List<ElevatorWorkOrder> selectElevatorWorkOrderList(ElevatorWorkOrder elevatorWorkOrder)
-    {
-        return elevatorWorkOrderMapper.selectElevatorWorkOrderList(elevatorWorkOrder);
+    public List<ElevatorWorkOrder> selectElevatorWorkOrderList(ElevatorWorkOrder elevatorWorkOrder) {
+        startPage();
+        List<ElevatorWorkOrder> list = elevatorWorkOrderMapper.selectElevatorWorkOrderList(elevatorWorkOrder);
+        if (!CollectionUtils.isEmpty(list)) {
+            list.forEach(item -> {
+                ElevatorWorkNode queryParam = new ElevatorWorkNode();
+                queryParam.setWorkOrderId(item.getId());
+                queryParam.setType("2");
+                List<ElevatorWorkNode> workNodeList = elevatorWorkNodeMapper.selectElevatorWorkNodeList(queryParam);
+                List<String> dtmfList = new ArrayList<>();
+                if (!CollectionUtils.isEmpty(workNodeList)) {
+                    workNodeList.forEach(workNode -> {
+                        String contentName = workNode.getContentName();
+                        if (!StringUtils.isEmpty(contentName)) {
+                            dtmfList.add(contentName.replace("电梯安全码:",""));
+                        }
+                    });
+                }
+                if (!CollectionUtils.isEmpty(dtmfList)){
+                    // 逗号分割形成字符串
+                    item.setDtmfList(String.join(",", dtmfList));
+                }
+            });
+        }
+        return list;
+    }
+
+    @Override
+    public List<ElevatorWorkOrderExport> selectElevatorWorkOrderNoAnswer(ElevatorWorkOrder elevatorWorkOrder) {
+        List<ElevatorWorkOrderExport> result = elevatorWorkOrderMapper.selectElevatorWorkOrderNoAnswer();
+        if (!CollectionUtils.isEmpty(result)) {
+            result.forEach(item -> {
+                ElevatorWorkNode queryParam = new ElevatorWorkNode();
+                queryParam.setWorkOrderId(item.getId());
+                queryParam.setType("2");
+                List<ElevatorWorkNode> workNodeList = elevatorWorkNodeMapper.selectElevatorWorkNodeList(queryParam);
+                List<String> dtmfList = new ArrayList<>();
+                if (!CollectionUtils.isEmpty(workNodeList)) {
+                    workNodeList.forEach(workNode -> {
+                        String contentName = workNode.getContentName();
+                        if (!StringUtils.isEmpty(contentName)) {
+                            dtmfList.add(contentName.replace("电梯安全码:",""));
+                        }
+                    });
+                }
+                if (!CollectionUtils.isEmpty(dtmfList)){
+                    // 逗号分割形成字符串
+                    item.setDtmfList(String.join(",", dtmfList));
+                }
+            });
+        }
+        return result;
     }
 
     /**
      * 新增工单系统
-     * 
+     *
      * @param elevatorWorkOrder 工单系统
      * @return 结果
      */
     @Override
-    public int insertElevatorWorkOrder(ElevatorWorkOrder elevatorWorkOrder)
-    {
+    public int insertElevatorWorkOrder(ElevatorWorkOrder elevatorWorkOrder) {
         elevatorWorkOrder.setCreateTime(DateUtils.getNowDate());
         return elevatorWorkOrderMapper.insertElevatorWorkOrder(elevatorWorkOrder);
     }
 
     /**
      * 修改工单系统
-     * 
+     *
      * @param elevatorWorkOrder 工单系统
      * @return 结果
      */
@@ -72,7 +132,7 @@ public class ElevatorWorkOrderServiceImpl implements IElevatorWorkOrderService
 
     /**
      * 批量删除工单系统
-     * 
+     *
      * @param ids 需要删除的工单系统主键
      * @return 结果
      */
@@ -84,7 +144,7 @@ public class ElevatorWorkOrderServiceImpl implements IElevatorWorkOrderService
 
     /**
      * 删除工单系统信息
-     * 
+     *
      * @param id 工单系统主键
      * @return 结果
      */

+ 29 - 6
inspur-work/src/main/resources/mapper/work/ElevatorWorkOrderMapper.xml

@@ -5,11 +5,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 <mapper namespace="com.inspur.mapper.ElevatorWorkOrderMapper">
 
     <resultMap type="com.inspur.domain.ElevatorWorkOrder" id="ElevatorWorkOrderResult">
-        <result property="id"    column="id"    />
-        <result property="trappedPersonTel"    column="trapped_person_tel"    />
-        <result property="region"    column="region"    />
-        <result property="regionCode"    column="region_code"    />
-        <result property="community"    column="community"    />
+        <result property="id" column="id"    />
+        <result property="trappedPersonTel" column="trapped_person_tel"/>
+        <result property="region"    column="region"/>
+        <result property="regionCode" column="region_code"/>
+        <result property="community" column="community"    />
         <result property="building"    column="building"    />
         <result property="elevatorName"    column="elevator_name"    />
         <result property="securityCode"    column="security_code"    />
@@ -202,7 +202,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </update>
 
     <delete id="deleteElevatorWorkOrderById" parameterType="Long">
-        delete from ELEVATOR_EMERGENCY.elevator_work_order where id = #{id}
+        delete
+        from ELEVATOR_EMERGENCY.elevator_work_order
+        where id = #{id}
     </delete>
 
     <delete id="deleteElevatorWorkOrderByIds" parameterType="String">
@@ -211,4 +213,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{id}
         </foreach>
     </delete>
+
+    <select id="selectElevatorWorkOrderNoAnswer" resultType="com.inspur.domain.ElevatorWorkOrderExport">
+        select
+            id as id,
+            trapped_person_tel  as trappedPersonTel,
+            region,
+            community,
+            elevator_name       as elevatorName,
+            security_code       as securityCode,
+            maint_company       as maintCompany,
+            maint_frist_person  as maintFristPerson,
+            maintfrist_tel      as maintfristTel,
+            maint_second_person as maintSecondPerson,
+            maint_second_tel    as maintSecondTel,
+            create_time         as createTime,
+            device_sn           as deviceSn,
+            device_no           as deviceNo
+        from ELEVATOR_EMERGENCY.elevator_work_order
+        where status = 0 and elevator_name is not null
+        order by id desc
+    </select>
 </mapper>