199 lines
6.6 KiB
Java
199 lines
6.6 KiB
Java
|
|
package com.zhgd.xmgl.async;
|
|||
|
|
|
|||
|
|
import com.zhgd.xmgl.call.HousingDataCall;
|
|||
|
|
import com.zhgd.xmgl.call.WkServiceuCall;
|
|||
|
|
import com.zhgd.xmgl.modules.basicdata.entity.Notice;
|
|||
|
|
import com.zhgd.xmgl.modules.project.entity.ProjectEnterprise;
|
|||
|
|
import com.zhgd.xmgl.modules.project.entity.ProjectUfaceConfig;
|
|||
|
|
import com.zhgd.xmgl.modules.project.service.IProjectUfaceConfigService;
|
|||
|
|
import com.zhgd.xmgl.modules.worker.entity.*;
|
|||
|
|
import com.zhgd.xmgl.modules.worker.mapper.WorkerInfoMapper;
|
|||
|
|
import com.zhgd.xmgl.modules.basicdata.service.INoticeService;
|
|||
|
|
import lombok.extern.slf4j.Slf4j;
|
|||
|
|
import org.apache.commons.collections.MapUtils;
|
|||
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|||
|
|
import org.springframework.scheduling.annotation.Async;
|
|||
|
|
import org.springframework.stereotype.Component;
|
|||
|
|
|
|||
|
|
import java.util.Date;
|
|||
|
|
import java.util.List;
|
|||
|
|
import java.util.Map;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @program: wisdomSite
|
|||
|
|
* @description: 异步人员任务
|
|||
|
|
* @author: Mr.Peng
|
|||
|
|
* @create: 2021-07-05 11:50
|
|||
|
|
**/
|
|||
|
|
@Slf4j
|
|||
|
|
@Component
|
|||
|
|
public class AsyncWorker {
|
|||
|
|
@Autowired
|
|||
|
|
private WorkerInfoMapper workerInfoMapper;
|
|||
|
|
@Autowired
|
|||
|
|
private HousingDataCall housingDataCall;
|
|||
|
|
@Autowired
|
|||
|
|
private INoticeService noticeService;
|
|||
|
|
@Autowired
|
|||
|
|
private IProjectUfaceConfigService projectUfaceConfigService;
|
|||
|
|
@Autowired
|
|||
|
|
private WkServiceuCall wkServiceuCall;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 批量数据发送任务
|
|||
|
|
* @param map
|
|||
|
|
*/
|
|||
|
|
@Async("sendWorkerExecutor")
|
|||
|
|
public void sendBatchWorkerInfo(Map<String,Object> map) {
|
|||
|
|
try {
|
|||
|
|
List<WorkerInfo> list=workerInfoMapper.selectSendWorkerList(map);
|
|||
|
|
if(list.size()>0){
|
|||
|
|
for (WorkerInfo info:list){
|
|||
|
|
housingDataCall.sendAddWork(info.getProjectSn(),info);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
log.info("--------------------------------批量发送人员信息执行完成-------------------------------");
|
|||
|
|
}catch (Exception e){
|
|||
|
|
e.printStackTrace();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 批量数据发送任务
|
|||
|
|
* @param
|
|||
|
|
*/
|
|||
|
|
@Async("sendWorkerExecutor")
|
|||
|
|
public void sendBatchWokerDev(Map<String, Object> map, ProjectUfaceConfig projectUfaceConfig,List<UfaceDev> devList) {
|
|||
|
|
try {
|
|||
|
|
List<WorkerInfo> list=workerInfoMapper.selectProjectWorkerInfoList(map);
|
|||
|
|
if(list.size()>0){
|
|||
|
|
for (WorkerInfo info:list){
|
|||
|
|
projectUfaceConfigService.sendBatchWorkerInfo(info,projectUfaceConfig,devList);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
Long userId=MapUtils.getLong(map,"userId");
|
|||
|
|
if(userId!=null) {
|
|||
|
|
java.text.DateFormat format1 = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|||
|
|
Notice notice = new Notice();
|
|||
|
|
notice.setAccountId(userId);
|
|||
|
|
notice.setMsg("已经完成批量向设备下发" + list.size() + "个人");
|
|||
|
|
notice.setTitle("人员批量下发设备提醒");
|
|||
|
|
notice.setSendTime(format1.format(new Date()));
|
|||
|
|
notice.setType("1");
|
|||
|
|
noticeService.addNotice(notice, true);
|
|||
|
|
}
|
|||
|
|
log.info("--------------------------------批量向设备下发人员执行完成-------------------------------");
|
|||
|
|
}catch (Exception e){
|
|||
|
|
e.printStackTrace();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
/**
|
|||
|
|
* 单个人员数据发送任务
|
|||
|
|
* @param info
|
|||
|
|
*/
|
|||
|
|
@Async("sendWorkerExecutor")
|
|||
|
|
public void sendWorkerInfoById(WorkerInfo info) {
|
|||
|
|
try {
|
|||
|
|
housingDataCall.sendAddWork(info.getProjectSn(),info);
|
|||
|
|
log.info("--------------------------------单个发送人员信息执行完成-------------------------------");
|
|||
|
|
}catch (Exception e){
|
|||
|
|
e.printStackTrace();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 人员退场异步任务
|
|||
|
|
* @param info 1 删除,2退场
|
|||
|
|
*/
|
|||
|
|
@Async("sendExitWorkerExecutor")
|
|||
|
|
public void sendExitWorkById(WorkerInfo info,Integer type) {
|
|||
|
|
try {
|
|||
|
|
housingDataCall.sendExitWork(info.getProjectSn(),info);
|
|||
|
|
log.info("--------------------------------单个发送人员退场执行完成-------------------------------");
|
|||
|
|
if(type==1) {
|
|||
|
|
//万科退场
|
|||
|
|
wkServiceuCall.removeWork(info.getProjectSn(), info);
|
|||
|
|
}else{
|
|||
|
|
wkServiceuCall.sendAddWork(info.getProjectSn(), info);
|
|||
|
|
}
|
|||
|
|
}catch (Exception e){
|
|||
|
|
e.printStackTrace();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
/**
|
|||
|
|
* 班组编辑或修改
|
|||
|
|
* @param
|
|||
|
|
*/
|
|||
|
|
@Async("sendWorkerExecutor")
|
|||
|
|
public void sendAddOrUpdateTeam(TeamInfo teamInfo, DepartmentInfo departmentInfo,Integer type) {
|
|||
|
|
try {
|
|||
|
|
if(type==1) {
|
|||
|
|
housingDataCall.sendAddOrUpdateTeam(teamInfo.getProjectSn(), teamInfo.getId());
|
|||
|
|
//向万科平台发送数据
|
|||
|
|
wkServiceuCall.sendAddDepartmentGroup(teamInfo,null,1,teamInfo.getProjectSn());
|
|||
|
|
}else{
|
|||
|
|
//向万科平台发送数据
|
|||
|
|
wkServiceuCall.sendAddDepartmentGroup(null,departmentInfo,2,teamInfo.getProjectSn());
|
|||
|
|
}
|
|||
|
|
//log.info("--------------------------------单个发送班组执行完成-------------------------------");
|
|||
|
|
|
|||
|
|
}catch (Exception e){
|
|||
|
|
e.printStackTrace();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 向外部上传设备
|
|||
|
|
* @param
|
|||
|
|
*/
|
|||
|
|
@Async("sendWorkerExecutor")
|
|||
|
|
public void saveUfaceDev(UfaceDev ufaceDev) {
|
|||
|
|
try {
|
|||
|
|
//向万科上传人脸设备
|
|||
|
|
wkServiceuCall.sentAddUfaceDev(ufaceDev);
|
|||
|
|
}catch (Exception e){
|
|||
|
|
e.printStackTrace();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 单个人员数据发送任务
|
|||
|
|
* @param info
|
|||
|
|
*/
|
|||
|
|
@Async("sendWorkerExecutor")
|
|||
|
|
public void sendAndOrEditWorkerInfo(WorkerInfo info) {
|
|||
|
|
try {
|
|||
|
|
wkServiceuCall.sendAddWork(info.getProjectSn(),info);
|
|||
|
|
log.info("--------------------------------单个发送人员信息执行完成-------------------------------");
|
|||
|
|
}catch (Exception e){
|
|||
|
|
e.printStackTrace();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 添加企业
|
|||
|
|
* @param enterpriseInfo
|
|||
|
|
*/
|
|||
|
|
@Async("sendWorkerExecutor")
|
|||
|
|
public void addEnterpriseInfo(EnterpriseInfo enterpriseInfo) {
|
|||
|
|
try {
|
|||
|
|
wkServiceuCall.addEnterpriseInfo(enterpriseInfo);
|
|||
|
|
}catch (Exception e){
|
|||
|
|
e.printStackTrace();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 解除企业绑定
|
|||
|
|
* @param projectEnterprise
|
|||
|
|
*/
|
|||
|
|
@Async("sendWorkerExecutor")
|
|||
|
|
public void removeEnterpriseInfo(ProjectEnterprise projectEnterprise) {
|
|||
|
|
try {
|
|||
|
|
wkServiceuCall.removeEnterpriseInfo(projectEnterprise);
|
|||
|
|
}catch (Exception e){
|
|||
|
|
e.printStackTrace();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|