|
@@ -1,13 +1,18 @@
|
|
|
package com.sooka.sponest.lawenforcement.record.service.impl;
|
|
|
|
|
|
+import com.alibaba.nacos.common.utils.UuidUtils;
|
|
|
import com.ruoyi.common.core.utils.DateUtils;
|
|
|
import com.ruoyi.common.core.utils.uuid.IdUtils;
|
|
|
import com.sooka.sponest.lawenforcement.device.domain.DeviceBO;
|
|
|
import com.sooka.sponest.lawenforcement.device.service.IDeviceService;
|
|
|
+import com.sooka.sponest.lawenforcement.person.domain.LawenforcementPerson;
|
|
|
+import com.sooka.sponest.lawenforcement.person.mapper.LawenforcementPersonMapper;
|
|
|
+import com.sooka.sponest.lawenforcement.person.service.ILawenforcementPersonService;
|
|
|
import com.sooka.sponest.lawenforcement.record.domain.LawenforcementRecord;
|
|
|
import com.sooka.sponest.lawenforcement.record.domain.LawenforcementRecordLog;
|
|
|
import com.sooka.sponest.lawenforcement.record.mapper.LawenforcementRecordMapper;
|
|
|
import com.sooka.sponest.lawenforcement.record.service.ILawenforcementRecordService;
|
|
|
+import com.sooka.sponest.lawenforcement.user.domain.LawenforcementUser;
|
|
|
import org.apache.commons.collections4.MapUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -16,6 +21,7 @@ import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 任务数据Service业务层处理
|
|
@@ -26,11 +32,14 @@ import java.util.Map;
|
|
|
@Service
|
|
|
public class LawenforcementRecordServiceImpl implements ILawenforcementRecordService {
|
|
|
@Autowired
|
|
|
- private LawenforcementRecordMapper lawenforcementRecordMapper;
|
|
|
+ private LawenforcementRecordMapper recordMapper;
|
|
|
|
|
|
@Autowired
|
|
|
private IDeviceService deviceService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private LawenforcementPersonMapper personMapper;
|
|
|
+
|
|
|
/**
|
|
|
* 查询任务数据
|
|
|
*
|
|
@@ -39,7 +48,14 @@ public class LawenforcementRecordServiceImpl implements ILawenforcementRecordSer
|
|
|
*/
|
|
|
@Override
|
|
|
public LawenforcementRecord selectLawenforcementRecordById(String id) {
|
|
|
- return lawenforcementRecordMapper.selectLawenforcementRecordById(id);
|
|
|
+ LawenforcementRecord record = recordMapper.selectLawenforcementRecordById(id);
|
|
|
+ List<LawenforcementUser> personList = record.getPersonList();
|
|
|
+ personList.forEach(person->{
|
|
|
+ if("1".equals(person.getIsMainPerson())){
|
|
|
+ record.setMainPerson(person.getCertificateNumber());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return record;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -50,7 +66,7 @@ public class LawenforcementRecordServiceImpl implements ILawenforcementRecordSer
|
|
|
*/
|
|
|
@Override
|
|
|
public List<LawenforcementRecord> selectLawenforcementRecordList(LawenforcementRecord lawenforcementRecord) {
|
|
|
- return lawenforcementRecordMapper.selectLawenforcementRecordList(lawenforcementRecord);
|
|
|
+ return recordMapper.selectLawenforcementRecordList(lawenforcementRecord);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -61,8 +77,7 @@ public class LawenforcementRecordServiceImpl implements ILawenforcementRecordSer
|
|
|
*/
|
|
|
@Override
|
|
|
public int insertLawenforcementRecord(LawenforcementRecord lawenforcementRecord) {
|
|
|
- lawenforcementRecord.setCreateTime(DateUtils.getNowDate());
|
|
|
- return lawenforcementRecordMapper.insertLawenforcementRecord(lawenforcementRecord);
|
|
|
+ return recordMapper.insertLawenforcementRecord(lawenforcementRecord);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -73,7 +88,7 @@ public class LawenforcementRecordServiceImpl implements ILawenforcementRecordSer
|
|
|
*/
|
|
|
@Override
|
|
|
public int updateLawenforcementRecord(LawenforcementRecord lawenforcementRecord) {
|
|
|
- return lawenforcementRecordMapper.updateLawenforcementRecord(lawenforcementRecord);
|
|
|
+ return recordMapper.updateLawenforcementRecord(lawenforcementRecord);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -84,7 +99,7 @@ public class LawenforcementRecordServiceImpl implements ILawenforcementRecordSer
|
|
|
*/
|
|
|
@Override
|
|
|
public int deleteLawenforcementRecordByIds(String[] ids) {
|
|
|
- return lawenforcementRecordMapper.deleteLawenforcementRecordByIds(ids);
|
|
|
+ return recordMapper.deleteLawenforcementRecordByIds(ids);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -95,7 +110,7 @@ public class LawenforcementRecordServiceImpl implements ILawenforcementRecordSer
|
|
|
*/
|
|
|
@Override
|
|
|
public int deleteLawenforcementRecordById(String id) {
|
|
|
- return lawenforcementRecordMapper.deleteLawenforcementRecordById(id);
|
|
|
+ return recordMapper.deleteLawenforcementRecordById(id);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -106,12 +121,12 @@ public class LawenforcementRecordServiceImpl implements ILawenforcementRecordSer
|
|
|
@Override
|
|
|
public int addRecordLog(LawenforcementRecord record) {
|
|
|
//更新工单数据中的设备id和设备名称,以及任务开始时间
|
|
|
- int i = lawenforcementRecordMapper.updateLawenforcementRecord(record);
|
|
|
- Map<String, String> personCode = lawenforcementRecordMapper.getPersonCode(record.getId());
|
|
|
+ int i = recordMapper.updateLawenforcementRecord(record);
|
|
|
+ Map<String, String> personCode = recordMapper.getPersonCode(record.getId());
|
|
|
|
|
|
LawenforcementRecordLog lawenforcementRecordLog = new LawenforcementRecordLog(IdUtils.fastSimpleUUID(), MapUtils.getString(personCode, "personCode"),record.getId(),record.getDeviceId(),new Date(),null);
|
|
|
//将工单执行记录,写入到日志表中:数据id、任务id、执法人编号、设备编号、开始时间
|
|
|
- lawenforcementRecordMapper.addRecordLog(lawenforcementRecordLog);
|
|
|
+ recordMapper.addRecordLog(lawenforcementRecordLog);
|
|
|
//绑定设备后关闭定时任务
|
|
|
deviceService.cancelTask(lawenforcementRecordLog.getDeviceId());
|
|
|
deviceService.setOpenedDevice(lawenforcementRecordLog.getDeviceId());
|
|
@@ -121,11 +136,38 @@ public class LawenforcementRecordServiceImpl implements ILawenforcementRecordSer
|
|
|
@Override
|
|
|
public void updateRecordLogEndTime(DeviceBO bo) {
|
|
|
//设置任务完成状态
|
|
|
- lawenforcementRecordMapper.updateRecordStatus(bo);
|
|
|
+ recordMapper.updateRecordStatus(bo);
|
|
|
//设置任务结束时间
|
|
|
- lawenforcementRecordMapper.updateRecordLogEndTime(bo);
|
|
|
+ recordMapper.updateRecordLogEndTime(bo);
|
|
|
//从正在执行任务的设备集合中移除信息
|
|
|
deviceService.removeOpenedDevice(bo.getCode());
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public int distributeRecord(LawenforcementRecord record) {
|
|
|
+ List<LawenforcementUser> userList = record.getPersonList();
|
|
|
+ String id = record.getId();
|
|
|
+ // 使用 Stream API 来创建 LawenforcementPerson 列表
|
|
|
+ List<LawenforcementPerson> personList = userList.stream()
|
|
|
+ .map(user -> {
|
|
|
+ LawenforcementPerson person = new LawenforcementPerson();
|
|
|
+ person.setId(IdUtils.fastSimpleUUID());
|
|
|
+ person.setPersonId(user.getUserId());
|
|
|
+ person.setPersonName(user.getNickName());
|
|
|
+ person.setPersonCode(user.getCertificateNumber());
|
|
|
+ person.setPersonPhone(user.getPhonenumber());
|
|
|
+ person.setDeptId(user.getDeptId());
|
|
|
+ person.setDeptName(user.getDeptName());
|
|
|
+ person.setPersonType("0");
|
|
|
+ person.setRecordId(id);
|
|
|
+ person.setMainPerson(person.getPersonCode().equals(record.getMainPerson())?"1":"0");
|
|
|
+ return person;
|
|
|
+ })
|
|
|
+ .collect(Collectors.toList()); // 收集结果 into a List
|
|
|
+ if(!personMapper.selectPersonByRecordId(id).isEmpty()){
|
|
|
+ personMapper.deleteLawenforcementPersonByRecordId(id);
|
|
|
+ }
|
|
|
+ personMapper.insertLawenforcementPersonToList(personList);
|
|
|
+ return recordMapper.updateLawenforcementRecord(record);
|
|
|
+ }
|
|
|
}
|