From 2ca9993b57bdd090c4345ea6767687e2fbb83014 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Tue, 27 Jun 2023 11:00:09 +0800
Subject: [PATCH] 新增任务导出接口

---
 src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.java             |   16 +++
 src/main/java/org/springblade/modules/taskqd/vo/TaskqdVO.java                     |    5 +
 src/main/java/org/springblade/modules/nettyUdpServer/server/UdpServer.java        |   37 -------
 src/main/java/org/springblade/modules/taskqd/excel/TaskExcel.java                 |   69 +++++++++++++
 src/main/resources/application-prod.yml                                           |   13 +-
 src/main/java/org/springblade/modules/taskqd/service/ITaskqdService.java          |   17 +++
 src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml              |   33 ++++++
 src/main/java/org/springblade/modules/nettyUdpServer/handle/UdpServerHandler.java |    6 -
 src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java     |   28 +++++
 src/main/java/org/springblade/modules/taskqd/service/impl/TaskqdServiceImpl.java  |   26 +++++
 10 files changed, 201 insertions(+), 49 deletions(-)

diff --git a/src/main/java/org/springblade/modules/nettyUdpServer/handle/UdpServerHandler.java b/src/main/java/org/springblade/modules/nettyUdpServer/handle/UdpServerHandler.java
index f3f79b3..8ea896f 100644
--- a/src/main/java/org/springblade/modules/nettyUdpServer/handle/UdpServerHandler.java
+++ b/src/main/java/org/springblade/modules/nettyUdpServer/handle/UdpServerHandler.java
@@ -25,17 +25,11 @@
 		String body = new String(req, CharsetUtil.UTF_8);
 		System.out.println("【UDP】>>>>>> 收到客户端的数据:"+body);
 
-		// 回复一条信息给客户端
-//		channelHandlerContext.writeAndFlush(new DatagramPacket(
-//			Unpooled.copiedBuffer("Hello,我是Server,我的时间戳是"+System.currentTimeMillis()
-//				, CharsetUtil.UTF_8)
-//			, datagramPacket.sender())).sync();
 	}
 
 	//捕获异常
 	@Override
 	public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause)throws Exception {
-		//logger.log(Level.INFO, "AuthServerInitHandler exceptionCaught");
 		logger.error("UdpServerHandler exceptionCaught"+cause.getMessage());
 		System.out.println("UdpServerHandler exceptionCaught"+cause.getMessage());
 		cause.printStackTrace();
diff --git a/src/main/java/org/springblade/modules/nettyUdpServer/server/UdpServer.java b/src/main/java/org/springblade/modules/nettyUdpServer/server/UdpServer.java
index a08c621..a79d397 100644
--- a/src/main/java/org/springblade/modules/nettyUdpServer/server/UdpServer.java
+++ b/src/main/java/org/springblade/modules/nettyUdpServer/server/UdpServer.java
@@ -31,43 +31,6 @@
 		run();
 	}
 
