1. 修改 WrapperUtils.java

This commit is contained in:
zhaowenyuan 2024-06-17 18:13:36 +08:00
parent 73d631d00b
commit 3a68191f0d
15 changed files with 194 additions and 39 deletions

View File

@ -23,7 +23,7 @@ import java.util.List;
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class WrapperUtils {
public static <T> LambdaQueryWrapper<T> builder(T table, Object query, CommonParam commonParam, String... columns) {
public static <T> LambdaQueryWrapper<T> builder(Object query, CommonParam commonParam, String... columns) {
QueryWrapper<T> queryWrapper = new QueryWrapper<>();
if (null != columns) {
queryWrapper = queryWrapper.select(columns);

View File

@ -0,0 +1,47 @@
package com.chushang.inspection.project.entity.dto;
import cn.hutool.core.date.DatePattern;
import com.chushang.common.mybatis.annotation.Condition;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import java.util.List;
/**
* @auther: zhao
* @date: 2024/6/17 17:59
*/
@Data
public class AuditDTO {
/**
* 多选 第三方id
*/
@Condition(name = "third_id", type = Condition.ConditionType.in)
private List<Long> thirdIds;
/**
* 审核状态
*/
@Condition(name = "audit_status", type = Condition.ConditionType.eq)
private Integer auditStatus;
/**
* 默认 合同审核
*/
@Condition(name = "third_type", type = Condition.ConditionType.eq)
private Integer auditType = 1;
/**
* 审核人
*/
@Condition(name = "audit_user_id", type = Condition.ConditionType.eq)
private Long auditUserId;
/**
* 审核时间 区间
*/
@Condition(name = "audit_time", type = Condition.ConditionType.between)
@JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
private List<LocalDateTime> auditTimes;
}

View File

@ -4,7 +4,10 @@ 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.chushang.common.mybatis.annotation.Condition;
import com.chushang.common.mybatis.base.BaseEntity;
import java.time.LocalDateTime;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Data;
@ -28,36 +31,41 @@ public class WrkAudit extends BaseEntity {
* 编号
*/
@TableId(value = "audit_id", type = IdType.ASSIGN_ID)
@Condition(name = "audit_id", type = Condition.ConditionType.eq)
private Long auditId;
/**
* 三方id
*/
@TableField(value = "third_id")
@Condition(name = "third_id", type = Condition.ConditionType.eq)
private Long thirdId;
/**
* 审核状态
*/
@TableField(value = "audit_status")
private Short auditStatus;
@Condition(name = "audit_status", type = Condition.ConditionType.eq)
private Integer auditStatus;
/**
* 审核类型 0 项目, 1 合同, 2 其他(待补充)
*/
@TableField(value = "third_type")
private Short thirdType;
@Condition(name = "third_type", type = Condition.ConditionType.eq)
private Integer thirdType;
/**
* 审核时间 timestamp
*/
@TableField(value = "audit_time")
private Date auditTime;
private LocalDateTime auditTime;
/**
* 审核人 当前审核用户Id
*/
@TableField(value = "audit_user_id")
@Condition(name = "audit_user_id", type = Condition.ConditionType.eq)
private Long auditUserId;
/**
@ -66,21 +74,14 @@ public class WrkAudit extends BaseEntity {
@TableField(value = "audit_name")
private String auditName;
/**
* 下级审核人 下级审核人
*/
@TableField(value = "sub_audit_user_id")
private Long subAuditUserId;
/**
* 下级审核人名称
*/
@TableField(value = "sub_audit_name")
private String subAuditName;
/**
* 备注 审核通过以及审核驳回结果都在此存储,
*/
@TableField(value = "remark")
private String remark;
/**
* 部门
*/
@TableField("dept_id")
private Long deptId;
}

View File

@ -1,14 +1,19 @@
package com.chushang.inspection.project.entity.po;
import cn.hutool.core.date.DatePattern;
import com.baomidou.mybatisplus.annotation.*;
import com.chushang.common.dict.annotation.DictFormat;
import com.chushang.common.mybatis.annotation.Condition;
import com.chushang.common.mybatis.base.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
import java.util.List;
/**
* @auther: zhao
* @date: 2024/6/15 10:51
@ -24,6 +29,7 @@ import lombok.NoArgsConstructor;
public class WrkProject extends BaseEntity {
/**
* 项目id
* 查询条件 项目Id
*/
@TableId(value = "project_id", type = IdType.ASSIGN_ID)
@Condition(name = "project_id", type = Condition.ConditionType.eq)
@ -31,6 +37,7 @@ public class WrkProject extends BaseEntity {
/**
* 项目名称
* 查询条件 项目名称
*/
@TableField(value = "project_name")
@Condition(name = "project_name", type = Condition.ConditionType.like)
@ -38,6 +45,7 @@ public class WrkProject extends BaseEntity {
/**
* 项目联系人
* 查询条件 项目联系人
*/
@TableField(value = "project_concat")
@Condition(name = "project_concat", type = Condition.ConditionType.like)
@ -45,6 +53,7 @@ public class WrkProject extends BaseEntity {
/**
* 项目联系人电话
* 查询条件 项目联系人电话
*/
@TableField(value = "project_phone")
@Condition(name = "project_phone", type = Condition.ConditionType.eq)
@ -52,6 +61,7 @@ public class WrkProject extends BaseEntity {
/**
* 项目所属部门id
* 查询条件 项目所属部门id 单id
*/
@TableField(value = "dept_id")
@Condition(name = "dept_id", type = Condition.ConditionType.eq)
@ -65,6 +75,7 @@ public class WrkProject extends BaseEntity {
/**
* 创建人 存储用户user_id
* 查询条件 创建人
*/
@TableField(value = "create_by", fill = FieldFill.INSERT)
@Condition(name = "create_by", type = Condition.ConditionType.eq)
@ -83,4 +94,24 @@ public class WrkProject extends BaseEntity {
@TableField(value = "project_effect")
@DictFormat(dictType = "project_effect")
private Integer projectEffect;
/**
* 查询条件 所属部门id
*/
@TableField(exist = false)
@Condition(name = "dept_id", type = Condition.ConditionType.in)
private List<Long> deptIds;
/**
* 查询条件 创建时间
*/
@TableField(exist = false)
@Condition(name = "create_time", type = Condition.ConditionType.between)
@JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
private List<LocalDateTime> createTimes;
/**
* 项目对应的 合同集合
*/
@TableField(exist = false)
private List<WrkProjectContract> contracts;
}

View File

@ -96,16 +96,9 @@ public class WrkProjectContract extends BaseEntity {
@TableField(value = "payment_state")
@DictFormat(dictType = "payment_state")
private Integer paymentState;
/**
* 创建人 存储用户user_id
* 对应的部门id
*/
@TableField(value = "create_by", fill = FieldFill.INSERT)
private String createBy;
/**
* 修改人 存储用户user_id
*/
@TableField(value = "update_by", fill = FieldFill.UPDATE)
private String updateBy;
@TableField("dept_id")
private Long deptId;
}

View File

@ -1,9 +1,17 @@
package com.chushang.inspection.project.controller;
import com.chushang.common.core.web.AjaxResult;
import com.chushang.inspection.project.entity.dto.AuditDTO;
import com.chushang.inspection.project.service.WrkAuditService;
import com.chushang.security.annotation.RequiresPermissions;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* @auther: zhao
* @date: 2024/6/15 11:21
@ -12,4 +20,19 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping(value = "/project/audit")
public class WrkAuditController {
@Resource
WrkAuditService auditService;
/**
* 审核列表
*/
@GetMapping(value = "/list")
// @RequiresPermissions("project:audit:list")
public AjaxResult pageList(@Validated AuditDTO auditDTO){
return AjaxResult.success(auditService.pageList(auditDTO));
}
}

View File

@ -32,6 +32,15 @@ public class WrkProjectController {
WrkProjectService projectService;
@Resource
WrkProjectContractService contractService;
/**
* 获取项目详细信息
*/
@GetMapping(value = "/{projectId}")
@RequiresPermissions("inspection:project:info")
public AjaxResult get(@PathVariable Long projectId){
return AjaxResult.success(projectService.getProject(projectId));
}
/**
* 获取项目列表
*/

View File

@ -1,6 +1,15 @@
package com.chushang.inspection.project.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.chushang.common.mybatis.page.CommonParam;
import com.chushang.common.mybatis.utils.PageResult;
import com.chushang.common.mybatis.utils.WrapperUtils;
import com.chushang.datascope.annotation.DataScope;
import com.chushang.inspection.project.entity.dto.AuditDTO;
import com.chushang.inspection.project.entity.po.WrkProject;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -15,4 +24,15 @@ import com.chushang.inspection.project.mapper.WrkAuditMapper;
@Service
public class WrkAuditService extends ServiceImpl<WrkAuditMapper, WrkAudit> implements IService<WrkAudit> {
@DataScope
public PageResult pageList(AuditDTO auditDTO)
{
CommonParam commonParam = CommonParam.buildPageRequest();
LambdaQueryWrapper<WrkAudit> auditSql = WrapperUtils.builder(auditDTO,commonParam);
IPage<WrkAudit> page = this.page(
new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(commonParam.getPage(), commonParam.getLimit()),
auditSql
);
return new PageResult(page);
}
}

View File

@ -45,7 +45,7 @@ public class WrkProjectContractService extends ServiceImpl<WrkProjectContractMap
}
public PageResult pageList(WrkProjectContract contract, CommonParam commonParam) {
LambdaQueryWrapper<WrkProjectContract> queryWrapper = WrapperUtils.builder(contract, contract, commonParam);
LambdaQueryWrapper<WrkProjectContract> queryWrapper = WrapperUtils.builder(contract, commonParam);
IPage<WrkProjectContract> page = this.page(
new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(commonParam.getPage(), commonParam.getLimit()),
queryWrapper

View File

@ -13,6 +13,7 @@ import com.chushang.common.mybatis.enums.Operator;
import com.chushang.common.mybatis.page.CommonParam;
import com.chushang.common.mybatis.utils.PageResult;
import com.chushang.common.mybatis.utils.WrapperUtils;
import com.chushang.datascope.annotation.DataScope;
import com.chushang.inspection.project.entity.dto.PaymentDTO;
import com.chushang.inspection.project.entity.po.WrkProject;
import com.chushang.inspection.project.entity.po.WrkProjectContract;
@ -38,6 +39,9 @@ public class WrkProjectPaymentService extends ServiceImpl<WrkProjectPaymentMappe
@Resource
WrkProjectContractService contractService;
/**
* 保存回款
*/
public Long save(PaymentDTO payment)
{
WrkProjectPayment projectPayment = new WrkProjectPayment();
@ -47,15 +51,16 @@ public class WrkProjectPaymentService extends ServiceImpl<WrkProjectPaymentMappe
WrkProject project = new WrkProject();
project.setProjectId(projectId);
LambdaQueryWrapper<WrkProject> projectSql = WrapperUtils.builder(project, project, null)
.last(Operator.LIMIT_ONE.getCharacter());
LambdaQueryWrapper<WrkProject> projectSql = WrapperUtils.builder(project, null);
projectSql.last(Operator.LIMIT_ONE.getCharacter());
project = projectService.getOne(projectSql);
AssertUtil.invalidate(null == project, "查询不到对应的项目");
WrkProjectContract projectContract = new WrkProjectContract();
projectContract.setProjectId(projectId);
projectContract.setContractId(contractId);
LambdaQueryWrapper<WrkProjectContract> contractSql = WrapperUtils.builder(projectContract, projectContract, null)
.last(Operator.LIMIT_ONE.getCharacter());
LambdaQueryWrapper<WrkProjectContract> contractSql = WrapperUtils.builder(projectContract, null);
contractSql.last(Operator.LIMIT_ONE.getCharacter());
projectContract = contractService.getOne(contractSql);
AssertUtil.invalidate(null == projectContract, "查询不到对应的项目合同");
@ -107,7 +112,7 @@ public class WrkProjectPaymentService extends ServiceImpl<WrkProjectPaymentMappe
public PageResult pageList(WrkProjectPayment projectPayment, CommonParam commonParam)
{
LambdaQueryWrapper<WrkProjectPayment> queryWrapper = WrapperUtils.builder(projectPayment, projectPayment, commonParam);
LambdaQueryWrapper<WrkProjectPayment> queryWrapper = WrapperUtils.builder(projectPayment, commonParam);
IPage<WrkProjectPayment> page = this.page(
new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(commonParam.getPage(), commonParam.getLimit()),
queryWrapper

View File

@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.chushang.common.mybatis.enums.Operator;
import com.chushang.common.mybatis.page.CommonParam;
import com.chushang.common.mybatis.utils.PageResult;
import com.chushang.common.mybatis.utils.WrapperUtils;
@ -21,6 +22,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.List;
/**
* @auther: zhao
@ -63,7 +65,6 @@ public class WrkProjectService extends ServiceImpl<WrkProjectMapper, WrkProject>
wrkProject.setProjectEffect(1);
}
this.save(wrkProject);
// 项目合同
saveContract(contract);
@ -131,8 +132,10 @@ public class WrkProjectService extends ServiceImpl<WrkProjectMapper, WrkProject>
boolean projectEffect = !now.isBefore(contract.getContractStartTime()) || !now.isAfter(contract.getContractEndTime());
// 之前 && 之后 无效
projectContract.setProjectEffect(projectEffect ? 1 : 0);
contractService.save(projectContract);
Long deptId = SecurityUtils.getLoginUser().getSysUser().getDeptId();
projectContract.setDeptId(deptId);
contractService.save(projectContract);
updateState(contract.getProjectId(), projectEffect ? 1 : 0 );
return projectContract.getContractId();
@ -160,4 +163,27 @@ public class WrkProjectService extends ServiceImpl<WrkProjectMapper, WrkProject>
public void deleteContract(Long contractId) {
contractService.delete(contractId);
}
/**
* 获取项目详细信息
*/
@DataScope
public WrkProject getProject(Long projectId)
{
CommonParam commonParam = CommonParam.buildAllRequest();
WrkProject wrkProject = new WrkProject();
wrkProject.setProjectId(projectId);
LambdaQueryWrapper<WrkProject> projectSql = WrapperUtils.builder(wrkProject, commonParam);
projectSql.last(Operator.LIMIT_ONE.getCharacter());
wrkProject = getOne(projectSql);
if (null != wrkProject){
// 查询 合同集合
WrkProjectContract projectContract = new WrkProjectContract();
projectContract.setProjectId(projectId);
LambdaQueryWrapper<WrkProjectContract> contractSql = WrapperUtils.builder(projectContract, commonParam);
List<WrkProjectContract> list = contractService.list(contractSql);
wrkProject.setContracts(list);
}
return wrkProject;
}
}

View File

@ -103,7 +103,7 @@ public class LoanServiceImpl extends ServiceImpl<LoanMapper, LoanEntity> impleme
@DataScope
public PageResult queryLoan(LoanEntity query) {
CommonParam commonParam = CommonParam.buildPageRequest();
LambdaQueryWrapper<LoanEntity> queryWrapper = WrapperUtils.builder(query, query, commonParam);
LambdaQueryWrapper<LoanEntity> queryWrapper = WrapperUtils.builder(query, commonParam);
Page<LoanEntity> page = this.page(
new Page<>(commonParam.getPage(), commonParam.getLimit()),
queryWrapper

View File

@ -21,7 +21,7 @@ public interface ISysConfigService extends IService<SysConfig> {
));
}
default LambdaQueryWrapper<SysConfig> buildWrapper(SysConfig sysConfig, CommonParam commonParam){
return WrapperUtils.builder(sysConfig, sysConfig, commonParam);
return WrapperUtils.builder(sysConfig, commonParam);
}
default List<SysConfig> allConfigList(SysConfig config, CommonParam commonParam){

View File

@ -18,7 +18,7 @@ public interface ISysDictTypeService extends IService<SysDictType> {
default PageResult pageDictTypeList(SysDictType dictType, CommonParam commonParam){
IPage<SysDictType> page = this.page(
new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(commonParam.getPage(), commonParam.getLimit()),
WrapperUtils.builder(dictType, dictType, commonParam)
WrapperUtils.builder(dictType, commonParam)
);
return new PageResult(page);
}
@ -27,7 +27,7 @@ public interface ISysDictTypeService extends IService<SysDictType> {
}
default LambdaQueryWrapper<SysDictType> buildWrapper(SysDictType dictType, CommonParam commonParam){
return WrapperUtils.builder(dictType, dictType, commonParam);
return WrapperUtils.builder(dictType, commonParam);
}
default boolean checkDictTypeUnique(SysDictType dictType, CommonParam commonParam){

View File

@ -19,7 +19,7 @@ public interface SysLoginInfoService extends IService<SysLoginInfo> {
}
default LambdaQueryWrapper<SysLoginInfo> buildWrapper(SysLoginInfo loginInfo, CommonParam commonParam){
return WrapperUtils.builder(loginInfo, loginInfo, commonParam);
return WrapperUtils.builder(loginInfo, commonParam);
}
default PageResult pagePostList(SysLoginInfo loginInfo, CommonParam commonParam) {