From f9c42e6879387bdad34e714d7a91add2bb182934 Mon Sep 17 00:00:00 2001
From: lius <Lius2225@163.com>
Date: 星期一, 10 七月 2023 11:23:53 +0800
Subject: [PATCH] 扭矩配置导入导出分页列表接口bug修复

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcTorqueConfig.java                  |   14 +++
 /dev/null                                                                                        |   20 -----
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcTorqueConfigService.java         |   15 +++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcTorqueConfigController.java    |   14 ++-
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcTorqueConfigMapper.xml         |   34 +++++---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcTorqueConfigServiceImpl.java |   92 ++++++++++++++++++++--
 6 files changed, 134 insertions(+), 55 deletions(-)

diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcTorqueConfigController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcTorqueConfigController.java
index bd70b6f..7981de8 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcTorqueConfigController.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcTorqueConfigController.java
@@ -1,5 +1,6 @@
 package org.jeecg.modules.mdc.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -13,7 +14,6 @@
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.mdc.entity.MdcTorqueConfig;
 import org.jeecg.modules.mdc.service.IMdcTorqueConfigService;
-import org.jeecg.modules.mdc.vo.MdcTorqueConfigVo;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
 
@@ -54,17 +54,17 @@
     /**
      * 鎵煩閰嶇疆绠$悊-鏂板
      *
-     * @param torqueVo
+     * @param mdcTorqueConfig
      * @return
      */
     @AutoLog(value = "鎵煩閰嶇疆绠$悊-鏂板")
     @ApiOperation(value = "鎵煩閰嶇疆绠$悊-鏂板", notes = "鎵煩閰嶇疆绠$悊-鏂板")
     @PostMapping("/addMdcTorqueConfig")
