From e85c1425f6152ff82687cdccf04869e57536b5ce Mon Sep 17 00:00:00 2001
From: lius <Lius2225@163.com>
Date: 星期五, 01 九月 2023 16:14:56 +0800
Subject: [PATCH] 加班管理导出接口

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentOvertimeController.java    |    4 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentOvertimeServiceImpl.java |   61 +++++++++++++++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOvertimeMapper.xml         |   38 +++++++++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcNoplanCloseServiceImpl.java       |    2 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentOvertime.java                  |   60 +++++++-------
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentOvertimeService.java         |   11 ++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentOvertimeMapper.java            |    9 ++
 7 files changed, 154 insertions(+), 31 deletions(-)

diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentOvertimeController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentOvertimeController.java
index 485e9b1..15326dc 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentOvertimeController.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentOvertimeController.java
@@ -139,7 +139,9 @@
      */
     @RequestMapping(value = "/exportXls")
     public ModelAndView exportXls(HttpServletRequest request, MdcEquipmentOvertime mdcEquipmentOvertime) {
-        return super.exportXls(request, mdcEquipmentOvertime, MdcEquipmentOvertime.class, "璁惧鍔犵彮绠$悊");
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = user.getId();
+        return mdcEquipmentOvertimeService.exportXls(userId, mdcEquipmentOvertime);
     }
 
     /**
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentOvertime.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentOvertime.java
index b7f506f..bf2d75d 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentOvertime.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentOvertime.java
@@ -28,6 +28,37 @@
 
     private static final long serialVersionUID = -7163039765166584824L;
 
+    @TableField(exist = false)
+    @Excel(name = "璁惧缂栧彿", width = 20)
+    private String equipmentId;
+
+    @TableField(exist = false)
+    @Excel(name = "璁惧鍚嶇О", width = 20)
+    private String equipmentName;
+
+    /**
+     * 鐢熸晥鏃ユ湡
+     */
+    @Excel(name = "鐢熸晥鏃ユ湡", width = 15)
+    @TableField(exist = false)
+    private String effectiveDate;
+
+    /**
+     * 鐝寮�濮嬫椂闂�
+     */
+    @Excel(name = "鐝寮�濮嬫椂闂�", width = 20)
+    @ApiModelProperty("鐝寮�濮嬫椂闂�")
+    @TableField(exist = false)
+    private String startDate;
+
+    /**
+     * 鐝缁撴潫鏃堕棿
+     */
+    @Excel(name = "鐝缁撴潫鏃堕棿", width = 20)
+    @ApiModelProperty("鐝缁撴潫鏃堕棿")
+    @TableField(exist = false)
+    private String endDate;
+
     /**
      * 宸ヤ綔鏃ュ巻id
      */
@@ -53,35 +84,6 @@
     @Excel(name = "澶囨敞")
     @ApiModelProperty(value = "澶囨敞")
     private String remark;
-
-    @TableField(exist = false)
-    private String equipmentId;
-
-    @TableField(exist = false)
-    private String equipmentName;
-
-    /**
-     * 鐢熸晥鏃ユ湡
-     */
-    @Excel(name = "鐢熸晥鏃ユ湡", width = 15)
-    @TableField(exist = false)
-    private String effectiveDate;
-
-    /**
-     * 鐝寮�濮嬫椂闂�
-     */
-    @Excel(name = "鐝寮�濮嬫椂闂�", width = 20, format = "HH:mm:ss")
-    @ApiModelProperty("鐝寮�濮嬫椂闂�")
-    @TableField(exist = false)
-    private String startDate;
-
-    /**
-     * 鐝缁撴潫鏃堕棿
-     */
-    @Excel(name = "鐝缁撴潫鏃堕棿", width = 20, format = "HH:mm:ss")
-    @ApiModelProperty("鐝缁撴潫鏃堕棿")
-    @TableField(exist = false)
-    private String endDate;
 
     /**
      * 鍓嶅彴浼犲叆 鍒ゆ柇姣忎釜id
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentOvertimeMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentOvertimeMapper.java
index 14c933b..14f3a7c 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentOvertimeMapper.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentOvertimeMapper.java
@@ -7,6 +7,8 @@
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.mdc.entity.MdcEquipmentOvertime;
 
+import java.util.List;
+
 /**
  * @Description: 璁惧鍔犵彮绠$悊
  * @Author: Lius
@@ -24,4 +26,11 @@
      */
     IPage<MdcEquipmentOvertime> pageList(Page<MdcEquipmentOvertime> page, @Param("mdcEquipmentOvertime") MdcEquipmentOvertime mdcEquipmentOvertime);
 
