优化
This commit is contained in:
@ -1,8 +1,10 @@
|
||||
package org.dromara.bigscreen.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
@ -28,8 +30,10 @@ import org.dromara.gps.domain.vo.GpsEquipmentSonVo;
|
||||
import org.dromara.gps.service.IGpsEquipmentService;
|
||||
import org.dromara.land.domain.BusLandBlock;
|
||||
import org.dromara.land.domain.BusLandTransferLedger;
|
||||
import org.dromara.land.domain.BusLandTransferLedgerSon;
|
||||
import org.dromara.land.service.IBusLandBlockService;
|
||||
import org.dromara.land.service.IBusLandTransferLedgerService;
|
||||
import org.dromara.land.service.impl.BusLandTransferLedgerSonServiceImpl;
|
||||
import org.dromara.manager.weathermanager.vo.WeatherVo;
|
||||
import org.dromara.manager.ys7manager.Ys7Manager;
|
||||
import org.dromara.other.domain.OthYs7Device;
|
||||
@ -88,6 +92,8 @@ public class ProjectBigScreenController extends BaseController {
|
||||
|
||||
private final Ys7Manager ys7Manager;
|
||||
|
||||
private final BusLandTransferLedgerSonServiceImpl busLandTransferLedgerSonService;
|
||||
|
||||
/**
|
||||
* 查询项目土地统计
|
||||
*/
|
||||
@ -97,6 +103,21 @@ public class ProjectBigScreenController extends BaseController {
|
||||
List<BusLandTransferLedger> levelList = busLandTransferLedgerService.list(Wrappers.lambdaQuery(BusLandTransferLedger.class)
|
||||
.eq(BusLandTransferLedger::getProjectId, projectId));
|
||||
|
||||
if(CollectionUtil.isNotEmpty(levelList)){
|
||||
List<Long> list1 = levelList.stream().map(BusLandTransferLedger::getId).toList();
|
||||
LambdaQueryWrapper<BusLandTransferLedgerSon> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.in(BusLandTransferLedgerSon::getParentId,list1);
|
||||
List<BusLandTransferLedgerSon> sonList = busLandTransferLedgerSonService.list(lambdaQueryWrapper);
|
||||
Map<Long, BigDecimal> collect = sonList.stream().filter(vo -> "1".equals(vo.getTransferStatus()))
|
||||
.collect(Collectors.toMap(BusLandTransferLedgerSon::getParentId, BusLandTransferLedgerSon::getAreaValue));
|
||||
|
||||
for (BusLandTransferLedger busLandTransferLedger : levelList) {
|
||||
BigDecimal areaValue = collect.get(busLandTransferLedger.getId());
|
||||
if (areaValue != null) {
|
||||
busLandTransferLedger.setTransferAea(areaValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
// 根据 landBlockId 分组,并对 designArea 和 transferAea 进行求和
|
||||
Map<Long, Map<String, BigDecimal>> groupedResult = levelList.stream()
|
||||
.collect(Collectors.groupingBy(
|
||||
|
||||
@ -14,8 +14,10 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.design.domain.bo.DesUserBo;
|
||||
import org.dromara.design.domain.bo.DesVolumeFileBo;
|
||||
import org.dromara.design.domain.dto.volumefile.AuditFileDto;
|
||||
import org.dromara.design.domain.dto.volumefile.DesVolumeFileCreateReq;
|
||||
import org.dromara.design.domain.vo.DesUserVo;
|
||||
import org.dromara.design.domain.vo.volumefile.AuditFileVo;
|
||||
import org.dromara.design.domain.vo.volumefile.DesVolumeFileCodeVo;
|
||||
import org.dromara.design.domain.vo.volumefile.DesVolumeFileJoinVo;
|
||||
import org.dromara.design.domain.vo.volumefile.DesVolumeFileVo;
|
||||
@ -101,6 +103,14 @@ public class DesVolumeFileController extends BaseController {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取待审核图纸
|
||||
*/
|
||||
@GetMapping("/auditFile")
|
||||
public R<AuditFileVo> auditFile(AuditFileDto dto) {
|
||||
return R.ok(desVolumeFileService.auditFile(dto));
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,11 @@
|
||||
package org.dromara.design.domain.dto.volumefile;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class AuditFileDto {
|
||||
|
||||
private List<Long> volumeCatalogIds;
|
||||
}
|
||||
@ -0,0 +1,12 @@
|
||||
package org.dromara.design.domain.vo.volumefile;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class AuditFileVo {
|
||||
|
||||
private List<DesVolumeFileVo> ltList;
|
||||
private List<DesVolumeFileVo> gcList;
|
||||
}
|
||||
@ -6,12 +6,10 @@ import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.design.domain.DesVolumeFile;
|
||||
import org.dromara.design.domain.bo.DesVolumeFileBo;
|
||||
import org.dromara.design.domain.dto.volumefile.AuditFileDto;
|
||||
import org.dromara.design.domain.dto.volumefile.DesVolumeFileAppPageDto;
|
||||
import org.dromara.design.domain.dto.volumefile.DesVolumeFileCreateReq;
|
||||
import org.dromara.design.domain.vo.volumefile.DesVolumeFileAppVo;
|
||||
import org.dromara.design.domain.vo.volumefile.DesVolumeFileCodeVo;
|
||||
import org.dromara.design.domain.vo.volumefile.DesVolumeFileJoinVo;
|
||||
import org.dromara.design.domain.vo.volumefile.DesVolumeFileVo;
|
||||
import org.dromara.design.domain.vo.volumefile.*;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
@ -100,4 +98,6 @@ public interface IDesVolumeFileService extends IService<DesVolumeFile> {
|
||||
* app分页查询
|
||||
*/
|
||||
TableDataInfo<DesVolumeFileAppVo> queryAppPageList(DesVolumeFileAppPageDto dto, PageQuery pageQuery);
|
||||
|
||||
AuditFileVo auditFile(AuditFileDto dto);
|
||||
}
|
||||
|
||||
@ -27,13 +27,11 @@ import org.dromara.common.sse.utils.SseMessageUtils;
|
||||
import org.dromara.design.domain.DesVolumeCatalog;
|
||||
import org.dromara.design.domain.DesVolumeFile;
|
||||
import org.dromara.design.domain.bo.DesVolumeFileBo;
|
||||
import org.dromara.design.domain.dto.volumefile.AuditFileDto;
|
||||
import org.dromara.design.domain.dto.volumefile.DesVolumeFileAppPageDto;
|
||||
import org.dromara.design.domain.dto.volumefile.DesVolumeFileCreateReq;
|
||||
import org.dromara.design.domain.vo.BusDrawingreviewReceiptsVo;
|
||||
import org.dromara.design.domain.vo.volumefile.DesVolumeFileAppVo;
|
||||
import org.dromara.design.domain.vo.volumefile.DesVolumeFileCodeVo;
|
||||
import org.dromara.design.domain.vo.volumefile.DesVolumeFileJoinVo;
|
||||
import org.dromara.design.domain.vo.volumefile.DesVolumeFileVo;
|
||||
import org.dromara.design.domain.vo.volumefile.*;
|
||||
import org.dromara.design.mapper.DesVolumeFileMapper;
|
||||
import org.dromara.design.service.IBusDrawingreviewReceiptsService;
|
||||
import org.dromara.design.service.IDesDrawingService;
|
||||
@ -563,6 +561,21 @@ public class DesVolumeFileServiceImpl extends ServiceImpl<DesVolumeFileMapper, D
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AuditFileVo auditFile(AuditFileDto dto) {
|
||||
List<Long> volumeCatalogIds = dto.getVolumeCatalogIds();
|
||||
List<DesVolumeFileVo> desVolumeFileVos = baseMapper.selectVoList(Wrappers.lambdaQuery(DesVolumeFile.class)
|
||||
.in(CollectionUtil.isNotEmpty(volumeCatalogIds),DesVolumeFile::getVolumeCatalogId, volumeCatalogIds)
|
||||
.eq(DesVolumeFile::getAuditStatus, "draft")
|
||||
);
|
||||
List<DesVolumeFileVo> list1 = desVolumeFileVos.stream().filter(vo -> "1".equals(vo.getType())).toList();
|
||||
List<DesVolumeFileVo> list2 = desVolumeFileVos.stream().filter(vo -> "3".equals(vo.getType())).toList();
|
||||
AuditFileVo auditFileVo = new AuditFileVo();
|
||||
auditFileVo.setGcList(list1);
|
||||
auditFileVo.setLtList(list2);
|
||||
return auditFileVo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成,单任务完成等)
|
||||
* 正常使用只需#processEvent.flowCode=='leave1'
|
||||
|
||||
@ -111,8 +111,8 @@ public class BusAttendanceAppController extends BaseController {
|
||||
* 获取用户当天打卡记录
|
||||
*/
|
||||
@GetMapping("/getTodayAttendance/{projectId}")
|
||||
public R<List<BusAttendanceVo>> getTodayAttendance(@NotNull @PathVariable("projectId") Long projectId){
|
||||
return R.ok(attendanceService.getTodayAttendance(projectId));
|
||||
public R<List<BusAttendanceVo>> getTodayAttendance(@NotNull @PathVariable("projectId") Long projectId,Long userId){
|
||||
return R.ok(attendanceService.getTodayAttendance(projectId,userId));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -8,6 +8,7 @@ import org.dromara.project.domain.dto.projectteam.BusProjectTeamQueryReq;
|
||||
import org.dromara.project.domain.vo.projectteam.BusProjectTeamAppVo;
|
||||
import org.dromara.project.domain.vo.projectteam.BusProjectTeamForemanVo;
|
||||
import org.dromara.project.domain.vo.projectteam.BusProjectTeamVo;
|
||||
import org.dromara.project.domain.vo.projectteam.TeamManageVo;
|
||||
import org.dromara.project.service.IBusProjectTeamService;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
@ -59,4 +60,20 @@ public class BusProjectTeamAppController extends BaseController {
|
||||
return R.ok(projectTeamService.getByUserId(userId,projectId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取分包单位的班组
|
||||
*/
|
||||
@GetMapping("/getByContractor/{contractorId}")
|
||||
public R<List<BusProjectTeamAppVo>> getByContractorId(@PathVariable("contractorId") Long contractorId){
|
||||
return R.ok(projectTeamService.getByContractorId(contractorId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取班组管理员信息
|
||||
*/
|
||||
@GetMapping("/getManager/{teamId}")
|
||||
public R<List<TeamManageVo>> getManager(@PathVariable("teamId") Long teamId){
|
||||
return R.ok(projectTeamService.getManager(teamId));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -46,4 +46,12 @@ public class BusProjectTeamMemberAppController extends BaseController {
|
||||
public R<Void> remove(@RequestBody BusProjectTeamMemberExitReq req) {
|
||||
return toAjax(projectTeamMemberService.deleteById(req));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取岗位
|
||||
*/
|
||||
@GetMapping("/getPost/{userId}/{projectId}")
|
||||
public R<String> getPost(@PathVariable("userId") Long userId, @PathVariable("projectId")Long projectId) {
|
||||
return R.ok(projectTeamMemberService.getPost(userId,projectId));
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,12 @@
|
||||
package org.dromara.project.domain.vo.projectteam;
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class TeamManageVo {
|
||||
|
||||
private Long userId;
|
||||
|
||||
private String name;
|
||||
}
|
||||
@ -121,7 +121,7 @@ public interface IBusAttendanceService extends IService<BusAttendance>{
|
||||
/**
|
||||
* 获取用户当天打卡记录
|
||||
*/
|
||||
List<BusAttendanceVo> getTodayAttendance(Long projectId);
|
||||
List<BusAttendanceVo> getTodayAttendance(Long projectId,Long userId);
|
||||
|
||||
/**
|
||||
* 获取用户指定月份的打卡记录
|
||||
|
||||
@ -11,6 +11,7 @@ import org.dromara.project.domain.dto.projectteammember.BusProjectTeamMemberExit
|
||||
import org.dromara.project.domain.dto.projectteammember.BusProjectTeamMemberQueryReq;
|
||||
import org.dromara.project.domain.dto.projectteammember.BusProjectTeamMemberUpdateReq;
|
||||
import org.dromara.project.domain.vo.projectteammember.BusProjectTeamMemberVo;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -94,4 +95,10 @@ public interface IBusProjectTeamMemberService extends IService<BusProjectTeamMem
|
||||
* @return 项目班组成员分页对象视图
|
||||
*/
|
||||
Page<BusProjectTeamMemberVo> getVoPage(Page<BusProjectTeamMember> projectTeamMemberPage);
|
||||
|
||||
|
||||
/**
|
||||
* 获取用户岗位
|
||||
*/
|
||||
String getPost(Long userId,Long projectId);
|
||||
}
|
||||
|
||||
@ -13,6 +13,7 @@ import org.dromara.project.domain.dto.projectteam.BusProjectTeamUpdateReq;
|
||||
import org.dromara.project.domain.vo.projectteam.BusProjectTeamAppVo;
|
||||
import org.dromara.project.domain.vo.projectteam.BusProjectTeamForemanVo;
|
||||
import org.dromara.project.domain.vo.projectteam.BusProjectTeamVo;
|
||||
import org.dromara.project.domain.vo.projectteam.TeamManageVo;
|
||||
import org.dromara.quality.domain.vo.qualityinspection.QltQualityInspectionVo;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
|
||||
@ -120,6 +121,9 @@ public interface IBusProjectTeamService extends IService<BusProjectTeam> {
|
||||
|
||||
List<BusProjectTeamAppVo> getByUserId(Long userId,Long projectId);
|
||||
|
||||
List<BusProjectTeamAppVo> getByContractorId( Long contractorId);
|
||||
|
||||
Boolean deleteUserId(Long id,Long userId);
|
||||
|
||||
List<TeamManageVo> getManager(Long teamId);
|
||||
}
|
||||
|
||||
@ -685,9 +685,11 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B
|
||||
|
||||
|
||||
@Override
|
||||
public List<BusAttendanceVo> getTodayAttendance(Long projectId) {
|
||||
public List<BusAttendanceVo> getTodayAttendance(Long projectId,Long userId) {
|
||||
|
||||
Long userId = LoginHelper.getUserId();
|
||||
if (userId == null) {
|
||||
userId = LoginHelper.getUserId();
|
||||
}
|
||||
BusAttendanceRuleVo busAttendanceRuleVo = attendanceRuleService.queryByProjectId(projectId);
|
||||
|
||||
if (busAttendanceRuleVo == null) {
|
||||
@ -1207,15 +1209,14 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B
|
||||
|
||||
|
||||
// 往前14天,包含今天
|
||||
LocalDate startDate = now.minusDays(14);
|
||||
LocalDate endDate = now.minusDays(1);
|
||||
LocalDate startDate = now.minusDays(13);
|
||||
List<BusAttendance> list;
|
||||
if(CollectionUtil.isEmpty(allUserIds)){
|
||||
list = new ArrayList<>();
|
||||
}else {
|
||||
list = list(Wrappers.<BusAttendance>lambdaQuery()
|
||||
.in(BusAttendance::getUserId, allUserIds)
|
||||
.between(BusAttendance::getClockDate, startDate, endDate)
|
||||
.between(BusAttendance::getClockDate, startDate, now)
|
||||
.orderByAsc(BusAttendance::getClockDate)
|
||||
);
|
||||
}
|
||||
@ -1237,7 +1238,7 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B
|
||||
List<BusAttendanceClockDateForTwoWeekVo> result = new ArrayList<>();
|
||||
|
||||
LocalDate currentDate = startDate;
|
||||
while (!currentDate.isAfter(endDate)) {
|
||||
while (!currentDate.isAfter(now)) {
|
||||
Map<Long, List<BusAttendance>> userAttendanceMap = dateUserMap.getOrDefault(currentDate, new HashMap<>());
|
||||
|
||||
int full = 0, half = 0, absent = 0;
|
||||
|
||||
@ -464,4 +464,17 @@ public class BusProjectTeamMemberServiceImpl extends ServiceImpl<BusProjectTeamM
|
||||
projectTeamMemberVoPage.setRecords(projectTeamMemberVoList);
|
||||
return projectTeamMemberVoPage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPost(Long userId,Long projectId) {
|
||||
BusProjectTeamMember busProjectTeamMember = baseMapper.selectOne(Wrappers.<BusProjectTeamMember>lambdaQuery()
|
||||
.eq(BusProjectTeamMember::getMemberId, userId)
|
||||
.eq(BusProjectTeamMember::getProjectId, projectId)
|
||||
.last("limit 1")
|
||||
);
|
||||
if(busProjectTeamMember == null){
|
||||
return null;
|
||||
}
|
||||
return busProjectTeamMember.getPostId();
|
||||
}
|
||||
}
|
||||
|
||||
@ -27,10 +27,7 @@ import org.dromara.project.domain.dto.projectteam.BusProjectTeamCreateReq;
|
||||
import org.dromara.project.domain.dto.projectteam.BusProjectTeamQueryReq;
|
||||
import org.dromara.project.domain.dto.projectteam.BusProjectTeamUpdateReq;
|
||||
import org.dromara.project.domain.enums.BusProjectTeamMemberPostEnum;
|
||||
import org.dromara.project.domain.vo.projectteam.BusForemanVo;
|
||||
import org.dromara.project.domain.vo.projectteam.BusProjectTeamAppVo;
|
||||
import org.dromara.project.domain.vo.projectteam.BusProjectTeamForemanVo;
|
||||
import org.dromara.project.domain.vo.projectteam.BusProjectTeamVo;
|
||||
import org.dromara.project.domain.vo.projectteam.*;
|
||||
import org.dromara.project.mapper.BusProjectTeamMapper;
|
||||
import org.dromara.project.service.IBusProjectPunchrangeService;
|
||||
import org.dromara.project.service.IBusProjectService;
|
||||
@ -490,6 +487,23 @@ public class BusProjectTeamServiceImpl extends ServiceImpl<BusProjectTeamMapper,
|
||||
return List.of();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BusProjectTeamAppVo> getByContractorId(Long contractorId) {
|
||||
LambdaQueryWrapper<BusProjectTeam> lqw = new LambdaQueryWrapper<>();
|
||||
lqw.select(BusProjectTeam::getId, BusProjectTeam::getTeamName);
|
||||
lqw.eq(BusProjectTeam::getContractorId, contractorId);
|
||||
List<BusProjectTeam> projectTeamList = list(lqw);
|
||||
if (CollUtil.isNotEmpty(projectTeamList)) {
|
||||
return projectTeamList.stream().map(projectTeam -> {
|
||||
BusProjectTeamAppVo projectTeamAppVo = new BusProjectTeamAppVo();
|
||||
BeanUtils.copyProperties(projectTeam, projectTeamAppVo);
|
||||
return projectTeamAppVo;
|
||||
}).toList();
|
||||
}
|
||||
|
||||
return List.of();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deleteUserId(Long id,Long userId) {
|
||||
BusProjectTeam projectTeam = baseMapper.selectById(id);
|
||||
@ -505,4 +519,24 @@ public class BusProjectTeamServiceImpl extends ServiceImpl<BusProjectTeamMapper,
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TeamManageVo> getManager(Long teamId) {
|
||||
BusProjectTeam projectTeam = baseMapper.selectById(teamId);
|
||||
|
||||
String userId = projectTeam.getUserId();
|
||||
if (StringUtils.isNotBlank(userId)) {
|
||||
String[] split = userId.split(",");
|
||||
List<Long> list1 = Arrays.stream(split).map(s -> Long.valueOf(s.trim())).toList();
|
||||
List<SysUserVo> sysUserVos = userService.selectUserByIds(list1, null);
|
||||
|
||||
return sysUserVos.stream().map(s -> {
|
||||
TeamManageVo teamManageVo = new TeamManageVo();
|
||||
teamManageVo.setUserId(s.getUserId());
|
||||
teamManageVo.setName(s.getNickName());
|
||||
return teamManageVo;
|
||||
}).toList();
|
||||
}
|
||||
return List.of();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user