-    public Result addMdcTorqueConfig(@RequestBody MdcTorqueConfigVo torqueVo) {
-        if (StringUtils.isBlank(torqueVo.getEquipmentIds())) {
+    public Result addMdcTorqueConfig(@RequestBody MdcTorqueConfig mdcTorqueConfig) {
+        if (StringUtils.isBlank(mdcTorqueConfig.getEquipmentIds())) {
             return Result.error("鏈�夋嫨璁惧锛岃鎺掓煡");
         }
-        boolean result = mdcTorqueConfigService.addTorque(torqueVo);
+        boolean result = mdcTorqueConfigService.addTorque(mdcTorqueConfig);
         if (!result) {
             return Result.error("鏃堕棿娈垫暟鎹凡瀛樺湪锛岃鎺掓煡");
         }
@@ -125,7 +125,9 @@
     @ApiOperation(value = "鎵煩閰嶇疆绠$悊-瀵煎嚭", notes = "鎵煩閰嶇疆绠$悊-瀵煎嚭")
     @RequestMapping("/exportXls")
     public ModelAndView exportXls(HttpServletRequest request, MdcTorqueConfig mdcTorqueConfig) {
-        return super.exportXls(request, mdcTorqueConfig, MdcTorqueConfig.class, "鎵煩閰嶇疆绠$悊瀵煎嚭");
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = user.getId();
+        return this.mdcTorqueConfigService.exportXls(userId, mdcTorqueConfig);
     }
 
     /**
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcTorqueConfig.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcTorqueConfig.java
index 9501577..5162f82 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcTorqueConfig.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcTorqueConfig.java
@@ -48,13 +48,14 @@
     /**
      * 璁惧鍚嶇О
      */
-    @Excel(name = "璁惧鍚嶇О", width = 15)
+    @Excel(name = "璁惧鍚嶇О", width = 25)
     @ApiModelProperty("璁惧鍚嶇О")
     private String equipmentName;
 
     /**
      * 鏃堕棿
      */
+    @Excel(name = "鏃堕棿", width = 30, format = "yyyy-MM-dd HH:mm:ss")
     @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "鏃堕棿")
@@ -70,7 +71,7 @@
     /**
      * 澶囨敞
      */
-    @Excel(name = "澶囨敞", width = 15)
+    @Excel(name = "澶囨敞", width = 30)
     @ApiModelProperty("澶囨敞")
     private String notes;
 
@@ -104,6 +105,15 @@
     @ApiModelProperty("鏇存柊浜�")
     private String updateBy;
 
+    @TableField(exist = false)
+    private String equipmentIds;
+
+    @TableField(exist = false)
+    private String startTime;
+
+    @TableField(exist = false)
+    private String endTime;
+
     /**
      * 鍓嶅彴浼犲叆锛屽垽鏂瘡涓猧d
      */
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcTorqueConfigMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcTorqueConfigMapper.xml
index 61025a0..31a07f8 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcTorqueConfigMapper.xml
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcTorqueConfigMapper.xml
@@ -5,21 +5,27 @@
     <select id="findSpindleRunningCurve" resultType="org.jeecg.modules.mdc.entity.MdcTorqueConfig">
         select mtc.* from mdc_torque_config mtc where mtc.torque_value=#{torqueValue} and mtc.equipment_id=#{equipmentId}
     </select>
+
     <!--鏍规嵁杞﹂棿灞傜骇鏌ヨ鎵煩閰嶇疆鍒楄〃-->
     <select id="pageList" resultType="org.jeecg.modules.mdc.entity.MdcTorqueConfig">
-        select mtc.* from mdc_torque_config mtc,mdc_equipment me where mtc.equipment_id=me.equipment_id
-        <if test="mdcTorqueConfig.equipmentName !=null and mdcTorqueConfig.equipmentName !='' ">
-            and mtc.equipment_name like concat(concat('%',#{mdcTorqueConfig.equipmentName}),'%')
-        </if>
-        <if test="mdcTorqueConfig.equipmentId !=null and mdcTorqueConfig.equipmentId !='' ">
-            and mtc.equipment_id like concat(concat('%',#{mdcTorqueConfig.equipmentId}),'%')
-        </if>
-        <if test="mdcTorqueConfig.mdcSectionIds !=null || mdcTorqueConfig.mdcSectionIds.size() > 0 ">
-            and mtc.equipment_id in
-            <foreach collection="mdcTorqueConfig.mdcSectionIds" item="id" index="index" open="(" close=")"
-                     separator=",">
-                #{id}
-            </foreach>
-        </if>
+        select * from mdc_torque_config
+        <where>
+            <if test="mdcTorqueConfig.equipmentId != null and mdcTorqueConfig.equipmentId != '' ">
+                AND equipment_id LIKE CONCAT(CONCAT('%',#{mdcTorqueConfig.equipmentId}),'%')
+            </if>
+            <if test="mdcTorqueConfig.equipmentName != null and mdcTorqueConfig.equipmentName != '' ">
+                AND equipment_name LIKE CONCAT(CONCAT('%',#{mdcTorqueConfig.equipmentName}),'%')
+            </if>
+            <if test="mdcTorqueConfig.startTime != null and mdcTorqueConfig.endTime != null">
+                AND torque_date BETWEEN #{ mdcTorqueConfig.startTime } AND #{ mdcTorqueConfig.endTime }
+            </if>
+            <if test="mdcTorqueConfig.mdcSectionIds != null and mdcTorqueConfig.mdcSectionIds.size() > 0 ">
+                AND equipment_id IN
+                <foreach collection="mdcTorqueConfig.mdcSectionIds" item="id" index="index" open="(" close=")" separator=",">
+                    #{ id }
+                </foreach>
+            </if>
+            ORDER BY torque_date ASC
+        </where>
     </select>
 </mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcTorqueConfigService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcTorqueConfigService.java
index b1a440d..c0f9a37 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcTorqueConfigService.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcTorqueConfigService.java
@@ -4,7 +4,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.mdc.entity.MdcTorqueConfig;
-import org.jeecg.modules.mdc.vo.MdcTorqueConfigVo;
+import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.List;
@@ -27,13 +27,15 @@
 
     /**
      * 娣诲姞鎵煩閰嶇疆
+     *
      * @param torqueVo
      * @return
      */
-    Boolean addTorque(MdcTorqueConfigVo torqueVo);
+    Boolean addTorque(MdcTorqueConfig torqueVo);
 
     /**
      * 缂栬緫鎵煩閰嶇疆
+     *
      * @param mdcTorqueConfig
      * @return
      */
@@ -74,4 +76,13 @@
      * @return
      */
     IPage<MdcTorqueConfig> pageList(String userId, Page page, HttpServletRequest req, MdcTorqueConfig mdcTorqueConfig);
+
+    /**
+     * 瀵煎嚭
+     *
+     * @param userId
+     * @param mdcTorqueConfig
+     * @return
+     */
+    ModelAndView exportXls(String userId, MdcTorqueConfig mdcTorqueConfig);
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcTorqueConfigServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcTorqueConfigServiceImpl.java
index 56756e0..5c752ac 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcTorqueConfigServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcTorqueConfigServiceImpl.java
@@ -5,15 +5,20 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.mdc.entity.MdcEquipment;
 import org.jeecg.modules.mdc.entity.MdcTorqueConfig;
 import org.jeecg.modules.mdc.mapper.MdcTorqueConfigMapper;
 import org.jeecg.modules.mdc.service.IMdcEquipmentService;
 import org.jeecg.modules.mdc.service.IMdcTorqueConfigService;
-import org.jeecg.modules.mdc.util.DateUtils;
-import org.jeecg.modules.mdc.vo.MdcTorqueConfigVo;
+import org.jeecg.modules.quartz.entity.QuartzJob;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.*;
@@ -35,18 +40,18 @@
     }
 
     @Override
-    public Boolean addTorque(MdcTorqueConfigVo torqueVo) {
+    public Boolean addTorque(MdcTorqueConfig mdcTorqueConfig) {
         boolean result = false;
-        String[] equipmentIds = torqueVo.getEquipmentIds().split(",");
+        String[] equipmentIds = mdcTorqueConfig.getEquipmentIds().split(",");
         for (String equipmentId : equipmentIds) {
             MdcEquipment mdcEquipment = mdcEquipmentService.findEquipmentNameByEquipmentId(equipmentId);
-            MdcTorqueConfig mdcTorqueConfig = new MdcTorqueConfig();
-            mdcTorqueConfig.setEquipmentId(equipmentId);
-            mdcTorqueConfig.setEquipmentName(mdcEquipment.getEquipmentName());
-            mdcTorqueConfig.setTorqueDate(torqueVo.getTorqueDate());
-            mdcTorqueConfig.setTorqueValue(torqueVo.getTorqueValue());
-            mdcTorqueConfig.setNotes(torqueVo.getNotes());
-            boolean b = super.save(mdcTorqueConfig);
+            MdcTorqueConfig torqueConfig = new MdcTorqueConfig();
+            torqueConfig.setEquipmentId(equipmentId);
+            torqueConfig.setEquipmentName(mdcEquipment.getEquipmentName());
+            torqueConfig.setTorqueDate(mdcTorqueConfig.getTorqueDate());
+            torqueConfig.setTorqueValue(mdcTorqueConfig.getTorqueValue());
+            torqueConfig.setNotes(mdcTorqueConfig.getNotes());
+            boolean b = super.save(torqueConfig);
             if (b) {
                 result = true;
             }
@@ -105,4 +110,69 @@
         }
         return this.baseMapper.pageList(page, mdcTorqueConfig);
     }
+
+    /**
+     * 瀵煎嚭
+     *
+     * @param userId
+     * @param mdcTorqueConfig
+     * @return
+     */
+    @Override
+    public ModelAndView exportXls(String userId, MdcTorqueConfig mdcTorqueConfig) {
+        // Step.1 缁勮鏌ヨ鏉′欢
+        LambdaQueryWrapper<MdcTorqueConfig> queryWrapper = new LambdaQueryWrapper<>();
+        List<String> equipmentIds = new ArrayList<>();
+        if (StringUtils.isNotEmpty(mdcTorqueConfig.getParentId()) && StringUtils.isEmpty(mdcTorqueConfig.getEquipmentId())) {
+            if ("2".equals(mdcTorqueConfig.getTypeTree())) {
+                //閮ㄩ棬灞傜骇
+                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, mdcTorqueConfig.getParentId());
+            } else {
+                //浜х嚎灞傜骇
+                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, mdcTorqueConfig.getParentId());
+            }
+        } else if (StringUtils.isNotEmpty(mdcTorqueConfig.getEquipmentId())) {
+            //鍗曞彴璁惧淇℃伅
+            mdcTorqueConfig.setMdcSectionIds(Collections.singletonList(mdcTorqueConfig.getEquipmentId()));
+        } else {
+            //鏌ヨ鐢ㄦ埛鎵�鎷ユ湁鐨勬墍鏈夎澶囦俊鎭�
+            if ("2".equals(mdcTorqueConfig.getTypeTree())) {
+                //閮ㄩ棬灞傜骇
+                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, null);
+            } else {
+                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, null);
+            }
+        }
+        if (mdcTorqueConfig.getMdcSectionIds() == null || mdcTorqueConfig.getMdcSectionIds().isEmpty()) {
+            mdcTorqueConfig.setMdcSectionIds(equipmentIds);
+        }
+        if (mdcTorqueConfig.getMdcSectionIds() == null || mdcTorqueConfig.getMdcSectionIds().isEmpty()) {
+            return null;
+        } else {
+            queryWrapper.in(MdcTorqueConfig::getEquipmentId, mdcTorqueConfig.getMdcSectionIds());
+        }
+        if (StringUtils.isNotEmpty(mdcTorqueConfig.getEquipmentId())) {
+            queryWrapper.like(MdcTorqueConfig::getEquipmentId, mdcTorqueConfig.getEquipmentId());
+        }
+        if (StringUtils.isNotEmpty(mdcTorqueConfig.getEquipmentName())) {
+            queryWrapper.like(MdcTorqueConfig::getEquipmentId, mdcTorqueConfig.getEquipmentId());
+        }
+        if (StringUtils.isNotEmpty(mdcTorqueConfig.getStartTime()) && StringUtils.isNotEmpty(mdcTorqueConfig.getEndTime())) {
+            queryWrapper.between(MdcTorqueConfig::getTorqueDate, mdcTorqueConfig.getStartTime(), mdcTorqueConfig.getEndTime());
+        }
+        queryWrapper.orderByAsc(MdcTorqueConfig::getTorqueDate);
+        // Step.2 AutoPoi 瀵煎嚭Excel
+        ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
+        List<MdcTorqueConfig> mdcTorqueConfigs = this.baseMapper.selectList(queryWrapper);
+        // 瀵煎嚭鏂囦欢鍚嶇О
+        mv.addObject(NormalExcelConstants.FILE_NAME, "鎵煩閰嶇疆鍒楄〃");
+        mv.addObject(NormalExcelConstants.CLASS, MdcTorqueConfig.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, mdcTorqueConfigs);
+        return mv;
+    }
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcTorqueConfigVo.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcTorqueConfigVo.java
deleted file mode 100644
index 5337c45..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcTorqueConfigVo.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.jeecg.modules.mdc.vo;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.util.Date;
-
-@Data
-public class MdcTorqueConfigVo {
-
-    /*璁惧缁�*/
-    private String equipmentIds;
-    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date torqueDate;
-    private Float torqueValue;
-    private String notes;
-}

--
Gitblit v1.9.3