src/main/java/org/springblade/common/constant/FtpConstant.java
New file @@ -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"; } 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); } } }); 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); } } } 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); } 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> 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); } 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); } } 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); } /** 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> src/main/java/org/springblade/modules/exam/vo/ExamScoreVO.java
@@ -46,4 +46,9 @@ */ private String account; /** * 部门id */ private Long deptId; } 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); //获取从业记录