|
package org.springblade.modules.accreditation.service.impl;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import lombok.AllArgsConstructor;
|
import org.springblade.common.utils.QRCodeUtil;
|
import org.springblade.modules.FTP.FtpUtil;
|
import org.springblade.modules.accreditation.excel.ExportSecurityBookPaperExcel;
|
import org.springblade.modules.accreditation.excel.ExportSecurityPaperExcel;
|
import org.springblade.modules.accreditation.entity.AccreditationRecords;
|
import org.springblade.modules.accreditation.mapper.AccreditationRecordsMapper;
|
import org.springblade.modules.accreditation.service.AccreditationRecordsService;
|
import org.springblade.modules.accreditation.vo.AccreditationRecordsVo;
|
import org.springblade.modules.system.service.MyAsyncService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.net.MalformedURLException;
|
import java.net.URL;
|
import java.net.URLEncoder;
|
import java.text.SimpleDateFormat;
|
import java.util.ArrayList;
|
import java.util.Arrays;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* 制证记录服务实现类
|
*
|
* @author zhongrj
|
*/
|
@Service
|
@AllArgsConstructor
|
public class AccreditationRecordsServiceImpl extends ServiceImpl<AccreditationRecordsMapper, AccreditationRecords> implements AccreditationRecordsService {
|
@Autowired
|
private MyAsyncService myAsyncService;
|
|
/**
|
* 自定义分页
|
*
|
* @param page
|
* @param accreditationRecords
|
* @return
|
*/
|
@Override
|
public IPage<AccreditationRecordsVo> selectAccreditationRecordsPage(IPage<AccreditationRecordsVo> page, AccreditationRecordsVo accreditationRecords) {
|
List<AccreditationRecordsVo> accreditationRecordsVos = baseMapper.selectAccreditationRecordsPage(page, accreditationRecords);
|
return page.setRecords(accreditationRecordsVos);
|
}
|
|
/**
|
* 制证申请(批量)
|
*
|
* @param accreditationRecords 制证记录信息对象
|
*/
|
@Override
|
public boolean securityApply(AccreditationRecordsVo accreditationRecords) {
|
//读取ids
|
List<String> list = Arrays.asList(accreditationRecords.getIds().split(","));
|
//遍历
|
list.forEach(id -> {
|
AccreditationRecords records = new AccreditationRecords();
|
records.setCreateTime(new Date());
|
records.setCreateUser(accreditationRecords.getCreateUser());
|
records.setStatus(1);
|
records.setAuditStatus(1);
|
records.setType(accreditationRecords.getType());
|
records.setUserId(Long.parseLong(id));
|
//判断类型,如果是上岗证则判断是否有申请,有申请的不在新增记录
|
if (accreditationRecords.getType() == 1) {
|
//查询当前人员是否有申请记录
|
int count = baseMapper.getAccreditationRecordsByUserIdCount(id);
|
if (count < 1) {
|
//新增
|
this.save(records);
|
|
//内网新增
|
String s = "insert into sys_accreditation_records(id,user_id,create_time,create_user,status,type,audit_status) " +
|
"values(" + "'" + records.getId() + "'" + ","
|
+ "'" + records.getUserId() + "'" + ","
|
+ "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(records.getCreateTime()) + "'" + ","
|
+ "'" + records.getCreateUser() + "'" + ","
|
+ "'" + records.getStatus() + "'" + ","
|
+ "'" + records.getType() + "'" + ","
|
+ "'" + records.getAuditStatus() + "'" + ")";
|
//FtpUtil.sqlFileUpload(s);
|
myAsyncService.FTP(s);
|
}
|
}
|
//判断类型,如果是证书的,审核未通过的可以再次申请,审核通过的,暂时不给于新增记录
|
if (accreditationRecords.getType() == 2) {
|
//查询当前人员是否有待审核和审核通过的记录数
|
int count = baseMapper.getAccreditationRecordsByUserIdAuditCount(id, 2);
|
if (count < 1) {
|
//新增
|
this.save(records);
|
|
//内网新增
|
String s = "insert into sys_accreditation_records(id,user_id,create_time,create_user,status,type,audit_status) " +
|
"values(" + "'" + records.getId() + "'" + ","
|
+ "'" + records.getUserId() + "'" + ","
|
+ "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(records.getCreateTime()) + "'" + ","
|
+ "'" + records.getCreateUser() + "'" + ","
|
+ "'" + records.getStatus() + "'" + ","
|
+ "'" + records.getType() + "'" + ","
|
+ "'" + records.getAuditStatus() + "'" + ")";
|
//FtpUtil.sqlFileUpload(s);
|
myAsyncService.FTP(s);
|
}
|
}
|
|
});
|
return true;
|
}
|
|
/**
|
* 自定义详情信息
|
*
|
* @param accreditationRecords
|
* @return
|
*/
|
@Override
|
public AccreditationRecordsVo getAccreditationRecordsDetails(AccreditationRecords accreditationRecords) {
|
return baseMapper.getAccreditationRecordsDetails(accreditationRecords);
|
}
|
|
/**
|
* 导出保安员证信息
|
*
|
* @param accreditationRecords
|
* @return
|
*/
|
@Override
|
public List<ExportSecurityPaperExcel> exportSecurityPaperList(AccreditationRecordsVo accreditationRecords) {
|
//查询数据
|
List<AccreditationRecordsVo> accreditationRecordsVos = baseMapper.exportSecurityPaperList(accreditationRecords);
|
if (accreditationRecordsVos.size() > 0) {
|
//返回的集合数据
|
List<ExportSecurityPaperExcel> list = new ArrayList<>();
|
//遍历
|
accreditationRecordsVos.forEach(accreditationRecordsVo -> {
|
//导出即修改为已制证状态
|
AccreditationRecords accreditationRecords1 = new AccreditationRecords();
|
accreditationRecords1.setId(accreditationRecordsVo.getId());
|
accreditationRecords1.setStatus(2);
|
//记录导出时间为制证时间
|
accreditationRecords1.setPaperTime(new Date());
|
//修改
|
this.updateById(accreditationRecords1);
|
|
ExportSecurityPaperExcel excel = new ExportSecurityPaperExcel();
|
//数据转换封装
|
excel.setRealName(accreditationRecordsVo.getRealName());
|
excel.setIdCardNo(accreditationRecordsVo.getIdCardNo());
|
excel.setDeptName(accreditationRecordsVo.getDeptName());
|
if (accreditationRecordsVo.getSex().equals("1")) {
|
excel.setSex("男");
|
} else {
|
excel.setSex("女");
|
}
|
excel.setPaperTime(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
|
//如果头像有
|
if (null != accreditationRecordsVo.getAvatar() && accreditationRecordsVo.getAvatar() != "") {
|
try {
|
if (accreditationRecordsVo.getAvatar().contains("http:")) {
|
excel.setAvatar(new URL(accreditationRecordsVo.getAvatar()));
|
}
|
} catch (MalformedURLException e) {
|
e.printStackTrace();
|
}
|
}
|
//如果保安证编号不为空
|
if (null != accreditationRecordsVo.getSecurityNumber() && accreditationRecordsVo.getSecurityNumber() != "") {
|
//去生成二维码
|
String url = "http://223.82.109.183:2080/securityInfo.html";
|
String encoded = null;
|
try {
|
encoded = URLEncoder.encode(accreditationRecordsVo.getSecurityNumber(), "UTF-8");
|
String content = url + "?securityNumber=" + encoded;
|
URLEncoder.encode(content, "utf-8");
|
byte[] qrCodeImage = QRCodeUtil.getQRCodeImage(content, 350, 350);
|
//设置二维码
|
excel.setQrCode(qrCodeImage);
|
excel.setSecurityNumber(accreditationRecordsVo.getSecurityNumber());
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
list.add(excel);
|
});
|
return list;
|
}
|
return null;
|
}
|
|
/**
|
* 导出证书制证信息
|
*
|
* @param accreditationRecords
|
* @return
|
*/
|
@Override
|
public List<ExportSecurityBookPaperExcel> exportSecurityBookPaper(AccreditationRecordsVo accreditationRecords) {
|
//查询数据
|
List<ExportSecurityBookPaperExcel> accreditationRecordsVos = baseMapper.exportSecurityBookPaper(accreditationRecords);
|
return accreditationRecordsVos;
|
}
|
|
/**
|
* 导出证书制证信息(包含照片)
|
*/
|
@Override
|
public List<AccreditationRecordsVo> exportSecurityBookPapers(AccreditationRecordsVo accreditationRecords) {
|
//查询数据
|
List<AccreditationRecordsVo> accreditationRecordsVos = baseMapper.exportSecurityBookPapers(accreditationRecords);
|
// System.out.println("accreditationRecordsVos = " + accreditationRecordsVos.size());
|
return accreditationRecordsVos;
|
}
|
|
/**
|
* 批量修改为已制证
|
*
|
* @param accreditationRecords 制证记录信息对象
|
*/
|
@Override
|
public boolean batchAccreditation(AccreditationRecordsVo accreditationRecords) {
|
//读取ids
|
List<String> list = Arrays.asList(accreditationRecords.getIds().split(","));
|
//遍历
|
list.forEach(id -> {
|
AccreditationRecords records = new AccreditationRecords();
|
records.setStatus(2);
|
records.setId(Long.parseLong(id));
|
//更新
|
this.updateById(records);
|
|
//内网同步
|
String s =
|
"update sys_accreditation_records set status = " + accreditationRecords.getStatus() + "" +
|
"where id = " + "'" + accreditationRecords.getId() + "'";
|
//FtpUtil.sqlFileUpload(s);
|
myAsyncService.FTP(s);
|
});
|
return true;
|
}
|
}
|