-	/**
-	 * 不用
-	 */
-	public void init() {
-		final NioEventLoopGroup group = new NioEventLoopGroup();
-		try {
-			Bootstrap b = new Bootstrap();
-			b.group(group).channel(NioDatagramChannel.class)
-				.option(ChannelOption.SO_BROADCAST, true)
-				.handler(new ChannelInitializer<NioDatagramChannel>() {
-					@Override
-					public void initChannel(NioDatagramChannel ch) throws Exception {
-						ChannelPipeline p = ch.pipeline();
-						p.addLast("decoder", new JsonObjectDecoder());
-						p.addLast(new UdpServerHandler());
-					}
-				});
-			InetAddress address = InetAddress.getLocalHost();
-			channel = b.bind(address, port).sync().channel();
-			Executors.newSingleThreadExecutor().execute(new Runnable() {
-				@Override
-				public void run() {
-					try {
-						channel.closeFuture().sync();
-					} catch (InterruptedException e) {
-						e.printStackTrace();
-					} finally {
-						group.shutdownGracefully();
-					}
-				}
-			});
-			LOG.info("UDP服务器启动, host:{},port:{}", address.getHostAddress(), port);
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-
 
 	//给管道抽象出接口,给Channel更多的能力和配置,例如Channel的状态,参数,IO操作
 	//使用ChannelPipeline实现自定义IO
diff --git a/src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java b/src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java
index a25b5c5..04dd4f0 100644
--- a/src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java
+++ b/src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java
@@ -25,9 +25,11 @@
 import me.zhyd.oauth.log.Log;
 import org.joda.time.DateTime;
 import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.DateUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.modules.task.entity.Task;
@@ -35,12 +37,14 @@
 import org.springblade.modules.task.vo.TaskVO;
 import org.springblade.modules.task.wrapper.TaskWrapper;
 import org.springblade.modules.taskqd.entity.Taskqd;
+import org.springblade.modules.taskqd.excel.TaskExcel;
 import org.springblade.modules.taskqd.service.impl.TaskqdServiceImpl;
 import org.springblade.modules.taskqd.vo.TaskqdVO;
 import org.springblade.modules.taskqd.wrapper.TaskqdWrapper;
 import org.springblade.modules.webscoket.service.IPushMsgService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.ApiIgnore;
 
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
@@ -85,6 +89,19 @@
 	public R<IPage<TaskqdVO>> list(Taskqd taskqd, Query query) {
 		IPage<Taskqd> pages = taskqdService.page(Condition.getPage(query), Condition.getQueryWrapper(taskqd).orderByDesc("time"));
 		return R.data(TaskqdWrapper.build().pageVO(pages));
+	}
+
+	/**
+	 * 自定义分页查询
+	 * @param taskqd
+	 * @param query
+	 * @return
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入task")
+	public R selectTaskQdPage(TaskqdVO taskqd, Query query) {
+		return R.data(taskqdService.selectTaskQdPage(Condition.getPage(query), taskqd));
 	}
 
 
@@ -477,4 +494,15 @@
 		List<Taskqd> list = taskqdService.countTaskByJur(jurisdiction,startTime,period);
 		return R.data(list);
 	}
+
+	/**
+	 * 导出任务数据
+	 * @param task
+	 * @param response
+	 */
+	@GetMapping("export-task")
+	public void exportTask(@ApiIgnore @RequestParam TaskqdVO task, HttpServletResponse response) {
+		List<TaskExcel> list = taskqdService.exportTask(task);
+		ExcelUtil.export(response, "任务数据" + DateUtil.time(), "任务数据表", list, TaskExcel.class);
+	}
 }
diff --git a/src/main/java/org/springblade/modules/taskqd/excel/TaskExcel.java b/src/main/java/org/springblade/modules/taskqd/excel/TaskExcel.java
new file mode 100644
index 0000000..cc0a2aa
--- /dev/null
+++ b/src/main/java/org/springblade/modules/taskqd/excel/TaskExcel.java
@@ -0,0 +1,69 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.taskqd.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * RegionExcel
+ *
+ * @author Chill
+ */
+@Data
+@ColumnWidth(16)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class TaskExcel implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	@ExcelProperty("培训标题")
+	private String rname;
+
+	@ExcelProperty("开始时间")
+	private String time;
+
+	@ExcelProperty("结束时间")
+	private String endtime;
+
+	@ExcelProperty("培训内容")
+	private String content;
+
+	@ExcelProperty("所属辖区")
+	private String jurisdictionName;
+
+	@ExcelProperty("集合点")
+	private String gathername;
+
+	@ExcelProperty("培训状态")
+	private String rtypeName;
+
+	@ExcelProperty("发布人")
+	private String fname;
+
+	@ExcelProperty("积分数值")
+	private Integer integral;
+
+	@ExcelProperty("接收角色")
+	private String trainName;
+
+}
diff --git a/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.java b/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.java
index a97b4c7..02d1e27 100644
--- a/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.java
+++ b/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.java
@@ -23,6 +23,7 @@
 import org.springblade.modules.task.entity.Task;
 import org.springblade.modules.task.vo.TaskVO;
 import org.springblade.modules.taskqd.entity.Taskqd;
