Browse Source

项目合同基础接口

ops-management-platform-backend-dev
gjh 1 month ago
parent
commit
809abcfddc
  1. 13
      ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/controller/ProjectInfoController.java
  2. 43
      ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/ProjectInfo.java
  3. 58
      ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/bo/ProjectInfoBo.java
  4. 3
      ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/vo/ContractInfoVo.java
  5. 58
      ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/vo/ProjectInfoVo.java
  6. 10
      ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/mapper/ProjectInfoMapper.java
  7. 9
      ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/IProjectInfoService.java
  8. 28
      ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/ProjectInfoServiceImpl.java

13
ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/controller/ProjectInfoController.java

@ -1,7 +1,6 @@
package org.dromara.platform.controller;
import java.util.List;
import java.util.Map;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
@ -27,7 +26,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
* 项目信息
*
* @author gejunhao
* @date 2025-02-20
* @date 2025-03-27
*/
@Validated
@RequiredArgsConstructor
@ -103,14 +102,4 @@ public class ProjectInfoController extends BaseController {
@PathVariable String[] ids) {
return toAjax(projectInfoService.deleteWithValidByIds(List.of(ids), true));
}
/**
* 查询项目名称列表
*/
@SaCheckPermission("platform:projectInfo:projectNames")
@GetMapping("/projectNames")
public R<List<String>> list() {
return R.ok(projectInfoService.queryProjectNames());
}
}

43
ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/ProjectInfo.java

