From 75d710137ad9098e36e41f6ce8f2ccde0b6becc4 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Sat, 21 Aug 2021 20:15:25 +0800
Subject: [PATCH] ftp 数据同步,考试报名,取消,导入同步
---
src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherUnitServiceImpl.java | 12 ++
src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java | 42 ++++++++
src/main/java/org/springblade/modules/exam/vo/ExamScoreVO.java | 5 +
src/main/java/org/springblade/modules/dispatcher/service/IDispatcherService.java | 8 +
src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.java | 8 +
src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml | 6 +
src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherServiceImpl.java | 51 ++++++----
src/main/java/org/springblade/common/constant/FtpConstant.java | 37 +++++++
src/main/java/org/springblade/modules/apply/controller/ApplyController.java | 88 +++++++++++++++++
src/main/java/org/springblade/modules/system/controller/UserController.java | 1
src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml | 14 ++
11 files changed, 247 insertions(+), 25 deletions(-)
diff --git a/src/main/java/org/springblade/common/constant/FtpConstant.java b/src/main/java/org/springblade/common/constant/FtpConstant.java
new file mode 100644
index 0000000..abce986
--- /dev/null
+++ b/src/main/java/org/springblade/common/constant/FtpConstant.java
@@ -0,0 +1,37 @@
+package org.springblade.common.constant;
+
+/**
+ * @author zhongrj
+ */
+public interface FtpConstant {
+
+ /**
+ * ftp服务器IP地址
+ */
+ String ftpHost = "192.168.0.105";
+
+ /**
+ * ftp服务器端口
+ */
+ int ftpPort = 21;
+
+ /**
+ * ftp服务器用户名
+ */
+ String ftpUserName = "yly";
+
+ /**
+ * ftp服务器密码
+ */
+ String ftpPassword = "Yly@123";
+
+ /**
+ * 本地路径
+ */
+ String localPath = "D:\\anbao";
+
+ /**
+ * 文件名
+ */
+ String fileName = "wsql.json";
+}
diff --git a/src/main/java/org/springblade/modules/apply/controller/ApplyController.java b/src/main/java/org/springblade/modules/apply/controller/ApplyController.java
index bf4fad0..c1ce051 100644
--- a/src/main/java/org/springblade/modules/apply/controller/ApplyController.java
+++ b/src/main/java/org/springblade/modules/apply/controller/ApplyController.java
@@ -1,5 +1,6 @@
package org.springblade.modules.apply.controller;
+import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@@ -16,6 +17,8 @@
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.FTP.FtpUtil;
+import org.springblade.modules.FTP.OutJson;
import org.springblade.modules.apply.entity.Apply;
import org.springblade.modules.apply.excel.ApplyExcel;
import org.springblade.modules.apply.excel.ApplyImporter;
@@ -33,9 +36,14 @@
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*;
+
+import static org.springblade.common.constant.FtpConstant.*;
/**
* @author zhongrj
@@ -81,7 +89,7 @@
*/
@PostMapping("/save")
@ApiOperation(value = "新增", notes = "传入apply")
- public R save(@RequestBody Apply apply) {
+ public R save(@RequestBody Apply apply){
//查询人员是否已报名
User user = userService.getById(apply.getUserId());
if (null==user.getIsApply()){
@@ -97,6 +105,10 @@
user1.setId(apply.getUserId());
user1.setIsApply(1);
userService.updateById(user1);
+
+ //内网数据同步
+ saveApply(apply,user1);
+
return R.data(200,"报名成功");
}else {
if (1==user.getIsApply()){
@@ -114,10 +126,35 @@
user1.setId(apply.getUserId());
user1.setIsApply(1);
userService.updateById(user1);
+
+ //内网数据同步
+ saveApply(apply,user1);
+
return R.data(200,"报名成功");
}
}
return R.data(202,"报名失败");
+ }
+
+ /**
+ * 报名
+ */
+ private void saveApply(Apply apply,User user1){
+ String formatStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
+ Long id = apply.getId();
+ String s = "insert into sys_apply(id,user_id,apply_time,apply_status,is_exam) " +
+ "values(" + "'" + id + "'" + "," + "'" + apply.getUserId() + "'" + "," + "'" + formatStr +
+ "'" + "," + "'" + apply.getApplyStatus() + "'" + "," +"'" + apply.getIsExam() + "'" + ");" +
+ "update blade_user set is_apply = " + user1.getIsApply() + " " +"where id = " + "'" + user1.getId() + "'";
+ String json = JSON.toJSONString(s);
+ OutJson.createJsonFile(json, "d:/", "wsql");
+ FileInputStream in = null;
+ try {
+ in = new FileInputStream(new File("D:\\" + fileName));
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ }
+ FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", "/", fileName, in);
}
@@ -329,7 +366,6 @@
*/
@PostMapping("/remove")
public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
- //arg.sendPostRemoveByIds(arg.url+"/apply/remove",ids);
return R.status(applyService.removeByIds(Func.toLongList(ids)));
}
@@ -389,9 +425,14 @@
//修改保安报名状态
user.setIsApply(2);
userService.updateById(user);
+
+ //取消报名同步
+ cancelApplySync(apply,user);
+
if (status){
return R.data(200,"取消报名成功");
}
+
}else {
if(user.getIsApply()==1){
apply.setApplyStatus(4);
@@ -399,6 +440,10 @@
//修改保安报名状态
user.setIsApply(2);
userService.updateById(user);
+
+ //取消报名同步
+ cancelApplySync(apply,user);
+
if (status){
return R.data(200,"取消报名成功");
}
@@ -407,6 +452,24 @@
}
}
return R.data(202,"取消报名失败");
+ }
+
+ /**
+ * 取消报名同步
+ */
+ private void cancelApplySync(Apply apply,User user){
+ String s =
+ "update sys_apply set apply_status = " + apply.getApplyStatus() + " " +"where id = " + "'" + apply.getId() + "';" +
+ "update blade_user set is_apply = " + user.getIsApply() + " " +"where id = " + "'" + user.getId() + "'";
+ String json = JSON.toJSONString(s);
+ OutJson.createJsonFile(json, "d:/", "wsql");
+ FileInputStream in = null;
+ try {
+ in = new FileInputStream(new File("D:\\" + fileName));
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ }
+ FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", "/", fileName, in);
}
@@ -426,6 +489,10 @@
//修改保安报名状态
user.setIsApply(2);
userService.updateById(user);
+
+ //取消报名同步
+ cancelApplySync(apply1,user);
+
if (status){
return R.data(200,"取消报名成功");
}
@@ -439,6 +506,10 @@
//修改保安报名状态
user.setIsApply(2);
userService.updateById(user);
+
+ //取消报名同步
+ cancelApplySync(apply1,user);
+
if (status){
return R.data(200,"取消报名成功");
}
@@ -470,6 +541,9 @@
//修改保安报名状态
user.setIsApply(1);
userService.updateById(user);
+
+ //内网数据同步
+ saveApply(apply1,user);
} else {
if (user.getIsApply() != 1) {
Apply apply1 = new Apply();
@@ -482,13 +556,15 @@
//修改保安报名状态
user.setIsApply(1);
userService.updateById(user);
+
+ //内网数据同步
+ saveApply(apply1,user);
}
}
});
}else {
//查询所有未报名的人员
List<User> users = userService.getNotApplyIdList(deptId);
- System.out.println("users = " + users.size());
if (users.size()>0){
users.forEach(user ->{
//未报名的新增,已报名的不做处理
@@ -503,6 +579,9 @@
//修改保安报名状态
user.setIsApply(1);
userService.updateById(user);
+
+ //内网数据同步
+ saveApply(apply1,user);
} else {
if (user.getIsApply() != 1) {
Apply apply1 = new Apply();
@@ -515,6 +594,9 @@
//修改保安报名状态
user.setIsApply(1);
userService.updateById(user);
+
+ //内网数据同步
+ saveApply(apply1,user);
}
}
});
diff --git a/src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java b/src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java
index 1cbeef8..cbc1d89 100644
--- a/src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java
+++ b/src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java
@@ -1,6 +1,7 @@
package org.springblade.modules.apply.service.impl;
+import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
@@ -12,6 +13,8 @@
import org.springblade.common.utils.arg;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.tool.api.R;
+import org.springblade.modules.FTP.FtpUtil;
+import org.springblade.modules.FTP.OutJson;
import org.springblade.modules.apply.entity.Apply;
import org.springblade.modules.apply.excel.ApplyExcel;
import org.springblade.modules.apply.excel.ApplyInfoExcel;
@@ -30,9 +33,15 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*;
+
+import static org.springblade.common.constant.FtpConstant.*;
+import static org.springblade.common.constant.FtpConstant.fileName;
/**
* 考试报名服务实现类
@@ -116,6 +125,22 @@
//修改保安报名状态
user1.setIsApply(1);
userService.updateById(user1);
+
+ String formatStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
+ Long id = apply1.getId();
+ String s = "insert into sys_apply(id,user_id,apply_time,apply_status,is_exam) " +
+ "values(" + "'" + id + "'" + "," + "'" + apply1.getUserId() + "'" + "," + "'" + formatStr +
+ "'" + "," + "'" + apply1.getApplyStatus() + "'" + "," +"'" + apply1.getIsExam() + "'" + ");" +
+ "update blade_user set is_apply = " + "'" + user1.getIsApply() + "'" +"where id = " + "'" + user1.getId() + "'";
+ String json = JSON.toJSONString(s);
+ OutJson.createJsonFile(json, "d:/", "wsql");
+ FileInputStream in = null;
+ try {
+ in = new FileInputStream(new File("D:\\" + fileName));
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ }
+ FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", "/", fileName, in);
}else {
if (user1.getIsApply()!=1) {
Apply apply1 = new Apply();
@@ -128,6 +153,23 @@
//修改保安报名状态
user1.setIsApply(1);
userService.updateById(user1);
+
+ //内网数据同步
+ String formatStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
+ Long id = apply1.getId();
+ String s = "insert into sys_apply(id,user_id,apply_time,apply_status,is_exam) " +
+ "values(" + "'" + id + "'" + "," + "'" + apply1.getUserId() + "'" + "," + "'" + formatStr +
+ "'" + "," + "'" + apply1.getApplyStatus() + "'" + "," +"'" + apply1.getIsExam() + "'" + ");" +
+ "update blade_user set is_apply = " + "'" + user1.getIsApply() + "'" +"where id = " + "'" + user1.getId() + "'";
+ String json = JSON.toJSONString(s);
+ OutJson.createJsonFile(json, "d:/", "wsql");
+ FileInputStream in = null;
+ try {
+ in = new FileInputStream(new File("D:\\" + fileName));
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ }
+ FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", "/", fileName, in);
}
}
}
diff --git a/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.java b/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.java
index 7376af9..ced270c 100644
--- a/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.java
+++ b/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.java
@@ -18,6 +18,7 @@
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.dispatcher.entity.Dispatcher;
+import org.springblade.modules.dispatcher.vo.DispatcherUnitVO;
import org.springblade.modules.dispatcher.vo.DispatcherVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -46,4 +47,11 @@
* @return
*/
DispatcherVO getDispatcherInfo(@Param("dispatcher")Dispatcher dispatcher);
+
+ /**
+ * 派遣记录条数
+ * @param dispatcherUnitVO1
+ * @return
+ */
+ Integer getDispatcherCount(@Param("dispatcherUnit")DispatcherUnitVO dispatcherUnitVO1);
}
diff --git a/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml b/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml
index 1c5dfa7..cf7eb95 100644
--- a/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml
+++ b/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml
@@ -15,13 +15,17 @@
<!--派遣记录分页数据-->
<select id="selectDispatcherPage" resultType="org.springblade.modules.dispatcher.vo.DispatcherVO">
select
- sd.*,sd.name securityName,sdu.name dispatcherCompany
+ sd.*,bu.real_name securityName,sdu.name dispatcherCompany
from
sys_dispatcher sd
left join
sys_dispatcher_unit sdu
on
sdu.id = sd.dispatcher_unit_id
+ left join
+ blade_user bu
+ on
+ bu.id = sd.user_ids
where 1=1
<if test="dispatcher.dispatcherUnitId!=null">
and sd.dispatcher_unit_id = #{dispatcher.dispatcherUnitId}
@@ -65,4 +69,12 @@
</if>
</select>
+ <!--派遣记录条数-->
+ <select id="getDispatcherCount" resultType="java.lang.Integer">
+ select ifnull(count(*),0) count from sys_dispatcher
+ where
+ 1=1
+ and dispatcher_unit_id #{dispatcherUnitVO1.id}
+ </select>
+
</mapper>
diff --git a/src/main/java/org/springblade/modules/dispatcher/service/IDispatcherService.java b/src/main/java/org/springblade/modules/dispatcher/service/IDispatcherService.java
index 0507c62..f12d121 100644
--- a/src/main/java/org/springblade/modules/dispatcher/service/IDispatcherService.java
+++ b/src/main/java/org/springblade/modules/dispatcher/service/IDispatcherService.java
@@ -17,6 +17,7 @@
package org.springblade.modules.dispatcher.service;
import org.springblade.modules.dispatcher.entity.Dispatcher;
+import org.springblade.modules.dispatcher.vo.DispatcherUnitVO;
import org.springblade.modules.dispatcher.vo.DispatcherVO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -44,4 +45,11 @@
* @return
*/
DispatcherVO getDispatcherInfo(Dispatcher dispatcher);
+
+ /**
+ * 派遣记录条数
+ * @param dispatcherUnitVO1
+ * @return
+ */
+ Integer getDispatcherCount(DispatcherUnitVO dispatcherUnitVO1);
}
diff --git a/src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherServiceImpl.java b/src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherServiceImpl.java
index 9783734..e33dd16 100644
--- a/src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherServiceImpl.java
+++ b/src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherServiceImpl.java
@@ -18,6 +18,7 @@
import lombok.AllArgsConstructor;
import org.springblade.modules.dispatcher.entity.Dispatcher;
+import org.springblade.modules.dispatcher.vo.DispatcherUnitVO;
import org.springblade.modules.dispatcher.vo.DispatcherVO;
import org.springblade.modules.dispatcher.mapper.DispatcherMapper;
import org.springblade.modules.dispatcher.service.IDispatcherService;
@@ -44,26 +45,26 @@
@Override
public IPage<DispatcherVO> selectDispatcherPage(IPage<DispatcherVO> page, DispatcherVO dispatcher) {
List<DispatcherVO> dispatcherVOS = baseMapper.selectDispatcherPage(page, dispatcher);
- if (dispatcherVOS.size()>0){
- dispatcherVOS.forEach(dispatcherVO -> {
- String userIds = dispatcherVO.getUserIds();
- if (!userIds.isEmpty()){
- String[] userIdArray = userIds.split(",");
- if (userIdArray.length>0) {
- StringBuilder builder = new StringBuilder();
- //查询用户信息
- for (String userId : userIdArray) {
- User user = userService.getById(userId);
- if (null != user) {
- builder.append(user.getRealName()).append(",");
- }
- }
- String s = builder.toString();
- dispatcherVO.setSecurityName(s.substring(0,s.length()-1));
- }
- }
- });
- }
+// if (dispatcherVOS.size()>0){
+// dispatcherVOS.forEach(dispatcherVO -> {
+// String userIds = dispatcherVO.getUserIds();
+// if (!userIds.isEmpty()){
+// String[] userIdArray = userIds.split(",");
+// if (userIdArray.length>0) {
+// StringBuilder builder = new StringBuilder();
+// //查询用户信息
+// for (String userId : userIdArray) {
+// User user = userService.getById(userId);
+// if (null != user) {
+// builder.append(user.getRealName()).append(",");
+// }
+// }
+// String s = builder.toString();
+// dispatcherVO.setSecurityName(s.substring(0,s.length()-1));
+// }
+// }
+// });
+// }
return page.setRecords(dispatcherVOS);
}
@@ -76,4 +77,14 @@
public DispatcherVO getDispatcherInfo(Dispatcher dispatcher) {
return baseMapper.getDispatcherInfo(dispatcher);
}
+
+ /**
+ * 派遣记录条数
+ * @param dispatcherUnitVO1
+ * @return
+ */
+ @Override
+ public Integer getDispatcherCount(DispatcherUnitVO dispatcherUnitVO1) {
+ return baseMapper.getDispatcherCount(dispatcherUnitVO1);
+ }
}
diff --git a/src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherUnitServiceImpl.java b/src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherUnitServiceImpl.java
index 93f6fda..5632c5a 100644
--- a/src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherUnitServiceImpl.java
+++ b/src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherUnitServiceImpl.java
@@ -18,6 +18,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.AllArgsConstructor;
import org.springblade.modules.dispatcher.entity.Dispatcher;
import org.springblade.modules.dispatcher.entity.DispatcherUnit;
import org.springblade.modules.dispatcher.mapper.DispatcherMapper;
@@ -37,11 +38,20 @@
* @since 2021-07-07
*/
@Service
+@AllArgsConstructor
public class DispatcherUnitServiceImpl extends ServiceImpl<DispatcherUnitMapper, DispatcherUnit> implements IDispatcherUnitService {
+
+
+ private final IDispatcherService dispatcherService;
@Override
public IPage<DispatcherUnitVO> selectDispatcherUnitPage(IPage<DispatcherUnitVO> page, DispatcherUnitVO dispatcherUnitVO) {
- return page.setRecords(baseMapper.selectDispatcherUnitPage(page, dispatcherUnitVO));
+ List<DispatcherUnitVO> dispatcherUnitVOS = baseMapper.selectDispatcherUnitPage(page, dispatcherUnitVO);
+ dispatcherUnitVOS.forEach(dispatcherUnitVO1 -> {
+ //查询派遣记录条数
+ dispatcherUnitVO1.setNum(dispatcherService.getDispatcherCount(dispatcherUnitVO1));
+ });
+ return page.setRecords(dispatcherUnitVOS);
}
/**
diff --git a/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml b/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml
index ca3bd34..76f5e51 100644
--- a/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml
+++ b/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml
@@ -43,6 +43,9 @@
<if test="examScore.userId!=null and examScore.userId!=''">
and es.user_id = #{examScore.userId}
</if>
+ <if test="examScore.deptId!=null and examScore.deptId!=''">
+ and bd.id = #{examScore.deptId}
+ </if>
<if test="examScore.isExam!=null and examScore.isExam!=''">
and sa.is_exam = #{examScore.isExam}
</if>
@@ -99,6 +102,9 @@
<if test="examScore.userId!=null and examScore.userId!=''">
and es.user_id = #{examScore.userId}
</if>
+ <if test="examScore.deptId!=null and examScore.deptId!=''">
+ and bd.id = #{examScore.deptId}
+ </if>
<if test="examScore.isExam!=null and examScore.isExam!=''">
and str.is_exam = #{examScore.isExam}
</if>
diff --git a/src/main/java/org/springblade/modules/exam/vo/ExamScoreVO.java b/src/main/java/org/springblade/modules/exam/vo/ExamScoreVO.java
index 8c7a927..9805b53 100644
--- a/src/main/java/org/springblade/modules/exam/vo/ExamScoreVO.java
+++ b/src/main/java/org/springblade/modules/exam/vo/ExamScoreVO.java
@@ -46,4 +46,9 @@
*/
private String account;
+ /**
+ * 部门id
+ */
+ private Long deptId;
+
}
diff --git a/src/main/java/org/springblade/modules/system/controller/UserController.java b/src/main/java/org/springblade/modules/system/controller/UserController.java
index 98f0632..9764ded 100644
--- a/src/main/java/org/springblade/modules/system/controller/UserController.java
+++ b/src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -493,6 +493,7 @@
if (Func.isNotEmpty(user.getPassword())) {
user.setPassword(DigestUtil.encrypt(user.getPassword()));
}
+ user.setTenantId("000000");
//用户新增
boolean status = userService.save(user);
//获取从业记录
--
Gitblit v1.9.3