diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/app/controller/SysPackageController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/app/controller/SysPackageController.java index 03b94588..00d204f7 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/app/controller/SysPackageController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/app/controller/SysPackageController.java @@ -41,41 +41,88 @@ public class SysPackageController { /** * 上传最新安装包及版本 */ - @Transactional @GetMapping("/uploadNewVersion") public R uploadNewVersion(String version, String type, MultipartFile file) { String originalFileName = "apk/package/app-release.apk"; - //覆盖失败,先删除文件 - LambdaQueryWrapper lambdaQueryWrapper =new LambdaQueryWrapper<>(); + // 先查询最新记录 + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.orderByDesc(SysPackage::getCreateTime); List list = sysPackageService.list(lambdaQueryWrapper); - if (list != null && !list.isEmpty()){ - SysPackage first = list.getFirst(); - Boolean b = sysOssService.deleteWithValidByIds(List.of(first.getFileId()), false); - if (!b){ - log.error("通过IDS删除文件失败"); - } - } + // 分离事务:先处理文件上传 SysOssVo upload = sysOssService.upload(file, originalFileName); - if (upload == null){ + if (upload == null) { return R.fail("上传失败"); } - SysPackage sysPackage = new SysPackage(); - sysPackage.setVersion( version); - sysPackage.setFileId(upload.getOssId()); - sysPackage.setFileUrl(upload.getUrl()); - sysPackage.setType(type); - boolean save = sysPackageService.save(sysPackage); - if (!save){ - return R.fail("保存失败"); - } - - return R.ok(sysPackage); + // 分离事务:再处理数据库操作 + return handleDatabaseOperations(version, type, upload, list); } + @Transactional + public R handleDatabaseOperations(String version, String type, SysOssVo upload, List existingPackages) { + try { + // 先删除旧文件记录 + if (existingPackages != null && !existingPackages.isEmpty()) { + SysPackage first = existingPackages.getFirst(); + Boolean b = sysOssService.deleteWithValidByIds(List.of(first.getFileId()), false); + if (!b) { + log.error("通过IDS删除文件失败"); + } + } + + // 保存新记录 + SysPackage sysPackage = new SysPackage(); + sysPackage.setVersion(version); + sysPackage.setFileId(upload.getOssId()); + sysPackage.setFileUrl(upload.getUrl()); + sysPackage.setType(type); + + boolean save = sysPackageService.save(sysPackage); + if (!save) { + return R.fail("保存失败"); + } + + return R.ok(sysPackage); + } catch (Exception e) { + log.error("数据库操作失败", e); + throw e; // 重新抛出异常触发事务回滚 + } + } +// public R uploadNewVersion(String version, String type, MultipartFile file) { +// String originalFileName = "apk/package/app-release.apk"; +// +// //覆盖失败,先删除文件 +// LambdaQueryWrapper lambdaQueryWrapper =new LambdaQueryWrapper<>(); +// lambdaQueryWrapper.orderByDesc(SysPackage::getCreateTime); +// List list = sysPackageService.list(lambdaQueryWrapper); +// if (list != null && !list.isEmpty()){ +// SysPackage first = list.getFirst(); +// Boolean b = sysOssService.deleteWithValidByIds(List.of(first.getFileId()), false); +// if (!b){ +// log.error("通过IDS删除文件失败"); +// } +// } +// +// SysOssVo upload = sysOssService.upload(file, originalFileName); +// if (upload == null){ +// return R.fail("上传失败"); +// } +// SysPackage sysPackage = new SysPackage(); +// sysPackage.setVersion( version); +// sysPackage.setFileId(upload.getOssId()); +// sysPackage.setFileUrl(upload.getUrl()); +// sysPackage.setType(type); +// +// boolean save = sysPackageService.save(sysPackage); +// if (!save){ +// return R.fail("保存失败"); +// } +// +// return R.ok(sysPackage); +// } + /** * 删除 现在指向的是同一个文件 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/controller/ProjectBigScreenController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/controller/ProjectBigScreenController.java index 5f2d3125..1142ff37 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/controller/ProjectBigScreenController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/controller/ProjectBigScreenController.java @@ -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 levelList = busLandTransferLedgerService.list(Wrappers.lambdaQuery(BusLandTransferLedger.class) .eq(BusLandTransferLedger::getProjectId, projectId)); + if(CollectionUtil.isNotEmpty(levelList)){ + List list1 = levelList.stream().map(BusLandTransferLedger::getId).toList(); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(BusLandTransferLedgerSon::getParentId,list1); + List sonList = busLandTransferLedgerSonService.list(lambdaQueryWrapper); + Map 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> groupedResult = levelList.stream() .collect(Collectors.groupingBy( diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/contractor/service/ISubConstructionUserService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/contractor/service/ISubConstructionUserService.java index 532a0d30..12ade3eb 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/contractor/service/ISubConstructionUserService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/contractor/service/ISubConstructionUserService.java @@ -236,4 +236,12 @@ public interface ISubConstructionUserService extends IService queryUndistributedList(SubConstructionUserQueryReq req, PageQuery pageQuery); void deleteeBySysUserIds( List ids); + + /** + * 根据系统用户id查询施工人员 + * + * @param sysUserId 系统用户id + * @return 施工人员 + */ + SubConstructionUser getByUserId(Long sysUserId); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/contractor/service/impl/SubConstructionUserServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/contractor/service/impl/SubConstructionUserServiceImpl.java index 08f81a75..aa7eee09 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/contractor/service/impl/SubConstructionUserServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/contractor/service/impl/SubConstructionUserServiceImpl.java @@ -1548,4 +1548,12 @@ public class SubConstructionUserServiceImpl extends ServiceImpllambdaUpdate() .in(SubConstructionUser::getSysUserId, ids)); } + + @Override + public SubConstructionUser getByUserId(Long sysUserId) { + return this.lambdaQuery() + .eq(SubConstructionUser::getSysUserId, sysUserId) + .last("limit 1") + .one(); + } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesVolumeFileController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesVolumeFileController.java index 9066bc7e..ee5ef340 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesVolumeFileController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesVolumeFileController.java @@ -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 auditFile(AuditFileDto dto) { + return R.ok(desVolumeFileService.auditFile(dto)); + } + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/volumefile/AuditFileDto.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/volumefile/AuditFileDto.java new file mode 100644 index 00000000..a7a073fe --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/volumefile/AuditFileDto.java @@ -0,0 +1,11 @@ +package org.dromara.design.domain.dto.volumefile; + +import lombok.Data; + +import java.util.List; + +@Data +public class AuditFileDto { + + private List volumeCatalogIds; +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/volumefile/AuditFileVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/volumefile/AuditFileVo.java new file mode 100644 index 00000000..d6c88386 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/volumefile/AuditFileVo.java @@ -0,0 +1,12 @@ +package org.dromara.design.domain.vo.volumefile; + +import lombok.Data; + +import java.util.List; + +@Data +public class AuditFileVo { + + private List ltList; + private List gcList; +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IDesVolumeFileService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IDesVolumeFileService.java index 160855bc..948060ed 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IDesVolumeFileService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IDesVolumeFileService.java @@ -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 { * app分页查询 */ TableDataInfo queryAppPageList(DesVolumeFileAppPageDto dto, PageQuery pageQuery); + + AuditFileVo auditFile(AuditFileDto dto); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/DesVolumeFileServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/DesVolumeFileServiceImpl.java index 15e3460e..dedb04c2 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/DesVolumeFileServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/DesVolumeFileServiceImpl.java @@ -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 volumeCatalogIds = dto.getVolumeCatalogIds(); + List desVolumeFileVos = baseMapper.selectVoList(Wrappers.lambdaQuery(DesVolumeFile.class) + .in(CollectionUtil.isNotEmpty(volumeCatalogIds),DesVolumeFile::getVolumeCatalogId, volumeCatalogIds) + .eq(DesVolumeFile::getAuditStatus, "draft") + ); + List list1 = desVolumeFileVos.stream().filter(vo -> "1".equals(vo.getType())).toList(); + List 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' diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/controller/MatMaterialsController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/controller/MatMaterialsController.java index d17d5b47..5ec39413 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/controller/MatMaterialsController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/controller/MatMaterialsController.java @@ -15,6 +15,9 @@ import org.dromara.common.log.enums.BusinessType; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.web.core.BaseController; +import org.dromara.contractor.domain.dto.contractor.SubContractorQueryReq; +import org.dromara.contractor.domain.vo.contractor.SubContractorVo; +import org.dromara.contractor.service.ISubContractorService; import org.dromara.materials.domain.dto.materials.MatMaterialsCreateReq; import org.dromara.materials.domain.dto.materials.MatMaterialsGisReq; import org.dromara.materials.domain.dto.materials.MatMaterialsQueryReq; @@ -40,6 +43,8 @@ public class MatMaterialsController extends BaseController { private final IMatMaterialsService materialsService; + private final ISubContractorService contractorService; + /** * 查询材料列表 */ @@ -155,4 +160,14 @@ public class MatMaterialsController extends BaseController { @PathVariable Long[] ids) { return toAjax(materialsService.deleteWithValidByIds(List.of(ids), true)); } + + + /** + * 查询分包单位列表 + */ + @SaCheckPermission("materials:materials:contractorList") + @GetMapping("/contractorList") + public R> contractorList(SubContractorQueryReq req) { + return R.ok(contractorService.queryList(req)); + } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusAttendanceAppController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusAttendanceAppController.java index 14e13519..ae06fd1a 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusAttendanceAppController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusAttendanceAppController.java @@ -111,8 +111,8 @@ public class BusAttendanceAppController extends BaseController { * 获取用户当天打卡记录 */ @GetMapping("/getTodayAttendance/{projectId}") - public R> getTodayAttendance(@NotNull @PathVariable("projectId") Long projectId){ - return R.ok(attendanceService.getTodayAttendance(projectId)); + public R> getTodayAttendance(@NotNull @PathVariable("projectId") Long projectId,Long userId){ + return R.ok(attendanceService.getTodayAttendance(projectId,userId)); } /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusLeaveAppController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusLeaveAppController.java index 4e9fea7a..9ef42953 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusLeaveAppController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusLeaveAppController.java @@ -12,7 +12,9 @@ import org.dromara.common.web.core.BaseController; import org.dromara.contractor.service.ISubConstructionUserService; import org.dromara.project.domain.dto.leave.BusLeaveAddReq; import org.dromara.project.domain.dto.leave.BusLeaveQueryReq; +import org.dromara.project.domain.dto.reissuecard.BusReissueCardQueryReq; import org.dromara.project.domain.vo.leave.BusLeaveVo; +import org.dromara.project.domain.vo.reissuecard.BusReissueCardVo; import org.dromara.project.service.IBusLeaveService; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -38,12 +40,31 @@ public class BusLeaveAppController extends BaseController { */ @GetMapping("/list/loginUser") public TableDataInfo listByLoginUser(BusLeaveQueryReq req, PageQuery pageQuery) { -// SubConstructionUser constructionUser = constructionUserService.getBySysUserId(LoginHelper.getUserId()); req.setUserId(LoginHelper.getUserId()); - //管理员呢 return leaveService.listByLoginUser(req, pageQuery); } + /** + * 查询当前登录用户补卡审批列表 + */ + @GetMapping("/list/auditUser") + public TableDataInfo listByAuditUser(BusLeaveQueryReq req, PageQuery pageQuery) { + req.setGangerId(LoginHelper.getUserId()); + return leaveService.listByAuditUser(req, pageQuery); + } + + + /** + * 查询角色补卡审批列表 + */ + @GetMapping("/list/auditRole") + public TableDataInfo listByAuditRole(BusLeaveQueryReq req, PageQuery pageQuery) { + return leaveService.listByAuditRole(req, pageQuery); + } + + + + /** * 提交请假 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusProjectTeamAppController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusProjectTeamAppController.java index 94094d47..8b976f97 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusProjectTeamAppController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusProjectTeamAppController.java @@ -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> getByContractorId(@PathVariable("contractorId") Long contractorId){ + return R.ok(projectTeamService.getByContractorId(contractorId)); + } + + /** + * 获取班组管理员信息 + */ + @GetMapping("/getManager/{teamId}") + public R> getManager(@PathVariable("teamId") Long teamId){ + return R.ok(projectTeamService.getManager(teamId)); + } + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusProjectTeamMemberAppController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusProjectTeamMemberAppController.java index 6cef7ebb..60604eb9 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusProjectTeamMemberAppController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusProjectTeamMemberAppController.java @@ -46,4 +46,12 @@ public class BusProjectTeamMemberAppController extends BaseController { public R remove(@RequestBody BusProjectTeamMemberExitReq req) { return toAjax(projectTeamMemberService.deleteById(req)); } + + /** + * 获取岗位 + */ + @GetMapping("/getPost/{userId}/{projectId}") + public R getPost(@PathVariable("userId") Long userId, @PathVariable("projectId")Long projectId) { + return R.ok(projectTeamMemberService.getPost(userId,projectId)); + } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusReissueCardAppController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusReissueCardAppController.java index 2f6c4483..27f1520e 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusReissueCardAppController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/app/BusReissueCardAppController.java @@ -75,10 +75,19 @@ public class BusReissueCardAppController extends BaseController { */ @GetMapping("/list/auditUser") public TableDataInfo listByAuditUser(BusReissueCardQueryReq req, PageQuery pageQuery) { -// SubConstructionUser constructionUser = constructionUserService.getBySysUserId(LoginHelper.getUserId()); req.setGangerId(LoginHelper.getUserId()); return reissueCardService.listByAuditUser(req, pageQuery); } + + + /** + * 查询角色补卡审批列表 + */ + @GetMapping("/list/auditRole") + public TableDataInfo listByAuditRole(BusReissueCardQueryReq req, PageQuery pageQuery) { + return reissueCardService.listByAuditRole(req, pageQuery); + } + /** * 获取施工人员补卡申请详细信息 * @@ -91,9 +100,9 @@ public class BusReissueCardAppController extends BaseController { } /** - * 修改补卡申请 + * 审核 */ - @Log(title = "修改补卡申请", businessType = BusinessType.UPDATE) + @Log(title = "审核补卡申请", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping("") public R managerReview(@RequestBody BusReissueCardUpdateReq req) { diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusLeave.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusLeave.java index a94e2f42..7ec0dae7 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusLeave.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusLeave.java @@ -149,4 +149,10 @@ public class BusLeave extends BaseEntity { * 时间段类型 1-上午 2-下午 */ private String periodType; + + + /** + * 申请人类型(0-施工人员 1-管理人员 2-分包人员) + */ + private String userType; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusReissueCard.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusReissueCard.java index f13ff532..355f5a95 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusReissueCard.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusReissueCard.java @@ -130,4 +130,10 @@ public class BusReissueCard extends BaseEntity { */ private String status; + + /** + * 申请人类型(0-施工人员 1-管理人员 2-分包人员) + */ + private String userType; + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/leave/BusLeaveAddReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/leave/BusLeaveAddReq.java index 612459c1..9bcf1bb1 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/leave/BusLeaveAddReq.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/leave/BusLeaveAddReq.java @@ -64,4 +64,9 @@ public class BusLeaveAddReq implements Serializable { * 时间段类型 1-上午 2-下午 */ private String periodType; + + /** + * 申请人类型(0-施工人员 1-管理人员 2-分包人员) + */ + private String userType; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/leave/BusLeaveQueryReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/leave/BusLeaveQueryReq.java index 7266f5b9..bb9b2d3d 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/leave/BusLeaveQueryReq.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/leave/BusLeaveQueryReq.java @@ -6,6 +6,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; import java.time.LocalDate; +import java.util.List; /** * @author lilemy @@ -73,4 +74,7 @@ public class BusLeaveQueryReq implements Serializable { */ private LocalDate date; + + private List roleIds; + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/reissuecard/BusReissueCardAddReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/reissuecard/BusReissueCardAddReq.java index fc912cfb..cf5ee544 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/reissuecard/BusReissueCardAddReq.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/reissuecard/BusReissueCardAddReq.java @@ -63,4 +63,9 @@ public class BusReissueCardAddReq implements Serializable { * 补卡类型(1上班 2下班) */ private String reissueCardType; + + /** + * 申请人类型(0-施工人员 1-管理人员 2-分包人员) + */ + private String userType; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/reissuecard/BusReissueCardQueryReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/reissuecard/BusReissueCardQueryReq.java index 517542b7..2e13c59d 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/reissuecard/BusReissueCardQueryReq.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/reissuecard/BusReissueCardQueryReq.java @@ -6,6 +6,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; import java.time.LocalDate; +import java.util.List; /** * @author lilemy @@ -77,6 +78,4 @@ public class BusReissueCardQueryReq implements Serializable { * 日期 */ private LocalDate date; - - } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/projectteam/TeamManageVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/projectteam/TeamManageVo.java new file mode 100644 index 00000000..b97ded5b --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/projectteam/TeamManageVo.java @@ -0,0 +1,12 @@ +package org.dromara.project.domain.vo.projectteam; + + +import lombok.Data; + +@Data +public class TeamManageVo { + + private Long userId; + + private String name; +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/projectteammember/BusProjectTeamMemberVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/projectteammember/BusProjectTeamMemberVo.java index ef67b94d..c576155a 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/projectteammember/BusProjectTeamMemberVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/projectteammember/BusProjectTeamMemberVo.java @@ -6,6 +6,8 @@ import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import org.dromara.common.excel.annotation.ExcelDictFormat; import org.dromara.common.excel.convert.ExcelDictConvert; +import org.dromara.common.translation.annotation.Translation; +import org.dromara.common.translation.constant.TransConstant; import org.dromara.project.domain.BusProjectTeamMember; import java.io.Serial; @@ -81,4 +83,15 @@ public class BusProjectTeamMemberVo implements Serializable { */ private String avatar; + /** + * 工种id + */ + private String typeOfWork; + + /** + * 工种名称 + */ + @Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "typeOfWork",other = "type_of_work") + private String typeOfWorkName; + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusAttendanceService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusAttendanceService.java index 13983982..2d0ad545 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusAttendanceService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusAttendanceService.java @@ -121,7 +121,7 @@ public interface IBusAttendanceService extends IService{ /** * 获取用户当天打卡记录 */ - List getTodayAttendance(Long projectId); + List getTodayAttendance(Long projectId,Long userId); /** * 获取用户指定月份的打卡记录 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusLeaveService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusLeaveService.java index d3b27fb9..7e517aba 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusLeaveService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusLeaveService.java @@ -10,7 +10,9 @@ import org.dromara.project.domain.dto.leave.BusLeaveAddReq; import org.dromara.project.domain.dto.leave.BusLeaveGangerReviewReq; import org.dromara.project.domain.dto.leave.BusLeaveManagerReviewReq; import org.dromara.project.domain.dto.leave.BusLeaveQueryReq; +import org.dromara.project.domain.dto.reissuecard.BusReissueCardQueryReq; import org.dromara.project.domain.vo.leave.BusLeaveVo; +import org.dromara.project.domain.vo.reissuecard.BusReissueCardVo; import java.time.LocalDate; import java.time.LocalDateTime; @@ -114,4 +116,18 @@ public interface IBusLeaveService extends IService { * 查询当前登录用户请假申请列表 */ TableDataInfo listByLoginUser(BusLeaveQueryReq req, PageQuery pageQuery); + + /** + * 审批列表(班组长和分包管理) + */ + TableDataInfo listByAuditUser(BusLeaveQueryReq req, PageQuery pageQuery); + + /** + * 审批列表(角色) + */ + TableDataInfo listByAuditRole(BusLeaveQueryReq req, PageQuery pageQuery); + + + + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusProjectTeamMemberService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusProjectTeamMemberService.java index 1f55e8e0..aeb99c54 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusProjectTeamMemberService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusProjectTeamMemberService.java @@ -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 getVoPage(Page projectTeamMemberPage); + + + /** + * 获取用户岗位 + */ + String getPost(Long userId,Long projectId); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusProjectTeamService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusProjectTeamService.java index 8053b6c0..387965bc 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusProjectTeamService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusProjectTeamService.java @@ -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 { List getByUserId(Long userId,Long projectId); + List getByContractorId( Long contractorId); Boolean deleteUserId(Long id,Long userId); + + List getManager(Long teamId); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusReissueCardService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusReissueCardService.java index c1da8159..f3128bd3 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusReissueCardService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusReissueCardService.java @@ -97,10 +97,15 @@ public interface IBusReissueCardService extends IService { TableDataInfo listByLoginUser(BusReissueCardQueryReq req, PageQuery pageQuery); /** - * 审批列表 + * 审批列表(班组长和分包管理) */ TableDataInfo listByAuditUser(BusReissueCardQueryReq req, PageQuery pageQuery); + /** + * 审批列表(角色) + */ + TableDataInfo listByAuditRole(BusReissueCardQueryReq req, PageQuery pageQuery); + /** * 新增施工人员补卡申请 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusAttendanceServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusAttendanceServiceImpl.java index 719ec9fa..c0fe65fd 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusAttendanceServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusAttendanceServiceImpl.java @@ -538,7 +538,7 @@ public class BusAttendanceServiceImpl extends ServiceImpl records = entry.getValue(); boolean allValid = records.stream() - .allMatch(record -> ATTENDANCE_STATUS.contains(record.getClockStatus())); + .anyMatch(record -> ATTENDANCE_STATUS.contains(record.getClockStatus())); if (allValid) { attendedUserIds.add(userId); } @@ -685,9 +685,11 @@ public class BusAttendanceServiceImpl extends ServiceImpl getTodayAttendance(Long projectId) { + public List 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 list; if(CollectionUtil.isEmpty(allUserIds)){ list = new ArrayList<>(); }else { list = list(Wrappers.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 result = new ArrayList<>(); LocalDate currentDate = startDate; - while (!currentDate.isAfter(endDate)) { + while (!currentDate.isAfter(now)) { Map> userAttendanceMap = dateUserMap.getOrDefault(currentDate, new HashMap<>()); int full = 0, half = 0, absent = 0; diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusLeaveServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusLeaveServiceImpl.java index b888e88c..ac32e2b7 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusLeaveServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusLeaveServiceImpl.java @@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -30,12 +31,15 @@ import org.dromara.contractor.service.ISubContractorService; import org.dromara.project.domain.*; import org.dromara.project.domain.dto.leave.BusLeaveAddReq; import org.dromara.project.domain.dto.leave.BusLeaveGangerReviewReq; +import org.dromara.project.domain.dto.reissuecard.BusReissueCardQueryReq; import org.dromara.project.domain.enums.*; import org.dromara.project.domain.dto.leave.BusLeaveManagerReviewReq; import org.dromara.project.domain.dto.leave.BusLeaveQueryReq; import org.dromara.project.domain.vo.leave.BusLeaveVo; +import org.dromara.project.domain.vo.reissuecard.BusReissueCardVo; import org.dromara.project.mapper.BusLeaveMapper; import org.dromara.project.service.*; +import org.dromara.system.service.ISysRoleService; import org.dromara.workflow.domain.TestLeave; import org.springframework.beans.BeanUtils; import org.springframework.context.annotation.Lazy; @@ -75,10 +79,11 @@ public class BusLeaveServiceImpl extends ServiceImpl private ISubConstructionUserService constructionUserService; @Resource - private ISubContractorService contractorService; - private IBusUserProjectRelevancyService userProjectRelevancyService; + @Resource + private ISysRoleService roleService; + /** * 查询施工人员请假申请 * @@ -441,6 +446,55 @@ public class BusLeaveServiceImpl extends ServiceImpl return TableDataInfo.build(this.getVoPage(result)); } + + @Override + public TableDataInfo listByAuditUser(BusLeaveQueryReq req, PageQuery pageQuery) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.orderByDesc(BusLeave::getCreateTime); + lqw.eq(ObjectUtils.isNotEmpty(req.getGangerId()), BusLeave::getGangerId, req.getGangerId()); + lqw.like(StrUtil.isNotBlank(req.getUserName()), BusLeave::getUserName, req.getUserName()); + Page result = this.page(pageQuery.build(), lqw); + return TableDataInfo.build(this.getVoPage(result)); + } + + @Override + public TableDataInfo listByAuditRole(BusLeaveQueryReq req, PageQuery pageQuery) { + //两个角色 一个审核分包的=6,一个审核管理的=7 + Long userId = LoginHelper.getUserId(); + List roleIds = roleService.selectRoleIdsByUserIdAndProjectId(userId, req.getProjectId()); + + List type = new ArrayList<>(); + if(roleIds.contains(7L)){ + type.add("7"); + } + if(roleIds.contains(6L)){ + type.add("6"); + } + if(CollUtil.isEmpty(type)){ + return TableDataInfo.build(); + } + + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.orderByDesc(BusLeave::getCreateTime); + lqw.like(StrUtil.isNotBlank(req.getUserName()), BusLeave::getUserName, req.getUserName()); + lqw.in(BusLeave::getUserType, type); + Page result = this.page(pageQuery.build(), lqw); + return TableDataInfo.build(this.getVoPage(result)); + } + + + + + + + + + + + + + + /** * 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成,单任务完成等) * 正常使用只需#processEvent.flowCode=='leave1' diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectTeamMemberServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectTeamMemberServiceImpl.java index 8c688d67..fda6ac2b 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectTeamMemberServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectTeamMemberServiceImpl.java @@ -378,9 +378,10 @@ public class BusProjectTeamMemberServiceImpl extends ServiceImpllambdaQuery() + .eq(BusProjectTeamMember::getMemberId, userId) + .eq(BusProjectTeamMember::getProjectId, projectId) + .last("limit 1") + ); + if(busProjectTeamMember == null){ + return null; + } + return busProjectTeamMember.getPostId(); + } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectTeamServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectTeamServiceImpl.java index cb6a1eed..7074162f 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectTeamServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectTeamServiceImpl.java @@ -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 getByContractorId(Long contractorId) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.select(BusProjectTeam::getId, BusProjectTeam::getTeamName); + lqw.eq(BusProjectTeam::getContractorId, contractorId); + List 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 getManager(Long teamId) { + BusProjectTeam projectTeam = baseMapper.selectById(teamId); + + String userId = projectTeam.getUserId(); + if (StringUtils.isNotBlank(userId)) { + String[] split = userId.split(","); + List list1 = Arrays.stream(split).map(s -> Long.valueOf(s.trim())).toList(); + List 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(); + } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusReissueCardServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusReissueCardServiceImpl.java index 33aadb75..975c0a60 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusReissueCardServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusReissueCardServiceImpl.java @@ -21,6 +21,7 @@ import org.dromara.common.core.utils.ObjectUtils; 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.common.satoken.utils.LoginHelper; import org.dromara.contractor.domain.SubConstructionUser; import org.dromara.contractor.service.ISubConstructionUserService; import org.dromara.contractor.service.ISubUserSalaryDetailService; @@ -39,6 +40,7 @@ import org.dromara.project.service.*; import org.dromara.system.domain.vo.SysOssVo; import org.dromara.system.domain.vo.SysUserVo; import org.dromara.system.service.ISysOssService; +import org.dromara.system.service.ISysRoleService; import org.dromara.system.service.ISysUserService; import org.dromara.websocket.ChatServerHandler; import org.springframework.beans.BeanUtils; @@ -89,6 +91,9 @@ public class BusReissueCardServiceImpl extends ServiceImpl listByAuditRole(BusReissueCardQueryReq req, PageQuery pageQuery) { + Long userId = LoginHelper.getUserId(); + List roleIds = roleService.selectRoleIdsByUserIdAndProjectId(userId, req.getProjectId()); + + + //两个角色 一个审核分包的=6,一个审核管理的=7 + List type = new ArrayList<>(); + if(roleIds.contains(7L)){ + type.add("7"); + } + if(roleIds.contains(6L)){ + type.add("6"); + } + if(CollUtil.isEmpty(type)){ + return TableDataInfo.build(); + } + + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.orderByDesc(BusReissueCard::getCreateTime); + lqw.like(StrUtil.isNotBlank(req.getUserName()), BusReissueCard::getUserName, req.getUserName()); + lqw.in(BusReissueCard::getUserType, type); + Page result = this.page(pageQuery.build(), lqw); + return TableDataInfo.build(this.getVoPage(result)); + } + @Override public Long add(BusReissueCardAddReq req) { BusReissueCard bean = BeanUtil.toBean(req, BusReissueCard.class); diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/quality/service/impl/QltQualityInspectionServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/quality/service/impl/QltQualityInspectionServiceImpl.java index 318fb2c1..383a616c 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/quality/service/impl/QltQualityInspectionServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/quality/service/impl/QltQualityInspectionServiceImpl.java @@ -366,6 +366,7 @@ public class QltQualityInspectionServiceImpl extends ServiceImpl result = this.page(pageQuery.build(), lqw); return TableDataInfo.build(this.getVoPage(result)); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysRoleService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysRoleService.java index a388d9fa..095ffd9c 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysRoleService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysRoleService.java @@ -215,4 +215,7 @@ public interface ISysRoleService { * 批量删除审核审定校审 */ void deleteDesignUser(Long projectId); + + + List selectRoleIdsByUserIdAndProjectId(Long userId,Long projectId); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java index 00739190..8b9de3c5 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java @@ -640,4 +640,17 @@ public class SysRoleServiceImpl implements ISysRoleService, RoleService { .in(SysUserRole::getRoleId, list1) ); } + + @Override + public List selectRoleIdsByUserIdAndProjectId(Long userId, Long projectId) { + + List sysUserRoles = userRoleMapper.selectList(Wrappers.lambdaQuery(SysUserRole.class) + .eq(SysUserRole::getUserId, userId) + .eq(SysUserRole::getProjectId, projectId) + ); + if (CollUtil.isNotEmpty(sysUserRoles)) { + return sysUserRoles.stream().map(SysUserRole::getRoleId).toList(); + } + return List.of(); + } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdProjectBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdProjectBo.java index bb4c42cf..de5ae322 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdProjectBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdProjectBo.java @@ -66,21 +66,25 @@ public class XzdProjectBo extends BaseEntity { /** * 计划开工日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") private Date plannedStartDate; /** * 计划竣工日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") private Date plannedCompletionDate; /** * 实际开工日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") private Date actualStartDate; /** * 实际竣工日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") private Date actualCompletionDate; /** @@ -263,4 +267,41 @@ public class XzdProjectBo extends BaseEntity { */ List cjdw; + /** + * 国家 + */ + private String gj; + + /** + * 省份 + */ + private String sheng; + + /** + * 区县 + */ + private String qx; + + /** + * 项目备案经理 + */ + private String xmbajl; + + /** + * 分页大小 + */ + private Integer pageSize; + + /** + * 当前页数 + */ + private Integer pageNum; + + /** + * 排序列 + */ + private String orderByColumn; + + private Integer offset; + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdProjectVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdProjectVo.java index 3ca81328..46663515 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdProjectVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdProjectVo.java @@ -1,5 +1,6 @@ package org.dromara.xzd.domain.vo; +import java.math.BigDecimal; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import org.dromara.xzd.domain.XzdProject; @@ -61,6 +62,8 @@ public class XzdProjectVo implements Serializable { @ExcelProperty(value = "项目类型") private Long projectType; + private String projectTypeName; + /** * 项目状态 */ @@ -109,12 +112,19 @@ public class XzdProjectVo implements Serializable { @ExcelProperty(value = "项目备案经理") private Long filingManager; + private String filingManagerName; + /** * 项目执行经理 */ @ExcelProperty(value = "项目执行经理") private Long managerExecution; + /** + * 项目执行经理名称 + */ + private String managerExecutionName; + /** * 项目责任人 */ @@ -221,25 +231,25 @@ public class XzdProjectVo implements Serializable { * 目标中标金额 */ @ExcelProperty(value = "目标中标金额") - private Long targetWinningBidAmount; + private BigDecimal targetWinningBidAmount; /** * 目标合同金额 */ @ExcelProperty(value = "目标合同金额") - private Long targetContractAmount; + private BigDecimal targetContractAmount; /** * 目标产值金额 */ @ExcelProperty(value = "目标产值金额") - private Long targetOutputValueAmount; + private BigDecimal targetOutputValueAmount; /** * 目标收款金额 */ @ExcelProperty(value = "目标收款金额") - private Long targetCollectionAmount; + private BigDecimal targetCollectionAmount; /** * 文件ID @@ -294,4 +304,39 @@ public class XzdProjectVo implements Serializable { */ List cjdw; + /** + * 项目地址 + */ + private String xmdz; + + /** + * 国家 + */ + private String gj; + + /** + * 省 + */ + private String sheng; + + /** + * 市 + */ + private String cs; + + /** + * 录入人 + */ + private String lrr; + + /** + * 录入时间 + */ + private Date createTime; + + /** + * 高度 + */ + private String gd; + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/mapper/XzdProjectMapper.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/mapper/XzdProjectMapper.java index 2f032906..0716f6d1 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/mapper/XzdProjectMapper.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/mapper/XzdProjectMapper.java @@ -1,8 +1,12 @@ package org.dromara.xzd.mapper; import org.dromara.xzd.domain.XzdProject; +import org.dromara.xzd.domain.bo.XzdProjectBo; import org.dromara.xzd.domain.vo.XzdProjectVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import org.springframework.data.repository.query.Param; + +import java.util.List; /** * 项目信息Mapper接口 @@ -12,4 +16,6 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; */ public interface XzdProjectMapper extends BaseMapperPlus { + List search(@Param("bo") XzdProjectBo bo); + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdProjectServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdProjectServiceImpl.java index 5430990f..ac90cc97 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdProjectServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdProjectServiceImpl.java @@ -9,20 +9,20 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; +import org.dromara.system.domain.vo.SysOssVo; import org.dromara.system.service.impl.SysOssServiceImpl; import org.dromara.xzd.domain.*; import org.dromara.xzd.domain.bo.*; -import org.dromara.xzd.domain.vo.XzdProjectAccountingInfoVo; +import org.dromara.xzd.domain.vo.*; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.dromara.xzd.domain.vo.XzdProjectVo; import org.dromara.xzd.mapper.XzdProjectMapper; import org.dromara.xzd.service.IXzdProjectService; import org.springframework.transaction.annotation.Transactional; -import java.util.List; -import java.util.Map; -import java.util.Collection; +import java.util.*; +import java.util.stream.Collectors; /** * 项目信息Service业务层处理 @@ -53,6 +53,8 @@ public class XzdProjectServiceImpl extends ServiceImpl queryPageList(XzdProjectBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); +// LambdaQueryWrapper lqw = buildQueryWrapper(bo); +// Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + if(pageQuery.getPageNum() != null && pageQuery.getPageSize() != null) { + bo.setPageNum(pageQuery.getPageNum()); + bo.setPageSize(pageQuery.getPageSize()); + }else { + bo.setPageNum(1); + bo.setPageSize(10); + } + + int i = (bo.getPageNum() - 1) * bo.getPageSize(); + bo.setOffset(i); + + List search = baseMapper.search(bo); + + return TableDataInfo.build(search); } /** @@ -212,11 +227,168 @@ public class XzdProjectServiceImpl extends ServiceImpl 0; + boolean b = baseMapper.updateById(update) > 0; + if (!b){ + return false; + } + + //项目概况处理 + if (bo.getXmgk() != null){ + xzdProjectProfileService.updateByBo(bo.getXmgk()); + } + + //项目人员处理 + //项目人员处理 - 更精确的更新方式 + if (bo.getXmry() != null && !bo.getXmry().isEmpty()){ + // 获取原有记录 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(XzdProjectPersonnel::getXzdProjectId, bo.getId()); + List existingPersonnel = xzdProjectPersonnelService.list(queryWrapper); + + // 提取现有ID集合 + Set existingIds = existingPersonnel.stream() + .map(XzdProjectPersonnel::getId) + .collect(Collectors.toSet()); + + // 处理新的或更新的记录 + Set processedIds = new HashSet<>(); + for (XzdProjectPersonnelBo personnelBo : bo.getXmry()) { + personnelBo.setXzdProjectId(update.getId()); + if (personnelBo.getId() != null && existingIds.contains(personnelBo.getId())) { + // 更新已有记录 + xzdProjectPersonnelService.updateByBo(personnelBo); + processedIds.add(personnelBo.getId()); + } else { + // 新增记录 + personnelBo.setId(null); // 确保是新增而不是更新 + xzdProjectPersonnelService.insertByBo(personnelBo); + } + } + + // 删除未被处理的旧记录 + existingIds.removeAll(processedIds); + if (!existingIds.isEmpty()) { + xzdProjectPersonnelService.removeBatchByIds(existingIds); + } + } +// if (bo.getXmry() != null && !bo.getXmry().isEmpty()){ +// //删除后再新增 +// xzdProjectPersonnelService.removeBatchByIds(oldValue.getXmry()); +// for (XzdProjectPersonnelBo personnelBo : bo.getXmry()) { +// personnelBo.setXzdProjectId(update.getId()); +// xzdProjectPersonnelService.insertByBo(personnelBo); +// } +// } + + //税务信息处理 + if (bo.getSwxx() != null){ + xzdProjectTaxInfoService.updateByBo(bo.getSwxx()); + } + + //核算信息 + if (bo.getHsxx() != null){ + xzdProjectAccountingInfoService.updateByBo(bo.getHsxx()); + } + +// //仓库信息 +// if (bo.getXmck() != null && !bo.getXmck().isEmpty()){ +// xzdProjectWarehousesService.removeBatchByIds(oldValue.getXmck()); +// for (XzdProjectWarehousesBo warehousesBo : bo.getXmck()) { +// warehousesBo.setXzdProjectId(update.getId()); +// xzdProjectWarehousesService.insertByBo(warehousesBo); +// } +// } +// +// //内部账户信息 +// if (bo.getNbzj() != null && !bo.getNbzj().isEmpty()){ +// xzdProjectInternalAccountsService.removeBatchByIds(oldValue.getNbzj()); +// for (XzdProjectInternalAccountsBo internalAccountsBo : bo.getNbzj()) { +// internalAccountsBo.setXzdProjectId(update.getId()); +// xzdProjectInternalAccountsService.insertByBo(internalAccountsBo); +// } +// } +// +// //参与单位信息 +// if (bo.getCjdw() != null && !bo.getCjdw().isEmpty()){ +// xzdProjectParticipatingUnitsService.removeBatchByIds(oldValue.getCjdw()); +// for (XzdProjectParticipatingUnitsBo participatingUnitsBo : bo.getCjdw()) { +// participatingUnitsBo.setXzdProjectId(update.getId()); +// xzdProjectParticipatingUnitsService.insertByBo(participatingUnitsBo); +// } +// } + + //仓库信息 + if (bo.getXmck() != null && !bo.getXmck().isEmpty()){ + // 获取原有记录的ID列表 + List oldWarehouseIds = oldValue.getXmck().stream() + .map(XzdProjectWarehousesVo::getId) + .filter(Objects::nonNull) + .collect(Collectors.toList()); + + // 删除原有记录 + if (!oldWarehouseIds.isEmpty()) { + xzdProjectWarehousesService.removeBatchByIds(oldWarehouseIds); + } + + // 插入新记录 + for (XzdProjectWarehousesBo warehousesBo : bo.getXmck()) { + warehousesBo.setId(null); // 清除ID避免主键冲突 + warehousesBo.setXzdProjectId(update.getId()); + xzdProjectWarehousesService.insertByBo(warehousesBo); + } + } + + //内部账户信息 + if (bo.getNbzj() != null && !bo.getNbzj().isEmpty()){ + // 获取原有记录的ID列表 + List oldAccountIds = oldValue.getNbzj().stream() + .map(XzdProjectInternalAccountsVo::getId) + .filter(Objects::nonNull) + .collect(Collectors.toList()); + + // 删除原有记录 + if (!oldAccountIds.isEmpty()) { + xzdProjectInternalAccountsService.removeBatchByIds(oldAccountIds); + } + + // 插入新记录 + for (XzdProjectInternalAccountsBo internalAccountsBo : bo.getNbzj()) { + internalAccountsBo.setId(null); // 清除ID避免主键冲突 + internalAccountsBo.setXzdProjectId(update.getId()); + xzdProjectInternalAccountsService.insertByBo(internalAccountsBo); + } + } + + //参与单位信息 + if (bo.getCjdw() != null && !bo.getCjdw().isEmpty()){ + // 获取原有记录的ID列表 + List oldUnitIds = oldValue.getCjdw().stream() + .map(XzdProjectParticipatingUnitsVo::getId) + .filter(Objects::nonNull) + .collect(Collectors.toList()); + + // 删除原有记录 + if (!oldUnitIds.isEmpty()) { + xzdProjectParticipatingUnitsService.removeBatchByIds(oldUnitIds); + } + + // 插入新记录 + for (XzdProjectParticipatingUnitsBo participatingUnitsBo : bo.getCjdw()) { + participatingUnitsBo.setId(null); // 清除ID避免主键冲突 + participatingUnitsBo.setXzdProjectId(update.getId()); + xzdProjectParticipatingUnitsService.insertByBo(participatingUnitsBo); + } + } + + return true; } /** @@ -238,6 +410,51 @@ public class XzdProjectServiceImpl extends ServiceImpl profileLambdaQueryWrapper = new LambdaQueryWrapper<>(); + profileLambdaQueryWrapper.eq(XzdProjectProfile::getXzdProjectId, id); + xzdProjectProfileService.remove(profileLambdaQueryWrapper); + + //项目人员 + LambdaQueryWrapper personnelLambdaQueryWrapper = new LambdaQueryWrapper<>(); + personnelLambdaQueryWrapper.eq(XzdProjectPersonnel::getXzdProjectId, id); + List list = xzdProjectPersonnelService.list(personnelLambdaQueryWrapper); + for (XzdProjectPersonnel xzdProjectPersonnel : list) { + if (xzdProjectPersonnel.getFileId() != null){ + sysOssService.deleteWithValidByIds(List.of(Long.valueOf(xzdProjectPersonnel.getFileId())), false); + } + } + xzdProjectPersonnelService.remove(personnelLambdaQueryWrapper); + + //税务信息 + LambdaQueryWrapper taxInfoLambdaQueryWrapper = new LambdaQueryWrapper<>(); + taxInfoLambdaQueryWrapper.eq(XzdProjectTaxInfo::getXzdProjectId, id); + xzdProjectTaxInfoService.remove(taxInfoLambdaQueryWrapper); + + //核算信息 + LambdaQueryWrapper accountingInfoLambdaQueryWrapper = new LambdaQueryWrapper<>(); + accountingInfoLambdaQueryWrapper.eq(XzdProjectAccountingInfo::getXzdProjectId, id); + xzdProjectAccountingInfoService.remove(accountingInfoLambdaQueryWrapper); + + //仓库信息 + LambdaQueryWrapper warehousesLambdaQueryWrapper = new LambdaQueryWrapper<>(); + warehousesLambdaQueryWrapper.eq(XzdProjectWarehouses::getXzdProjectId, id); + xzdProjectWarehousesService.remove(warehousesLambdaQueryWrapper); + + //内部账户信息 + LambdaQueryWrapper internalAccountsLambdaQueryWrapper = new LambdaQueryWrapper<>(); + internalAccountsLambdaQueryWrapper.eq(XzdProjectInternalAccounts::getXzdProjectId, id); + xzdProjectInternalAccountsService.remove(internalAccountsLambdaQueryWrapper); + + //参与单位信息 + LambdaQueryWrapper participatingUnitsLambdaQueryWrapper = new LambdaQueryWrapper<>(); + participatingUnitsLambdaQueryWrapper.eq(XzdProjectParticipatingUnits::getXzdProjectId, id); + xzdProjectParticipatingUnitsService.remove(participatingUnitsLambdaQueryWrapper); + + } + return baseMapper.deleteByIds(ids) > 0; } @@ -278,6 +495,13 @@ public class XzdProjectServiceImpl extends ServiceImpl - SELECT - project.project_number as xmbh, - project.project_name as xmmc, - project.file_id as fj, - project.audit_status as shbz, - project.project_abbreviation as xmjc, - project.project_status as xmzt, - project.project_type as xmlx, - profile.contract_amount as htje, - project.planned_start_date as jhkgrq, - project.planned_completion_date as jhjgrq, - project.actual_start_date as sjkgrq, - project.actual_completion_date as sjjgrq, - user.nick_name as xmzxjl, - user2.nick_name as xmbajl, + project.id, + project.project_attribute as projectAttribute, + project.project_number as projectNumber, + project.project_name as projectName, + project.file_id as fileId, + project.audit_status as auditStatus, + project.project_abbreviation as projectAbbreviation, + project.project_status as projectStatus, + type.type_name as projectTypeName, + profile.contract_amount as targetContractAmount, + project.planned_start_date as plannedStartDate, + project.planned_completion_date as plannedCompletionDate, + project.actual_start_date as actualStartDate, + project.actual_completion_date as actualCompletionDate, + user.nick_name as managerExecutionName, + user2.nick_name as filingManagerName, profile.project_address as xmdz, - project.management_organization as glzz, - project.construction_unit as jsdw, + project.management_organization as managementOrganization, + project.construction_unit as constructionUnit, profile.country as gj, profile.province as sheng, profile.city as cs, - project + user3.nick_name as lrr, + project.create_time as createTime, + profile.height as gd, + project.contracting_method as contractingMethod, + project.manager_execution_phone as managerExecutionPhone, + project.gov_filing_project_name as govFilingProjectName, + project.business_model as businessModel FROM xzd_project as project LEFT JOIN xzd_project_profile as profile ON project.id = profile.xzd_project_id LEFT JOIN sys_user as user ON project.manager_execution = user.user_id LEFT JOIN sys_user as user2 ON project.filing_manager = user2.user_id -# LEFT JOIN sys_user as user3 ON project.project_manager = user3.user_id + LEFT JOIN sys_user as user3 ON project.create_by = user3.user_id + LEFT JOIN xzd_project_type as type ON project.project_type = type.id + + + + + AND project.project_number LIKE CONCAT('%',#{projectNumber},'%') + + + + AND project.project_name LIKE CONCAT('%',#{projectName},'%') + + + + AND project.management_organization = #{managementOrganization} + + + + AND project.construction_unit = #{constructionUnit} + + + + AND profile.country = #{gj} + + + + AND profile.province = #{sheng} + + + + AND profile.district = #{qx} + + + + AND user2.nick_name = #{xmbajl} + + + + + + LIMIT #{pageSize} OFFSET #{offset} + +