qiuhongwu 3 months ago
commit 0d73d7bab2

@ -64,4 +64,12 @@ public class CustomerFeedbackPageReqVO extends PageParam {
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
private String customerName;
private String projectSubName;
private String projectSubCode;
private String spec;
private String creatorName;
private String submitterName;
private String auditorName;
}

@ -33,13 +33,9 @@ public class CustomerFeedbackRespVO {
@DictFormat("biz_customer_feedback_status") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中
private String status;
@Schema(description = "客户反馈人")
@ExcelProperty("客户反馈人")
private String feedbackPerson;
@Schema(description = "联系电话")
@ExcelProperty("联系电话")
private String telephone;
@Schema(description = "数量")
@ExcelProperty("数量")
@ -73,4 +69,28 @@ public class CustomerFeedbackRespVO {
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "客户反馈人")
@ExcelProperty("客户反馈人")
private String feedbackPerson;
@Schema(description = "联系电话")
@ExcelProperty("联系电话")
private String telephone;
@Schema(description = "客户名称")
private String customerName;
@Schema(description = "产品编码")
private String projectSubName;
@Schema(description = "产品名称")
private String projectSubCode;
@Schema(description = "规格型号")
private String spec;
@Schema(description = "创建人")
private String creatorName;
@Schema(description = "送审人")
private String submitterName;
@Schema(description = "审核人")
private String auditorName;
}

@ -1,5 +1,6 @@
package com.chanko.yunxi.mes.module.biz.dal.dataobject.customerfeedback;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
@ -82,4 +83,20 @@ public class CustomerFeedbackDO extends BaseDO {
*/
private LocalDateTime auditorTime;
@TableField(exist = false)
private String customerName;
@TableField(exist = false)
private String projectSubName;
@TableField(exist = false)
private String projectSubCode;
@TableField(exist = false)
private String spec;
@TableField(exist = false)
private String creatorName;
@TableField(exist = false)
private String submitterName;
@TableField(exist = false)
private String auditorName;
}

