识别逻辑

This commit is contained in:
lcj
2025-10-20 20:09:51 +08:00
parent a464a1236d
commit 13de88265f
3 changed files with 47 additions and 1 deletions

View File

@ -155,6 +155,9 @@ public class CtrContractProgressSettlementServiceImpl extends ServiceImpl<CtrCon
@Transactional(rollbackFor = Exception.class)
public Boolean insertByBo(CtrContractProgressSettlementCreateReq req) {
CtrContractProgressSettlement add = MapstructUtils.convert(req, CtrContractProgressSettlement.class);
if (Objects.equals(req.getDeptId(), req.getSettlementUnit())) {
throw new ServiceException("结算单位不能与收款单位相同");
}
// 生成唯一编号
LocalDate today = LocalDate.now();
Long userId = LoginHelper.getUserId();
@ -219,6 +222,9 @@ public class CtrContractProgressSettlementServiceImpl extends ServiceImpl<CtrCon
public Boolean updateByBo(CtrContractProgressSettlementUpdateReq req) {
CtrContractProgressSettlement update = MapstructUtils.convert(req, CtrContractProgressSettlement.class);
validEntityBeforeSave(update);
if (Objects.equals(req.getDeptId(), req.getSettlementUnit())) {
throw new ServiceException("结算单位不能与收款单位相同");
}
Long id = req.getId();
// 删除旧数据
List<CtrContractProgressSettlementItem> oldList = contractProgressSettlementItemService.lambdaQuery()

View File

@ -12,6 +12,8 @@ import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.contractor.domain.SubConstructionUser;
import org.dromara.contractor.service.ISubConstructionUserService;
import org.dromara.mobileAttendanceMachine.DeviceMessageSender;
import org.dromara.project.domain.BusAttendanceMachine;
import org.dromara.project.domain.BusProject;
@ -58,6 +60,9 @@ public class BusAttendanceMachineServiceImpl extends ServiceImpl<BusAttendanceMa
@Resource
private DeviceMessageSender deviceMessageSender;
@Resource
private ISubConstructionUserService constructionUserService;
/**
* 查询考勤机
*
@ -220,6 +225,38 @@ public class BusAttendanceMachineServiceImpl extends ServiceImpl<BusAttendanceMa
}
}
}
// 新增的班组不为空时,添加考勤机中对应人
if (CollUtil.isNotEmpty(added)) {
// 获取待添加到考勤机的班组的所有用户id
List<Long> userIds = projectTeamMemberService.lambdaQuery()
.select(BusProjectTeamMember::getMemberId)
.in(BusProjectTeamMember::getTeamId, added)
.list()
.stream().map(BusProjectTeamMember::getMemberId)
.toList();
// 获取待添加到考勤机的用户信息
List<SubConstructionUser> users = constructionUserService.lambdaQuery()
.in(SubConstructionUser::getSysUserId, userIds)
.list();
for (SubConstructionUser user : users) {
// 添加考勤机中用户
}
}
} else {
// 添加考勤机中对应人
List<Long> userIds = projectTeamMemberService.lambdaQuery()
.select(BusProjectTeamMember::getMemberId)
.in(BusProjectTeamMember::getTeamId, teamIds)
.list()
.stream().map(BusProjectTeamMember::getMemberId)
.toList();
// 获取待添加到考勤机的用户信息
List<SubConstructionUser> users = constructionUserService.lambdaQuery()
.in(SubConstructionUser::getSysUserId, userIds)
.list();
for (SubConstructionUser user : users) {
// 添加考勤机中用户
}
}
projectTeams.forEach(team -> {
if (!team.getProjectId().equals(projectId)) {

View File

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.constant.HttpStatus;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.StringUtils;
@ -39,6 +40,7 @@ import java.util.Objects;
* @author lilemy
* @date 2025-06-24
*/
@Slf4j
@Service
public class HseRecognizeRecordServiceImpl extends ServiceImpl<HseRecognizeRecordMapper, HseRecognizeRecord>
implements IHseRecognizeRecordService {
@ -109,7 +111,8 @@ public class HseRecognizeRecordServiceImpl extends ServiceImpl<HseRecognizeRecor
entity.setCreateTime(record.getCreateTime());
Long projectId = record.getProjectId();
if (projectId == null) {
entity.setRemark("摄像头暂未分配到项目中");
log.warn("摄像头[{}]暂未分配到项目中", record.getDeviceSerial());
continue;
}
List<RecognizeTargetVo> targets = record.getTargets();
List<String> codeList = targets.stream()