diff --git a/core/src/main/java/com/dite/znpt/domain/AuditableEntity.java b/core/src/main/java/com/dite/znpt/domain/AuditableEntity.java index 0eb68a1..094855a 100644 --- a/core/src/main/java/com/dite/znpt/domain/AuditableEntity.java +++ b/core/src/main/java/com/dite/znpt/domain/AuditableEntity.java @@ -1,20 +1,16 @@ package com.dite.znpt.domain; import com.alibaba.excel.annotation.ExcelIgnore; -import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; -import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; import java.io.Serial; import java.io.Serializable; import java.time.LocalDateTime; -import java.util.List; /** * @description: 统一定义顶层Entity实体审计 基类 @@ -41,11 +37,6 @@ public class AuditableEntity implements Serializable { @ApiModelProperty(value = "修改人id", hidden = true) private LocalDateTime updateTime; - @ExcelIgnore - @ApiModelProperty(value = "id集合", example = "[]", notes = "id集合") - @TableField(exist = false) - private List idList; - @ExcelIgnore @ApiModelProperty(value = "当前页", example = "1", notes = "0") @TableField(exist = false) diff --git a/core/src/main/java/com/dite/znpt/domain/entity/ProjectDailyReportEntity.java b/core/src/main/java/com/dite/znpt/domain/entity/ProjectDailyReportEntity.java new file mode 100644 index 0000000..f995b26 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/domain/entity/ProjectDailyReportEntity.java @@ -0,0 +1,52 @@ +package com.dite.znpt.domain.entity; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.dite.znpt.domain.AuditableEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; +import java.io.Serializable; +import java.time.LocalDate; + +/** + * @author huise23 + * @date 2025/07/27 19:51 + * @Description: 项目日报信息表实体类 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("project_daily_report") +@ApiModel(value="ProjectDailyReportEntity对象", description="项目日报信息表") +public class ProjectDailyReportEntity extends AuditableEntity implements Serializable { + + @Serial + private static final long serialVersionUID = -88597301057742621L; + + @ExcelProperty("主键") + @ApiModelProperty("主键") + @TableId(value = "report_id", type = IdType.ASSIGN_ID) + private String reportId; + + @ExcelProperty("项目id") + @ApiModelProperty("项目id") + @TableField("project_id") + private String projectId; + + @ExcelProperty("日报日期") + @ApiModelProperty("日报日期") + @TableField("report_date") + private LocalDate reportDate; + + @ExcelProperty("日报提交人") + @ApiModelProperty("日报提交人") + @TableField("submit_user") + private String submitUser; +} + diff --git a/core/src/main/java/com/dite/znpt/domain/entity/ProjectEntity.java b/core/src/main/java/com/dite/znpt/domain/entity/ProjectEntity.java index 2230887..718558f 100644 --- a/core/src/main/java/com/dite/znpt/domain/entity/ProjectEntity.java +++ b/core/src/main/java/com/dite/znpt/domain/entity/ProjectEntity.java @@ -1,18 +1,19 @@ package com.dite.znpt.domain.entity; -import java.io.Serializable; -import java.time.LocalDate; -import java.time.LocalDateTime; - -import com.baomidou.mybatisplus.annotation.*; +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import com.dite.znpt.domain.AuditableEntity; -import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; -import com.alibaba.excel.annotation.ExcelProperty; + +import java.io.Serializable; +import java.time.LocalDate; /** * @author huise23 @@ -165,7 +166,7 @@ public class ProjectEntity extends AuditableEntity implements Serializable { @ApiModelProperty(value = "开始时间") private LocalDate startDate; - +// 施工人员,安全经理,项目经理,商务,财务,高级管理员,项目远程顾问外部协作者,质量经理、现场经理及工作组长。 @ApiModelProperty(value = "结束时间") private LocalDate endDate; } diff --git a/core/src/main/java/com/dite/znpt/domain/vo/ProjectBudgetInfoImportReq.java b/core/src/main/java/com/dite/znpt/domain/vo/ProjectBudgetInfoImportReq.java deleted file mode 100644 index 18d93a7..0000000 --- a/core/src/main/java/com/dite/znpt/domain/vo/ProjectBudgetInfoImportReq.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.dite.znpt.domain.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import io.swagger.annotations.ApiModel; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.io.Serial; -import java.io.Serializable; -/** - * @author huise23 - * @date 2025/07/17 21:58 - * @Description: 项目预算信息表导入请求类 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@ApiModel(value="ProjectBudgetInfo导入请求对象", description="项目预算信息表") -public class ProjectBudgetInfoImportReq implements Serializable { - - @Serial - private static final long serialVersionUID = 580212651388155611L; - - - @ExcelProperty(value = "项目名称") - private String projectName; - - @ExcelProperty(value = "预算名称") - private String budgetName; - - @ExcelProperty(value = "预算类型") - private String budgetType; - - @ExcelProperty(value = "预算金额(万元)") - private Double budgetAmount; - - @ExcelProperty(value = "预算说明") - private String budgetDesc; -} diff --git a/core/src/main/java/com/dite/znpt/domain/vo/ProjectDailyReportListReq.java b/core/src/main/java/com/dite/znpt/domain/vo/ProjectDailyReportListReq.java new file mode 100644 index 0000000..17aff44 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/domain/vo/ProjectDailyReportListReq.java @@ -0,0 +1,39 @@ +package com.dite.znpt.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.time.LocalDate; + +/** + * @author huise23 + * @date 2025/07/27 19:51 + * @Description: 项目日报信息请求实体 + */ +@Data +@ApiModel("项目日报信息列表请求实体") +public class ProjectDailyReportListReq implements Serializable { + + @Serial + private static final long serialVersionUID = 913060537944500760L; + + @ApiModelProperty("查询关键字") + private String keyword; + + @ApiModelProperty("项目日报信息Id") + private String reportId; + + @ApiModelProperty("项目id") + private String projectId; + + @ApiModelProperty("日报日期") + private LocalDate reportDate; + + @ApiModelProperty("日报提交人") + private String submitUser; + +} + diff --git a/core/src/main/java/com/dite/znpt/domain/vo/ProjectDailyReportReq.java b/core/src/main/java/com/dite/znpt/domain/vo/ProjectDailyReportReq.java new file mode 100644 index 0000000..53b2aad --- /dev/null +++ b/core/src/main/java/com/dite/znpt/domain/vo/ProjectDailyReportReq.java @@ -0,0 +1,47 @@ +package com.dite.znpt.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import java.io.Serial; +import java.io.Serializable; +import java.time.LocalDate; +/** + * @author huise23 + * @date 2025/07/27 19:51 + * @Description: 项目日报信息表请求类 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="ProjectDailyReport请求对象", description="项目日报信息表") +public class ProjectDailyReportReq implements Serializable { + + @Serial + private static final long serialVersionUID = -35936236241363317L; + + @ApiModelProperty("主键") + private String reportId; + + @NotNull(message = "项目id不能为空") + @ApiModelProperty("项目id") + private String projectId; + + @NotNull(message = "日报日期不能为空") + @ApiModelProperty("日报日期") + private LocalDate reportDate; + + @NotBlank(message = "日报提交人不能为空") + @Size(max = 32, message = "日报提交人长度不能超过32字符") + @ApiModelProperty("日报提交人") + private String submitUser; + + @NotBlank(message = "日报附件id不能为空") + @ApiModelProperty("日报附件id") + private String reportAttachId; +} + diff --git a/core/src/main/java/com/dite/znpt/domain/vo/ProjectDailyReportResp.java b/core/src/main/java/com/dite/znpt/domain/vo/ProjectDailyReportResp.java new file mode 100644 index 0000000..c41bdff --- /dev/null +++ b/core/src/main/java/com/dite/znpt/domain/vo/ProjectDailyReportResp.java @@ -0,0 +1,23 @@ +package com.dite.znpt.domain.vo; + +import com.dite.znpt.domain.entity.AttachInfoEntity; +import com.dite.znpt.domain.entity.ProjectDailyReportEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * @author huise23 + * @date 2025/07/27 19:51 + * @Description: 项目日报信息响应实体 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel("项目日报信息响应实体") +public class ProjectDailyReportResp extends ProjectDailyReportEntity { + + @ApiModelProperty("日报附件") + private AttachInfoEntity reportAttach; +} + diff --git a/core/src/main/java/com/dite/znpt/mapper/ProjectDailyReportMapper.java b/core/src/main/java/com/dite/znpt/mapper/ProjectDailyReportMapper.java new file mode 100644 index 0000000..be32858 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/mapper/ProjectDailyReportMapper.java @@ -0,0 +1,18 @@ +package com.dite.znpt.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dite.znpt.domain.entity.ProjectDailyReportEntity; +import com.dite.znpt.domain.vo.ProjectDailyReportListReq; +import com.dite.znpt.domain.vo.ProjectDailyReportResp; + +import java.util.List; + +/** + * @author huise23 + * @date 2025/07/27 19:51 + * @Description: 项目日报信息表数据库访问层 + */ +public interface ProjectDailyReportMapper extends BaseMapper { + List queryBySelective(ProjectDailyReportListReq projectDailyReportReq); +} + diff --git a/core/src/main/java/com/dite/znpt/service/AttachInfoService.java b/core/src/main/java/com/dite/znpt/service/AttachInfoService.java index 3c4987f..d8cdeb6 100644 --- a/core/src/main/java/com/dite/znpt/service/AttachInfoService.java +++ b/core/src/main/java/com/dite/znpt/service/AttachInfoService.java @@ -23,7 +23,7 @@ public interface AttachInfoService extends IService { * @author huise23 * @date 2025/04/11 23:17 **/ - List listByBusinessIds(List businessIds, String businessType); + List listByBusinessIds(List businessIds, AttachBusinessTypeEnum businessType); /** * 功能描述:新增附件信息 diff --git a/core/src/main/java/com/dite/znpt/service/ProjectDailyReportService.java b/core/src/main/java/com/dite/znpt/service/ProjectDailyReportService.java new file mode 100644 index 0000000..e11a964 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/service/ProjectDailyReportService.java @@ -0,0 +1,74 @@ +package com.dite.znpt.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.dite.znpt.domain.entity.ProjectDailyReportEntity; +import com.dite.znpt.domain.vo.ProjectDailyReportListReq; +import com.dite.znpt.domain.vo.ProjectDailyReportReq; +import com.dite.znpt.domain.vo.ProjectDailyReportResp; + +import java.util.List; + +/** + * @author huise23 + * @date 2025/07/27 19:51 + * @Description: 项目日报信息表服务接口 + */ +public interface ProjectDailyReportService extends IService { + + /** + * 功能描述:查询项目日报信息列表 + * + * @param projectDailyReportReq 项目日报信息 + * @return {@link List }<{@link ProjectDailyReportResp }> + * @author huise23 + * @date 2025/07/27 19:51 + **/ + List selectList(ProjectDailyReportListReq projectDailyReportReq); + + /** + * 功能描述:查询单条项目日报信息 + * + * @param reportId 项目日报信息Id + * @return {@link ProjectDailyReportResp } + * @author huise23 + * @date 2025/07/27 19:51 + **/ + ProjectDailyReportResp selectById(String reportId); + + /** + * 功能描述:新增项目日报信息 + * + * @param projectDailyReportReq 项目日报信息 + * @author huise23 + * @date 2025/07/27 19:51 + **/ + void saveData(ProjectDailyReportReq projectDailyReportReq); + + /** + * 功能描述:更新项目日报信息 + * + * @param projectDailyReportReq 项目日报信息 + * @author huise23 + * @date 2025/07/27 19:51 + **/ + void updateData(ProjectDailyReportReq projectDailyReportReq); + + /** + * 功能描述:删除项目日报信息 + * + * @param reportId 项目日报信息Id + * @author huise23 + * @date 2025/07/27 19:51 + **/ + void deleteById(String reportId); + + /** + * 功能描述:我今天 + * + * @return {@link ProjectDailyReportResp } + * @author cuizhibin + * @date 2025/07/27 19:53 + **/ + ProjectDailyReportResp myToday(String projectId); +} + diff --git a/core/src/main/java/com/dite/znpt/service/impl/AttachInfoServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/AttachInfoServiceImpl.java index b063242..7236292 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/AttachInfoServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/AttachInfoServiceImpl.java @@ -30,6 +30,7 @@ import java.net.URLEncoder; import java.rmi.ServerException; import java.util.ArrayList; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -51,9 +52,9 @@ public class AttachInfoServiceImpl extends ServiceImpl listByBusinessIds(List businessIds, String businessType) { + public List listByBusinessIds(List businessIds, AttachBusinessTypeEnum businessType) { return lambdaQuery().in(AttachInfoEntity::getBusinessId, businessIds) - .eq(StrUtil.isNotEmpty(businessType), AttachInfoEntity::getBusinessType, businessType) + .eq(Objects.nonNull(businessType), AttachInfoEntity::getBusinessType, businessType.getCode()) .list(); } diff --git a/core/src/main/java/com/dite/znpt/service/impl/AudioFileInfoServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/AudioFileInfoServiceImpl.java index 42ee984..bcb1811 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/AudioFileInfoServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/AudioFileInfoServiceImpl.java @@ -19,6 +19,7 @@ import com.dite.znpt.service.PartService; import com.dite.znpt.util.PageUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import java.util.ArrayList; @@ -98,6 +99,7 @@ public class AudioFileInfoServiceImpl extends ServiceImpl batchUpload(String imageId, MultipartFile[] files) { ImageEntity image = imageMapper.selectById(imageId); if(null == image){ @@ -120,7 +122,7 @@ public class AudioFileInfoServiceImpl extends ServiceImpl implements ProjectDailyReportService { + + private final AttachInfoService attachInfoService; + + /** + * 功能描述:查询项目日报信息列表 + * + * @param projectDailyReportReq 项目日报信息信息 + * @return {@link List }<{@link ProjectDailyReportResp }> + * @author huise23 + * @date 2025/07/27 19:51 + **/ + @Override + public List selectList(ProjectDailyReportListReq projectDailyReportReq) { + PageUtil.startPage(); + List respList= this.baseMapper.queryBySelective(projectDailyReportReq); + if (CollUtil.isNotEmpty(respList)) { + List reportIds = respList.stream().map(ProjectDailyReportResp::getReportId).toList(); + Map attachMap = attachInfoService.listByBusinessIds(reportIds, AttachBusinessTypeEnum.PROJECT_DAILY_REPORT) + .stream().collect(Collectors.toMap(AttachInfoEntity::getBusinessId, Function.identity())); + respList.forEach(resp -> { + resp.setReportAttach(attachMap.get(resp.getReportId())); + }); + } + return respList; + } + + /** + * 功能描述:查询单条项目日报信息 + * + * @param reportId 项目日报信息Id + * @return {@link ProjectDailyReportResp } + * @author huise23 + * @date 2025/07/27 19:51 + **/ + @Override + public ProjectDailyReportResp selectById(String reportId) { + ProjectDailyReportListReq projectDailyReportReq = new ProjectDailyReportListReq(); + projectDailyReportReq.setReportId(reportId); + + List list = selectList(projectDailyReportReq); + return CollUtil.isNotEmpty(list) ? CollUtil.getFirst(list) : new ProjectDailyReportResp(); + } + + /** + * 功能描述:新增项目日报信息 + * + * @param projectDailyReportReq 项目日报信息 + * @author huise23 + * @date 2025/07/27 19:51 + **/ + @Override + public void saveData(ProjectDailyReportReq projectDailyReportReq) { + ProjectDailyReportResp myToday = myToday(projectDailyReportReq.getProjectId()); + if (Objects.nonNull(myToday)) { + throw new ServiceException(Message.DAILY_REPORT_EXISTS); + } + ProjectDailyReportEntity entity = BeanUtil.copyProperties(projectDailyReportReq, ProjectDailyReportEntity.class); + save(entity); + attachInfoService.updateBusinessIdByAttachIds(entity.getReportId(), ListUtil.of(projectDailyReportReq.getReportAttachId()), AttachBusinessTypeEnum.PROJECT_DAILY_REPORT); + } + + /** + * 功能描述:更新项目日报信息 + * + * @param projectDailyReportReq 项目日报信息 + * @author huise23 + * @date 2025/07/27 19:51 + **/ + @Override + public void updateData(ProjectDailyReportReq projectDailyReportReq) { + ProjectDailyReportEntity entity = BeanUtil.copyProperties(projectDailyReportReq, ProjectDailyReportEntity.class); + updateById(entity); + attachInfoService.updateBusinessIdByAttachIds(entity.getReportId(), ListUtil.of(projectDailyReportReq.getReportAttachId()), AttachBusinessTypeEnum.PROJECT_DAILY_REPORT); + } + + /** + * 功能描述:删除项目日报信息 + * + * @param reportId 项目日报信息Id + * @author huise23 + * @date 2025/07/27 19:51 + **/ + @Override + public void deleteById(String reportId) { + removeById(reportId); + } + + @Override + public ProjectDailyReportResp myToday(String projectId) { + ProjectDailyReportListReq req = new ProjectDailyReportListReq(); + req.setProjectId(projectId); + req.setSubmitUser(StpUtil.getLoginIdAsString()); + req.setReportDate(LocalDate.now()); + List list = selectList(req); + if (CollUtil.isNotEmpty(list)){ + return CollUtil.getFirst(list); + } + return null; + } + +} diff --git a/core/src/main/java/com/dite/znpt/service/impl/ProjectServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/ProjectServiceImpl.java index faf5a4a..c7b3038 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/ProjectServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/ProjectServiceImpl.java @@ -5,20 +5,20 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dite.znpt.constant.Message; import com.dite.znpt.converts.Converts; -import com.dite.znpt.domain.entity.UserEntity; import com.dite.znpt.domain.entity.ProjectEntity; +import com.dite.znpt.domain.entity.UserEntity; import com.dite.znpt.domain.vo.ProjectListReq; import com.dite.znpt.domain.vo.ProjectListResp; import com.dite.znpt.domain.vo.ProjectReq; import com.dite.znpt.domain.vo.ProjectResp; import com.dite.znpt.enums.ProjectStatusEnum; import com.dite.znpt.exception.ServiceException; -import com.dite.znpt.service.UserService; -import com.dite.znpt.service.ProjectService; import com.dite.znpt.mapper.ProjectMapper; -import org.springframework.stereotype.Service; -import lombok.RequiredArgsConstructor; +import com.dite.znpt.service.ProjectService; +import com.dite.znpt.service.UserService; import com.dite.znpt.util.PageUtil; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; @@ -59,6 +59,7 @@ public class ProjectServiceImpl extends ServiceImpl list= this.baseMapper.queryBySelective(req); list.forEach(resp -> { resp.setStatusLabel(ProjectStatusEnum.getDescByCode(resp.getStatus())); +// 判断人员类型 }); return list; } diff --git a/core/src/main/java/com/dite/znpt/service/impl/ProjectTaskServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/ProjectTaskServiceImpl.java index 16939d8..1bc85e5 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/ProjectTaskServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/ProjectTaskServiceImpl.java @@ -20,7 +20,6 @@ import com.dite.znpt.mapper.ProjectTaskGroupMapper; import com.dite.znpt.mapper.ProjectTaskMapper; import com.dite.znpt.service.AttachInfoService; import com.dite.znpt.service.ProjectTaskService; -import com.dite.znpt.util.PageUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -55,7 +54,7 @@ public class ProjectTaskServiceImpl extends ServiceImpl projectTaskList = this.baseMapper.queryBySelective(projectTaskReq); Map> attachMap; if (!BooleanUtil.isTrue(projectTaskReq.getIsExport())) { - attachMap = attachInfoService.listByBusinessIds(projectTaskList.stream().map(ProjectTaskResp::getTaskId).collect(Collectors.toList()), null) + attachMap = attachInfoService.listByBusinessIds(projectTaskList.stream().map(ProjectTaskResp::getTaskId).collect(Collectors.toList()), AttachBusinessTypeEnum.PROJECT_TASK) .stream().collect(Collectors.groupingBy(AttachInfoEntity::getBusinessId)); } else { attachMap = new HashMap<>(); diff --git a/core/src/main/java/com/dite/znpt/service/impl/RegulationTypeServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/RegulationTypeServiceImpl.java index 09a8c85..d29fcf7 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/RegulationTypeServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/RegulationTypeServiceImpl.java @@ -5,10 +5,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dite.znpt.domain.Result; -import com.dite.znpt.domain.entity.RegulationTypeEntity; import com.dite.znpt.domain.entity.RegulationEntity; -import com.dite.znpt.mapper.RegulationTypeMapper; +import com.dite.znpt.domain.entity.RegulationTypeEntity; import com.dite.znpt.mapper.RegulationMapper; +import com.dite.znpt.mapper.RegulationTypeMapper; import com.dite.znpt.service.RegulationTypeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -29,7 +29,7 @@ public class RegulationTypeServiceImpl extends ServiceImpl pageParam = new Page<>(page, size); diff --git a/core/src/main/resources/mapper/ProjectDailyReportMapper.xml b/core/src/main/resources/mapper/ProjectDailyReportMapper.xml new file mode 100644 index 0000000..3102523 --- /dev/null +++ b/core/src/main/resources/mapper/ProjectDailyReportMapper.xml @@ -0,0 +1,30 @@ + + + + + + a.report_id, a.project_id, a.report_date, a.submit_user, + a.update_by, a.create_time, a.create_by, a.update_time + + + + + diff --git a/web/src/main/java/com/dite/znpt/web/controller/ProjectDailyReportController.java b/web/src/main/java/com/dite/znpt/web/controller/ProjectDailyReportController.java new file mode 100644 index 0000000..b49bf8f --- /dev/null +++ b/web/src/main/java/com/dite/znpt/web/controller/ProjectDailyReportController.java @@ -0,0 +1,66 @@ +package com.dite.znpt.web.controller; + +import com.dite.znpt.domain.PageResult; +import com.dite.znpt.domain.Result; +import com.dite.znpt.domain.vo.ProjectDailyReportListReq; +import com.dite.znpt.domain.vo.ProjectDailyReportReq; +import com.dite.znpt.domain.vo.ProjectDailyReportResp; +import com.dite.znpt.service.ProjectDailyReportService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + * @author huise23 + * @date 2025/07/27 19:51 + */ +@Api(tags = "项目日报信息") +@RestController +@RequestMapping("/project-daily-report") +public class ProjectDailyReportController { + @Resource + private ProjectDailyReportService projectDailyReportService; + + @ApiOperation(value = "获取项目日报信息列表", httpMethod = "GET") + @GetMapping("/list") + public PageResult list(ProjectDailyReportListReq projectDailyReportReq) { + return PageResult.ok(projectDailyReportService.selectList(projectDailyReportReq)); + } + + @ApiOperation(value = "根据项目日报信息Id获取详细信息", httpMethod = "GET") + @GetMapping("/{reportId}") + public Result getInfo(@PathVariable String reportId) { + return Result.ok(projectDailyReportService.selectById(reportId)); + } + + @ApiOperation(value = "获取登录人当日日报", httpMethod = "GET") + @GetMapping("/my-today/{projectId}") + public Result myToday(@PathVariable String projectId) { + return Result.ok(projectDailyReportService.myToday(projectId)); + } + + @ApiOperation(value = "新增项目日报信息", httpMethod = "POST") + @PostMapping + public Result add(@Validated @RequestBody ProjectDailyReportReq projectDailyReportReq) { + projectDailyReportService.saveData(projectDailyReportReq); + return Result.ok(); + } + + @ApiOperation(value = "修改项目日报信息", httpMethod = "PUT") + @PutMapping + public Result edit(@Validated @RequestBody ProjectDailyReportReq projectDailyReportReq) { + projectDailyReportService.updateData(projectDailyReportReq); + return Result.ok(); + } + + @ApiOperation(value = "删除项目日报信息", httpMethod = "DELETE") + @DeleteMapping("/{reportId}") + public Result remove(@PathVariable String reportId) { + projectDailyReportService.deleteById(reportId); + return Result.ok(); + } +} +