+import org.springblade.modules.taskqd.excel.TaskExcel;
 import org.springblade.modules.taskqd.vo.TaskqdVO;
 
 import java.util.Date;
@@ -52,4 +53,19 @@
 	List<Taskqd> countTaskByJur(@Param("jurisdiction") String jurisdiction, @Param("startTime") String startTime,@Param("period") String period);
 
 	int getRealTime(String hdid);
+
+	/**
+	 * 自定义分页查询
+	 * @param page
+	 * @param taskqd
+	 * @return
+	 */
+    List<TaskqdVO> selectTaskQdPage(@Param("page")IPage<TaskqdVO> page,@Param("taskqd") TaskqdVO taskqd);
+
+	/**
+	 * 导出任务数据
+	 * @param task
+	 * @return
+	 */
+	List<TaskExcel> selectTaskList(@Param("task")TaskqdVO task);
 }
diff --git a/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml b/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml
index b41053f..03b10fa 100644
--- a/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml
+++ b/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml
@@ -209,4 +209,37 @@
         FROM sys_taskqd
         WHERE id = #{hdid}
     </select>
+
+    <!--自定义分页查询-->
+    <select id="selectTaskQdPage" resultType="org.springblade.modules.taskqd.vo.TaskqdVO">
+        select * from sys_taskqd where 1=1
+    </select>
+
+    <!--导出任务数据-->
+    <select id="selectTaskList" resultType="org.springblade.modules.taskqd.excel.TaskExcel">
+        select
+        st.id,st.rname,st.time,st.endtime,st.content,st.gathername,st.fname,st.integral,
+		sr.role_name as trainName,
+        case when rtype='0' then '正在进行'
+         when rtype='1' then '已结束'
+         when rtype='2' then '任务未开始'
+        end as rtypeName,
+        sj.dept_name as jurisdictionName
+        from sys_taskqd st
+        left join sys_jurisdiction sj on sj.id = st.jurisdiction
+        left join blade_role sr on sr.id = st.train
+        where 1=1
+        <if test="task.tasktype!=null and task.tasktype!=''">
+            and st.tasktype = #{task.tasktype}
+        </if>
+        <if test="task.rtype!=null and task.rtype!=''">
+            and st.rtype = #{task.rtype}
+        </if>
+        <if test="task.rname!=null and task.rname!=''">
+            and st.rname like concat('%',#{task.rname},'%')
+        </if>
+        <if test="task.jurisdiction!=null and task.jurisdiction!=''">
+            and st.jurisdiction = #{task.jurisdiction}
+        </if>
+    </select>
 </mapper>
diff --git a/src/main/java/org/springblade/modules/taskqd/service/ITaskqdService.java b/src/main/java/org/springblade/modules/taskqd/service/ITaskqdService.java
index 000ab3e..6ba4674 100644
--- a/src/main/java/org/springblade/modules/taskqd/service/ITaskqdService.java
+++ b/src/main/java/org/springblade/modules/taskqd/service/ITaskqdService.java
@@ -16,8 +16,10 @@
  */
 package org.springblade.modules.taskqd.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.springblade.modules.taskqd.entity.Taskqd;
+import org.springblade.modules.taskqd.excel.TaskExcel;
 import org.springblade.modules.taskqd.vo.TaskqdVO;
 
 import java.util.Date;
@@ -46,4 +48,19 @@
 	List<Taskqd> countTaskByJur(String jurisdiction, String startTime, String period);
 
 	int getRealTime(String hdid);
+
+	/**
+	 * 自定义分页查询
+	 * @param taskqd
+	 * @param page
+	 * @return
+	 */
+    Object selectTaskQdPage(IPage<TaskqdVO> page, TaskqdVO taskqd);
+
+	/**
+	 * 导出任务数据
+	 * @param task
+	 * @return
+	 */
+	List<TaskExcel> exportTask(TaskqdVO task);
 }
