bug
This commit is contained in:
parent
aab8c19da5
commit
80538f8796
@ -135,6 +135,11 @@
|
|||||||
</#if>
|
</#if>
|
||||||
</p>
|
</p>
|
||||||
</#list>
|
</#list>
|
||||||
|
<#if item.startDate?? && item.businessType == "2">
|
||||||
|
<p class="content" style="text-indent:32pt; line-height: 6pt; font-size: 6pt">
|
||||||
|
服务期限:${item.startDate?string('yyyy年MM月dd日')}至${item.endDate?string('yyyy年MM月dd日')}
|
||||||
|
</p>
|
||||||
|
</#if>
|
||||||
<#nt>
|
<#nt>
|
||||||
</#list>
|
</#list>
|
||||||
</td>
|
</td>
|
||||||
@ -199,11 +204,11 @@
|
|||||||
<#-- <p style=" text-indent:9pt; text-align:justify; ">-->
|
<#-- <p style=" text-indent:9pt; text-align:justify; ">-->
|
||||||
<#-- <span style=""> </span></p>-->
|
<#-- <span style=""> </span></p>-->
|
||||||
<p class="title" >一、服务期限</p>
|
<p class="title" >一、服务期限</p>
|
||||||
<#if contract.startServiceDate??>
|
<#-- <#if contract.startServiceDate??>-->
|
||||||
<p class="content">本合同中的服务周期为
|
<#-- <p class="content">本合同中的服务周期为-->
|
||||||
${contract.startServiceDate?string('yyyy年MM月dd日')}至${contract.endServiceDate?string('yyyy年MM月dd日')}。
|
<#-- ${contract.startServiceDate?string('yyyy年MM月dd日')}至${contract.endServiceDate?string('yyyy年MM月dd日')}。-->
|
||||||
</p>
|
<#-- </p>-->
|
||||||
</#if>
|
<#-- </#if>-->
|
||||||
<p class="content">本合同中的企业托管服务,在合同到期前 30 天,乙方有义务告知甲方。如果双方在合同期满前 30 天内未提出终止或变更要求,未办理交接手续,本合同将自行延期一年。如是其他业务,则以双方约定时间为准。</p>
|
<p class="content">本合同中的企业托管服务,在合同到期前 30 天,乙方有义务告知甲方。如果双方在合同期满前 30 天内未提出终止或变更要求,未办理交接手续,本合同将自行延期一年。如是其他业务,则以双方约定时间为准。</p>
|
||||||
|
|
||||||
<p class="title"> 二、甲方权利与义务</p>
|
<p class="title"> 二、甲方权利与义务</p>
|
||||||
|
@ -1,32 +1,29 @@
|
|||||||
package com.pusong.business.controller;
|
package com.pusong.business.controller;
|
||||||
|
|
||||||
import java.util.List;
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import cn.dev33.satoken.annotation.SaIgnore;
|
|
||||||
import com.pusong.business.domain.bo.PsCustomCallbackBo;
|
import com.pusong.business.domain.bo.PsCustomCallbackBo;
|
||||||
|
import com.pusong.business.domain.bo.PsCustomInfoBo;
|
||||||
import com.pusong.business.domain.bo.PsCustomPriceBo;
|
import com.pusong.business.domain.bo.PsCustomPriceBo;
|
||||||
import com.pusong.business.domain.bo.PsCustomRecordQueryBo;
|
import com.pusong.business.domain.bo.PsCustomRecordQueryBo;
|
||||||
|
import com.pusong.business.domain.vo.PsCustomInfoVo;
|
||||||
import com.pusong.business.domain.vo.PsCustomerRecordVo;
|
import com.pusong.business.domain.vo.PsCustomerRecordVo;
|
||||||
import lombok.RequiredArgsConstructor;
|
import com.pusong.business.service.IPsCustomInfoService;
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
|
||||||
import jakarta.validation.constraints.*;
|
|
||||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
|
||||||
import org.springframework.validation.annotation.Validated;
|
|
||||||
import com.pusong.common.idempotent.annotation.RepeatSubmit;
|
|
||||||
import com.pusong.common.log.annotation.Log;
|
|
||||||
import com.pusong.common.web.core.BaseController;
|
|
||||||
import com.pusong.common.mybatis.core.page.PageQuery;
|
|
||||||
import com.pusong.common.core.domain.R;
|
import com.pusong.common.core.domain.R;
|
||||||
import com.pusong.common.core.validate.AddGroup;
|
import com.pusong.common.core.validate.AddGroup;
|
||||||
import com.pusong.common.core.validate.EditGroup;
|
import com.pusong.common.core.validate.EditGroup;
|
||||||
|
import com.pusong.common.idempotent.annotation.RepeatSubmit;
|
||||||
|
import com.pusong.common.log.annotation.Log;
|
||||||
import com.pusong.common.log.enums.BusinessType;
|
import com.pusong.common.log.enums.BusinessType;
|
||||||
import com.pusong.common.excel.utils.ExcelUtil;
|
import com.pusong.common.mybatis.core.page.PageQuery;
|
||||||
import com.pusong.business.domain.vo.PsCustomInfoVo;
|
|
||||||
import com.pusong.business.domain.bo.PsCustomInfoBo;
|
|
||||||
import com.pusong.business.service.IPsCustomInfoService;
|
|
||||||
import com.pusong.common.mybatis.core.page.TableDataInfo;
|
import com.pusong.common.mybatis.core.page.TableDataInfo;
|
||||||
|
import com.pusong.common.web.core.BaseController;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 客户基本信息
|
* 客户基本信息
|
||||||
|
@ -1,14 +1,16 @@
|
|||||||
package com.pusong.business.domain;
|
package com.pusong.business.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import com.pusong.common.tenant.core.TenantEntity;
|
import com.pusong.common.tenant.core.TenantEntity;
|
||||||
import com.baomidou.mybatisplus.annotation.*;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.util.Date;
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 合同回款记录对象 ps_contract_pay
|
* 合同回款记录对象 ps_contract_pay
|
||||||
@ -83,5 +85,4 @@ public class PsContractPay extends TenantEntity {
|
|||||||
@TableLogic
|
@TableLogic
|
||||||
private Long delFlag;
|
private Long delFlag;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -63,6 +63,8 @@ public class PsApproverRecordVo implements Serializable {
|
|||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
private Date applyDate;
|
private Date applyDate;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 审批日期
|
* 审批日期
|
||||||
*/
|
*/
|
||||||
@ -226,6 +228,17 @@ public class PsApproverRecordVo implements Serializable {
|
|||||||
|
|
||||||
private PsTaskMainVo psTaskMainVo;
|
private PsTaskMainVo psTaskMainVo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 合同签约时间
|
||||||
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date contactApplyDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否续费0新签 1续费
|
||||||
|
*/
|
||||||
|
private String isDue;
|
||||||
|
|
||||||
public String getContractCodeAndBusinessType(){
|
public String getContractCodeAndBusinessType(){
|
||||||
return this.contractCode + "_" + this.businessType;
|
return this.contractCode + "_" + this.businessType;
|
||||||
}
|
}
|
||||||
|
@ -200,6 +200,8 @@ public class PsCompanyInfoVo implements Serializable {
|
|||||||
@Translation(type = TransConstant.USER_ID_TO_NICKNAME)
|
@Translation(type = TransConstant.USER_ID_TO_NICKNAME)
|
||||||
private Long customManager;
|
private Long customManager;
|
||||||
|
|
||||||
|
private String customManagerName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 服务状态0终止1正常
|
* 服务状态0终止1正常
|
||||||
*/
|
*/
|
||||||
|
@ -2,10 +2,8 @@ package com.pusong.business.domain.vo;
|
|||||||
|
|
||||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.pusong.business.domain.PsTaskMain;
|
|
||||||
import com.pusong.common.translation.annotation.Translation;
|
import com.pusong.common.translation.annotation.Translation;
|
||||||
import com.pusong.common.translation.constant.TransConstant;
|
import com.pusong.common.translation.constant.TransConstant;
|
||||||
import io.github.linpeilie.annotations.AutoMapper;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
@ -156,8 +154,21 @@ public class PsCustomerRecordVo implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private String freeFailDesc;
|
private String freeFailDesc;
|
||||||
|
|
||||||
|
private String customLevel;
|
||||||
/**
|
/**
|
||||||
* 回访记录vo(已完成客户列表使用)
|
* 回访记录vo(已完成客户列表使用)
|
||||||
*/
|
*/
|
||||||
private List<PsCustomCallbackVo> psCustomCallbackVo;
|
private List<PsCustomCallbackVo> psCustomCallbackVo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 报价金额DTO
|
||||||
|
*/
|
||||||
|
private List<PsCustomPriceVo> psCustomPriceVo;
|
||||||
|
|
||||||
|
private BigDecimal price;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否已生成合同(1是0否)
|
||||||
|
*/
|
||||||
|
private Integer haveContract;
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package com.pusong.business.service.approver.impl;
|
package com.pusong.business.service.approver.impl;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||||
@ -17,7 +16,6 @@ import com.pusong.business.enums.ApproverTypeEnum;
|
|||||||
import com.pusong.business.enums.PayStatusEnum;
|
import com.pusong.business.enums.PayStatusEnum;
|
||||||
import com.pusong.business.mapper.PsApproverRecordMapper;
|
import com.pusong.business.mapper.PsApproverRecordMapper;
|
||||||
import com.pusong.business.mapper.PsContractPayMapper;
|
import com.pusong.business.mapper.PsContractPayMapper;
|
||||||
import com.pusong.business.service.IPsApproverRecordService;
|
|
||||||
import com.pusong.business.service.IPsCompanyInfoService;
|
import com.pusong.business.service.IPsCompanyInfoService;
|
||||||
import com.pusong.business.service.approver.ApproverContainer;
|
import com.pusong.business.service.approver.ApproverContainer;
|
||||||
import com.pusong.business.service.approver.ApproverService;
|
import com.pusong.business.service.approver.ApproverService;
|
||||||
@ -98,7 +96,13 @@ public abstract class ApproverAbstractServiceImpl implements ApproverService {
|
|||||||
.eq("app.del_flag","0")
|
.eq("app.del_flag","0")
|
||||||
.eq(StringUtils.isNotBlank(bo.getApproverStatus()),"app.approver_status",bo.getApproverStatus())
|
.eq(StringUtils.isNotBlank(bo.getApproverStatus()),"app.approver_status",bo.getApproverStatus())
|
||||||
.like(StringUtils.isNotBlank(bo.getCustomerName()),"cus.custom_name",bo.getCustomerName())
|
.like(StringUtils.isNotBlank(bo.getCustomerName()),"cus.custom_name",bo.getCustomerName())
|
||||||
.like(StringUtils.isNotBlank(bo.getCompanyName()),"com.company_name",bo.getCompanyName())
|
// .like(StringUtils.isNotBlank(bo.getCompanyName()),"com.company_name",bo.getCompanyName())
|
||||||
|
|
||||||
|
.and(StringUtils.isNotBlank(bo.getCompanyName()), wrapper -> wrapper
|
||||||
|
.like("info.contact_person_name",bo.getCompanyName())
|
||||||
|
.or()
|
||||||
|
.like("com.company_name",bo.getCompanyName()))
|
||||||
|
|
||||||
.like(StringUtils.isNotBlank(bo.getContractCode()),"app.contract_code",bo.getContractCode())
|
.like(StringUtils.isNotBlank(bo.getContractCode()),"app.contract_code",bo.getContractCode())
|
||||||
//销售经理姓名
|
//销售经理姓名
|
||||||
.exists(StringUtils.isNotBlank(bo.getCustomManagerName()),"select 1 from sys_user su where su.user_id = info.custom_manager and su.nick_name like '%"+bo.getCustomManagerName()+"%'")
|
.exists(StringUtils.isNotBlank(bo.getCustomManagerName()),"select 1 from sys_user su where su.user_id = info.custom_manager and su.nick_name like '%"+bo.getCustomManagerName()+"%'")
|
||||||
|
@ -1,20 +1,15 @@
|
|||||||
package com.pusong.business.service.approver.impl;
|
package com.pusong.business.service.approver.impl;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
||||||
import com.pusong.business.domain.PsApproverRecord;
|
import com.pusong.business.domain.PsApproverRecord;
|
||||||
import com.pusong.business.domain.PsContractInfo;
|
import com.pusong.business.domain.PsContractInfo;
|
||||||
import com.pusong.business.domain.PsContractPay;
|
import com.pusong.business.domain.PsContractPay;
|
||||||
import com.pusong.business.domain.PsTaskMain;
|
import com.pusong.business.domain.PsTaskMain;
|
||||||
import com.pusong.business.domain.bo.PsContractPayBo;
|
|
||||||
import com.pusong.business.domain.vo.PsCompanyInfoVo;
|
import com.pusong.business.domain.vo.PsCompanyInfoVo;
|
||||||
import com.pusong.business.domain.vo.PsContractInfoVo;
|
import com.pusong.business.domain.vo.PsContractInfoVo;
|
||||||
import com.pusong.business.domain.vo.PsContractPayVo;
|
|
||||||
import com.pusong.business.enums.*;
|
import com.pusong.business.enums.*;
|
||||||
import com.pusong.business.service.IPsContractInfoService;
|
import com.pusong.business.service.IPsContractInfoService;
|
||||||
import com.pusong.business.service.IPsContractPayService;
|
import com.pusong.business.service.IPsContractPayService;
|
||||||
import com.pusong.business.service.IPsTaskService;
|
import com.pusong.business.service.IPsTaskService;
|
||||||
import com.pusong.common.core.utils.MapstructUtils;
|
|
||||||
import com.pusong.common.core.utils.StringUtils;
|
import com.pusong.common.core.utils.StringUtils;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@ -98,15 +93,20 @@ public class PayContractApproverServiceImpl extends ApproverAbstractServiceImpl
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void fail(PsApproverRecord psApproverRecord) {
|
public void fail(PsApproverRecord psApproverRecord) {
|
||||||
//如果是修改不做处理
|
|
||||||
if(StringUtils.isNotBlank(psApproverRecord.getUpdateData())){
|
|
||||||
|
|
||||||
}else {//如果是新增则修改状态
|
|
||||||
//修改回款记录状态
|
|
||||||
PsContractPay update = new PsContractPay();
|
PsContractPay update = new PsContractPay();
|
||||||
update.setId(Long.valueOf(psApproverRecord.getBusinessId()));
|
update.setId(Long.valueOf(psApproverRecord.getBusinessId()));
|
||||||
update.setPayStatus(PayStatusEnum.FILE.getCode());
|
update.setPayStatus(PayStatusEnum.FILE.getCode());
|
||||||
payService.updateById(update);
|
payService.updateById(update);
|
||||||
}
|
|
||||||
|
// //如果是修改不做处理
|
||||||
|
// if(StringUtils.isNotBlank(psApproverRecord.getUpdateData())){
|
||||||
|
//
|
||||||
|
// }else {//如果是新增则修改状态
|
||||||
|
// //修改回款记录状态
|
||||||
|
// PsContractPay update = new PsContractPay();
|
||||||
|
// update.setId(Long.valueOf(psApproverRecord.getBusinessId()));
|
||||||
|
// update.setPayStatus(PayStatusEnum.FILE.getCode());
|
||||||
|
// payService.updateById(update);
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -49,6 +49,8 @@ public class SignApproverServiceImpl extends ApproverAbstractServiceImpl {
|
|||||||
bo.setSignStatus(CommonStatusEnum.SUCCESS.getCode());
|
bo.setSignStatus(CommonStatusEnum.SUCCESS.getCode());
|
||||||
bo.setContactPersonName(vo.getContactPersonName());
|
bo.setContactPersonName(vo.getContactPersonName());
|
||||||
bo.setContractMain(vo.getContractMain());
|
bo.setContractMain(vo.getContractMain());
|
||||||
|
bo.setFirstPartyType(vo.getPsCompanyInfoVo() == null ? 2 : 1);
|
||||||
|
|
||||||
//合同信息
|
//合同信息
|
||||||
PsContractInfo info = new PsContractInfo();
|
PsContractInfo info = new PsContractInfo();
|
||||||
BeanUtils.copyProperties(vo, info);
|
BeanUtils.copyProperties(vo, info);
|
||||||
|
@ -2,6 +2,7 @@ package com.pusong.business.service.approver.impl;
|
|||||||
|
|
||||||
import com.pusong.business.domain.PsApproverRecord;
|
import com.pusong.business.domain.PsApproverRecord;
|
||||||
import com.pusong.business.domain.bo.PsCompanyInfoBo;
|
import com.pusong.business.domain.bo.PsCompanyInfoBo;
|
||||||
|
import com.pusong.business.enums.ApproverStatusEnum;
|
||||||
import com.pusong.business.enums.ApproverStepEnum;
|
import com.pusong.business.enums.ApproverStepEnum;
|
||||||
import com.pusong.business.enums.ApproverTypeEnum;
|
import com.pusong.business.enums.ApproverTypeEnum;
|
||||||
import com.pusong.business.mapper.PsApproverRecordMapper;
|
import com.pusong.business.mapper.PsApproverRecordMapper;
|
||||||
@ -38,6 +39,7 @@ public class StopAccountServiceImpl extends ApproverAbstractServiceImpl {
|
|||||||
if (ApproverStepEnum.INIT.getCode().equals(psApproverRecord.getUpdateData())){
|
if (ApproverStepEnum.INIT.getCode().equals(psApproverRecord.getUpdateData())){
|
||||||
//转给总裁
|
//转给总裁
|
||||||
psApproverRecord.setUpdateData(ApproverStepEnum.CW_APPLY.getCode());
|
psApproverRecord.setUpdateData(ApproverStepEnum.CW_APPLY.getCode());
|
||||||
|
psApproverRecord.setApproverStatus(ApproverStatusEnum.INIT.getCode());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (ApproverStepEnum.CW_APPLY.getCode().equals(psApproverRecord.getUpdateData())){
|
if (ApproverStepEnum.CW_APPLY.getCode().equals(psApproverRecord.getUpdateData())){
|
||||||
|
@ -1,31 +1,23 @@
|
|||||||
package com.pusong.business.service.approver.impl;
|
package com.pusong.business.service.approver.impl;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
||||||
import com.pusong.business.domain.PsApproverRecord;
|
import com.pusong.business.domain.PsApproverRecord;
|
||||||
import com.pusong.business.domain.PsContractInfo;
|
import com.pusong.business.domain.PsContractInfo;
|
||||||
import com.pusong.business.domain.PsTaskAppoint;
|
|
||||||
import com.pusong.business.domain.PsTaskMain;
|
|
||||||
import com.pusong.business.domain.bo.PsContractBusinessBo;
|
|
||||||
import com.pusong.business.domain.bo.PsContractInfoBo;
|
import com.pusong.business.domain.bo.PsContractInfoBo;
|
||||||
import com.pusong.business.domain.vo.PsContractInfoVo;
|
import com.pusong.business.domain.vo.PsContractInfoVo;
|
||||||
import com.pusong.business.enums.*;
|
import com.pusong.business.enums.ApproverTypeEnum;
|
||||||
|
import com.pusong.business.enums.CommonStatusEnum;
|
||||||
import com.pusong.business.mapper.PsTaskAppointMapper;
|
import com.pusong.business.mapper.PsTaskAppointMapper;
|
||||||
import com.pusong.business.mapper.PsTaskMainMapper;
|
import com.pusong.business.mapper.PsTaskMainMapper;
|
||||||
import com.pusong.business.service.IPsCompanyInfoService;
|
import com.pusong.business.service.IPsCompanyInfoService;
|
||||||
import com.pusong.business.service.IPsContractBusinessService;
|
import com.pusong.business.service.IPsContractBusinessService;
|
||||||
import com.pusong.business.service.IPsContractInfoService;
|
import com.pusong.business.service.IPsContractInfoService;
|
||||||
import com.pusong.business.service.IPsTaskService;
|
import com.pusong.business.service.IPsTaskService;
|
||||||
import com.pusong.common.core.utils.MapstructUtils;
|
|
||||||
import com.pusong.common.core.utils.StringUtils;
|
import com.pusong.common.core.utils.StringUtils;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改合同审批处理类
|
* 修改合同审批处理类
|
||||||
*/
|
*/
|
||||||
@ -113,7 +105,7 @@ public class UpdateContractApproverServiceImpl extends ApproverAbstractServiceIm
|
|||||||
PsContractInfoBo bo = JSON.parseObject(psApproverRecord.getUpdateData(),PsContractInfoBo.class);
|
PsContractInfoBo bo = JSON.parseObject(psApproverRecord.getUpdateData(),PsContractInfoBo.class);
|
||||||
PsContractInfo add = new PsContractInfo();
|
PsContractInfo add = new PsContractInfo();
|
||||||
add.setContractCode(psApproverRecord.getContractCode());
|
add.setContractCode(psApproverRecord.getContractCode());
|
||||||
add.setContractStatus(bo.getContractStatusCode());
|
add.setContractStatus(bo.getBeforeContractStatus());
|
||||||
contractInfoService.updateByCode(add);
|
contractInfoService.updateByCode(add);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -114,11 +114,11 @@ public class PsApproverRecordServiceImpl implements IPsApproverRecordService {
|
|||||||
|
|
||||||
ApproverService service = container.getService(info.getBusinessType());
|
ApproverService service = container.getService(info.getBusinessType());
|
||||||
if(StringUtils.equals(ApproverStatusEnum.SUCCESS.getCode(),operate)){
|
if(StringUtils.equals(ApproverStatusEnum.SUCCESS.getCode(),operate)){
|
||||||
service.success(info);
|
|
||||||
info.setApproverStatus(ApproverStatusEnum.SUCCESS.getCode());
|
info.setApproverStatus(ApproverStatusEnum.SUCCESS.getCode());
|
||||||
|
service.success(info);
|
||||||
}else if (StringUtils.equals(ApproverStatusEnum.FAIL.getCode(),operate)){
|
}else if (StringUtils.equals(ApproverStatusEnum.FAIL.getCode(),operate)){
|
||||||
service.fail(info);
|
|
||||||
info.setApproverStatus(ApproverStatusEnum.FAIL.getCode());
|
info.setApproverStatus(ApproverStatusEnum.FAIL.getCode());
|
||||||
|
service.fail(info);
|
||||||
}else{
|
}else{
|
||||||
throw new ServiceException("操作失败:不支持的操作类型");
|
throw new ServiceException("操作失败:不支持的操作类型");
|
||||||
}
|
}
|
||||||
|
@ -12,6 +12,7 @@ import com.pusong.business.domain.bo.PsCompanyQueryBo;
|
|||||||
import com.pusong.business.domain.bo.PsContractBusinessBo;
|
import com.pusong.business.domain.bo.PsContractBusinessBo;
|
||||||
import com.pusong.business.domain.vo.PsCompanyInfoVo;
|
import com.pusong.business.domain.vo.PsCompanyInfoVo;
|
||||||
import com.pusong.business.domain.vo.PsContractBusinessVo;
|
import com.pusong.business.domain.vo.PsContractBusinessVo;
|
||||||
|
import com.pusong.business.enums.ApproverStepEnum;
|
||||||
import com.pusong.business.enums.ApproverTypeEnum;
|
import com.pusong.business.enums.ApproverTypeEnum;
|
||||||
import com.pusong.business.mapper.*;
|
import com.pusong.business.mapper.*;
|
||||||
import com.pusong.business.service.IPsCompanyInfoService;
|
import com.pusong.business.service.IPsCompanyInfoService;
|
||||||
@ -333,10 +334,14 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
|
|||||||
.eq("pcc.contract_code", controctCode);
|
.eq("pcc.contract_code", controctCode);
|
||||||
List<PsCompanyInfoVo> list = baseMapper.selectServiceCompanyList(wq);
|
List<PsCompanyInfoVo> list = baseMapper.selectServiceCompanyList(wq);
|
||||||
for (PsCompanyInfoVo psCompanyInfoVo : list) {
|
for (PsCompanyInfoVo psCompanyInfoVo : list) {
|
||||||
psCompanyInfoVo.setStartServiceDate(psCompanyInfoVo.getBusinessVoList().get(0).getStartDate());
|
for (PsContractBusinessVo psContractBusinessVo : psCompanyInfoVo.getBusinessVoList()) {
|
||||||
psCompanyInfoVo.setEndServiceDate(psCompanyInfoVo.getBusinessVoList().get(0).getEndDate());
|
if ("1".equals(psContractBusinessVo.getIsProxy())){
|
||||||
psCompanyInfoVo.setIsOld(psCompanyInfoVo.getBusinessVoList().get(0).getIsOld());
|
psCompanyInfoVo.setStartServiceDate(psContractBusinessVo.getStartDate());
|
||||||
psCompanyInfoVo.setIsProxy(psCompanyInfoVo.getBusinessVoList().get(0).getIsProxy());
|
psCompanyInfoVo.setEndServiceDate(psContractBusinessVo.getEndDate());
|
||||||
|
psCompanyInfoVo.setIsOld(psContractBusinessVo.getIsOld());
|
||||||
|
psCompanyInfoVo.setIsProxy(psContractBusinessVo.getIsProxy());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
@ -353,10 +358,15 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
|
|||||||
.in("pcc.contract_code", controctCodes);
|
.in("pcc.contract_code", controctCodes);
|
||||||
List<PsCompanyInfoVo> list = baseMapper.selectServiceCompanyList(wq);
|
List<PsCompanyInfoVo> list = baseMapper.selectServiceCompanyList(wq);
|
||||||
for (PsCompanyInfoVo psCompanyInfoVo : list) {
|
for (PsCompanyInfoVo psCompanyInfoVo : list) {
|
||||||
psCompanyInfoVo.setStartServiceDate(psCompanyInfoVo.getBusinessVoList().get(0).getStartDate());
|
for (PsContractBusinessVo psContractBusinessVo : psCompanyInfoVo.getBusinessVoList()) {
|
||||||
psCompanyInfoVo.setEndServiceDate(psCompanyInfoVo.getBusinessVoList().get(0).getEndDate());
|
if ("1".equals(psContractBusinessVo.getIsProxy())){
|
||||||
psCompanyInfoVo.setIsOld(psCompanyInfoVo.getBusinessVoList().get(0).getIsOld());
|
psCompanyInfoVo.setStartServiceDate(psContractBusinessVo.getStartDate());
|
||||||
psCompanyInfoVo.setIsProxy(psCompanyInfoVo.getBusinessVoList().get(0).getIsProxy());
|
psCompanyInfoVo.setEndServiceDate(psContractBusinessVo.getEndDate());
|
||||||
|
psCompanyInfoVo.setIsOld(psContractBusinessVo.getIsOld());
|
||||||
|
psCompanyInfoVo.setIsProxy(psContractBusinessVo.getIsProxy());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
@ -369,6 +379,6 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
|
|||||||
public void terminationService(Long serviceCompanyId) {
|
public void terminationService(Long serviceCompanyId) {
|
||||||
//发起审批
|
//发起审批
|
||||||
ApproverService service = container.getService(ApproverTypeEnum.STOPACCOUNT.getCode());
|
ApproverService service = container.getService(ApproverTypeEnum.STOPACCOUNT.getCode());
|
||||||
service.apply(serviceCompanyId + "", "",null, "1");
|
service.apply(serviceCompanyId + "", "",null, ApproverStepEnum.INIT.getCode());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -132,12 +132,14 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (PsContractBusinessBo psContractBusinessBo : companyInfoBo.getBusinessList()) {
|
for (PsContractBusinessBo psContractBusinessBo : companyInfoBo.getBusinessList()) {
|
||||||
|
if (psContractBusinessBo.getBusinessType().equals("2")){
|
||||||
psContractBusinessBo.setStartDate(companyInfoBo.getStartServiceDate());
|
psContractBusinessBo.setStartDate(companyInfoBo.getStartServiceDate());
|
||||||
psContractBusinessBo.setEndDate(companyInfoBo.getEndServiceDate());
|
psContractBusinessBo.setEndDate(companyInfoBo.getEndServiceDate());
|
||||||
psContractBusinessBo.setIsOld(companyInfoBo.getIsOld());
|
psContractBusinessBo.setIsOld(companyInfoBo.getIsOld());
|
||||||
psContractBusinessBo.setIsProxy(companyInfoBo.getIsProxy());
|
psContractBusinessBo.setIsProxy(companyInfoBo.getIsProxy());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//3.如果已存在合同,则进行修改,否则新增
|
//3.如果已存在合同,则进行修改,否则新增
|
||||||
if(add == null){
|
if(add == null){
|
||||||
@ -210,6 +212,22 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
|||||||
item.setBusinessAmount(mony);
|
item.setBusinessAmount(mony);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
//插入服务公司
|
||||||
|
for (PsCompanyInfoBo companyInfoBo : bo.getServiceCompanyInfoList()){
|
||||||
|
companyInfoBo.setCompanyType("2");
|
||||||
|
companyInfoBo.setCustomId(bo.getCustomId());
|
||||||
|
for (PsContractBusinessBo psContractBusinessBo : companyInfoBo.getBusinessList()) {
|
||||||
|
if (psContractBusinessBo.getBusinessType().equals("2")){
|
||||||
|
psContractBusinessBo.setStartDate(companyInfoBo.getStartServiceDate());
|
||||||
|
psContractBusinessBo.setEndDate(companyInfoBo.getEndServiceDate());
|
||||||
|
psContractBusinessBo.setIsOld(companyInfoBo.getIsOld());
|
||||||
|
psContractBusinessBo.setIsProxy(companyInfoBo.getIsProxy());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
BigDecimal sum = list.stream().map(PsContractBusinessBo::getBusinessAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
BigDecimal sum = list.stream().map(PsContractBusinessBo::getBusinessAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
add.setContractAmount(sum);//合同总金额
|
add.setContractAmount(sum);//合同总金额
|
||||||
return makePdf(add,bo,false);
|
return makePdf(add,bo,false);
|
||||||
@ -353,10 +371,11 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
|||||||
//发起审批
|
//发起审批
|
||||||
ApproverService service = container.getService(ApproverTypeEnum.UPDATE.getCode());
|
ApproverService service = container.getService(ApproverTypeEnum.UPDATE.getCode());
|
||||||
service.apply(updateBo.getContractCode(),updateBo.getContractCode(),updateBo.getUpdateDesc(), JSON.toJSONString(updateBo));
|
service.apply(updateBo.getContractCode(),updateBo.getContractCode(),updateBo.getUpdateDesc(), JSON.toJSONString(updateBo));
|
||||||
PsContractInfo info = new PsContractInfo();
|
// 去掉了修改审批中状态 2024/10/17
|
||||||
info.setContractCode(updateBo.getContractCode());
|
// PsContractInfo info = new PsContractInfo();
|
||||||
info.setContractStatus(ContractStatusEnum.UPDATEAPPROVER.getCode());
|
// info.setContractCode(updateBo.getContractCode());
|
||||||
updateByCode(info);
|
// info.setContractStatus(ContractStatusEnum.UPDATEAPPROVER.getCode());
|
||||||
|
// updateByCode(info);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -876,7 +895,7 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
|||||||
qw.ne( StringUtils.isNotBlank(bo.getContractStatus()),"info.is_cancel", CommonStatusEnum.SUCCESS.getCode());
|
qw.ne( StringUtils.isNotBlank(bo.getContractStatus()),"info.is_cancel", CommonStatusEnum.SUCCESS.getCode());
|
||||||
qw.in( CollectionUtils.isNotEmpty(bo.getInContractStatus()),"info.contract_status", bo.getInContractStatus());
|
qw.in( CollectionUtils.isNotEmpty(bo.getInContractStatus()),"info.contract_status", bo.getInContractStatus());
|
||||||
qw.notIn( CollectionUtils.isNotEmpty(bo.getNotInContractStatus()),"info.contract_status", bo.getNotInContractStatus());
|
qw.notIn( CollectionUtils.isNotEmpty(bo.getNotInContractStatus()),"info.contract_status", bo.getNotInContractStatus());
|
||||||
qw.eq( StringUtils.isNotBlank(bo.getContractCode()),"info.contract_code", bo.getContractCode());
|
qw.like( StringUtils.isNotBlank(bo.getContractCode()),"info.contract_code", bo.getContractCode());
|
||||||
qw.eq( StringUtils.isNotBlank(bo.getIsDue()),"info.is_due", bo.getIsDue());
|
qw.eq( StringUtils.isNotBlank(bo.getIsDue()),"info.is_due", bo.getIsDue());
|
||||||
//客户表条件
|
//客户表条件
|
||||||
qw.like( StringUtils.isNotBlank(bo.getCustomName()),"cus.custom_name", bo.getCustomName());
|
qw.like( StringUtils.isNotBlank(bo.getCustomName()),"cus.custom_name", bo.getCustomName());
|
||||||
|
@ -2,36 +2,39 @@ package com.pusong.business.service.impl;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||||
import com.pusong.business.domain.*;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.pusong.business.domain.vo.PsContractInfoVo;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.pusong.business.domain.PsContractPay;
|
||||||
|
import com.pusong.business.domain.bo.PsContractPayBo;
|
||||||
|
import com.pusong.business.domain.vo.PsContractPayVo;
|
||||||
import com.pusong.business.domain.vo.PsRefundVo;
|
import com.pusong.business.domain.vo.PsRefundVo;
|
||||||
import com.pusong.business.enums.*;
|
import com.pusong.business.enums.ApproverTypeEnum;
|
||||||
|
import com.pusong.business.enums.PayBuinessStatusEnum;
|
||||||
|
import com.pusong.business.enums.PayStatusEnum;
|
||||||
|
import com.pusong.business.mapper.PsContractPayMapper;
|
||||||
import com.pusong.business.service.IPsApproverRecordService;
|
import com.pusong.business.service.IPsApproverRecordService;
|
||||||
|
import com.pusong.business.service.IPsContractPayService;
|
||||||
import com.pusong.business.service.approver.ApproverContainer;
|
import com.pusong.business.service.approver.ApproverContainer;
|
||||||
import com.pusong.business.service.approver.ApproverService;
|
import com.pusong.business.service.approver.ApproverService;
|
||||||
import com.pusong.common.core.exception.ServiceException;
|
import com.pusong.common.core.exception.ServiceException;
|
||||||
import com.pusong.common.core.utils.MapstructUtils;
|
import com.pusong.common.core.utils.MapstructUtils;
|
||||||
import com.pusong.common.core.utils.StringUtils;
|
import com.pusong.common.core.utils.StringUtils;
|
||||||
import com.pusong.common.mybatis.core.page.TableDataInfo;
|
|
||||||
import com.pusong.common.mybatis.core.page.PageQuery;
|
import com.pusong.common.mybatis.core.page.PageQuery;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.pusong.common.mybatis.core.page.TableDataInfo;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
||||||
import com.pusong.system.domain.vo.SysOssVo;
|
import com.pusong.system.domain.vo.SysOssVo;
|
||||||
import com.pusong.system.service.ISysOssService;
|
import com.pusong.system.service.ISysOssService;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.pusong.business.domain.bo.PsContractPayBo;
|
|
||||||
import com.pusong.business.domain.vo.PsContractPayVo;
|
|
||||||
import com.pusong.business.mapper.PsContractPayMapper;
|
|
||||||
import com.pusong.business.service.IPsContractPayService;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 合同回款记录Service业务层处理
|
* 合同回款记录Service业务层处理
|
||||||
@ -187,7 +190,9 @@ public class PsContractPayServiceImpl implements IPsContractPayService {
|
|||||||
.like(StringUtils.isNotBlank(mobile),"cus.custom_mobile",mobile)
|
.like(StringUtils.isNotBlank(mobile),"cus.custom_mobile",mobile)
|
||||||
.like(StringUtils.isNotBlank(name),"cus.custom_name",name)
|
.like(StringUtils.isNotBlank(name),"cus.custom_name",name)
|
||||||
.in("pay.pay_status",List.of(PayStatusEnum.SUCCESS.getCode(), PayStatusEnum.PAYING.getCode()))
|
.in("pay.pay_status",List.of(PayStatusEnum.SUCCESS.getCode(), PayStatusEnum.PAYING.getCode()))
|
||||||
.eq("pay.business_type","2");
|
.eq("pay.business_type","2")
|
||||||
|
.orderByDesc("pay.create_time")
|
||||||
|
;
|
||||||
Page<PsRefundVo> list = baseMapper.queryRefundList(pageQuery.build(), qw);
|
Page<PsRefundVo> list = baseMapper.queryRefundList(pageQuery.build(), qw);
|
||||||
list.getRecords().forEach(info->{
|
list.getRecords().forEach(info->{
|
||||||
List<PsContractPayVo> payList = queryListByContractCode(info.getContractCode(),null,PayStatusEnum.SUCCESS);
|
List<PsContractPayVo> payList = queryListByContractCode(info.getContractCode(),null,PayStatusEnum.SUCCESS);
|
||||||
|
@ -225,7 +225,7 @@ public class PsCustomInfoServiceImpl implements IPsCustomInfoService {
|
|||||||
//关联客户信息表条件
|
//关联客户信息表条件
|
||||||
qw.like(StringUtils.isNotBlank(bo.getCustomIntroducerName()), "psinfo.custom_name", bo.getCustomIntroducerName());//介绍人姓名
|
qw.like(StringUtils.isNotBlank(bo.getCustomIntroducerName()), "psinfo.custom_name", bo.getCustomIntroducerName());//介绍人姓名
|
||||||
//公司名称
|
//公司名称
|
||||||
qw.exists(StringUtils.isNotBlank(bo.getCompanyName()), "select 1 from ps_company_info com where info.id = com.custom_id and com.company_name like '%"+bo.getCompanyName()+"%'");
|
qw.exists(StringUtils.isNotBlank(bo.getCompanyName()), "select 1 from ps_company_info com where info.id = com.custom_id and company_type = '1' and del_flag = '0' and com.company_name like '%"+bo.getCompanyName()+"%'");
|
||||||
qw.exists(bo.getHaveContract() != null && bo.getHaveContract() == 1,"SELECT 1 FROM ps_contract_info psci WHERE psci.custom_id = info.id and psci.contract_status != '10' and psci.is_cancel != '03'");
|
qw.exists(bo.getHaveContract() != null && bo.getHaveContract() == 1,"SELECT 1 FROM ps_contract_info psci WHERE psci.custom_id = info.id and psci.contract_status != '10' and psci.is_cancel != '03'");
|
||||||
qw.notExists(bo.getHaveContract() != null && bo.getHaveContract() == 0,"SELECT 1 FROM ps_contract_info psci WHERE psci.custom_id = info.id and psci.contract_status != '10' and psci.is_cancel != '03'");
|
qw.notExists(bo.getHaveContract() != null && bo.getHaveContract() == 0,"SELECT 1 FROM ps_contract_info psci WHERE psci.custom_id = info.id and psci.contract_status != '10' and psci.is_cancel != '03'");
|
||||||
qw.orderByDesc("info.create_time");//创建时间排序
|
qw.orderByDesc("info.create_time");//创建时间排序
|
||||||
@ -428,9 +428,9 @@ public class PsCustomInfoServiceImpl implements IPsCustomInfoService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Map<Long, List<PsCustomCallbackVo>> id_callbackMap = new HashMap<>();
|
Map<Long, List<PsCustomCallbackVo>> id_callbackMap = new HashMap<>();
|
||||||
|
List<Long> ids = list.getRecords().stream().map(PsCustomerRecordVo::getId).collect(Collectors.toList());
|
||||||
//已完成客户的回访记录
|
//已完成客户的回访记录
|
||||||
if (queryBo.getType() != null && queryBo.getType() == 2) {
|
if (queryBo.getType() != null && queryBo.getType() == 2) {
|
||||||
List<Long> ids = list.getRecords().stream().map(PsCustomerRecordVo::getId).collect(Collectors.toList());
|
|
||||||
//查询回访记录详细
|
//查询回访记录详细
|
||||||
List<PsCustomCallbackVo> callbacks = callbackMapper.selectVoList(Wrappers.<PsCustomCallback>lambdaQuery()
|
List<PsCustomCallbackVo> callbacks = callbackMapper.selectVoList(Wrappers.<PsCustomCallback>lambdaQuery()
|
||||||
.in(PsCustomCallback::getCustomId, ids)
|
.in(PsCustomCallback::getCustomId, ids)
|
||||||
@ -444,12 +444,34 @@ public class PsCustomInfoServiceImpl implements IPsCustomInfoService {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//查询报价金额详细
|
||||||
|
List<PsCustomPriceVo> pices = priceMapper.selectVoList(Wrappers.<PsCustomPrice>lambdaQuery()
|
||||||
|
.in(PsCustomPrice::getCustomId, ids).eq(PsCustomPrice::getDelFlag,0));
|
||||||
|
Map<Long, List<PsCustomPriceVo>> id_piceMap = new HashMap<>();
|
||||||
|
if(CollectionUtils.isNotEmpty(pices)){
|
||||||
|
//分组
|
||||||
|
id_piceMap = pices.stream().collect((Collectors.groupingBy(PsCustomPriceVo::getCustomId)));
|
||||||
|
//排序
|
||||||
|
id_piceMap.entrySet().forEach(entry->{
|
||||||
|
entry.setValue(entry.getValue().stream().sorted(Comparator.comparingInt(PsCustomPriceVo::getPriceBatch)).collect(Collectors.toList()));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
for (PsCustomerRecordVo item : list.getRecords()){
|
for (PsCustomerRecordVo item : list.getRecords()){
|
||||||
//免费工单审批
|
//免费工单审批
|
||||||
item.setFreeFailDesc(approverRecordService.getLastFail(item.getContractCode(), item.getContractCode(), List.of(ApproverTypeEnum.FREE.getCode())));
|
item.setFreeFailDesc(approverRecordService.getLastFail(item.getContractCode(), item.getContractCode(), List.of(ApproverTypeEnum.FREE.getCode())));
|
||||||
//装填回访记录vo
|
//装填回访记录vo
|
||||||
item.setPsCustomCallbackVo(id_callbackMap.get(item.getId()));
|
item.setPsCustomCallbackVo(id_callbackMap.get(item.getId()));
|
||||||
|
//装填报价金额vo
|
||||||
|
item.setPsCustomPriceVo(id_piceMap.get(item.getId()));
|
||||||
|
//报价金额
|
||||||
|
if(CollectionUtils.isNotEmpty(item.getPsCustomPriceVo())){
|
||||||
|
item.setPrice(item.getPsCustomPriceVo().stream().map(PsCustomPriceVo::getServicePrice).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return TableDataInfo.build(list);
|
return TableDataInfo.build(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -132,8 +132,8 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
|||||||
if (vo.getServiceCompanyId() != null){
|
if (vo.getServiceCompanyId() != null){
|
||||||
// serviceCompanyIdList.add(vo.getServiceCompanyId());
|
// serviceCompanyIdList.add(vo.getServiceCompanyId());
|
||||||
// contractCode = vo.getContractCode();
|
// contractCode = vo.getContractCode();
|
||||||
PsCompanyInfoVo psCompanyInfoVo = companyInfoService.queryVoAndProxyById(vo.getServiceCompanyId(), vo.getContractCode());
|
// PsCompanyInfoVo psCompanyInfoVo = companyInfoService.queryVoAndProxyById(vo.getServiceCompanyId(), vo.getContractCode());
|
||||||
vo.setPsCompanySerivceVo(psCompanyInfoVo);
|
// vo.setPsCompanySerivceVo(psCompanyInfoVo);
|
||||||
}
|
}
|
||||||
if (vo.getTaskType().equals("2")){
|
if (vo.getTaskType().equals("2")){
|
||||||
vo.setBusinessTypeName(vo.getBusinessType());
|
vo.setBusinessTypeName(vo.getBusinessType());
|
||||||
@ -141,13 +141,13 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//装填服务公司信息
|
//装填服务公司信息
|
||||||
if (!serviceCompanyIdList.isEmpty()){
|
// if (!serviceCompanyIdList.isEmpty()){
|
||||||
List<PsCompanyInfoVo> serviceCompany = companyInfoService.queryVoAndProxyByIds(serviceCompanyIdList, contractCode);
|
// List<PsCompanyInfoVo> serviceCompany = companyInfoService.queryVoAndProxyByIds(serviceCompanyIdList, contractCode);
|
||||||
Map<Long, PsCompanyInfoVo> serviceCompanyMap = serviceCompany.stream().collect(Collectors.toMap(PsCompanyInfoVo::getId, v -> v));
|
// Map<Long, PsCompanyInfoVo> serviceCompanyMap = serviceCompany.stream().collect(Collectors.toMap(PsCompanyInfoVo::getId, v -> v));
|
||||||
for (PsTaskMainVo vo : page.getRecords()) {
|
// for (PsTaskMainVo vo : page.getRecords()) {
|
||||||
vo.setPsCompanySerivceVo(serviceCompanyMap.get(vo.getServiceCompanyId()));
|
// vo.setPsCompanySerivceVo(serviceCompanyMap.get(vo.getServiceCompanyId()));
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -539,8 +539,8 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
|||||||
lqw.like(StringUtils.isNotBlank(bo.getMobile()), "com.legal_person_phone", bo.getMobile());//法人手机号
|
lqw.like(StringUtils.isNotBlank(bo.getMobile()), "com.legal_person_phone", bo.getMobile());//法人手机号
|
||||||
lqw.like(StringUtils.isNotBlank(bo.getIdNo()), "com.legal_person_idcard", bo.getIdNo());//法人身份证
|
lqw.like(StringUtils.isNotBlank(bo.getIdNo()), "com.legal_person_idcard", bo.getIdNo());//法人身份证
|
||||||
lqw.like(StringUtils.isNotBlank(bo.getName()), "com.legal_person_name", bo.getName());//法人姓名
|
lqw.like(StringUtils.isNotBlank(bo.getName()), "com.legal_person_name", bo.getName());//法人姓名
|
||||||
lqw.like(StringUtils.isNotBlank(bo.getCustomName()), "cus.custom_name", bo.getCustomName());//客户姓名
|
lqw.like(StringUtils.isNotBlank(bo.getCustomName()), "com.contact_person_name", bo.getCustomName());//客户姓名
|
||||||
lqw.like(StringUtils.isNotBlank(bo.getCustomMobile()), "cus.custom_mobile", bo.getCustomMobile());//客户电话
|
lqw.like(StringUtils.isNotBlank(bo.getCustomMobile()), "com.contact_person_phone", bo.getCustomMobile());//客户电话
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getCustomScene()), "con.custom_scene", bo.getCustomScene());//是否到达现场
|
lqw.eq(StringUtils.isNotBlank(bo.getCustomScene()), "con.custom_scene", bo.getCustomScene());//是否到达现场
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getIsProxy()), "con.is_proxy", bo.getIsProxy());//是否代账
|
lqw.eq(StringUtils.isNotBlank(bo.getIsProxy()), "con.is_proxy", bo.getIsProxy());//是否代账
|
||||||
|
|
||||||
|
@ -21,6 +21,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
, info.contact_person_name
|
, info.contact_person_name
|
||||||
, info.contact_person_phone
|
, info.contact_person_phone
|
||||||
, info.contact_person_idcard
|
, info.contact_person_idcard
|
||||||
|
, info.apply_date contact_apply_date
|
||||||
, com.id company_id
|
, com.id company_id
|
||||||
, com.company_name com_company_name
|
, com.company_name com_company_name
|
||||||
, com.legal_person_name com_legal_person_name
|
, com.legal_person_name com_legal_person_name
|
||||||
@ -35,6 +36,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
, (select GROUP_CONCAT(business.business_type SEPARATOR ',')
|
, (select GROUP_CONCAT(business.business_type SEPARATOR ',')
|
||||||
from ps_contract_business business where business.contract_code = info.contract_code) as business_type_name
|
from ps_contract_business business where business.contract_code = info.contract_code) as business_type_name
|
||||||
, info.contract_status
|
, info.contract_status
|
||||||
|
, info.is_due
|
||||||
, (select IFNULL(sum(pa.money),0) from ps_contract_pay pa where pa.pay_status = 1 and pa.business_type = 1 and pa.contract_code = info.contract_code
|
, (select IFNULL(sum(pa.money),0) from ps_contract_pay pa where pa.pay_status = 1 and pa.business_type = 1 and pa.contract_code = info.contract_code
|
||||||
)-(select IFNULL(sum(pay.money),0) from ps_contract_pay pay where pay.pay_status = 1 and pay.business_type = 2 and pay.contract_code = info.contract_code)
|
)-(select IFNULL(sum(pay.money),0) from ps_contract_pay pay where pay.pay_status = 1 and pay.business_type = 2 and pay.contract_code = info.contract_code)
|
||||||
as pay_money
|
as pay_money
|
||||||
|
@ -44,6 +44,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
custom.create_time,
|
custom.create_time,
|
||||||
custom.custom_status,
|
custom.custom_status,
|
||||||
custom.custom_source,
|
custom.custom_source,
|
||||||
|
custom.custom_level,
|
||||||
(select pci.custom_name from ps_custom_info pci where pci.id = custom.custom_introducer limit 0,1) custom_introducer,
|
(select pci.custom_name from ps_custom_info pci where pci.id = custom.custom_introducer limit 0,1) custom_introducer,
|
||||||
con.contract_code,
|
con.contract_code,
|
||||||
custom.custom_name,
|
custom.custom_name,
|
||||||
@ -67,6 +68,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
con.finish_date,
|
con.finish_date,
|
||||||
con.confirm_ossid,
|
con.confirm_ossid,
|
||||||
(select par.approver_status from ps_approver_record par where par.contract_code = con.contract_code and business_type = 'free' order by id desc limit 0,1) approver_status
|
(select par.approver_status from ps_approver_record par where par.contract_code = con.contract_code and business_type = 'free' order by id desc limit 0,1) approver_status
|
||||||
|
,EXISTS(SELECT 1 FROM ps_contract_info coninfo WHERE coninfo.custom_id = custom.id and coninfo.contract_status != '10' and coninfo.is_cancel != '03') have_contract
|
||||||
from
|
from
|
||||||
ps_custom_info custom
|
ps_custom_info custom
|
||||||
left join
|
left join
|
||||||
|
@ -36,17 +36,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
con.is_due con_is_due,
|
con.is_due con_is_due,
|
||||||
con.contract_amount con_contract_amount,
|
con.contract_amount con_contract_amount,
|
||||||
con.custom_scene con_custom_scene,
|
con.custom_scene con_custom_scene,
|
||||||
con.custom_manager con_custom_manager,
|
|
||||||
usr.nick_name con_custom_manager_name,
|
|
||||||
con.sign_desc con_sign_desc,
|
con.sign_desc con_sign_desc,
|
||||||
com.id com_id,
|
com.id com_id,
|
||||||
com.company_adress com_company_adress,
|
com.company_adress scom_company_adress,
|
||||||
com.company_name com_company_name,
|
com.company_name scom_company_name,
|
||||||
com.legal_person_name com_legal_person_name,
|
com.legal_person_name scom_legal_person_name,
|
||||||
com.legal_person_idcard com_legal_person_idcard,
|
com.legal_person_idcard scom_legal_person_idcard,
|
||||||
com.legal_person_phone com_legal_person_phone,
|
com.legal_person_phone scom_legal_person_phone,
|
||||||
com.customer_num com_customer_num,
|
com.contact_person_name scom_contact_person_name,
|
||||||
com.customer_cert com_customer_cert,
|
com.contact_person_phone scom_contact_person_phone,
|
||||||
|
com.customer_num scom_customer_num,
|
||||||
|
com.customer_cert scom_customer_cert,
|
||||||
|
usr.nick_name scom_custom_manager_name,
|
||||||
cus.id cus_id,
|
cus.id cus_id,
|
||||||
cus.custom_name cus_custom_name ,
|
cus.custom_name cus_custom_name ,
|
||||||
cus.custom_mobile cus_custom_mobile,
|
cus.custom_mobile cus_custom_mobile,
|
||||||
@ -63,9 +64,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
(select GROUP_CONCAT(business.business_type SEPARATOR ',') from ps_contract_business business where business.contract_code = con.contract_code and business.company_id = main.service_company_id and business.del_flag = '0') as business_type_name
|
(select GROUP_CONCAT(business.business_type SEPARATOR ',') from ps_contract_business business where business.contract_code = con.contract_code and business.company_id = main.service_company_id and business.del_flag = '0') as business_type_name
|
||||||
from ps_task_main main
|
from ps_task_main main
|
||||||
left join ps_contract_info con on main.contract_code = con.contract_code
|
left join ps_contract_info con on main.contract_code = con.contract_code
|
||||||
left join ps_company_info com on con.company_id = com.id
|
left join ps_company_info com on main.service_company_id = com.id
|
||||||
left join ps_custom_info cus on con.custom_id = cus.id
|
left join ps_custom_info cus on com.custom_id = cus.id
|
||||||
left join sys_user usr on con.custom_manager = usr.user_id
|
left join sys_user usr on cus.custom_manager = usr.user_id
|
||||||
</sql>
|
</sql>
|
||||||
<select id="queryTaskPageList" resultMap="taskMainResult">
|
<select id="queryTaskPageList" resultMap="taskMainResult">
|
||||||
<include refid="queryTask"/>
|
<include refid="queryTask"/>
|
||||||
@ -90,15 +91,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
main.*,
|
main.*,
|
||||||
con.is_proxy con_is_proxy,
|
con.is_proxy con_is_proxy,
|
||||||
con.custom_scene con_custom_scene,
|
con.custom_scene con_custom_scene,
|
||||||
con.custom_manager con_custom_manager,
|
|
||||||
usr.nick_name con_custom_manager_name,
|
|
||||||
con.sign_desc con_sign_desc,
|
con.sign_desc con_sign_desc,
|
||||||
com.id scom_id,
|
com.id scom_id,
|
||||||
|
usr.nick_name scom_custom_manager_name,
|
||||||
com.company_adress scom_company_adress,
|
com.company_adress scom_company_adress,
|
||||||
com.company_name scom_company_name,
|
com.company_name scom_company_name,
|
||||||
com.legal_person_name scom_legal_person_name,
|
com.legal_person_name scom_legal_person_name,
|
||||||
com.legal_person_idcard scom_legal_person_idcard,
|
com.legal_person_idcard scom_legal_person_idcard,
|
||||||
com.legal_person_phone scom_legal_person_phone,
|
com.legal_person_phone scom_legal_person_phone,
|
||||||
|
com.contact_person_name scom_contact_person_name,
|
||||||
|
com.contact_person_phone scom_contact_person_phone,
|
||||||
com.customer_num scom_customer_num,
|
com.customer_num scom_customer_num,
|
||||||
com.customer_cert scom_customer_cert,
|
com.customer_cert scom_customer_cert,
|
||||||
com.finance_account_no scom_finance_account_no,
|
com.finance_account_no scom_finance_account_no,
|
||||||
@ -121,8 +123,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
left join ps_task_main main on appo.task_id = main.id and appo.appoint_status != '50'
|
left join ps_task_main main on appo.task_id = main.id and appo.appoint_status != '50'
|
||||||
left join ps_contract_info con on main.contract_code = con.contract_code
|
left join ps_contract_info con on main.contract_code = con.contract_code
|
||||||
left join ps_company_info com on main.service_company_id = com.id
|
left join ps_company_info com on main.service_company_id = com.id
|
||||||
left join ps_custom_info cus on con.custom_id = cus.id
|
left join ps_custom_info cus on com.custom_id = cus.id
|
||||||
left join sys_user usr on con.custom_manager = usr.user_id
|
left join sys_user usr on cus.custom_manager = usr.user_id
|
||||||
-- left join ps_task_appoint appoint on appoint.task_id = main.id and appoint.appoint_status != '50' and appoint.del_flag = '0'
|
-- left join ps_task_appoint appoint on appoint.task_id = main.id and appoint.appoint_status != '50' and appoint.del_flag = '0'
|
||||||
|
|
||||||
${ew.getCustomSqlSegment}
|
${ew.getCustomSqlSegment}
|
||||||
|
Loading…
Reference in New Issue
Block a user