Просмотр исходного кода

个人驾驶舱-工分明细列表导出功能

wanglt 3 месяцев назад
Родитель
Сommit
3d94d10636

+ 18 - 0
ygtx-gxt/src/main/java/com/ygtx/gxt/controller/GxtOrderPersonController.java

@@ -3,8 +3,12 @@ package com.ygtx.gxt.controller;
 import java.util.List;
 
 import com.ygtx.common.utils.SecurityUtils;
+import com.ygtx.common.utils.poi.ExcelUtil;
+import com.ygtx.common.annotation.Log;
+import com.ygtx.common.enums.BusinessType;
 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.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -13,6 +17,8 @@ import com.ygtx.common.core.controller.BaseController;
 import com.ygtx.gxt.domain.GxtOrderPerson;
 import com.ygtx.gxt.service.IGxtOrderPersonService;
 
+import javax.servlet.http.HttpServletResponse;
+
 /**
  * 人员工单工分Controller
  * 
@@ -36,4 +42,16 @@ public class GxtOrderPersonController extends BaseController
         List<GxtOrderPerson> list = gxtOrderPersonService.selectGxtOrderPersonList(gxtOrderPerson);
         return getDataTable(list);
     }
+
+    /**
+     * 导出人员工单工分列表
+     */
+    @PostMapping("/exportOrderScorePerson")
+    public void export(HttpServletResponse response, GxtOrderPerson gxtOrderPerson)
+    {
+        gxtOrderPerson.setUserId(SecurityUtils.getUserId());
+        List<GxtOrderPerson> list = gxtOrderPersonService.selectGxtOrderPersonList(gxtOrderPerson);
+        ExcelUtil<GxtOrderPerson> util = new ExcelUtil<GxtOrderPerson>(GxtOrderPerson.class);
+        util.exportExcel(response, list, "工分明细列表");
+    }
 }

+ 14 - 2
ygtx-gxt/src/main/java/com/ygtx/gxt/domain/GxtOrderPerson.java

@@ -2,6 +2,8 @@ package com.ygtx.gxt.domain;
 
 import java.math.BigDecimal;
 
+import com.ygtx.common.annotation.Excel;
+
 /**
  * 人员工单工分实体类
  * @author ruoyi
@@ -10,27 +12,37 @@ public class GxtOrderPerson {
     /** 用户ID */
     private Long userId;
 
+    private String nickName;
+
     /** 工单编码 */
+    @Excel(name = "工单编码")
     private String orderCode;
 
     /** 维保中心 */
+    @Excel(name = "维保中心")
     private String center;
 
     /** 所属场站 */
+    @Excel(name = "所属场站")
     private String parent;
 
     /** 作业场站 */
+    @Excel(name = "作业场站")
     private String pcs;
 
     /** 工单类型 */
+    @Excel(name = "工单类型")
     private String orderType;
 
-    private String scoreType;
-
     /** 完成日期 */
+    @Excel(name = "日期")
     private String finishDate;
 
+    @Excel(name = "奖惩类型")
+    private String scoreType;
+
     /** 得分 */
+    @Excel(name = "奖惩分")
     private BigDecimal score;
 
     public Long getUserId() {

+ 3 - 0
ygtx-gxt/src/main/resources/mapper/gxt/gxtOrderPersonMapper.xml

@@ -6,6 +6,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     
     <resultMap type="com.ygtx.gxt.domain.GxtOrderPerson" id="GxtOrderPersonResult">
         <result property="userId" column="user_id"/>
+        <result property="nickName" column="nick_name"/>
         <result property="orderCode" column="order_code"/>
         <result property="center" column="center"/>
         <result property="parent" column="parent"/>
@@ -64,6 +65,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <select id="selectGxtScoreDetailList" parameterType="GxtOrderPerson" resultMap="GxtOrderPersonResult">
         SELECT
+            u.nick_name,
             CASE WHEN t.order_type=1 THEN ro.work_order_project_no ELSE wo.work_order_project_no END AS order_code,
             CASE WHEN t.order_type=1 THEN ro.gxt_center	ELSE wo.gxt_center END AS center,
             d.dept_name AS parent,DATE( t.create_time ) AS finish_date,t.user_id,
@@ -71,6 +73,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             CASE WHEN t.order_type=1 THEN '维修工单' ELSE '维保工单' END AS order_type,
             CASE WHEN t.score_type=1 THEN '工单得分' WHEN t.score_type=2 THEN '运行得分' ELSE '停机扣分' END AS score_type,t.score
         FROM gxt_order_score_detail t
+            LEFT JOIN sys_user u ON t.user_id=u.user_id
             LEFT JOIN gxt_repair_order ro ON t.order_id=ro.id
             LEFT JOIN gxt_work_order wo ON wo.id=t.order_id
             LEFT JOIN sys_dept d ON

+ 10 - 0
ygtx-ui/src/api/gxt/gxtOrderPerson.js

@@ -7,4 +7,14 @@ export function listGxtOrderPerson(query) {
     method: 'get',
     params: query
   })
+}
+
+// 导出工单人员列表
+export function exportGxtOrderPerson(query) {
+  return request({
+    url: '/gxt/orderperson/export',
+    method: 'get',
+    params: query,
+    responseType: 'blob'
+  })
 }

+ 7 - 1
ygtx-ui/src/views/index5.vue

@@ -213,6 +213,8 @@
                   prefix-icon="search"
                   clearable
                 />
+                <el-button @click="handleExport">
+                  <i class="fa fa-download" style="margin-right: 8px;"></i>导出</el-button>
               </div>
             </div>
           </template>
@@ -262,7 +264,7 @@
 import { ref, reactive } from 'vue';
 import { selectHomePageData } from '@/api/gxt/repairOrder';
 import { listMyTodo } from '@/api/gxt/orderMine';
-import { listGxtOrderPerson } from '@/api/gxt/gxtOrderPerson';
+import { listGxtOrderPerson, exportGxtOrderPerson } from '@/api/gxt/gxtOrderPerson';
 import { encryptParams } from '@/utils/encrypt';
 import { getConfigKey } from '@/api/system/config';
 
@@ -507,6 +509,10 @@ export default {
         this.$router.push("/mine/orderMyRelate");
       }
     },
+    // 导出工单人员数据
+    handleExport() {
+      this.download("gxt/orderperson/exportOrderScorePerson", this.queryParams, `工分明细列表_${new Date().getTime()}.xlsx`);
+    },
   }
 }
 </script>