diff --git a/src/main/java/org/springblade/modules/taskqd/service/impl/TaskqdServiceImpl.java b/src/main/java/org/springblade/modules/taskqd/service/impl/TaskqdServiceImpl.java
index bfec1b3..f7a8d0f 100644
--- a/src/main/java/org/springblade/modules/taskqd/service/impl/TaskqdServiceImpl.java
+++ b/src/main/java/org/springblade/modules/taskqd/service/impl/TaskqdServiceImpl.java
@@ -16,8 +16,10 @@
  */
 package org.springblade.modules.taskqd.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springblade.modules.taskqd.entity.Taskqd;
+import org.springblade.modules.taskqd.excel.TaskExcel;
 import org.springblade.modules.taskqd.mapper.TaskqdMapper;
 import org.springblade.modules.taskqd.service.ITaskqdService;
 import org.springblade.modules.taskqd.vo.TaskqdVO;
@@ -99,4 +101,28 @@
 	public int getRealTime(String hdid) {
 		return baseMapper.getRealTime(hdid);
 	}
+
+	/**
+	 * 自定义分页查询
+	 * @param taskqd
+	 * @param page
+	 * @return
+	 */
+	@Override
+	public Object selectTaskQdPage(IPage<TaskqdVO> page, TaskqdVO taskqd) {
+		if (null!=taskqd.getIsPage()){
+			return baseMapper.selectTaskQdPage(null,taskqd);
+		}
+		return page.setRecords(baseMapper.selectTaskQdPage(page,taskqd));
+	}
+
+	/**
+	 * 导出任务数据
+	 * @param task
+	 * @return
+	 */
+	@Override
+	public List<TaskExcel> exportTask(TaskqdVO task) {
+		return baseMapper.selectTaskList(task);
+	}
 }
diff --git a/src/main/java/org/springblade/modules/taskqd/vo/TaskqdVO.java b/src/main/java/org/springblade/modules/taskqd/vo/TaskqdVO.java
index 39a30c7..fd430db 100644
--- a/src/main/java/org/springblade/modules/taskqd/vo/TaskqdVO.java
+++ b/src/main/java/org/springblade/modules/taskqd/vo/TaskqdVO.java
@@ -37,4 +37,9 @@
 	private String type;
 	private Integer nums;
 
+	/**
+	 * 是否分页查询
+	 */
+	private Integer isPage;
+
 }
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index 6fdc4a9..32ddf20 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -5,8 +5,8 @@
     #    host: 127.0.0.1
     #    port: 6379
 
-    host: 192.168.90.24
-    port: 6382
+    host: 127.0.0.1
+    port: 6379
     password:
     database: 0
     ssl: false
@@ -17,9 +17,9 @@
   datasource:
     # MySql
     #
-    url: jdbc:mysql://36.134.81.48:3306/qfqkpublic?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
+    url: jdbc:mysql://127.0.0.1:3306/qfqkpublic?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
     username: root
-    password: jfpt123
+    password: HCyj@2022
 
     #    url: jdbc:mysql://61.131.136.25:2083/qfqkpublic?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true&allowMultiQueries=true
     #    username: root
@@ -49,12 +49,13 @@
 
 #ftp 设置
 ftp:
-  sqlConnect: jdbc:mysql://36.134.81.48:3306/qfqkpublic?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
+  sqlConnect: jdbc:mysql://106.225.193.35:3306/qfqkpublic?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
   ftpHost: 117.40.91.118
   ftpPort: 21
   ftpUserName: zhbain
   ftpPassword: zhbain@123
-  ftpPath: yly/qfqk/
+  ftpBasePath: yly
+  ftpFilePath: qfqk
   localPath: /home/zhongsong/qfqk/
   ip: http://47.49.21.216:9000
   jsonUrl: /home/zhongsong/qfqk/

--
Gitblit v1.9.3