海康下发修改
This commit is contained in:
parent
5c4ea16ad9
commit
e003e303e1
@ -2,20 +2,21 @@ package com.zhgd.netty.tcp.listener;
|
||||
|
||||
import io.netty.util.concurrent.Future;
|
||||
import io.netty.util.concurrent.GenericFutureListener;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* @author chenws
|
||||
* @date 2020/03/17 15:58:10
|
||||
*/
|
||||
@Slf4j
|
||||
public class BindListener implements GenericFutureListener<Future<? super Void>> {
|
||||
|
||||
@Override
|
||||
public void operationComplete(Future future) throws Exception {
|
||||
if (future.isSuccess()) {
|
||||
System.out.println("绑定成功");
|
||||
} else {
|
||||
//打印错误信息,也可自定义处理
|
||||
future.cause().printStackTrace();
|
||||
log.error("", future.cause());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -37,8 +37,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.concurrent.Future;
|
||||
@ -689,7 +687,6 @@ public class AsyncHikvision {
|
||||
* @param addAuthWorkerIds
|
||||
* @param sendNotice
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
|
||||
public void handlerBatchWorkersResult(Map<String, WorkerInfo> workerIdMap, Map<String, UfaceDev> devSnMap, JSONArray qaiList, int i, String devSn, String projectSn, List<String> addAuthWorkerIds, boolean sendNotice) {
|
||||
JSONObject jo = qaiList.getJSONObject(i);
|
||||
String personId = jo.getString("personId");
|
||||
|
||||
@ -1166,11 +1166,11 @@ public class HikvisionCall {
|
||||
*/
|
||||
public void updateAllFailStatusIfNullForAuth(String projectSn, List<WorkerInfo> workerList, Integer bigType, Integer operate) {
|
||||
for (WorkerInfo workerInfo : workerList) {
|
||||
updateAllFailStatusIfNullForAuth(projectSn, workerInfo.getId(), bigType, operate);
|
||||
hikvisionCall.updateAllFailStatusIfNullForAuth(projectSn, workerInfo.getId(), bigType, operate);
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateAllFailStatusIfNullForAuth(String projectSn, Long whoId, Integer bigType, Integer operate) {
|
||||
xzHikvisionSyncMapper.update(null, new LambdaUpdateWrapper<XzHikvisionSync>()
|
||||
.set(XzHikvisionSync::getIsSuccess, 0)
|
||||
@ -1180,7 +1180,7 @@ public class HikvisionCall {
|
||||
.eq(XzHikvisionSync::getProjectSn, projectSn)
|
||||
.eq(XzHikvisionSync::getWhoId, whoId)
|
||||
);
|
||||
updateTotalStatus(projectSn, whoId, bigType);
|
||||
this.updateTotalStatus(projectSn, whoId, bigType);
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
|
||||
@ -1212,7 +1212,7 @@ public class HikvisionCall {
|
||||
updateStatus(projectSn, whoId, type, operate, deviceSn, true);
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateStatus(String projectSn, Long whoId, Integer type, Integer operate, String deviceSn, Boolean isSuccess) {
|
||||
LambdaQueryWrapper<XzHikvisionSync> queryWrapper = new LambdaQueryWrapper<XzHikvisionSync>()
|
||||
.eq(XzHikvisionSync::getProjectSn, projectSn)
|
||||
|
||||
@ -24,8 +24,8 @@ import org.apache.commons.collections.MapUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
@ -40,13 +40,15 @@ import java.util.Map;
|
||||
*/
|
||||
@Service
|
||||
public class NoticeServiceImpl extends ServiceImpl<NoticeMapper, Notice> implements INoticeService {
|
||||
@Lazy
|
||||
@Autowired
|
||||
NoticeServiceImpl noticeService;
|
||||
@Autowired
|
||||
private NoticeMapper noticeMapper;
|
||||
@Autowired
|
||||
private IMqttSender mqttPushClient;
|
||||
@Autowired
|
||||
private SystemUserMapper systemUserMapper;
|
||||
|
||||
@Value("${mqtt-scope}")
|
||||
private String scope;
|
||||
@Lazy
|
||||
@ -73,7 +75,7 @@ public class NoticeServiceImpl extends ServiceImpl<NoticeMapper, Notice> impleme
|
||||
public void addNotice(Notice notice, boolean isSendMqtt) {
|
||||
noticeMapper.insert(notice);
|
||||
if (isSendMqtt) {
|
||||
sendMqttMessage(notice);
|
||||
noticeService.sendMqttMessage(notice);
|
||||
}
|
||||
}
|
||||
|
||||
@ -95,7 +97,7 @@ public class NoticeServiceImpl extends ServiceImpl<NoticeMapper, Notice> impleme
|
||||
notice.setType(type);
|
||||
notice.setPayload(payload);
|
||||
noticeMapper.insert(notice);
|
||||
sendMqttMessage(notice);
|
||||
noticeService.sendMqttMessage(notice);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -153,6 +155,7 @@ public class NoticeServiceImpl extends ServiceImpl<NoticeMapper, Notice> impleme
|
||||
}
|
||||
|
||||
@Override
|
||||
@Async("sendBatchExecutor")
|
||||
public void sendMqttMessage(Notice notice) {
|
||||
sendMqttMessage(notice, "");
|
||||
}
|
||||
|
||||
@ -33,6 +33,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
@ -63,6 +64,9 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
|
||||
IUfaceDevService ufaceDevService;
|
||||
@Lazy
|
||||
@Autowired
|
||||
ProjectUfaceConfigServiceImpl projectUfaceConfigService;
|
||||
@Lazy
|
||||
@Autowired
|
||||
private WorkerInfoServiceImpl workerInfoService;
|
||||
@Autowired
|
||||
private ProjectUfaceConfigMapper projectUfaceConfigMapper;
|
||||
@ -485,7 +489,13 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
|
||||
* @param devSns
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
|
||||
public void addHkSyncRecordsAndUpdateWorkerStatus(WorkerInfo workerInfo, String devSns) {
|
||||
//清除以前的记录
|
||||
xzHikvisionSyncMapper.delete(new LambdaQueryWrapper<XzHikvisionSync>()
|
||||
.eq(XzHikvisionSync::getBigType, 1)
|
||||
.eq(XzHikvisionSync::getWhoId, workerInfo.getId())
|
||||
);
|
||||
for (String ds : StrUtil.split(devSns, ",")) {
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(workerInfo.getProjectSn()).setType(3).setOperate(1).setWhoId(workerInfo.getId()).setDeviceSn(ds).setBigType(1).setCreateDate(getSyncTimeWithInitAndDeleteSyncIfAbsent(1, workerInfo.getId())));
|
||||
}
|
||||
@ -501,6 +511,7 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
|
||||
* @param userId
|
||||
*/
|
||||
@Override
|
||||
@Transactional(propagation = Propagation.NOT_SUPPORTED)
|
||||
public void buildAndSendBatchWorkerForHk(ProjectUfaceConfig projectUfaceConfig, List<UfaceDev> allDevList, List<WorkerInfo> workerList, Long userId) {
|
||||
//构建workerAndDevSnList
|
||||
List<JSONObject> workerAndDevSnList = new ArrayList<>();
|
||||
@ -513,12 +524,7 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
|
||||
Pair<String, String> devSnsAndDevIdsPair = this.getBatchDevSnsAndDevIds(workerInfo, allDevList);
|
||||
if (devSnsAndDevIdsPair.getRight() != null) {
|
||||
String devSns = devSnsAndDevIdsPair.getLeft();
|
||||
//清除以前的记录
|
||||
xzHikvisionSyncMapper.delete(new LambdaQueryWrapper<XzHikvisionSync>()
|
||||
.eq(XzHikvisionSync::getBigType, 1)
|
||||
.eq(XzHikvisionSync::getWhoId, workerInfo.getId())
|
||||
);
|
||||
this.addHkSyncRecordsAndUpdateWorkerStatus(workerInfo, devSns);
|
||||
projectUfaceConfigService.addHkSyncRecordsAndUpdateWorkerStatus(workerInfo, devSns);
|
||||
List<String> devSnList = StrUtil.split(devSns, ",");
|
||||
for (String devSn : devSnList) {
|
||||
JSONObject jo = new JSONObject();
|
||||
|
||||
@ -70,6 +70,7 @@ import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
@ -106,6 +107,8 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
||||
@Autowired
|
||||
IWorkerSafeEducationWorkerService workerSafeEducationWorkerService;
|
||||
@Autowired
|
||||
WorkerInfoServiceImpl workerInfoService;
|
||||
@Autowired
|
||||
private IDictionaryItemService dictionaryItemService;
|
||||
@Autowired
|
||||
private InspectTaskRecordMapper inspectTaskRecordMapper;
|
||||
@ -918,7 +921,6 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public ProjectWorkerStatisticsVo selectProjectWorkerStatistics(Map<String, Object> map) {
|
||||
Map<String, Object> data = new HashMap<>();
|
||||
@ -1350,7 +1352,6 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
||||
return workerInfoMapper.getWorkerInfoList(map);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询劳务人员和管理人员列表
|
||||
*
|
||||
@ -1425,7 +1426,6 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void addOrEditWork(Map<String, Object> work, Map<String, Object> info, Integer type) {
|
||||
WorkerInfo workerInfo = new WorkerInfo();
|
||||
workerInfo.setWorkerName(MapUtils.getString(work, "name"));
|
||||
@ -1602,7 +1602,6 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void exporExcelWorkerTemplate(HttpServletResponse response, String projectSn) {
|
||||
List<EntityMap> teamList = teamInfoMapper.selectTeamInfoBySnList(projectSn);
|
||||
@ -1632,6 +1631,7 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(propagation = Propagation.NOT_SUPPORTED)
|
||||
public Result uploadExcelWorkerInfo(MultipartFile excelFile, String projectSn) {
|
||||
Result<String> result = new Result<String>();
|
||||
StringBuilder existName = new StringBuilder("");
|
||||
@ -1765,17 +1765,15 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
||||
continue;
|
||||
}
|
||||
workerInfo.setId(oldWorkerInfo.getId());
|
||||
workerInfoMapper.updateById(workerInfo);
|
||||
//同步海康
|
||||
this.editWorkerForHikvision(workerInfo);
|
||||
workerInfoService.editWorkerInfo(workerInfo);
|
||||
} else {
|
||||
String uuid = UUID.randomUUID().toString().replace("-", "").toUpperCase();
|
||||
workerInfo.setPersonSn(uuid);
|
||||
workerInfo.setAddTime(new Date());
|
||||
workerInfo.setAttendanceNumber(workerInfo.getIdCard());
|
||||
workerInfoMapper.insert(workerInfo);
|
||||
//同步海康
|
||||
this.addWorkerForHikvision(workerInfo);
|
||||
workerInfoService.saveWorkerInfo(workerInfo);
|
||||
}
|
||||
asyncJiLianDa.saveWorkerInfo(workerInfo);
|
||||
}
|
||||
@ -2056,38 +2054,6 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 只需要实现全量更新,设备这边是全量更新的,人员删除后直接从白名单中删除就行,现在不是通过del这个标志判断的,这个标志应该是后面加的,设备最早不是按这个标志判断的,
|
||||
* 比如之前有3个人,后面xxx人员退场了,白名单就返回剩下的两个人就行,因为默认都是全量的,增量更新需要专门开启,实现了全量就可以了
|
||||
*/
|
||||
@Override
|
||||
public String getWorkerInfoByDev(GetWorkerInfoByDevDto dto) {
|
||||
String deviceId = dto.getDeviceId();
|
||||
UfaceDev dev = ufaceDevMapper.selectOne(new LambdaQueryWrapper<UfaceDev>()
|
||||
.eq(UfaceDev::getDevSn, deviceId));
|
||||
if (dev == null) {
|
||||
throw new OpenAlertException("设备编号不存在");
|
||||
}
|
||||
String projectSn = dev.getProjectSn();
|
||||
List<WorkerInfo> workerInfos = workerInfoMapper.selectList(new LambdaQueryWrapper<WorkerInfo>()
|
||||
.eq(WorkerInfo::getProjectSn, projectSn)
|
||||
.eq(WorkerInfo::getInserviceType, 1)
|
||||
);
|
||||
|
||||
//添加人员
|
||||
ArrayList<GetWorkerInfoByDevVo.Worker> datas = new ArrayList<>();
|
||||
addDatas(workerInfos, "0", datas);
|
||||
|
||||
GetWorkerInfoByDevVo getWorkerInfoByDevVo = new GetWorkerInfoByDevVo();
|
||||
getWorkerInfoByDevVo.setSuccess(true);
|
||||
getWorkerInfoByDevVo.setCode(0);
|
||||
getWorkerInfoByDevVo.setMessage("success");
|
||||
getWorkerInfoByDevVo.setTime(System.currentTimeMillis() / 1000);
|
||||
getWorkerInfoByDevVo.setData(datas);
|
||||
getWorkerInfoByDevVo.setEvent("workers");
|
||||
return JSON.toJSONString(getWorkerInfoByDevVo);
|
||||
}
|
||||
|
||||
///*
|
||||
//全量和增量更新
|
||||
// */
|
||||
@ -2137,12 +2103,45 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
||||
// return JSON.toJSONString(getWorkerInfoByDevVo);
|
||||
//}
|
||||
|
||||
/**
|
||||
* 只需要实现全量更新,设备这边是全量更新的,人员删除后直接从白名单中删除就行,现在不是通过del这个标志判断的,这个标志应该是后面加的,设备最早不是按这个标志判断的,
|
||||
* 比如之前有3个人,后面xxx人员退场了,白名单就返回剩下的两个人就行,因为默认都是全量的,增量更新需要专门开启,实现了全量就可以了
|
||||
*/
|
||||
@Override
|
||||
public String getWorkerInfoByDev(GetWorkerInfoByDevDto dto) {
|
||||
String deviceId = dto.getDeviceId();
|
||||
UfaceDev dev = ufaceDevMapper.selectOne(new LambdaQueryWrapper<UfaceDev>()
|
||||
.eq(UfaceDev::getDevSn, deviceId));
|
||||
if (dev == null) {
|
||||
throw new OpenAlertException("设备编号不存在");
|
||||
}
|
||||
String projectSn = dev.getProjectSn();
|
||||
List<WorkerInfo> workerInfos = workerInfoMapper.selectList(new LambdaQueryWrapper<WorkerInfo>()
|
||||
.eq(WorkerInfo::getProjectSn, projectSn)
|
||||
.eq(WorkerInfo::getInserviceType, 1)
|
||||
);
|
||||
|
||||
//添加人员
|
||||
ArrayList<GetWorkerInfoByDevVo.Worker> datas = new ArrayList<>();
|
||||
addDatas(workerInfos, "0", datas);
|
||||
|
||||
GetWorkerInfoByDevVo getWorkerInfoByDevVo = new GetWorkerInfoByDevVo();
|
||||
getWorkerInfoByDevVo.setSuccess(true);
|
||||
getWorkerInfoByDevVo.setCode(0);
|
||||
getWorkerInfoByDevVo.setMessage("success");
|
||||
getWorkerInfoByDevVo.setTime(System.currentTimeMillis() / 1000);
|
||||
getWorkerInfoByDevVo.setData(datas);
|
||||
getWorkerInfoByDevVo.setEvent("workers");
|
||||
return JSON.toJSONString(getWorkerInfoByDevVo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CountEntryAndExitNumVo countEntryAndExitNum(Map<String, Object> map) {
|
||||
return baseMapper.countEntryAndExitNum(map);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(propagation = Propagation.NOT_SUPPORTED)
|
||||
public void uploadWorkerInfoImgs(MultipartFile file, String projectSn) throws IOException {
|
||||
String folder = basePath + "/" + IdUtil.simpleUUID();
|
||||
File folderFile = new File(folder);
|
||||
@ -2158,9 +2157,14 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
||||
StringBuilder formatSb = new StringBuilder();
|
||||
StringBuilder failSb = new StringBuilder();
|
||||
StringBuilder sucSb = new StringBuilder();
|
||||
List<WorkerInfo> allEditWorkerInfos = new ArrayList<>();
|
||||
for (int i = 0; i < files.length; i++) {
|
||||
File f = files[i];
|
||||
traverseFile(f.getAbsolutePath(), formatSb, failSb, sucSb);
|
||||
List<WorkerInfo> editWorkerInfos = getEditWorkerInfos(f.getAbsolutePath(), formatSb, sucSb, projectSn);
|
||||
allEditWorkerInfos.addAll(editWorkerInfos);
|
||||
}
|
||||
for (WorkerInfo workerInfo : allEditWorkerInfos) {
|
||||
workerInfoService.editWorkerInfo(workerInfo);
|
||||
}
|
||||
//通知
|
||||
if (SecurityUtils.getUser() != null && SecurityUtils.getUser().getUserId() != null) {
|
||||
@ -2291,12 +2295,12 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
||||
}
|
||||
|
||||
/**
|
||||
* 真正递归的方法
|
||||
*
|
||||
* @param path 根目录的抽象路径
|
||||
* @param sucSb
|
||||
* @param projectSn
|
||||
*/
|
||||
public void traverseFile(String path, StringBuilder formatSb, StringBuilder failSb, StringBuilder sucSb) {
|
||||
public List<WorkerInfo> getEditWorkerInfos(String path, StringBuilder formatSb, StringBuilder sucSb, String projectSn) {
|
||||
List<WorkerInfo> rtList = new ArrayList<>();
|
||||
File file = new File(path);
|
||||
if (file.exists()) {
|
||||
if (file.isDirectory()) {
|
||||
@ -2304,7 +2308,7 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
||||
for (File f : fileArray) {
|
||||
System.out.println("【文件夹】-----" + f.getAbsolutePath());
|
||||
// -----递归的方法体
|
||||
traverseFile(f.getAbsolutePath(), formatSb, failSb, sucSb);
|
||||
rtList.addAll(getEditWorkerInfos(f.getAbsolutePath(), formatSb, sucSb, projectSn));
|
||||
}
|
||||
} else {
|
||||
System.out.println("【文件】-----" + file.getAbsolutePath());
|
||||
@ -2314,29 +2318,23 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
||||
boolean isMatch = ReUtil.isMatch(".+_.+[.].+", name);
|
||||
if (!isMatch) {
|
||||
formatSb.append(name + ",");
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
String idCard = name.split("_")[1].split("\\.")[0];
|
||||
String workerName = name.split("_")[0];
|
||||
String suffix = name.split("\\.")[1];
|
||||
String saveName = IdUtil.randomUUID() + "." + suffix;
|
||||
FileUtil.move(file, new File(basePath + "/" + saveName), true);
|
||||
List<WorkerInfo> workerInfos = workerInfoMapper.selectList(new LambdaQueryWrapper<WorkerInfo>()
|
||||
.eq(WorkerInfo::getIdCard, idCard));
|
||||
try {
|
||||
for (WorkerInfo workerInfo : workerInfos) {
|
||||
workerInfo.setFieldAcquisitionUrl(saveName);
|
||||
this.editWorkerInfo(workerInfo);
|
||||
WorkerInfo workerInfo = workerInfoMapper.selectOne(new LambdaQueryWrapper<WorkerInfo>()
|
||||
.eq(WorkerInfo::getIdCard, idCard)
|
||||
.eq(WorkerInfo::getProjectSn, projectSn)
|
||||
);
|
||||
sucSb.append(workerName + ",");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("error:", e);
|
||||
failSb.append(workerName + ":错误原因" + e.getMessage() + ",");
|
||||
workerInfo.setFieldAcquisitionUrl(saveName);
|
||||
rtList.add(workerInfo);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
System.out.println("文件不存在!");
|
||||
}
|
||||
return rtList;
|
||||
}
|
||||
|
||||
private void addDatas(List<WorkerInfo> infos, String del, ArrayList<GetWorkerInfoByDevVo.Worker> datas) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user