+    /**
+     * list鍒楄〃
+     * @param mdcEquipmentOvertime
+     * @return
+     */
+    List<MdcEquipmentOvertime> list(@Param("mdcEquipmentOvertime") MdcEquipmentOvertime mdcEquipmentOvertime);
+
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOvertimeMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOvertimeMapper.xml
index c6e2f5a..65a66dd 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOvertimeMapper.xml
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOvertimeMapper.xml
@@ -39,4 +39,42 @@
         </where>
         order by t2.effective_date asc
     </select>
+
+    <!--list鍒楄〃-->
+    <select id="list" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentOvertime">
+        SELECT
+            t1.id,
+            t2.equipment_id equipmentId,
+            t4.equipment_name equipmentName,
+            t2.effective_date effectiveDate,
+            t3.start_date startDate,
+            t3.end_date endDate,
+            t1.start_time startTime,
+            t1.end_time endTime,
+            t1.remark remark,
+            t1.create_by createBy,
+            t1.create_time createTime,
+            t1.update_by updateBy,
+            t1.update_time updateTime
+        FROM
+            mdc_equipment_overtime t1
+            LEFT JOIN mdc_device_calendar t2 ON t1.calendar_id = t2.id
+            LEFT JOIN mdc_shift_sub t3 ON t3.id = t2.shift_sub_id
+            LEFT JOIN mdc_equipment t4 ON t4.equipment_id = t2.equipment_id
+        <where>
+            <if test="mdcEquipmentOvertime.equipmentName != null and mdcEquipmentOvertime.equipmentName != '' ">
+                AND t4.equipment_name LIKE CONCAT(CONCAT('%',#{mdcEquipmentOvertime.equipmentName}),'%')
+            </if>
+            <if test="mdcEquipmentOvertime.equipmentId != null and mdcEquipmentOvertime.equipmentId != '' ">
+                AND t2.equipment_id LIKE CONCAT(CONCAT('%',#{mdcEquipmentOvertime.equipmentId}),'%')
+            </if>
+            <if test="mdcEquipmentOvertime.mdcSectionIds != null and mdcEquipmentOvertime.mdcSectionIds.size() > 0 ">
+                AND t2.equipment_id IN
+                <foreach collection="mdcEquipmentOvertime.mdcSectionIds" item="id" index="index" open="(" close=")" separator=",">
+                    #{ id }
+                </foreach>
+            </if>
+        </where>
+        order by t2.effective_date asc
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentOvertimeService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentOvertimeService.java
index 964ed73..6282eac 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentOvertimeService.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentOvertimeService.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.mdc.entity.MdcEquipmentOvertime;
+import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
 
@@ -26,4 +27,14 @@
      * @return
      */
     IPage<MdcEquipmentOvertime> pageList(String userId, Page<MdcEquipmentOvertime> page, MdcEquipmentOvertime mdcEquipmentOvertime, HttpServletRequest req);
+
+    /**
+     * 瀵煎嚭
+     *
+     * @param userId
+     * @param mdcEquipmentOvertime
+     * @return
+     */
+    ModelAndView exportXls(String userId, MdcEquipmentOvertime mdcEquipmentOvertime);
+
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentOvertimeServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentOvertimeServiceImpl.java
index 06e7f9b..07d569a 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentOvertimeServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentOvertimeServiceImpl.java
@@ -5,11 +5,18 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.mdc.entity.MdcEquipmentOvertime;
+import org.jeecg.modules.mdc.entity.MdcNoplanClose;
 import org.jeecg.modules.mdc.mapper.MdcEquipmentOvertimeMapper;
 import org.jeecg.modules.mdc.service.IMdcEquipmentOvertimeService;
 import org.jeecg.modules.mdc.service.IMdcEquipmentService;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
 import org.springframework.stereotype.Service;
+import org.springframework.web.servlet.ModelAndView;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
@@ -63,4 +70,58 @@
         }
         return this.baseMapper.pageList(page, mdcEquipmentOvertime);
     }
+
+    /**
+     * 瀵煎嚭
+     *
+     * @param userId
+     * @param mdcEquipmentOvertime
+     * @return
+     */
+    @Override
+    public ModelAndView exportXls(String userId, MdcEquipmentOvertime mdcEquipmentOvertime) {
+        List<String> equipmentIds = new ArrayList<>();
+        if (StringUtils.isNotEmpty(mdcEquipmentOvertime.getParentId()) && StringUtils.isEmpty(mdcEquipmentOvertime.getEquipmentId())) {
+            if ("2".equals(mdcEquipmentOvertime.getTypeTree())) {
+                //閮ㄩ棬灞傜骇
+                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, mdcEquipmentOvertime.getParentId());
+            } else {
+                //浜х嚎灞傜骇
+                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, mdcEquipmentOvertime.getParentId());
+            }
+        } else if (StringUtils.isNotEmpty(mdcEquipmentOvertime.getEquipmentId())) {
+            //鍗曞彴璁惧淇℃伅
+            mdcEquipmentOvertime.setMdcSectionIds(Collections.singletonList(mdcEquipmentOvertime.getEquipmentId()));
+        } else {
+            //鏌ヨ鐢ㄦ埛鎷ユ湁鐨勬墍鏈夎澶囦俊鎭�
+            if ("2".equals(mdcEquipmentOvertime.getTypeTree())) {
+                //閮ㄩ棬灞傜骇
+                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, null);
+            } else {
+                //浜х嚎灞傜骇
+                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, null);
+            }
+        }
+
+        if (mdcEquipmentOvertime.getMdcSectionIds() == null || mdcEquipmentOvertime.getMdcSectionIds().isEmpty()) {
+            mdcEquipmentOvertime.setMdcSectionIds(equipmentIds);
+        }
+
+        if (mdcEquipmentOvertime.getMdcSectionIds() == null || mdcEquipmentOvertime.getMdcSectionIds().isEmpty()) {
+            return null;
+        }
+        // Step.2 AutoPoi 瀵煎嚭Excel
+        ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
+        List<MdcEquipmentOvertime> mdcEquipmentOvertimes = this.baseMapper.list(mdcEquipmentOvertime);
+        // 瀵煎嚭鏂囦欢鍚嶇О
+        mv.addObject(NormalExcelConstants.FILE_NAME, "鍔犵彮绠$悊鍒楄〃");
+        mv.addObject(NormalExcelConstants.CLASS, MdcEquipmentOvertime.class);
+        //鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛
+        //update-begin---author:wangshuai ---date:20211227  for锛歔JTC-116]瀵煎嚭浜哄啓姝讳簡------------
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("鍔犵彮绠$悊鍒楄〃鏁版嵁", "瀵煎嚭浜�:"+user.getRealname(), "鍔犵彮绠$悊"));
+        //update-end---author:wangshuai ---date:20211227  for锛歔JTC-116]瀵煎嚭浜哄啓姝讳簡------------
+        mv.addObject(NormalExcelConstants.DATA_LIST, mdcEquipmentOvertimes);
+        return mv;
+    }
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcNoplanCloseServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcNoplanCloseServiceImpl.java
index 699683d..6ca849d 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcNoplanCloseServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcNoplanCloseServiceImpl.java
@@ -312,7 +312,7 @@
         //鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛
         //update-begin---author:wangshuai ---date:20211227  for锛歔JTC-116]瀵煎嚭浜哄啓姝讳簡------------
         LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("闈炶鍒掑仠鏈虹淮鎶ゅ垪琛ㄦ暟鎹�", "瀵煎嚭浜�:"+user.getRealname(), "瀵煎嚭淇℃伅"));
+        mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("闈炶鍒掑仠鏈虹淮鎶ゅ垪琛ㄦ暟鎹�", "瀵煎嚭浜�:"+user.getRealname(), "闈炶鍒掑仠鏈虹淮鎶�"));
         //update-end---author:wangshuai ---date:20211227  for锛歔JTC-116]瀵煎嚭浜哄啓姝讳簡------------
         mv.addObject(NormalExcelConstants.DATA_LIST, mdcNoplanCloses);
         return mv;

--
Gitblit v1.9.3