2023-02-16 15:28:15 +08:00
|
|
|
|
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;
|
2024-02-29 09:53:33 +08:00
|
|
|
|
import com.zhgd.xmgl.modules.basicdata.service.INoticeService;
|
2023-02-16 15:28:15 +08:00
|
|
|
|
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;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 批量数据发送任务
|
2024-02-27 12:53:37 +08:00
|
|
|
|
*
|
2023-02-16 15:28:15 +08:00
|
|
|
|
* @param map
|
|
|
|
|
|
*/
|
|
|
|
|
|
@Async("sendWorkerExecutor")
|
2024-02-27 12:53:37 +08:00
|
|
|
|
public void sendBatchWorkerInfo(Map<String, Object> map) {
|
2023-02-16 15:28:15 +08:00
|
|
|
|
try {
|
2024-02-27 12:53:37 +08:00
|
|
|
|
List<WorkerInfo> list = workerInfoMapper.selectSendWorkerList(map);
|
|
|
|
|
|
if (list.size() > 0) {
|
|
|
|
|
|
for (WorkerInfo info : list) {
|
|
|
|
|
|
housingDataCall.sendAddWork(info.getProjectSn(), info);
|
2023-02-16 15:28:15 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
log.info("--------------------------------批量发送人员信息执行完成-------------------------------");
|
2024-02-27 12:53:37 +08:00
|
|
|
|
} catch (Exception e) {
|
2023-02-16 15:28:15 +08:00
|
|
|
|
e.printStackTrace();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 批量数据发送任务
|
2024-02-27 12:53:37 +08:00
|
|
|
|
*
|
2023-02-16 15:28:15 +08:00
|
|
|
|
* @param
|
|
|
|
|
|
*/
|
|
|
|
|
|
@Async("sendWorkerExecutor")
|
2024-02-27 12:53:37 +08:00
|
|
|
|
public void sendBatchWokerDev(Map<String, Object> map, ProjectUfaceConfig projectUfaceConfig, List<UfaceDev> devList) {
|
2023-02-16 15:28:15 +08:00
|
|
|
|
try {
|
2024-02-27 12:53:37 +08:00
|
|
|
|
List<WorkerInfo> list = workerInfoMapper.selectProjectWorkerInfoList(map);
|
|
|
|
|
|
if (list.size() > 0) {
|
|
|
|
|
|
for (WorkerInfo info : list) {
|
2024-03-12 11:26:41 +08:00
|
|
|
|
try {
|
|
|
|
|
|
projectUfaceConfigService.sendBatchWorkerInfo(info, projectUfaceConfig, devList);
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
|
log.error("下发人员异常:人员名称:{}", info.getWorkerName());
|
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
|
}
|
2023-02-16 15:28:15 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
2024-02-27 12:53:37 +08:00
|
|
|
|
Long userId = MapUtils.getLong(map, "userId");
|
|
|
|
|
|
if (userId != null) {
|
2023-02-16 15:28:15 +08:00
|
|
|
|
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("--------------------------------批量向设备下发人员执行完成-------------------------------");
|
2024-02-27 12:53:37 +08:00
|
|
|
|
} catch (Exception e) {
|
2023-02-16 15:28:15 +08:00
|
|
|
|
e.printStackTrace();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 单个人员数据发送任务
|
|
|
|
|
|
* @param info
|
|
|
|
|
|
*/
|
|
|
|
|
|
@Async("sendWorkerExecutor")
|
|
|
|
|
|
public void sendWorkerInfoById(WorkerInfo info) {
|
|
|
|
|
|
try {
|
2024-02-27 12:53:37 +08:00
|
|
|
|
housingDataCall.sendAddWork(info.getProjectSn(), info);
|
2023-02-16 15:28:15 +08:00
|
|
|
|
log.info("--------------------------------单个发送人员信息执行完成-------------------------------");
|
2024-02-27 12:53:37 +08:00
|
|
|
|
} catch (Exception e) {
|
2023-02-16 15:28:15 +08:00
|
|
|
|
e.printStackTrace();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 人员退场异步任务
|
2024-02-27 12:53:37 +08:00
|
|
|
|
*
|
2023-02-16 15:28:15 +08:00
|
|
|
|
* @param info 1 删除,2退场
|
|
|
|
|
|
*/
|
|
|
|
|
|
@Async("sendExitWorkerExecutor")
|
2024-02-27 12:53:37 +08:00
|
|
|
|
public void sendExitWorkById(WorkerInfo info, Integer type) {
|
2023-02-16 15:28:15 +08:00
|
|
|
|
try {
|
2024-02-27 12:53:37 +08:00
|
|
|
|
housingDataCall.sendExitWork(info.getProjectSn(), info);
|
2023-02-16 15:28:15 +08:00
|
|
|
|
log.info("--------------------------------单个发送人员退场执行完成-------------------------------");
|
2024-02-27 12:53:37 +08:00
|
|
|
|
if (type == 1) {
|
2023-02-16 15:28:15 +08:00
|
|
|
|
//万科退场
|
|
|
|
|
|
wkServiceuCall.removeWork(info.getProjectSn(), info);
|
2024-02-27 12:53:37 +08:00
|
|
|
|
} else {
|
2023-02-16 15:28:15 +08:00
|
|
|
|
wkServiceuCall.sendAddWork(info.getProjectSn(), info);
|
|
|
|
|
|
}
|
2024-02-27 12:53:37 +08:00
|
|
|
|
} catch (Exception e) {
|
2023-02-16 15:28:15 +08:00
|
|
|
|
e.printStackTrace();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2024-02-27 12:53:37 +08:00
|
|
|
|
|
2023-02-16 15:28:15 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 班组编辑或修改
|
2024-02-27 12:53:37 +08:00
|
|
|
|
*
|
2023-02-16 15:28:15 +08:00
|
|
|
|
* @param
|
|
|
|
|
|
*/
|
|
|
|
|
|
@Async("sendWorkerExecutor")
|
2024-02-27 12:53:37 +08:00
|
|
|
|
public void sendAddOrUpdateTeam(TeamInfo teamInfo, DepartmentInfo departmentInfo, Integer type) {
|
2023-02-16 15:28:15 +08:00
|
|
|
|
try {
|
2024-02-27 12:53:37 +08:00
|
|
|
|
if (type == 1) {
|
2023-02-16 15:28:15 +08:00
|
|
|
|
housingDataCall.sendAddOrUpdateTeam(teamInfo.getProjectSn(), teamInfo.getId());
|
|
|
|
|
|
//向万科平台发送数据
|
2024-02-27 12:53:37 +08:00
|
|
|
|
wkServiceuCall.sendAddDepartmentGroup(teamInfo, null, 1, teamInfo.getProjectSn());
|
|
|
|
|
|
} else {
|
2023-02-16 15:28:15 +08:00
|
|
|
|
//向万科平台发送数据
|
2024-02-27 12:53:37 +08:00
|
|
|
|
wkServiceuCall.sendAddDepartmentGroup(null, departmentInfo, 2, teamInfo.getProjectSn());
|
2023-02-16 15:28:15 +08:00
|
|
|
|
}
|
|
|
|
|
|
//log.info("--------------------------------单个发送班组执行完成-------------------------------");
|
|
|
|
|
|
|
2024-02-27 12:53:37 +08:00
|
|
|
|
} catch (Exception e) {
|
2023-02-16 15:28:15 +08:00
|
|
|
|
e.printStackTrace();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 向外部上传设备
|
|
|
|
|
|
* @param
|
|
|
|
|
|
*/
|
|
|
|
|
|
@Async("sendWorkerExecutor")
|
|
|
|
|
|
public void saveUfaceDev(UfaceDev ufaceDev) {
|
|
|
|
|
|
try {
|
|
|
|
|
|
//向万科上传人脸设备
|
|
|
|
|
|
wkServiceuCall.sentAddUfaceDev(ufaceDev);
|
2024-02-27 12:53:37 +08:00
|
|
|
|
} catch (Exception e) {
|
2023-02-16 15:28:15 +08:00
|
|
|
|
e.printStackTrace();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 单个人员数据发送任务
|
|
|
|
|
|
* @param info
|
|
|
|
|
|
*/
|
|
|
|
|
|
@Async("sendWorkerExecutor")
|
|
|
|
|
|
public void sendAndOrEditWorkerInfo(WorkerInfo info) {
|
|
|
|
|
|
try {
|
2024-02-27 12:53:37 +08:00
|
|
|
|
wkServiceuCall.sendAddWork(info.getProjectSn(), info);
|
2023-02-16 15:28:15 +08:00
|
|
|
|
log.info("--------------------------------单个发送人员信息执行完成-------------------------------");
|
2024-02-27 12:53:37 +08:00
|
|
|
|
} catch (Exception e) {
|
2023-02-16 15:28:15 +08:00
|
|
|
|
e.printStackTrace();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 添加企业
|
|
|
|
|
|
* @param enterpriseInfo
|
|
|
|
|
|
*/
|
|
|
|
|
|
@Async("sendWorkerExecutor")
|
|
|
|
|
|
public void addEnterpriseInfo(EnterpriseInfo enterpriseInfo) {
|
|
|
|
|
|
try {
|
|
|
|
|
|
wkServiceuCall.addEnterpriseInfo(enterpriseInfo);
|
2024-02-27 12:53:37 +08:00
|
|
|
|
} catch (Exception e) {
|
2023-02-16 15:28:15 +08:00
|
|
|
|
e.printStackTrace();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 解除企业绑定
|
|
|
|
|
|
* @param projectEnterprise
|
|
|
|
|
|
*/
|
|
|
|
|
|
@Async("sendWorkerExecutor")
|
|
|
|
|
|
public void removeEnterpriseInfo(ProjectEnterprise projectEnterprise) {
|
|
|
|
|
|
try {
|
|
|
|
|
|
wkServiceuCall.removeEnterpriseInfo(projectEnterprise);
|
2024-02-27 12:53:37 +08:00
|
|
|
|
} catch (Exception e) {
|
2023-02-16 15:28:15 +08:00
|
|
|
|
e.printStackTrace();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|