@ -11,7 +11,7 @@ import java.io.Serial;
* 项目信息对象 project_info
*
* @author gejunhao
* @date 2025-02-20
* @date 2025-03-27
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ -22,30 +22,30 @@ public class ProjectInfo extends TenantEntity {
private static final long serialVersionUID = 1L;
/**
* 主键ID
* 唯一标识符
*/
@TableId(value = "id")
private String id;
/**
* 所属合同
* 项目名称
*/
private String associatedContract;
private String projectName;
/**
* 项目名称
* 合同名称
*/
private String projectName;
private String contractName;
/**
* 项目编号
*/
private String projectId;
private String projectCode;
/**
* 项目类别
*/
private String projectCategory;
private String projectType;
/**
* 故障大类
@ -53,39 +53,44 @@ public class ProjectInfo extends TenantEntity {
private String faultCategory;
/**
* 接单超期时间(小时)
* 接单超期时间
*/
private String orderTakingOverTime;
/**
* 接单超期扣款
*/
private String orderOvertimeHours;
private String orderTakingCost;
/**
* 接单超期扣款(/小时)
* 处理超期时间
*/
private String orderOvertimePenalty;
private String handleOverTime;
/**
* 处理超期时间(小时)
* 处理超期扣款
*/
private String processingOvertimeHours;
private String handleCost;
/**
* 处理超期扣款(/小时)
* 关联项目数量
*/
private String processingOvertimePenalty;
private Long relatedProjectAmount;
/**
* 项目概要
*/
private String projectSummary;
private String projectContent;
/**
* 项目图标
*/
private String projectIcon;
private String icon;
/**
* 附件
*/
private String attachments;
private String attachment;
/**
* 当前状态

58
ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/bo/ProjectInfoBo.java

@ -13,7 +13,7 @@ import jakarta.validation.constraints.*;
* 项目信息业务对象 project_info
*
* @author gejunhao
* @date 2025-02-20
* @date 2025-03-27
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ -21,34 +21,34 @@ import jakarta.validation.constraints.*;
public class ProjectInfoBo extends BaseEntity {
/**
* 主键ID
* 唯一标识符
*/
@NotBlank(message = "主键ID不能为空", groups = { EditGroup.class })
@NotBlank(message = "唯一标识符不能为空", groups = { EditGroup.class })
private String id;
/**
* 所属合同
*/
@NotBlank(message = "所属合同不能为空", groups = { AddGroup.class, EditGroup.class })
private String associatedContract;
/**
* 项目名称
*/
@NotBlank(message = "项目名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String projectName;
/**
* 合同名称
*/
@NotBlank(message = "合同名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String contractName;
/**
* 项目编号
*/
@NotBlank(message = "项目编号不能为空", groups = { AddGroup.class, EditGroup.class })
private String projectId;
private String projectCode;
/**
* 项目类别
*/
@NotBlank(message = "项目类别不能为空", groups = { AddGroup.class, EditGroup.class })
private String projectCategory;
private String projectType;
/**
* 故障大类
@ -57,46 +57,52 @@ public class ProjectInfoBo extends BaseEntity {
private String faultCategory;
/**
* 接单超期时间(小时)
* 接单超期时间
*/
@NotBlank(message = "接单超期时间不能为空", groups = { AddGroup.class, EditGroup.class })
private String orderTakingOverTime;
/**
* 接单超期扣款
*/
@NotBlank(message = "接单超期时间(小时)不能为空", groups = { AddGroup.class, EditGroup.class })
private String orderOvertimeHours;
@NotBlank(message = "接单超期扣款不能为空", groups = { AddGroup.class, EditGroup.class })
private String orderTakingCost;
/**
* 接单超期扣款(/小时)
* 处理超期时间
*/
@NotBlank(message = "接单超期扣款(元/小时)不能为空", groups = { AddGroup.class, EditGroup.class })
private String orderOvertimePenalty;
@NotBlank(message = "处理超期时间不能为空", groups = { AddGroup.class, EditGroup.class })
private String handleOverTime;
/**
* 处理超期时间(小时)
* 处理超期扣款
*/
@NotBlank(message = "处理超期时间(小时)不能为空", groups = { AddGroup.class, EditGroup.class })
private String processingOvertimeHours;
@NotBlank(message = "处理超期扣款不能为空", groups = { AddGroup.class, EditGroup.class })
private String handleCost;
/**
* 处理超期扣款(/小时)
* 关联项目数量
*/
@NotBlank(message = "处理超期扣款(元/小时)不能为空", groups = { AddGroup.class, EditGroup.class })
private String processingOvertimePenalty;
@NotNull(message = "关联项目数量不能为空", groups = { AddGroup.class, EditGroup.class })
private Long relatedProjectAmount;
/**
* 项目概要
*/
@NotBlank(message = "项目概要不能为空", groups = { AddGroup.class, EditGroup.class })
private String projectSummary;
private String projectContent;
/**
* 项目图标
*/
@NotBlank(message = "项目图标不能为空", groups = { AddGroup.class, EditGroup.class })
private String projectIcon;
private String icon;
/**
* 附件
*/
@NotBlank(message = "附件不能为空", groups = { AddGroup.class, EditGroup.class })
private String attachments;
private String attachment;
/**
* 当前状态

3
ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/vo/ContractInfoVo.java

@ -89,18 +89,21 @@ public class ContractInfoVo implements Serializable {
* 签订日期
*/
@ExcelProperty(value = "签订日期")
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
private Date signDate;
/**
* 开始时间
*/
@ExcelProperty(value = "开始时间")
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
private Date startDate;
/**
* 结束时间
*/
@ExcelProperty(value = "结束时间")
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
private Date endDate;
/**

58
ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/vo/ProjectInfoVo.java

@ -18,7 +18,7 @@ import java.util.Date;
* 项目信息视图对象 project_info
*
* @author gejunhao
* @date 2025-02-20
* @date 2025-03-27
*/
@Data
@ExcelIgnoreUnannotated
@ -29,34 +29,34 @@ public class ProjectInfoVo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键ID
* 唯一标识符
*/
@ExcelProperty(value = "主键ID")
@ExcelProperty(value = "唯一标识符")
private String id;
/**
* 所属合同
*/
@ExcelProperty(value = "所属合同")
private String associatedContract;
/**
* 项目名称
*/
@ExcelProperty(value = "项目名称")
private String projectName;
/**
* 合同名称
*/
@ExcelProperty(value = "合同名称")
private String contractName;
/**
* 项目编号
*/
@ExcelProperty(value = "项目编号")
private String projectId;
private String projectCode;
/**
* 项目类别
*/
@ExcelProperty(value = "项目类别")
private String projectCategory;
private String projectType;
/**
* 故障大类
@ -65,46 +65,52 @@ public class ProjectInfoVo implements Serializable {
private String faultCategory;
/**
* 接单超期时间(小时)
* 接单超期时间
*/
@ExcelProperty(value = "接单超期时间")
private String orderTakingOverTime;
/**
* 接单超期扣款
*/
@ExcelProperty(value = "接单超期时间(小时)")
private String orderOvertimeHours;
@ExcelProperty(value = "接单超期扣款")
private String orderTakingCost;
/**
* 接单超期扣款(/小时)
* 处理超期时间
*/
@ExcelProperty(value = "接单超期扣款(元/小时)")
private String orderOvertimePenalty;
@ExcelProperty(value = "处理超期时间")
private String handleOverTime;
/**
* 处理超期时间(小时)
* 处理超期扣款
*/
@ExcelProperty(value = "处理超期时间(小时)")
private String processingOvertimeHours;
@ExcelProperty(value = "处理超期扣款")
private String handleCost;
/**
* 处理超期扣款(/小时)
* 关联项目数量
*/
@ExcelProperty(value = "处理超期扣款(元/小时)")
private String processingOvertimePenalty;
@ExcelProperty(value = "关联项目数量")
private Long relatedProjectAmount;
/**
* 项目概要
*/
@ExcelProperty(value = "项目概要")
private String projectSummary;
private String projectContent;
/**
* 项目图标
*/
@ExcelProperty(value = "项目图标")
private String projectIcon;
private String icon;
/**
* 附件
*/
@ExcelProperty(value = "附件")
private String attachments;
private String attachment;
/**
* 当前状态

10
ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/mapper/ProjectInfoMapper.java

@ -1,19 +1,17 @@
package org.dromara.platform.mapper;
import org.apache.ibatis.annotations.Select;
import org.dromara.platform.domain.ProjectInfo;
import org.dromara.platform.domain.vo.ProjectInfoVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import java.util.List;
/**
* 项目信息Mapper接口
*
* @author gejunhao
* @date 2025-02-20
* @date 2025-03-27
*/
public interface ProjectInfoMapper extends BaseMapperPlus<ProjectInfo, ProjectInfoVo> {
@Select("SELECT project_name FROM project_info")
List<String> queryProjectNames();
// @Select("SELECT project_name FROM project_info")
// List<String> queryProjectNames();
}

9
ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/IProjectInfoService.java

@ -7,13 +7,12 @@ import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
* 项目信息Service接口
*
* @author gejunhao
* @date 2025-02-20
* @date 2025-03-27
*/
public interface IProjectInfoService {
@ -66,10 +65,4 @@ public interface IProjectInfoService {
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
/**
* 获取项目名称列表 (用于下拉框查询)
* @return
*/
List<String> queryProjectNames();
}

28
ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/ProjectInfoServiceImpl.java

@ -23,7 +23,7 @@ import java.util.Collection;
* 项目信息Service业务层处理
*
* @author gejunhao
* @date 2025-02-20
* @date 2025-03-27
*/
@RequiredArgsConstructor
@Service
@ -71,18 +71,19 @@ public class ProjectInfoServiceImpl implements IProjectInfoService {
private LambdaQueryWrapper<ProjectInfo> buildQueryWrapper(ProjectInfoBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<ProjectInfo> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getAssociatedContract()), ProjectInfo::getAssociatedContract, bo.getAssociatedContract());
lqw.like(StringUtils.isNotBlank(bo.getProjectName()), ProjectInfo::getProjectName, bo.getProjectName());
lqw.eq(StringUtils.isNotBlank(bo.getProjectId()), ProjectInfo::getProjectId, bo.getProjectId());
lqw.eq(StringUtils.isNotBlank(bo.getProjectCategory()), ProjectInfo::getProjectCategory, bo.getProjectCategory());
lqw.like(StringUtils.isNotBlank(bo.getContractName()), ProjectInfo::getContractName, bo.getContractName());
lqw.eq(StringUtils.isNotBlank(bo.getProjectCode()), ProjectInfo::getProjectCode, bo.getProjectCode());
lqw.eq(StringUtils.isNotBlank(bo.getProjectType()), ProjectInfo::getProjectType, bo.getProjectType());
lqw.eq(StringUtils.isNotBlank(bo.getFaultCategory()), ProjectInfo::getFaultCategory, bo.getFaultCategory());
lqw.eq(StringUtils.isNotBlank(bo.getOrderOvertimeHours()), ProjectInfo::getOrderOvertimeHours, bo.getOrderOvertimeHours());
lqw.eq(StringUtils.isNotBlank(bo.getOrderOvertimePenalty()), ProjectInfo::getOrderOvertimePenalty, bo.getOrderOvertimePenalty());
lqw.eq(StringUtils.isNotBlank(bo.getProcessingOvertimeHours()), ProjectInfo::getProcessingOvertimeHours, bo.getProcessingOvertimeHours());
lqw.eq(StringUtils.isNotBlank(bo.getProcessingOvertimePenalty()), ProjectInfo::getProcessingOvertimePenalty, bo.getProcessingOvertimePenalty());
lqw.eq(StringUtils.isNotBlank(bo.getProjectSummary()), ProjectInfo::getProjectSummary, bo.getProjectSummary());
lqw.eq(StringUtils.isNotBlank(bo.getProjectIcon()), ProjectInfo::getProjectIcon, bo.getProjectIcon());
lqw.eq(StringUtils.isNotBlank(bo.getAttachments()), ProjectInfo::getAttachments, bo.getAttachments());
lqw.eq(StringUtils.isNotBlank(bo.getOrderTakingOverTime()), ProjectInfo::getOrderTakingOverTime, bo.getOrderTakingOverTime());
lqw.eq(StringUtils.isNotBlank(bo.getOrderTakingCost()), ProjectInfo::getOrderTakingCost, bo.getOrderTakingCost());
lqw.eq(StringUtils.isNotBlank(bo.getHandleOverTime()), ProjectInfo::getHandleOverTime, bo.getHandleOverTime());
lqw.eq(StringUtils.isNotBlank(bo.getHandleCost()), ProjectInfo::getHandleCost, bo.getHandleCost());
lqw.eq(bo.getRelatedProjectAmount() != null, ProjectInfo::getRelatedProjectAmount, bo.getRelatedProjectAmount());
lqw.eq(StringUtils.isNotBlank(bo.getProjectContent()), ProjectInfo::getProjectContent, bo.getProjectContent());
lqw.eq(StringUtils.isNotBlank(bo.getIcon()), ProjectInfo::getIcon, bo.getIcon());
lqw.eq(StringUtils.isNotBlank(bo.getAttachment()), ProjectInfo::getAttachment, bo.getAttachment());
lqw.eq(bo.getStatus() != null, ProjectInfo::getStatus, bo.getStatus());
return lqw;
}
@ -138,9 +139,4 @@ public class ProjectInfoServiceImpl implements IProjectInfoService {
}
return baseMapper.deleteByIds(ids) > 0;
}
@Override
public List<String> queryProjectNames() {
return baseMapper.queryProjectNames();
}
}

Loading…
Cancel
Save