@ -2,12 +2,21 @@ package com.chanko.yunxi.mes.module.biz.dal.mysql.customerfeedback;
import java.util.*;
import cn.hutool.core.collection.CollUtil;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.customer.CustomerDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.customerfeedback.CustomerFeedbackDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.material.MaterialDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.projectorder.ProjectOrderDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.projectorder.ProjectOrderSubDO;
import com.chanko.yunxi.mes.module.system.dal.dataobject.dept.DeptDO;
import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.ibatis.annotations.Mapper;
import com.chanko.yunxi.mes.module.biz.controller.admin.customerfeedback.vo.*;
import org.springframework.util.StringUtils;
/**
* Mapper
@ -18,23 +27,53 @@ import com.chanko.yunxi.mes.module.biz.controller.admin.customerfeedback.vo.*;
public interface CustomerFeedbackMapper extends BaseMapperX<CustomerFeedbackDO> {
default PageResult<CustomerFeedbackDO> selectPage(CustomerFeedbackPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<CustomerFeedbackDO>()
.eqIfPresent(CustomerFeedbackDO::getId, reqVO.getId())
.eqIfPresent(CustomerFeedbackDO::getCustomerId, reqVO.getCustomerId())
.eqIfPresent(CustomerFeedbackDO::getMaterialId, reqVO.getMaterialId())
.eqIfPresent(CustomerFeedbackDO::getStatus, reqVO.getStatus())
.eqIfPresent(CustomerFeedbackDO::getFeedbackPerson, reqVO.getFeedbackPerson())
.eqIfPresent(CustomerFeedbackDO::getTelephone, reqVO.getTelephone())
.eqIfPresent(CustomerFeedbackDO::getFeedbackNum, reqVO.getFeedbackNum())
.eqIfPresent(CustomerFeedbackDO::getReduceMoney, reqVO.getReduceMoney())
.eqIfPresent(CustomerFeedbackDO::getReduceReason, reqVO.getReduceReason())
.eqIfPresent(CustomerFeedbackDO::getSubmitter, reqVO.getSubmitter())
.betweenIfPresent(CustomerFeedbackDO::getSubmitTime, reqVO.getSubmitTime())
.eqIfPresent(CustomerFeedbackDO::getAuditor, reqVO.getAuditor())
.betweenIfPresent(CustomerFeedbackDO::getAuditorTime, reqVO.getAuditorTime())
.eqIfPresent(CustomerFeedbackDO::getCreator, reqVO.getCreator())
.betweenIfPresent(CustomerFeedbackDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(CustomerFeedbackDO::getId));
MPJLambdaWrapper<CustomerFeedbackDO> query = new MPJLambdaWrapper<>();
query.selectAll(CustomerFeedbackDO.class)
.select("a.name as customerName", "m.name as projectSubName", "m.code as projectSubCode")
.select("c.nickname as creatorName")
.select("c.nickname as submitterName")
.select("c.nickname as auditorName")
.leftJoin(CustomerDO.class, "a", CustomerDO::getId, CustomerFeedbackDO::getCustomerId)
.leftJoin(ProjectOrderSubDO.class,"b",ProjectOrderSubDO::getId,CustomerFeedbackDO::getMaterialId)
.leftJoin(MaterialDO.class,"m",MaterialDO::getId,ProjectOrderSubDO::getMaterialId)
.leftJoin(AdminUserDO.class, "c", AdminUserDO::getId, CustomerFeedbackDO::getCreator)
.leftJoin(AdminUserDO.class, "d", AdminUserDO::getId, CustomerFeedbackDO::getSubmitter)
.leftJoin(AdminUserDO.class, "e", AdminUserDO::getId, CustomerFeedbackDO::getAuditor)
.disableSubLogicDel()
.orderByDesc(CustomerFeedbackDO::getId);
query.like(!StringUtils.isEmpty(reqVO.getCustomerName()), CustomerDO::getName, reqVO.getCustomerName())
.like(!StringUtils.isEmpty(reqVO.getProjectSubCode()), MaterialDO::getCode, reqVO.getProjectSubCode())
.like(!StringUtils.isEmpty(reqVO.getProjectSubName()), MaterialDO::getName, reqVO.getProjectSubName())
.like(!StringUtils.isEmpty(reqVO.getSpec()), MaterialDO::getSpec, reqVO.getSpec())
.like(!StringUtils.isEmpty(reqVO.getFeedbackPerson()), CustomerFeedbackDO::getFeedbackPerson, reqVO.getFeedbackPerson())
.like(!StringUtils.isEmpty(reqVO.getTelephone()), CustomerFeedbackDO::getTelephone, reqVO.getTelephone())
.like(!StringUtils.isEmpty(reqVO.getCreatorName()), "c.nickname", reqVO.getCreatorName())
.like(!StringUtils.isEmpty(reqVO.getSubmitterName()), "d.nickname", reqVO.getSubmitterName())
.like(!StringUtils.isEmpty(reqVO.getAuditorName()), "e.nickname", reqVO.getAuditorName())
;
return selectPage(reqVO, query);
// return selectPage(reqVO, new LambdaQueryWrapperX<CustomerFeedbackDO>()
// .eqIfPresent(CustomerFeedbackDO::getId, reqVO.getId())
// .eqIfPresent(CustomerFeedbackDO::getCustomerId, reqVO.getCustomerId())
// .eqIfPresent(CustomerFeedbackDO::getMaterialId, reqVO.getMaterialId())
// .eqIfPresent(CustomerFeedbackDO::getStatus, reqVO.getStatus())
// .eqIfPresent(CustomerFeedbackDO::getFeedbackPerson, reqVO.getFeedbackPerson())
// .eqIfPresent(CustomerFeedbackDO::getTelephone, reqVO.getTelephone())
// .eqIfPresent(CustomerFeedbackDO::getFeedbackNum, reqVO.getFeedbackNum())
// .eqIfPresent(CustomerFeedbackDO::getReduceMoney, reqVO.getReduceMoney())
// .eqIfPresent(CustomerFeedbackDO::getReduceReason, reqVO.getReduceReason())
// .eqIfPresent(CustomerFeedbackDO::getSubmitter, reqVO.getSubmitter())
// .betweenIfPresent(CustomerFeedbackDO::getSubmitTime, reqVO.getSubmitTime())
// .eqIfPresent(CustomerFeedbackDO::getAuditor, reqVO.getAuditor())
// .betweenIfPresent(CustomerFeedbackDO::getAuditorTime, reqVO.getAuditorTime())
// .eqIfPresent(CustomerFeedbackDO::getCreator, reqVO.getCreator())
// .betweenIfPresent(CustomerFeedbackDO::getCreateTime, reqVO.getCreateTime())
// .orderByDesc(CustomerFeedbackDO::getId));
}
}
Loading…
Cancel
Save