进度,人员bug
This commit is contained in:
@ -196,5 +196,8 @@ public class SubConstructionUser extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 首次入职时间
|
||||||
|
*/
|
||||||
private LocalDate firstDate;
|
private LocalDate firstDate;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -223,7 +223,13 @@ public interface ISubConstructionUserService extends IService<SubConstructionUse
|
|||||||
*/
|
*/
|
||||||
SubConstructionUser getBySysUserId(Long sysUserId);
|
SubConstructionUser getBySysUserId(Long sysUserId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询施工人员未分配列表
|
||||||
|
*
|
||||||
|
* @param req 查询条件
|
||||||
|
* @param pageQuery 分页参数
|
||||||
|
* @return 施工人员未分配列表
|
||||||
|
*/
|
||||||
TableDataInfo<SubConstructionUserAppVo> queryUndistributedList(SubConstructionUserQueryReq req, PageQuery pageQuery);
|
TableDataInfo<SubConstructionUserAppVo> queryUndistributedList(SubConstructionUserQueryReq req, PageQuery pageQuery);
|
||||||
|
|
||||||
void deleteeBySysUserIds( List<Long> ids);
|
void deleteeBySysUserIds( List<Long> ids);
|
||||||
|
|||||||
@ -750,13 +750,14 @@ public class SubConstructionUserServiceImpl extends ServiceImpl<SubConstructionU
|
|||||||
lqw.eq(ObjectUtils.isNotEmpty(contractorId), SubConstructionUser::getContractorId, contractorId);
|
lqw.eq(ObjectUtils.isNotEmpty(contractorId), SubConstructionUser::getContractorId, contractorId);
|
||||||
lqw.eq(ObjectUtils.isNotEmpty(teamId), SubConstructionUser::getTeamId, teamId);
|
lqw.eq(ObjectUtils.isNotEmpty(teamId), SubConstructionUser::getTeamId, teamId);
|
||||||
lqw.eq(StringUtils.isNotBlank(sex), SubConstructionUser::getSex, sex);
|
lqw.eq(StringUtils.isNotBlank(sex), SubConstructionUser::getSex, sex);
|
||||||
lqw.eq(ObjectUtils.isNotEmpty(typeOfWork), SubConstructionUser::getTypeOfWork, typeOfWork);
|
lqw.eq(StringUtils.isNotBlank(typeOfWork), SubConstructionUser::getTypeOfWork, typeOfWork);
|
||||||
lqw.eq(ObjectUtils.isNotEmpty(clock), SubConstructionUser::getClock, clock);
|
lqw.eq(ObjectUtils.isNotEmpty(clock), SubConstructionUser::getClock, clock);
|
||||||
lqw.eq(StringUtils.isNotBlank(userRole), SubConstructionUser::getUserRole, userRole);
|
lqw.eq(StringUtils.isNotBlank(userRole), SubConstructionUser::getUserRole, userRole);
|
||||||
if (StringUtils.isNotBlank(workStatus)) {
|
if (StringUtils.isNotBlank(workStatus)) {
|
||||||
if (workStatus.equals("0")) {
|
if ("0".equals(workStatus)) {
|
||||||
lqw.isNotNull(SubConstructionUser::getTeamId).ne(SubConstructionUser::getTeamId, "");
|
lqw.isNotNull(SubConstructionUser::getTeamId)
|
||||||
} else if (workStatus.equals("1")) {
|
.ne(SubConstructionUser::getTeamId, "");
|
||||||
|
} else if ("1".equals(workStatus)) {
|
||||||
lqw.isNull(SubConstructionUser::getTeamId);
|
lqw.isNull(SubConstructionUser::getTeamId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -767,12 +768,7 @@ public class SubConstructionUserServiceImpl extends ServiceImpl<SubConstructionU
|
|||||||
.or().isNull(SubConstructionUser::getTeamId));
|
.or().isNull(SubConstructionUser::getTeamId));
|
||||||
}
|
}
|
||||||
// 查询当前项目下的黑名单人员
|
// 查询当前项目下的黑名单人员
|
||||||
List<Long> blackUserIdList;
|
List<Long> blackUserIdList = constructionBlacklistService.queryIdListByProjectId(projectId);
|
||||||
if (projectId != null) {
|
|
||||||
blackUserIdList = constructionBlacklistService.queryIdListByProjectId(projectId);
|
|
||||||
} else {
|
|
||||||
blackUserIdList = constructionBlacklistService.queryIdListByProjectId(null);
|
|
||||||
}
|
|
||||||
if (CollUtil.isNotEmpty(blackUserIdList)) {
|
if (CollUtil.isNotEmpty(blackUserIdList)) {
|
||||||
lqw.notIn(SubConstructionUser::getSysUserId, blackUserIdList);
|
lqw.notIn(SubConstructionUser::getSysUserId, blackUserIdList);
|
||||||
}
|
}
|
||||||
@ -1290,7 +1286,13 @@ public class SubConstructionUserServiceImpl extends ServiceImpl<SubConstructionU
|
|||||||
return reqBase64;
|
return reqBase64;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询施工人员未分配列表
|
||||||
|
*
|
||||||
|
* @param req 查询条件
|
||||||
|
* @param pageQuery 分页参数
|
||||||
|
* @return 施工人员未分配列表
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public TableDataInfo<SubConstructionUserAppVo> queryUndistributedList(SubConstructionUserQueryReq req, PageQuery pageQuery) {
|
public TableDataInfo<SubConstructionUserAppVo> queryUndistributedList(SubConstructionUserQueryReq req, PageQuery pageQuery) {
|
||||||
LambdaQueryWrapper<SubConstructionUser> lqw = Wrappers.lambdaQuery();
|
LambdaQueryWrapper<SubConstructionUser> lqw = Wrappers.lambdaQuery();
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import org.dromara.manager.ys7manager.Ys7Manager;
|
|||||||
import org.dromara.manager.ys7manager.vo.Ys7QueryDeviceResponseVo;
|
import org.dromara.manager.ys7manager.vo.Ys7QueryDeviceResponseVo;
|
||||||
import org.dromara.other.service.IOthYs7DeviceService;
|
import org.dromara.other.service.IOthYs7DeviceService;
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|||||||
@ -120,6 +120,20 @@ public class PgsConstructionSchedulePlanController extends BaseController {
|
|||||||
return toAjax(pgsConstructionSchedulePlanService.updateByBo(req));
|
return toAjax(pgsConstructionSchedulePlanService.updateByBo(req));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改施工进度计划为完成状态
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("progress:constructionSchedulePlan:editFinish")
|
||||||
|
@Log(title = "施工进度计划", businessType = BusinessType.UPDATE)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PutMapping("/finish/{id}")
|
||||||
|
public R<Void> editFinish(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable Long id) {
|
||||||
|
return toAjax(pgsConstructionSchedulePlanService.updateFinish(id));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除施工进度计划
|
* 删除施工进度计划
|
||||||
*
|
*
|
||||||
|
|||||||
@ -67,8 +67,8 @@ public class PgsProgressPlanDetailController extends BaseController {
|
|||||||
* 新增进度计划详情(AI 填报)
|
* 新增进度计划详情(AI 填报)
|
||||||
*/
|
*/
|
||||||
@PostMapping("/insert/numberAI")
|
@PostMapping("/insert/numberAI")
|
||||||
public R<Void> insertNumberDetailByAI(@RequestPart("file") MultipartFile file) {
|
public R<Void> insertNumberDetailByAI(@RequestPart("file") MultipartFile file, Long projectId, String url) {
|
||||||
return toAjax(pgsProgressPlanDetailService.insertNumberDetailByAI(file));
|
return toAjax(pgsProgressPlanDetailService.insertNumberDetailByAI(file, projectId, url));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -54,6 +54,14 @@ public interface IPgsConstructionSchedulePlanService extends IService<PgsConstru
|
|||||||
*/
|
*/
|
||||||
Boolean updateByBo(PgsConstructionSchedulePlanUpdateReq req);
|
Boolean updateByBo(PgsConstructionSchedulePlanUpdateReq req);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改施工进度计划为完成状态
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 是否修改成功
|
||||||
|
*/
|
||||||
|
Boolean updateFinish(Long id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量删除施工进度计划信息
|
* 批量删除施工进度计划信息
|
||||||
*
|
*
|
||||||
|
|||||||
@ -135,8 +135,9 @@ public interface IPgsProgressPlanDetailService extends IService<PgsProgressPlanD
|
|||||||
/**
|
/**
|
||||||
* 使用AI识别计划详情设施数量
|
* 使用AI识别计划详情设施数量
|
||||||
*
|
*
|
||||||
* @param file 文件
|
* @param file 文件
|
||||||
|
* @param projectId 项目id
|
||||||
* @return 是否成功
|
* @return 是否成功
|
||||||
*/
|
*/
|
||||||
Boolean insertNumberDetailByAI(MultipartFile file);
|
Boolean insertNumberDetailByAI(MultipartFile file, Long projectId,String url);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -114,6 +114,25 @@ public class PgsConstructionSchedulePlanServiceImpl extends ServiceImpl<PgsConst
|
|||||||
return this.updateById(constructionSchedulePlan);
|
return this.updateById(constructionSchedulePlan);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改施工进度计划为完成状态
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 是否修改成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean updateFinish(Long id) {
|
||||||
|
PgsConstructionSchedulePlan plan = this.getById(id);
|
||||||
|
if (plan == null) {
|
||||||
|
throw new ServiceException("施工进度计划信息不存在", HttpStatus.NOT_FOUND);
|
||||||
|
}
|
||||||
|
if (plan.getStatus().equals("4")) {
|
||||||
|
throw new ServiceException("施工进度计划已完成", HttpStatus.NOT_FOUND);
|
||||||
|
}
|
||||||
|
plan.setStatus("4");
|
||||||
|
return this.updateById(plan);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量删除施工进度计划信息
|
* 批量删除施工进度计划信息
|
||||||
*
|
*
|
||||||
|
|||||||
@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.dromara.common.core.constant.HttpStatus;
|
import org.dromara.common.core.constant.HttpStatus;
|
||||||
import org.dromara.common.core.exception.ServiceException;
|
import org.dromara.common.core.exception.ServiceException;
|
||||||
import org.dromara.common.core.utils.ObjectUtils;
|
import org.dromara.common.core.utils.ObjectUtils;
|
||||||
@ -20,6 +21,11 @@ import org.dromara.facility.domain.*;
|
|||||||
import org.dromara.facility.domain.enums.FacFinishStatusEnum;
|
import org.dromara.facility.domain.enums.FacFinishStatusEnum;
|
||||||
import org.dromara.facility.domain.enums.FacFinishTypeEnum;
|
import org.dromara.facility.domain.enums.FacFinishTypeEnum;
|
||||||
import org.dromara.facility.service.*;
|
import org.dromara.facility.service.*;
|
||||||
|
import org.dromara.manager.recognizermanager.RecognizerManager;
|
||||||
|
import org.dromara.manager.recognizermanager.enums.RecognizerHasTargetEnum;
|
||||||
|
import org.dromara.manager.recognizermanager.enums.RecognizerTypeEnum;
|
||||||
|
import org.dromara.manager.recognizermanager.vo.RecognizeTargetVo;
|
||||||
|
import org.dromara.manager.recognizermanager.vo.RecognizeVo;
|
||||||
import org.dromara.out.domain.OutConstructionValue;
|
import org.dromara.out.domain.OutConstructionValue;
|
||||||
import org.dromara.out.service.IOutConstructionValueService;
|
import org.dromara.out.service.IOutConstructionValueService;
|
||||||
import org.dromara.progress.constant.PgsProgressCategoryConstant;
|
import org.dromara.progress.constant.PgsProgressCategoryConstant;
|
||||||
@ -62,6 +68,7 @@ import java.util.stream.Collectors;
|
|||||||
* @author lilemy
|
* @author lilemy
|
||||||
* @date 2025-05-27
|
* @date 2025-05-27
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
public class PgsProgressPlanDetailServiceImpl extends ServiceImpl<PgsProgressPlanDetailMapper, PgsProgressPlanDetail>
|
public class PgsProgressPlanDetailServiceImpl extends ServiceImpl<PgsProgressPlanDetailMapper, PgsProgressPlanDetail>
|
||||||
implements IPgsProgressPlanDetailService {
|
implements IPgsProgressPlanDetailService {
|
||||||
@ -97,6 +104,9 @@ public class PgsProgressPlanDetailServiceImpl extends ServiceImpl<PgsProgressPla
|
|||||||
@Resource
|
@Resource
|
||||||
private IOutConstructionValueService constructionValueService;
|
private IOutConstructionValueService constructionValueService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private RecognizerManager recognizerManager;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页查询进度计划详情列表
|
* 分页查询进度计划详情列表
|
||||||
*
|
*
|
||||||
@ -889,12 +899,28 @@ public class PgsProgressPlanDetailServiceImpl extends ServiceImpl<PgsProgressPla
|
|||||||
/**
|
/**
|
||||||
* 使用AI识别计划详情设施数量
|
* 使用AI识别计划详情设施数量
|
||||||
*
|
*
|
||||||
* @param file 文件
|
* @param file 文件
|
||||||
|
* @param projectId 项目id
|
||||||
* @return 是否成功
|
* @return 是否成功
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Boolean insertNumberDetailByAI(MultipartFile file) {
|
public Boolean insertNumberDetailByAI(MultipartFile file, Long projectId,String url) {
|
||||||
return null;
|
// 识别类型:洞、桩、架、架子
|
||||||
|
List<RecognizerTypeEnum> enumList = List.of(RecognizerTypeEnum.PHO);
|
||||||
|
/* List<RecognizerTypeEnum> enumList = List.of(RecognizerTypeEnum.HOLE, RecognizerTypeEnum.PHO,
|
||||||
|
RecognizerTypeEnum.PILE, RecognizerTypeEnum.SHELVES);*/
|
||||||
|
// 调用识别算法
|
||||||
|
RecognizeVo recognize = recognizerManager.recognize(url, enumList);
|
||||||
|
if (recognize == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (recognize.getHasTarget().equals(RecognizerHasTargetEnum.NO.getValue())) {
|
||||||
|
log.info("没有识别到设施");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
// 处理设施
|
||||||
|
List<RecognizeTargetVo> targets = recognize.getTargets();
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -200,7 +200,7 @@ public class PgsProgressPlanServiceImpl extends ServiceImpl<PgsProgressPlanMappe
|
|||||||
if (progressPlan == null) {
|
if (progressPlan == null) {
|
||||||
throw new ServiceException("进度计划信息不存在", HttpStatus.NOT_FOUND);
|
throw new ServiceException("进度计划信息不存在", HttpStatus.NOT_FOUND);
|
||||||
}
|
}
|
||||||
if (progressPlan.getPlanNumber() != null && progressPlan.getPlanNumber().compareTo(BigDecimal.ZERO) != 0) {
|
if (progressPlan.getFinishedNumber() != null && progressPlan.getFinishedNumber().compareTo(BigDecimal.ZERO) > 0) {
|
||||||
throw new ServiceException("已存在完成的设施,无法删除", HttpStatus.CONFLICT);
|
throw new ServiceException("已存在完成的设施,无法删除", HttpStatus.CONFLICT);
|
||||||
}
|
}
|
||||||
// 删除数据
|
// 删除数据
|
||||||
|
|||||||
Reference in New Issue
Block a user